diff --git a/aleksis/core/locale/ar/LC_MESSAGES/django.po b/aleksis/core/locale/ar/LC_MESSAGES/django.po
index ce6e7cbbf7d64d4beb966c224212bbda2b32af2f..7601d361668f068f942d130014ca1897f000d92b 100644
--- a/aleksis/core/locale/ar/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/ar/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -18,34 +18,33 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr ""
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr ""
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr ""
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr ""
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr ""
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
 #: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 msgid "Groups"
 msgstr ""
 
-#: aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr ""
 
@@ -54,49 +53,29 @@ msgstr ""
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr ""
 
-#: aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr ""
 
-#: aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr ""
 
-#: aleksis/core/data_checks.py:330
+#: aleksis/core/data_checks.py:320
 #, python-format
 msgid "Validate field %s of model %s."
 msgstr ""
 
-#: aleksis/core/data_checks.py:332
+#: aleksis/core/data_checks.py:322
 #, python-format
 msgid "The field %s couldn't be validated successfully."
 msgstr ""
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr ""
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr ""
-
-#: aleksis/core/feeds.py:66
-#, python-format
-msgid "%(name)s's birthday"
-msgstr ""
-
-#: aleksis/core/feeds.py:71
-#, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr ""
-
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -168,8 +147,7 @@ msgid "Common data"
 msgstr ""
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:164
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr ""
@@ -258,7 +236,7 @@ msgid "You must select at least one group or person which should get the permiss
 msgstr ""
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr ""
 
 #: aleksis/core/forms.py:586
@@ -277,15 +255,15 @@ msgstr ""
 msgid "Password (again)"
 msgstr ""
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr ""
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr ""
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr ""
 
@@ -309,160 +287,6 @@ msgstr ""
 msgid "No backup result found!"
 msgstr ""
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr ""
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr ""
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr ""
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr ""
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:872
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr ""
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:142
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr ""
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr ""
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr ""
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr ""
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr ""
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr ""
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr ""
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr ""
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr ""
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1111
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-msgid "Group types"
-msgstr ""
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr ""
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:542
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-msgid "Additional fields"
-msgstr ""
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr ""
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr ""
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr ""
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr ""
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr ""
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr ""
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr ""
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr ""
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr ""
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr ""
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr ""
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr ""
@@ -508,7 +332,6 @@ msgid "URL / Link"
 msgstr ""
 
 #: aleksis/core/models.py:105 aleksis/core/models.py:1077
-#: aleksis/core/models.py:1384
 msgid "Name"
 msgstr ""
 
@@ -528,8 +351,13 @@ msgstr ""
 msgid "There is already a school term for this time or a part of this time."
 msgstr ""
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:1024
-#: aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr ""
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr ""
 
@@ -569,7 +397,7 @@ msgstr ""
 msgid "other"
 msgstr ""
 
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr ""
 
@@ -578,6 +406,7 @@ msgid "Additional name(s)"
 msgstr ""
 
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr ""
 
@@ -597,11 +426,11 @@ msgstr ""
 msgid "Place"
 msgstr ""
 
-#: aleksis/core/models.py:207 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr ""
 
-#: aleksis/core/models.py:208 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr ""
 
@@ -629,7 +458,7 @@ msgstr ""
 msgid "This is a picture or an avatar for public display."
 msgstr ""
 
-#: aleksis/core/models.py:234 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr ""
 
@@ -638,7 +467,7 @@ msgid "Primary group"
 msgstr ""
 
 #: aleksis/core/models.py:244 aleksis/core/models.py:724
-#: aleksis/core/models.py:748 aleksis/core/models.py:839
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
 #: aleksis/core/models.py:1104
 msgid "Description"
 msgstr ""
@@ -675,7 +504,7 @@ msgstr ""
 msgid "Can view statistics about group."
 msgstr ""
 
-#: aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr ""
 
@@ -695,8 +524,14 @@ msgstr ""
 msgid "Type of group"
 msgstr ""
 
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr ""
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr ""
@@ -725,166 +560,175 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr ""
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr ""
 
-#: aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr ""
 
-#: aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr ""
 
-#: aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr ""
 
-#: aleksis/core/models.py:772 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr ""
 
-#: aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr ""
 
-#: aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr ""
 
-#: aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr ""
 
-#: aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr ""
 
-#: aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr ""
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr ""
 
-#: aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr ""
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr ""
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr ""
 
-#: aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr ""
 
-#: aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr ""
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr ""
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr ""
 
-#: aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr ""
 
-#: aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr ""
 
-#: aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr ""
 
-#: aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr ""
 
-#: aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr ""
 
-#: aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr ""
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr ""
 
-#: aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr ""
 
-#: aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr ""
 
-#: aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr ""
 
-#: aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr ""
 
-#: aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr ""
 
-#: aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr ""
 
@@ -892,11 +736,6 @@ msgstr ""
 msgid "Menu"
 msgstr ""
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr ""
-
 #: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr ""
@@ -913,6 +752,12 @@ msgstr ""
 msgid "Group type"
 msgstr ""
 
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr ""
+
 #: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr ""
@@ -989,64 +834,116 @@ msgstr ""
 msgid "File expires at"
 msgstr ""
 
-#: aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr ""
 
-#: aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr ""
 
-#: aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr ""
 
-#: aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr ""
 
+#: aleksis/core/models.py:1263
+msgid "Back URL"
+msgstr ""
+
+#: aleksis/core/models.py:1264
+msgid "Progress title"
+msgstr ""
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+msgid "Success message"
+msgstr ""
+
+#: aleksis/core/models.py:1267
+msgid "Redirect on success URL"
+msgstr ""
+
 #: aleksis/core/models.py:1269
+msgid "Additional button title"
+msgstr ""
+
+#: aleksis/core/models.py:1271
+msgid "Additional button URL"
+msgstr ""
+
+#: aleksis/core/models.py:1273
+msgid "Additional button icon"
+msgstr ""
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+msgid "Background task completed successfully"
+msgstr ""
+
+#: aleksis/core/models.py:1301
+msgid "The background task '{}' has been completed successfully."
+msgstr ""
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr ""
 
-#: aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr ""
 
-#: aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr ""
 
-#: aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr ""
 
-#: aleksis/core/models.py:1334
+#: aleksis/core/models.py:1396
 msgid "This image will be shown as icon in the authorization flow. It should be squared."
 msgstr ""
 
-#: aleksis/core/models.py:1383
-msgid "UUID"
+#: aleksis/core/models.py:1441
+msgid "Can view room timetable"
 msgstr ""
 
-#: aleksis/core/models.py:1387
-msgid "Selected ICal feed"
+#: aleksis/core/models.py:1443
+msgid "Room"
 msgstr ""
 
-#: aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr ""
-
-#: aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
 msgstr ""
 
 #: aleksis/core/preferences.py:25
@@ -1137,135 +1034,141 @@ msgstr ""
 msgid "Channels to use for notifications"
 msgstr ""
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+msgid "Select Design"
+msgstr ""
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr ""
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr ""
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr ""
 
-#: aleksis/core/preferences.py:241
+#: aleksis/core/preferences.py:256
 msgid "Automatically link existing persons to new users by their e-mail address"
 msgstr ""
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr ""
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr ""
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr ""
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr ""
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr ""
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr ""
 
-#: aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr ""
 
-#: aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr ""
 
-#: aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr ""
 
-#: aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr ""
 
-#: aleksis/core/preferences.py:409
+#: aleksis/core/preferences.py:424
 msgid "Editable fields on person model which should trigger a notification on change"
 msgstr ""
 
-#: aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr ""
 
-#: aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr ""
 
-#: aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr ""
 
-#: aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr ""
 
-#: aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr ""
 
-#: aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr ""
 
-#: aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr ""
 
-#: aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr ""
 
-#: aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr ""
 
-#: aleksis/core/settings.py:543
+#: aleksis/core/settings.py:541
 msgid "Ukrainian"
 msgstr ""
 
 #: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
 #: aleksis/core/templates/core/group/full.html:26
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr ""
@@ -1282,15 +1185,12 @@ msgstr ""
 #: aleksis/core/templates/core/announcement/list.html:42
 #: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr ""
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr ""
 
@@ -1389,6 +1289,17 @@ msgstr ""
 msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr ""
+
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
 msgstr ""
@@ -1502,6 +1413,11 @@ msgstr ""
 msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr ""
+
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
 msgid "Signup closed"
@@ -1592,18 +1508,6 @@ msgstr ""
 msgid "There are no announcements."
 msgstr ""
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr ""
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr ""
@@ -1633,6 +1537,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr ""
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr ""
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr ""
@@ -1648,6 +1557,11 @@ msgstr ""
 msgid "Edit default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr ""
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr ""
@@ -1741,6 +1655,11 @@ msgstr ""
 msgid "Default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr ""
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
@@ -1820,8 +1739,6 @@ msgid "Edit group"
 msgstr ""
 
 #: aleksis/core/templates/core/group/full.html:40
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 msgid "Change preferences"
 msgstr ""
 
@@ -1875,45 +1792,11 @@ msgstr ""
 msgid "Create group type"
 msgstr ""
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr ""
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
 "        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
@@ -1921,101 +1804,14 @@ msgid ""
 "      "
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2029,16 +1825,9 @@ msgid ""
 "    "
 msgstr ""
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be updated.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
 msgstr ""
 
 #: aleksis/core/templates/core/pages/system_status.html:12
@@ -2164,13 +1953,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr ""
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr ""
 
@@ -2182,29 +1969,11 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
 
 #: aleksis/core/templates/core/perms/assign.html:12
@@ -2220,6 +1989,11 @@ msgstr ""
 msgid "Assign"
 msgstr ""
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr ""
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr ""
@@ -2263,28 +2037,6 @@ msgstr ""
 msgid "Edit person"
 msgstr ""
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr ""
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr ""
@@ -2304,6 +2056,10 @@ msgstr ""
 msgid "Edit school term"
 msgstr ""
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr ""
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr ""
@@ -2337,6 +2093,10 @@ msgstr ""
 msgid "site preferences page"
 msgstr ""
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr ""
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr ""
@@ -2385,6 +2145,13 @@ msgstr ""
 msgid "Register OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr ""
@@ -2418,6 +2185,11 @@ msgstr ""
 msgid "Edit OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr ""
@@ -2449,14 +2221,6 @@ msgstr ""
 msgid "Disallow"
 msgstr ""
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr ""
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2471,6 +2235,11 @@ msgstr ""
 msgid "Revoke"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr ""
@@ -2480,13 +2249,13 @@ msgid "Network error"
 msgstr ""
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
+msgid "Page not available offline."
 msgstr ""
 
 #: aleksis/core/templates/offline.html:14
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
 "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
@@ -2767,6 +2536,12 @@ msgstr ""
 msgid "Generate Tokens"
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -2861,6 +2636,10 @@ msgid ""
 "          security."
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3088,188 +2867,168 @@ msgstr ""
 msgid "SMS"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr ""
 
-#: aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr ""
 
-#: aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr ""
 
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:775
+#: aleksis/core/views.py:730
 msgid "The additional field has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr ""
 
-#: aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr ""
 
-#: aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr ""
 
-#: aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr ""
 
-#: aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr ""
 
-#: aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr ""
 
-#: aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr ""
 
-#: aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr ""
-
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr ""
-
-#: aleksis/core/views.py:1411
+#: aleksis/core/views.py:1349
 msgid "The third-party account could not be disconnected because it is the only login method available."
 msgstr ""
 
-#: aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr ""
 
-#: aleksis/core/views.py:1489
+#: aleksis/core/views.py:1432
 msgid "Person was invited successfully and an email with further instructions has been send to them."
 msgstr ""
 
-#: aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr ""
-
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr ""
diff --git a/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po b/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po
index 3defb67f9f4129276ebd5b1c61d84a8511b0fabe..0d39d4eb6ab12b04ed1f7a3313c6a214e2b8e291 100644
--- a/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -29,7 +29,3 @@ msgstr ""
 #: aleksis/core/static/js/main.js:68
 msgid "OK"
 msgstr ""
-
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr ""
diff --git a/aleksis/core/locale/de_DE/LC_MESSAGES/django.po b/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
index 47480319a7caddf203af0a5823a09753dcb8814c..94dad50b1555836c63a8ca35e84a2511f1844f91 100644
--- a/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
@@ -7,11 +7,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-24 19:37+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2022-07-24 13:48+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
-"Language-Team: German <https://translate.edugit.org/projects/aleksis/"
-"aleksis-core/de/>\n"
+"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-core/de/>\n"
 "Language: de_DE\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,75 +18,64 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.12.1\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr "OpenID-Connect-Scope"
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr "Vorname, Nachname, Link zum Profil und Bild falls vorhanden."
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr "Vollständige Postanschrift"
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr "E-Mail-Adresse"
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr "Festnetz- und Mobilfunknummer"
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
-#: aleksis/core/models.py:489 aleksis/core/templates/core/group/list.html:8
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
+#: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246 aleksis/core/models.py:494
 msgid "Groups"
 msgstr "Gruppen"
 
-#: aleksis/core/data_checks.py:56 aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr "Problem ignorieren"
 
-#: aleksis/core/data_checks.py:185 aleksis/core/data_checks.py:188
+#: aleksis/core/data_checks.py:188
 #, python-brace-format
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr "Lösungsoption \"{solve_option_obj.verbose_name}\" "
 
-#: aleksis/core/data_checks.py:291 aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr "Dashboard-Widget deaktivieren"
 
-#: aleksis/core/data_checks.py:303 aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr "Sicherstellen, dass es keine kaputten Dashboard-Widgets gibt."
 
-#: aleksis/core/data_checks.py:304 aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr "Das Dashboard-Widget wurde automatisch als kaputt gemeldet."
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr "Geburtstagskalender"
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr "Ein Kalender mit Geburtstagen"
-
-#: aleksis/core/feeds.py:66
+#: aleksis/core/data_checks.py:320
 #, python-format
-msgid "%(name)s's birthday"
-msgstr "%(name)ss Geburtstag"
+msgid "Validate field %s of model %s."
+msgstr "Feld %s von Model %s validieren."
 
-#: aleksis/core/feeds.py:71
+#: aleksis/core/data_checks.py:322
 #, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr "%(name)s wurde am %(birthday)s geboren"
+msgid "The field %s couldn't be validated successfully."
+msgstr "Das Feld %s konnte nicht erfolgreich validiert werden."
 
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -110,13 +98,11 @@ msgstr "Berechtigung"
 msgid "Content type"
 msgstr "Inhaltstyp"
 
-#: aleksis/core/filters.py:113 aleksis/core/models.py:715
-#: aleksis/core/models.py:720
+#: aleksis/core/filters.py:113 aleksis/core/models.py:720
 msgid "User"
 msgstr "Benutzer"
 
-#: aleksis/core/filters.py:135 aleksis/core/models.py:488
-#: aleksis/core/models.py:493
+#: aleksis/core/filters.py:135 aleksis/core/models.py:493
 msgid "Group"
 msgstr "Gruppe"
 
@@ -146,16 +132,13 @@ msgstr "Neues Benutzerkonto erstellen"
 
 #: aleksis/core/forms.py:132
 msgid "You cannot set a new username when also selecting an existing user."
-msgstr ""
-"Sie können keine neuen Benutzer erstellen, wenn Sie gleichzeitig einen "
-"existierenden Benutzer auswählen."
+msgstr "Sie können keine neuen Benutzer erstellen, wenn Sie gleichzeitig einen existierenden Benutzer auswählen."
 
 #: aleksis/core/forms.py:136
 msgid "This username is already in use."
 msgstr "Dieser Benutzername wird bereits genutzt."
 
-#: aleksis/core/forms.py:153 aleksis/core/models.py:136
-#: aleksis/core/models.py:141
+#: aleksis/core/forms.py:153 aleksis/core/models.py:141
 msgid "School term"
 msgstr "Schuljahr"
 
@@ -164,9 +147,8 @@ msgid "Common data"
 msgstr "Allgemeine Daten"
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:159
-#: aleksis/core/templates/core/person/list.html:8
-#: aleksis/core/templates/core/person/list.html:9 aleksis/core/models.py:164
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr "Personen"
 
@@ -174,19 +156,18 @@ msgstr "Personen"
 msgid "Additional data"
 msgstr "Zusätzliche Daten"
 
-#: aleksis/core/forms.py:157 aleksis/core/models.py:212
-#: aleksis/core/models.py:541 aleksis/core/models.py:217
+#: aleksis/core/forms.py:157 aleksis/core/models.py:217
 #: aleksis/core/models.py:546 aleksis/core/tables.py:46
 msgid "Photo"
 msgstr "Foto"
 
 #: aleksis/core/forms.py:199 aleksis/core/forms.py:202
-#: aleksis/core/models.py:79 aleksis/core/models.py:84
+#: aleksis/core/models.py:84
 msgid "Date"
 msgstr "Datum"
 
 #: aleksis/core/forms.py:200 aleksis/core/forms.py:203
-#: aleksis/core/models.py:87 aleksis/core/models.py:92
+#: aleksis/core/models.py:92
 msgid "Time"
 msgstr "Zeit"
 
@@ -203,17 +184,12 @@ msgid "Write your announcement:"
 msgstr "Schreiben Sie ihre Ankündigung:"
 
 #: aleksis/core/forms.py:276
-msgid ""
-"You are not allowed to create announcements which are only valid in the past."
-msgstr ""
-"Sie dürfen keine Ankündigungen erstellen, die nur für die Vergangenheit "
-"gültig sind."
+msgid "You are not allowed to create announcements which are only valid in the past."
+msgstr "Sie dürfen keine Ankündigungen erstellen, die nur für die Vergangenheit gültig sind."
 
 #: aleksis/core/forms.py:280
 msgid "The from date and time must be earlier then the until date and time."
-msgstr ""
-"Das Startdatum und die Startzeit müssen vor dem Enddatum und der Endzeit "
-"sein."
+msgstr "Das Startdatum und die Startzeit müssen vor dem Enddatum und der Endzeit sein."
 
 #: aleksis/core/forms.py:289
 msgid "You need at least one recipient."
@@ -227,13 +203,11 @@ msgstr "Einladungscode"
 msgid "Please enter your invitation code."
 msgstr "Bitte geben Sie Ihren Einladungscode ein."
 
-#: aleksis/core/forms.py:418 aleksis/core/models.py:187
-#: aleksis/core/models.py:192
+#: aleksis/core/forms.py:418 aleksis/core/models.py:192
 msgid "First name"
 msgstr "Vorname"
 
-#: aleksis/core/forms.py:419 aleksis/core/models.py:188
-#: aleksis/core/models.py:193
+#: aleksis/core/forms.py:419 aleksis/core/models.py:193
 msgid "Last name"
 msgstr "Nachname"
 
@@ -251,25 +225,21 @@ msgstr "Auf was?"
 
 #: aleksis/core/forms.py:483
 msgid "Select objects which the permission should be granted for:"
-msgstr ""
-"Wählen Sie die Objekte aus, für welche die Berechtigung vergeben werden soll:"
+msgstr "Wählen Sie die Objekte aus, für welche die Berechtigung vergeben werden soll:"
 
 #: aleksis/core/forms.py:486
 msgid "Grant the permission for all objects"
 msgstr "Vergebe die Berechtigung für alle Objekte"
 
 #: aleksis/core/forms.py:494
-msgid ""
-"You must select at least one group or person which should get the permission."
-msgstr ""
-"Sie müssen mindestens eine Gruppe oder Person auswählen, welche die "
-"Berechtigung erhalten soll."
+msgid "You must select at least one group or person which should get the permission."
+msgstr "Sie müssen mindestens eine Gruppe oder Person auswählen, welche die Berechtigung erhalten soll."
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
-msgstr ""
-"Sie müssen die Berechtigung auf alle Objekte und/oder für einige Objekte "
-"vergeben."
+#, fuzzy
+#| msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
+msgstr "Sie müssen die Berechtigung auf alle Objekte und/oder für einige Objekte vergeben."
 
 #: aleksis/core/forms.py:586
 msgid "Address data"
@@ -287,17 +257,15 @@ msgstr "Passwort"
 msgid "Password (again)"
 msgstr "Passwort wiederholen"
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr "Die ausgewählte Aktion existiert nicht."
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
-msgstr ""
-"Sie haben nicht die Berechtigung, {} auf alle ausgewählten Objekte "
-"auszuführen."
+msgstr "Sie haben nicht die Berechtigung, {} auf alle ausgewählten Objekte auszuführen."
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr "Keine gültige Auswahl."
 
@@ -321,775 +289,684 @@ msgstr "Kein Backup gefunden!"
 msgid "No backup result found!"
 msgstr "Kein Backupergebnis gefunden!"
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr "Anmelden"
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr "Registrieren"
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr "Einladung akzeptieren"
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr "Dashboard"
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr "Admin"
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:867
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-#: aleksis/core/models.py:872
-msgid "Announcements"
-msgstr "Ankündigungen"
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:137
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-#: aleksis/core/models.py:142
-msgid "School terms"
-msgstr "Schuljahre"
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr "Dashboard-Widgets"
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr "Datenverwaltung"
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr "Systemstatus"
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr "Konfiguration"
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr "Datenprüfungen"
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr "Berechtigungen verwalten"
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr "Backend-Administration"
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr "OAuth2-Anwendungen"
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr "Leute"
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1101
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-#: aleksis/core/models.py:1111
-msgid "Group types"
-msgstr "Gruppentypen"
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr "Gruppen und Kindgruppen"
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:537
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-#: aleksis/core/models.py:542
-msgid "Additional fields"
-msgstr "Zusätzliche Felder"
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr "Person einladen"
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr "Kindgruppen zu Gruppen zuordnen"
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr "Verkleidung beenden"
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr "Konto"
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr "Einstellungen"
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr "2FA"
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr "Passwort ändern"
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr "Drittanbieter-Konten"
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr "Autorisierte Anwendungen"
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr "Kalender-Feeds"
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr "Abmelden"
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr "Zugeordnetes Schuljahr"
 
-#: aleksis/core/models.py:77 aleksis/core/models.py:82
+#: aleksis/core/models.py:82
 msgid "Boolean (Yes/No)"
 msgstr "Boolean (Ja/Nein)"
 
-#: aleksis/core/models.py:78 aleksis/core/models.py:83
+#: aleksis/core/models.py:83
 msgid "Text (one line)"
 msgstr "Text (eine Zeile)"
 
-#: aleksis/core/models.py:80 aleksis/core/models.py:85
+#: aleksis/core/models.py:85
 msgid "Date and time"
 msgstr "Datum und Uhrzeit"
 
-#: aleksis/core/models.py:81 aleksis/core/models.py:86
+#: aleksis/core/models.py:86
 msgid "Decimal number"
 msgstr "Dezimalzahl"
 
-#: aleksis/core/models.py:82 aleksis/core/models.py:205
 #: aleksis/core/models.py:87 aleksis/core/models.py:210
 msgid "E-mail address"
 msgstr "E-Mail-Adresse"
 
-#: aleksis/core/models.py:83 aleksis/core/models.py:88
+#: aleksis/core/models.py:88
 msgid "Integer"
 msgstr "Ganze Zahl"
 
-#: aleksis/core/models.py:84 aleksis/core/models.py:89
+#: aleksis/core/models.py:89
 msgid "IP address"
 msgstr "IP-Adresse"
 
-#: aleksis/core/models.py:85 aleksis/core/models.py:90
+#: aleksis/core/models.py:90
 msgid "Boolean or empty (Yes/No/Neither)"
 msgstr "Boolean oder leer (Ja/Nein/weder)"
 
-#: aleksis/core/models.py:86 aleksis/core/models.py:91
+#: aleksis/core/models.py:91
 msgid "Text (multi-line)"
 msgstr "Text (mehrzeilig)"
 
-#: aleksis/core/models.py:88 aleksis/core/models.py:93
+#: aleksis/core/models.py:93
 msgid "URL / Link"
 msgstr "URL / Link"
 
-#: aleksis/core/models.py:100 aleksis/core/models.py:1070
-#: aleksis/core/models.py:1374 aleksis/core/models.py:105
-#: aleksis/core/models.py:1077 aleksis/core/models.py:1384
+#: aleksis/core/models.py:105 aleksis/core/models.py:1077
 msgid "Name"
 msgstr "Name"
 
-#: aleksis/core/models.py:102 aleksis/core/models.py:107
+#: aleksis/core/models.py:107
 msgid "Start date"
 msgstr "Startdatum"
 
-#: aleksis/core/models.py:103 aleksis/core/models.py:108
+#: aleksis/core/models.py:108
 msgid "End date"
 msgstr "Enddatum"
 
-#: aleksis/core/models.py:122 aleksis/core/models.py:127
+#: aleksis/core/models.py:127
 msgid "The start date must be earlier than the end date."
 msgstr "Das Startdatum muss vor dem Enddatum liegen."
 
-#: aleksis/core/models.py:129 aleksis/core/models.py:134
+#: aleksis/core/models.py:134
 msgid "There is already a school term for this time or a part of this time."
-msgstr ""
-"Es gibt bereits ein Schuljahr für diesen Zeitraum oder einen Teilzeitraum."
+msgstr "Es gibt bereits ein Schuljahr für diesen Zeitraum oder einen Teilzeitraum."
 
-#: aleksis/core/models.py:158 aleksis/core/models.py:1019
-#: aleksis/core/models.py:1371 aleksis/core/models.py:163
-#: aleksis/core/models.py:1024 aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr "Schuljahre"
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr "Person"
 
-#: aleksis/core/models.py:161 aleksis/core/models.py:166
+#: aleksis/core/models.py:166
 msgid "Can view address"
 msgstr "Kann Adresse sehen"
 
-#: aleksis/core/models.py:162 aleksis/core/models.py:167
+#: aleksis/core/models.py:167
 msgid "Can view contact details"
 msgstr "Kann Kontaktdetails sehen"
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:168
+#: aleksis/core/models.py:168
 msgid "Can view photo"
 msgstr "Kann Foto sehen"
 
-#: aleksis/core/models.py:164 aleksis/core/models.py:169
+#: aleksis/core/models.py:169
 msgid "Can view avatar image"
 msgstr "Kann Avatar-Bild sehen"
 
-#: aleksis/core/models.py:165 aleksis/core/models.py:170
+#: aleksis/core/models.py:170
 msgid "Can view persons groups"
 msgstr "Kann Gruppen einer Person sehen"
 
-#: aleksis/core/models.py:166 aleksis/core/models.py:171
+#: aleksis/core/models.py:171
 msgid "Can view personal details"
 msgstr "Kann persönliche Daten sehen"
 
-#: aleksis/core/models.py:176 aleksis/core/models.py:181
+#: aleksis/core/models.py:181
 msgid "female"
 msgstr "weiblich"
 
-#: aleksis/core/models.py:176 aleksis/core/models.py:181
+#: aleksis/core/models.py:181
 msgid "male"
 msgstr "männlich"
 
-#: aleksis/core/models.py:184 aleksis/core/models.py:1273
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:181
+msgid "other"
+msgstr "andere"
+
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr "Verknüpfter Benutzer"
 
-#: aleksis/core/models.py:190 aleksis/core/models.py:195
+#: aleksis/core/models.py:195
 msgid "Additional name(s)"
 msgstr "Zusätzliche Namen"
 
-#: aleksis/core/models.py:194 aleksis/core/models.py:506
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr "Kurzname"
 
-#: aleksis/core/models.py:197 aleksis/core/models.py:202
+#: aleksis/core/models.py:202
 msgid "Street"
 msgstr "Straße"
 
-#: aleksis/core/models.py:198 aleksis/core/models.py:203
+#: aleksis/core/models.py:203
 msgid "Street number"
 msgstr "Hausnummer"
 
-#: aleksis/core/models.py:199 aleksis/core/models.py:204
+#: aleksis/core/models.py:204
 msgid "Postal code"
 msgstr "Postleitzahl"
 
-#: aleksis/core/models.py:200 aleksis/core/models.py:205
+#: aleksis/core/models.py:205
 msgid "Place"
 msgstr "Ort"
 
-#: aleksis/core/models.py:202 aleksis/core/templates/core/person/full.html:160
 #: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr "Festnetz"
 
-#: aleksis/core/models.py:203 aleksis/core/templates/core/person/full.html:170
 #: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr "Handy"
 
-#: aleksis/core/models.py:207 aleksis/core/models.py:212
+#: aleksis/core/models.py:212
 msgid "Date of birth"
 msgstr "Geburtsdatum"
 
-#: aleksis/core/models.py:208 aleksis/core/models.py:213
+#: aleksis/core/models.py:213
 msgid "Place of birth"
 msgstr "Geburtsort"
 
-#: aleksis/core/models.py:209 aleksis/core/models.py:214
+#: aleksis/core/models.py:214
 msgid "Sex"
 msgstr "Geschlecht"
 
-#: aleksis/core/models.py:216 aleksis/core/models.py:545
 #: aleksis/core/models.py:221 aleksis/core/models.py:550
-msgid ""
-"This is an official photo, used for official documents and for internal use "
-"cases."
-msgstr ""
-"Dies ist ein offizielles Foto, genutzt für offizielle Dokumente und interne "
-"Zwecke."
+msgid "This is an official photo, used for official documents and for internal use cases."
+msgstr "Dies ist ein offizielles Foto, genutzt für offizielle Dokumente und interne Zwecke."
 
-#: aleksis/core/models.py:221 aleksis/core/models.py:549
 #: aleksis/core/models.py:226 aleksis/core/models.py:554
 msgid "Display picture / Avatar"
 msgstr "Bild/Avatar anzeigen"
 
-#: aleksis/core/models.py:224 aleksis/core/models.py:552
 #: aleksis/core/models.py:229 aleksis/core/models.py:557
 msgid "This is a picture or an avatar for public display."
 msgstr "Dies ist ein Bild oder ein Avatar für die öffentliche Darstellung."
 
-#: aleksis/core/models.py:229 aleksis/core/templates/core/person/full.html:235
 #: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr "Erziehungsberechtigte / Eltern"
 
-#: aleksis/core/models.py:236 aleksis/core/models.py:241
+#: aleksis/core/models.py:241
 msgid "Primary group"
 msgstr "Primärgruppe"
 
-#: aleksis/core/models.py:239 aleksis/core/models.py:719
-#: aleksis/core/models.py:743 aleksis/core/models.py:834
-#: aleksis/core/models.py:1094 aleksis/core/models.py:244
-#: aleksis/core/models.py:724 aleksis/core/models.py:748
-#: aleksis/core/models.py:839 aleksis/core/models.py:1104
+#: aleksis/core/models.py:244 aleksis/core/models.py:724
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
+#: aleksis/core/models.py:1104
 msgid "Description"
 msgstr "Beschreibung"
 
-#: aleksis/core/models.py:459 aleksis/core/models.py:464
+#: aleksis/core/models.py:464
 msgid "Title of field"
 msgstr "Feldtitel"
 
-#: aleksis/core/models.py:461 aleksis/core/models.py:466
+#: aleksis/core/models.py:466
 msgid "Type of field"
 msgstr "Feldtyp"
 
-#: aleksis/core/models.py:463 aleksis/core/models.py:468
+#: aleksis/core/models.py:468
 msgid "Required"
 msgstr "Pflichtfeld"
 
-#: aleksis/core/models.py:464 aleksis/core/models.py:469
+#: aleksis/core/models.py:469
 msgid "Help text / description"
 msgstr "Hilfetext/Beschreibung"
 
-#: aleksis/core/models.py:470 aleksis/core/models.py:475
+#: aleksis/core/models.py:475
 msgid "Addtitional field for groups"
 msgstr "Zusätzliche Felder für Gruppen"
 
-#: aleksis/core/models.py:471 aleksis/core/models.py:476
+#: aleksis/core/models.py:476
 msgid "Addtitional fields for groups"
 msgstr "Zusätzliche Felder für Gruppen"
 
-#: aleksis/core/models.py:491 aleksis/core/models.py:496
+#: aleksis/core/models.py:496
 msgid "Can assign child groups to groups"
 msgstr "Kann Kindgruppen zu Gruppen zuordnen"
 
-#: aleksis/core/models.py:492 aleksis/core/models.py:497
+#: aleksis/core/models.py:497
 msgid "Can view statistics about group."
 msgstr "Kann Statistiken über Gruppen sehen."
 
-#: aleksis/core/models.py:504 aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr "Langname"
 
-#: aleksis/core/models.py:514 aleksis/core/templates/core/group/full.html:85
 #: aleksis/core/models.py:519 aleksis/core/templates/core/group/full.html:105
 msgid "Members"
 msgstr "Mitglieder"
 
-#: aleksis/core/models.py:517 aleksis/core/templates/core/group/full.html:82
 #: aleksis/core/models.py:522 aleksis/core/templates/core/group/full.html:102
 msgid "Owners"
 msgstr "Leiter/-innen"
 
-#: aleksis/core/models.py:524 aleksis/core/templates/core/group/full.html:55
 #: aleksis/core/models.py:529 aleksis/core/templates/core/group/full.html:59
 msgid "Parent groups"
 msgstr "Übergeordnete Gruppen"
 
-#: aleksis/core/models.py:532 aleksis/core/models.py:537
+#: aleksis/core/models.py:537
 msgid "Type of group"
 msgstr "Gruppentyp"
 
-#: aleksis/core/models.py:718 aleksis/core/models.py:742
-#: aleksis/core/models.py:833
-#: aleksis/core/templates/core/announcement/list.html:18
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr "Zusätzliche Felder"
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
+#: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr "Titel"
 
-#: aleksis/core/models.py:721 aleksis/core/models.py:726
+#: aleksis/core/models.py:726
 msgid "Application"
 msgstr "Anwendung"
 
-#: aleksis/core/models.py:727 aleksis/core/models.py:732
+#: aleksis/core/models.py:732
 msgid "Activity"
 msgstr "Aktivität"
 
-#: aleksis/core/models.py:728 aleksis/core/models.py:733
+#: aleksis/core/models.py:733
 msgid "Activities"
 msgstr "Aktivitäten"
 
-#: aleksis/core/models.py:734 aleksis/core/models.py:739
+#: aleksis/core/models.py:739
 msgid "Sender"
 msgstr "Absender"
 
-#: aleksis/core/models.py:739 aleksis/core/models.py:744
+#: aleksis/core/models.py:744
 msgid "Recipient"
 msgstr "Empfänger"
 
-#: aleksis/core/models.py:744 aleksis/core/models.py:1071
 #: aleksis/core/models.py:749 aleksis/core/models.py:1078
 msgid "Link"
 msgstr "Link"
 
-#: aleksis/core/models.py:746 aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr "Symbol"
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr "Benachrichtigung schicken am"
 
-#: aleksis/core/models.py:748 aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr "Gelesen"
 
-#: aleksis/core/models.py:749 aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr "Versandt"
 
-#: aleksis/core/models.py:766 aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr "Benachrichtigung"
 
-#: aleksis/core/models.py:767 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5 aleksis/core/models.py:772
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr "Benachrichtigungen"
 
-#: aleksis/core/models.py:835 aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr "Link zur detaillierten Ansicht"
 
-#: aleksis/core/models.py:838 aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr "Datum und Uhrzeit des Anzeigestarts"
 
-#: aleksis/core/models.py:841 aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr "Anzeigezeitraum"
 
-#: aleksis/core/models.py:866 aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr "Ankündigung"
 
-#: aleksis/core/models.py:904 aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr "Ankündigungen"
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr "Empfänger der Ankündigung"
 
-#: aleksis/core/models.py:905 aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr "Empfänger der Ankündigung"
 
-#: aleksis/core/models.py:927 aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr "Widget-Titel"
 
-#: aleksis/core/models.py:928 aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr "Widget aktivieren"
 
-#: aleksis/core/models.py:929 aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr "Widget ist kaputt"
 
-#: aleksis/core/models.py:932 aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr "Größe auf Mobilgeräten"
 
-#: aleksis/core/models.py:933 aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr "<= 600 px, 12 Spalten"
 
-#: aleksis/core/models.py:938 aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr "Größe auf Tablets"
 
-#: aleksis/core/models.py:939 aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr "> 600px, 12 Spalten"
 
-#: aleksis/core/models.py:944 aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr "Größe auf Desktopgeräten"
 
-#: aleksis/core/models.py:945 aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr "> 992 px, 12 Spalten"
 
-#: aleksis/core/models.py:950 aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr "Größe auf großen Desktopgeräten"
 
-#: aleksis/core/models.py:951 aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr "> 1200 px, 12 Spalten"
 
-#: aleksis/core/models.py:982 aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr "Kann Standarddashboard bearbeiten"
 
-#: aleksis/core/models.py:983 aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr "Dashboard-Widget"
 
-#: aleksis/core/models.py:984 aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr "Dashboard-Widgets"
 
-#: aleksis/core/models.py:990 aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr "URL"
 
-#: aleksis/core/models.py:991 aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr "Symbol-URL"
 
-#: aleksis/core/models.py:997 aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr "Externer-Link-Widget"
 
-#: aleksis/core/models.py:998 aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr "Externer-Link-Widgets"
 
-#: aleksis/core/models.py:1004 aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr "Inhalt"
 
-#: aleksis/core/models.py:1010 aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr "Statischer-Inhalt-Widget"
 
-#: aleksis/core/models.py:1011 aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr "Statischer-Inhalt-Widgets"
 
-#: aleksis/core/models.py:1016 aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr "Dashboard-Widget"
 
-#: aleksis/core/models.py:1021 aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr "Reihenfolge"
 
-#: aleksis/core/models.py:1022 aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr "Teil des Standarddashboards"
 
-#: aleksis/core/models.py:1037 aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr "Reihenfolge der Dashboard-Widgets"
 
-#: aleksis/core/models.py:1038 aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr "Reihenfolgen der Dashboard-Widgets"
 
-#: aleksis/core/models.py:1044 aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr "Menü-ID"
 
-#: aleksis/core/models.py:1057 aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr "Benutzerdefiniertes Menü"
 
-#: aleksis/core/models.py:1058 aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr "Benutzerdefinierte Menüs"
 
-#: aleksis/core/models.py:1068 aleksis/core/models.py:1075
+#: aleksis/core/models.py:1075
 msgid "Menu"
 msgstr "Menü"
 
-#: aleksis/core/models.py:1072 aleksis/core/models.py:1320
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-msgid "Icon"
-msgstr "Symbol"
-
-#: aleksis/core/models.py:1078 aleksis/core/models.py:1085
+#: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr "Benutzerdefiniertes Menüelement"
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1086
+#: aleksis/core/models.py:1086
 msgid "Custom menu items"
 msgstr "Benutzerdefinierte Menüelemente"
 
-#: aleksis/core/models.py:1093 aleksis/core/models.py:1103
+#: aleksis/core/models.py:1103
 msgid "Title of type"
 msgstr "Titel des Typs"
 
-#: aleksis/core/models.py:1100 aleksis/core/templates/core/group/full.html:47
 #: aleksis/core/models.py:1110 aleksis/core/templates/core/group/full.html:50
 msgid "Group type"
 msgstr "Gruppentyp"
 
-#: aleksis/core/models.py:1114 aleksis/core/models.py:1124
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr "Gruppentypen"
+
+#: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr "Kann Systemstatus sehen"
 
-#: aleksis/core/models.py:1115 aleksis/core/models.py:1125
+#: aleksis/core/models.py:1125
 msgid "Can manage data"
 msgstr "Kann Daten verwalten"
 
-#: aleksis/core/models.py:1116 aleksis/core/models.py:1126
+#: aleksis/core/models.py:1126
 msgid "Can impersonate"
 msgstr "Kann sich verkleiden"
 
-#: aleksis/core/models.py:1117 aleksis/core/models.py:1127
+#: aleksis/core/models.py:1127
 msgid "Can use search"
 msgstr "Kann Suche benutzen"
 
-#: aleksis/core/models.py:1118 aleksis/core/models.py:1128
+#: aleksis/core/models.py:1128
 msgid "Can change site preferences"
 msgstr "Kann Konfiguration ändern"
 
-#: aleksis/core/models.py:1119 aleksis/core/models.py:1129
+#: aleksis/core/models.py:1129
 msgid "Can change person preferences"
 msgstr "Kann Einstellungen einer Person verändern"
 
-#: aleksis/core/models.py:1120 aleksis/core/models.py:1130
+#: aleksis/core/models.py:1130
 msgid "Can change group preferences"
 msgstr "Kann Einstellungen einer Gruppe verändern"
 
-#: aleksis/core/models.py:1121 aleksis/core/models.py:1131
+#: aleksis/core/models.py:1131
 msgid "Can test PDF generation"
 msgstr "Kann die PDF-Generierung testen"
 
-#: aleksis/core/models.py:1122 aleksis/core/models.py:1132
+#: aleksis/core/models.py:1132
 msgid "Can invite persons"
 msgstr "Kann Personen einladen"
 
-#: aleksis/core/models.py:1158 aleksis/core/models.py:1168
+#: aleksis/core/models.py:1168
 msgid "Related data check task"
 msgstr "Zugehörige Datenprüfungsaufgabe"
 
-#: aleksis/core/models.py:1166 aleksis/core/models.py:1176
+#: aleksis/core/models.py:1176
 msgid "Issue solved"
 msgstr "Problem gelöst"
 
-#: aleksis/core/models.py:1167 aleksis/core/models.py:1177
+#: aleksis/core/models.py:1177
 msgid "Notification sent"
 msgstr "Benachrichtigung gesendet"
 
-#: aleksis/core/models.py:1180 aleksis/core/models.py:1190
+#: aleksis/core/models.py:1190
 msgid "Data check result"
 msgstr "Datenprüfungsergebnis"
 
-#: aleksis/core/models.py:1181 aleksis/core/models.py:1191
+#: aleksis/core/models.py:1191
 msgid "Data check results"
 msgstr "Datenprüfungsergebnisse"
 
-#: aleksis/core/models.py:1183 aleksis/core/models.py:1193
+#: aleksis/core/models.py:1193
 msgid "Can run data checks"
 msgstr "Kann Datenprüfungen ausführen"
 
-#: aleksis/core/models.py:1184 aleksis/core/models.py:1194
+#: aleksis/core/models.py:1194
 msgid "Can solve data check problems"
 msgstr "Kann Datenprüfungsprobleme lösen"
 
-#: aleksis/core/models.py:1191 aleksis/core/models.py:1201
+#: aleksis/core/models.py:1201
 msgid "E-Mail address"
 msgstr "E-Mail-Adresse"
 
-#: aleksis/core/models.py:1223 aleksis/core/models.py:1233
+#: aleksis/core/models.py:1233
 msgid "Owner"
 msgstr "Leiter"
 
-#: aleksis/core/models.py:1227 aleksis/core/models.py:1237
+#: aleksis/core/models.py:1237
 msgid "File expires at"
 msgstr "Datei abgelaufen am"
 
-#: aleksis/core/models.py:1229 aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr "Generierte HTML-Datei"
 
-#: aleksis/core/models.py:1231 aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr "Generierte PDF-Datei"
 
-#: aleksis/core/models.py:1238 aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr "PDF-Datei"
 
-#: aleksis/core/models.py:1239 aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr "PDF-Dateien"
 
-#: aleksis/core/models.py:1244 aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr "Task-Ergebnis"
 
-#: aleksis/core/models.py:1247 aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr "Task-Benutzer"
 
-#: aleksis/core/models.py:1259 aleksis/core/models.py:1269
+#: aleksis/core/models.py:1263
+#, fuzzy
+#| msgid "Back"
+msgid "Back URL"
+msgstr "Zurück"
+
+#: aleksis/core/models.py:1264
+#, fuzzy
+#| msgid "Progress: Generate PDF file"
+msgid "Progress title"
+msgstr "Fortschritt: PDF-Datei generieren"
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+#, fuzzy
+#| msgid "Success!"
+msgid "Success message"
+msgstr "Erfolg!"
+
+#: aleksis/core/models.py:1267
+#, fuzzy
+#| msgid "Redirect URIs"
+msgid "Redirect on success URL"
+msgstr "Weiterleitungs-URLs"
+
+#: aleksis/core/models.py:1269
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button title"
+msgstr "Zusätzliche Attribute"
+
+#: aleksis/core/models.py:1271
+#, fuzzy
+#| msgid "Additional data"
+msgid "Additional button URL"
+msgstr "Zusätzliche Daten"
+
+#: aleksis/core/models.py:1273
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button icon"
+msgstr "Zusätzliche Attribute"
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+#, fuzzy
+#| msgid "ICal feed deleted successfully"
+msgid "Background task completed successfully"
+msgstr "Der iCal-Feed wurde erfolgreich gelöscht"
+
+#: aleksis/core/models.py:1301
+#, fuzzy
+#| msgid "The PDF file has been generated successfully."
+msgid "The background task '{}' has been completed successfully."
+msgstr "Die PDF-Datei wurde erfolgreich generiert."
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr "Task-Benutzer-Zuordnung"
 
-#: aleksis/core/models.py:1260 aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr "Task-Benutzer-Zuordnungen"
 
-#: aleksis/core/models.py:1276 aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr "Zusätzliche Attribute"
 
-#: aleksis/core/models.py:1314 aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr "Erlaubte Scopes, die ein Client anfordern kann"
 
-#: aleksis/core/models.py:1324 aleksis/core/models.py:1334
-msgid ""
-"This image will be shown as icon in the authorization flow. It should be "
-"squared."
-msgstr ""
-"Dieses Bild wird im Autorisierungs-Vorgang als Symbol angezeigt werden. Es "
-"sollte rechteckig sein."
+#: aleksis/core/models.py:1396
+msgid "This image will be shown as icon in the authorization flow. It should be squared."
+msgstr "Dieses Bild wird im Autorisierungs-Vorgang als Symbol angezeigt werden. Es sollte rechteckig sein."
 
-#: aleksis/core/models.py:1373 aleksis/core/models.py:1383
-msgid "UUID"
-msgstr "UUID"
-
-#: aleksis/core/models.py:1377 aleksis/core/models.py:1387
-msgid "Selected ICal feed"
-msgstr "Ausgewählter iCal-Feed"
+#: aleksis/core/models.py:1441
+#, fuzzy
+#| msgid "Can view avatar image"
+msgid "Can view room timetable"
+msgstr "Kann Avatar-Bild sehen"
 
-#: aleksis/core/models.py:1386 aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr "Persönliche Kalender-URL"
+#: aleksis/core/models.py:1443
+msgid "Room"
+msgstr ""
 
-#: aleksis/core/models.py:1387 aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
-msgstr "Persönliche Kalender-URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
+msgstr ""
 
 #: aleksis/core/preferences.py:25
 msgid "General"
@@ -1179,175 +1056,165 @@ msgstr "Namensformat für Anreden"
 msgid "Channels to use for notifications"
 msgstr "Aktivierte Benachrichtungskanäle"
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+#, fuzzy
+#| msgid "Selected persons"
+msgid "Select Design"
+msgstr "Ausgewählte Personen"
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr "Regulärer Ausdruck um Primärgruppen zu finden, z. B.  '^Class .*'"
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr "Feld um Primärgruppen zu finden"
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr "Erstelle automatisch neue Personen für neue Benutzer"
 
-#: aleksis/core/preferences.py:241
-msgid ""
-"Automatically link existing persons to new users by their e-mail address"
-msgstr ""
-"Verknüpfe existierende Personen automatisch mit neuen Personen anhand ihrer "
-"E-Mail-Adresse"
+#: aleksis/core/preferences.py:256
+msgid "Automatically link existing persons to new users by their e-mail address"
+msgstr "Verknüpfe existierende Personen automatisch mit neuen Personen anhand ihrer E-Mail-Adresse"
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr "Sichtbarer Name der Schule"
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
-msgstr ""
-"Offizieller Name der Schule, wie er z.B. von der Behörde vorgegeben ist"
+msgstr "Offizieller Name der Schule, wie er z.B. von der Behörde vorgegeben ist"
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr "Erlaube Benutzern, ihr Passwort zu ändern"
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr "Erlaube Benutzern, ihr Passwort zurückzusetzen"
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr "Registrierung aktivieren"
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr "Regulärer Ausdruck für erlaubte Benutzernamen"
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr "Einladungen aktivieren"
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr "Länge des Einladungscodes. (Standard: 3: abcde-acbde-abcde)"
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr "Größe der Pakete. (Standard 5: abcde)"
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr "Erlaubte Grant Flows für OAuth-Anwendungen"
 
-#: aleksis/core/preferences.py:344
-msgid "Available languages"
-msgstr "Verfügbare Sprachen"
-
-#: aleksis/core/preferences.py:357 aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr "E-Mails versenden, wenn Datenprüfungen Probleme finden"
 
-#: aleksis/core/preferences.py:368 aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr "E-Mailempfänger für Datenprüfungsproblem-E-Mails"
 
-#: aleksis/core/preferences.py:379 aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr "E-Mail-Empfängergruppen für Datenprüfungsproblem-E-Mails"
 
-#: aleksis/core/preferences.py:388 aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr "Zeige Dashboard für Benutzer ohne Login"
 
-#: aleksis/core/preferences.py:397 aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr "Erlaube Benutzern, ihr Dashboard zu bearbeiten"
 
-#: aleksis/core/preferences.py:408 aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr "Felder des Personen-Models welche von ihnen selbst editierbar sind."
 
-#: aleksis/core/preferences.py:423 aleksis/core/preferences.py:409
-msgid ""
-"Editable fields on person model which should trigger a notification on change"
-msgstr ""
-"Editierbare Felder des Personen-Models welche eine Benachrichtigung für "
-"Änderungen auslösen soll"
+#: aleksis/core/preferences.py:424
+msgid "Editable fields on person model which should trigger a notification on change"
+msgstr "Editierbare Felder des Personen-Models welche eine Benachrichtigung für Änderungen auslösen soll"
 
-#: aleksis/core/preferences.py:437 aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr "Kontakt für Benachrichtigung, wenn eine Person ihre Daten ändert"
 
-#: aleksis/core/preferences.py:448 aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr "Persönliche Fotos Avataren vorziehen"
 
-#: aleksis/core/preferences.py:458 aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr "PDF-Datei-Ablaufdauer"
 
-#: aleksis/core/preferences.py:459 aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr "in Minuten"
 
-#: aleksis/core/preferences.py:469 aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr "Automatisch das Dashboard und seine Widgets aktualisieren"
 
-#: aleksis/core/preferences.py:479 aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
-msgstr ""
-"Automatisch das Dashboard und seine Widgets aktualisieren (auf der ganzen "
-"Seite)"
+msgstr "Automatisch das Dashboard und seine Widgets aktualisieren (auf der ganzen Seite)"
 
-#: aleksis/core/preferences.py:489 aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr "Land für das Einlesen von Telefonnummern"
 
-#: aleksis/core/settings.py:540 aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr "Englisch"
 
-#: aleksis/core/settings.py:541 aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr "Deutsch"
 
-#: aleksis/core/tables.py:24
+#: aleksis/core/settings.py:541
+msgid "Ukrainian"
+msgstr "Ukrainisch"
+
+#: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
-#: aleksis/core/templates/core/group/full.html:24
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
+#: aleksis/core/templates/core/group/full.html:26
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
-#: aleksis/core/tables.py:25 aleksis/core/templates/core/group/full.html:26
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: aleksis/core/tables.py:26 aleksis/core/tables.py:94
-#: aleksis/core/tables.py:138
-#: aleksis/core/templates/core/announcement/list.html:22
 #: aleksis/core/tables.py:27 aleksis/core/tables.py:148
 #: aleksis/core/tables.py:192
+#: aleksis/core/templates/core/announcement/list.html:22
 msgid "Actions"
 msgstr "Aktionen"
 
-#: aleksis/core/tables.py:61 aleksis/core/tables.py:62
-#: aleksis/core/tables.py:76 aleksis/core/tables.py:92
-#: aleksis/core/tables.py:136
+#: aleksis/core/tables.py:115 aleksis/core/tables.py:116
+#: aleksis/core/tables.py:130 aleksis/core/tables.py:146
+#: aleksis/core/tables.py:190
 #: aleksis/core/templates/core/announcement/list.html:42
-#: aleksis/core/templates/core/group/full.html:31
+#: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
-#: aleksis/core/tables.py:115 aleksis/core/tables.py:116
-#: aleksis/core/tables.py:130 aleksis/core/tables.py:146
-#: aleksis/core/tables.py:190 aleksis/core/templates/core/group/full.html:33
 msgid "Delete"
 msgstr "Löschen"
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr "Fehler"
 
@@ -1362,14 +1229,12 @@ msgstr ""
 #: aleksis/core/templates/403.html:19 aleksis/core/templates/404.html:16
 msgid ""
 "\n"
-"            If you think this is an error in AlekSIS, please contact your "
-"site\n"
+"            If you think this is an error in AlekSIS, please contact your site\n"
 "            administrators:\n"
 "          "
 msgstr ""
 "\n"
-"            Wenn Sie der Meinung sind, dass es sich um einen Fehler in "
-"AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
+"            Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
 "     Systemadministratoren:\n"
 "          "
 
@@ -1381,15 +1246,14 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Wenn Sie über einen Link auf einer externen Seite hierher "
-"gelangt sind,\n"
+"            Wenn Sie über einen Link auf einer externen Seite hierher gelangt sind,\n"
 "      ist es möglich, dass dieser veraltet war.\n"
 "          "
 
 #: aleksis/core/templates/500.html:10
 msgid ""
 "An unexpected error has\n"
-"          occured."
+"          occurred."
 msgstr ""
 "Ein unerwarteter Fehler ist\n"
 "            aufgetreten."
@@ -1397,14 +1261,12 @@ msgstr ""
 #: aleksis/core/templates/500.html:13
 msgid ""
 "\n"
-"            Your site administrators will automatically be notified about "
-"this\n"
+"            Your site administrators will automatically be notified about this\n"
 "            error. You can also contact them directly:\n"
 "          "
 msgstr ""
 "\n"
-"            Ihre Administratoren werden automatisch über diesen Fehler "
-"informiert.\n"
+"            Ihre Administratoren werden automatisch über diesen Fehler informiert.\n"
 "      Sie können diese auch direkt kontaktieren:\n"
 "          "
 
@@ -1423,13 +1285,11 @@ msgstr ""
 #: aleksis/core/templates/503.html:13
 msgid ""
 "\n"
-"            This page is currently unavailable. If this error persists, "
-"contact your site administrators:\n"
+"            This page is currently unavailable. If this error persists, contact your site administrators:\n"
 "          "
 msgstr ""
 "\n"
-"            Diese Seite ist aktuell nicht erreichbar. Wenn dieser Fehler "
-"bestehen bleibt, kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
+"            Diese Seite ist aktuell nicht erreichbar. Wenn dieser Fehler bestehen bleibt, kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
 "          "
 
 #: aleksis/core/templates/account/account_inactive.html:5
@@ -1470,27 +1330,28 @@ msgstr "Bestätigen"
 
 #: aleksis/core/templates/account/email_confirm.html:12
 #, python-format
-msgid ""
-"Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail "
-"address for user %(user_display)s."
-msgstr ""
-"Bitte bestätigen Sie, dass <a href=\"mailto:%(email)s\">%(email)s</a> eine E-"
-"Mail-Adresse für den Benutzer %(user_display)s ist."
+msgid "Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail address for user %(user_display)s."
+msgstr "Bitte bestätigen Sie, dass <a href=\"mailto:%(email)s\">%(email)s</a> eine E-Mail-Adresse für den Benutzer %(user_display)s ist."
 
 #: aleksis/core/templates/account/email_confirm.html:25
 #, python-format
-msgid ""
-"This e-mail confirmation link expired or is invalid. Please <a href="
-"\"%(email_url)s\">issue a new e-mail confirmation request</a>."
-msgstr ""
-"Dieser E-Mail-Bestätigungslink ist abgelaufen oder nicht gültig. Bitte <a "
-"href=\"%(email_url)s\">fragen Sie eine neue E-Mail-Bestätigung an</a>."
+msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
+msgstr "Dieser E-Mail-Bestätigungslink ist abgelaufen oder nicht gültig. Bitte <a href=\"%(email_url)s\">fragen Sie eine neue E-Mail-Bestätigung an</a>."
+
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr "Passwort ändern"
 
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
-msgstr ""
-"Haben Sie Ihr aktuelles Passwort vergessen? Klicken Sie hier, um es "
-"zurückzusetzen:"
+msgstr "Haben Sie Ihr aktuelles Passwort vergessen? Klicken Sie hier, um es zurückzusetzen:"
 
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot Password?"
@@ -1509,13 +1370,11 @@ msgstr "Passwortänderung deaktiviert."
 msgid ""
 "\n"
 "            Users are not allowed to edit their own passwords. If you think\n"
-"            this is an error please contact one of your site "
-"administrators.\n"
+"            this is an error please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
-"            Benutzer dürfen ihre eigenen Passwörter nicht ändern. Wenn Sie "
-"denken, \n"
+"            Benutzer dürfen ihre eigenen Passwörter nicht ändern. Wenn Sie denken, \n"
 "dass dies ein Fehler ist, kontaktieren Sie bitte einen der Administratoren:\n"
 "          "
 
@@ -1530,12 +1389,8 @@ msgid "Reset password"
 msgstr "Passwort zurücksetzen"
 
 #: aleksis/core/templates/account/password_reset.html:17
-msgid ""
-"Forgotten your password? Enter your e-mail address below, and we'll send you "
-"an e-mail allowing you to reset it."
-msgstr ""
-"Passwort vergessen? Geben Sie Ihre E-Mail-Adresse hier ein und wir werden "
-"Ihnen eine E-Mail zum Zurücksetzen des Passwortes schicken."
+msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgstr "Passwort vergessen? Geben Sie Ihre E-Mail-Adresse hier ein und wir werden Ihnen eine E-Mail zum Zurücksetzen des Passwortes schicken."
 
 #: aleksis/core/templates/account/password_reset.html:30
 msgid ""
@@ -1558,8 +1413,7 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Wir haben Ihnen eine E-Mail gesendet. Bitte kontaktieren Sie "
-"einen der Administratoren,\n"
+"            Wir haben Ihnen eine E-Mail gesendet. Bitte kontaktieren Sie einen der Administratoren,\n"
 "wenn Sie diese nicht innerhalb weniger Minuten erhalten.\n"
 "          "
 
@@ -1571,16 +1425,12 @@ msgstr "Ungültiges Token"
 #, python-format
 msgid ""
 "\n"
-"              The password reset link was invalid, possibly because it has "
-"already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
+"              The password reset link was invalid, possibly because it has already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
 "              class=\"blue-text text-lighten-2\">new password reset</a>.\n"
 "            "
 msgstr ""
 "\n"
-"              Der Link zum Zurücksetzen des Passwortes war falsch, "
-"wahrscheinlich, weil er bereits benutzt wurde. Bitte starten Sie eine neue "
-"Anfrage <a href=\"%(passwd_reset_url)s\"              class=\"blue-text text-"
-"lighten-2\">zum Zurücksetzen des Passwortes</a>.\n"
+"              Der Link zum Zurücksetzen des Passwortes war falsch, wahrscheinlich, weil er bereits benutzt wurde. Bitte starten Sie eine neue Anfrage <a href=\"%(passwd_reset_url)s\"              class=\"blue-text text-lighten-2\">zum Zurücksetzen des Passwortes</a>.\n"
 "            "
 
 #: aleksis/core/templates/account/password_reset_from_key.html:25
@@ -1629,11 +1479,13 @@ msgstr "Registrierung"
 
 #: aleksis/core/templates/account/signup.html:12
 #, python-format
-msgid ""
-"Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
-msgstr ""
-"Haben Sie bereits ein Konto? Dann <a href=\"%(login_url)s\">melden Sie sich "
-"bitte an</a>."
+msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
+msgstr "Haben Sie bereits ein Konto? Dann <a href=\"%(login_url)s\">melden Sie sich bitte an</a>."
+
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr "Registrieren"
 
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
@@ -1652,8 +1504,7 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Die Registrierung ist aktuell geschlossen. Wenn Sie denken, dass "
-"dies ein Fehler ist,\n"
+"            Die Registrierung ist aktuell geschlossen. Wenn Sie denken, dass dies ein Fehler ist,\n"
 " kontaktieren Sie bitte einen Ihrer Systemadministratoren.\n"
 "          "
 
@@ -1673,17 +1524,13 @@ msgstr "Verifizieren Sie Ihre E-Mail!"
 #: aleksis/core/templates/account/verification_sent.html:16
 msgid ""
 "\n"
-"            This part of the site requires us to verify that you are who you "
-"claim to be.\n"
-"            For this purpose, we require that you verify ownership of your e-"
-"mail address.\n"
+"            This part of the site requires us to verify that you are who you claim to be.\n"
+"            For this purpose, we require that you verify ownership of your e-mail address.\n"
 "          "
 msgstr ""
 "\n"
-"            Dieser Teil der Anwendung setzt voraus, dass wir verifizieren, "
-"dass Sie die Person sind, die sie vorgeben, zu sein.\n"
-"Zu diesem Zweck setzen wir voraus, dass Sie die Inhaberschaft Ihrer E-Mail-"
-"Adresse bestätigen.\n"
+"            Dieser Teil der Anwendung setzt voraus, dass wir verifizieren, dass Sie die Person sind, die sie vorgeben, zu sein.\n"
+"Zu diesem Zweck setzen wir voraus, dass Sie die Inhaberschaft Ihrer E-Mail-Adresse bestätigen.\n"
 "          "
 
 #: aleksis/core/templates/account/verification_sent.html:22
@@ -1697,8 +1544,7 @@ msgstr ""
 "\n"
 "            Wir haben Ihnen eine E-Mail zur Verifizierung geschickt.\n"
 "Bitte klicken Sie auf den Link in dieser E-Mail.\n"
-"Bitte kontaktieren Sie uns, wenn Sie diese nicht binnen weniger Minuten "
-"erhalten.\n"
+"Bitte kontaktieren Sie uns, wenn Sie diese nicht binnen weniger Minuten erhalten.\n"
 "          "
 
 #: aleksis/core/templates/core/additional_field/edit.html:6
@@ -1744,18 +1590,6 @@ msgstr "Empfänger"
 msgid "There are no announcements."
 msgstr "Es gibt aktuell keine Ankündigungen."
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr "Über AlekSIS® — The Free School Information System"
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr "Impressum"
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr "Datenschutzerklärung"
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr "Betrieben mit AlekSIS®"
@@ -1779,8 +1613,7 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Es ist ein Problem dabei aufgetreten, das Widget \"%(title)s\" "
-"zu laden.\n"
+"            Es ist ein Problem dabei aufgetreten, das Widget \"%(title)s\" zu laden.\n"
 "Sie brauchen nichts weiter machen.\n"
 "          "
 
@@ -1790,6 +1623,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr "%(widget)s bearbeiten"
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr "Dashboard-Widgets"
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr "Dashboard-Widget erstellen"
@@ -1805,6 +1643,11 @@ msgstr "%(name)s erstellen"
 msgid "Edit default dashboard"
 msgstr "Standard-Dashboard bearbeiten"
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr "Datenprüfungen"
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr "Daten erneut prüfen"
@@ -1876,42 +1719,29 @@ msgstr "Dashboard bearbeiten"
 #: aleksis/core/templates/core/edit_dashboard.html:24
 msgid ""
 "\n"
-"          On this page you can arrange your personal dashboard. You can drag "
-"any items from \"Available widgets\" to \"Your\n"
-"          Dashboard\" or change the order by moving the widgets. After you "
-"have finished, please don't forget to click on\n"
+"          On this page you can arrange your personal dashboard. You can drag any items from \"Available widgets\" to \"Your\n"
+"          Dashboard\" or change the order by moving the widgets. After you have finished, please don't forget to click on\n"
 "          \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          Auf dieser Seite können Sie Ihr persönliches Dashboard "
-"zusammenstallen. Sie können beliebige Elemente von den \"Verfügbaren Widgets"
-"\" \n"
-"in \"Ihr Dashboard\" ziehen oder die Reihenfolge verändern, indem Sie die "
-"Widgets bewegen. Wenn Sie fertig sind, vergessen Sie bitte nicht, \n"
+"          Auf dieser Seite können Sie Ihr persönliches Dashboard zusammenstallen. Sie können beliebige Elemente von den \"Verfügbaren Widgets\" \n"
+"in \"Ihr Dashboard\" ziehen oder die Reihenfolge verändern, indem Sie die Widgets bewegen. Wenn Sie fertig sind, vergessen Sie bitte nicht, \n"
 "auf \"Speichern\" zu drücken.\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:30
 msgid ""
 "\n"
-"          On this page you can arrange the default dashboard which is shown "
-"when a user doesn't arrange his own\n"
-"          dashboard. You can drag any items from \"Available widgets\" to "
-"\"Default Dashboard\" or change the order\n"
-"          by moving the widgets. After you have finished, please don't "
-"forget to click on \"Save\".\n"
+"          On this page you can arrange the default dashboard which is shown when a user doesn't arrange his own\n"
+"          dashboard. You can drag any items from \"Available widgets\" to \"Default Dashboard\" or change the order\n"
+"          by moving the widgets. After you have finished, please don't forget to click on \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          Auf dieser Seite können Sie Ihr das Standard-Dashboard "
-"zusammenstallen, welches angezeigt wird, wenn ein Benutzer kein eigenes "
-"definiert. \n"
-"Sie können beliebige Elemente von den \"Verfügbaren Widgets\" in \"Standard-"
-"Dashboard\" ziehen oder die Reihenfolge verändern, indem Sie die Widgets "
-"bewegen. \n"
-"Wenn Sie fertig sind, vergessen Sie bitte nicht, auf \"Speichern\" zu "
-"drücken.\n"
+"          Auf dieser Seite können Sie Ihr das Standard-Dashboard zusammenstallen, welches angezeigt wird, wenn ein Benutzer kein eigenes definiert. \n"
+"Sie können beliebige Elemente von den \"Verfügbaren Widgets\" in \"Standard-Dashboard\" ziehen oder die Reihenfolge verändern, indem Sie die Widgets bewegen. \n"
+"Wenn Sie fertig sind, vergessen Sie bitte nicht, auf \"Speichern\" zu drücken.\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:48
@@ -1926,18 +1756,20 @@ msgstr "Ihr Dashboard"
 msgid "Default dashboard"
 msgstr "Standard-Dashboard"
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr "Kindgruppen zu Gruppen zuordnen"
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
-"          You can use this to assign child groups to groups. Please use the "
-"filters below to select groups you want to\n"
+"          You can use this to assign child groups to groups. Please use the filters below to select groups you want to\n"
 "          change and click \"Next\".\n"
 "        "
 msgstr ""
 "\n"
-"          Sie können diese Seite verwenden, um Kindgruppen zu Gruppen "
-"zuzuordnen. Bitte nutzen Sie die folgenden Filter, um die Gruppen "
-"auszuwählen, die Sie \n"
+"          Sie können diese Seite verwenden, um Kindgruppen zu Gruppen zuzuordnen. Bitte nutzen Sie die folgenden Filter, um die Gruppen auszuwählen, die Sie \n"
 "          ändern möchten und klicken auf \"Weiter\".\n"
 "        "
 
@@ -1978,18 +1810,14 @@ msgstr "Bitte seien Sie vorsichtig!"
 #: aleksis/core/templates/core/group/child_groups.html:79
 msgid ""
 "\n"
-"            If you click \"Back\" or \"Next\" the current group assignments "
-"are not saved.\n"
-"            If you click \"Save\", you will overwrite all existing child "
-"group relations for this group with what you\n"
+"            If you click \"Back\" or \"Next\" the current group assignments are not saved.\n"
+"            If you click \"Save\", you will overwrite all existing child group relations for this group with what you\n"
 "            selected on this page.\n"
 "          "
 msgstr ""
 "\n"
-"            Wenn Sie auf \"Zurück\" oder \"Weiter\" klicken, werden die "
-"aktuellen Gruppenzuordnungen nicht gespeichert.\n"
-"Wenn Sie auf \"Speichern\" klicken, werden alle existierenden Zuordnungen "
-"von Kindgruppen für diese Gruppe\n"
+"            Wenn Sie auf \"Zurück\" oder \"Weiter\" klicken, werden die aktuellen Gruppenzuordnungen nicht gespeichert.\n"
+"Wenn Sie auf \"Speichern\" klicken, werden alle existierenden Zuordnungen von Kindgruppen für diese Gruppe\n"
 "mit dem überschrieben, was Sie auf dieser Seite ausgewählt haben.\n"
 "          "
 
@@ -2023,40 +1851,36 @@ msgstr "Speichern und weiter"
 msgid "Edit group"
 msgstr "Gruppe editieren"
 
-#: aleksis/core/templates/core/group/full.html:38
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 #: aleksis/core/templates/core/group/full.html:40
 msgid "Change preferences"
 msgstr "Einstellungen ändern"
 
-#: aleksis/core/templates/core/group/full.html:64
 #: aleksis/core/templates/core/group/full.html:68
 msgid "Statistics"
 msgstr "Statistiken"
 
-#: aleksis/core/templates/core/group/full.html:67
 #: aleksis/core/templates/core/group/full.html:73
 msgid "Count of members"
 msgstr "Anzahl der Mitglieder"
 
-#: aleksis/core/templates/core/group/full.html:71
 #: aleksis/core/templates/core/group/full.html:81
 msgid "Average age"
 msgstr "Durchschnittsalter"
 
-#: aleksis/core/templates/core/group/full.html:76
 #: aleksis/core/templates/core/group/full.html:90
 msgid "Age range"
 msgstr "Altersbereich"
 
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years to"
-msgstr "Jahre bis"
-
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years "
-msgstr "Jahre "
+#: aleksis/core/templates/core/group/full.html:93
+#, python-format
+msgid ""
+"\n"
+"              %(min)s years to %(max)s years\n"
+"            "
+msgstr ""
+"\n"
+"              %(min)s Jahre bis %(max)s Jahre\n"
+"            "
 
 #: aleksis/core/templates/core/group/list.html:14
 msgid "Create group"
@@ -2075,193 +1899,38 @@ msgstr "Zurücksetzen"
 msgid "Selected groups"
 msgstr "Ausgewählte Gruppen"
 
-#: aleksis/core/templates/core/group_type/edit.html:6
-#: aleksis/core/templates/core/group_type/edit.html:7
-msgid "Edit group type"
-msgstr "Gruppentyp editieren"
-
-#: aleksis/core/templates/core/group_type/list.html:14
-msgid "Create group type"
-msgstr "Gruppentyp erstellen"
-
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr "iCal-URL erstellen"
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr "iCal-URL %(object)s bearbeiten"
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "ICal Feeds"
-msgstr "iCal-Feeds"
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid ""
-"These are URLs for different Calendar Feeds in the iCal (.ics) format. You "
-"can create as many as you want and import them in your calendar software."
-msgstr ""
-"Dies sind URLs für verschiedene Kalender-Feeds im iCal-Format (.ics). Sie "
-"können so viele erstellen, wie sie wollen, und in Ihre Kalender-Software "
-"importieren."
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr "Deine iCal-URLs"
-
-#: aleksis/core/templates/core/index.html:4
-msgid "Home"
-msgstr "Startseite"
-
-#: aleksis/core/templates/core/index.html:49
-msgid ""
-"\n"
-"        You didn't customise your dashboard so that you see the system "
-"default. Please click on \"Edit dashboard\" to\n"
-"        customise your personal dashboard.\n"
-"      "
-msgstr ""
-"\n"
-"        Sie haben Ihr Dashboard nicht angepasst, sodass Sie das Standard-"
-"Dashboard sehen.\n"
-"Bitte klicken Sie auf \"Dashboard bearbeiten\", um Ihr persönliches "
-"Dashboard anzupassen.\n"
-"      "
-
-#: aleksis/core/templates/core/index.html:59
-msgid "Last activities"
-msgstr "Letzte Aktivitäten"
-
-#: aleksis/core/templates/core/index.html:77
-msgid "No activities available yet."
-msgstr "Aktuell keine Aktivitäten verfügbar."
-
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr "Letzte Benachrichtigungen"
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr "Mehr Informationen →"
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr "Aktuell keine Benachrichtigungen verfügbar."
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr "Über AlekSIS®"
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr "AlekSIS® – The Free School Information System"
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr "Über AlekSIS"
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school "
-"information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of "
-"educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-"\n"
-"              Diese Plattform wird mit AlekSIS®, einem webbasierten "
-"Schulinformationssystem (SIS), \n"
-"welches für die Verwaltung und/oder Veröffentlichung von "
-"Bildungseinrichtungen verwendet werden kann.\n"
-"AlekSIS ist freie Software und kann von jedem benutzt werden.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source "
-"project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-"\n"
-"              AlekSIS® ist eine eingetragene Wortmarke des Open-Source-"
-"Projektes AlekSIS, vertreten durch den Teckids e.V.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr "Website von AlekSIS"
+#: aleksis/core/templates/core/group_type/edit.html:6
+#: aleksis/core/templates/core/group_type/edit.html:7
+msgid "Edit group type"
+msgstr "Gruppentyp editieren"
 
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr "Quellcode"
+#: aleksis/core/templates/core/group_type/list.html:14
+msgid "Create group type"
+msgstr "Gruppentyp erstellen"
 
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr "Lizenzinformationen"
+#: aleksis/core/templates/core/index.html:4
+msgid "Home"
+msgstr "Startseite"
 
-#: aleksis/core/templates/core/pages/about.html:42
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
-"              The core and the official apps of AlekSIS are licenced under "
-"the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the "
-"respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
+"        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
+"        customise your personal dashboard.\n"
+"      "
 msgstr ""
 "\n"
-"              Der Core und die offiziellen Apps von AlekSIS sind unter der "
-"EUPL, Version 1.2 oder später, lizenziert. Für Lizenzinformationen\n"
-"zu Apps von Drittanbietern, wenn installiert, siehe direkt bei der "
-"jeweiligen App weiter unten auf dieser Seite. Die Lizenzen\n"
-"sind wie folgt markiert:\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr "Freie/Open Source Lizenz"
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr "Andere Lizenz"
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr "Kompletter Lizenztext"
+"        Sie haben Ihr Dashboard nicht angepasst, sodass Sie das Standard-Dashboard sehen.\n"
+"Bitte klicken Sie auf \"Dashboard bearbeiten\", um Ihr persönliches Dashboard anzupassen.\n"
+"      "
 
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr "Weitere Informationen über die EUPL"
+#: aleksis/core/templates/core/index.html:44
+msgid "Last activities"
+msgstr "Letzte Aktivitäten"
 
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-"\n"
-"                    Diese App ist unter %(licence)s lizenziert.\n"
-"                  "
+#: aleksis/core/templates/core/index.html:62
+msgid "No activities available yet."
+msgstr "Aktuell keine Aktivitäten verfügbar."
 
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
@@ -2279,22 +1948,10 @@ msgstr ""
 "      Möchten Sie wirklich %(object_name)s \"%(object)s\" löschen?\n"
 "    "
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be "
-"updated.\n"
-"            "
-msgstr ""
-"\n"
-"              Ohne aktiviertes JavaScript kann der Fortschritt leider nicht "
-"aktualisiert werden.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
-msgstr "Zurück"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
+msgstr "Systemstatus"
 
 #: aleksis/core/templates/core/pages/system_status.html:12
 msgid "System checks"
@@ -2307,13 +1964,11 @@ msgstr "Wartungsmodus aktiviert"
 #: aleksis/core/templates/core/pages/system_status.html:24
 msgid ""
 "\n"
-"                Only admin and visitors from internal IPs can access "
-"the site.\n"
+"                Only admin and visitors from internal IPs can access the site.\n"
 "              "
 msgstr ""
 "\n"
-"                Nur Administratoren und Besucher von internen IP-Adressen "
-"können die Seite aufrufen.\n"
+"                Nur Administratoren und Besucher von internen IP-Adressen können die Seite aufrufen.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:36
@@ -2331,13 +1986,11 @@ msgstr "Debug-Modus aktiviert"
 #: aleksis/core/templates/core/pages/system_status.html:49
 msgid ""
 "\n"
-"                The web server throws back debug information on errors. Do "
-"not use in production!\n"
+"                The web server throws back debug information on errors. Do not use in production!\n"
 "              "
 msgstr ""
 "\n"
-"                Der Server gibt Debug-Informationen bei Fehlern zurück. "
-"Nicht im Produktivbetrieb nutzen!\n"
+"                Der Server gibt Debug-Informationen bei Fehlern zurück. Nicht im Produktivbetrieb nutzen!\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:56
@@ -2347,13 +2000,11 @@ msgstr "Debug-Modus deaktivert"
 #: aleksis/core/templates/core/pages/system_status.html:58
 msgid ""
 "\n"
-"                Debug mode is disabled. Default error pages are displayed on "
-"errors.\n"
+"                Debug mode is disabled. Default error pages are displayed on errors.\n"
 "              "
 msgstr ""
 "\n"
-"                Debug-Modus ist deaktiviert. Standard-Fehlerseiten werden "
-"bei Fehlern angezeigt.\n"
+"                Debug-Modus ist deaktiviert. Standard-Fehlerseiten werden bei Fehlern angezeigt.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:71
@@ -2403,13 +2054,11 @@ msgstr "PDF-Generierung testen"
 #: aleksis/core/templates/core/pages/test_pdf.html:14
 msgid ""
 "\n"
-"        This simple view can be used to ensure the correct function of the "
-"built-in PDF generation system.\n"
+"        This simple view can be used to ensure the correct function of the built-in PDF generation system.\n"
 "      "
 msgstr ""
 "\n"
-"        Diese einfache Seite kann genutzt werden, um die korrekte "
-"Funktionalität des eingebauten PDF-Generierungssystem zu testen.\n"
+"        Diese einfache Seite kann genutzt werden, um die korrekte Funktionalität des eingebauten PDF-Generierungssystem zu testen.\n"
 "      "
 
 #: aleksis/core/templates/core/partials/announcements.html:8
@@ -2448,13 +2097,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr "Avatar"
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr "Identicon"
 
@@ -2466,45 +2113,12 @@ msgstr "Verändert von"
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: aleksis/core/templates/core/partials/language_form.html:15
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr "Sprache"
-
-#: aleksis/core/templates/core/partials/language_form.html:27
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr "Sprache auswählen"
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. "
-"Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-"\n"
-"            Ihr Administratorenkonto ist mit keiner Person verknüpft. "
-"Deshalb\n"
-"            wurde Ihr Konto mit einer Dummyperson verknüpft.\n"
-"          "
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
-"\n"
-"            Ihr Benutzerkonto ist nicht mit einer Person verknüpft. Das "
-"bedeutet, dass Sie\n"
-"        keine schulbezogenen Informationen aufrufen können. Bitte wenden Sie "
-"sich an\n"
-"        die Verwaltenden von AlekSIS an Ihrer Schule.\n"
-"          "
 
 #: aleksis/core/templates/core/perms/assign.html:12
 #: aleksis/core/templates/core/perms/assign.html:13
@@ -2519,6 +2133,11 @@ msgstr "Ausgewählte Berechtigung"
 msgid "Assign"
 msgstr "Zuweisen"
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr "Berechtigungen verwalten"
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr "Eine neue Berechtigung zuweisen"
@@ -2562,28 +2181,6 @@ msgstr "Person erstellen"
 msgid "Edit person"
 msgstr "Person editieren"
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr "Verkleiden"
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr "Benutzer einladen"
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr "Kontaktdetails"
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr "Diese Person hat kein persönliches Foto hochgeladen."
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr "Kinder"
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr "Personen filtern"
@@ -2603,6 +2200,10 @@ msgstr "Schuljahr erstellen"
 msgid "Edit school term"
 msgstr "Schuljahr bearbeiten"
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr "Einstellungen"
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr "Seiteneinstellungen ändern"
@@ -2629,17 +2230,17 @@ msgid "The invite feature is disabled."
 msgstr "Die Einladungsfunktion ist deaktiviert."
 
 #: aleksis/core/templates/invitations/disabled.html:15
-msgid ""
-"To enable it, switch on the corresponding checkbox in the authentication "
-"section of the "
-msgstr ""
-"Um sie zu aktivieren, nutzen Sie die Checkbox im Abschnitt \"Authentifikation"
-"\" der "
+msgid "To enable it, switch on the corresponding checkbox in the authentication section of the "
+msgstr "Um sie zu aktivieren, nutzen Sie die Checkbox im Abschnitt \"Authentifikation\" der "
 
 #: aleksis/core/templates/invitations/disabled.html:16
 msgid "site preferences page"
 msgstr "Seiteneinstellungen"
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr "Einladung akzeptieren"
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr "Ihre Einladung akzeptieren"
@@ -2692,6 +2293,13 @@ msgstr "Die Einladung für %(email)s wurde akzeptiert."
 msgid "Register OAuth2 Application"
 msgstr "OAuth2-Anwendung registrieren"
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr "Abbrechen"
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr "OAuth2-Anwendung"
@@ -2725,6 +2333,11 @@ msgstr "Authentifizierung überspringen"
 msgid "Edit OAuth2 Application"
 msgstr "OAuth2-Anwendung bearbeiten"
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr "OAuth2-Anwendungen"
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr "Neue Anwendung registrieren"
@@ -2756,15 +2369,6 @@ msgstr "Erlauben"
 msgid "Disallow"
 msgstr "Verbieten"
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr "Erfolg!"
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-"Bitte gehen Sie zurück in Ihre Anwendung und geben Sie diesen Code ein:"
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2773,14 +2377,17 @@ msgstr "Zugriff zurückziehen"
 
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
 msgid "Are you sure to revoke the access for this application?"
-msgstr ""
-"Sind Sie sicher, dass Sie den Zugriff für diese Anwendung zurückziehen "
-"möchten?"
+msgstr "Sind Sie sicher, dass Sie den Zugriff für diese Anwendung zurückziehen möchten?"
 
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
 msgid "Revoke"
 msgstr "Zurückziehen"
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr "Autorisierte Anwendungen"
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr "Keine autorisierten Anwendungen."
@@ -2790,25 +2397,27 @@ msgid "Network error"
 msgstr "Netzwerkfehler"
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
-msgstr "Keine Internetverbindung."
+msgid "Page not available offline."
+msgstr ""
 
 #: aleksis/core/templates/offline.html:14
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+#| "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
+#| "      administrators:\n"
+#| "    "
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an "
-"internet connection. Check to see if your WiFi\n"
-"      or mobile data is turned on and try again. If you think you are "
-"connected, please contact the system\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
+"      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
 msgstr ""
 "\n"
-"      Es ist ein Fehler beim Aufrufen der Seite aufgetreten. Eventuell haben "
-"Sie keine Internetverbindung. Bitte prüfen Sie, ob WLAN oder mobile Daten "
-"aktiv sind, \n"
-"      und probieren Sie es erneut. Wenn Sie der Meinung sind, dass Sie mit "
-"dem Internet verbunden sind, kontaktieren Sie bitte einen Ihrer \n"
+"      Es ist ein Fehler beim Aufrufen der Seite aufgetreten. Eventuell haben Sie keine Internetverbindung. Bitte prüfen Sie, ob WLAN oder mobile Daten aktiv sind, \n"
+"      und probieren Sie es erneut. Wenn Sie der Meinung sind, dass Sie mit dem Internet verbunden sind, kontaktieren Sie bitte einen Ihrer \n"
 "      Systemadministratoren:\n"
 "    "
 
@@ -2844,14 +2453,12 @@ msgstr "Anmeldung über Drittanbieter-Konto fehlgeschlagen."
 #: aleksis/core/templates/socialaccount/authentication_error.html:15
 msgid ""
 "\n"
-"            An error occurred while attempting to login via your third-party "
-"account.\n"
+"            An error occurred while attempting to login via your third-party account.\n"
 "            Please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
-"            Beim dem Versuch, die Anmeldung über Ihr Drittanbieter-Konto "
-"durchzuführen, ist ein Fehler aufgetreten.\n"
+"            Beim dem Versuch, die Anmeldung über Ihr Drittanbieter-Konto durchzuführen, ist ein Fehler aufgetreten.\n"
 "            Kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
 "          "
 
@@ -2866,8 +2473,7 @@ msgstr "Löschen"
 
 #: aleksis/core/templates/socialaccount/connections.html:34
 msgid "You currently have no third-party accounts connected to this account."
-msgstr ""
-"Sie haben aktuell keine Drittanbieter-Konten mit Ihrem Konto verbunden."
+msgstr "Sie haben aktuell keine Drittanbieter-Konten mit Ihrem Konto verbunden."
 
 #: aleksis/core/templates/socialaccount/connections.html:37
 msgid "Add a Third-party Account"
@@ -2876,15 +2482,12 @@ msgstr "Ein Drittanbieter-Konto hinzufügen"
 #: aleksis/core/templates/socialaccount/login.html:12
 #, python-format
 msgid "You are about to connect a new third party account from %(provider)s."
-msgstr ""
-"Sie sind dabei, ein neues Drittanbieterkonto von %(provider)s zu verbinden."
+msgstr "Sie sind dabei, ein neues Drittanbieterkonto von %(provider)s zu verbinden."
 
 #: aleksis/core/templates/socialaccount/login.html:23
 #, python-format
 msgid "You are about to sign in using a third party account from %(provider)s."
-msgstr ""
-"Sie sind dabei, sich mit einem Drittanbieterkonto von %(provider)s "
-"anzumelden."
+msgstr "Sie sind dabei, sich mit einem Drittanbieterkonto von %(provider)s anzumelden."
 
 #: aleksis/core/templates/socialaccount/login.html:28
 msgid "Continue"
@@ -2900,15 +2503,11 @@ msgstr "Login abgebrochen"
 #, python-format
 msgid ""
 "\n"
-"            You decided to cancel logging in to our site using one of your "
-"existing accounts. If this was a mistake, please proceed to <a href="
-"\"%(login_url)s\">sign in</a>.\n"
+"            You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please proceed to <a href=\"%(login_url)s\">sign in</a>.\n"
 "          "
 msgstr ""
 "\n"
-"            Sie haben sich entschieden, die Anmeldung mit einem Ihrer "
-"bestehenden Konten bei uns abzubrechen. Wenn dies ein Fehler war, <a href="
-"\"%(login_url)s\">fahren Sie bitte mit dem Login fort</a>.\n"
+"            Sie haben sich entschieden, die Anmeldung mit einem Ihrer bestehenden Konten bei uns abzubrechen. Wenn dies ein Fehler war, <a href=\"%(login_url)s\">fahren Sie bitte mit dem Login fort</a>.\n"
 "          "
 
 #: aleksis/core/templates/socialaccount/signup.html:12
@@ -2917,8 +2516,7 @@ msgid ""
 "You are about to use your %(provider_name)s account to login to\n"
 "        %(site_name)s. As a final step, please complete the following form:"
 msgstr ""
-"Sie sind dabei, Ihr %(provider_name)s-Konto zur Anmeldung bei %(site_name)s "
-"zu nutzen. \n"
+"Sie sind dabei, Ihr %(provider_name)s-Konto zur Anmeldung bei %(site_name)s zu nutzen. \n"
 "Als ein letzter Schritt vervollständigen Sie bitte das folgende Formular:"
 
 #: aleksis/core/templates/socialaccount/snippets/provider_list.html:12
@@ -2966,9 +2564,7 @@ msgstr "Celery-Task %(task_name)s fehlgeschlagen!"
 #: aleksis/core/templates/templated_email/celery_failure.email:7
 #, python-format
 msgid "the celery task %(task_name)s failed with following information:"
-msgstr ""
-"der Celery-Task  %(task_name)s ist mit folgenden Informationen "
-"fehlgeschlagen:"
+msgstr "der Celery-Task  %(task_name)s ist mit folgenden Informationen fehlgeschlagen:"
 
 #: aleksis/core/templates/templated_email/celery_failure.email:10
 #: aleksis/core/templates/templated_email/celery_failure.email:29
@@ -2998,8 +2594,7 @@ msgid ""
 "    "
 msgstr ""
 "\n"
-"      der Celery-Task  %(task_name)s ist mit folgenden Informationen "
-"fehlgeschlagen:\n"
+"      der Celery-Task  %(task_name)s ist mit folgenden Informationen fehlgeschlagen:\n"
 "    "
 
 #: aleksis/core/templates/templated_email/data_checks.email:3
@@ -3009,25 +2604,21 @@ msgstr "Das System hat einige neue Probleme mit Ihren Daten entdeckt."
 #: aleksis/core/templates/templated_email/data_checks.email:6
 msgid ""
 "the system detected some new problems with your data.\n"
-"Please take some time to inspect them and solve the issues or mark them as "
-"ignored."
+"Please take some time to inspect them and solve the issues or mark them as ignored."
 msgstr ""
 "das System hat einige neue Probleme mit Ihren Daten entdeckt.\n"
-"Bitte nehmen Sie sich etwas Zeit, diese zu überprüfen und sie zu lösen oder "
-"als ignoriert zu markieren."
+"Bitte nehmen Sie sich etwas Zeit, diese zu überprüfen und sie zu lösen oder als ignoriert zu markieren."
 
 #: aleksis/core/templates/templated_email/data_checks.email:15
 msgid ""
 "\n"
 "   the system detected some new problems with your data.\n"
-"   Please take some time to inspect them and solve the issues or mark them "
-"as ignored.\n"
+"   Please take some time to inspect them and solve the issues or mark them as ignored.\n"
 "  "
 msgstr ""
 "\n"
 "   das System hat einige neue Probleme mit Ihren Daten entdeckt.\n"
-"Bitte nehmen Sie sich etwas Zeit, diese zu überprüfen und sie zu lösen oder "
-"als ignoriert zu markieren.\n"
+"Bitte nehmen Sie sich etwas Zeit, diese zu überprüfen und sie zu lösen oder als ignoriert zu markieren.\n"
 "  "
 
 #: aleksis/core/templates/templated_email/data_checks.email:23
@@ -3113,21 +2704,16 @@ msgid ""
 "\n"
 "        Backup tokens can be used when your primary and backup\n"
 "        phone numbers aren't available. The backup tokens below can be used\n"
-"        for login verification. If you've used up all your backup tokens, "
-"you\n"
-"        can generate a new set of backup tokens. Only the backup tokens "
-"shown\n"
+"        for login verification. If you've used up all your backup tokens, you\n"
+"        can generate a new set of backup tokens. Only the backup tokens shown\n"
 "        below will be valid.\n"
 "      "
 msgstr ""
 "\n"
 "        Backup-Token können genutzt werden, wenn Ihre primären und Backup-\n"
-"        Telefonnummern nicht verfügbar sind. Die Backup-Tokens unten können "
-"für\n"
-"        die Anmeldungsverifizierung genutzt werden. Wenn Sie alle Backup-"
-"Tokens genutzt haben,\n"
-"        müssen Sie neue generieren. Nur gültige Backup-Tokens werden "
-"angezeigt.\n"
+"        Telefonnummern nicht verfügbar sind. Die Backup-Tokens unten können für\n"
+"        die Anmeldungsverifizierung genutzt werden. Wenn Sie alle Backup-Tokens genutzt haben,\n"
+"        müssen Sie neue generieren. Nur gültige Backup-Tokens werden angezeigt.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/backup_tokens.html:33
@@ -3152,6 +2738,12 @@ msgstr "Zurück zur Kontosicherheit"
 msgid "Generate Tokens"
 msgstr "Tokens generieren"
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr "Anmelden"
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -3171,9 +2763,7 @@ msgstr ""
 
 #: aleksis/core/templates/two_factor/core/login.html:47
 msgid "Please login with your account to use the external application."
-msgstr ""
-"Bitte melden Sie sich mit Ihrem Konto an, um die externe Anwendung zu "
-"benutzen."
+msgstr "Bitte melden Sie sich mit Ihrem Konto an, um die externe Anwendung zu benutzen."
 
 #: aleksis/core/templates/two_factor/core/login.html:54
 msgid "Please login to see this page."
@@ -3182,8 +2772,7 @@ msgstr "Bitte melden Sie sich an, um diese Seite zu sehen."
 #: aleksis/core/templates/two_factor/core/login.html:65
 msgid ""
 "\n"
-"                        We are calling your phone right now, please enter "
-"the\n"
+"                        We are calling your phone right now, please enter the\n"
 "                        digits you hear.\n"
 "                      "
 msgstr ""
@@ -3195,8 +2784,7 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/login.html:70
 msgid ""
 "\n"
-"                        We sent you a text message, please enter the tokens "
-"we\n"
+"                        We sent you a text message, please enter the tokens we\n"
 "                        sent.\n"
 "                      "
 msgstr ""
@@ -3220,19 +2808,14 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/login.html:81
 msgid ""
 "\n"
-"                      Use this form for entering backup tokens for logging "
-"in.\n"
-"                      These tokens have been generated for you to print and "
-"keep safe. Please\n"
-"                      enter one of these backup tokens to login to your "
-"account.\n"
+"                      Use this form for entering backup tokens for logging in.\n"
+"                      These tokens have been generated for you to print and keep safe. Please\n"
+"                      enter one of these backup tokens to login to your account.\n"
 "                    "
 msgstr ""
 "\n"
-"                      Nutzen Sie dieses Formular um Ihre Backup-Tokens zum "
-"Anmelden einzugeben.\n"
-"                Diese Tokens wurden für Sie generiert, um diese gut "
-"aufzubewahren. Bitte\n"
+"                      Nutzen Sie dieses Formular um Ihre Backup-Tokens zum Anmelden einzugeben.\n"
+"                Diese Tokens wurden für Sie generiert, um diese gut aufzubewahren. Bitte\n"
 "                geben Sie einen dieser Tokens ein, um sich einzuloggen.\n"
 "                    "
 
@@ -3263,13 +2846,11 @@ msgstr "Zugriff verwehrt"
 #: aleksis/core/templates/two_factor/core/otp_required.html:10
 msgid ""
 "The page you requested, enforces users to verify using\n"
-"          two-factor authentication for security reasons. You need to enable "
-"these\n"
+"          two-factor authentication for security reasons. You need to enable these\n"
 "          security features in order to access this page."
 msgstr ""
 "Die von Ihnen gewünschte Seite erfordert aus Sicherheitsgründen\n"
-"          eine Verifizierung durch Zwei-Faktor-Authentifizierung. Sie müssen "
-"diese\n"
+"          eine Verifizierung durch Zwei-Faktor-Authentifizierung. Sie müssen diese\n"
 "          Sicherheitsfunktion aktivieren, um diese Seite aufzurufen."
 
 #: aleksis/core/templates/two_factor/core/otp_required.html:14
@@ -3282,6 +2863,10 @@ msgstr ""
 "          Aktivieren Sie Zwei-Faktor-Authentifizierung für eine verbesserte\n"
 "          Accountsicherheit."
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr "Zurück"
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3315,8 +2900,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Sie sind dabei, Ihre Account-Sicherheit auf das\n"
-"       nächste Level zu erhöhen. Bitte folgen Sie den Schritten im "
-"Assistenten, um die\n"
+"       nächste Level zu erhöhen. Bitte folgen Sie den Schritten im Assistenten, um die\n"
 "       Zwei-Faktor-Authentifizierung zu aktivieren.\n"
 "      "
 
@@ -3327,16 +2911,14 @@ msgid ""
 "      "
 msgstr ""
 "\n"
-"        Bitte wählen Sie aus, welche Authentifikationsmethode Sie nutzen "
-"wollen:\n"
+"        Bitte wählen Sie aus, welche Authentifikationsmethode Sie nutzen wollen:\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup.html:23
 msgid ""
 "\n"
 "        To start using a token generator, please use your\n"
-"        favourite two factor authentication (TOTP) app to scan the QR code "
-"below.\n"
+"        favourite two factor authentication (TOTP) app to scan the QR code below.\n"
 "        Then, enter the token generated by the app.\n"
 "      "
 msgstr ""
@@ -3355,8 +2937,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Bitte geben Sie die Telefonnummer des Gerätes an,\n"
-"        an die die SMS-Nachrichten geschickt werden sollen. Diese Nummer "
-"wird im nächsten Schritt überprüft.\n"
+"        an die die SMS-Nachrichten geschickt werden sollen. Diese Nummer wird im nächsten Schritt überprüft.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup.html:41
@@ -3374,13 +2955,11 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/setup.html:50
 msgid ""
 "\n"
-"            We are calling your phone right now, please enter the digits you "
-"hear.\n"
+"            We are calling your phone right now, please enter the digits you hear.\n"
 "          "
 msgstr ""
 "\n"
-"            Wir rufen Ihr Telefon jetzt an, bitte geben Sie die Zahlen ein, "
-"die Sie hören.\n"
+"            Wir rufen Ihr Telefon jetzt an, bitte geben Sie die Zahlen ein, die Sie hören.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:56
@@ -3390,30 +2969,23 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Wir haben Ihnen eine SMS geschickt, bitte geben Sie die Tokens "
-"ein, die wir geschickt haben.\n"
+"            Wir haben Ihnen eine SMS geschickt, bitte geben Sie die Tokens ein, die wir geschickt haben.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:63
 msgid ""
 "\n"
-"          We've encountered an issue with the selected authentication "
-"method. Please\n"
-"          go back and verify that you entered your information correctly, "
-"try\n"
-"          again, or use a different authentication method instead. If the "
-"issue\n"
+"          We've encountered an issue with the selected authentication method. Please\n"
+"          go back and verify that you entered your information correctly, try\n"
+"          again, or use a different authentication method instead. If the issue\n"
 "          persists, contact the site administrator.\n"
 "        "
 msgstr ""
 "\n"
-"          Mit der ausgewählten Authentifizierungsmethode ist ein Fehler "
-"aufgetreten. \n"
-"Bitte gehen Sie zurück und überprüfen, dass Sie die Informationen korrekt "
-"eingegeben haben, versuchen Sie es erneut,\n"
+"          Mit der ausgewählten Authentifizierungsmethode ist ein Fehler aufgetreten. \n"
+"Bitte gehen Sie zurück und überprüfen, dass Sie die Informationen korrekt eingegeben haben, versuchen Sie es erneut,\n"
 "oder benutzen Sie stattdessen eine andere Authentifizierungsmethode. \n"
-"Wenn der Fehler bestehen bleibt, kontaktieren Sie bitte einen der "
-"Administratoren.\n"
+"Wenn der Fehler bestehen bleibt, kontaktieren Sie bitte einen der Administratoren.\n"
 "        "
 
 #: aleksis/core/templates/two_factor/core/setup.html:73
@@ -3438,13 +3010,11 @@ msgstr "Zwei-Faktor-Authentifizierung erfolgreich aktiviert"
 #: aleksis/core/templates/two_factor/core/setup_complete.html:14
 msgid ""
 "\n"
-"        Congratulations, you've successfully enabled two-factor "
-"authentication.\n"
+"        Congratulations, you've successfully enabled two-factor authentication.\n"
 "      "
 msgstr ""
 "\n"
-"        Gratulation, Sie haben die Zwei-Faktor-Authentifizierung erfolgreich "
-"aktiviert.\n"
+"        Gratulation, Sie haben die Zwei-Faktor-Authentifizierung erfolgreich aktiviert.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup_complete.html:24
@@ -3461,14 +3031,12 @@ msgstr "Backup-Codes generieren"
 msgid ""
 "\n"
 "          However, it might happen that you don't have access to\n"
-"          your primary token device. To enable account recovery, generate "
-"backup codes\n"
+"          your primary token device. To enable account recovery, generate backup codes\n"
 "          or add a phone number.\n"
 "        "
 msgstr ""
 "\n"
-"          Es kann passieren, dass Sie keinen Zugriff auf Ihren "
-"Tokengenerator haben. \n"
+"          Es kann passieren, dass Sie keinen Zugriff auf Ihren Tokengenerator haben. \n"
 "Um die Wiederherstellung zu aktivieren,\n"
 "generieren Sie Backupcodes oder fügen eine Telefonnummer hinzu.\n"
 "        "
@@ -3486,12 +3054,8 @@ msgid "Disable Two-Factor Authentication"
 msgstr "Zwei-Faktor-Authentifizierung deaktiveren"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:12
-msgid ""
-"You are about to disable two-factor authentication. This weakens your "
-"account security, are you sure?"
-msgstr ""
-"Sie sind dabei, Zwei-Faktor-Authentifizierung zu deaktivieren. Das "
-"verschlechtert Ihre Kontosicherheit. Sind Sie sicher?"
+msgid "You are about to disable two-factor authentication. This weakens your account security, are you sure?"
+msgstr "Sie sind dabei, Zwei-Faktor-Authentifizierung zu deaktivieren. Das verschlechtert Ihre Kontosicherheit. Sind Sie sicher?"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:26
 msgid "Disable"
@@ -3571,8 +3135,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Wir raten Ihnen jedoch dringend davon ab.\n"
-"        Sie können jedoch auch die Zwei-Faktor-Authentifizierung für Ihr "
-"Konto deaktivieren.\n"
+"        Sie können jedoch auch die Zwei-Faktor-Authentifizierung für Ihr Konto deaktivieren.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/profile/profile.html:78
@@ -3584,8 +3147,7 @@ msgid ""
 "      "
 msgstr ""
 "\n"
-"        Die Zwei-Faktor-Authentifizierung ist nicht für Ihren Account "
-"aktiviert.\n"
+"        Die Zwei-Faktor-Authentifizierung ist nicht für Ihren Account aktiviert.\n"
 "          Aktivieren Sie Zwei-Faktor-Authentifizierung für eine verbesserte\n"
 "          Accountsicherheit.\n"
 "      "
@@ -3598,261 +3160,451 @@ msgstr "E-Mail"
 msgid "SMS"
 msgstr "SMS"
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr "Fortschritt: PDF-Datei generieren"
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr "PDF-Datei wird generiert …"
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr "Die PDF-Datei wurde erfolgreich generiert."
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr "Es ist ein Fehler beim Generieren der PDF-Datei aufgetreten."
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr "PDF herunterladen"
 
-#: aleksis/core/views.py:292 aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr "Das Schuljahr wurde erstellt."
 
-#: aleksis/core/views.py:304 aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr "Das Schuljahr wurde gespeichert."
 
-#: aleksis/core/views.py:424 aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr "Die Untergruppen wurden gespeichert."
 
-#: aleksis/core/views.py:443 aleksis/core/views.py:453
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr "Die Person wurde gespeichert."
 
-#: aleksis/core/views.py:503 aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr "Die Gruppe wurde gespeichert."
 
-#: aleksis/core/views.py:600 aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr "Die Ankündigung wurde gespeichert."
 
-#: aleksis/core/views.py:616 aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr "Ankündigung wurde gelöscht."
 
-#: aleksis/core/views.py:684 aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr "Das angeforderte Einstellungsregister existiert nicht"
 
-#: aleksis/core/views.py:703 aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr "Die Einstellungen wurde gespeichert."
 
-#: aleksis/core/views.py:727 aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr "Die Person wurde gelöscht."
 
-#: aleksis/core/views.py:741 aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr "Die Gruppe wurde gelöscht."
 
-#: aleksis/core/views.py:773
-msgid "The additional_field has been saved."
+#: aleksis/core/views.py:730
+msgid "The additional field has been saved."
 msgstr "Das zusätzliche Feld wurde gespeichert."
 
-#: aleksis/core/views.py:807 aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr "Das zusätzliche Feld wurde gelöscht."
 
-#: aleksis/core/views.py:832 aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr "Der Gruppentyp wurde gespeichert."
 
-#: aleksis/core/views.py:862 aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr "Der Gruppentyp wurde gelöscht."
 
-#: aleksis/core/views.py:895 aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr "Fortschritt: Datenprüfungen ausführen"
 
-#: aleksis/core/views.py:896 aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr "Datenprüfungen laufen …"
 
-#: aleksis/core/views.py:897 aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr "Die Datenprüfungen wurden erfolgreich ausgeführt."
 
-#: aleksis/core/views.py:898 aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr "Es gab ein Problem beim Ausführen der Datenprüfungen."
 
-#: aleksis/core/views.py:914 aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr "Die Lösungsoption \"{solve_option_obj.verbose_name}\" "
 
-#: aleksis/core/views.py:924 aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr "Die angeforderte Lösungsoption existiert nicht"
 
-#: aleksis/core/views.py:956 aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr "Das Dashboard-Widget wurde gespeichert."
 
-#: aleksis/core/views.py:986 aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr "Das Dashboard-Widget wurde erstellt."
 
-#: aleksis/core/views.py:996 aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr "Das Dashboard-Widget wurde gelöscht."
 
-#: aleksis/core/views.py:1067 aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr "Ihre Dashboardkonfiguration wurde erfolgreich gespeichert."
 
-#: aleksis/core/views.py:1069 aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
-msgstr ""
-"Die Konfiguration des Standard-Dashboardes wurde erfolgreich gespeichert."
+msgstr "Die Konfiguration des Standard-Dashboardes wurde erfolgreich gespeichert."
 
-#: aleksis/core/views.py:1145 aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
-msgstr ""
-"Die Einladung wurde erfolgreich erstellt. Der Einladungscode ist {code}"
+msgstr "Die Einladung wurde erfolgreich erstellt. Der Einladungscode ist {code}"
 
-#: aleksis/core/views.py:1236 aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr "Wir haben die Berechtigungen erfolgreich zugewiesen."
 
-#: aleksis/core/views.py:1246 aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr "Die globale Benutzerberechtigung wurde gelöscht."
 
-#: aleksis/core/views.py:1256 aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr "Die globale Gruppenberechtigung wurde gelöscht."
 
-#: aleksis/core/views.py:1266 aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr "Die Objekt-Benutzerberechtigung wurde gelöscht."
 
-#: aleksis/core/views.py:1276 aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr "Die Objekt-Gruppenberechtigung wurde gelöscht."
 
-#: aleksis/core/views.py:1344 aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr "Die angeforderte PDF-Datei existiert nicht"
-
-#: aleksis/core/views.py:1353 aleksis/core/views.py:1357
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr "Der angeforderte Task existiert nicht oder ist nicht abrufbar"
+#: aleksis/core/views.py:1349
+msgid "The third-party account could not be disconnected because it is the only login method available."
+msgstr "Das Drittanbieter-Konto konnte nicht deaktiviert werden, weil es die einzige verfügbare Anmeldeoption ist."
 
-#: aleksis/core/views.py:1409 aleksis/core/views.py:1411
-msgid ""
-"The third-party account could not be disconnected because it is the only "
-"login method available."
-msgstr ""
-"Das Drittanbieter-Konto konnte nicht deaktiviert werden, weil es die einzige "
-"verfügbare Anmeldeoption ist."
-
-#: aleksis/core/views.py:1416 aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr "Das Drittanbieter-Konto wurde erfolgreich getrennt."
 
-#: aleksis/core/views.py:1487 aleksis/core/views.py:1489
-msgid ""
-"Person was invited successfully and an email with further instructions has "
-"been send to them."
-msgstr ""
-"Die Person wurde erfolgreich eingeladen und eine E-Mail mit weiteren "
-"Anweisungen wurde an sie verschickt."
+#: aleksis/core/views.py:1432
+msgid "Person was invited successfully and an email with further instructions has been send to them."
+msgstr "Die Person wurde erfolgreich eingeladen und eine E-Mail mit weiteren Anweisungen wurde an sie verschickt."
 
-#: aleksis/core/views.py:1498 aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr "Person wurde bereits eingeladen."
 
-#: aleksis/core/views.py:1598
-msgid "ICal feed updated successfully"
-msgstr "Der iCal-Feed wurde erfolgreich aktualisiert"
+#~ msgid "Birthday Calendar"
+#~ msgstr "Geburtstagskalender"
 
-#: aleksis/core/views.py:1608
-msgid "ICal feed deleted successfully"
-msgstr "Der iCal-Feed wurde erfolgreich gelöscht"
+#~ msgid "A Calendar of Birthdays"
+#~ msgstr "Ein Kalender mit Geburtstagen"
 
-#: aleksis/core/views.py:1616
-msgid "ICal feed created successfully"
-msgstr "Der iCal-Feed wurde erfolgreich erstellt"
+#, python-format
+#~ msgid "%(name)s's birthday"
+#~ msgstr "%(name)ss Geburtstag"
 
-#: aleksis/core/data_checks.py:330
 #, python-format
-msgid "Validate field %s of model %s."
-msgstr "Feld %s von Model %s validieren."
+#~ msgid "%(name)s was born on %(birthday)s"
+#~ msgstr "%(name)s wurde am %(birthday)s geboren"
+
+#~ msgid "Dashboard"
+#~ msgstr "Dashboard"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#~ msgid "Data management"
+#~ msgstr "Datenverwaltung"
+
+#~ msgid "Configuration"
+#~ msgstr "Konfiguration"
+
+#~ msgid "Backend Admin"
+#~ msgstr "Backend-Administration"
+
+#~ msgid "People"
+#~ msgstr "Leute"
+
+#~ msgid "Groups and child groups"
+#~ msgstr "Gruppen und Kindgruppen"
+
+#~ msgid "Invite person"
+#~ msgstr "Person einladen"
+
+#~ msgid "Stop impersonation"
+#~ msgstr "Verkleidung beenden"
+
+#~ msgid "Account"
+#~ msgstr "Konto"
+
+#~ msgid "2FA"
+#~ msgstr "2FA"
+
+#~ msgid "Third-party accounts"
+#~ msgstr "Drittanbieter-Konten"
+
+#~ msgid "Calendar Feeds"
+#~ msgstr "Kalender-Feeds"
+
+#~ msgid "Logout"
+#~ msgstr "Abmelden"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "Selected ICal feed"
+#~ msgstr "Ausgewählter iCal-Feed"
+
+#~ msgid "Personal Calendar URL"
+#~ msgstr "Persönliche Kalender-URL"
+
+#~ msgid "Personal Calendar URLs"
+#~ msgstr "Persönliche Kalender-URLs"
+
+#~ msgid "Available languages"
+#~ msgstr "Verfügbare Sprachen"
+
+#~ msgid ""
+#~ "An unexpected error has\n"
+#~ "          occured."
+#~ msgstr ""
+#~ "Ein unerwarteter Fehler ist\n"
+#~ "            aufgetreten."
+
+#~ msgid "About AlekSIS® — The Free School Information System"
+#~ msgstr "Über AlekSIS® — The Free School Information System"
+
+#~ msgid "Imprint"
+#~ msgstr "Impressum"
+
+#~ msgid "Privacy Policy"
+#~ msgstr "Datenschutzerklärung"
+
+#~ msgid "years to"
+#~ msgstr "Jahre bis"
+
+#~ msgid "years "
+#~ msgstr "Jahre "
+
+#~ msgid "Create iCal URL"
+#~ msgstr "iCal-URL erstellen"
 
-#: aleksis/core/data_checks.py:332
 #, python-format
-msgid "The field %s couldn't be validated successfully."
-msgstr "Das Feld %s konnte nicht erfolgreich validiert werden."
+#~ msgid "Edit iCal URL %(object)s"
+#~ msgstr "iCal-URL %(object)s bearbeiten"
 
-#: aleksis/core/models.py:181
-msgid "other"
-msgstr "andere"
+#~ msgid "ICal Feeds"
+#~ msgstr "iCal-Feeds"
 
-#: aleksis/core/settings.py:543
-msgid "Ukrainian"
-msgstr "Ukrainisch"
+#~ msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
+#~ msgstr "Dies sind URLs für verschiedene Kalender-Feeds im iCal-Format (.ics). Sie können so viele erstellen, wie sie wollen, und in Ihre Kalender-Software importieren."
 
-#: aleksis/core/templates/500.html:10
-msgid ""
-"An unexpected error has\n"
-"          occurred."
-msgstr ""
-"Ein unerwarteter Fehler ist\n"
-"            aufgetreten."
+#~ msgid "Your iCal URLs"
+#~ msgstr "Deine iCal-URLs"
+
+#~ msgid "Recent notifications"
+#~ msgstr "Letzte Benachrichtigungen"
+
+#~ msgid "More information →"
+#~ msgstr "Mehr Informationen →"
+
+#~ msgid "No notifications available yet."
+#~ msgstr "Aktuell keine Benachrichtigungen verfügbar."
+
+#~ msgid "About AlekSIS®"
+#~ msgstr "Über AlekSIS®"
+
+#~ msgid "AlekSIS® – The Free School Information System"
+#~ msgstr "AlekSIS® – The Free School Information System"
+
+#~ msgid "About AlekSIS"
+#~ msgstr "Über AlekSIS"
+
+#~ msgid ""
+#~ "\n"
+#~ "              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
+#~ "              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
+#~ "              can be used by anyone.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Diese Plattform wird mit AlekSIS®, einem webbasierten Schulinformationssystem (SIS), \n"
+#~ "welches für die Verwaltung und/oder Veröffentlichung von Bildungseinrichtungen verwendet werden kann.\n"
+#~ "AlekSIS ist freie Software und kann von jedem benutzt werden.\n"
+#~ "            "
+
+#~ msgid ""
+#~ "\n"
+#~ "              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              AlekSIS® ist eine eingetragene Wortmarke des Open-Source-Projektes AlekSIS, vertreten durch den Teckids e.V.\n"
+#~ "            "
+
+#~ msgid "Website of AlekSIS"
+#~ msgstr "Website von AlekSIS"
+
+#~ msgid "Source code"
+#~ msgstr "Quellcode"
+
+#~ msgid "Licence information"
+#~ msgstr "Lizenzinformationen"
+
+#~ msgid ""
+#~ "\n"
+#~ "              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
+#~ "              information from third-party apps, if installed, refer to the respective components below. The\n"
+#~ "              licences are marked like this:\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Der Core und die offiziellen Apps von AlekSIS sind unter der EUPL, Version 1.2 oder später, lizenziert. Für Lizenzinformationen\n"
+#~ "zu Apps von Drittanbietern, wenn installiert, siehe direkt bei der jeweiligen App weiter unten auf dieser Seite. Die Lizenzen\n"
+#~ "sind wie folgt markiert:\n"
+#~ "            "
+
+#~ msgid "Free/Open Source Licence"
+#~ msgstr "Freie/Open Source Lizenz"
+
+#~ msgid "Other Licence"
+#~ msgstr "Andere Lizenz"
+
+#~ msgid "Full licence text"
+#~ msgstr "Kompletter Lizenztext"
+
+#~ msgid "More information about the EUPL"
+#~ msgstr "Weitere Informationen über die EUPL"
 
-#: aleksis/core/templates/core/group/full.html:93
 #, python-format
-msgid ""
-"\n"
-"              %(min)s years to %(max)s years\n"
-"            "
-msgstr ""
-"\n"
-"              %(min)s Jahre bis %(max)s Jahre\n"
-"            "
+#~ msgid ""
+#~ "\n"
+#~ "                    This app is licenced under %(licence)s.\n"
+#~ "                  "
+#~ msgstr ""
+#~ "\n"
+#~ "                    Diese App ist unter %(licence)s lizenziert.\n"
+#~ "                  "
 
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr "iCal-Feeds"
+#~ msgid ""
+#~ "\n"
+#~ "              Without activated JavaScript the progress status can't be updated.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Ohne aktiviertes JavaScript kann der Fortschritt leider nicht aktualisiert werden.\n"
+#~ "            "
 
-#: aleksis/core/views.py:775
-msgid "The additional field has been saved."
-msgstr "Das zusätzliche Feld wurde gespeichert."
+#~ msgid "Language"
+#~ msgstr "Sprache"
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr "Der iCal-Feed wurde erfolgreich aktualisiert"
+#~ msgid "Select language"
+#~ msgstr "Sprache auswählen"
 
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr "Der iCal-Feed wurde erfolgreich gelöscht"
+#~ msgid ""
+#~ "\n"
+#~ "            Your administrator account is not linked to any person. Therefore,\n"
+#~ "            a dummy person has been linked to your account.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ihr Administratorenkonto ist mit keiner Person verknüpft. Deshalb\n"
+#~ "            wurde Ihr Konto mit einer Dummyperson verknüpft.\n"
+#~ "          "
+
+#~ msgid ""
+#~ "\n"
+#~ "            Your user account is not linked to a person. This means you\n"
+#~ "            cannot access any school-related information. Please contact\n"
+#~ "            the managers of AlekSIS at your school.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ihr Benutzerkonto ist nicht mit einer Person verknüpft. Das bedeutet, dass Sie\n"
+#~ "        keine schulbezogenen Informationen aufrufen können. Bitte wenden Sie sich an\n"
+#~ "        die Verwaltenden von AlekSIS an Ihrer Schule.\n"
+#~ "          "
+
+#~ msgid "Impersonate"
+#~ msgstr "Verkleiden"
+
+#~ msgid "Invite user"
+#~ msgstr "Benutzer einladen"
+
+#~ msgid "Contact details"
+#~ msgstr "Kontaktdetails"
+
+#~ msgid "This person didn't upload a personal photo."
+#~ msgstr "Diese Person hat kein persönliches Foto hochgeladen."
+
+#~ msgid "Children"
+#~ msgstr "Kinder"
+
+#~ msgid "Please return to your application and enter this code:"
+#~ msgstr "Bitte gehen Sie zurück in Ihre Anwendung und geben Sie diesen Code ein:"
+
+#~ msgid "No internet connection."
+#~ msgstr "Keine Internetverbindung."
 
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr "Der iCal-Feed wurde erfolgreich erstellt"
+#~ msgid "The additional_field has been saved."
+#~ msgstr "Das zusätzliche Feld wurde gespeichert."
+
+#~ msgid "The requested PDF file does not exist"
+#~ msgstr "Die angeforderte PDF-Datei existiert nicht"
+
+#~ msgid "The requested task does not exist or is not accessible"
+#~ msgstr "Der angeforderte Task existiert nicht oder ist nicht abrufbar"
+
+#~ msgid "ICal feed updated successfully"
+#~ msgstr "Der iCal-Feed wurde erfolgreich aktualisiert"
+
+#~ msgid "ICal feed created successfully"
+#~ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
+
+#~ msgid "iCal Feeds"
+#~ msgstr "iCal-Feeds"
+
+#~ msgid "iCal feed updated successfully"
+#~ msgstr "Der iCal-Feed wurde erfolgreich aktualisiert"
+
+#~ msgid "iCal feed deleted successfully"
+#~ msgstr "Der iCal-Feed wurde erfolgreich gelöscht"
+
+#~ msgid "iCal feed created successfully"
+#~ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 
 #~ msgid "Me"
 #~ msgstr "Ich"
@@ -3916,8 +3668,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ "   <li>ID des Tasks: %(task_id)s</li>\n"
 #~ "   <li>Aufgetretene Exception: %(exception)s</li>\n"
 #~ "   <li>Argumente, mit denen der Task aufgerufen wurde: %(args)s</li>\n"
-#~ "   <li>Keyword-Argumente, mit denen der Task aufgerufen wurde: "
-#~ "%(kwargs)s</li>\n"
+#~ "   <li>Keyword-Argumente, mit denen der Task aufgerufen wurde: %(kwargs)s</li>\n"
 #~ "   <li>Stacktrace: %(traceback)s</li>\n"
 #~ " </ul>\n"
 #~ " "
@@ -3936,12 +3687,8 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ msgstr "Zustimmungen"
 
 #, python-brace-format
-#~ msgid ""
-#~ "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree "
-#~ "with them."
-#~ msgstr ""
-#~ "Ich habe die <a href='{privacy_policy}'>Datenschutzerklärung</a> gelesen "
-#~ "und stimme ihr zu."
+#~ msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them."
+#~ msgstr "Ich habe die <a href='{privacy_policy}'>Datenschutzerklärung</a> gelesen und stimme ihr zu."
 
 #~ msgid "You must type the same password each time."
 #~ msgstr "Sie müssen zweimal das gleiche Passwort eingeben."
@@ -3950,12 +3697,8 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ msgstr "Verkleidung"
 
 #, python-format
-#~ msgid ""
-#~ "<strong>Note:</strong> you can still <a href=\"%(email_url)s\">change "
-#~ "your e-mail address</a>"
-#~ msgstr ""
-#~ "<strong>Hinweis:</strong> Sie können immer noch <a href=\"%(email_url)s"
-#~ "\"> Ihre E-Mail-Adresse ändern</a>"
+#~ msgid "<strong>Note:</strong> you can still <a href=\"%(email_url)s\">change your e-mail address</a>"
+#~ msgstr "<strong>Hinweis:</strong> Sie können immer noch <a href=\"%(email_url)s\"> Ihre E-Mail-Adresse ändern</a>"
 
 #~ msgid "Impress"
 #~ msgstr "Impressum"
@@ -3977,9 +3720,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 
 #, python-format
 #~ msgid "Are you sure to delete the application %(application_name)s?"
-#~ msgstr ""
-#~ "Sind Sie sicher, dass Sie die Anwendung %(application_name)s löschen "
-#~ "möchten?"
+#~ msgstr "Sind Sie sicher, dass Sie die Anwendung %(application_name)s löschen möchten?"
 
 #~ msgid "Authorization Grant Type"
 #~ msgstr "Authorization Grant-Typ"
@@ -4004,23 +3745,17 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 
 #~ msgid ""
 #~ "\n"
-#~ "        You can use this form to assign user accounts to persons. Use "
-#~ "the\n"
-#~ "        dropdowns to select existing accounts; use the text fields to "
-#~ "create new\n"
-#~ "        accounts on-the-fly. The latter will create a new account with "
-#~ "the\n"
+#~ "        You can use this form to assign user accounts to persons. Use the\n"
+#~ "        dropdowns to select existing accounts; use the text fields to create new\n"
+#~ "        accounts on-the-fly. The latter will create a new account with the\n"
 #~ "        entered username and copy all other details from the person.\n"
 #~ "      "
 #~ msgstr ""
 #~ "\n"
-#~ "        Sie können dieses Formular nutzen, um Benutzerkonten Personen "
-#~ "zuzuweisen. Nutzen Sie das\n"
-#~ "    Auswahlfeld um ein existierendes Benutzerkonto auszuwählen; nutzen "
-#~ "Sie das Textfeld, um einen neuen Benutzer zu\n"
+#~ "        Sie können dieses Formular nutzen, um Benutzerkonten Personen zuzuweisen. Nutzen Sie das\n"
+#~ "    Auswahlfeld um ein existierendes Benutzerkonto auszuwählen; nutzen Sie das Textfeld, um einen neuen Benutzer zu\n"
 #~ "    erstellen. Letzteres erstellt ein neues Benutzerkonto mit dem\n"
-#~ "    eingegebenen Benutzernamen und kopiert alle anderen Daten der "
-#~ "Person.\n"
+#~ "    eingegebenen Benutzernamen und kopiert alle anderen Daten der Person.\n"
 #~ "      "
 
 #~ msgid "Existing account"
@@ -4046,8 +3781,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ "We sent you a text message, please enter the tokens we\n"
 #~ "              sent."
 #~ msgstr ""
-#~ "Wir haben Ihnen eine Textnachricht geschickt. Bitte geben Sie die Tokens "
-#~ "ein,\n"
+#~ "Wir haben Ihnen eine Textnachricht geschickt. Bitte geben Sie die Tokens ein,\n"
 #~ "              die wir Ihnen geschickt haben."
 
 #~ msgid "French"
@@ -4056,12 +3790,8 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ msgid "Norwegian (bokmål)"
 #~ msgstr "Norwegisch (bokmål)"
 
-#~ msgid ""
-#~ "The data check has been started. Please note that it may take a while "
-#~ "before you are able to fetch the data on this page."
-#~ msgstr ""
-#~ "Die Datenüberprüfung wurde gestartet. Bitte beachten Sie, dass es eine "
-#~ "Weile dauern kann, bevor Sie auf dieser Seite Ergebnisse abrufen können."
+#~ msgid "The data check has been started. Please note that it may take a while before you are able to fetch the data on this page."
+#~ msgstr "Die Datenüberprüfung wurde gestartet. Bitte beachten Sie, dass es eine Weile dauern kann, bevor Sie auf dieser Seite Ergebnisse abrufen können."
 
 #~ msgid "The data check has finished."
 #~ msgstr "Die Datenüberprüfung wurde beendet."
@@ -4115,8 +3845,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ "     "
 #~ msgstr ""
 #~ "\n"
-#~ "      Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS "
-#~ "handelt, kontaktieren Sie bitte einen Ihrer\n"
+#~ "      Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
 #~ "     Systemadministratoren:\n"
 #~ "     "
 
@@ -4190,9 +3919,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ msgstr "Markdown-Anleitung (Hilfe)"
 
 #~ msgid "You are not allowed to mark notifications from other users as read!"
-#~ msgstr ""
-#~ "Es ist Ihnen nicht erlaubt, Benachrichtigungen von anderen Benutzern als "
-#~ "gelesen zu markieren!"
+#~ msgstr "Es ist Ihnen nicht erlaubt, Benachrichtigungen von anderen Benutzern als gelesen zu markieren!"
 
 #, fuzzy
 #~ msgid "School name"
@@ -4252,8 +3979,7 @@ msgstr "Der iCal-Feed wurde erfolgreich erstellt"
 #~ "    "
 #~ msgstr ""
 #~ "\n"
-#~ "     Der Wartungsmodus ist aktuell aktiviert. Bitte versuchen Sie es "
-#~ "später erneut.\n"
+#~ "     Der Wartungsmodus ist aktuell aktiviert. Bitte versuchen Sie es später erneut.\n"
 #~ "    "
 
 #~ msgid "Details"
diff --git a/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po b/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po
index 2298f9b2dd0bb495629e9b9174cdeceb7a7159bc..dd4d47c2a6946e7f14ede5b29ef3d37e5d8c85a4 100644
--- a/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2021-10-28 14:37+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-core-js/de/>\n"
@@ -30,6 +30,5 @@ msgstr "Abbrechen"
 msgid "OK"
 msgstr "OK"
 
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr "Diese Seite enthält vielleicht veraltete Informationen, da es keine Internetverbindung gibt."
+#~ msgid "This page may contain outdated information since there is no internet connection."
+#~ msgstr "Diese Seite enthält vielleicht veraltete Informationen, da es keine Internetverbindung gibt."
diff --git a/aleksis/core/locale/fr/LC_MESSAGES/django.po b/aleksis/core/locale/fr/LC_MESSAGES/django.po
index 8bc699a6898347499a588ac071ded207c301d4c3..a37c9697651fb7c32c8af41a4631bce4f84d83b7 100644
--- a/aleksis/core/locale/fr/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2021-06-16 12:00+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis/fr/>\n"
@@ -18,38 +18,37 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 4.4\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr ""
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr ""
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr ""
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 #, fuzzy
 #| msgid "Contact details"
 msgid "Email address"
 msgstr "Détails de contact"
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr ""
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
 #: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 #, fuzzy
 #| msgid "Group"
 msgid "Groups"
 msgstr "Groupe"
 
-#: aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr ""
 
@@ -58,49 +57,29 @@ msgstr ""
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr ""
 
-#: aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr ""
 
-#: aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr ""
 
-#: aleksis/core/data_checks.py:330
+#: aleksis/core/data_checks.py:320
 #, python-format
 msgid "Validate field %s of model %s."
 msgstr ""
 
-#: aleksis/core/data_checks.py:332
+#: aleksis/core/data_checks.py:322
 #, python-format
 msgid "The field %s couldn't be validated successfully."
 msgstr ""
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr ""
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr ""
-
-#: aleksis/core/feeds.py:66
-#, python-format
-msgid "%(name)s's birthday"
-msgstr ""
-
-#: aleksis/core/feeds.py:71
-#, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr ""
-
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -180,8 +159,7 @@ msgid "Common data"
 msgstr "Détails de contact"
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:164
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 #, fuzzy
 #| msgid "Person"
@@ -274,7 +252,7 @@ msgid "You must select at least one group or person which should get the permiss
 msgstr ""
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr ""
 
 #: aleksis/core/forms.py:586
@@ -295,15 +273,15 @@ msgstr ""
 msgid "Password (again)"
 msgstr ""
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr ""
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr ""
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr ""
 
@@ -327,164 +305,6 @@ msgstr ""
 msgid "No backup result found!"
 msgstr ""
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr ""
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr ""
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr ""
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr ""
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:872
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr ""
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:142
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr ""
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr ""
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr ""
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr ""
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr ""
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr ""
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr ""
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr ""
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr ""
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1111
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-#, fuzzy
-#| msgid "Group"
-msgid "Group types"
-msgstr "Groupe"
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr ""
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:542
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-msgid "Additional fields"
-msgstr ""
-
-#: aleksis/core/menus.py:215
-#, fuzzy
-#| msgid "Contact details"
-msgid "Invite person"
-msgstr "Détails de contact"
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr ""
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr ""
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr ""
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr ""
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr ""
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr ""
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr ""
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr ""
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr ""
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr ""
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr ""
@@ -530,7 +350,6 @@ msgid "URL / Link"
 msgstr ""
 
 #: aleksis/core/models.py:105 aleksis/core/models.py:1077
-#: aleksis/core/models.py:1384
 msgid "Name"
 msgstr ""
 
@@ -552,8 +371,13 @@ msgstr ""
 msgid "There is already a school term for this time or a part of this time."
 msgstr ""
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:1024
-#: aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr ""
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr "Personne"
 
@@ -605,7 +429,7 @@ msgstr ""
 msgid "other"
 msgstr ""
 
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr ""
 
@@ -614,6 +438,7 @@ msgid "Additional name(s)"
 msgstr ""
 
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 #, fuzzy
 #| msgid "First name"
 msgid "Short name"
@@ -635,11 +460,11 @@ msgstr ""
 msgid "Place"
 msgstr ""
 
-#: aleksis/core/models.py:207 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr ""
 
-#: aleksis/core/models.py:208 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr ""
 
@@ -669,7 +494,7 @@ msgstr ""
 msgid "This is a picture or an avatar for public display."
 msgstr ""
 
-#: aleksis/core/models.py:234 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr ""
 
@@ -678,7 +503,7 @@ msgid "Primary group"
 msgstr ""
 
 #: aleksis/core/models.py:244 aleksis/core/models.py:724
-#: aleksis/core/models.py:748 aleksis/core/models.py:839
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
 #: aleksis/core/models.py:1104
 msgid "Description"
 msgstr "Description"
@@ -719,7 +544,7 @@ msgstr ""
 msgid "Can view statistics about group."
 msgstr "Détails de contact"
 
-#: aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 #, fuzzy
 #| msgid "Last name"
 msgid "Long name"
@@ -741,8 +566,14 @@ msgstr ""
 msgid "Type of group"
 msgstr ""
 
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr ""
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr ""
@@ -771,166 +602,175 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr ""
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr ""
 
-#: aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr ""
 
-#: aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr ""
 
-#: aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr ""
 
-#: aleksis/core/models.py:772 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr ""
 
-#: aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr ""
 
-#: aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr ""
 
-#: aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr ""
 
-#: aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr ""
 
-#: aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr ""
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr ""
 
-#: aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr ""
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr ""
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr ""
 
-#: aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr ""
 
-#: aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr ""
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr ""
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr ""
 
-#: aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr ""
 
-#: aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr ""
 
-#: aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr ""
 
-#: aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr ""
 
-#: aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr ""
 
-#: aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr ""
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr ""
 
-#: aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr ""
 
-#: aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr ""
 
-#: aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr ""
 
-#: aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr ""
 
-#: aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr ""
 
-#: aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr ""
 
@@ -938,11 +778,6 @@ msgstr ""
 msgid "Menu"
 msgstr ""
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr ""
-
 #: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr ""
@@ -961,6 +796,14 @@ msgstr ""
 msgid "Group type"
 msgstr "Groupe"
 
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+#, fuzzy
+#| msgid "Group"
+msgid "Group types"
+msgstr "Groupe"
+
 #: aleksis/core/models.py:1124
 #, fuzzy
 #| msgid "Contact details"
@@ -1047,66 +890,126 @@ msgstr "Propriétaires"
 msgid "File expires at"
 msgstr ""
 
-#: aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr ""
 
-#: aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr ""
 
-#: aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr ""
 
-#: aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr ""
 
+#: aleksis/core/models.py:1263
+msgid "Back URL"
+msgstr ""
+
+#: aleksis/core/models.py:1264
+msgid "Progress title"
+msgstr ""
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+msgid "Success message"
+msgstr ""
+
+#: aleksis/core/models.py:1267
+msgid "Redirect on success URL"
+msgstr ""
+
 #: aleksis/core/models.py:1269
+#, fuzzy
+#| msgid "Contact details"
+msgid "Additional button title"
+msgstr "Détails de contact"
+
+#: aleksis/core/models.py:1271
+#, fuzzy
+#| msgid "Contact details"
+msgid "Additional button URL"
+msgstr "Détails de contact"
+
+#: aleksis/core/models.py:1273
+#, fuzzy
+#| msgid "Contact details"
+msgid "Additional button icon"
+msgstr "Détails de contact"
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+msgid "Background task completed successfully"
+msgstr ""
+
+#: aleksis/core/models.py:1301
+msgid "The background task '{}' has been completed successfully."
+msgstr ""
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr ""
 
-#: aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr ""
 
-#: aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 #, fuzzy
 #| msgid "Contact details"
 msgid "Additional attributes"
 msgstr "Détails de contact"
 
-#: aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr ""
 
-#: aleksis/core/models.py:1334
+#: aleksis/core/models.py:1396
 msgid "This image will be shown as icon in the authorization flow. It should be squared."
 msgstr ""
 
-#: aleksis/core/models.py:1383
-msgid "UUID"
-msgstr ""
-
-#: aleksis/core/models.py:1387
-msgid "Selected ICal feed"
-msgstr ""
+#: aleksis/core/models.py:1441
+#, fuzzy
+#| msgid "Contact details"
+msgid "Can view room timetable"
+msgstr "Détails de contact"
 
-#: aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
+#: aleksis/core/models.py:1443
+msgid "Room"
 msgstr ""
 
-#: aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
 msgstr ""
 
 #: aleksis/core/preferences.py:25
@@ -1203,137 +1106,145 @@ msgstr ""
 msgid "Channels to use for notifications"
 msgstr ""
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+#, fuzzy
+#| msgid "Contact details"
+msgid "Select Design"
+msgstr "Détails de contact"
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr ""
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr ""
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr ""
 
-#: aleksis/core/preferences.py:241
+#: aleksis/core/preferences.py:256
 msgid "Automatically link existing persons to new users by their e-mail address"
 msgstr ""
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr ""
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr ""
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr ""
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr ""
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr ""
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 #, fuzzy
 #| msgid "Contact details"
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr "Détails de contact"
 
-#: aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr ""
 
-#: aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr ""
 
-#: aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr ""
 
-#: aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr ""
 
-#: aleksis/core/preferences.py:409
+#: aleksis/core/preferences.py:424
 msgid "Editable fields on person model which should trigger a notification on change"
 msgstr ""
 
-#: aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr ""
 
-#: aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr ""
 
-#: aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr ""
 
-#: aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr ""
 
-#: aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr ""
 
-#: aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr ""
 
-#: aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr ""
 
-#: aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr ""
 
-#: aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr ""
 
-#: aleksis/core/settings.py:543
+#: aleksis/core/settings.py:541
 msgid "Ukrainian"
 msgstr ""
 
 #: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
 #: aleksis/core/templates/core/group/full.html:26
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr ""
@@ -1350,15 +1261,12 @@ msgstr ""
 #: aleksis/core/templates/core/announcement/list.html:42
 #: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr ""
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr ""
 
@@ -1457,6 +1365,17 @@ msgstr ""
 msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr ""
+
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
 msgstr ""
@@ -1570,6 +1489,11 @@ msgstr ""
 msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr ""
+
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
 msgid "Signup closed"
@@ -1660,18 +1584,6 @@ msgstr ""
 msgid "There are no announcements."
 msgstr ""
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr ""
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr ""
@@ -1702,6 +1614,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr ""
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr ""
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 #, fuzzy
 #| msgid "Contact details"
@@ -1720,6 +1637,11 @@ msgstr "Détails de contact"
 msgid "Edit default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr ""
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr ""
@@ -1815,6 +1737,11 @@ msgstr ""
 msgid "Default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr ""
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
@@ -1894,8 +1821,6 @@ msgid "Edit group"
 msgstr ""
 
 #: aleksis/core/templates/core/group/full.html:40
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 msgid "Change preferences"
 msgstr ""
 
@@ -1953,45 +1878,11 @@ msgstr "Groupe"
 msgid "Create group type"
 msgstr "Groupe"
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr ""
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
 "        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
@@ -1999,101 +1890,14 @@ msgid ""
 "      "
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2107,16 +1911,9 @@ msgid ""
 "    "
 msgstr ""
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be updated.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
 msgstr ""
 
 #: aleksis/core/templates/core/pages/system_status.html:12
@@ -2244,13 +2041,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr ""
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr ""
 
@@ -2262,29 +2057,11 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:12
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your administrator account is not linked to any person. Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:19
-msgid ""
-"\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
 
 #: aleksis/core/templates/core/perms/assign.html:12
@@ -2302,6 +2079,11 @@ msgstr "Détails de contact"
 msgid "Assign"
 msgstr ""
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr ""
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr ""
@@ -2347,30 +2129,6 @@ msgstr "Détails de contact"
 msgid "Edit person"
 msgstr ""
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-#, fuzzy
-#| msgid "Contact details"
-msgid "Impersonate"
-msgstr "Détails de contact"
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr "Détails de contact"
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr ""
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr ""
@@ -2390,6 +2148,10 @@ msgstr ""
 msgid "Edit school term"
 msgstr ""
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr ""
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr ""
@@ -2423,6 +2185,10 @@ msgstr ""
 msgid "site preferences page"
 msgstr ""
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr ""
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr ""
@@ -2475,6 +2241,13 @@ msgstr ""
 msgid "Register OAuth2 Application"
 msgstr "Détails de contact"
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 #, fuzzy
 #| msgid "Contact details"
@@ -2512,6 +2285,11 @@ msgstr ""
 msgid "Edit OAuth2 Application"
 msgstr "Détails de contact"
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr ""
@@ -2544,14 +2322,6 @@ msgstr ""
 msgid "Disallow"
 msgstr ""
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr ""
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2566,6 +2336,11 @@ msgstr ""
 msgid "Revoke"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 #, fuzzy
 #| msgid "Contact details"
@@ -2577,13 +2352,13 @@ msgid "Network error"
 msgstr ""
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
+msgid "Page not available offline."
 msgstr ""
 
 #: aleksis/core/templates/offline.html:14
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
 "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
@@ -2870,6 +2645,12 @@ msgstr ""
 msgid "Generate Tokens"
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, fuzzy, python-format
 #| msgid "Contact details"
@@ -2965,6 +2746,10 @@ msgid ""
 "          security."
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3188,193 +2973,186 @@ msgstr ""
 msgid "SMS"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr ""
 
-#: aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr ""
 
-#: aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr ""
 
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:775
+#: aleksis/core/views.py:730
 msgid "The additional field has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr ""
 
-#: aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr ""
 
-#: aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr ""
 
-#: aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr ""
 
-#: aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr ""
 
-#: aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr ""
 
-#: aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr ""
 
-#: aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr ""
-
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr ""
-
-#: aleksis/core/views.py:1411
+#: aleksis/core/views.py:1349
 msgid "The third-party account could not be disconnected because it is the only login method available."
 msgstr ""
 
-#: aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr ""
 
-#: aleksis/core/views.py:1489
+#: aleksis/core/views.py:1432
 msgid "Person was invited successfully and an email with further instructions has been send to them."
 msgstr ""
 
-#: aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 #, fuzzy
 #| msgid "This username is already in use."
 msgid "Person was already invited."
 msgstr "Cet nom est deja en utilisation."
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr ""
+#, fuzzy
+#~| msgid "Contact details"
+#~ msgid "Invite person"
+#~ msgstr "Détails de contact"
 
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr ""
+#, fuzzy
+#~| msgid "Contact details"
+#~ msgid "Impersonate"
+#~ msgstr "Détails de contact"
 
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr ""
+#~ msgid "Contact details"
+#~ msgstr "Détails de contact"
 
 #, fuzzy
 #~| msgid "Contact details"
diff --git a/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po b/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po
index 8b1f39f46181c3eb157a2316413bca33ad16015a..e36f5875ab7b9770243227f51fa21ddd75d467a2 100644
--- a/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -29,7 +29,3 @@ msgstr ""
 #: aleksis/core/static/js/main.js:68
 msgid "OK"
 msgstr ""
-
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr ""
diff --git a/aleksis/core/locale/la/LC_MESSAGES/django.po b/aleksis/core/locale/la/LC_MESSAGES/django.po
index f75c1ff3027200fcc1f340efe6a34b17cb4e3529..81cb58ba93fc0e0cb0132717762819fcd0b9bf63 100644
--- a/aleksis/core/locale/la/LC_MESSAGES/django.po
+++ b/aleksis/core/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-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2020-12-19 12:57+0000\n"
 "Last-Translator: Julian <leuckerj@gmail.com>\n"
 "Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis/la/>\n"
@@ -18,40 +18,39 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.3.2\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr ""
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr ""
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 #, fuzzy
 #| msgid "E-mail address"
 msgid "Full home postal address"
 msgstr "Inscriptio electronica"
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 #, fuzzy
 #| msgid "E-mail address"
 msgid "Email address"
 msgstr "Inscriptio electronica"
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 #, fuzzy
 #| msgid "Mobile phone"
 msgid "Home and mobile phone"
 msgstr "Numerus telephoni mobilis"
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
 #: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 msgid "Groups"
 msgstr "Greges"
 
-#: aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr ""
 
@@ -60,51 +59,31 @@ msgstr ""
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Deactivate DashboardWidget"
 msgstr "Forum"
 
-#: aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr ""
 
-#: aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr ""
 
-#: aleksis/core/data_checks.py:330
+#: aleksis/core/data_checks.py:320
 #, python-format
 msgid "Validate field %s of model %s."
 msgstr ""
 
-#: aleksis/core/data_checks.py:332
+#: aleksis/core/data_checks.py:322
 #, python-format
 msgid "The field %s couldn't be validated successfully."
 msgstr ""
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr ""
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr ""
-
-#: aleksis/core/feeds.py:66
-#, python-format
-msgid "%(name)s's birthday"
-msgstr ""
-
-#: aleksis/core/feeds.py:71
-#, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr ""
-
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -184,8 +163,7 @@ msgid "Common data"
 msgstr "Adminstratio datarum"
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:164
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr "personae"
@@ -280,7 +258,7 @@ msgid "You must select at least one group or person which should get the permiss
 msgstr ""
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr ""
 
 #: aleksis/core/forms.py:586
@@ -303,15 +281,15 @@ msgstr ""
 msgid "Password (again)"
 msgstr ""
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr ""
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr ""
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr ""
 
@@ -337,180 +315,6 @@ msgstr ""
 msgid "No backup result found!"
 msgstr ""
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr "nomen profiteri"
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr ""
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-#, fuzzy
-#| msgid "Edit school information"
-msgid "Accept invitation"
-msgstr "Muta informationes scolae"
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr "Forum"
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr "Administratio"
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:872
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr "Nuntii"
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:142
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr "ani scolae"
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-#, fuzzy
-#| msgid "Dashboard"
-msgid "Dashboard widgets"
-msgstr "Forum"
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr "Adminstratio datarum"
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr "Status systemae"
-
-#: aleksis/core/menus.py:102
-#, fuzzy
-#| msgid "Notification"
-msgid "Configuration"
-msgstr "Nuntius"
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-#, fuzzy
-#| msgid "System status"
-msgid "Data checks"
-msgstr "Status systemae"
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr ""
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-#, fuzzy
-#| msgid "Notifications"
-msgid "OAuth2 Applications"
-msgstr "Nuntii"
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr "Personae"
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1111
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-#, fuzzy
-#| msgid "Groups"
-msgid "Group types"
-msgstr "Greges"
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr ""
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:542
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-#, fuzzy
-#| msgid "Additional name(s)"
-msgid "Additional fields"
-msgstr "addita nomines"
-
-#: aleksis/core/menus.py:215
-#, fuzzy
-#| msgid "Stop impersonation"
-msgid "Invite person"
-msgstr "Simulandum aliquem finire"
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr ""
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr "Simulandum aliquem finire"
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr ""
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr ""
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr ""
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr ""
-
-#: aleksis/core/menus.py:287
-#, fuzzy
-#| msgid "Persons and accounts"
-msgid "Third-party accounts"
-msgstr "Personae et computi"
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-#, fuzzy
-#| msgid "Notifications"
-msgid "Authorized applications"
-msgstr "Nuntii"
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr ""
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr "nomen retractare"
-
 #: aleksis/core/mixins.py:511
 #, fuzzy
 #| msgid "Edit school term"
@@ -560,7 +364,6 @@ msgid "URL / Link"
 msgstr ""
 
 #: aleksis/core/models.py:105 aleksis/core/models.py:1077
-#: aleksis/core/models.py:1384
 msgid "Name"
 msgstr "Nomen"
 
@@ -580,8 +383,13 @@ msgstr ""
 msgid "There is already a school term for this time or a part of this time."
 msgstr ""
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:1024
-#: aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr "ani scolae"
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr "Persona"
 
@@ -633,7 +441,7 @@ msgstr "maskulinum"
 msgid "other"
 msgstr ""
 
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr ""
 
@@ -642,6 +450,7 @@ msgid "Additional name(s)"
 msgstr "addita nomines"
 
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr "Breve nomen"
 
@@ -661,11 +470,11 @@ msgstr "Numerus directorius"
 msgid "Place"
 msgstr "Urbs"
 
-#: aleksis/core/models.py:207 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr "Numerus telephoni domi"
 
-#: aleksis/core/models.py:208 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr "Numerus telephoni mobilis"
 
@@ -695,7 +504,7 @@ msgstr ""
 msgid "This is a picture or an avatar for public display."
 msgstr ""
 
-#: aleksis/core/models.py:234 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr "Parentes"
 
@@ -704,7 +513,7 @@ msgid "Primary group"
 msgstr ""
 
 #: aleksis/core/models.py:244 aleksis/core/models.py:724
-#: aleksis/core/models.py:748 aleksis/core/models.py:839
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
 #: aleksis/core/models.py:1104
 msgid "Description"
 msgstr "Descriptio"
@@ -749,7 +558,7 @@ msgstr ""
 msgid "Can view statistics about group."
 msgstr "Personae et computi"
 
-#: aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 #, fuzzy
 #| msgid "Last name"
 msgid "Long name"
@@ -771,8 +580,16 @@ msgstr ""
 msgid "Type of group"
 msgstr ""
 
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+#, fuzzy
+#| msgid "Additional name(s)"
+msgid "Additional fields"
+msgstr "addita nomines"
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr "Titulus"
@@ -801,194 +618,203 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr "Nota"
+
+#: aleksis/core/models.py:755
 #, fuzzy
 #| msgid "Notification"
 msgid "Send notification at"
 msgstr "Nuntius"
 
-#: aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr ""
 
-#: aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr ""
 
-#: aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 #, fuzzy
 #| msgid "Notifications"
 msgid "Notification"
 msgstr "Nuntii"
 
-#: aleksis/core/models.py:772 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr "Nuntii"
 
-#: aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr ""
 
-#: aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr ""
 
-#: aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr ""
 
-#: aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 #, fuzzy
 #| msgid "Announcements"
 msgid "Announcement"
 msgstr "Nuntii"
 
-#: aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr "Nuntii"
+
+#: aleksis/core/models.py:913
 #, fuzzy
 #| msgid "Announcements"
 msgid "Announcement recipient"
 msgstr "Nuntii"
 
-#: aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 #, fuzzy
 #| msgid "Announcements"
 msgid "Announcement recipients"
 msgstr "Nuntii"
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 #, fuzzy
 #| msgid "Site title"
 msgid "Widget Title"
 msgstr "Titulus paginae"
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr ""
 
-#: aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 #, fuzzy
 #| msgid "Site title"
 msgid "Widget is broken"
 msgstr "Titulus paginae"
 
-#: aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr ""
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr ""
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Can edit default dashboard"
 msgstr "Forum"
 
-#: aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Dashboard Widget"
 msgstr "Forum"
 
-#: aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Dashboard Widgets"
 msgstr "Forum"
 
-#: aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr ""
 
-#: aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 #, fuzzy
 #| msgid "Icon"
 msgid "Icon URL"
 msgstr "Nota"
 
-#: aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr ""
 
-#: aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr ""
 
-#: aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr ""
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Dashboard widget"
 msgstr "Forum"
 
-#: aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr ""
 
-#: aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Dashboard widget order"
 msgstr "Forum"
 
-#: aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 #, fuzzy
 #| msgid "Dashboard"
 msgid "Dashboard widget orders"
 msgstr "Forum"
 
-#: aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr ""
 
-#: aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr ""
 
-#: aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr ""
 
@@ -996,11 +822,6 @@ msgstr ""
 msgid "Menu"
 msgstr ""
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr "Nota"
-
 #: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr ""
@@ -1019,6 +840,14 @@ msgstr ""
 msgid "Group type"
 msgstr "Grex"
 
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+#, fuzzy
+#| msgid "Groups"
+msgid "Group types"
+msgstr "Greges"
+
 #: aleksis/core/models.py:1124
 #, fuzzy
 #| msgid "System status"
@@ -1107,66 +936,128 @@ msgstr ""
 msgid "File expires at"
 msgstr ""
 
-#: aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr ""
 
-#: aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr ""
 
-#: aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr ""
 
-#: aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr ""
 
+#: aleksis/core/models.py:1263
+#, fuzzy
+#| msgid "Icon"
+msgid "Back URL"
+msgstr "Nota"
+
+#: aleksis/core/models.py:1264
+msgid "Progress title"
+msgstr ""
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+msgid "Success message"
+msgstr ""
+
+#: aleksis/core/models.py:1267
+msgid "Redirect on success URL"
+msgstr ""
+
 #: aleksis/core/models.py:1269
+#, fuzzy
+#| msgid "Additional name(s)"
+msgid "Additional button title"
+msgstr "addita nomines"
+
+#: aleksis/core/models.py:1271
+#, fuzzy
+#| msgid "Additional name(s)"
+msgid "Additional button URL"
+msgstr "addita nomines"
+
+#: aleksis/core/models.py:1273
+#, fuzzy
+#| msgid "Additional name(s)"
+msgid "Additional button icon"
+msgstr "addita nomines"
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+msgid "Background task completed successfully"
+msgstr ""
+
+#: aleksis/core/models.py:1301
+msgid "The background task '{}' has been completed successfully."
+msgstr ""
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr ""
 
-#: aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr ""
 
-#: aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 #, fuzzy
 #| msgid "Additional name(s)"
 msgid "Additional attributes"
 msgstr "addita nomines"
 
-#: aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr ""
 
-#: aleksis/core/models.py:1334
+#: aleksis/core/models.py:1396
 msgid "This image will be shown as icon in the authorization flow. It should be squared."
 msgstr ""
 
-#: aleksis/core/models.py:1383
-msgid "UUID"
-msgstr ""
-
-#: aleksis/core/models.py:1387
-msgid "Selected ICal feed"
-msgstr ""
+#: aleksis/core/models.py:1441
+#, fuzzy
+#| msgid "E-mail address"
+msgid "Can view room timetable"
+msgstr "Inscriptio electronica"
 
-#: aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
+#: aleksis/core/models.py:1443
+msgid "Room"
 msgstr ""
 
-#: aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
 msgstr ""
 
 #: aleksis/core/preferences.py:25
@@ -1271,137 +1162,145 @@ msgstr ""
 msgid "Channels to use for notifications"
 msgstr ""
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+#, fuzzy
+#| msgid "Stop impersonation"
+msgid "Select Design"
+msgstr "Simulandum aliquem finire"
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr ""
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr ""
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr ""
 
-#: aleksis/core/preferences.py:241
+#: aleksis/core/preferences.py:256
 msgid "Automatically link existing persons to new users by their e-mail address"
 msgstr ""
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr ""
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr "Officialis nomen scolae, e. g."
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr ""
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr ""
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr ""
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 #, fuzzy
 #| msgid "E-mail address"
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr "Inscriptio electronica"
 
-#: aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr ""
 
-#: aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr ""
 
-#: aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr ""
 
-#: aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr ""
 
-#: aleksis/core/preferences.py:409
+#: aleksis/core/preferences.py:424
 msgid "Editable fields on person model which should trigger a notification on change"
 msgstr ""
 
-#: aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr ""
 
-#: aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr ""
 
-#: aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr ""
 
-#: aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr ""
 
-#: aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr ""
 
-#: aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr ""
 
-#: aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr ""
 
-#: aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr "Britannicus"
 
-#: aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr "Germanus"
 
-#: aleksis/core/settings.py:543
+#: aleksis/core/settings.py:541
 msgid "Ukrainian"
 msgstr ""
 
 #: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
 #: aleksis/core/templates/core/group/full.html:26
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr ""
@@ -1420,15 +1319,12 @@ msgstr "Nuntii"
 #: aleksis/core/templates/core/announcement/list.html:42
 #: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr ""
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr ""
 
@@ -1529,6 +1425,17 @@ msgstr ""
 msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr ""
+
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
 msgstr ""
@@ -1642,6 +1549,11 @@ msgstr ""
 msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr ""
+
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
 msgid "Signup closed"
@@ -1748,18 +1660,6 @@ msgstr ""
 msgid "There are no announcements."
 msgstr "Scribe nuntium:"
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr ""
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr ""
@@ -1790,6 +1690,13 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr ""
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+#, fuzzy
+#| msgid "Dashboard"
+msgid "Dashboard widgets"
+msgstr "Forum"
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 #, fuzzy
 #| msgid "Dashboard"
@@ -1810,6 +1717,13 @@ msgstr "Simulandum aliquem finire"
 msgid "Edit default dashboard"
 msgstr "Forum"
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+#, fuzzy
+#| msgid "System status"
+msgid "Data checks"
+msgstr "Status systemae"
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr ""
@@ -1911,6 +1825,11 @@ msgstr "Forum"
 msgid "Default dashboard"
 msgstr "Forum"
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr ""
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
@@ -1990,8 +1909,6 @@ msgid "Edit group"
 msgstr ""
 
 #: aleksis/core/templates/core/group/full.html:40
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 msgid "Change preferences"
 msgstr ""
 
@@ -2051,45 +1968,11 @@ msgstr "Grex"
 msgid "Create group type"
 msgstr "Grex"
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr ""
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
 "        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
@@ -2097,109 +1980,14 @@ msgid ""
 "      "
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:82
-#, fuzzy
-#| msgid "Notifications"
-msgid "Recent notifications"
-msgstr "Nuntii"
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-#, fuzzy
-#| msgid "Edit school information"
-msgid "More information →"
-msgstr "Muta informationes scolae"
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:40
-#, fuzzy
-#| msgid "Edit school information"
-msgid "Licence information"
-msgstr "Muta informationes scolae"
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:56
-#, fuzzy
-#| msgid "Edit school information"
-msgid "More information about the EUPL"
-msgstr "Muta informationes scolae"
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2213,17 +2001,10 @@ msgid ""
 "    "
 msgstr ""
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be updated.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
-msgstr ""
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
+msgstr "Status systemae"
 
 #: aleksis/core/templates/core/pages/system_status.html:12
 #, fuzzy
@@ -2356,13 +2137,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr ""
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 #, fuzzy
 #| msgid "Notifications"
 msgid "Identicon"
@@ -2376,29 +2155,11 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
 
 #: aleksis/core/templates/core/perms/assign.html:12
@@ -2416,6 +2177,11 @@ msgstr "Simulandum aliquem finire"
 msgid "Assign"
 msgstr ""
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr ""
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr ""
@@ -2461,32 +2227,6 @@ msgstr "Simulandum aliquem finire"
 msgid "Edit person"
 msgstr ""
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-#, fuzzy
-#| msgid "Impersonation"
-msgid "Impersonate"
-msgstr "Simulare aliquem"
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-#, fuzzy
-#| msgid "Impersonation"
-msgid "Invite user"
-msgstr "Simulare aliquem"
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr ""
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr ""
@@ -2508,6 +2248,10 @@ msgstr "Muta anum scolae"
 msgid "Edit school term"
 msgstr "Muta anum scolae"
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr ""
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr ""
@@ -2541,6 +2285,12 @@ msgstr ""
 msgid "site preferences page"
 msgstr ""
 
+#: aleksis/core/templates/invitations/enter.html:7
+#, fuzzy
+#| msgid "Edit school information"
+msgid "Accept invitation"
+msgstr "Muta informationes scolae"
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr ""
@@ -2593,6 +2343,13 @@ msgstr ""
 msgid "Register OAuth2 Application"
 msgstr "Nuntii"
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 #, fuzzy
 #| msgid "Notifications"
@@ -2632,6 +2389,13 @@ msgstr "Nuntii"
 msgid "Edit OAuth2 Application"
 msgstr "Nuntii"
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+#, fuzzy
+#| msgid "Notifications"
+msgid "OAuth2 Applications"
+msgstr "Nuntii"
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 #, fuzzy
 #| msgid "Edit school information"
@@ -2666,14 +2430,6 @@ msgstr ""
 msgid "Disallow"
 msgstr ""
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr ""
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2688,6 +2444,13 @@ msgstr ""
 msgid "Revoke"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+#, fuzzy
+#| msgid "Notifications"
+msgid "Authorized applications"
+msgstr "Nuntii"
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 #, fuzzy
 #| msgid "Notifications"
@@ -2699,13 +2462,13 @@ msgid "Network error"
 msgstr ""
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
+msgid "Page not available offline."
 msgstr ""
 
 #: aleksis/core/templates/offline.html:14
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
 "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
@@ -3001,6 +2764,12 @@ msgstr ""
 msgid "Generate Tokens"
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr "nomen profiteri"
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, fuzzy, python-format
 #| msgid "Stop impersonation"
@@ -3096,6 +2865,10 @@ msgid ""
 "          security."
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3319,195 +3092,238 @@ msgstr ""
 msgid "SMS"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr ""
 
-#: aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr ""
 
-#: aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr ""
 
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:775
+#: aleksis/core/views.py:730
 #, fuzzy
 #| msgid "Additional name(s)"
 msgid "The additional field has been saved."
 msgstr "addita nomines"
 
-#: aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr ""
 
-#: aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 #, fuzzy
 #| msgid "System status"
 msgid "Run data checks …"
 msgstr "Status systemae"
 
-#: aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr ""
 
-#: aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr ""
 
-#: aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr ""
 
-#: aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr ""
 
-#: aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr ""
 
-#: aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr ""
-
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr ""
-
-#: aleksis/core/views.py:1411
+#: aleksis/core/views.py:1349
 msgid "The third-party account could not be disconnected because it is the only login method available."
 msgstr ""
 
-#: aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr ""
 
-#: aleksis/core/views.py:1489
+#: aleksis/core/views.py:1432
 msgid "Person was invited successfully and an email with further instructions has been send to them."
 msgstr ""
 
-#: aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr ""
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr ""
+#~ msgid "Dashboard"
+#~ msgstr "Forum"
 
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr ""
+#~ msgid "Admin"
+#~ msgstr "Administratio"
 
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr ""
+#~ msgid "Data management"
+#~ msgstr "Adminstratio datarum"
+
+#, fuzzy
+#~| msgid "Notification"
+#~ msgid "Configuration"
+#~ msgstr "Nuntius"
+
+#~ msgid "People"
+#~ msgstr "Personae"
+
+#, fuzzy
+#~| msgid "Stop impersonation"
+#~ msgid "Invite person"
+#~ msgstr "Simulandum aliquem finire"
+
+#~ msgid "Stop impersonation"
+#~ msgstr "Simulandum aliquem finire"
+
+#, fuzzy
+#~| msgid "Persons and accounts"
+#~ msgid "Third-party accounts"
+#~ msgstr "Personae et computi"
+
+#~ msgid "Logout"
+#~ msgstr "nomen retractare"
+
+#, fuzzy
+#~| msgid "Notifications"
+#~ msgid "Recent notifications"
+#~ msgstr "Nuntii"
+
+#, fuzzy
+#~| msgid "Edit school information"
+#~ msgid "More information →"
+#~ msgstr "Muta informationes scolae"
+
+#, fuzzy
+#~| msgid "Edit school information"
+#~ msgid "Licence information"
+#~ msgstr "Muta informationes scolae"
+
+#, fuzzy
+#~| msgid "Edit school information"
+#~ msgid "More information about the EUPL"
+#~ msgstr "Muta informationes scolae"
+
+#, fuzzy
+#~| msgid "Impersonation"
+#~ msgid "Impersonate"
+#~ msgstr "Simulare aliquem"
+
+#, fuzzy
+#~| msgid "Impersonation"
+#~ msgid "Invite user"
+#~ msgstr "Simulare aliquem"
 
 #, fuzzy
 #~| msgid "Street number"
diff --git a/aleksis/core/locale/la/LC_MESSAGES/djangojs.po b/aleksis/core/locale/la/LC_MESSAGES/djangojs.po
index 26f9dbd80e1c93710efaf2abf60ffd0754e043b6..726d9cab18b9d431a74d68ffb2df35db6aff97b5 100644
--- a/aleksis/core/locale/la/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/la/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -28,7 +28,3 @@ msgstr ""
 #: aleksis/core/static/js/main.js:68
 msgid "OK"
 msgstr ""
-
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr ""
diff --git a/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po
index a4ef0700a3b00bab188af924342dd605c6624b21..2ea99e7cad1be5a61c71b50784fec05db9003c9d 100644
--- a/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -17,34 +17,33 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr ""
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr ""
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr ""
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr ""
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr ""
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
 #: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 msgid "Groups"
 msgstr ""
 
-#: aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr ""
 
@@ -53,49 +52,29 @@ msgstr ""
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr ""
 
-#: aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr ""
 
-#: aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr ""
 
-#: aleksis/core/data_checks.py:330
+#: aleksis/core/data_checks.py:320
 #, python-format
 msgid "Validate field %s of model %s."
 msgstr ""
 
-#: aleksis/core/data_checks.py:332
+#: aleksis/core/data_checks.py:322
 #, python-format
 msgid "The field %s couldn't be validated successfully."
 msgstr ""
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr ""
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr ""
-
-#: aleksis/core/feeds.py:66
-#, python-format
-msgid "%(name)s's birthday"
-msgstr ""
-
-#: aleksis/core/feeds.py:71
-#, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr ""
-
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -167,8 +146,7 @@ msgid "Common data"
 msgstr ""
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:164
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr ""
@@ -257,7 +235,7 @@ msgid "You must select at least one group or person which should get the permiss
 msgstr ""
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr ""
 
 #: aleksis/core/forms.py:586
@@ -276,15 +254,15 @@ msgstr ""
 msgid "Password (again)"
 msgstr ""
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr ""
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr ""
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr ""
 
@@ -308,160 +286,6 @@ msgstr ""
 msgid "No backup result found!"
 msgstr ""
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr ""
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr ""
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr ""
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr ""
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:872
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr ""
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:142
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr ""
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr ""
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr ""
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr ""
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr ""
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr ""
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr ""
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr ""
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr ""
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1111
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-msgid "Group types"
-msgstr ""
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr ""
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:542
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-msgid "Additional fields"
-msgstr ""
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr ""
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr ""
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr ""
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr ""
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr ""
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr ""
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr ""
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr ""
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr ""
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr ""
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr ""
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr ""
@@ -507,7 +331,6 @@ msgid "URL / Link"
 msgstr ""
 
 #: aleksis/core/models.py:105 aleksis/core/models.py:1077
-#: aleksis/core/models.py:1384
 msgid "Name"
 msgstr ""
 
@@ -527,8 +350,13 @@ msgstr ""
 msgid "There is already a school term for this time or a part of this time."
 msgstr ""
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:1024
-#: aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr ""
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr ""
 
@@ -568,7 +396,7 @@ msgstr ""
 msgid "other"
 msgstr ""
 
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr ""
 
@@ -577,6 +405,7 @@ msgid "Additional name(s)"
 msgstr ""
 
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr ""
 
@@ -596,11 +425,11 @@ msgstr ""
 msgid "Place"
 msgstr ""
 
-#: aleksis/core/models.py:207 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr ""
 
-#: aleksis/core/models.py:208 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr ""
 
@@ -628,7 +457,7 @@ msgstr ""
 msgid "This is a picture or an avatar for public display."
 msgstr ""
 
-#: aleksis/core/models.py:234 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr ""
 
@@ -637,7 +466,7 @@ msgid "Primary group"
 msgstr ""
 
 #: aleksis/core/models.py:244 aleksis/core/models.py:724
-#: aleksis/core/models.py:748 aleksis/core/models.py:839
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
 #: aleksis/core/models.py:1104
 msgid "Description"
 msgstr ""
@@ -674,7 +503,7 @@ msgstr ""
 msgid "Can view statistics about group."
 msgstr ""
 
-#: aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr ""
 
@@ -694,8 +523,14 @@ msgstr ""
 msgid "Type of group"
 msgstr ""
 
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr ""
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr ""
@@ -724,166 +559,175 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr ""
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr ""
 
-#: aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr ""
 
-#: aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr ""
 
-#: aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr ""
 
-#: aleksis/core/models.py:772 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr ""
 
-#: aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr ""
 
-#: aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr ""
 
-#: aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr ""
 
-#: aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr ""
 
-#: aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr ""
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr ""
 
-#: aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr ""
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr ""
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr ""
 
-#: aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr ""
 
-#: aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr ""
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr ""
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr ""
 
-#: aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr ""
 
-#: aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr ""
 
-#: aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr ""
 
-#: aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr ""
 
-#: aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr ""
 
-#: aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr ""
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr ""
 
-#: aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr ""
 
-#: aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr ""
 
-#: aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr ""
 
-#: aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr ""
 
-#: aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr ""
 
-#: aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr ""
 
@@ -891,11 +735,6 @@ msgstr ""
 msgid "Menu"
 msgstr ""
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr ""
-
 #: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr ""
@@ -912,6 +751,12 @@ msgstr ""
 msgid "Group type"
 msgstr ""
 
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr ""
+
 #: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr ""
@@ -988,64 +833,116 @@ msgstr ""
 msgid "File expires at"
 msgstr ""
 
-#: aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr ""
 
-#: aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr ""
 
-#: aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr ""
 
-#: aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr ""
 
+#: aleksis/core/models.py:1263
+msgid "Back URL"
+msgstr ""
+
+#: aleksis/core/models.py:1264
+msgid "Progress title"
+msgstr ""
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+msgid "Success message"
+msgstr ""
+
+#: aleksis/core/models.py:1267
+msgid "Redirect on success URL"
+msgstr ""
+
 #: aleksis/core/models.py:1269
+msgid "Additional button title"
+msgstr ""
+
+#: aleksis/core/models.py:1271
+msgid "Additional button URL"
+msgstr ""
+
+#: aleksis/core/models.py:1273
+msgid "Additional button icon"
+msgstr ""
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+msgid "Background task completed successfully"
+msgstr ""
+
+#: aleksis/core/models.py:1301
+msgid "The background task '{}' has been completed successfully."
+msgstr ""
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr ""
 
-#: aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr ""
 
-#: aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr ""
 
-#: aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr ""
 
-#: aleksis/core/models.py:1334
+#: aleksis/core/models.py:1396
 msgid "This image will be shown as icon in the authorization flow. It should be squared."
 msgstr ""
 
-#: aleksis/core/models.py:1383
-msgid "UUID"
+#: aleksis/core/models.py:1441
+msgid "Can view room timetable"
 msgstr ""
 
-#: aleksis/core/models.py:1387
-msgid "Selected ICal feed"
+#: aleksis/core/models.py:1443
+msgid "Room"
 msgstr ""
 
-#: aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr ""
-
-#: aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
 msgstr ""
 
 #: aleksis/core/preferences.py:25
@@ -1136,135 +1033,141 @@ msgstr ""
 msgid "Channels to use for notifications"
 msgstr ""
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+msgid "Select Design"
+msgstr ""
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr ""
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr ""
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr ""
 
-#: aleksis/core/preferences.py:241
+#: aleksis/core/preferences.py:256
 msgid "Automatically link existing persons to new users by their e-mail address"
 msgstr ""
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr ""
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr ""
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr ""
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr ""
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr ""
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr ""
 
-#: aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr ""
 
-#: aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr ""
 
-#: aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr ""
 
-#: aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr ""
 
-#: aleksis/core/preferences.py:409
+#: aleksis/core/preferences.py:424
 msgid "Editable fields on person model which should trigger a notification on change"
 msgstr ""
 
-#: aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr ""
 
-#: aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr ""
 
-#: aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr ""
 
-#: aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr ""
 
-#: aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr ""
 
-#: aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr ""
 
-#: aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr ""
 
-#: aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr ""
 
-#: aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr ""
 
-#: aleksis/core/settings.py:543
+#: aleksis/core/settings.py:541
 msgid "Ukrainian"
 msgstr ""
 
 #: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
 #: aleksis/core/templates/core/group/full.html:26
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr ""
@@ -1281,15 +1184,12 @@ msgstr ""
 #: aleksis/core/templates/core/announcement/list.html:42
 #: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr ""
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr ""
 
@@ -1388,6 +1288,17 @@ msgstr ""
 msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr ""
+
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
 msgstr ""
@@ -1501,6 +1412,11 @@ msgstr ""
 msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr ""
+
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
 msgid "Signup closed"
@@ -1591,18 +1507,6 @@ msgstr ""
 msgid "There are no announcements."
 msgstr ""
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr ""
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr ""
@@ -1632,6 +1536,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr ""
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr ""
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr ""
@@ -1647,6 +1556,11 @@ msgstr ""
 msgid "Edit default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr ""
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr ""
@@ -1740,6 +1654,11 @@ msgstr ""
 msgid "Default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr ""
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
@@ -1819,8 +1738,6 @@ msgid "Edit group"
 msgstr ""
 
 #: aleksis/core/templates/core/group/full.html:40
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 msgid "Change preferences"
 msgstr ""
 
@@ -1874,45 +1791,11 @@ msgstr ""
 msgid "Create group type"
 msgstr ""
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr ""
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
 "        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
@@ -1920,101 +1803,14 @@ msgid ""
 "      "
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2028,16 +1824,9 @@ msgid ""
 "    "
 msgstr ""
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be updated.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
 msgstr ""
 
 #: aleksis/core/templates/core/pages/system_status.html:12
@@ -2163,13 +1952,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr ""
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr ""
 
@@ -2181,29 +1968,11 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
 
 #: aleksis/core/templates/core/perms/assign.html:12
@@ -2219,6 +1988,11 @@ msgstr ""
 msgid "Assign"
 msgstr ""
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr ""
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr ""
@@ -2262,28 +2036,6 @@ msgstr ""
 msgid "Edit person"
 msgstr ""
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr ""
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr ""
@@ -2303,6 +2055,10 @@ msgstr ""
 msgid "Edit school term"
 msgstr ""
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr ""
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr ""
@@ -2336,6 +2092,10 @@ msgstr ""
 msgid "site preferences page"
 msgstr ""
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr ""
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr ""
@@ -2384,6 +2144,13 @@ msgstr ""
 msgid "Register OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr ""
@@ -2417,6 +2184,11 @@ msgstr ""
 msgid "Edit OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr ""
@@ -2448,14 +2220,6 @@ msgstr ""
 msgid "Disallow"
 msgstr ""
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr ""
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2470,6 +2234,11 @@ msgstr ""
 msgid "Revoke"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr ""
@@ -2479,13 +2248,13 @@ msgid "Network error"
 msgstr ""
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
+msgid "Page not available offline."
 msgstr ""
 
 #: aleksis/core/templates/offline.html:14
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
 "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
@@ -2766,6 +2535,12 @@ msgstr ""
 msgid "Generate Tokens"
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -2860,6 +2635,10 @@ msgid ""
 "          security."
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3083,191 +2862,171 @@ msgstr ""
 msgid "SMS"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr ""
 
-#: aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr ""
 
-#: aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr ""
 
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:775
+#: aleksis/core/views.py:730
 msgid "The additional field has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr ""
 
-#: aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr ""
 
-#: aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr ""
 
-#: aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr ""
 
-#: aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr ""
 
-#: aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr ""
 
-#: aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr ""
 
-#: aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr ""
-
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr ""
-
-#: aleksis/core/views.py:1411
+#: aleksis/core/views.py:1349
 msgid "The third-party account could not be disconnected because it is the only login method available."
 msgstr ""
 
-#: aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr ""
 
-#: aleksis/core/views.py:1489
+#: aleksis/core/views.py:1432
 msgid "Person was invited successfully and an email with further instructions has been send to them."
 msgstr ""
 
-#: aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr ""
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr ""
-
 #~ msgid "Norwegian (bokmål)"
 #~ msgstr "Norsk (bokmål)"
diff --git a/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po b/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po
index 26f9dbd80e1c93710efaf2abf60ffd0754e043b6..726d9cab18b9d431a74d68ffb2df35db6aff97b5 100644
--- a/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -28,7 +28,3 @@ msgstr ""
 #: aleksis/core/static/js/main.js:68
 msgid "OK"
 msgstr ""
-
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr ""
diff --git a/aleksis/core/locale/ru/LC_MESSAGES/django.po b/aleksis/core/locale/ru/LC_MESSAGES/django.po
index 378e7a1a676224c921dfb2f19c2d4cb5507c420f..90703e6c4415480c873dbdaf505af0622a2ea982 100644
--- a/aleksis/core/locale/ru/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/ru/LC_MESSAGES/django.po
@@ -7,89 +7,75 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-24 19:37+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2022-07-05 12:54+0000\n"
 "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
-"Language-Team: Russian <https://translate.edugit.org/projects/aleksis/"
-"aleksis-core/ru/>\n"
+"Language-Team: Russian <https://translate.edugit.org/projects/aleksis/aleksis-core/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
-"%100>=11 && n%100<=14)? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
 "X-Generator: Weblate 4.12.1\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr "Граница действия OpenID Connect"
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr "Имя, фамилия, ссылка на профиль и фото, если есть."
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr "Полный домашний почтовый адрес"
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr "Адрес эл.почты"
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr "Домашний и мобильный телефоны"
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
-#: aleksis/core/models.py:489 aleksis/core/templates/core/group/list.html:8
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
+#: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 msgid "Groups"
 msgstr "Группы"
 
-#: aleksis/core/data_checks.py:56
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr "Игнорировать проблему"
 
-#: aleksis/core/data_checks.py:185
+#: aleksis/core/data_checks.py:188
 #, python-brace-format
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr "Вариант решения '{solve_option_obj.verbose_name}' "
 
-#: aleksis/core/data_checks.py:291
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr "Отключить виджет информпанели"
 
-#: aleksis/core/data_checks.py:303
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr "Убедитесь в отсутствии сбойных виджетов на информапанели."
 
-#: aleksis/core/data_checks.py:304
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr "Виджет информпанели сообщил о сбое в автоматическом режиме."
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr "Календарь Дней Рождения"
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr "Календарь Дней Рождения"
-
-#: aleksis/core/feeds.py:66
+#: aleksis/core/data_checks.py:320
 #, python-format
-msgid "%(name)s's birthday"
-msgstr "%(name)s отмечает День Рождения"
+msgid "Validate field %s of model %s."
+msgstr "Проверьте поле %s модели %s."
 
-#: aleksis/core/feeds.py:71
+#: aleksis/core/data_checks.py:322
 #, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr "%(name)s родился(-лась) %(birthday)s"
+msgid "The field %s couldn't be validated successfully."
+msgstr "Поле %s проверить не удалось."
 
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -112,11 +98,11 @@ msgstr "Разрешение"
 msgid "Content type"
 msgstr "Тип содержимого"
 
-#: aleksis/core/filters.py:113 aleksis/core/models.py:715
+#: aleksis/core/filters.py:113 aleksis/core/models.py:720
 msgid "User"
 msgstr "Пользователь"
 
-#: aleksis/core/filters.py:135 aleksis/core/models.py:488
+#: aleksis/core/filters.py:135 aleksis/core/models.py:493
 msgid "Group"
 msgstr "Группа"
 
@@ -124,7 +110,7 @@ msgstr "Группа"
 msgid "Base data"
 msgstr "Основные данные"
 
-#: aleksis/core/forms.py:55
+#: aleksis/core/forms.py:55 aleksis/core/tables.py:47
 msgid "Address"
 msgstr "Адрес"
 
@@ -152,7 +138,7 @@ msgstr "После выбора существующего пользовате
 msgid "This username is already in use."
 msgstr "Этот логин уже занят."
 
-#: aleksis/core/forms.py:153 aleksis/core/models.py:136
+#: aleksis/core/forms.py:153 aleksis/core/models.py:141
 msgid "School term"
 msgstr "Учебный год"
 
@@ -161,8 +147,7 @@ msgid "Common data"
 msgstr "Общие данные"
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:159
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr "Люди"
@@ -171,18 +156,18 @@ msgstr "Люди"
 msgid "Additional data"
 msgstr "Дополнительные данные"
 
-#: aleksis/core/forms.py:157 aleksis/core/models.py:212
-#: aleksis/core/models.py:541
+#: aleksis/core/forms.py:157 aleksis/core/models.py:217
+#: aleksis/core/models.py:546 aleksis/core/tables.py:46
 msgid "Photo"
 msgstr "Фото"
 
 #: aleksis/core/forms.py:199 aleksis/core/forms.py:202
-#: aleksis/core/models.py:79
+#: aleksis/core/models.py:84
 msgid "Date"
 msgstr "Дата"
 
 #: aleksis/core/forms.py:200 aleksis/core/forms.py:203
-#: aleksis/core/models.py:87
+#: aleksis/core/models.py:92
 msgid "Time"
 msgstr "Время"
 
@@ -199,8 +184,7 @@ msgid "Write your announcement:"
 msgstr "Напишите свое объявление:"
 
 #: aleksis/core/forms.py:276
-msgid ""
-"You are not allowed to create announcements which are only valid in the past."
+msgid "You are not allowed to create announcements which are only valid in the past."
 msgstr "Объявления для прошлого Вам создавать не разрешено."
 
 #: aleksis/core/forms.py:280
@@ -219,11 +203,11 @@ msgstr "Код приглашения"
 msgid "Please enter your invitation code."
 msgstr "Укажите, пожалуйста, код приглашения."
 
-#: aleksis/core/forms.py:418 aleksis/core/models.py:187
+#: aleksis/core/forms.py:418 aleksis/core/models.py:192
 msgid "First name"
 msgstr "Имя"
 
-#: aleksis/core/forms.py:419 aleksis/core/models.py:188
+#: aleksis/core/forms.py:419 aleksis/core/models.py:193
 msgid "Last name"
 msgstr "Фамилия"
 
@@ -248,12 +232,13 @@ msgid "Grant the permission for all objects"
 msgstr "Предоставить доступ ко всем объектам"
 
 #: aleksis/core/forms.py:494
-msgid ""
-"You must select at least one group or person which should get the permission."
+msgid "You must select at least one group or person which should get the permission."
 msgstr "Вам нужно выбрать хотя бы одну группу или физлицо, кто получит доступ."
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+#, fuzzy
+#| msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr "Вы должны предоставить доступ ко всем и/или к некоторым объектам."
 
 #: aleksis/core/forms.py:586
@@ -272,15 +257,15 @@ msgstr "Пароль"
 msgid "Password (again)"
 msgstr "Пароль (ещё раз)"
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr "Выбранное действие не существует."
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr "У Вас нет разрешения на запуск {} на всех выбранных объектах."
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr "Неправильный выбор."
 
@@ -304,748 +289,684 @@ msgstr "Резервная копия не найдена!"
 msgid "No backup result found!"
 msgstr "Результат резервного копирования не найден!"
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr "Войти"
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr "Зарегистрироваться"
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr "Принять приглашение"
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr "Информпанель"
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr "Админ"
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:867
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr "Объявление"
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:137
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr "Учебный год"
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr "Виджеты информпанели"
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr "Управление данными"
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr "Состояние системы"
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr "Конфигурация"
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr "Проверки данных"
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr "Управление разрешениями"
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr "Администрирование бекенда"
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr "Приложения OAuth2"
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr "Люди"
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1101
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-msgid "Group types"
-msgstr "Типы групп"
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr "Группы и дочерние группы"
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:537
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-msgid "Additional fields"
-msgstr "Дополнительные поля"
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr "Пригласить знакомого"
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr "Определить дочерние группы к группе"
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr "Остановить прикрытие"
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr "Учётная запись"
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr "Свойства"
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr "2FA"
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr "Сменить пароль"
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr "Учётные записи третих сторон"
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr "Авторизованные приложения"
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr "Ленты календарей"
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr "Выйти"
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr "Связанный учебный год"
 
-#: aleksis/core/models.py:77
+#: aleksis/core/models.py:82
 msgid "Boolean (Yes/No)"
 msgstr "Булево (Да/Нет)"
 
-#: aleksis/core/models.py:78
+#: aleksis/core/models.py:83
 msgid "Text (one line)"
 msgstr "Текст (одна строка)"
 
-#: aleksis/core/models.py:80
+#: aleksis/core/models.py:85
 msgid "Date and time"
 msgstr "Дата и время"
 
-#: aleksis/core/models.py:81
+#: aleksis/core/models.py:86
 msgid "Decimal number"
 msgstr "Десятичное число"
 
-#: aleksis/core/models.py:82 aleksis/core/models.py:205
+#: aleksis/core/models.py:87 aleksis/core/models.py:210
 msgid "E-mail address"
 msgstr "Адрес эл.почты"
 
-#: aleksis/core/models.py:83
+#: aleksis/core/models.py:88
 msgid "Integer"
 msgstr "Целое"
 
-#: aleksis/core/models.py:84
+#: aleksis/core/models.py:89
 msgid "IP address"
 msgstr "IP адрес"
 
-#: aleksis/core/models.py:85
+#: aleksis/core/models.py:90
 msgid "Boolean or empty (Yes/No/Neither)"
 msgstr "Булево или пустое (Да/Нет/Ничего)"
 
-#: aleksis/core/models.py:86
+#: aleksis/core/models.py:91
 msgid "Text (multi-line)"
 msgstr "Текст (многострочный)"
 
-#: aleksis/core/models.py:88
+#: aleksis/core/models.py:93
 msgid "URL / Link"
 msgstr "URL / Ссылка"
 
-#: aleksis/core/models.py:100 aleksis/core/models.py:1070
-#: aleksis/core/models.py:1374
+#: aleksis/core/models.py:105 aleksis/core/models.py:1077
 msgid "Name"
 msgstr "Имя"
 
-#: aleksis/core/models.py:102
+#: aleksis/core/models.py:107
 msgid "Start date"
 msgstr "Дата начала"
 
-#: aleksis/core/models.py:103
+#: aleksis/core/models.py:108
 msgid "End date"
 msgstr "Дата окончания"
 
-#: aleksis/core/models.py:122
+#: aleksis/core/models.py:127
 msgid "The start date must be earlier than the end date."
 msgstr "Дата начала должна быть ранее даты окончания."
 
-#: aleksis/core/models.py:129
+#: aleksis/core/models.py:134
 msgid "There is already a school term for this time or a part of this time."
 msgstr "На это время или на его часть уже запланирован учебный год."
 
-#: aleksis/core/models.py:158 aleksis/core/models.py:1019
-#: aleksis/core/models.py:1371
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr "Учебный год"
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr "Физлицо"
 
-#: aleksis/core/models.py:161
+#: aleksis/core/models.py:166
 msgid "Can view address"
 msgstr "Может видеть адрес"
 
-#: aleksis/core/models.py:162
+#: aleksis/core/models.py:167
 msgid "Can view contact details"
 msgstr "Может видеть контактные данные"
 
-#: aleksis/core/models.py:163
+#: aleksis/core/models.py:168
 msgid "Can view photo"
 msgstr "Может видеть фото"
 
-#: aleksis/core/models.py:164
+#: aleksis/core/models.py:169
 msgid "Can view avatar image"
 msgstr "Может видеть аватар"
 
-#: aleksis/core/models.py:165
+#: aleksis/core/models.py:170
 msgid "Can view persons groups"
 msgstr "Может видеть группы лиц"
 
-#: aleksis/core/models.py:166
+#: aleksis/core/models.py:171
 msgid "Can view personal details"
 msgstr "Может видеть личные данные"
 
-#: aleksis/core/models.py:176
+#: aleksis/core/models.py:181
 msgid "female"
 msgstr "жен"
 
-#: aleksis/core/models.py:176
+#: aleksis/core/models.py:181
 msgid "male"
 msgstr "муж"
 
-#: aleksis/core/models.py:184 aleksis/core/models.py:1273
+#: aleksis/core/models.py:181
+msgid "other"
+msgstr "другой"
+
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr "Связанный пользователь"
 
-#: aleksis/core/models.py:190
+#: aleksis/core/models.py:195
 msgid "Additional name(s)"
 msgstr "Дополнительные имена"
 
-#: aleksis/core/models.py:194 aleksis/core/models.py:506
+#: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr "Короткое имя"
 
-#: aleksis/core/models.py:197
+#: aleksis/core/models.py:202
 msgid "Street"
 msgstr "Улица"
 
-#: aleksis/core/models.py:198
+#: aleksis/core/models.py:203
 msgid "Street number"
 msgstr "Номер дома"
 
-#: aleksis/core/models.py:199
+#: aleksis/core/models.py:204
 msgid "Postal code"
 msgstr "Почтовый индекс"
 
-#: aleksis/core/models.py:200
+#: aleksis/core/models.py:205
 msgid "Place"
 msgstr "Город/место"
 
-#: aleksis/core/models.py:202 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr "Домашний телефон"
 
-#: aleksis/core/models.py:203 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr "Мобильный телефон"
 
-#: aleksis/core/models.py:207
+#: aleksis/core/models.py:212
 msgid "Date of birth"
 msgstr "Дата рождения"
 
-#: aleksis/core/models.py:208
+#: aleksis/core/models.py:213
 msgid "Place of birth"
 msgstr "Место рождения"
 
-#: aleksis/core/models.py:209
+#: aleksis/core/models.py:214
 msgid "Sex"
 msgstr "Пол"
 
-#: aleksis/core/models.py:216 aleksis/core/models.py:545
-msgid ""
-"This is an official photo, used for official documents and for internal use "
-"cases."
-msgstr ""
-"Это официальное фото, которое используется для документов и внутренних нужд."
+#: aleksis/core/models.py:221 aleksis/core/models.py:550
+msgid "This is an official photo, used for official documents and for internal use cases."
+msgstr "Это официальное фото, которое используется для документов и внутренних нужд."
 
-#: aleksis/core/models.py:221 aleksis/core/models.py:549
+#: aleksis/core/models.py:226 aleksis/core/models.py:554
 msgid "Display picture / Avatar"
 msgstr "Отобразить фото/аватар"
 
-#: aleksis/core/models.py:224 aleksis/core/models.py:552
+#: aleksis/core/models.py:229 aleksis/core/models.py:557
 msgid "This is a picture or an avatar for public display."
 msgstr "Это фото или аватар для общего отображения."
 
-#: aleksis/core/models.py:229 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr "Опекуны / Родители"
 
-#: aleksis/core/models.py:236
+#: aleksis/core/models.py:241
 msgid "Primary group"
 msgstr "Основная группа"
 
-#: aleksis/core/models.py:239 aleksis/core/models.py:719
-#: aleksis/core/models.py:743 aleksis/core/models.py:834
-#: aleksis/core/models.py:1094
+#: aleksis/core/models.py:244 aleksis/core/models.py:724
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
+#: aleksis/core/models.py:1104
 msgid "Description"
 msgstr "Описание"
 
-#: aleksis/core/models.py:459
+#: aleksis/core/models.py:464
 msgid "Title of field"
 msgstr "Название поля"
 
-#: aleksis/core/models.py:461 aleksis/core/models.py:466
+#: aleksis/core/models.py:466
 msgid "Type of field"
 msgstr "Тип поля"
 
-#: aleksis/core/models.py:463
+#: aleksis/core/models.py:468
 msgid "Required"
 msgstr "Необходимое"
 
-#: aleksis/core/models.py:464
+#: aleksis/core/models.py:469
 msgid "Help text / description"
 msgstr "Вспомогательный текст / описание"
 
-#: aleksis/core/models.py:470
+#: aleksis/core/models.py:475
 msgid "Addtitional field for groups"
 msgstr "Дополнительное поле для групп"
 
-#: aleksis/core/models.py:471
+#: aleksis/core/models.py:476
 msgid "Addtitional fields for groups"
 msgstr "Дополнительные поля для групп"
 
-#: aleksis/core/models.py:491
+#: aleksis/core/models.py:496
 msgid "Can assign child groups to groups"
 msgstr "Может определять дочерние группы в группы"
 
-#: aleksis/core/models.py:492
+#: aleksis/core/models.py:497
 msgid "Can view statistics about group."
 msgstr "Может видеть статистику группы."
 
-#: aleksis/core/models.py:504
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr "Длинное имя"
 
-#: aleksis/core/models.py:514 aleksis/core/templates/core/group/full.html:85
+#: aleksis/core/models.py:519 aleksis/core/templates/core/group/full.html:105
 msgid "Members"
 msgstr "Участники"
 
-#: aleksis/core/models.py:517 aleksis/core/templates/core/group/full.html:82
+#: aleksis/core/models.py:522 aleksis/core/templates/core/group/full.html:102
 msgid "Owners"
 msgstr "Владельцы"
 
-#: aleksis/core/models.py:524 aleksis/core/templates/core/group/full.html:55
+#: aleksis/core/models.py:529 aleksis/core/templates/core/group/full.html:59
 msgid "Parent groups"
 msgstr "Родительские группы"
 
-#: aleksis/core/models.py:532
+#: aleksis/core/models.py:537
 msgid "Type of group"
 msgstr "Тип группы"
 
-#: aleksis/core/models.py:718 aleksis/core/models.py:742
-#: aleksis/core/models.py:833
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr "Дополнительные поля"
+
+#: aleksis/core/models.py:723 aleksis/core/models.py:747
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr "Название"
 
-#: aleksis/core/models.py:721
+#: aleksis/core/models.py:726
 msgid "Application"
 msgstr "Приложение"
 
-#: aleksis/core/models.py:727
+#: aleksis/core/models.py:732
 msgid "Activity"
 msgstr "Активность"
 
-#: aleksis/core/models.py:728
+#: aleksis/core/models.py:733
 msgid "Activities"
 msgstr "Активности"
 
-#: aleksis/core/models.py:734
+#: aleksis/core/models.py:739
 msgid "Sender"
 msgstr "Отправитель"
 
-#: aleksis/core/models.py:739
+#: aleksis/core/models.py:744
 msgid "Recipient"
 msgstr "Получатель"
 
-#: aleksis/core/models.py:744 aleksis/core/models.py:1071
+#: aleksis/core/models.py:749 aleksis/core/models.py:1078
 msgid "Link"
 msgstr "Ссылка"
 
-#: aleksis/core/models.py:746
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr "Иконка"
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr "Отправить уведомление в"
 
-#: aleksis/core/models.py:748
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr "Читать"
 
-#: aleksis/core/models.py:749
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr "Отправлено"
 
-#: aleksis/core/models.py:766
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr "Уведомление"
 
-#: aleksis/core/models.py:767 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr "Уведомления"
 
-#: aleksis/core/models.py:835
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr "Ссылка на подробный обзор"
 
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr "Дата и время, с которого показывать"
 
-#: aleksis/core/models.py:841
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr "Дата и время, по какое показывать"
 
-#: aleksis/core/models.py:866
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr "Объявление"
 
-#: aleksis/core/models.py:904
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr "Объявление"
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr "Получатель объявления"
 
-#: aleksis/core/models.py:905
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr "Получатели объявления"
 
-#: aleksis/core/models.py:927
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr "Название виджета"
 
-#: aleksis/core/models.py:928
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr "Активировать виджет"
 
-#: aleksis/core/models.py:929
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr "Виджет поломался"
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr "Размер на мобильных"
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr "<= 600 пикс, 12 столбцов"
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr "Размер на планшетах"
 
-#: aleksis/core/models.py:939
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr "> 600 пикс, 12 столбцов"
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr "Размер на ПК"
 
-#: aleksis/core/models.py:945
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr "> 992 пикс, 12 столбцов"
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr "Размер для больших экранов"
 
-#: aleksis/core/models.py:951
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr "> 1200 пикс, 12 столбцов"
 
-#: aleksis/core/models.py:982
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr "Может редактировать типовую/стандартную информпанель"
 
-#: aleksis/core/models.py:983
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr "Виджет информпанели"
 
-#: aleksis/core/models.py:984
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr "Виджеты информпанели"
 
-#: aleksis/core/models.py:990 aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr "URL"
 
-#: aleksis/core/models.py:991
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr "Иконка URL"
 
-#: aleksis/core/models.py:997
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr "Внешняя ссылка на виджет"
 
-#: aleksis/core/models.py:998
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr "Внешние ссылки на виджеты"
 
-#: aleksis/core/models.py:1004
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr "Содержимое"
 
-#: aleksis/core/models.py:1010
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr "Виджет с постоянным содержимым"
 
-#: aleksis/core/models.py:1011
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr "Виджеты с постоянным содержимым"
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr "Виджет информпанели"
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr "Порядок"
 
-#: aleksis/core/models.py:1022
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr "Часть типовой информпанели"
 
-#: aleksis/core/models.py:1037
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr "Порядок виджета на информпанели"
 
-#: aleksis/core/models.py:1038
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr "Порядок виджетов на информпанели"
 
-#: aleksis/core/models.py:1044 aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr "Меню ID"
 
-#: aleksis/core/models.py:1057
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr "Пользовательское меню"
 
-#: aleksis/core/models.py:1058
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr "Пользовательские меню"
 
-#: aleksis/core/models.py:1068
+#: aleksis/core/models.py:1075
 msgid "Menu"
 msgstr "Меню"
 
-#: aleksis/core/models.py:1072 aleksis/core/models.py:1320
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr "Иконка"
-
-#: aleksis/core/models.py:1078
+#: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr "Пункт пользовательского меню"
 
-#: aleksis/core/models.py:1079
+#: aleksis/core/models.py:1086
 msgid "Custom menu items"
 msgstr "Пункты пользовательского меню"
 
-#: aleksis/core/models.py:1093
+#: aleksis/core/models.py:1103
 msgid "Title of type"
 msgstr "Название типа"
 
-#: aleksis/core/models.py:1100 aleksis/core/templates/core/group/full.html:47
+#: aleksis/core/models.py:1110 aleksis/core/templates/core/group/full.html:50
 msgid "Group type"
 msgstr "Тип группы"
 
-#: aleksis/core/models.py:1114
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr "Типы групп"
+
+#: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr "Может просматривать состояние системы"
 
-#: aleksis/core/models.py:1115
+#: aleksis/core/models.py:1125
 msgid "Can manage data"
 msgstr "Может управлять данными"
 
-#: aleksis/core/models.py:1116
+#: aleksis/core/models.py:1126
 msgid "Can impersonate"
 msgstr "Может маскироваться"
 
-#: aleksis/core/models.py:1117
+#: aleksis/core/models.py:1127
 msgid "Can use search"
 msgstr "Может использовать поиск"
 
-#: aleksis/core/models.py:1118
+#: aleksis/core/models.py:1128
 msgid "Can change site preferences"
 msgstr "Может менять свойства сайта"
 
-#: aleksis/core/models.py:1119
+#: aleksis/core/models.py:1129
 msgid "Can change person preferences"
 msgstr "Может менять персональные свойства"
 
-#: aleksis/core/models.py:1120
+#: aleksis/core/models.py:1130
 msgid "Can change group preferences"
 msgstr "Может менять свойства группы"
 
-#: aleksis/core/models.py:1121
+#: aleksis/core/models.py:1131
 msgid "Can test PDF generation"
 msgstr "Может генерировать тестовые PDF"
 
-#: aleksis/core/models.py:1122
+#: aleksis/core/models.py:1132
 msgid "Can invite persons"
 msgstr "Может приглашать других"
 
-#: aleksis/core/models.py:1158 aleksis/core/models.py:1168
+#: aleksis/core/models.py:1168
 msgid "Related data check task"
 msgstr "Задание проверки связанных данных"
 
-#: aleksis/core/models.py:1166 aleksis/core/models.py:1176
+#: aleksis/core/models.py:1176
 msgid "Issue solved"
 msgstr "Проблема решена"
 
-#: aleksis/core/models.py:1167 aleksis/core/models.py:1177
+#: aleksis/core/models.py:1177
 msgid "Notification sent"
 msgstr "Уведомление отправлено"
 
-#: aleksis/core/models.py:1180 aleksis/core/models.py:1190
+#: aleksis/core/models.py:1190
 msgid "Data check result"
 msgstr "Результат проверки данных"
 
-#: aleksis/core/models.py:1181 aleksis/core/models.py:1191
+#: aleksis/core/models.py:1191
 msgid "Data check results"
 msgstr "Результаты проверки данных"
 
-#: aleksis/core/models.py:1183 aleksis/core/models.py:1193
+#: aleksis/core/models.py:1193
 msgid "Can run data checks"
 msgstr "Может запускать проверки данных"
 
-#: aleksis/core/models.py:1184 aleksis/core/models.py:1194
+#: aleksis/core/models.py:1194
 msgid "Can solve data check problems"
 msgstr "Может решать проблемы проверки данных"
 
-#: aleksis/core/models.py:1191 aleksis/core/models.py:1201
+#: aleksis/core/models.py:1201
 msgid "E-Mail address"
 msgstr "Адрес эл.почты"
 
-#: aleksis/core/models.py:1223 aleksis/core/models.py:1233
+#: aleksis/core/models.py:1233
 msgid "Owner"
 msgstr "Владелец"
 
-#: aleksis/core/models.py:1227 aleksis/core/models.py:1237
+#: aleksis/core/models.py:1237
 msgid "File expires at"
 msgstr "Файл действителен до"
 
-#: aleksis/core/models.py:1229 aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr "Сгенерированный файл HTML"
 
-#: aleksis/core/models.py:1231 aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr "Сгенерированный файл PDF"
 
-#: aleksis/core/models.py:1238 aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr "Файл PDF"
 
-#: aleksis/core/models.py:1239 aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr "Файлы PDF"
 
-#: aleksis/core/models.py:1244 aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr "Результат задания"
 
-#: aleksis/core/models.py:1247 aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr "Пользователь задания"
 
-#: aleksis/core/models.py:1259 aleksis/core/models.py:1269
+#: aleksis/core/models.py:1263
+#, fuzzy
+#| msgid "Back"
+msgid "Back URL"
+msgstr "Назад"
+
+#: aleksis/core/models.py:1264
+#, fuzzy
+#| msgid "Progress: Generate PDF file"
+msgid "Progress title"
+msgstr "В процессе: Генерирование файла PDF"
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+#, fuzzy
+#| msgid "Success!"
+msgid "Success message"
+msgstr "Успех!"
+
+#: aleksis/core/models.py:1267
+#, fuzzy
+#| msgid "Redirect URIs"
+msgid "Redirect on success URL"
+msgstr "Перенаправление URI-адресов"
+
+#: aleksis/core/models.py:1269
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button title"
+msgstr "Дополнительные атрибуты"
+
+#: aleksis/core/models.py:1271
+#, fuzzy
+#| msgid "Additional data"
+msgid "Additional button URL"
+msgstr "Дополнительные данные"
+
+#: aleksis/core/models.py:1273
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button icon"
+msgstr "Дополнительные атрибуты"
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+#, fuzzy
+#| msgid "ICal feed deleted successfully"
+msgid "Background task completed successfully"
+msgstr "Лента iCal успешно удалена"
+
+#: aleksis/core/models.py:1301
+#, fuzzy
+#| msgid "The PDF file has been generated successfully."
+msgid "The background task '{}' has been completed successfully."
+msgstr "Файл PDF успешно создан."
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr "Назначение пользователя задания"
 
-#: aleksis/core/models.py:1260 aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr "Назначения пользователей задания"
 
-#: aleksis/core/models.py:1276 aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr "Дополнительные атрибуты"
 
-#: aleksis/core/models.py:1314 aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr "Разрешённые пределы действия, которые могут запрашивать клиенты"
 
-#: aleksis/core/models.py:1324 aleksis/core/models.py:1334
-msgid ""
-"This image will be shown as icon in the authorization flow. It should be "
-"squared."
-msgstr ""
-"Это изображение будет использоваться в качестве значка во время авторизации. "
-"Должно быть квадратным."
+#: aleksis/core/models.py:1396
+msgid "This image will be shown as icon in the authorization flow. It should be squared."
+msgstr "Это изображение будет использоваться в качестве значка во время авторизации. Должно быть квадратным."
 
-#: aleksis/core/models.py:1373 aleksis/core/models.py:1383
-msgid "UUID"
-msgstr "UUID"
-
-#: aleksis/core/models.py:1377 aleksis/core/models.py:1387
-msgid "Selected ICal feed"
-msgstr "Лента выбранного iCal"
+#: aleksis/core/models.py:1441
+#, fuzzy
+#| msgid "Can view avatar image"
+msgid "Can view room timetable"
+msgstr "Может видеть аватар"
 
-#: aleksis/core/models.py:1386 aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr "URL-ссылка собственного календаря"
+#: aleksis/core/models.py:1443
+msgid "Room"
+msgstr ""
 
-#: aleksis/core/models.py:1387 aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
-msgstr "URL-ссылка собственных календарей"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
+msgstr ""
 
 #: aleksis/core/preferences.py:25
 msgid "General"
@@ -1135,168 +1056,165 @@ msgstr "Формат имени в переписке"
 msgid "Channels to use for notifications"
 msgstr "Каналы для уведомлений"
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+#, fuzzy
+#| msgid "Selected persons"
+msgid "Select Design"
+msgstr "Выбранные физлица"
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr "Регулярное выражение для поиска основной группы, напр. '^Class .*'"
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr "Поле для сопоставления лица с основной группой"
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr "Новые физлица для новых пользователей создавать автоматически"
 
-#: aleksis/core/preferences.py:241
-msgid ""
-"Automatically link existing persons to new users by their e-mail address"
-msgstr ""
-"Связывать существующие физлица с новыми пользователями автоматически по эл."
-"адресам"
+#: aleksis/core/preferences.py:256
+msgid "Automatically link existing persons to new users by their e-mail address"
+msgstr "Связывать существующие физлица с новыми пользователями автоматически по эл.адресам"
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr "Название школы / уч.заведения для отображения"
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
-msgstr ""
-"Официальное название школы / уч.заведения, напр., как в регистрационных "
-"документах"
+msgstr "Официальное название школы / уч.заведения, напр., как в регистрационных документах"
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr "Разрешить пользователям менять свои пароли"
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr "Разрешить пользователям сбрасывать свои пароли"
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr "Включить регистрацию"
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr "Регулярное выражение для разрешённых логинов"
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr "Включить приглашения"
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr "Длина пригласительного кода. (По-умолчанию 3: abcde-abcde-abcde)"
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr "Размер пакетов. (По-умолчанию 5: abcde)"
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr "Разрешённые потоки грантов для приложений с OAuth"
 
-#: aleksis/core/preferences.py:344
-msgid "Available languages"
-msgstr "Доступные языки"
-
-#: aleksis/core/preferences.py:357 aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr "В случае обнаружения проблемы при проверке данных отправить эл.письмо"
 
-#: aleksis/core/preferences.py:368 aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr "Эл.адреса получателей для писем с проблемами при проверке данных"
 
-#: aleksis/core/preferences.py:379 aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr "Эл.адреса груп для писем с проблемами при проверке данных"
 
-#: aleksis/core/preferences.py:388 aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr "Отображать информпанель анонимным пользователям"
 
-#: aleksis/core/preferences.py:397 aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr "Разрешить пользователям редактировать свою информпанель"
 
-#: aleksis/core/preferences.py:408 aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr "Поля с описанием физлица, которые можно редактировать самостоятельно."
 
-#: aleksis/core/preferences.py:423 aleksis/core/preferences.py:409
-msgid ""
-"Editable fields on person model which should trigger a notification on change"
-msgstr ""
-"Изменяемые поля описания физлица, при изменении которых должен срабатывать "
-"триггер для уведомления"
+#: aleksis/core/preferences.py:424
+msgid "Editable fields on person model which should trigger a notification on change"
+msgstr "Изменяемые поля описания физлица, при изменении которых должен срабатывать триггер для уведомления"
 
-#: aleksis/core/preferences.py:437 aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr "Контакт для уведомлений при изменении кем-то своих данных"
 
-#: aleksis/core/preferences.py:448 aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr "Отдавать предпочтение личным фото вместо аватаров"
 
-#: aleksis/core/preferences.py:458 aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr "Срок действия файла PDF"
 
-#: aleksis/core/preferences.py:459 aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr "в минутах"
 
-#: aleksis/core/preferences.py:469 aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr "Автоматически обновлять информпанель и её виджеты"
 
-#: aleksis/core/preferences.py:479 aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr "Автоматически обновлять информпанель и её виджеты (для всего сайта)"
 
-#: aleksis/core/preferences.py:489 aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr "Страна для парсинга номера телефона"
 
-#: aleksis/core/settings.py:540 aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr "Английский"
 
-#: aleksis/core/settings.py:541 aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr "Немецкий"
 
-#: aleksis/core/tables.py:24
+#: aleksis/core/settings.py:541
+msgid "Ukrainian"
+msgstr "Украинский"
+
+#: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
-#: aleksis/core/templates/core/group/full.html:24
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
+#: aleksis/core/templates/core/group/full.html:26
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr "Редактировать"
 
-#: aleksis/core/tables.py:26 aleksis/core/tables.py:94
-#: aleksis/core/tables.py:138
+#: aleksis/core/tables.py:27 aleksis/core/tables.py:148
+#: aleksis/core/tables.py:192
 #: aleksis/core/templates/core/announcement/list.html:22
 msgid "Actions"
 msgstr "Действия"
 
-#: aleksis/core/tables.py:61 aleksis/core/tables.py:62
-#: aleksis/core/tables.py:76 aleksis/core/tables.py:92
-#: aleksis/core/tables.py:136
+#: aleksis/core/tables.py:115 aleksis/core/tables.py:116
+#: aleksis/core/tables.py:130 aleksis/core/tables.py:146
+#: aleksis/core/tables.py:190
 #: aleksis/core/templates/core/announcement/list.html:42
-#: aleksis/core/templates/core/group/full.html:31
+#: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr "Удалить"
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr "Ошибка"
 
@@ -1311,14 +1229,12 @@ msgstr ""
 #: aleksis/core/templates/403.html:19 aleksis/core/templates/404.html:16
 msgid ""
 "\n"
-"            If you think this is an error in AlekSIS, please contact your "
-"site\n"
+"            If you think this is an error in AlekSIS, please contact your site\n"
 "            administrators:\n"
 "          "
 msgstr ""
 "\n"
-"            Если Вы думаете, что это ошибка AlekSIS, обратитесь, пожалуйста,"
-"\n"
+"            Если Вы думаете, что это ошибка AlekSIS, обратитесь, пожалуйста,\n"
 "            к администраторам сайта:\n"
 "          "
 
@@ -1337,22 +1253,20 @@ msgstr ""
 #: aleksis/core/templates/500.html:10
 msgid ""
 "An unexpected error has\n"
-"          occured."
+"          occurred."
 msgstr ""
-"Произошла непредвиденная \n"
+"Возникла непредвиденная \n"
 "          ошибка."
 
 #: aleksis/core/templates/500.html:13
 msgid ""
 "\n"
-"            Your site administrators will automatically be notified about "
-"this\n"
+"            Your site administrators will automatically be notified about this\n"
 "            error. You can also contact them directly:\n"
 "          "
 msgstr ""
 "\n"
-"            Администраторы сайта будут уведомлены об этой ошибке "
-"автоматически.\n"
+"            Администраторы сайта будут уведомлены об этой ошибке автоматически.\n"
 "            Вы также можете обратиться к ним непосредственно:\n"
 "          "
 
@@ -1371,13 +1285,11 @@ msgstr ""
 #: aleksis/core/templates/503.html:13
 msgid ""
 "\n"
-"            This page is currently unavailable. If this error persists, "
-"contact your site administrators:\n"
+"            This page is currently unavailable. If this error persists, contact your site administrators:\n"
 "          "
 msgstr ""
 "\n"
-"            Эта страница сейчас недоступна. Если ошибка проявится ещё раз, "
-"обратитесь к администраторам сайта:\n"
+"            Эта страница сейчас недоступна. Если ошибка проявится ещё раз, обратитесь к администраторам сайта:\n"
 "          "
 
 #: aleksis/core/templates/account/account_inactive.html:5
@@ -1418,21 +1330,24 @@ msgstr "Подтвердить"
 
 #: aleksis/core/templates/account/email_confirm.html:12
 #, python-format
-msgid ""
-"Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail "
-"address for user %(user_display)s."
-msgstr ""
-"Подтвердите, пожалуйста, что <a href=\"mailto:%(email)s\">%(email)s</a> — "
-"эл.адрес пользователя %(user_display)s."
+msgid "Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail address for user %(user_display)s."
+msgstr "Подтвердите, пожалуйста, что <a href=\"mailto:%(email)s\">%(email)s</a> — эл.адрес пользователя %(user_display)s."
 
 #: aleksis/core/templates/account/email_confirm.html:25
 #, python-format
-msgid ""
-"This e-mail confirmation link expired or is invalid. Please <a href="
-"\"%(email_url)s\">issue a new e-mail confirmation request</a>."
-msgstr ""
-"Эта ссылка для подтверждения эл.почты просрочена или недействительна. "
-"Сделайте, пожалуйста, <a href=\"%(email_url)s\">новый запрос</a>."
+msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
+msgstr "Эта ссылка для подтверждения эл.почты просрочена или недействительна. Сделайте, пожалуйста, <a href=\"%(email_url)s\">новый запрос</a>."
+
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr "Сменить пароль"
 
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
@@ -1455,8 +1370,7 @@ msgstr "Изменение пароля отключено."
 msgid ""
 "\n"
 "            Users are not allowed to edit their own passwords. If you think\n"
-"            this is an error please contact one of your site "
-"administrators.\n"
+"            this is an error please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
@@ -1475,12 +1389,8 @@ msgid "Reset password"
 msgstr "Сбросить пароль"
 
 #: aleksis/core/templates/account/password_reset.html:17
-msgid ""
-"Forgotten your password? Enter your e-mail address below, and we'll send you "
-"an e-mail allowing you to reset it."
-msgstr ""
-"Забыли пароль? Укажите ниже свою эл.почту и мы отправим Вам письмо для "
-"сброса пароля."
+msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgstr "Забыли пароль? Укажите ниже свою эл.почту и мы отправим Вам письмо для сброса пароля."
 
 #: aleksis/core/templates/account/password_reset.html:30
 msgid ""
@@ -1503,10 +1413,8 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Мы отправили Вам эл.письмо. Если Вы не получите его на "
-"протяжении\n"
-"            нескольких минут, обратитесь, пожалуйста, к администраторам "
-"сайта.\n"
+"            Мы отправили Вам эл.письмо. Если Вы не получите его на протяжении\n"
+"            нескольких минут, обратитесь, пожалуйста, к администраторам сайта.\n"
 "          "
 
 #: aleksis/core/templates/account/password_reset_from_key.html:15
@@ -1517,16 +1425,13 @@ msgstr "Неправильный токен"
 #, python-format
 msgid ""
 "\n"
-"              The password reset link was invalid, possibly because it has "
-"already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
+"              The password reset link was invalid, possibly because it has already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
 "              class=\"blue-text text-lighten-2\">new password reset</a>.\n"
 "            "
 msgstr ""
 "\n"
-"              Ссылка на сброс пароля недействительна или, возможно, уже "
-"использована. Сделайте, пожалуйста, <a href=\"%(passwd_reset_url)s\"\n"
-"              class=\"blue-text text-lighten-2\">новый запрос на сброс "
-"пароля</a>.\n"
+"              Ссылка на сброс пароля недействительна или, возможно, уже использована. Сделайте, пожалуйста, <a href=\"%(passwd_reset_url)s\"\n"
+"              class=\"blue-text text-lighten-2\">новый запрос на сброс пароля</a>.\n"
 "            "
 
 #: aleksis/core/templates/account/password_reset_from_key.html:25
@@ -1575,11 +1480,13 @@ msgstr "Регистрация"
 
 #: aleksis/core/templates/account/signup.html:12
 #, python-format
-msgid ""
-"Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
-msgstr ""
-"У Вас уже есть учётная запись? В таком случае можете <a href=\"%(login_url)"
-"s\">войти</a>."
+msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
+msgstr "У Вас уже есть учётная запись? В таком случае можете <a href=\"%(login_url)s\">войти</a>."
+
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr "Зарегистрироваться"
 
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
@@ -1618,17 +1525,13 @@ msgstr "Подтвердите свой адрес эл.почты!"
 #: aleksis/core/templates/account/verification_sent.html:16
 msgid ""
 "\n"
-"            This part of the site requires us to verify that you are who you "
-"claim to be.\n"
-"            For this purpose, we require that you verify ownership of your e-"
-"mail address.\n"
+"            This part of the site requires us to verify that you are who you claim to be.\n"
+"            For this purpose, we require that you verify ownership of your e-mail address.\n"
 "          "
 msgstr ""
 "\n"
-"            Для этой части сайта необходимо пройти проверку, что Вы - именно "
-"Ð’Ñ‹.\n"
-"            Для этого нам нужно проверить как минимум, что адрес эл.почты "
-"принадлежит именно Вам\n"
+"            Для этой части сайта необходимо пройти проверку, что Вы - именно Вы.\n"
+"            Для этого нам нужно проверить как минимум, что адрес эл.почты принадлежит именно Вам\n"
 "          "
 
 #: aleksis/core/templates/account/verification_sent.html:22
@@ -1642,8 +1545,7 @@ msgstr ""
 "\n"
 "            Мы отправили Вам для проверки эл.письмо.\n"
 "            Пожалуйста, перейдите по указанной ссылке. Если Вы не получите\n"
-"            письмо в ближайшие несколько минут, обратитесь, пожалуйста, к "
-"нам.\n"
+"            письмо в ближайшие несколько минут, обратитесь, пожалуйста, к нам.\n"
 "          "
 
 #: aleksis/core/templates/core/additional_field/edit.html:6
@@ -1689,18 +1591,6 @@ msgstr "Получатели"
 msgid "There are no announcements."
 msgstr "Объявлений нет."
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr "Об AlekSIS® — The Free School Information System"
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr "Отпечаток"
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr "Политика приватности"
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr "Под управлением AlekSIS®"
@@ -1734,6 +1624,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr "Редактировать %(widget)s"
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr "Виджеты информпанели"
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr "Создать виджет для информпанели"
@@ -1749,6 +1644,11 @@ msgstr "Создать %(name)s"
 msgid "Edit default dashboard"
 msgstr "Редактировать стандартную информпанель"
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr "Проверки данных"
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr "Проверить данные ещё раз"
@@ -1820,39 +1720,29 @@ msgstr "Редактировать информпанель"
 #: aleksis/core/templates/core/edit_dashboard.html:24
 msgid ""
 "\n"
-"          On this page you can arrange your personal dashboard. You can drag "
-"any items from \"Available widgets\" to \"Your\n"
-"          Dashboard\" or change the order by moving the widgets. After you "
-"have finished, please don't forget to click on\n"
+"          On this page you can arrange your personal dashboard. You can drag any items from \"Available widgets\" to \"Your\n"
+"          Dashboard\" or change the order by moving the widgets. After you have finished, please don't forget to click on\n"
 "          \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          На этой странице Вы можете упорядочить свою информпанель. "
-"Перетаскивайте любые элементы из \"Доступных виджетов\"\n"
-"          в \"Свою информпанель\" или меняйте порядок, перетягивая виджеты. "
-"После завершения не забудьте нажать\n"
+"          На этой странице Вы можете упорядочить свою информпанель. Перетаскивайте любые элементы из \"Доступных виджетов\"\n"
+"          в \"Свою информпанель\" или меняйте порядок, перетягивая виджеты. После завершения не забудьте нажать\n"
 "          \"Сохранить\".\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:30
 msgid ""
 "\n"
-"          On this page you can arrange the default dashboard which is shown "
-"when a user doesn't arrange his own\n"
-"          dashboard. You can drag any items from \"Available widgets\" to "
-"\"Default Dashboard\" or change the order\n"
-"          by moving the widgets. After you have finished, please don't "
-"forget to click on \"Save\".\n"
+"          On this page you can arrange the default dashboard which is shown when a user doesn't arrange his own\n"
+"          dashboard. You can drag any items from \"Available widgets\" to \"Default Dashboard\" or change the order\n"
+"          by moving the widgets. After you have finished, please don't forget to click on \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          На этой странице Вы можете упорядочить типовую/стандартную "
-"информпанель, которая отображается, если пользователь\n"
-"          не настроил свою. Перетягивайте любые элементы из \"Доступных "
-"виджетов\" в \"Типовую информпанель\" или меняйте \n"
-"          порядок, перетягивая виджеты. После заврешения не забудьте нажать "
-"\"Сохранить\".\n"
+"          На этой странице Вы можете упорядочить типовую/стандартную информпанель, которая отображается, если пользователь\n"
+"          не настроил свою. Перетягивайте любые элементы из \"Доступных виджетов\" в \"Типовую информпанель\" или меняйте \n"
+"          порядок, перетягивая виджеты. После заврешения не забудьте нажать \"Сохранить\".\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:48
@@ -1867,19 +1757,21 @@ msgstr "Ваша информпанель"
 msgid "Default dashboard"
 msgstr "Типовая информпанель"
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr "Определить дочерние группы к группе"
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
-"          You can use this to assign child groups to groups. Please use the "
-"filters below to select groups you want to\n"
+"          You can use this to assign child groups to groups. Please use the filters below to select groups you want to\n"
 "          change and click \"Next\".\n"
 "        "
 msgstr ""
 "\n"
-"          Вы можете воспользоваться этим для привязки дочерних групп к "
-"основным. Для выбора групп,\n"
-"          которые хотите изменить, используйте фильтры, расположенные ниже и "
-"нажмите \"Далее\".\n"
+"          Вы можете воспользоваться этим для привязки дочерних групп к основным. Для выбора групп,\n"
+"          которые хотите изменить, используйте фильтры, расположенные ниже и нажмите \"Далее\".\n"
 "        "
 
 #: aleksis/core/templates/core/group/child_groups.html:31
@@ -1905,8 +1797,7 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Выберите, пожалуйста, несколько групп в порядке, по какому "
-"привязывать.\n"
+"            Выберите, пожалуйста, несколько групп в порядке, по какому привязывать.\n"
 "          "
 
 #: aleksis/core/templates/core/group/child_groups.html:72
@@ -1920,18 +1811,14 @@ msgstr "Пожалуйста, будьте аккуратны!"
 #: aleksis/core/templates/core/group/child_groups.html:79
 msgid ""
 "\n"
-"            If you click \"Back\" or \"Next\" the current group assignments "
-"are not saved.\n"
-"            If you click \"Save\", you will overwrite all existing child "
-"group relations for this group with what you\n"
+"            If you click \"Back\" or \"Next\" the current group assignments are not saved.\n"
+"            If you click \"Save\", you will overwrite all existing child group relations for this group with what you\n"
 "            selected on this page.\n"
 "          "
 msgstr ""
 "\n"
-"            Если нажмёте \"Назад\" или \"Далее\" привязки этой группы не "
-"сохранятся.\n"
-"            Если нажмёте \"Сохранить\", все существующие связи дочерней "
-"группы с этой группой будут заменены на\n"
+"            Если нажмёте \"Назад\" или \"Далее\" привязки этой группы не сохранятся.\n"
+"            Если нажмёте \"Сохранить\", все существующие связи дочерней группы с этой группой будут заменены на\n"
 "            выбранные на этой странице.\n"
 "          "
 
@@ -1965,39 +1852,36 @@ msgstr "Сохранить и продолжить"
 msgid "Edit group"
 msgstr "Редактировать группу"
 
-#: aleksis/core/templates/core/group/full.html:38
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 #: aleksis/core/templates/core/group/full.html:40
 msgid "Change preferences"
 msgstr "Изменить свойства"
 
-#: aleksis/core/templates/core/group/full.html:64
+#: aleksis/core/templates/core/group/full.html:68
 msgid "Statistics"
 msgstr "Статистика"
 
-#: aleksis/core/templates/core/group/full.html:67
 #: aleksis/core/templates/core/group/full.html:73
 msgid "Count of members"
 msgstr "Количество участников"
 
-#: aleksis/core/templates/core/group/full.html:71
 #: aleksis/core/templates/core/group/full.html:81
 msgid "Average age"
 msgstr "Средний возраст"
 
-#: aleksis/core/templates/core/group/full.html:76
 #: aleksis/core/templates/core/group/full.html:90
 msgid "Age range"
 msgstr "Возрастной диапазон"
 
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years to"
-msgstr "–"
-
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years "
-msgstr "гг. "
+#: aleksis/core/templates/core/group/full.html:93
+#, python-format
+msgid ""
+"\n"
+"              %(min)s years to %(max)s years\n"
+"            "
+msgstr ""
+"\n"
+"              %(min)s лет до %(max)s лет\n"
+"            "
 
 #: aleksis/core/templates/core/group/list.html:14
 msgid "Create group"
@@ -2025,184 +1909,30 @@ msgstr "Редактировать тип группы"
 msgid "Create group type"
 msgstr "Создать тип группы"
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr "Создать ссылку iCal"
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr "Отменить"
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr "Редактировать ссылку iCal %(object)s"
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "ICal Feeds"
-msgstr "iCal-ленты"
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid ""
-"These are URLs for different Calendar Feeds in the iCal (.ics) format. You "
-"can create as many as you want and import them in your calendar software."
-msgstr ""
-"Здесь находятся ссылки на разные ленты календарей в формате iCal (.ics). Вы "
-"можете создать их столько, сколько будет необходимо и импортировать их в ПО "
-"для работы с календарями."
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr "Ваши ссылки iCal"
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr "Домой"
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
-"        You didn't customise your dashboard so that you see the system "
-"default. Please click on \"Edit dashboard\" to\n"
+"        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
 "        customise your personal dashboard.\n"
 "      "
 msgstr ""
 "\n"
-"        Вы ещё не настроили свою информпанель, так что пока наблюдаете "
-"типовую по-умолчанию. Для настройки \n"
+"        Вы ещё не настроили свою информпанель, так что пока наблюдаете типовую по-умолчанию. Для настройки \n"
 "         своей информпанели клацните \"Редактировать информпанель\".\n"
 "      "
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr "Последние действия"
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr "Действия пока недоступны."
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr "Свежие уведомления"
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr "Больше информации →"
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr "Уведомления пока ещё недоступны."
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr "Об AlekSIS®"
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr "AlekSIS® – The Free School Information System"
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr "Об AlekSIS"
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school "
-"information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of "
-"educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-"\n"
-"              Эта платформа использует AlekSIS®, веб-инструмент "
-"информационной системы для обучения (SIS) при помощи которой\n"
-"              можно управлять и/или публиковать оргинформацию учебных "
-"заведений. AlekSIS - бесплатное ПО\n"
-"              и его может использовать любой желающий.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source "
-"project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-"\n"
-"              AlekSIS® – зарегистрированная торговая марка проекта с "
-"открытым исходным кодом AlekSIS, которая представлена Teckids e.V.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr "Вебсайт AlekSIS"
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr "Исходный код"
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr "Лицензионная информация"
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under "
-"the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the "
-"respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-"\n"
-"              Ядро и официальные дополнения AlekSIS лицензированы под "
-"лицензией EUPL, версии 1.2 или новее. Для получения информации\n"
-"              о компонентах третих сторон, если таковы установлены, "
-"перейдите к соответствующим компонентам ниже.\n"
-"              Эти лицензии обозначены такой отметкой:\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr "Бесплатная лицензия или Open Source"
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr "Другая лицензия"
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr "Полный текст лицензии"
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr "Больше информации о EUPL"
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-"\n"
-"                    Это приложение под лицензией %(licence)s.\n"
-"                  "
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2219,22 +1949,10 @@ msgstr ""
 "      Вы действительно хотите удалить %(object_name)s \"%(object)s\"?\n"
 "    "
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be "
-"updated.\n"
-"            "
-msgstr ""
-"\n"
-"              Без активного JavaScript статус выполнения обновляться не "
-"сможет.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
-msgstr "Назад"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
+msgstr "Состояние системы"
 
 #: aleksis/core/templates/core/pages/system_status.html:12
 msgid "System checks"
@@ -2247,13 +1965,11 @@ msgstr "Включен режим обслуживания"
 #: aleksis/core/templates/core/pages/system_status.html:24
 msgid ""
 "\n"
-"                Only admin and visitors from internal IPs can access "
-"the site.\n"
+"                Only admin and visitors from internal IPs can access the site.\n"
 "              "
 msgstr ""
 "\n"
-"                Доступ к сайту имеют только администратор и пользователи с "
-"внутренними IP-адресами.\n"
+"                Доступ к сайту имеют только администратор и пользователи с внутренними IP-адресами.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:36
@@ -2271,13 +1987,11 @@ msgstr "Режим отладки включен"
 #: aleksis/core/templates/core/pages/system_status.html:49
 msgid ""
 "\n"
-"                The web server throws back debug information on errors. Do "
-"not use in production!\n"
+"                The web server throws back debug information on errors. Do not use in production!\n"
 "              "
 msgstr ""
 "\n"
-"                Веб-сервер во время ошибок пишет отладочную информацию. Не "
-"используйте в продакшене!\n"
+"                Веб-сервер во время ошибок пишет отладочную информацию. Не используйте в продакшене!\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:56
@@ -2287,13 +2001,11 @@ msgstr "Режим отладки отключен"
 #: aleksis/core/templates/core/pages/system_status.html:58
 msgid ""
 "\n"
-"                Debug mode is disabled. Default error pages are displayed on "
-"errors.\n"
+"                Debug mode is disabled. Default error pages are displayed on errors.\n"
 "              "
 msgstr ""
 "\n"
-"                Режим отладки отключен. В случае ошибок будут отображаться "
-"стандартные страницы об ошибках.\n"
+"                Режим отладки отключен. В случае ошибок будут отображаться стандартные страницы об ошибках.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:71
@@ -2343,13 +2055,11 @@ msgstr "Пробное генерирование PDF"
 #: aleksis/core/templates/core/pages/test_pdf.html:14
 msgid ""
 "\n"
-"        This simple view can be used to ensure the correct function of the "
-"built-in PDF generation system.\n"
+"        This simple view can be used to ensure the correct function of the built-in PDF generation system.\n"
 "      "
 msgstr ""
 "\n"
-"        Эта простая страница может помочь проверить корректность настроек "
-"встроенной системы генерирования PDF.\n"
+"        Эта простая страница может помочь проверить корректность настроек встроенной системы генерирования PDF.\n"
 "      "
 
 #: aleksis/core/templates/core/partials/announcements.html:8
@@ -2388,13 +2098,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr "Аватар"
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr "Идентификатор (иконка)"
 
@@ -2406,45 +2114,12 @@ msgstr "Изменено"
 msgid "Unknown"
 msgstr "Неизвестно"
 
-#: aleksis/core/templates/core/partials/language_form.html:15
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr "Язык"
-
-#: aleksis/core/templates/core/partials/language_form.html:27
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr "Выберите язык"
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. "
-"Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-"\n"
-"            Ваша административная учётная запись не соединена на с одним "
-"физлицом. Поэтому\n"
-"            к Вашей учётной записи привязано фейковое физлицо.\n"
-"          "
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
-"\n"
-"            Ваша учётная запись не связана с физлицом. Это значит,\n"
-"            что у Вас нет доступа на к какой учебной информации. Обратитесь,"
-"\n"
-"            пожалуйста, к администраторам AlekSIS в Вашем учебном заведении."
-"\n"
-"          "
 
 #: aleksis/core/templates/core/perms/assign.html:12
 #: aleksis/core/templates/core/perms/assign.html:13
@@ -2459,6 +2134,11 @@ msgstr "Выбранный доступ"
 msgid "Assign"
 msgstr "Назначить"
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr "Управление разрешениями"
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr "Назначить новый доступ"
@@ -2502,28 +2182,6 @@ msgstr "Создать физлицо"
 msgid "Edit person"
 msgstr "Редактировать физлицо"
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr "Маскировка"
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr "Пригласить пользователя"
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr "Контактные данные"
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr "Эта особа не загрузила личное фото."
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr "Дети"
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr "Фильтр физлиц"
@@ -2543,6 +2201,10 @@ msgstr "Создать Учебный год"
 msgid "Edit school term"
 msgstr "Редактировать Учебный год"
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr "Свойства"
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr "Свойства сайта"
@@ -2569,16 +2231,17 @@ msgid "The invite feature is disabled."
 msgstr "Фукция приглашения выключена."
 
 #: aleksis/core/templates/invitations/disabled.html:15
-msgid ""
-"To enable it, switch on the corresponding checkbox in the authentication "
-"section of the "
-msgstr ""
-"Для активации включите соответствующий чекбокс в разделе авторизации на "
+msgid "To enable it, switch on the corresponding checkbox in the authentication section of the "
+msgstr "Для активации включите соответствующий чекбокс в разделе авторизации на "
 
 #: aleksis/core/templates/invitations/disabled.html:16
 msgid "site preferences page"
 msgstr "странице настроек сайта"
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr "Принять приглашение"
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr "Принятие Вашего приглашения"
@@ -2631,6 +2294,13 @@ msgstr "Приглашение для %(email)s было принято."
 msgid "Register OAuth2 Application"
 msgstr "Регистрация приложения OAuth2"
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr "Отменить"
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr "Приложение OAuth2"
@@ -2664,6 +2334,11 @@ msgstr "Пропустить авторизацию"
 msgid "Edit OAuth2 Application"
 msgstr "Редактировать приложение OAuth2"
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr "Приложения OAuth2"
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr "Зарегистрировать новое приложение"
@@ -2695,14 +2370,6 @@ msgstr "Разрешить"
 msgid "Disallow"
 msgstr "Запретить"
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr "Успех!"
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr "Вернитесь, пожалуйста, к своему приложению и впишите этот код:"
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2717,6 +2384,11 @@ msgstr "Ви действительно хотите отозвать досту
 msgid "Revoke"
 msgstr "Отозвать"
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr "Авторизованные приложения"
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr "Авторизованных приложений нет."
@@ -2726,24 +2398,27 @@ msgid "Network error"
 msgstr "Ошибка сети"
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
-msgstr "Отсутствует интернет-соединение."
+msgid "Page not available offline."
+msgstr ""
 
 #: aleksis/core/templates/offline.html:14
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+#| "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
+#| "      administrators:\n"
+#| "    "
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an "
-"internet connection. Check to see if your WiFi\n"
-"      or mobile data is turned on and try again. If you think you are "
-"connected, please contact the system\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
+"      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
 msgstr ""
 "\n"
-"      При доступе к этой странице произошла ошибка. Возможно, у Вас проблема "
-"с интернетом. Убедитесь, что Ваш WiFi\n"
-"      или мобильный интернет включены и попробуйте ещё раз. Если считаете, "
-"что с подключением всё хорошо, обратитесь,\n"
+"      При доступе к этой странице произошла ошибка. Возможно, у Вас проблема с интернетом. Убедитесь, что Ваш WiFi\n"
+"      или мобильный интернет включены и попробуйте ещё раз. Если считаете, что с подключением всё хорошо, обратитесь,\n"
 "      пожалуйста, к системным администраторам:\n"
 "    "
 
@@ -2779,14 +2454,12 @@ msgstr "Ошибка входа учётной записи третьей ст
 #: aleksis/core/templates/socialaccount/authentication_error.html:15
 msgid ""
 "\n"
-"            An error occurred while attempting to login via your third-party "
-"account.\n"
+"            An error occurred while attempting to login via your third-party account.\n"
 "            Please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
-"            Во время попытки входа с Вашей сторонней учётной записью "
-"возникла ошибка входа.\n"
+"            Во время попытки входа с Вашей сторонней учётной записью возникла ошибка входа.\n"
 "            Обратитесь, пожалуйста, к администратору сайта.\n"
 "          "
 
@@ -2801,9 +2474,7 @@ msgstr "Удалить"
 
 #: aleksis/core/templates/socialaccount/connections.html:34
 msgid "You currently have no third-party accounts connected to this account."
-msgstr ""
-"Сейчас у Вас нет учётных записей третих сторон, соединённых с этой учётной "
-"записью."
+msgstr "Сейчас у Вас нет учётных записей третих сторон, соединённых с этой учётной записью."
 
 #: aleksis/core/templates/socialaccount/connections.html:37
 msgid "Add a Third-party Account"
@@ -2833,15 +2504,11 @@ msgstr "Вход отменён"
 #, python-format
 msgid ""
 "\n"
-"            You decided to cancel logging in to our site using one of your "
-"existing accounts. If this was a mistake, please proceed to <a href="
-"\"%(login_url)s\">sign in</a>.\n"
+"            You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please proceed to <a href=\"%(login_url)s\">sign in</a>.\n"
 "          "
 msgstr ""
 "\n"
-"            Похоже, Вы отменили вход на наш сайт с одной из Ваших учётных "
-"записей. Если это произошло случайно, Вы можете <a href=\"%(login_url)s\""
-">продолжить вход здесь</a>.\n"
+"            Похоже, Вы отменили вход на наш сайт с одной из Ваших учётных записей. Если это произошло случайно, Вы можете <a href=\"%(login_url)s\">продолжить вход здесь</a>.\n"
 "          "
 
 #: aleksis/core/templates/socialaccount/signup.html:12
@@ -2851,8 +2518,7 @@ msgid ""
 "        %(site_name)s. As a final step, please complete the following form:"
 msgstr ""
 "Вы на пути к использованию своей учётной записи %(provider_name)s\n"
-"        для входа в %(site_name)s. Заполните, пожалуйста, для завершения эту "
-"форму:"
+"        для входа в %(site_name)s. Заполните, пожалуйста, для завершения эту форму:"
 
 #: aleksis/core/templates/socialaccount/snippets/provider_list.html:12
 #, python-format
@@ -2939,25 +2605,21 @@ msgstr "Система обнаружила новые проблемы с Ва
 #: aleksis/core/templates/templated_email/data_checks.email:6
 msgid ""
 "the system detected some new problems with your data.\n"
-"Please take some time to inspect them and solve the issues or mark them as "
-"ignored."
+"Please take some time to inspect them and solve the issues or mark them as ignored."
 msgstr ""
 "система обнаружила новые проблемы с Вашими данными.\n"
-"Уделите, пожалуйста, немного времени для их проверки и решения проблем, или "
-"же отметьте их для игнорирования."
+"Уделите, пожалуйста, немного времени для их проверки и решения проблем, или же отметьте их для игнорирования."
 
 #: aleksis/core/templates/templated_email/data_checks.email:15
 msgid ""
 "\n"
 "   the system detected some new problems with your data.\n"
-"   Please take some time to inspect them and solve the issues or mark them "
-"as ignored.\n"
+"   Please take some time to inspect them and solve the issues or mark them as ignored.\n"
 "  "
 msgstr ""
 "\n"
 "   система обнаружила новые проблемы с Вашими данными.\n"
-"   Уделите, пожалуйста, немного времени для их проверки и решения проблем, "
-"или же отметьте их для игнорирования.\n"
+"   Уделите, пожалуйста, немного времени для их проверки и решения проблем, или же отметьте их для игнорирования.\n"
 "  "
 
 #: aleksis/core/templates/templated_email/data_checks.email:23
@@ -3043,22 +2705,16 @@ msgid ""
 "\n"
 "        Backup tokens can be used when your primary and backup\n"
 "        phone numbers aren't available. The backup tokens below can be used\n"
-"        for login verification. If you've used up all your backup tokens, "
-"you\n"
-"        can generate a new set of backup tokens. Only the backup tokens "
-"shown\n"
+"        for login verification. If you've used up all your backup tokens, you\n"
+"        can generate a new set of backup tokens. Only the backup tokens shown\n"
 "        below will be valid.\n"
 "      "
 msgstr ""
 "\n"
-"        Резервные токены могут быть использованы, когда Ваши основной и "
-"резервный\n"
-"        телефонные номера недоступны. Резервные токены, указанные ниже, "
-"могут быть\n"
-"        использованы для верификации входа. Когда Вы используете все "
-"резервные токены,\n"
-"        Вы сможете сгенерировать новый набор резервных токенов. "
-"Действительными будут только\n"
+"        Резервные токены могут быть использованы, когда Ваши основной и резервный\n"
+"        телефонные номера недоступны. Резервные токены, указанные ниже, могут быть\n"
+"        использованы для верификации входа. Когда Вы используете все резервные токены,\n"
+"        Вы сможете сгенерировать новый набор резервных токенов. Действительными будут только\n"
 "        токены, указанные ниже.\n"
 "      "
 
@@ -3084,6 +2740,12 @@ msgstr "Назад к безопасности учётной записи"
 msgid "Generate Tokens"
 msgstr "Создать Токены"
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr "Войти"
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -3103,9 +2765,7 @@ msgstr ""
 
 #: aleksis/core/templates/two_factor/core/login.html:47
 msgid "Please login with your account to use the external application."
-msgstr ""
-"Для использования внешнего приложения войдите, пожалуйста, в свою учётную "
-"запись."
+msgstr "Для использования внешнего приложения войдите, пожалуйста, в свою учётную запись."
 
 #: aleksis/core/templates/two_factor/core/login.html:54
 msgid "Please login to see this page."
@@ -3114,28 +2774,24 @@ msgstr "Для просмотра этой страницы, пожалуйст
 #: aleksis/core/templates/two_factor/core/login.html:65
 msgid ""
 "\n"
-"                        We are calling your phone right now, please enter "
-"the\n"
+"                        We are calling your phone right now, please enter the\n"
 "                        digits you hear.\n"
 "                      "
 msgstr ""
 "\n"
-"                        Мы сейчас позвоним на Ваш номер. Напишите, "
-"пожалуйста, цифры,\n"
+"                        Мы сейчас позвоним на Ваш номер. Напишите, пожалуйста, цифры,\n"
 "                        которые Вы услышите.\n"
 "                      "
 
 #: aleksis/core/templates/two_factor/core/login.html:70
 msgid ""
 "\n"
-"                        We sent you a text message, please enter the tokens "
-"we\n"
+"                        We sent you a text message, please enter the tokens we\n"
 "                        sent.\n"
 "                      "
 msgstr ""
 "\n"
-"                        Мы отправили Вам текстовое сообщение. Напишите, "
-"пожалуйста, полученный\n"
+"                        Мы отправили Вам текстовое сообщение. Напишите, пожалуйста, полученный\n"
 "                        токен.\n"
 "                      "
 
@@ -3154,21 +2810,15 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/login.html:81
 msgid ""
 "\n"
-"                      Use this form for entering backup tokens for logging "
-"in.\n"
-"                      These tokens have been generated for you to print and "
-"keep safe. Please\n"
-"                      enter one of these backup tokens to login to your "
-"account.\n"
+"                      Use this form for entering backup tokens for logging in.\n"
+"                      These tokens have been generated for you to print and keep safe. Please\n"
+"                      enter one of these backup tokens to login to your account.\n"
 "                    "
 msgstr ""
 "\n"
-"                      Для входа воспользуйтесь формой для ввода резервных "
-"токенов.\n"
-"                      Эти токены были сгенерированы, чтобы Вы распечатали их "
-"и сохранили в надёжном месте.\n"
-"                      Для входа укажите, пожалуйста, один из резервных "
-"токенов.\n"
+"                      Для входа воспользуйтесь формой для ввода резервных токенов.\n"
+"                      Эти токены были сгенерированы, чтобы Вы распечатали их и сохранили в надёжном месте.\n"
+"                      Для входа укажите, пожалуйста, один из резервных токенов.\n"
 "                    "
 
 #: aleksis/core/templates/two_factor/core/login.html:109
@@ -3181,8 +2831,7 @@ msgstr "Или можете воспользоваться одним из ре
 
 #: aleksis/core/templates/two_factor/core/login.html:122
 msgid "As a last resort, you can use a backup token:"
-msgstr ""
-"В качестве последней возможности можете воспользоваться резервным токеном:"
+msgstr "В качестве последней возможности можете воспользоваться резервным токеном:"
 
 #: aleksis/core/templates/two_factor/core/login.html:125
 msgid "Use Backup Token"
@@ -3199,16 +2848,12 @@ msgstr "Доступ отсутствует"
 #: aleksis/core/templates/two_factor/core/otp_required.html:10
 msgid ""
 "The page you requested, enforces users to verify using\n"
-"          two-factor authentication for security reasons. You need to enable "
-"these\n"
+"          two-factor authentication for security reasons. You need to enable these\n"
 "          security features in order to access this page."
 msgstr ""
-"Для просмотра запрошенной страницы, с оглядкой на безопасность, необходима "
-"дополнительная\n"
-"          проверка пользователя с использованием двухфакторной "
-"аутентификации.\n"
-"          Для доступа к данной странице Вы должны включить эти функции "
-"безопасности."
+"Для просмотра запрошенной страницы, с оглядкой на безопасность, необходима дополнительная\n"
+"          проверка пользователя с использованием двухфакторной аутентификации.\n"
+"          Для доступа к данной странице Вы должны включить эти функции безопасности."
 
 #: aleksis/core/templates/two_factor/core/otp_required.html:14
 msgid ""
@@ -3220,6 +2865,10 @@ msgstr ""
 "          Для увеличения безопасности учётки включите двухфакторную\n"
 "          аутентификацию."
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr "Назад"
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3252,8 +2901,7 @@ msgid ""
 "      "
 msgstr ""
 "\n"
-"        Вы устанавливаете для своей учётной записи новый уровень "
-"безопасности.\n"
+"        Вы устанавливаете для своей учётной записи новый уровень безопасности.\n"
 "        Для включения двухфакторной аутентификации пройдите несколько шагов\n"
 "        мастера настройки.\n"
 "      "
@@ -3265,24 +2913,20 @@ msgid ""
 "      "
 msgstr ""
 "\n"
-"        Выберите, пожалуйста, метод аутентификации, который Вы хотите "
-"использовать:\n"
+"        Выберите, пожалуйста, метод аутентификации, который Вы хотите использовать:\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup.html:23
 msgid ""
 "\n"
 "        To start using a token generator, please use your\n"
-"        favourite two factor authentication (TOTP) app to scan the QR code "
-"below.\n"
+"        favourite two factor authentication (TOTP) app to scan the QR code below.\n"
 "        Then, enter the token generated by the app.\n"
 "      "
 msgstr ""
 "\n"
-"        Для того, чтобы начать использование генератора токенов, "
-"воспользуйтесь, пожалуйста, своим\n"
-"        любимым приложением для двухфакторной аутентификации (TOTP) и "
-"отсканируйте QR-код, который видите ниже.\n"
+"        Для того, чтобы начать использование генератора токенов, воспользуйтесь, пожалуйста, своим\n"
+"        любимым приложением для двухфакторной аутентификации (TOTP) и отсканируйте QR-код, который видите ниже.\n"
 "        После этого напишите полученный генератором токен.\n"
 "      "
 
@@ -3313,13 +2957,11 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/setup.html:50
 msgid ""
 "\n"
-"            We are calling your phone right now, please enter the digits you "
-"hear.\n"
+"            We are calling your phone right now, please enter the digits you hear.\n"
 "          "
 msgstr ""
 "\n"
-"            Мы сейчас звоним на Ваш номер, – напишите, пожалуйста, цифры, "
-"которые услышите.\n"
+"            Мы сейчас звоним на Ваш номер, – напишите, пожалуйста, цифры, которые услышите.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:56
@@ -3329,29 +2971,22 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Мы отправили Вам текстовое сообщение. Напишите, пожалуйста, "
-"полученные токены.\n"
+"            Мы отправили Вам текстовое сообщение. Напишите, пожалуйста, полученные токены.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:63
 msgid ""
 "\n"
-"          We've encountered an issue with the selected authentication "
-"method. Please\n"
-"          go back and verify that you entered your information correctly, "
-"try\n"
-"          again, or use a different authentication method instead. If the "
-"issue\n"
+"          We've encountered an issue with the selected authentication method. Please\n"
+"          go back and verify that you entered your information correctly, try\n"
+"          again, or use a different authentication method instead. If the issue\n"
 "          persists, contact the site administrator.\n"
 "        "
 msgstr ""
 "\n"
-"          Мы заметили, что существует проблема с использованием выбранного "
-"метода авторизации. Вернитесь,\n"
-"          пожалуйста, назад, и убедитесь, что необходимые данные указаны "
-"правильно,\n"
-"          после чего попробуйте зайти ешё раз, или же воспользуйтесь другим "
-"вариантом входа. Если же\n"
+"          Мы заметили, что существует проблема с использованием выбранного метода авторизации. Вернитесь,\n"
+"          пожалуйста, назад, и убедитесь, что необходимые данные указаны правильно,\n"
+"          после чего попробуйте зайти ешё раз, или же воспользуйтесь другим вариантом входа. Если же\n"
 "          проблема остаётся, обратитесь к администратору сайта.\n"
 "        "
 
@@ -3377,8 +3012,7 @@ msgstr "Двухфакторная аутентификация успешно 
 #: aleksis/core/templates/two_factor/core/setup_complete.html:14
 msgid ""
 "\n"
-"        Congratulations, you've successfully enabled two-factor "
-"authentication.\n"
+"        Congratulations, you've successfully enabled two-factor authentication.\n"
 "      "
 msgstr ""
 "\n"
@@ -3399,16 +3033,13 @@ msgstr "Создать резервные коды"
 msgid ""
 "\n"
 "          However, it might happen that you don't have access to\n"
-"          your primary token device. To enable account recovery, generate "
-"backup codes\n"
+"          your primary token device. To enable account recovery, generate backup codes\n"
 "          or add a phone number.\n"
 "        "
 msgstr ""
 "\n"
-"          Между прочим, может так случиться, что у Вас не будет доступа к "
-"своему основному\n"
-"          устройству с токенами. Для включения восстановления учётки "
-"создайте резервные коды\n"
+"          Между прочим, может так случиться, что у Вас не будет доступа к своему основному\n"
+"          устройству с токенами. Для включения восстановления учётки создайте резервные коды\n"
 "          или добавьте номер телефона.\n"
 "        "
 
@@ -3425,12 +3056,8 @@ msgid "Disable Two-Factor Authentication"
 msgstr "Отключить двухфакторную аутентификацию"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:12
-msgid ""
-"You are about to disable two-factor authentication. This weakens your "
-"account security, are you sure?"
-msgstr ""
-"Вы отключаете двухфакторную аутентификацию. Это снизит защиту Вашей учётной "
-"записи. Вы уверены?"
+msgid "You are about to disable two-factor authentication. This weakens your account security, are you sure?"
+msgstr "Вы отключаете двухфакторную аутентификацию. Это снизит защиту Вашей учётной записи. Вы уверены?"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:26
 msgid "Disable"
@@ -3518,8 +3145,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Не смотря на то, что мы Вам рекомендуем этого не делать, Вы можете \n"
-"        также отключить двухфакторную аутентификацию для своей учётной "
-"записи.\n"
+"        также отключить двухфакторную аутентификацию для своей учётной записи.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/profile/profile.html:78
@@ -3544,256 +3170,448 @@ msgstr "Эл.почта"
 msgid "SMS"
 msgstr "СМС"
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr "В процессе: Генерирование файла PDF"
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr "Создание файла PDF …"
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr "Файл PDF успешно создан."
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr "Во время создания файла PDF возникла проблема."
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr "Скачать PDF"
 
-#: aleksis/core/views.py:292 aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr "Учебный год создан."
 
-#: aleksis/core/views.py:304 aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr "Учебный год сохранён."
 
-#: aleksis/core/views.py:424 aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr "Дочерние группы сохранены."
 
-#: aleksis/core/views.py:443 aleksis/core/views.py:453
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr "Физлицо сохранено."
 
-#: aleksis/core/views.py:503 aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr "Группа сохранена."
 
-#: aleksis/core/views.py:600 aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr "Объявление сохранено."
 
-#: aleksis/core/views.py:616 aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr "Объявление удалено."
 
-#: aleksis/core/views.py:684 aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr "Журнал с запрошенными свойствами не существует"
 
-#: aleksis/core/views.py:703 aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr "Свойства сохранены."
 
-#: aleksis/core/views.py:727 aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr "Физлицо удалено."
 
-#: aleksis/core/views.py:741 aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr "Группа удалена."
 
-#: aleksis/core/views.py:773
-msgid "The additional_field has been saved."
+#: aleksis/core/views.py:730
+msgid "The additional field has been saved."
 msgstr "Дополнительное поле сохранено."
 
-#: aleksis/core/views.py:807 aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr "Дополнительное поле удалено."
 
-#: aleksis/core/views.py:832 aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr "Тип группы сохранён."
 
-#: aleksis/core/views.py:862 aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr "Тип группы удалён."
 
-#: aleksis/core/views.py:895 aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr "В процессе: Запуск проверки данных"
 
-#: aleksis/core/views.py:896 aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr "Запускается проверка данных …"
 
-#: aleksis/core/views.py:897 aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr "Проверка данных успешно запущена."
 
-#: aleksis/core/views.py:898 aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr "Во время запуска проверки данных возникла проблема."
 
-#: aleksis/core/views.py:914 aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr "Вариант решения \"{solve_option_obj.verbose_name}\" "
 
-#: aleksis/core/views.py:924 aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr "Запрошенный вариант решения не существует"
 
-#: aleksis/core/views.py:956 aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr "Виджет информпанели сохранён."
 
-#: aleksis/core/views.py:986 aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr "Виджет информпанели создан."
 
-#: aleksis/core/views.py:996 aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr "Виджет информпанели удалён."
 
-#: aleksis/core/views.py:1067 aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr "Ваша конфигурация информпанели сохранена."
 
-#: aleksis/core/views.py:1069 aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr "Конфигурация типовой/стандартной информпанели."
 
-#: aleksis/core/views.py:1145 aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr "Приглашение успешно создано. Код приглашения: {code}"
 
-#: aleksis/core/views.py:1236 aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr "Мы успешно назначили доступы."
 
-#: aleksis/core/views.py:1246 aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr "Глобальный пользовательский доступ удалён."
 
-#: aleksis/core/views.py:1256 aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr "Глобальный групповой доступ удалён."
 
-#: aleksis/core/views.py:1266 aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr "Объектный пользовательский доступ удалён."
 
-#: aleksis/core/views.py:1276 aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr "Объектный групповой доступ удалён."
 
-#: aleksis/core/views.py:1344 aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr "Запрошенный файл PDF не существует"
-
-#: aleksis/core/views.py:1353 aleksis/core/views.py:1357
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr "Запрошенное задание не существует или недоступно"
-
-#: aleksis/core/views.py:1409 aleksis/core/views.py:1411
-msgid ""
-"The third-party account could not be disconnected because it is the only "
-"login method available."
-msgstr ""
-"Учётную запись третьей стороны нельзя отключить, т.к. это единственный "
-"способ входа."
+#: aleksis/core/views.py:1349
+msgid "The third-party account could not be disconnected because it is the only login method available."
+msgstr "Учётную запись третьей стороны нельзя отключить, т.к. это единственный способ входа."
 
-#: aleksis/core/views.py:1416 aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr "Учётная запись третьей стороны успешно отключена."
 
-#: aleksis/core/views.py:1487 aleksis/core/views.py:1489
-msgid ""
-"Person was invited successfully and an email with further instructions has "
-"been send to them."
-msgstr ""
-"Владелец указанного эл.адреса успешно приглашён. Инструкции о дальнейших "
-"действиях отправлены на эл.почту."
+#: aleksis/core/views.py:1432
+msgid "Person was invited successfully and an email with further instructions has been send to them."
+msgstr "Владелец указанного эл.адреса успешно приглашён. Инструкции о дальнейших действиях отправлены на эл.почту."
 
-#: aleksis/core/views.py:1498 aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr "Кто-то уже пригласил его/её."
 
-#: aleksis/core/views.py:1598
-msgid "ICal feed updated successfully"
-msgstr "Лента iCal успешно обновлена"
+#~ msgid "Birthday Calendar"
+#~ msgstr "Календарь Дней Рождения"
 
-#: aleksis/core/views.py:1608
-msgid "ICal feed deleted successfully"
-msgstr "Лента iCal успешно удалена"
+#~ msgid "A Calendar of Birthdays"
+#~ msgstr "Календарь Дней Рождения"
 
-#: aleksis/core/views.py:1616
-msgid "ICal feed created successfully"
-msgstr "Лента iCal успешно создана"
-
-#: aleksis/core/data_checks.py:330
 #, python-format
-msgid "Validate field %s of model %s."
-msgstr "Проверьте поле %s модели %s."
+#~ msgid "%(name)s's birthday"
+#~ msgstr "%(name)s отмечает День Рождения"
 
-#: aleksis/core/data_checks.py:332
 #, python-format
-msgid "The field %s couldn't be validated successfully."
-msgstr "Поле %s проверить не удалось."
+#~ msgid "%(name)s was born on %(birthday)s"
+#~ msgstr "%(name)s родился(-лась) %(birthday)s"
 
-#: aleksis/core/models.py:181
-msgid "other"
-msgstr "другой"
+#~ msgid "Dashboard"
+#~ msgstr "Информпанель"
 
-#: aleksis/core/settings.py:543
-msgid "Ukrainian"
-msgstr "Украинский"
+#~ msgid "Admin"
+#~ msgstr "Админ"
 
-#: aleksis/core/templates/500.html:10
-msgid ""
-"An unexpected error has\n"
-"          occurred."
-msgstr ""
-"Возникла непредвиденная \n"
-"          ошибка."
+#~ msgid "Data management"
+#~ msgstr "Управление данными"
 
-#: aleksis/core/templates/core/group/full.html:93
-#, python-format
-msgid ""
-"\n"
-"              %(min)s years to %(max)s years\n"
-"            "
-msgstr ""
-"\n"
-"              %(min)s лет до %(max)s лет\n"
-"            "
+#~ msgid "Configuration"
+#~ msgstr "Конфигурация"
 
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr "iCal-ленты"
+#~ msgid "Backend Admin"
+#~ msgstr "Администрирование бекенда"
 
-#: aleksis/core/views.py:775
-msgid "The additional field has been saved."
-msgstr "Дополнительное поле сохранено."
+#~ msgid "People"
+#~ msgstr "Люди"
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr "Лента iCal успешно обновлена"
+#~ msgid "Groups and child groups"
+#~ msgstr "Группы и дочерние группы"
 
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr "Лента iCal успешно удалена"
+#~ msgid "Invite person"
+#~ msgstr "Пригласить знакомого"
+
+#~ msgid "Stop impersonation"
+#~ msgstr "Остановить прикрытие"
+
+#~ msgid "Account"
+#~ msgstr "Учётная запись"
+
+#~ msgid "2FA"
+#~ msgstr "2FA"
+
+#~ msgid "Third-party accounts"
+#~ msgstr "Учётные записи третих сторон"
+
+#~ msgid "Calendar Feeds"
+#~ msgstr "Ленты календарей"
+
+#~ msgid "Logout"
+#~ msgstr "Выйти"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
 
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr "Лента iCal успешно создана"
+#~ msgid "Selected ICal feed"
+#~ msgstr "Лента выбранного iCal"
+
+#~ msgid "Personal Calendar URL"
+#~ msgstr "URL-ссылка собственного календаря"
+
+#~ msgid "Personal Calendar URLs"
+#~ msgstr "URL-ссылка собственных календарей"
+
+#~ msgid "Available languages"
+#~ msgstr "Доступные языки"
+
+#~ msgid ""
+#~ "An unexpected error has\n"
+#~ "          occured."
+#~ msgstr ""
+#~ "Произошла непредвиденная \n"
+#~ "          ошибка."
+
+#~ msgid "About AlekSIS® — The Free School Information System"
+#~ msgstr "Об AlekSIS® — The Free School Information System"
+
+#~ msgid "Imprint"
+#~ msgstr "Отпечаток"
+
+#~ msgid "Privacy Policy"
+#~ msgstr "Политика приватности"
+
+#~ msgid "years to"
+#~ msgstr "–"
+
+#~ msgid "years "
+#~ msgstr "гг. "
+
+#~ msgid "Create iCal URL"
+#~ msgstr "Создать ссылку iCal"
+
+#, python-format
+#~ msgid "Edit iCal URL %(object)s"
+#~ msgstr "Редактировать ссылку iCal %(object)s"
+
+#~ msgid "ICal Feeds"
+#~ msgstr "iCal-ленты"
+
+#~ msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
+#~ msgstr "Здесь находятся ссылки на разные ленты календарей в формате iCal (.ics). Вы можете создать их столько, сколько будет необходимо и импортировать их в ПО для работы с календарями."
+
+#~ msgid "Your iCal URLs"
+#~ msgstr "Ваши ссылки iCal"
+
+#~ msgid "Recent notifications"
+#~ msgstr "Свежие уведомления"
+
+#~ msgid "More information →"
+#~ msgstr "Больше информации →"
+
+#~ msgid "No notifications available yet."
+#~ msgstr "Уведомления пока ещё недоступны."
+
+#~ msgid "About AlekSIS®"
+#~ msgstr "Об AlekSIS®"
+
+#~ msgid "AlekSIS® – The Free School Information System"
+#~ msgstr "AlekSIS® – The Free School Information System"
+
+#~ msgid "About AlekSIS"
+#~ msgstr "Об AlekSIS"
+
+#~ msgid ""
+#~ "\n"
+#~ "              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
+#~ "              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
+#~ "              can be used by anyone.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Эта платформа использует AlekSIS®, веб-инструмент информационной системы для обучения (SIS) при помощи которой\n"
+#~ "              можно управлять и/или публиковать оргинформацию учебных заведений. AlekSIS - бесплатное ПО\n"
+#~ "              и его может использовать любой желающий.\n"
+#~ "            "
+
+#~ msgid ""
+#~ "\n"
+#~ "              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              AlekSIS® – зарегистрированная торговая марка проекта с открытым исходным кодом AlekSIS, которая представлена Teckids e.V.\n"
+#~ "            "
+
+#~ msgid "Website of AlekSIS"
+#~ msgstr "Вебсайт AlekSIS"
+
+#~ msgid "Source code"
+#~ msgstr "Исходный код"
+
+#~ msgid "Licence information"
+#~ msgstr "Лицензионная информация"
+
+#~ msgid ""
+#~ "\n"
+#~ "              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
+#~ "              information from third-party apps, if installed, refer to the respective components below. The\n"
+#~ "              licences are marked like this:\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Ядро и официальные дополнения AlekSIS лицензированы под лицензией EUPL, версии 1.2 или новее. Для получения информации\n"
+#~ "              о компонентах третих сторон, если таковы установлены, перейдите к соответствующим компонентам ниже.\n"
+#~ "              Эти лицензии обозначены такой отметкой:\n"
+#~ "            "
+
+#~ msgid "Free/Open Source Licence"
+#~ msgstr "Бесплатная лицензия или Open Source"
+
+#~ msgid "Other Licence"
+#~ msgstr "Другая лицензия"
+
+#~ msgid "Full licence text"
+#~ msgstr "Полный текст лицензии"
+
+#~ msgid "More information about the EUPL"
+#~ msgstr "Больше информации о EUPL"
+
+#, python-format
+#~ msgid ""
+#~ "\n"
+#~ "                    This app is licenced under %(licence)s.\n"
+#~ "                  "
+#~ msgstr ""
+#~ "\n"
+#~ "                    Это приложение под лицензией %(licence)s.\n"
+#~ "                  "
+
+#~ msgid ""
+#~ "\n"
+#~ "              Without activated JavaScript the progress status can't be updated.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Без активного JavaScript статус выполнения обновляться не сможет.\n"
+#~ "            "
+
+#~ msgid "Language"
+#~ msgstr "Язык"
+
+#~ msgid "Select language"
+#~ msgstr "Выберите язык"
+
+#~ msgid ""
+#~ "\n"
+#~ "            Your administrator account is not linked to any person. Therefore,\n"
+#~ "            a dummy person has been linked to your account.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ваша административная учётная запись не соединена на с одним физлицом. Поэтому\n"
+#~ "            к Вашей учётной записи привязано фейковое физлицо.\n"
+#~ "          "
+
+#~ msgid ""
+#~ "\n"
+#~ "            Your user account is not linked to a person. This means you\n"
+#~ "            cannot access any school-related information. Please contact\n"
+#~ "            the managers of AlekSIS at your school.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ваша учётная запись не связана с физлицом. Это значит,\n"
+#~ "            что у Вас нет доступа на к какой учебной информации. Обратитесь,\n"
+#~ "            пожалуйста, к администраторам AlekSIS в Вашем учебном заведении.\n"
+#~ "          "
+
+#~ msgid "Impersonate"
+#~ msgstr "Маскировка"
+
+#~ msgid "Invite user"
+#~ msgstr "Пригласить пользователя"
+
+#~ msgid "Contact details"
+#~ msgstr "Контактные данные"
+
+#~ msgid "This person didn't upload a personal photo."
+#~ msgstr "Эта особа не загрузила личное фото."
+
+#~ msgid "Children"
+#~ msgstr "Дети"
+
+#~ msgid "Please return to your application and enter this code:"
+#~ msgstr "Вернитесь, пожалуйста, к своему приложению и впишите этот код:"
+
+#~ msgid "No internet connection."
+#~ msgstr "Отсутствует интернет-соединение."
+
+#~ msgid "The additional_field has been saved."
+#~ msgstr "Дополнительное поле сохранено."
+
+#~ msgid "The requested PDF file does not exist"
+#~ msgstr "Запрошенный файл PDF не существует"
+
+#~ msgid "The requested task does not exist or is not accessible"
+#~ msgstr "Запрошенное задание не существует или недоступно"
+
+#~ msgid "ICal feed updated successfully"
+#~ msgstr "Лента iCal успешно обновлена"
+
+#~ msgid "ICal feed created successfully"
+#~ msgstr "Лента iCal успешно создана"
+
+#~ msgid "iCal Feeds"
+#~ msgstr "iCal-ленты"
+
+#~ msgid "iCal feed updated successfully"
+#~ msgstr "Лента iCal успешно обновлена"
+
+#~ msgid "iCal feed deleted successfully"
+#~ msgstr "Лента iCal успешно удалена"
+
+#~ msgid "iCal feed created successfully"
+#~ msgstr "Лента iCal успешно создана"
diff --git a/aleksis/core/locale/ru/LC_MESSAGES/djangojs.po b/aleksis/core/locale/ru/LC_MESSAGES/djangojs.po
index 1fa3254633c1db138c12b13fcf7f674c2a4499b2..bbc79d5d9fe785b8f3fd5900dc65b2b02ec2eec5 100644
--- a/aleksis/core/locale/ru/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/ru/LC_MESSAGES/djangojs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2022-06-03 01:59+0000\n"
 "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
 "Language-Team: Russian <https://translate.edugit.org/projects/aleksis/aleksis-core-js/ru/>\n"
@@ -30,6 +30,5 @@ msgstr "Отменить"
 msgid "OK"
 msgstr "OK"
 
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr "Из-за отсутствия интернета эта страница можеть отображать устаревшую информацию."
+#~ msgid "This page may contain outdated information since there is no internet connection."
+#~ msgstr "Из-за отсутствия интернета эта страница можеть отображать устаревшую информацию."
diff --git a/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po
index aa34c1560b1444e80ac7c9fb86995b007142332e..c79394a38e698af3a7ccc7991756d9c7b2a82bd3 100644
--- a/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -17,34 +17,33 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr ""
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr ""
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr ""
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr ""
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr ""
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
 #: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246
 msgid "Groups"
 msgstr ""
 
-#: aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr ""
 
@@ -53,49 +52,29 @@ msgstr ""
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr ""
 
-#: aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr ""
 
-#: aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr ""
 
-#: aleksis/core/data_checks.py:330
+#: aleksis/core/data_checks.py:320
 #, python-format
 msgid "Validate field %s of model %s."
 msgstr ""
 
-#: aleksis/core/data_checks.py:332
+#: aleksis/core/data_checks.py:322
 #, python-format
 msgid "The field %s couldn't be validated successfully."
 msgstr ""
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr ""
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr ""
-
-#: aleksis/core/feeds.py:66
-#, python-format
-msgid "%(name)s's birthday"
-msgstr ""
-
-#: aleksis/core/feeds.py:71
-#, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr ""
-
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -167,8 +146,7 @@ msgid "Common data"
 msgstr ""
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:164
-#: aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
 #: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr ""
@@ -257,7 +235,7 @@ msgid "You must select at least one group or person which should get the permiss
 msgstr ""
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr ""
 
 #: aleksis/core/forms.py:586
@@ -276,15 +254,15 @@ msgstr ""
 msgid "Password (again)"
 msgstr ""
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr ""
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr ""
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr ""
 
@@ -308,160 +286,6 @@ msgstr ""
 msgid "No backup result found!"
 msgstr ""
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr ""
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr ""
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr ""
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr ""
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:872
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-msgid "Announcements"
-msgstr ""
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:142
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-msgid "School terms"
-msgstr ""
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr ""
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr ""
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr ""
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr ""
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr ""
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr ""
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr ""
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr ""
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr ""
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1111
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-msgid "Group types"
-msgstr ""
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr ""
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:542
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-msgid "Additional fields"
-msgstr ""
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr ""
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr ""
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr ""
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr ""
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr ""
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr ""
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr ""
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr ""
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr ""
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr ""
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr ""
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr ""
@@ -507,7 +331,6 @@ msgid "URL / Link"
 msgstr ""
 
 #: aleksis/core/models.py:105 aleksis/core/models.py:1077
-#: aleksis/core/models.py:1384
 msgid "Name"
 msgstr ""
 
@@ -527,8 +350,13 @@ msgstr ""
 msgid "There is already a school term for this time or a part of this time."
 msgstr ""
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:1024
-#: aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr ""
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr ""
 
@@ -568,7 +396,7 @@ msgstr ""
 msgid "other"
 msgstr ""
 
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr ""
 
@@ -577,6 +405,7 @@ msgid "Additional name(s)"
 msgstr ""
 
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr ""
 
@@ -596,11 +425,11 @@ msgstr ""
 msgid "Place"
 msgstr ""
 
-#: aleksis/core/models.py:207 aleksis/core/templates/core/person/full.html:160
+#: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr ""
 
-#: aleksis/core/models.py:208 aleksis/core/templates/core/person/full.html:170
+#: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr ""
 
@@ -628,7 +457,7 @@ msgstr ""
 msgid "This is a picture or an avatar for public display."
 msgstr ""
 
-#: aleksis/core/models.py:234 aleksis/core/templates/core/person/full.html:235
+#: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr ""
 
@@ -637,7 +466,7 @@ msgid "Primary group"
 msgstr ""
 
 #: aleksis/core/models.py:244 aleksis/core/models.py:724
-#: aleksis/core/models.py:748 aleksis/core/models.py:839
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
 #: aleksis/core/models.py:1104
 msgid "Description"
 msgstr ""
@@ -674,7 +503,7 @@ msgstr ""
 msgid "Can view statistics about group."
 msgstr ""
 
-#: aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr ""
 
@@ -694,8 +523,14 @@ msgstr ""
 msgid "Type of group"
 msgstr ""
 
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr ""
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
 #: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr ""
@@ -724,166 +559,175 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr ""
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr ""
 
-#: aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr ""
 
-#: aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr ""
 
-#: aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr ""
 
-#: aleksis/core/models.py:772 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr ""
 
-#: aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr ""
 
-#: aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr ""
 
-#: aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr ""
 
-#: aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr ""
 
-#: aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr ""
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr ""
 
-#: aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr ""
 
-#: aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr ""
 
-#: aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr ""
 
-#: aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr ""
 
-#: aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr ""
 
-#: aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr ""
 
-#: aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr ""
 
-#: aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr ""
 
-#: aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr ""
 
-#: aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr ""
 
-#: aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr ""
 
-#: aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr ""
 
-#: aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr ""
 
-#: aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr ""
 
-#: aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr ""
 
-#: aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr ""
 
-#: aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr ""
 
-#: aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr ""
 
-#: aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr ""
 
-#: aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr ""
 
-#: aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr ""
 
-#: aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr ""
 
-#: aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr ""
 
-#: aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr ""
 
@@ -891,11 +735,6 @@ msgstr ""
 msgid "Menu"
 msgstr ""
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-msgid "Icon"
-msgstr ""
-
 #: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr ""
@@ -912,6 +751,12 @@ msgstr ""
 msgid "Group type"
 msgstr ""
 
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr ""
+
 #: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr ""
@@ -988,64 +833,116 @@ msgstr ""
 msgid "File expires at"
 msgstr ""
 
-#: aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr ""
 
-#: aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr ""
 
-#: aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr ""
 
-#: aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr ""
 
+#: aleksis/core/models.py:1263
+msgid "Back URL"
+msgstr ""
+
+#: aleksis/core/models.py:1264
+msgid "Progress title"
+msgstr ""
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+msgid "Success message"
+msgstr ""
+
+#: aleksis/core/models.py:1267
+msgid "Redirect on success URL"
+msgstr ""
+
 #: aleksis/core/models.py:1269
+msgid "Additional button title"
+msgstr ""
+
+#: aleksis/core/models.py:1271
+msgid "Additional button URL"
+msgstr ""
+
+#: aleksis/core/models.py:1273
+msgid "Additional button icon"
+msgstr ""
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+msgid "Background task completed successfully"
+msgstr ""
+
+#: aleksis/core/models.py:1301
+msgid "The background task '{}' has been completed successfully."
+msgstr ""
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr ""
 
-#: aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr ""
 
-#: aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr ""
 
-#: aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr ""
 
-#: aleksis/core/models.py:1334
+#: aleksis/core/models.py:1396
 msgid "This image will be shown as icon in the authorization flow. It should be squared."
 msgstr ""
 
-#: aleksis/core/models.py:1383
-msgid "UUID"
+#: aleksis/core/models.py:1441
+msgid "Can view room timetable"
 msgstr ""
 
-#: aleksis/core/models.py:1387
-msgid "Selected ICal feed"
+#: aleksis/core/models.py:1443
+msgid "Room"
 msgstr ""
 
-#: aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr ""
-
-#: aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
 msgstr ""
 
 #: aleksis/core/preferences.py:25
@@ -1136,135 +1033,141 @@ msgstr ""
 msgid "Channels to use for notifications"
 msgstr ""
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+msgid "Select Design"
+msgstr ""
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr ""
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr ""
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr ""
 
-#: aleksis/core/preferences.py:241
+#: aleksis/core/preferences.py:256
 msgid "Automatically link existing persons to new users by their e-mail address"
 msgstr ""
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr ""
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr ""
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr ""
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr ""
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr ""
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr ""
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr ""
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr ""
 
-#: aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr ""
 
-#: aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr ""
 
-#: aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr ""
 
-#: aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr ""
 
-#: aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr ""
 
-#: aleksis/core/preferences.py:409
+#: aleksis/core/preferences.py:424
 msgid "Editable fields on person model which should trigger a notification on change"
 msgstr ""
 
-#: aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr ""
 
-#: aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr ""
 
-#: aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr ""
 
-#: aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr ""
 
-#: aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr ""
 
-#: aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr ""
 
-#: aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr ""
 
-#: aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr ""
 
-#: aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr ""
 
-#: aleksis/core/settings.py:543
+#: aleksis/core/settings.py:541
 msgid "Ukrainian"
 msgstr ""
 
 #: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
 #: aleksis/core/templates/core/group/full.html:26
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
 msgid "Edit"
 msgstr ""
@@ -1281,15 +1184,12 @@ msgstr ""
 #: aleksis/core/templates/core/announcement/list.html:42
 #: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
 msgid "Delete"
 msgstr ""
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr ""
 
@@ -1388,6 +1288,17 @@ msgstr ""
 msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr ""
+
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
 msgstr ""
@@ -1501,6 +1412,11 @@ msgstr ""
 msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 msgstr ""
 
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr ""
+
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
 msgid "Signup closed"
@@ -1591,18 +1507,6 @@ msgstr ""
 msgid "There are no announcements."
 msgstr ""
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr ""
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr ""
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr ""
@@ -1632,6 +1536,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr ""
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr ""
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr ""
@@ -1647,6 +1556,11 @@ msgstr ""
 msgid "Edit default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr ""
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr ""
@@ -1740,6 +1654,11 @@ msgstr ""
 msgid "Default dashboard"
 msgstr ""
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr ""
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
@@ -1819,8 +1738,6 @@ msgid "Edit group"
 msgstr ""
 
 #: aleksis/core/templates/core/group/full.html:40
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 msgid "Change preferences"
 msgstr ""
 
@@ -1874,45 +1791,11 @@ msgstr ""
 msgid "Create group type"
 msgstr ""
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
-msgstr ""
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr ""
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
 "        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
@@ -1920,101 +1803,14 @@ msgid ""
 "      "
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr ""
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr ""
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr ""
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2028,16 +1824,9 @@ msgid ""
 "    "
 msgstr ""
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be updated.\n"
-"            "
-msgstr ""
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
 msgstr ""
 
 #: aleksis/core/templates/core/pages/system_status.html:12
@@ -2163,13 +1952,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr ""
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr ""
 
@@ -2181,29 +1968,11 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:12
-msgid ""
-"\n"
-"            Your administrator account is not linked to any person. Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-
-#: aleksis/core/templates/core/partials/no_person.html:19
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
 
 #: aleksis/core/templates/core/perms/assign.html:12
@@ -2219,6 +1988,11 @@ msgstr ""
 msgid "Assign"
 msgstr ""
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr ""
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr ""
@@ -2262,28 +2036,6 @@ msgstr ""
 msgid "Edit person"
 msgstr ""
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr ""
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr ""
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr ""
@@ -2303,6 +2055,10 @@ msgstr ""
 msgid "Edit school term"
 msgstr ""
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr ""
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr ""
@@ -2336,6 +2092,10 @@ msgstr ""
 msgid "site preferences page"
 msgstr ""
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr ""
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr ""
@@ -2384,6 +2144,13 @@ msgstr ""
 msgid "Register OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr ""
@@ -2417,6 +2184,11 @@ msgstr ""
 msgid "Edit OAuth2 Application"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr ""
@@ -2448,14 +2220,6 @@ msgstr ""
 msgid "Disallow"
 msgstr ""
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr ""
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr ""
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2470,6 +2234,11 @@ msgstr ""
 msgid "Revoke"
 msgstr ""
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr ""
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr ""
@@ -2479,13 +2248,13 @@ msgid "Network error"
 msgstr ""
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
+msgid "Page not available offline."
 msgstr ""
 
 #: aleksis/core/templates/offline.html:14
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
 "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
@@ -2766,6 +2535,12 @@ msgstr ""
 msgid "Generate Tokens"
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -2860,6 +2635,10 @@ msgid ""
 "          security."
 msgstr ""
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr ""
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3083,188 +2862,168 @@ msgstr ""
 msgid "SMS"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr ""
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr ""
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr ""
 
-#: aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr ""
 
-#: aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr ""
 
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:775
+#: aleksis/core/views.py:730
 msgid "The additional field has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr ""
 
-#: aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr ""
 
-#: aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr ""
 
-#: aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr ""
 
-#: aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr ""
 
-#: aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr ""
 
-#: aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr ""
 
-#: aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr ""
 
-#: aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr ""
 
-#: aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr ""
 
-#: aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr ""
 
-#: aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr ""
 
-#: aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr ""
-
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr ""
-
-#: aleksis/core/views.py:1411
+#: aleksis/core/views.py:1349
 msgid "The third-party account could not be disconnected because it is the only login method available."
 msgstr ""
 
-#: aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr ""
 
-#: aleksis/core/views.py:1489
+#: aleksis/core/views.py:1432
 msgid "Person was invited successfully and an email with further instructions has been send to them."
 msgstr ""
 
-#: aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr ""
-
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr ""
-
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr ""
diff --git a/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po b/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po
index 26f9dbd80e1c93710efaf2abf60ffd0754e043b6..726d9cab18b9d431a74d68ffb2df35db6aff97b5 100644
--- a/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -28,7 +28,3 @@ msgstr ""
 #: aleksis/core/static/js/main.js:68
 msgid "OK"
 msgstr ""
-
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr ""
diff --git a/aleksis/core/locale/uk/LC_MESSAGES/django.po b/aleksis/core/locale/uk/LC_MESSAGES/django.po
index a5987d90d6bc2c3b1b54920ea0601d4f148eec23..f116a864f4022f2a361945644150f4facd23e6f9 100644
--- a/aleksis/core/locale/uk/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/uk/LC_MESSAGES/django.po
@@ -7,90 +7,75 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-24 19:37+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+0100\n"
 "PO-Revision-Date: 2022-07-03 06:14+0000\n"
 "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
-"Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/"
-"aleksis-core/uk/>\n"
+"Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/aleksis-core/uk/>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 "
-"? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > "
-"14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % "
-"100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
 "X-Generator: Weblate 4.12.1\n"
 
-#: aleksis/core/apps.py:166
+#: aleksis/core/apps.py:155
 msgid "OpenID Connect scope"
 msgstr "Межа дії OpenID Connect"
 
-#: aleksis/core/apps.py:167
+#: aleksis/core/apps.py:156
 msgid "Given name, family name, link to profile and picture if existing."
 msgstr "Ім'я, прізвище, посилання на профіль та фото, якщо є в наявності."
 
-#: aleksis/core/apps.py:168
+#: aleksis/core/apps.py:157
 msgid "Full home postal address"
 msgstr "Повна домашня поштова адреса"
 
-#: aleksis/core/apps.py:169
+#: aleksis/core/apps.py:158
 msgid "Email address"
 msgstr "Ел.адреса"
 
-#: aleksis/core/apps.py:170
+#: aleksis/core/apps.py:159
 msgid "Home and mobile phone"
 msgstr "Домашній та мобільний телефони"
 
-#: aleksis/core/apps.py:171 aleksis/core/forms.py:220 aleksis/core/menus.py:171
-#: aleksis/core/models.py:489 aleksis/core/templates/core/group/list.html:8
+#: aleksis/core/apps.py:160 aleksis/core/forms.py:220
+#: aleksis/core/models.py:494 aleksis/core/templates/core/group/list.html:8
 #: aleksis/core/templates/core/group/list.html:9
-#: aleksis/core/templates/core/person/full.html:246 aleksis/core/models.py:494
 msgid "Groups"
 msgstr "Групи"
 
-#: aleksis/core/data_checks.py:56 aleksis/core/data_checks.py:59
+#: aleksis/core/data_checks.py:60
 msgid "Ignore problem"
 msgstr "Ігнорувати проблему"
 
-#: aleksis/core/data_checks.py:185 aleksis/core/data_checks.py:188
+#: aleksis/core/data_checks.py:188
 #, python-brace-format
 msgid "Solve option '{solve_option_obj.verbose_name}' "
 msgstr "Варіант розв'язання '{solve_option_obj.verbose_name}' "
 
-#: aleksis/core/data_checks.py:291 aleksis/core/data_checks.py:294
+#: aleksis/core/data_checks.py:284
 msgid "Deactivate DashboardWidget"
 msgstr "Вимкнути віджет інформпанелі"
 
-#: aleksis/core/data_checks.py:303 aleksis/core/data_checks.py:306
+#: aleksis/core/data_checks.py:296
 msgid "Ensure that there are no broken DashboardWidgets."
 msgstr "Переконайтеся у відсутності збійних віджетів на інформпанелі."
 
-#: aleksis/core/data_checks.py:304 aleksis/core/data_checks.py:307
+#: aleksis/core/data_checks.py:297
 msgid "The DashboardWidget was reported broken automatically."
 msgstr "Віджет інформпанелі повідомив про збій в автоматичному режимі."
 
-#: aleksis/core/feeds.py:52
-msgid "Birthday Calendar"
-msgstr "Календар Днів Народження"
-
-#: aleksis/core/feeds.py:53
-msgid "A Calendar of Birthdays"
-msgstr "Календар Днів Народження"
-
-#: aleksis/core/feeds.py:66
+#: aleksis/core/data_checks.py:320
 #, python-format
-msgid "%(name)s's birthday"
-msgstr "%(name)s має День Народження"
+msgid "Validate field %s of model %s."
+msgstr "Перевірте поле %s моделі %s."
 
-#: aleksis/core/feeds.py:71
+#: aleksis/core/data_checks.py:322
 #, python-format
-msgid "%(name)s was born on %(birthday)s"
-msgstr "%(name)s народився(-лася) %(birthday)s"
+msgid "The field %s couldn't be validated successfully."
+msgstr "Поле %s не вдалося успішно перевірити."
 
-#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:139
-#: aleksis/core/templates/core/base.html:140
-#: aleksis/core/templates/core/group/list.html:20
+#: aleksis/core/filters.py:42 aleksis/core/templates/core/group/list.html:20
 #: aleksis/core/templates/core/person/list.html:24
 #: aleksis/core/templates/search/search.html:7
 #: aleksis/core/templates/search/search.html:22
@@ -113,13 +98,11 @@ msgstr "Дозвіл"
 msgid "Content type"
 msgstr "Тип змісту"
 
-#: aleksis/core/filters.py:113 aleksis/core/models.py:715
-#: aleksis/core/models.py:720
+#: aleksis/core/filters.py:113 aleksis/core/models.py:720
 msgid "User"
 msgstr "Користувач"
 
-#: aleksis/core/filters.py:135 aleksis/core/models.py:488
-#: aleksis/core/models.py:493
+#: aleksis/core/filters.py:135 aleksis/core/models.py:493
 msgid "Group"
 msgstr "Група"
 
@@ -155,8 +138,7 @@ msgstr "Обравши вже існуючого користувача немо
 msgid "This username is already in use."
 msgstr "Такий логін вже зайнятий."
 
-#: aleksis/core/forms.py:153 aleksis/core/models.py:136
-#: aleksis/core/models.py:141
+#: aleksis/core/forms.py:153 aleksis/core/models.py:141
 msgid "School term"
 msgstr "Навчальний рік"
 
@@ -165,9 +147,8 @@ msgid "Common data"
 msgstr "Загальні дані"
 
 #: aleksis/core/forms.py:155 aleksis/core/forms.py:207
-#: aleksis/core/menus.py:160 aleksis/core/models.py:159
-#: aleksis/core/templates/core/person/list.html:8
-#: aleksis/core/templates/core/person/list.html:9 aleksis/core/models.py:164
+#: aleksis/core/models.py:164 aleksis/core/templates/core/person/list.html:8
+#: aleksis/core/templates/core/person/list.html:9
 msgid "Persons"
 msgstr "Особи"
 
@@ -175,19 +156,18 @@ msgstr "Особи"
 msgid "Additional data"
 msgstr "Додаткові дані"
 
-#: aleksis/core/forms.py:157 aleksis/core/models.py:212
-#: aleksis/core/models.py:541 aleksis/core/models.py:217
+#: aleksis/core/forms.py:157 aleksis/core/models.py:217
 #: aleksis/core/models.py:546 aleksis/core/tables.py:46
 msgid "Photo"
 msgstr "Фото"
 
 #: aleksis/core/forms.py:199 aleksis/core/forms.py:202
-#: aleksis/core/models.py:79 aleksis/core/models.py:84
+#: aleksis/core/models.py:84
 msgid "Date"
 msgstr "Дата"
 
 #: aleksis/core/forms.py:200 aleksis/core/forms.py:203
-#: aleksis/core/models.py:87 aleksis/core/models.py:92
+#: aleksis/core/models.py:92
 msgid "Time"
 msgstr "Час"
 
@@ -204,8 +184,7 @@ msgid "Write your announcement:"
 msgstr "Складіть своє оголошеня:"
 
 #: aleksis/core/forms.py:276
-msgid ""
-"You are not allowed to create announcements which are only valid in the past."
+msgid "You are not allowed to create announcements which are only valid in the past."
 msgstr "Оголошення для минулого Вам створювати не дозволено."
 
 #: aleksis/core/forms.py:280
@@ -224,13 +203,11 @@ msgstr "Код запрошення"
 msgid "Please enter your invitation code."
 msgstr "Напишіть, будь ласка, свій код запрошення."
 
-#: aleksis/core/forms.py:418 aleksis/core/models.py:187
-#: aleksis/core/models.py:192
+#: aleksis/core/forms.py:418 aleksis/core/models.py:192
 msgid "First name"
 msgstr "Ім'я"
 
-#: aleksis/core/forms.py:419 aleksis/core/models.py:188
-#: aleksis/core/models.py:193
+#: aleksis/core/forms.py:419 aleksis/core/models.py:193
 msgid "Last name"
 msgstr "Прізвище"
 
@@ -255,13 +232,13 @@ msgid "Grant the permission for all objects"
 msgstr "Надати дозвіл до всіх об'єктів"
 
 #: aleksis/core/forms.py:494
-msgid ""
-"You must select at least one group or person which should get the permission."
-msgstr ""
-"Ви повинні обрати принаймні одну групу або особу, хто буде мати дозвіл."
+msgid "You must select at least one group or person which should get the permission."
+msgstr "Ви повинні обрати принаймні одну групу або особу, хто буде мати дозвіл."
 
 #: aleksis/core/forms.py:499
-msgid "You must grant the permission to all objects and/or to some objects."
+#, fuzzy
+#| msgid "You must grant the permission to all objects and/or to some objects."
+msgid "You must grant the permission to all objects or to specific objects."
 msgstr "Ви повинні надати дозвіл до всіх та/або до деяких об'єктів."
 
 #: aleksis/core/forms.py:586
@@ -280,15 +257,15 @@ msgstr "Пароль"
 msgid "Password (again)"
 msgstr "Пароль (ще раз)"
 
-#: aleksis/core/forms.py:728
+#: aleksis/core/forms.py:761
 msgid "The selected action does not exist."
 msgstr "Обрана дія не існує."
 
-#: aleksis/core/forms.py:739
+#: aleksis/core/forms.py:772
 msgid "You do not have permission to run {} on all selected objects."
 msgstr "У Вас відсутній дозвіл на запуск {} на усіх обраних об'єктах."
 
-#: aleksis/core/forms.py:795
+#: aleksis/core/forms.py:828
 msgid "No valid selection."
 msgstr "Неправильний вибір."
 
@@ -312,772 +289,684 @@ msgstr "Резервна копія не знайдена!"
 msgid "No backup result found!"
 msgstr "Результат резервного копіювання не знайдений!"
 
-#: aleksis/core/menus.py:7 aleksis/core/templates/two_factor/core/login.html:6
-#: aleksis/core/templates/two_factor/core/login.html:32
-#: aleksis/core/templates/two_factor/core/login.html:95
-msgid "Login"
-msgstr "Увійти"
-
-#: aleksis/core/menus.py:13 aleksis/core/templates/account/signup.html:22
-#: aleksis/core/templates/socialaccount/signup.html:23
-msgid "Sign up"
-msgstr "Зареєструватися"
-
-#: aleksis/core/menus.py:22 aleksis/core/templates/invitations/enter.html:7
-msgid "Accept invitation"
-msgstr "Прийняти запрошення"
-
-#: aleksis/core/menus.py:31
-msgid "Dashboard"
-msgstr "Інформпанель"
-
-#: aleksis/core/menus.py:39
-msgid "Admin"
-msgstr "Адмін"
-
-#: aleksis/core/menus.py:47 aleksis/core/models.py:867
-#: aleksis/core/templates/core/announcement/list.html:7
-#: aleksis/core/templates/core/announcement/list.html:8
-#: aleksis/core/models.py:872
-msgid "Announcements"
-msgstr "Оголошення"
-
-#: aleksis/core/menus.py:58 aleksis/core/models.py:137
-#: aleksis/core/templates/core/school_term/list.html:8
-#: aleksis/core/templates/core/school_term/list.html:9
-#: aleksis/core/models.py:142
-msgid "School terms"
-msgstr "Навчальний рік"
-
-#: aleksis/core/menus.py:69
-#: aleksis/core/templates/core/dashboard_widget/list.html:8
-#: aleksis/core/templates/core/dashboard_widget/list.html:9
-msgid "Dashboard widgets"
-msgstr "Віджети інформпанелі"
-
-#: aleksis/core/menus.py:80
-#: aleksis/core/templates/core/management/data_management.html:6
-#: aleksis/core/templates/core/management/data_management.html:7
-msgid "Data management"
-msgstr "Керування даними"
-
-#: aleksis/core/menus.py:91
-#: aleksis/core/templates/core/pages/system_status.html:5
-#: aleksis/core/templates/core/pages/system_status.html:7
-msgid "System status"
-msgstr "Стан системи"
-
-#: aleksis/core/menus.py:102
-msgid "Configuration"
-msgstr "Конфігурація"
-
-#: aleksis/core/menus.py:113 aleksis/core/templates/core/data_check/list.html:9
-#: aleksis/core/templates/core/data_check/list.html:10
-msgid "Data checks"
-msgstr "Перевірки даних"
-
-#: aleksis/core/menus.py:119 aleksis/core/templates/core/perms/list.html:13
-#: aleksis/core/templates/core/perms/list.html:14
-msgid "Manage permissions"
-msgstr "Керування дозволами"
-
-#: aleksis/core/menus.py:130
-msgid "Backend Admin"
-msgstr "Адміністрування бекенду"
-
-#: aleksis/core/menus.py:138
-#: aleksis/core/templates/oauth2_provider/application/list.html:5
-#: aleksis/core/templates/oauth2_provider/application/list.html:6
-msgid "OAuth2 Applications"
-msgstr "Додатки OAuth2"
-
-#: aleksis/core/menus.py:151
-msgid "People"
-msgstr "Люди"
-
-#: aleksis/core/menus.py:182 aleksis/core/models.py:1101
-#: aleksis/core/templates/core/group_type/list.html:8
-#: aleksis/core/templates/core/group_type/list.html:9
-#: aleksis/core/models.py:1111
-msgid "Group types"
-msgstr "Типи груп"
-
-#: aleksis/core/menus.py:193
-msgid "Groups and child groups"
-msgstr "Групи та підлеглі групи"
-
-#: aleksis/core/menus.py:204 aleksis/core/models.py:537
-#: aleksis/core/templates/core/additional_field/list.html:8
-#: aleksis/core/templates/core/additional_field/list.html:9
-#: aleksis/core/models.py:542
-msgid "Additional fields"
-msgstr "Додаткові поля"
-
-#: aleksis/core/menus.py:215
-msgid "Invite person"
-msgstr "Запросити особу"
-
-#: aleksis/core/menus.py:228
-#: aleksis/core/templates/core/group/child_groups.html:7
-#: aleksis/core/templates/core/group/child_groups.html:9
-msgid "Assign child groups to groups"
-msgstr "Призначити підлеглі групи до груп"
-
-#: aleksis/core/menus.py:240
-msgid "Stop impersonation"
-msgstr "Зупинити маскування"
-
-#: aleksis/core/menus.py:249
-msgid "Account"
-msgstr "Обліковий запис"
-
-#: aleksis/core/menus.py:258
-#: aleksis/core/templates/dynamic_preferences/form.html:5
-msgid "Preferences"
-msgstr "Властивості"
-
-#: aleksis/core/menus.py:267
-msgid "2FA"
-msgstr "2FA"
-
-#: aleksis/core/menus.py:275
-#: aleksis/core/templates/account/password_change.html:5
-#: aleksis/core/templates/account/password_change.html:6
-#: aleksis/core/templates/account/password_change.html:19
-#: aleksis/core/templates/account/password_reset_from_key.html:5
-#: aleksis/core/templates/account/password_reset_from_key.html:42
-#: aleksis/core/templates/account/password_reset_from_key.html:46
-#: aleksis/core/templates/account/password_reset_from_key_done.html:5
-#: aleksis/core/templates/account/password_reset_from_key_done.html:6
-msgid "Change password"
-msgstr "Змінити пароль"
-
-#: aleksis/core/menus.py:287
-msgid "Third-party accounts"
-msgstr "Обліковки третіх сторін"
-
-#: aleksis/core/menus.py:296
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
-#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
-msgid "Authorized applications"
-msgstr "Авторизовані додатки"
-
-#: aleksis/core/menus.py:305
-msgid "Calendar Feeds"
-msgstr "Канали календарів"
-
-#: aleksis/core/menus.py:318
-msgid "Logout"
-msgstr "Вийти"
-
 #: aleksis/core/mixins.py:511
 msgid "Linked school term"
 msgstr "Пов'язаний навчальний рік"
 
-#: aleksis/core/models.py:77 aleksis/core/models.py:82
+#: aleksis/core/models.py:82
 msgid "Boolean (Yes/No)"
 msgstr "Логічне (Так/Ні)"
 
-#: aleksis/core/models.py:78 aleksis/core/models.py:83
+#: aleksis/core/models.py:83
 msgid "Text (one line)"
 msgstr "Текст (один рядок)"
 
-#: aleksis/core/models.py:80 aleksis/core/models.py:85
+#: aleksis/core/models.py:85
 msgid "Date and time"
 msgstr "Дата і час"
 
-#: aleksis/core/models.py:81 aleksis/core/models.py:86
+#: aleksis/core/models.py:86
 msgid "Decimal number"
 msgstr "Десятичне число"
 
-#: aleksis/core/models.py:82 aleksis/core/models.py:205
 #: aleksis/core/models.py:87 aleksis/core/models.py:210
 msgid "E-mail address"
 msgstr "Адреса ел.пошти"
 
-#: aleksis/core/models.py:83 aleksis/core/models.py:88
+#: aleksis/core/models.py:88
 msgid "Integer"
 msgstr "Ціле"
 
-#: aleksis/core/models.py:84 aleksis/core/models.py:89
+#: aleksis/core/models.py:89
 msgid "IP address"
 msgstr "IP адреса"
 
-#: aleksis/core/models.py:85 aleksis/core/models.py:90
+#: aleksis/core/models.py:90
 msgid "Boolean or empty (Yes/No/Neither)"
 msgstr "Логічне або порожнє (Так/Ні/Нічого)"
 
-#: aleksis/core/models.py:86 aleksis/core/models.py:91
+#: aleksis/core/models.py:91
 msgid "Text (multi-line)"
 msgstr "Текст (багаторядковий)"
 
-#: aleksis/core/models.py:88 aleksis/core/models.py:93
+#: aleksis/core/models.py:93
 msgid "URL / Link"
 msgstr "URL / Посилання"
 
-#: aleksis/core/models.py:100 aleksis/core/models.py:1070
-#: aleksis/core/models.py:1374 aleksis/core/models.py:105
-#: aleksis/core/models.py:1077 aleksis/core/models.py:1384
+#: aleksis/core/models.py:105 aleksis/core/models.py:1077
 msgid "Name"
 msgstr "Повне ім'я"
 
-#: aleksis/core/models.py:102 aleksis/core/models.py:107
+#: aleksis/core/models.py:107
 msgid "Start date"
 msgstr "Дата початку"
 
-#: aleksis/core/models.py:103 aleksis/core/models.py:108
+#: aleksis/core/models.py:108
 msgid "End date"
 msgstr "Дата закінчення"
 
-#: aleksis/core/models.py:122 aleksis/core/models.py:127
+#: aleksis/core/models.py:127
 msgid "The start date must be earlier than the end date."
 msgstr "Початкова дата повинна бути раніше кінцевої."
 
-#: aleksis/core/models.py:129 aleksis/core/models.py:134
+#: aleksis/core/models.py:134
 msgid "There is already a school term for this time or a part of this time."
 msgstr "На цей час або на частину цього часу вже припадає навчальний рік."
 
-#: aleksis/core/models.py:158 aleksis/core/models.py:1019
-#: aleksis/core/models.py:1371 aleksis/core/models.py:163
-#: aleksis/core/models.py:1024 aleksis/core/models.py:1381
+#: aleksis/core/models.py:142
+#: aleksis/core/templates/core/school_term/list.html:8
+#: aleksis/core/templates/core/school_term/list.html:9
+msgid "School terms"
+msgstr "Навчальний рік"
+
+#: aleksis/core/models.py:163 aleksis/core/models.py:1026
 msgid "Person"
 msgstr "Особа"
 
-#: aleksis/core/models.py:161 aleksis/core/models.py:166
+#: aleksis/core/models.py:166
 msgid "Can view address"
 msgstr "Може бачити адресу"
 
-#: aleksis/core/models.py:162 aleksis/core/models.py:167
+#: aleksis/core/models.py:167
 msgid "Can view contact details"
 msgstr "Може бачити контактні дані"
 
-#: aleksis/core/models.py:163 aleksis/core/models.py:168
+#: aleksis/core/models.py:168
 msgid "Can view photo"
 msgstr "Може бачити фото"
 
-#: aleksis/core/models.py:164 aleksis/core/models.py:169
+#: aleksis/core/models.py:169
 msgid "Can view avatar image"
 msgstr "Може бачити аватар"
 
-#: aleksis/core/models.py:165 aleksis/core/models.py:170
+#: aleksis/core/models.py:170
 msgid "Can view persons groups"
 msgstr "Може бачити групи особи"
 
-#: aleksis/core/models.py:166 aleksis/core/models.py:171
+#: aleksis/core/models.py:171
 msgid "Can view personal details"
 msgstr "Може бачити особисті дані"
 
-#: aleksis/core/models.py:176 aleksis/core/models.py:181
+#: aleksis/core/models.py:181
 msgid "female"
 msgstr "жін"
 
-#: aleksis/core/models.py:176 aleksis/core/models.py:181
+#: aleksis/core/models.py:181
 msgid "male"
 msgstr "чол"
 
-#: aleksis/core/models.py:184 aleksis/core/models.py:1273
-#: aleksis/core/models.py:189 aleksis/core/models.py:1283
+#: aleksis/core/models.py:181
+msgid "other"
+msgstr "інший"
+
+#: aleksis/core/models.py:189 aleksis/core/models.py:1345
 msgid "Linked user"
 msgstr "Пов'язаний користувач"
 
-#: aleksis/core/models.py:190 aleksis/core/models.py:195
+#: aleksis/core/models.py:195
 msgid "Additional name(s)"
 msgstr "Додаткові імена"
 
-#: aleksis/core/models.py:194 aleksis/core/models.py:506
 #: aleksis/core/models.py:199 aleksis/core/models.py:511
+#: aleksis/core/models.py:1431
 msgid "Short name"
 msgstr "Коротке ім'я"
 
-#: aleksis/core/models.py:197 aleksis/core/models.py:202
+#: aleksis/core/models.py:202
 msgid "Street"
 msgstr "Вулиця"
 
-#: aleksis/core/models.py:198 aleksis/core/models.py:203
+#: aleksis/core/models.py:203
 msgid "Street number"
 msgstr "Номер будинку"
 
-#: aleksis/core/models.py:199 aleksis/core/models.py:204
+#: aleksis/core/models.py:204
 msgid "Postal code"
 msgstr "Поштовий індекс"
 
-#: aleksis/core/models.py:200 aleksis/core/models.py:205
+#: aleksis/core/models.py:205
 msgid "Place"
 msgstr "Місто"
 
-#: aleksis/core/models.py:202 aleksis/core/templates/core/person/full.html:160
 #: aleksis/core/models.py:207
 msgid "Home phone"
 msgstr "Домашній телефон"
 
-#: aleksis/core/models.py:203 aleksis/core/templates/core/person/full.html:170
 #: aleksis/core/models.py:208
 msgid "Mobile phone"
 msgstr "Мобільний телефон"
 
-#: aleksis/core/models.py:207 aleksis/core/models.py:212
+#: aleksis/core/models.py:212
 msgid "Date of birth"
 msgstr "Дата народження"
 
-#: aleksis/core/models.py:208 aleksis/core/models.py:213
+#: aleksis/core/models.py:213
 msgid "Place of birth"
 msgstr "Місце народження"
 
-#: aleksis/core/models.py:209 aleksis/core/models.py:214
+#: aleksis/core/models.py:214
 msgid "Sex"
 msgstr "Стать"
 
-#: aleksis/core/models.py:216 aleksis/core/models.py:545
 #: aleksis/core/models.py:221 aleksis/core/models.py:550
-msgid ""
-"This is an official photo, used for official documents and for internal use "
-"cases."
-msgstr ""
-"Це офіційне фото, яке використовується для документів та внутрішніх потреб."
+msgid "This is an official photo, used for official documents and for internal use cases."
+msgstr "Це офіційне фото, яке використовується для документів та внутрішніх потреб."
 
-#: aleksis/core/models.py:221 aleksis/core/models.py:549
 #: aleksis/core/models.py:226 aleksis/core/models.py:554
 msgid "Display picture / Avatar"
 msgstr "Відобразити фото/аватар"
 
-#: aleksis/core/models.py:224 aleksis/core/models.py:552
 #: aleksis/core/models.py:229 aleksis/core/models.py:557
 msgid "This is a picture or an avatar for public display."
 msgstr "Це фото або аватар для загального відображення."
 
-#: aleksis/core/models.py:229 aleksis/core/templates/core/person/full.html:235
 #: aleksis/core/models.py:234
 msgid "Guardians / Parents"
 msgstr "Опікуни / батьки"
 
-#: aleksis/core/models.py:236 aleksis/core/models.py:241
+#: aleksis/core/models.py:241
 msgid "Primary group"
 msgstr "Основна група"
 
-#: aleksis/core/models.py:239 aleksis/core/models.py:719
-#: aleksis/core/models.py:743 aleksis/core/models.py:834
-#: aleksis/core/models.py:1094 aleksis/core/models.py:244
-#: aleksis/core/models.py:724 aleksis/core/models.py:748
-#: aleksis/core/models.py:839 aleksis/core/models.py:1104
+#: aleksis/core/models.py:244 aleksis/core/models.py:724
+#: aleksis/core/models.py:748 aleksis/core/models.py:843
+#: aleksis/core/models.py:1104
 msgid "Description"
 msgstr "Опис"
 
-#: aleksis/core/models.py:459 aleksis/core/models.py:464
+#: aleksis/core/models.py:464
 msgid "Title of field"
 msgstr "Назва поля"
 
-#: aleksis/core/models.py:461 aleksis/core/models.py:466
+#: aleksis/core/models.py:466
 msgid "Type of field"
 msgstr "Тип поля"
 
-#: aleksis/core/models.py:463 aleksis/core/models.py:468
+#: aleksis/core/models.py:468
 msgid "Required"
 msgstr "Необхідне"
 
-#: aleksis/core/models.py:464 aleksis/core/models.py:469
+#: aleksis/core/models.py:469
 msgid "Help text / description"
 msgstr "Допоміжний текст/опис"
 
-#: aleksis/core/models.py:470 aleksis/core/models.py:475
+#: aleksis/core/models.py:475
 msgid "Addtitional field for groups"
 msgstr "Додаткове поле для груп"
 
-#: aleksis/core/models.py:471 aleksis/core/models.py:476
+#: aleksis/core/models.py:476
 msgid "Addtitional fields for groups"
 msgstr "Додаткові поля для груп"
 
-#: aleksis/core/models.py:491 aleksis/core/models.py:496
+#: aleksis/core/models.py:496
 msgid "Can assign child groups to groups"
 msgstr "Може призначати підлеглі групи до груп"
 
-#: aleksis/core/models.py:492 aleksis/core/models.py:497
+#: aleksis/core/models.py:497
 msgid "Can view statistics about group."
 msgstr "Може бачити статистику групи."
 
-#: aleksis/core/models.py:504 aleksis/core/models.py:509
+#: aleksis/core/models.py:509 aleksis/core/models.py:1432
 msgid "Long name"
 msgstr "Довге ім'я"
 
-#: aleksis/core/models.py:514 aleksis/core/templates/core/group/full.html:85
 #: aleksis/core/models.py:519 aleksis/core/templates/core/group/full.html:105
 msgid "Members"
 msgstr "Учасники"
 
-#: aleksis/core/models.py:517 aleksis/core/templates/core/group/full.html:82
 #: aleksis/core/models.py:522 aleksis/core/templates/core/group/full.html:102
 msgid "Owners"
 msgstr "Власники"
 
-#: aleksis/core/models.py:524 aleksis/core/templates/core/group/full.html:55
 #: aleksis/core/models.py:529 aleksis/core/templates/core/group/full.html:59
 msgid "Parent groups"
 msgstr "Батьківські групи"
 
-#: aleksis/core/models.py:532 aleksis/core/models.py:537
+#: aleksis/core/models.py:537
 msgid "Type of group"
 msgstr "Тип групи"
 
-#: aleksis/core/models.py:718 aleksis/core/models.py:742
-#: aleksis/core/models.py:833
-#: aleksis/core/templates/core/announcement/list.html:18
+#: aleksis/core/models.py:542
+#: aleksis/core/templates/core/additional_field/list.html:8
+#: aleksis/core/templates/core/additional_field/list.html:9
+msgid "Additional fields"
+msgstr "Додаткові поля"
+
 #: aleksis/core/models.py:723 aleksis/core/models.py:747
-#: aleksis/core/models.py:838
+#: aleksis/core/models.py:842 aleksis/core/models.py:1262
+#: aleksis/core/templates/core/announcement/list.html:18
 msgid "Title"
 msgstr "Назва"
 
-#: aleksis/core/models.py:721 aleksis/core/models.py:726
+#: aleksis/core/models.py:726
 msgid "Application"
 msgstr "Додаток"
 
-#: aleksis/core/models.py:727 aleksis/core/models.py:732
+#: aleksis/core/models.py:732
 msgid "Activity"
 msgstr "Активність"
 
-#: aleksis/core/models.py:728 aleksis/core/models.py:733
+#: aleksis/core/models.py:733
 msgid "Activities"
 msgstr "Активності"
 
-#: aleksis/core/models.py:734 aleksis/core/models.py:739
+#: aleksis/core/models.py:739
 msgid "Sender"
 msgstr "Відправник"
 
-#: aleksis/core/models.py:739 aleksis/core/models.py:744
+#: aleksis/core/models.py:744
 msgid "Recipient"
 msgstr "Отримувач"
 
-#: aleksis/core/models.py:744 aleksis/core/models.py:1071
 #: aleksis/core/models.py:749 aleksis/core/models.py:1078
 msgid "Link"
 msgstr "Посилання"
 
-#: aleksis/core/models.py:746 aleksis/core/models.py:751
+#: aleksis/core/models.py:752 aleksis/core/models.py:1079
+#: aleksis/core/models.py:1392
+#: aleksis/core/templates/oauth2_provider/application/detail.html:26
+msgid "Icon"
+msgstr "Іконка"
+
+#: aleksis/core/models.py:755
 msgid "Send notification at"
 msgstr "Надіслати сповіщення о"
 
-#: aleksis/core/models.py:748 aleksis/core/models.py:753
+#: aleksis/core/models.py:757
 msgid "Read"
 msgstr "Читати"
 
-#: aleksis/core/models.py:749 aleksis/core/models.py:754
+#: aleksis/core/models.py:758
 msgid "Sent"
 msgstr "Надіслано"
 
-#: aleksis/core/models.py:766 aleksis/core/models.py:771
+#: aleksis/core/models.py:775
 msgid "Notification"
 msgstr "Сповіщення"
 
-#: aleksis/core/models.py:767 aleksis/core/preferences.py:29
-#: aleksis/core/templates/core/base.html:81
-#: aleksis/core/templates/core/notifications.html:4
-#: aleksis/core/templates/core/notifications.html:5 aleksis/core/models.py:772
+#: aleksis/core/models.py:776 aleksis/core/preferences.py:29
 msgid "Notifications"
 msgstr "Сповіщення"
 
-#: aleksis/core/models.py:835 aleksis/core/models.py:840
+#: aleksis/core/models.py:844
 msgid "Link to detailed view"
 msgstr "Посилання на детальний перегляд"
 
-#: aleksis/core/models.py:838 aleksis/core/models.py:843
+#: aleksis/core/models.py:847
 msgid "Date and time from when to show"
 msgstr "Дата і час, з якого показувати"
 
-#: aleksis/core/models.py:841 aleksis/core/models.py:846
+#: aleksis/core/models.py:850
 msgid "Date and time until when to show"
 msgstr "Дата і час, до якого показувати"
 
-#: aleksis/core/models.py:866 aleksis/core/models.py:871
+#: aleksis/core/models.py:875
 msgid "Announcement"
 msgstr "Оголошення"
 
-#: aleksis/core/models.py:904 aleksis/core/models.py:909
+#: aleksis/core/models.py:876
+#: aleksis/core/templates/core/announcement/list.html:7
+#: aleksis/core/templates/core/announcement/list.html:8
+msgid "Announcements"
+msgstr "Оголошення"
+
+#: aleksis/core/models.py:913
 msgid "Announcement recipient"
 msgstr "Отримувач оголошення"
 
-#: aleksis/core/models.py:905 aleksis/core/models.py:910
+#: aleksis/core/models.py:914
 msgid "Announcement recipients"
 msgstr "Отримувачі оголошення"
 
-#: aleksis/core/models.py:927 aleksis/core/models.py:932
+#: aleksis/core/models.py:934
 msgid "Widget Title"
 msgstr "Назва віджета"
 
-#: aleksis/core/models.py:928 aleksis/core/models.py:933
+#: aleksis/core/models.py:935
 msgid "Activate Widget"
 msgstr "Активувати віджет"
 
-#: aleksis/core/models.py:929 aleksis/core/models.py:934
+#: aleksis/core/models.py:936
 msgid "Widget is broken"
 msgstr "Віджет зламався"
 
-#: aleksis/core/models.py:932 aleksis/core/models.py:937
+#: aleksis/core/models.py:939
 msgid "Size on mobile devices"
 msgstr "Розмір на мобільних"
 
-#: aleksis/core/models.py:933 aleksis/core/models.py:938
+#: aleksis/core/models.py:940
 msgid "<= 600 px, 12 columns"
 msgstr "<= 600 пікс, 12 стовпчиків"
 
-#: aleksis/core/models.py:938 aleksis/core/models.py:943
+#: aleksis/core/models.py:945
 msgid "Size on tablet devices"
 msgstr "Розмір на планшетах"
 
-#: aleksis/core/models.py:939 aleksis/core/models.py:944
+#: aleksis/core/models.py:946
 msgid "> 600 px, 12 columns"
 msgstr "> 600 пікс, 12 стовпчиків"
 
-#: aleksis/core/models.py:944 aleksis/core/models.py:949
+#: aleksis/core/models.py:951
 msgid "Size on desktop devices"
 msgstr "Розмір на ПК"
 
-#: aleksis/core/models.py:945 aleksis/core/models.py:950
+#: aleksis/core/models.py:952
 msgid "> 992 px, 12 columns"
 msgstr "> 992 пікс, 12 стовпчиків"
 
-#: aleksis/core/models.py:950 aleksis/core/models.py:955
+#: aleksis/core/models.py:957
 msgid "Size on large desktop devices"
 msgstr "Розмір на великих екранах"
 
-#: aleksis/core/models.py:951 aleksis/core/models.py:956
+#: aleksis/core/models.py:958
 msgid "> 1200 px>, 12 columns"
 msgstr "> 1200 пікс, 12 стовпчиків"
 
-#: aleksis/core/models.py:982 aleksis/core/models.py:987
+#: aleksis/core/models.py:989
 msgid "Can edit default dashboard"
 msgstr "Може редагувати типову/стандартну інформпанель"
 
-#: aleksis/core/models.py:983 aleksis/core/models.py:988
+#: aleksis/core/models.py:990
 msgid "Dashboard Widget"
 msgstr "Віджет інформпанелі"
 
-#: aleksis/core/models.py:984 aleksis/core/models.py:989
+#: aleksis/core/models.py:991
 msgid "Dashboard Widgets"
 msgstr "Віджети інформпанелі"
 
-#: aleksis/core/models.py:990 aleksis/core/models.py:995
+#: aleksis/core/models.py:997
 msgid "URL"
 msgstr "URL"
 
-#: aleksis/core/models.py:991 aleksis/core/models.py:996
+#: aleksis/core/models.py:998
 msgid "Icon URL"
 msgstr "Іконка URL"
 
-#: aleksis/core/models.py:997 aleksis/core/models.py:1002
+#: aleksis/core/models.py:1004
 msgid "External link widget"
 msgstr "Зовнішнє посилання на віджет"
 
-#: aleksis/core/models.py:998 aleksis/core/models.py:1003
+#: aleksis/core/models.py:1005
 msgid "External link widgets"
 msgstr "Зовнішні посилання на віджети"
 
-#: aleksis/core/models.py:1004 aleksis/core/models.py:1009
+#: aleksis/core/models.py:1011
 msgid "Content"
 msgstr "Зміст"
 
-#: aleksis/core/models.py:1010 aleksis/core/models.py:1015
+#: aleksis/core/models.py:1017
 msgid "Static content widget"
 msgstr "Віджет з постійним змістом"
 
-#: aleksis/core/models.py:1011 aleksis/core/models.py:1016
+#: aleksis/core/models.py:1018
 msgid "Static content widgets"
 msgstr "Віджети з постійним змістом"
 
-#: aleksis/core/models.py:1016 aleksis/core/models.py:1021
+#: aleksis/core/models.py:1023
 msgid "Dashboard widget"
 msgstr "Віджет інформпанелі"
 
-#: aleksis/core/models.py:1021 aleksis/core/models.py:1026
+#: aleksis/core/models.py:1028
 msgid "Order"
 msgstr "Порядок"
 
-#: aleksis/core/models.py:1022 aleksis/core/models.py:1027
+#: aleksis/core/models.py:1029
 msgid "Part of the default dashboard"
 msgstr "Частина типової інформпанелі"
 
-#: aleksis/core/models.py:1037 aleksis/core/models.py:1042
+#: aleksis/core/models.py:1044
 msgid "Dashboard widget order"
 msgstr "Порядок віджету на інформпанелі"
 
-#: aleksis/core/models.py:1038 aleksis/core/models.py:1043
+#: aleksis/core/models.py:1045
 msgid "Dashboard widget orders"
 msgstr "Порядок віджетів на інформпанелі"
 
-#: aleksis/core/models.py:1044 aleksis/core/models.py:1049
+#: aleksis/core/models.py:1051
 msgid "Menu ID"
 msgstr "Меню ID"
 
-#: aleksis/core/models.py:1057 aleksis/core/models.py:1062
+#: aleksis/core/models.py:1064
 msgid "Custom menu"
 msgstr "Користувацьке меню"
 
-#: aleksis/core/models.py:1058 aleksis/core/models.py:1063
+#: aleksis/core/models.py:1065
 msgid "Custom menus"
 msgstr "Користувацькі меню"
 
-#: aleksis/core/models.py:1068 aleksis/core/models.py:1075
+#: aleksis/core/models.py:1075
 msgid "Menu"
 msgstr "Меню"
 
-#: aleksis/core/models.py:1072 aleksis/core/models.py:1320
-#: aleksis/core/templates/oauth2_provider/application/detail.html:26
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1330
-msgid "Icon"
-msgstr "Іконка"
-
-#: aleksis/core/models.py:1078 aleksis/core/models.py:1085
+#: aleksis/core/models.py:1085
 msgid "Custom menu item"
 msgstr "Пункт користувацького меню"
 
-#: aleksis/core/models.py:1079 aleksis/core/models.py:1086
+#: aleksis/core/models.py:1086
 msgid "Custom menu items"
 msgstr "Пункти користувацького меню"
 
-#: aleksis/core/models.py:1093 aleksis/core/models.py:1103
+#: aleksis/core/models.py:1103
 msgid "Title of type"
 msgstr "Назва типу"
 
-#: aleksis/core/models.py:1100 aleksis/core/templates/core/group/full.html:47
 #: aleksis/core/models.py:1110 aleksis/core/templates/core/group/full.html:50
 msgid "Group type"
 msgstr "Тип групи"
 
-#: aleksis/core/models.py:1114 aleksis/core/models.py:1124
+#: aleksis/core/models.py:1111
+#: aleksis/core/templates/core/group_type/list.html:8
+#: aleksis/core/templates/core/group_type/list.html:9
+msgid "Group types"
+msgstr "Типи груп"
+
+#: aleksis/core/models.py:1124
 msgid "Can view system status"
 msgstr "Може переглядати стан системи"
 
-#: aleksis/core/models.py:1115 aleksis/core/models.py:1125
+#: aleksis/core/models.py:1125
 msgid "Can manage data"
 msgstr "Може керувати даними"
 
-#: aleksis/core/models.py:1116 aleksis/core/models.py:1126
+#: aleksis/core/models.py:1126
 msgid "Can impersonate"
 msgstr "Може маскуватися"
 
-#: aleksis/core/models.py:1117 aleksis/core/models.py:1127
+#: aleksis/core/models.py:1127
 msgid "Can use search"
 msgstr "Може шукати"
 
-#: aleksis/core/models.py:1118 aleksis/core/models.py:1128
+#: aleksis/core/models.py:1128
 msgid "Can change site preferences"
 msgstr "Може змінювати властивості сайту"
 
-#: aleksis/core/models.py:1119 aleksis/core/models.py:1129
+#: aleksis/core/models.py:1129
 msgid "Can change person preferences"
 msgstr "Може змінювати властивості особи"
 
-#: aleksis/core/models.py:1120 aleksis/core/models.py:1130
+#: aleksis/core/models.py:1130
 msgid "Can change group preferences"
 msgstr "Може змінювати властивості групи"
 
-#: aleksis/core/models.py:1121 aleksis/core/models.py:1131
+#: aleksis/core/models.py:1131
 msgid "Can test PDF generation"
 msgstr "Може генерувати тестові PDF"
 
-#: aleksis/core/models.py:1122 aleksis/core/models.py:1132
+#: aleksis/core/models.py:1132
 msgid "Can invite persons"
 msgstr "Може запрошувати осіб"
 
-#: aleksis/core/models.py:1158 aleksis/core/models.py:1168
+#: aleksis/core/models.py:1168
 msgid "Related data check task"
 msgstr "Завдання перевірки пов'язаних даних"
 
-#: aleksis/core/models.py:1166 aleksis/core/models.py:1176
+#: aleksis/core/models.py:1176
 msgid "Issue solved"
 msgstr "Проблема вирішена"
 
-#: aleksis/core/models.py:1167 aleksis/core/models.py:1177
+#: aleksis/core/models.py:1177
 msgid "Notification sent"
 msgstr "Сповіщення надіслане"
 
-#: aleksis/core/models.py:1180 aleksis/core/models.py:1190
+#: aleksis/core/models.py:1190
 msgid "Data check result"
 msgstr "Результат перевірки даних"
 
-#: aleksis/core/models.py:1181 aleksis/core/models.py:1191
+#: aleksis/core/models.py:1191
 msgid "Data check results"
 msgstr "Результати перевірки даних"
 
-#: aleksis/core/models.py:1183 aleksis/core/models.py:1193
+#: aleksis/core/models.py:1193
 msgid "Can run data checks"
 msgstr "Може запускати перевірки даних"
 
-#: aleksis/core/models.py:1184 aleksis/core/models.py:1194
+#: aleksis/core/models.py:1194
 msgid "Can solve data check problems"
 msgstr "Може розв'язувати проблеми перевірки даних"
 
-#: aleksis/core/models.py:1191 aleksis/core/models.py:1201
+#: aleksis/core/models.py:1201
 msgid "E-Mail address"
 msgstr "Адреса ел.пошти"
 
-#: aleksis/core/models.py:1223 aleksis/core/models.py:1233
+#: aleksis/core/models.py:1233
 msgid "Owner"
 msgstr "Власник"
 
-#: aleksis/core/models.py:1227 aleksis/core/models.py:1237
+#: aleksis/core/models.py:1237
 msgid "File expires at"
 msgstr "Файл дійсний до"
 
-#: aleksis/core/models.py:1229 aleksis/core/models.py:1239
+#: aleksis/core/models.py:1240
 msgid "Generated HTML file"
 msgstr "Згенерований файл HTML"
 
-#: aleksis/core/models.py:1231 aleksis/core/models.py:1241
+#: aleksis/core/models.py:1243
 msgid "Generated PDF file"
 msgstr "Згенерований файл PDF"
 
-#: aleksis/core/models.py:1238 aleksis/core/models.py:1248
+#: aleksis/core/models.py:1250
 msgid "PDF file"
 msgstr "Файл PDF"
 
-#: aleksis/core/models.py:1239 aleksis/core/models.py:1249
+#: aleksis/core/models.py:1251
 msgid "PDF files"
 msgstr "Файли PDF"
 
-#: aleksis/core/models.py:1244 aleksis/core/models.py:1254
+#: aleksis/core/models.py:1256
 msgid "Task result"
 msgstr "Результат завдання"
 
-#: aleksis/core/models.py:1247 aleksis/core/models.py:1257
+#: aleksis/core/models.py:1259
 msgid "Task user"
 msgstr "Користувач завдання"
 
-#: aleksis/core/models.py:1259 aleksis/core/models.py:1269
+#: aleksis/core/models.py:1263
+#, fuzzy
+#| msgid "Back"
+msgid "Back URL"
+msgstr "Назад"
+
+#: aleksis/core/models.py:1264
+#, fuzzy
+#| msgid "Progress: Generate PDF file"
+msgid "Progress title"
+msgstr "Перебіг: Генерація файлу PDF"
+
+#: aleksis/core/models.py:1265
+msgid "Error message"
+msgstr ""
+
+#: aleksis/core/models.py:1266
+#, fuzzy
+#| msgid "Success!"
+msgid "Success message"
+msgstr "Успіх!"
+
+#: aleksis/core/models.py:1267
+#, fuzzy
+#| msgid "Redirect URIs"
+msgid "Redirect on success URL"
+msgstr "Перенаправлення URI-адрес"
+
+#: aleksis/core/models.py:1269
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button title"
+msgstr "Додаткові атрибути"
+
+#: aleksis/core/models.py:1271
+#, fuzzy
+#| msgid "Additional data"
+msgid "Additional button URL"
+msgstr "Додаткові дані"
+
+#: aleksis/core/models.py:1273
+#, fuzzy
+#| msgid "Additional attributes"
+msgid "Additional button icon"
+msgstr "Додаткові атрибути"
+
+#: aleksis/core/models.py:1275
+msgid "Result fetched"
+msgstr ""
+
+#: aleksis/core/models.py:1300
+#, fuzzy
+#| msgid "ICal feed deleted successfully"
+msgid "Background task completed successfully"
+msgstr "Стрічка iCal успішно видалена"
+
+#: aleksis/core/models.py:1301
+#, fuzzy
+#| msgid "The PDF file has been generated successfully."
+msgid "The background task '{}' has been completed successfully."
+msgstr "Файл PDF успішно створений."
+
+#: aleksis/core/models.py:1307
+msgid "Background task failed"
+msgstr ""
+
+#: aleksis/core/models.py:1308
+msgid "The background task '{}' has failed."
+msgstr ""
+
+#: aleksis/core/models.py:1317
+msgid "Background task"
+msgstr ""
+
+#: aleksis/core/models.py:1331
 msgid "Task user assignment"
 msgstr "Призначення користувача завдання"
 
-#: aleksis/core/models.py:1260 aleksis/core/models.py:1270
+#: aleksis/core/models.py:1332
 msgid "Task user assignments"
 msgstr "Призначення користувачів завдання"
 
-#: aleksis/core/models.py:1276 aleksis/core/models.py:1286
+#: aleksis/core/models.py:1348
 msgid "Additional attributes"
 msgstr "Додаткові атрибути"
 
-#: aleksis/core/models.py:1314 aleksis/core/models.py:1324
+#: aleksis/core/models.py:1386
 msgid "Allowed scopes that clients can request"
 msgstr "Дозволені межі дії, які можуть запитувати клієнти"
 
-#: aleksis/core/models.py:1324 aleksis/core/models.py:1334
-msgid ""
-"This image will be shown as icon in the authorization flow. It should be "
-"squared."
-msgstr ""
-"Це зображення буде іконкою під час авторизації. Воно повинне бути квадратним."
-
-#: aleksis/core/models.py:1373 aleksis/core/models.py:1383
-msgid "UUID"
-msgstr "UUID"
+#: aleksis/core/models.py:1396
+msgid "This image will be shown as icon in the authorization flow. It should be squared."
+msgstr "Це зображення буде іконкою під час авторизації. Воно повинне бути квадратним."
 
-#: aleksis/core/models.py:1377 aleksis/core/models.py:1387
-msgid "Selected ICal feed"
-msgstr "Стрічка обраного iCal"
+#: aleksis/core/models.py:1441
+#, fuzzy
+#| msgid "Can view avatar image"
+msgid "Can view room timetable"
+msgstr "Може бачити аватар"
 
-#: aleksis/core/models.py:1386 aleksis/core/models.py:1396
-msgid "Personal Calendar URL"
-msgstr "URL-посилання особистого календаря"
+#: aleksis/core/models.py:1443
+msgid "Room"
+msgstr ""
 
-#: aleksis/core/models.py:1387 aleksis/core/models.py:1397
-msgid "Personal Calendar URLs"
-msgstr "URL-посилання особистих календарів"
+#: aleksis/core/models.py:1444
+msgid "Rooms"
+msgstr ""
 
 #: aleksis/core/preferences.py:25
 msgid "General"
@@ -1167,169 +1056,165 @@ msgstr "Формат імені у листуванні"
 msgid "Channels to use for notifications"
 msgstr "Канали для сповіщень"
 
-#: aleksis/core/preferences.py:209
+#: aleksis/core/preferences.py:208
+#, fuzzy
+#| msgid "Selected persons"
+msgid "Select Design"
+msgstr "Позначені особи"
+
+#: aleksis/core/preferences.py:211
+msgid "Light mode"
+msgstr ""
+
+#: aleksis/core/preferences.py:224
 msgid "Regular expression to match primary group, e.g. '^Class .*'"
 msgstr "Регулярний вираз для пошуку основної групи, напр. '^Class .*'"
 
-#: aleksis/core/preferences.py:220
+#: aleksis/core/preferences.py:235
 msgid "Field on person to match primary group against"
 msgstr "Поле щодо особи для співставлення з основною групою"
 
-#: aleksis/core/preferences.py:232
+#: aleksis/core/preferences.py:247
 msgid "Automatically create new persons for new users"
 msgstr "Нові особи для нових користувачів створювати автоматично"
 
-#: aleksis/core/preferences.py:241
-msgid ""
-"Automatically link existing persons to new users by their e-mail address"
-msgstr ""
-"Пов'язувати існуючих осіб з новими користувачами автоматично за ел.адресами"
+#: aleksis/core/preferences.py:256
+msgid "Automatically link existing persons to new users by their e-mail address"
+msgstr "Пов'язувати існуючих осіб з новими користувачами автоматично за ел.адресами"
 
-#: aleksis/core/preferences.py:252
+#: aleksis/core/preferences.py:267
 msgid "Display name of the school"
 msgstr "Назва школи / навч.закладу для відображення"
 
-#: aleksis/core/preferences.py:263
+#: aleksis/core/preferences.py:278
 msgid "Official name of the school, e.g. as given by supervisory authority"
 msgstr "Офіційна назва школи / навч.закладу, напр. як у державному свідоцтві"
 
-#: aleksis/core/preferences.py:271
+#: aleksis/core/preferences.py:286
 msgid "Allow users to change their passwords"
 msgstr "Дозволити користувачам змінювати свої паролі"
 
-#: aleksis/core/preferences.py:279
+#: aleksis/core/preferences.py:294
 msgid "Allow users to reset their passwords"
 msgstr "Дозволити користувачам скидати свої паролі"
 
-#: aleksis/core/preferences.py:287
+#: aleksis/core/preferences.py:302
 msgid "Enable signup"
 msgstr "Увімкнути реєстрацію"
 
-#: aleksis/core/preferences.py:295
+#: aleksis/core/preferences.py:310
 msgid "Regular expression for allowed usernames"
 msgstr "Регулярний вираз для дозволених логінів"
 
-#: aleksis/core/preferences.py:303
+#: aleksis/core/preferences.py:318
 msgid "Enable invitations"
 msgstr "Увімкнути запрошення"
 
-#: aleksis/core/preferences.py:311
+#: aleksis/core/preferences.py:326
 msgid "Length of invite code. (Default 3: abcde-acbde-abcde)"
 msgstr "Довжина запрошувального коду. (Типово 3: abcde-acbde-abcde)"
 
-#: aleksis/core/preferences.py:319
+#: aleksis/core/preferences.py:334
 msgid "Size of packets. (Default 5: abcde)"
 msgstr "Розмір пакетів. (Типово 5: abcde)"
 
-#: aleksis/core/preferences.py:330
+#: aleksis/core/preferences.py:345
 msgid "Allowed Grant Flows for OAuth applications"
 msgstr "Дозволені потоки грантів для додатків з OAuth"
 
-#: aleksis/core/preferences.py:344
-msgid "Available languages"
-msgstr "Доступні мови"
-
-#: aleksis/core/preferences.py:357 aleksis/core/preferences.py:343
+#: aleksis/core/preferences.py:358
 msgid "Send emails if data checks detect problems"
 msgstr "В разі виявлення проблем під час перевірки даних надіслати ел.лист"
 
-#: aleksis/core/preferences.py:368 aleksis/core/preferences.py:354
+#: aleksis/core/preferences.py:369
 msgid "Email recipients for data checks problem emails"
 msgstr "Ел.адреси отримувачів для листів з проблемами перевірки даних"
 
-#: aleksis/core/preferences.py:379 aleksis/core/preferences.py:365
+#: aleksis/core/preferences.py:380
 msgid "Email recipient groups for data checks problem emails"
 msgstr "Ел.адреси груп для листів з проблемами перевірки даних"
 
-#: aleksis/core/preferences.py:388 aleksis/core/preferences.py:374
+#: aleksis/core/preferences.py:389
 msgid "Show dashboard to users without login"
 msgstr "Відображати інформпанель анонімним користувачам"
 
-#: aleksis/core/preferences.py:397 aleksis/core/preferences.py:383
+#: aleksis/core/preferences.py:398
 msgid "Allow users to edit their dashboard"
 msgstr "Дозволити користувачам редагувати свою інформпанель"
 
-#: aleksis/core/preferences.py:408 aleksis/core/preferences.py:394
+#: aleksis/core/preferences.py:409
 msgid "Fields on person model which are editable by themselves."
 msgstr "Поля з описом особи, які можна редагувати самостійно."
 
-#: aleksis/core/preferences.py:423 aleksis/core/preferences.py:409
-msgid ""
-"Editable fields on person model which should trigger a notification on change"
+#: aleksis/core/preferences.py:424
+msgid "Editable fields on person model which should trigger a notification on change"
 msgstr "Змінювані поля з описом особи, які повинні сповіщати щодо редагування"
 
-#: aleksis/core/preferences.py:437 aleksis/core/preferences.py:423
+#: aleksis/core/preferences.py:438
 msgid "Contact for notification if a person changes their data"
 msgstr "Контакт для сповіщень, якщо хтось змінює свої дані"
 
-#: aleksis/core/preferences.py:448 aleksis/core/preferences.py:434
+#: aleksis/core/preferences.py:449
 msgid "Prefer personal photos over avatars"
 msgstr "Віддавати перевагу особистим фото замість аватарів"
 
-#: aleksis/core/preferences.py:458 aleksis/core/preferences.py:444
+#: aleksis/core/preferences.py:459
 msgid "PDF file expiration duration"
 msgstr "Термін придатності файла PDF"
 
-#: aleksis/core/preferences.py:459 aleksis/core/preferences.py:445
+#: aleksis/core/preferences.py:460
 msgid "in minutes"
 msgstr "у хвилинах"
 
-#: aleksis/core/preferences.py:469 aleksis/core/preferences.py:455
+#: aleksis/core/preferences.py:470
 msgid "Automatically update the dashboard and its widgets"
 msgstr "Автоматично оновлювати інформпанель та її віджети"
 
-#: aleksis/core/preferences.py:479 aleksis/core/preferences.py:465
+#: aleksis/core/preferences.py:480
 msgid "Automatically update the dashboard and its widgets sitewide"
 msgstr "Автоматично оновлювати інформпанель та її віджети (для всього сайту)"
 
-#: aleksis/core/preferences.py:489 aleksis/core/preferences.py:475
+#: aleksis/core/preferences.py:490
 msgid "Country for phone number parsing"
 msgstr "Країна для розбору номера телефона"
 
-#: aleksis/core/settings.py:540 aleksis/core/settings.py:541
+#: aleksis/core/settings.py:539
 msgid "English"
 msgstr "Англійська"
 
-#: aleksis/core/settings.py:541 aleksis/core/settings.py:542
+#: aleksis/core/settings.py:540
 msgid "German"
 msgstr "Німецька"
 
-#: aleksis/core/tables.py:24
+#: aleksis/core/settings.py:541
+msgid "Ukrainian"
+msgstr "Українська"
+
+#: aleksis/core/tables.py:25
 #: aleksis/core/templates/core/announcement/list.html:36
-#: aleksis/core/templates/core/group/full.html:24
-#: aleksis/core/templates/core/person/full.html:26
-#: aleksis/core/templates/core/person/full.html:86
+#: aleksis/core/templates/core/group/full.html:26
 #: aleksis/core/templates/oauth2_provider/application/detail.html:17
-#: aleksis/core/tables.py:25 aleksis/core/templates/core/group/full.html:26
 msgid "Edit"
 msgstr "Редагувати"
 
-#: aleksis/core/tables.py:26 aleksis/core/tables.py:94
-#: aleksis/core/tables.py:138
-#: aleksis/core/templates/core/announcement/list.html:22
 #: aleksis/core/tables.py:27 aleksis/core/tables.py:148
 #: aleksis/core/tables.py:192
+#: aleksis/core/templates/core/announcement/list.html:22
 msgid "Actions"
 msgstr "Дії"
 
-#: aleksis/core/tables.py:61 aleksis/core/tables.py:62
-#: aleksis/core/tables.py:76 aleksis/core/tables.py:92
-#: aleksis/core/tables.py:136
+#: aleksis/core/tables.py:115 aleksis/core/tables.py:116
+#: aleksis/core/tables.py:130 aleksis/core/tables.py:146
+#: aleksis/core/tables.py:190
 #: aleksis/core/templates/core/announcement/list.html:42
-#: aleksis/core/templates/core/group/full.html:31
+#: aleksis/core/templates/core/group/full.html:33
 #: aleksis/core/templates/core/pages/delete.html:22
-#: aleksis/core/templates/core/person/full.html:33
-#: aleksis/core/templates/core/person/full.html:93
 #: aleksis/core/templates/oauth2_provider/application/detail.html:21
-#: aleksis/core/tables.py:115 aleksis/core/tables.py:116
-#: aleksis/core/tables.py:130 aleksis/core/tables.py:146
-#: aleksis/core/tables.py:190 aleksis/core/templates/core/group/full.html:33
 msgid "Delete"
 msgstr "Видалити"
 
 #: aleksis/core/templates/403.html:14 aleksis/core/templates/500.html:10
 #: aleksis/core/templates/oauth2_provider/authorize.html:54
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:24
 msgid "Error"
 msgstr "Помилка"
 
@@ -1344,8 +1229,7 @@ msgstr ""
 #: aleksis/core/templates/403.html:19 aleksis/core/templates/404.html:16
 msgid ""
 "\n"
-"            If you think this is an error in AlekSIS, please contact your "
-"site\n"
+"            If you think this is an error in AlekSIS, please contact your site\n"
 "            administrators:\n"
 "          "
 msgstr ""
@@ -1369,7 +1253,7 @@ msgstr ""
 #: aleksis/core/templates/500.html:10
 msgid ""
 "An unexpected error has\n"
-"          occured."
+"          occurred."
 msgstr ""
 "Сталася неочікувана\n"
 "          помилка."
@@ -1377,14 +1261,12 @@ msgstr ""
 #: aleksis/core/templates/500.html:13
 msgid ""
 "\n"
-"            Your site administrators will automatically be notified about "
-"this\n"
+"            Your site administrators will automatically be notified about this\n"
 "            error. You can also contact them directly:\n"
 "          "
 msgstr ""
 "\n"
-"            Адміністратори сайту будуть сповіщені щодо цієї помилки "
-"автоматично.\n"
+"            Адміністратори сайту будуть сповіщені щодо цієї помилки автоматично.\n"
 "            Ви також можете звернутися до них безпосередньо:\n"
 "          "
 
@@ -1403,13 +1285,11 @@ msgstr ""
 #: aleksis/core/templates/503.html:13
 msgid ""
 "\n"
-"            This page is currently unavailable. If this error persists, "
-"contact your site administrators:\n"
+"            This page is currently unavailable. If this error persists, contact your site administrators:\n"
 "          "
 msgstr ""
 "\n"
-"            Ця сторінка наразі недоступна. Якщо ця помилка виникне знову, "
-"зверніться до адміністраторів сайту:\n"
+"            Ця сторінка наразі недоступна. Якщо ця помилка виникне знову, зверніться до адміністраторів сайту:\n"
 "          "
 
 #: aleksis/core/templates/account/account_inactive.html:5
@@ -1450,22 +1330,24 @@ msgstr "Підтвердити"
 
 #: aleksis/core/templates/account/email_confirm.html:12
 #, python-format
-msgid ""
-"Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail "
-"address for user %(user_display)s."
-msgstr ""
-"Підтвердіть, будь ласка, що <a href=\"mailto:%(email)s\">%(email)s</a> є "
-"адресою ел.пошти для користувача %(user_display)s."
+msgid "Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail address for user %(user_display)s."
+msgstr "Підтвердіть, будь ласка, що <a href=\"mailto:%(email)s\">%(email)s</a> є адресою ел.пошти для користувача %(user_display)s."
 
 #: aleksis/core/templates/account/email_confirm.html:25
 #, python-format
-msgid ""
-"This e-mail confirmation link expired or is invalid. Please <a href="
-"\"%(email_url)s\">issue a new e-mail confirmation request</a>."
-msgstr ""
-"Це посилання для підтвердження ел.пошти протерміноване або недійсне. "
-"Зробіть, будь ласка, для підтвердження <a href=\"%(email_url)s\">новий "
-"запит</a>."
+msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
+msgstr "Це посилання для підтвердження ел.пошти протерміноване або недійсне. Зробіть, будь ласка, для підтвердження <a href=\"%(email_url)s\">новий запит</a>."
+
+#: aleksis/core/templates/account/password_change.html:5
+#: aleksis/core/templates/account/password_change.html:6
+#: aleksis/core/templates/account/password_change.html:19
+#: aleksis/core/templates/account/password_reset_from_key.html:5
+#: aleksis/core/templates/account/password_reset_from_key.html:42
+#: aleksis/core/templates/account/password_reset_from_key.html:46
+#: aleksis/core/templates/account/password_reset_from_key_done.html:5
+#: aleksis/core/templates/account/password_reset_from_key_done.html:6
+msgid "Change password"
+msgstr "Змінити пароль"
 
 #: aleksis/core/templates/account/password_change.html:12
 msgid "Forgot your current password? Click here to reset it:"
@@ -1488,14 +1370,12 @@ msgstr "Зміна паролю вимкнена."
 msgid ""
 "\n"
 "            Users are not allowed to edit their own passwords. If you think\n"
-"            this is an error please contact one of your site "
-"administrators.\n"
+"            this is an error please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
 "            Користувачам не дозволяється змінювати свої паролі.\n"
-"            Якщо Ви думаєте, що це помилка, зверніться до адміністраторів "
-"сайту.\n"
+"            Якщо Ви думаєте, що це помилка, зверніться до адміністраторів сайту.\n"
 "          "
 
 #: aleksis/core/templates/account/password_reset.html:5
@@ -1509,12 +1389,8 @@ msgid "Reset password"
 msgstr "Скинути пароль"
 
 #: aleksis/core/templates/account/password_reset.html:17
-msgid ""
-"Forgotten your password? Enter your e-mail address below, and we'll send you "
-"an e-mail allowing you to reset it."
-msgstr ""
-"Забули пароль? Вкажіть нижче свою ел.пошту і ми надішлемо Вам листа для "
-"скидання пароля."
+msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgstr "Забули пароль? Вкажіть нижче свою ел.пошту і ми надішлемо Вам листа для скидання пароля."
 
 #: aleksis/core/templates/account/password_reset.html:30
 msgid ""
@@ -1538,8 +1414,7 @@ msgid ""
 msgstr ""
 "\n"
 "            Ми надіслали Вам ел.листа. Якщо Ви його не отримаєте протягом\n"
-"            декількох хвилин, зверніться, будь ласка, до адміністраторів "
-"сайту.\n"
+"            декількох хвилин, зверніться, будь ласка, до адміністраторів сайту.\n"
 "          "
 
 #: aleksis/core/templates/account/password_reset_from_key.html:15
@@ -1550,16 +1425,13 @@ msgstr "Несправний токен"
 #, python-format
 msgid ""
 "\n"
-"              The password reset link was invalid, possibly because it has "
-"already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
+"              The password reset link was invalid, possibly because it has already been used. Please request a <a href=\"%(passwd_reset_url)s\"\n"
 "              class=\"blue-text text-lighten-2\">new password reset</a>.\n"
 "            "
 msgstr ""
 "\n"
-"              Посилання на скидання пароля недійсне або, ймовірно, вже "
-"використане. Зробіть, будь ласка, <a href=\"%(passwd_reset_url)s\"\n"
-"              class=\"blue-text text-lighten-2\">новий запит на скидання "
-"пароля</a>.\n"
+"              Посилання на скидання пароля недійсне або, ймовірно, вже використане. Зробіть, будь ласка, <a href=\"%(passwd_reset_url)s\"\n"
+"              class=\"blue-text text-lighten-2\">новий запит на скидання пароля</a>.\n"
 "            "
 
 #: aleksis/core/templates/account/password_reset_from_key.html:25
@@ -1608,10 +1480,13 @@ msgstr "Реєстрація"
 
 #: aleksis/core/templates/account/signup.html:12
 #, python-format
-msgid ""
-"Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
-msgstr ""
-"Вже маєте обліковий запис? Тоді можете <a href=\"%(login_url)s\">увіти</a>."
+msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
+msgstr "Вже маєте обліковий запис? Тоді можете <a href=\"%(login_url)s\">увіти</a>."
+
+#: aleksis/core/templates/account/signup.html:22
+#: aleksis/core/templates/socialaccount/signup.html:23
+msgid "Sign up"
+msgstr "Зареєструватися"
 
 #: aleksis/core/templates/account/signup_closed.html:5
 #: aleksis/core/templates/account/signup_closed.html:6
@@ -1650,17 +1525,13 @@ msgstr "Перевірте свою ел.пошту!"
 #: aleksis/core/templates/account/verification_sent.html:16
 msgid ""
 "\n"
-"            This part of the site requires us to verify that you are who you "
-"claim to be.\n"
-"            For this purpose, we require that you verify ownership of your e-"
-"mail address.\n"
+"            This part of the site requires us to verify that you are who you claim to be.\n"
+"            For this purpose, we require that you verify ownership of your e-mail address.\n"
 "          "
 msgstr ""
 "\n"
-"            Ця частина сайту вимагає перевірки, що Ви - саме той/та, хто має "
-"бути.\n"
-"            Саме для цього нам необхідно перевірити, що адреса ел.пошти "
-"належить саме Вам.\n"
+"            Ця частина сайту вимагає перевірки, що Ви - саме той/та, хто має бути.\n"
+"            Саме для цього нам необхідно перевірити, що адреса ел.пошти належить саме Вам.\n"
 "          "
 
 #: aleksis/core/templates/account/verification_sent.html:22
@@ -1673,10 +1544,8 @@ msgid ""
 msgstr ""
 "\n"
 "            Ми надіслали Вам для перевірки ел.листа.\n"
-"            Будь ласка, перейдіть за вказаним там посиланням. Якщо Ви не "
-"отримаєте\n"
-"            листа протягом декількох хвилин, зверніться, будь ласка, до "
-"нас.\n"
+"            Будь ласка, перейдіть за вказаним там посиланням. Якщо Ви не отримаєте\n"
+"            листа протягом декількох хвилин, зверніться, будь ласка, до нас.\n"
 "          "
 
 #: aleksis/core/templates/core/additional_field/edit.html:6
@@ -1722,18 +1591,6 @@ msgstr "Отримувачі"
 msgid "There are no announcements."
 msgstr "Оголошень немає."
 
-#: aleksis/core/templates/core/base.html:213
-msgid "About AlekSIS® — The Free School Information System"
-msgstr "Щодо AlekSIS® — The Free School Information System"
-
-#: aleksis/core/templates/core/base.html:221
-msgid "Imprint"
-msgstr "Відбиток"
-
-#: aleksis/core/templates/core/base.html:229
-msgid "Privacy Policy"
-msgstr "Політика приватності"
-
 #: aleksis/core/templates/core/base_print.html:74
 msgid "Powered by AlekSIS®"
 msgstr "Базується на AlekSIS®"
@@ -1767,6 +1624,11 @@ msgstr ""
 msgid "Edit %(widget)s"
 msgstr "Редагувати %(widget)s"
 
+#: aleksis/core/templates/core/dashboard_widget/list.html:8
+#: aleksis/core/templates/core/dashboard_widget/list.html:9
+msgid "Dashboard widgets"
+msgstr "Віджети інформпанелі"
+
 #: aleksis/core/templates/core/dashboard_widget/list.html:15
 msgid "Create dashboard widget"
 msgstr "Створити віджет для інформпанелі"
@@ -1782,6 +1644,11 @@ msgstr "Створити %(name)s"
 msgid "Edit default dashboard"
 msgstr "Редагувати типову/стандартну інформпанель"
 
+#: aleksis/core/templates/core/data_check/list.html:9
+#: aleksis/core/templates/core/data_check/list.html:10
+msgid "Data checks"
+msgstr "Перевірки даних"
+
 #: aleksis/core/templates/core/data_check/list.html:15
 msgid "Check data again"
 msgstr "Перевірити дані ще раз"
@@ -1853,39 +1720,29 @@ msgstr "Редагувати інформпанель"
 #: aleksis/core/templates/core/edit_dashboard.html:24
 msgid ""
 "\n"
-"          On this page you can arrange your personal dashboard. You can drag "
-"any items from \"Available widgets\" to \"Your\n"
-"          Dashboard\" or change the order by moving the widgets. After you "
-"have finished, please don't forget to click on\n"
+"          On this page you can arrange your personal dashboard. You can drag any items from \"Available widgets\" to \"Your\n"
+"          Dashboard\" or change the order by moving the widgets. After you have finished, please don't forget to click on\n"
 "          \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          На цій сторінці Ви можете впорядкувати свою інформпанель. "
-"Перетягуйте будь-які елементи з \"Доступних віджетів\"\n"
-"          до \"Своєї інформпанелі\" або змінюйте порядок, перетягуючи "
-"віджети. Після закінчення не забудьте натиснути\n"
+"          На цій сторінці Ви можете впорядкувати свою інформпанель. Перетягуйте будь-які елементи з \"Доступних віджетів\"\n"
+"          до \"Своєї інформпанелі\" або змінюйте порядок, перетягуючи віджети. Після закінчення не забудьте натиснути\n"
 "          \"Зберегти\".\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:30
 msgid ""
 "\n"
-"          On this page you can arrange the default dashboard which is shown "
-"when a user doesn't arrange his own\n"
-"          dashboard. You can drag any items from \"Available widgets\" to "
-"\"Default Dashboard\" or change the order\n"
-"          by moving the widgets. After you have finished, please don't "
-"forget to click on \"Save\".\n"
+"          On this page you can arrange the default dashboard which is shown when a user doesn't arrange his own\n"
+"          dashboard. You can drag any items from \"Available widgets\" to \"Default Dashboard\" or change the order\n"
+"          by moving the widgets. After you have finished, please don't forget to click on \"Save\".\n"
 "        "
 msgstr ""
 "\n"
-"          На цій сторінці Ви можете впорядкувати типову/стандартну "
-"інформпанель, яка відображається, якщо користувач\n"
-"          не впорядкував власну. Перетягуйте будь-які елементи з \"Доступних "
-"віджетів\" до \"Типової інформпанелі\" або змінюйте \n"
-"          порядок, перетягуючи віджети. Після закінчення не забудьте "
-"натиснути \"Зберегти\".\n"
+"          На цій сторінці Ви можете впорядкувати типову/стандартну інформпанель, яка відображається, якщо користувач\n"
+"          не впорядкував власну. Перетягуйте будь-які елементи з \"Доступних віджетів\" до \"Типової інформпанелі\" або змінюйте \n"
+"          порядок, перетягуючи віджети. Після закінчення не забудьте натиснути \"Зберегти\".\n"
 "        "
 
 #: aleksis/core/templates/core/edit_dashboard.html:48
@@ -1900,19 +1757,21 @@ msgstr "Ваша інформпанель"
 msgid "Default dashboard"
 msgstr "Типова інформпанель"
 
+#: aleksis/core/templates/core/group/child_groups.html:7
+#: aleksis/core/templates/core/group/child_groups.html:9
+msgid "Assign child groups to groups"
+msgstr "Призначити підлеглі групи до груп"
+
 #: aleksis/core/templates/core/group/child_groups.html:18
 msgid ""
 "\n"
-"          You can use this to assign child groups to groups. Please use the "
-"filters below to select groups you want to\n"
+"          You can use this to assign child groups to groups. Please use the filters below to select groups you want to\n"
 "          change and click \"Next\".\n"
 "        "
 msgstr ""
 "\n"
-"          Ви можете скористатися цим для призначення підлеглих груп до "
-"основних. Для обрання груп,\n"
-"          які хочете змінити, скористайтеся, будь ласка, фільтрами, що нижче "
-"та натисність \"Далі\".\n"
+"          Ви можете скористатися цим для призначення підлеглих груп до основних. Для обрання груп,\n"
+"          які хочете змінити, скористайтеся, будь ласка, фільтрами, що нижче та натисність \"Далі\".\n"
 "        "
 
 #: aleksis/core/templates/core/group/child_groups.html:31
@@ -1938,8 +1797,7 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Оберіть, будь ласка, декілька груп у порядку, за яким "
-"призначати.\n"
+"            Оберіть, будь ласка, декілька груп у порядку, за яким призначати.\n"
 "          "
 
 #: aleksis/core/templates/core/group/child_groups.html:72
@@ -1953,18 +1811,14 @@ msgstr "Обережно, будь ласка!"
 #: aleksis/core/templates/core/group/child_groups.html:79
 msgid ""
 "\n"
-"            If you click \"Back\" or \"Next\" the current group assignments "
-"are not saved.\n"
-"            If you click \"Save\", you will overwrite all existing child "
-"group relations for this group with what you\n"
+"            If you click \"Back\" or \"Next\" the current group assignments are not saved.\n"
+"            If you click \"Save\", you will overwrite all existing child group relations for this group with what you\n"
 "            selected on this page.\n"
 "          "
 msgstr ""
 "\n"
-"            Якщо натиснете \"Назад\" або \"Далі\" призначення цієї групи не "
-"збережуться.\n"
-"            Якщо натиснете \"Зберегти\", усі існуючі зв'язки підлеглої групи "
-"з цією групою будуть замінені на\n"
+"            Якщо натиснете \"Назад\" або \"Далі\" призначення цієї групи не збережуться.\n"
+"            Якщо натиснете \"Зберегти\", усі існуючі зв'язки підлеглої групи з цією групою будуть замінені на\n"
 "            обрані на цій сторінці.\n"
 "          "
 
@@ -1998,40 +1852,36 @@ msgstr "Зберегти і йти далі"
 msgid "Edit group"
 msgstr "Редагувати групу"
 
-#: aleksis/core/templates/core/group/full.html:38
-#: aleksis/core/templates/core/person/full.html:40
-#: aleksis/core/templates/core/person/full.html:100
 #: aleksis/core/templates/core/group/full.html:40
 msgid "Change preferences"
 msgstr "Змінити властивості"
 
-#: aleksis/core/templates/core/group/full.html:64
 #: aleksis/core/templates/core/group/full.html:68
 msgid "Statistics"
 msgstr "Статистика"
 
-#: aleksis/core/templates/core/group/full.html:67
 #: aleksis/core/templates/core/group/full.html:73
 msgid "Count of members"
 msgstr "Кількість учасників"
 
-#: aleksis/core/templates/core/group/full.html:71
 #: aleksis/core/templates/core/group/full.html:81
 msgid "Average age"
 msgstr "Середній вік"
 
-#: aleksis/core/templates/core/group/full.html:76
 #: aleksis/core/templates/core/group/full.html:90
 msgid "Age range"
 msgstr "Віковий діапазон"
 
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years to"
-msgstr "–"
-
-#: aleksis/core/templates/core/group/full.html:76
-msgid "years "
-msgstr "рр. "
+#: aleksis/core/templates/core/group/full.html:93
+#, python-format
+msgid ""
+"\n"
+"              %(min)s years to %(max)s years\n"
+"            "
+msgstr ""
+"\n"
+"              %(min)s років до %(max)s років\n"
+"            "
 
 #: aleksis/core/templates/core/group/list.html:14
 msgid "Create group"
@@ -2059,184 +1909,30 @@ msgstr "Редагувати тип групи"
 msgid "Create group type"
 msgstr "Створити тип групи"
 
-#: aleksis/core/templates/core/ical/ical_create.html:4
-#: aleksis/core/templates/core/ical/ical_create.html:5
-#: aleksis/core/templates/core/ical/ical_list.html:12
-msgid "Create iCal URL"
-msgstr "Створити посилання iCal"
-
-#: aleksis/core/templates/core/ical/ical_create.html:16
-#: aleksis/core/templates/core/ical/ical_edit.html:16
-#: aleksis/core/templates/oauth2_provider/application/create.html:14
-#: aleksis/core/templates/oauth2_provider/application/edit.html:14
-#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
-#: aleksis/core/templates/two_factor/_wizard_actions.html:6
-msgid "Cancel"
-msgstr "Скасувати"
-
-#: aleksis/core/templates/core/ical/ical_edit.html:4
-#: aleksis/core/templates/core/ical/ical_edit.html:5
-#, python-format
-msgid "Edit iCal URL %(object)s"
-msgstr "Редагувати посилання iCal %(object)s"
-
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "ICal Feeds"
-msgstr "iCal-стрічки"
-
-#: aleksis/core/templates/core/ical/ical_list.html:8
-msgid ""
-"These are URLs for different Calendar Feeds in the iCal (.ics) format. You "
-"can create as many as you want and import them in your calendar software."
-msgstr ""
-"Тут містяться посилання на різні стрічки календарів у форматі iCal (.ics). "
-"Ви можете створити їх стільки, скільки Вам необхідно та імпортувати їх у ПЗ "
-"для роботи з календарями."
-
-#: aleksis/core/templates/core/ical/ical_list.html:14
-msgid "Your iCal URLs"
-msgstr "Ваші посилання iCal"
-
 #: aleksis/core/templates/core/index.html:4
 msgid "Home"
 msgstr "Додому"
 
-#: aleksis/core/templates/core/index.html:49
+#: aleksis/core/templates/core/index.html:34
 msgid ""
 "\n"
-"        You didn't customise your dashboard so that you see the system "
-"default. Please click on \"Edit dashboard\" to\n"
+"        You didn't customise your dashboard so that you see the system default. Please click on \"Edit dashboard\" to\n"
 "        customise your personal dashboard.\n"
 "      "
 msgstr ""
 "\n"
-"        Ви ще не налаштували свою інформпанель, тож поки що бачите типову/"
-"стандартну. Для налаштування \n"
+"        Ви ще не налаштували свою інформпанель, тож поки що бачите типову/стандартну. Для налаштування \n"
 "         власної інформпанелі клацніть \"Редагувати інформпанель\".\n"
 "      "
 
-#: aleksis/core/templates/core/index.html:59
+#: aleksis/core/templates/core/index.html:44
 msgid "Last activities"
 msgstr "Останні дії"
 
-#: aleksis/core/templates/core/index.html:77
+#: aleksis/core/templates/core/index.html:62
 msgid "No activities available yet."
 msgstr "Дії поки що не доступні."
 
-#: aleksis/core/templates/core/index.html:82
-msgid "Recent notifications"
-msgstr "Свіжі сповіщення"
-
-#: aleksis/core/templates/core/index.html:98
-#: aleksis/core/templates/core/notifications.html:23
-msgid "More information →"
-msgstr "Більше інформації →"
-
-#: aleksis/core/templates/core/index.html:105
-#: aleksis/core/templates/core/notifications.html:30
-msgid "No notifications available yet."
-msgstr "Сповіщення поки що не доступні."
-
-#: aleksis/core/templates/core/pages/about.html:6
-msgid "About AlekSIS®"
-msgstr "Щодо AlekSIS®"
-
-#: aleksis/core/templates/core/pages/about.html:7
-msgid "AlekSIS® – The Free School Information System"
-msgstr "AlekSIS® – The Free School Information System"
-
-#: aleksis/core/templates/core/pages/about.html:15
-msgid "About AlekSIS"
-msgstr "Щодо AlekSIS"
-
-#: aleksis/core/templates/core/pages/about.html:17
-msgid ""
-"\n"
-"              This platform is powered by AlekSIS®, a web-based school "
-"information system (SIS) which can be used\n"
-"              to manage and/or publish organisational artifacts of "
-"educational institutions. AlekSIS is free software and\n"
-"              can be used by anyone.\n"
-"            "
-msgstr ""
-"\n"
-"              Ця платформа базується на AlekSIS®, веб-інструменті "
-"інформаційної системи для навчання (SIS) за допомогою якої\n"
-"              можна керувати та/або висвітлювати організаційні елементи "
-"навчальних закладів. AlekSIS - безплатне ПЗ\n"
-"              і ним може користуватися будь-хто.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:24
-msgid ""
-"\n"
-"              AlekSIS® is a registered trademark of the AlekSIS open source "
-"project, represented by Teckids e.V.\n"
-"            "
-msgstr ""
-"\n"
-"              AlekSIS® – зареєстрована торгова марка проекту з відкритим "
-"програмним кодом AlekSIS, що представлена Teckids e.V.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:30
-msgid "Website of AlekSIS"
-msgstr "Веб-сайт AlekSIS"
-
-#: aleksis/core/templates/core/pages/about.html:31
-msgid "Source code"
-msgstr "Програмний код"
-
-#: aleksis/core/templates/core/pages/about.html:40
-msgid "Licence information"
-msgstr "Ліцензійна інформація"
-
-#: aleksis/core/templates/core/pages/about.html:42
-msgid ""
-"\n"
-"              The core and the official apps of AlekSIS are licenced under "
-"the EUPL, version 1.2 or later. For licence\n"
-"              information from third-party apps, if installed, refer to the "
-"respective components below. The\n"
-"              licences are marked like this:\n"
-"            "
-msgstr ""
-"\n"
-"              Ядро та офіційні додатки AlekSIS ліцензовані EUPL, версії 1.2 "
-"та новіше. Для отримання інформації\n"
-"              щодо додатків третіх сторін, якщо такі встановлені, перейдіть "
-"до відповідних компонентів нижче.\n"
-"              Ці ліцензії мають таку позначку:\n"
-"            "
-
-#: aleksis/core/templates/core/pages/about.html:50
-msgid "Free/Open Source Licence"
-msgstr "Безкоштовна або Ліцензія Відкритого Коду (Open Source)"
-
-#: aleksis/core/templates/core/pages/about.html:51
-msgid "Other Licence"
-msgstr "Інша ліцензія"
-
-#: aleksis/core/templates/core/pages/about.html:55
-msgid "Full licence text"
-msgstr "Повний текст ліцензії"
-
-#: aleksis/core/templates/core/pages/about.html:56
-msgid "More information about the EUPL"
-msgstr "Більше інформації щодо EUPL"
-
-#: aleksis/core/templates/core/pages/about.html:95
-#, python-format
-msgid ""
-"\n"
-"                    This app is licenced under %(licence)s.\n"
-"                  "
-msgstr ""
-"\n"
-"                    Цей додаток ліцензований під %(licence)s.\n"
-"                  "
-
 #: aleksis/core/templates/core/pages/delete.html:6
 #, python-format
 msgid "Delete %(object_name)s"
@@ -2253,22 +1949,10 @@ msgstr ""
 "      Ви дійно хочете видалити %(object_name)s \"%(object)s\"?\n"
 "    "
 
-#: aleksis/core/templates/core/pages/progress.html:27
-msgid ""
-"\n"
-"              Without activated JavaScript the progress status can't be "
-"updated.\n"
-"            "
-msgstr ""
-"\n"
-"              Без активованого JavaScript статус виконання не зможе "
-"оновлюватися.\n"
-"            "
-
-#: aleksis/core/templates/core/pages/progress.html:47
-#: aleksis/core/templates/two_factor/core/otp_required.html:19
-msgid "Go back"
-msgstr "Назад"
+#: aleksis/core/templates/core/pages/system_status.html:5
+#: aleksis/core/templates/core/pages/system_status.html:7
+msgid "System status"
+msgstr "Стан системи"
 
 #: aleksis/core/templates/core/pages/system_status.html:12
 msgid "System checks"
@@ -2281,13 +1965,11 @@ msgstr "Активований режим обслуговування"
 #: aleksis/core/templates/core/pages/system_status.html:24
 msgid ""
 "\n"
-"                Only admin and visitors from internal IPs can access "
-"the site.\n"
+"                Only admin and visitors from internal IPs can access the site.\n"
 "              "
 msgstr ""
 "\n"
-"                Доступ до сайту мають лише адміністратор та відвідувачі з "
-"внутрішніми IP-адресами.\n"
+"                Доступ до сайту мають лише адміністратор та відвідувачі з внутрішніми IP-адресами.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:36
@@ -2305,13 +1987,11 @@ msgstr "Активований режим налагодження"
 #: aleksis/core/templates/core/pages/system_status.html:49
 msgid ""
 "\n"
-"                The web server throws back debug information on errors. Do "
-"not use in production!\n"
+"                The web server throws back debug information on errors. Do not use in production!\n"
 "              "
 msgstr ""
 "\n"
-"                Веб-сервер кидає під час помилок інформацію щодо "
-"налагодження. Не використовуйте в продакшені!\n"
+"                Веб-сервер кидає під час помилок інформацію щодо налагодження. Не використовуйте в продакшені!\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:56
@@ -2321,13 +2001,11 @@ msgstr "Режим налагодження деактивований"
 #: aleksis/core/templates/core/pages/system_status.html:58
 msgid ""
 "\n"
-"                Debug mode is disabled. Default error pages are displayed on "
-"errors.\n"
+"                Debug mode is disabled. Default error pages are displayed on errors.\n"
 "              "
 msgstr ""
 "\n"
-"                Режим налагодження деактивований. В разі збоїв "
-"відображатимуться типові сторінки помилок.\n"
+"                Режим налагодження деактивований. В разі збоїв відображатимуться типові сторінки помилок.\n"
 "              "
 
 #: aleksis/core/templates/core/pages/system_status.html:71
@@ -2377,13 +2055,11 @@ msgstr "Спроба генерації PDF"
 #: aleksis/core/templates/core/pages/test_pdf.html:14
 msgid ""
 "\n"
-"        This simple view can be used to ensure the correct function of the "
-"built-in PDF generation system.\n"
+"        This simple view can be used to ensure the correct function of the built-in PDF generation system.\n"
 "      "
 msgstr ""
 "\n"
-"        Цей простий вигляд допоможе перевірити коректність налаштувань "
-"вбудованої системи генерації PDF.\n"
+"        Цей простий вигляд допоможе перевірити коректність налаштувань вбудованої системи генерації PDF.\n"
 "      "
 
 #: aleksis/core/templates/core/partials/announcements.html:8
@@ -2422,13 +2098,11 @@ msgstr ""
 
 #: aleksis/core/templates/core/partials/avatar_content.html:14
 #: aleksis/core/templates/core/partials/avatar_content.html:15
-#: aleksis/core/templates/core/person/full.html:213
-#: aleksis/core/templates/core/person/full.html:214
 msgid "Avatar"
 msgstr "Аватар"
 
+#: aleksis/core/templates/core/partials/avatar_content.html:18
 #: aleksis/core/templates/core/partials/avatar_content.html:19
-#: aleksis/core/templates/core/partials/avatar_content.html:20
 msgid "Identicon"
 msgstr "Ідентифікатор (іконка)"
 
@@ -2440,45 +2114,12 @@ msgstr "Змінене"
 msgid "Unknown"
 msgstr "Невідомо"
 
-#: aleksis/core/templates/core/partials/language_form.html:15
-#: aleksis/core/templates/core/partials/language_form.html:17
-msgid "Language"
-msgstr "Мова"
-
-#: aleksis/core/templates/core/partials/language_form.html:27
-#: aleksis/core/templates/core/partials/language_form.html:29
-msgid "Select language"
-msgstr "Оберіть мову"
-
-#: aleksis/core/templates/core/partials/no_person.html:12
+#: aleksis/core/templates/core/partials/splash_screen.html:11
 msgid ""
 "\n"
-"            Your administrator account is not linked to any person. "
-"Therefore,\n"
-"            a dummy person has been linked to your account.\n"
-"          "
-msgstr ""
-"\n"
-"            Ваш адміністративний обліковий запис не поєднаний з жодною "
-"особою. Через це\n"
-"            до Вашого облікового запису приєднана фейкова особа.\n"
-"          "
-
-#: aleksis/core/templates/core/partials/no_person.html:19
-msgid ""
-"\n"
-"            Your user account is not linked to a person. This means you\n"
-"            cannot access any school-related information. Please contact\n"
-"            the managers of AlekSIS at your school.\n"
-"          "
+"      This webbrowser doesn't support JavaScript, or its execution is blocked. Please use another browser to continue.\n"
+"    "
 msgstr ""
-"\n"
-"            Ваш обліковий запис не пов'язаний з фізособою. Це означає,\n"
-"            що Ви не маєте жодного доступу до навчальної інформації. "
-"Зверніться,\n"
-"            будь ласка, до адміністраторів AlekSIS у Вашому навчальному "
-"закладі.\n"
-"          "
 
 #: aleksis/core/templates/core/perms/assign.html:12
 #: aleksis/core/templates/core/perms/assign.html:13
@@ -2493,6 +2134,11 @@ msgstr "Обраний дозвіл"
 msgid "Assign"
 msgstr "Призначити"
 
+#: aleksis/core/templates/core/perms/list.html:13
+#: aleksis/core/templates/core/perms/list.html:14
+msgid "Manage permissions"
+msgstr "Керування дозволами"
+
 #: aleksis/core/templates/core/perms/list.html:21
 msgid "Assign a new permission"
 msgstr "Призначити новий дозвіл"
@@ -2536,28 +2182,6 @@ msgstr "Створити особу"
 msgid "Edit person"
 msgstr "Редагувати особу"
 
-#: aleksis/core/templates/core/person/full.html:47
-#: aleksis/core/templates/core/person/full.html:107
-msgid "Impersonate"
-msgstr "Маскування"
-
-#: aleksis/core/templates/core/person/full.html:54
-#: aleksis/core/templates/core/person/full.html:114
-msgid "Invite user"
-msgstr "Запросити користувача"
-
-#: aleksis/core/templates/core/person/full.html:121
-msgid "Contact details"
-msgstr "Контактні дані"
-
-#: aleksis/core/templates/core/person/full.html:220
-msgid "This person didn't upload a personal photo."
-msgstr "Ця особа не завантажила особисте фото."
-
-#: aleksis/core/templates/core/person/full.html:228
-msgid "Children"
-msgstr "Діти"
-
 #: aleksis/core/templates/core/person/list.html:21
 msgid "Filter persons"
 msgstr "Фільтр осіб"
@@ -2577,6 +2201,10 @@ msgstr "Створити Навчальний рік"
 msgid "Edit school term"
 msgstr "Редагувати Навчальний рік"
 
+#: aleksis/core/templates/dynamic_preferences/form.html:5
+msgid "Preferences"
+msgstr "Властивості"
+
 #: aleksis/core/templates/dynamic_preferences/form.html:9
 msgid "Site preferences"
 msgstr "Властивості сайту"
@@ -2603,15 +2231,17 @@ msgid "The invite feature is disabled."
 msgstr "Функція запрошення деактивована."
 
 #: aleksis/core/templates/invitations/disabled.html:15
-msgid ""
-"To enable it, switch on the corresponding checkbox in the authentication "
-"section of the "
+msgid "To enable it, switch on the corresponding checkbox in the authentication section of the "
 msgstr "Для активації увімкніть відповідний чекбокс в розділі авторизації на "
 
 #: aleksis/core/templates/invitations/disabled.html:16
 msgid "site preferences page"
 msgstr "сторінці властивостей сайту"
 
+#: aleksis/core/templates/invitations/enter.html:7
+msgid "Accept invitation"
+msgstr "Прийняти запрошення"
+
 #: aleksis/core/templates/invitations/enter.html:21
 msgid "Accept your invitation"
 msgstr "Прийняття Вашого запрошення"
@@ -2664,6 +2294,13 @@ msgstr "Запрошення для %(email)s було прийняте."
 msgid "Register OAuth2 Application"
 msgstr "Реєстрація додатку OAuth2"
 
+#: aleksis/core/templates/oauth2_provider/application/create.html:14
+#: aleksis/core/templates/oauth2_provider/application/edit.html:14
+#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:24
+#: aleksis/core/templates/two_factor/_wizard_actions.html:6
+msgid "Cancel"
+msgstr "Скасувати"
+
 #: aleksis/core/templates/oauth2_provider/application/detail.html:5
 msgid "OAuth2 Application"
 msgstr "Додаток OAuth2"
@@ -2697,6 +2334,11 @@ msgstr "Пропустити авторизацію"
 msgid "Edit OAuth2 Application"
 msgstr "Редагувати додаток OAuth2"
 
+#: aleksis/core/templates/oauth2_provider/application/list.html:5
+#: aleksis/core/templates/oauth2_provider/application/list.html:6
+msgid "OAuth2 Applications"
+msgstr "Додатки OAuth2"
+
 #: aleksis/core/templates/oauth2_provider/application/list.html:11
 msgid "Register new application"
 msgstr "Зареєструвати новий додаток"
@@ -2728,14 +2370,6 @@ msgstr "Дозволити"
 msgid "Disallow"
 msgstr "Заборонити"
 
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:12
-msgid "Success!"
-msgstr "Успіх!"
-
-#: aleksis/core/templates/oauth2_provider/authorized-oob.html:14
-msgid "Please return to your application and enter this code:"
-msgstr "Поверніться, будь ласка, до свого додатку та впишіть цей код:"
-
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
 #: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
@@ -2750,6 +2384,11 @@ msgstr "Ви дійсно хочете відкликати доступ для
 msgid "Revoke"
 msgstr "Відкликати"
 
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
+#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
+msgid "Authorized applications"
+msgstr "Авторизовані додатки"
+
 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
 msgid "No authorized applications."
 msgstr "Авторизованих додатків немає."
@@ -2759,24 +2398,27 @@ msgid "Network error"
 msgstr "Помилка мережі"
 
 #: aleksis/core/templates/offline.html:10
-msgid "No internet connection."
-msgstr "Немає інтернет-з'єднання."
+msgid "Page not available offline."
+msgstr ""
 
 #: aleksis/core/templates/offline.html:14
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "      There was an error accessing this page. You probably don't have an internet connection. Check to see if your WiFi\n"
+#| "      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
+#| "      administrators:\n"
+#| "    "
 msgid ""
 "\n"
-"      There was an error accessing this page. You probably don't have an "
-"internet connection. Check to see if your WiFi\n"
-"      or mobile data is turned on and try again. If you think you are "
-"connected, please contact the system\n"
+"      This page is not available offline. Since you probably don't have an internet connection, check to see if your WiFi\n"
+"      or mobile data is turned on and try again. If you think you are connected, please contact the system\n"
 "      administrators:\n"
 "    "
 msgstr ""
 "\n"
-"      Під час доступу до цієї сторінки виникла помилка. Можливо, у Вас "
-"проблема з інтернетом. Переконайтеся, що Ваш WiFi\n"
-"      або мобільний інтернет увімкнені та спробуйте ще раз. Якщо Ви думаєте, "
-"що із з'єднанням все добре, зверніться\n"
+"      Під час доступу до цієї сторінки виникла помилка. Можливо, у Вас проблема з інтернетом. Переконайтеся, що Ваш WiFi\n"
+"      або мобільний інтернет увімкнені та спробуйте ще раз. Якщо Ви думаєте, що із з'єднанням все добре, зверніться\n"
 "      до системних адміністраторів:\n"
 "    "
 
@@ -2812,14 +2454,12 @@ msgstr "Помилка входу облікового запису третьо
 #: aleksis/core/templates/socialaccount/authentication_error.html:15
 msgid ""
 "\n"
-"            An error occurred while attempting to login via your third-party "
-"account.\n"
+"            An error occurred while attempting to login via your third-party account.\n"
 "            Please contact one of your site administrators.\n"
 "          "
 msgstr ""
 "\n"
-"            Під час спроби входу з Вашим стороннім обліковим записом виникла "
-"помилка входу.\n"
+"            Під час спроби входу з Вашим стороннім обліковим записом виникла помилка входу.\n"
 "            Зверніться, будь ласка, до адміністратора сайту.\n"
 "          "
 
@@ -2834,9 +2474,7 @@ msgstr "Видалити"
 
 #: aleksis/core/templates/socialaccount/connections.html:34
 msgid "You currently have no third-party accounts connected to this account."
-msgstr ""
-"Зараз у Вас немає облікових записів третіх сторін, з'єднаних з цим обліковим "
-"записом."
+msgstr "Зараз у Вас немає облікових записів третіх сторін, з'єднаних з цим обліковим записом."
 
 #: aleksis/core/templates/socialaccount/connections.html:37
 msgid "Add a Third-party Account"
@@ -2850,8 +2488,7 @@ msgstr "Ви приєднуєте новий обліковий запис тр
 #: aleksis/core/templates/socialaccount/login.html:23
 #, python-format
 msgid "You are about to sign in using a third party account from %(provider)s."
-msgstr ""
-"Ви авторизуєтеся за допомогою стороннього облікового запису від %(provider)s."
+msgstr "Ви авторизуєтеся за допомогою стороннього облікового запису від %(provider)s."
 
 #: aleksis/core/templates/socialaccount/login.html:28
 msgid "Continue"
@@ -2867,15 +2504,11 @@ msgstr "Вхід скасований"
 #, python-format
 msgid ""
 "\n"
-"            You decided to cancel logging in to our site using one of your "
-"existing accounts. If this was a mistake, please proceed to <a href="
-"\"%(login_url)s\">sign in</a>.\n"
+"            You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please proceed to <a href=\"%(login_url)s\">sign in</a>.\n"
 "          "
 msgstr ""
 "\n"
-"            Схоже, що Ви скасували вхід до нашого сайту з одним із Ваших "
-"облікових записів. Якщо це сталося помилково, Ви можете <a href="
-"\"%(login_url)s\">продовжити вхід тут</a>.\n"
+"            Схоже, що Ви скасували вхід до нашого сайту з одним із Ваших облікових записів. Якщо це сталося помилково, Ви можете <a href=\"%(login_url)s\">продовжити вхід тут</a>.\n"
 "          "
 
 #: aleksis/core/templates/socialaccount/signup.html:12
@@ -2885,8 +2518,7 @@ msgid ""
 "        %(site_name)s. As a final step, please complete the following form:"
 msgstr ""
 "Ви на шляху до використання свого облікового запису у %(provider_name)s\n"
-"        для входу на %(site_name)s. Заповніть, будь ласка, для завершення цю "
-"форму:"
+"        для входу на %(site_name)s. Заповніть, будь ласка, для завершення цю форму:"
 
 #: aleksis/core/templates/socialaccount/snippets/provider_list.html:12
 #, python-format
@@ -2973,25 +2605,21 @@ msgstr "Система виявила деякі нові проблеми з В
 #: aleksis/core/templates/templated_email/data_checks.email:6
 msgid ""
 "the system detected some new problems with your data.\n"
-"Please take some time to inspect them and solve the issues or mark them as "
-"ignored."
+"Please take some time to inspect them and solve the issues or mark them as ignored."
 msgstr ""
 "система виявила деякі нові проблеми з Вашими даними.\n"
-"Приділіть, будь ласка, трохи часу для їх перевірки та вирішення проблем або "
-"позначте їх для ігнору."
+"Приділіть, будь ласка, трохи часу для їх перевірки та вирішення проблем або позначте їх для ігнору."
 
 #: aleksis/core/templates/templated_email/data_checks.email:15
 msgid ""
 "\n"
 "   the system detected some new problems with your data.\n"
-"   Please take some time to inspect them and solve the issues or mark them "
-"as ignored.\n"
+"   Please take some time to inspect them and solve the issues or mark them as ignored.\n"
 "  "
 msgstr ""
 "\n"
 "   система виявила деякі нові проблеми з Вашими даними.\n"
-"   Приділіть, будь ласка, трохи часу для їх перевірки та вирішення проблем "
-"або позначте їх для ігнору.\n"
+"   Приділіть, будь ласка, трохи часу для їх перевірки та вирішення проблем або позначте їх для ігнору.\n"
 "  "
 
 #: aleksis/core/templates/templated_email/data_checks.email:23
@@ -3077,22 +2705,16 @@ msgid ""
 "\n"
 "        Backup tokens can be used when your primary and backup\n"
 "        phone numbers aren't available. The backup tokens below can be used\n"
-"        for login verification. If you've used up all your backup tokens, "
-"you\n"
-"        can generate a new set of backup tokens. Only the backup tokens "
-"shown\n"
+"        for login verification. If you've used up all your backup tokens, you\n"
+"        can generate a new set of backup tokens. Only the backup tokens shown\n"
 "        below will be valid.\n"
 "      "
 msgstr ""
 "\n"
-"        Резервні токени можуть бути використані коли Ваші основний та "
-"резервний\n"
-"        телефонні номери не доступні. Резервні токени, що нижче, можуть бути "
-"використані\n"
-"        для перевірки на вході. Коли Ви використаєте усі резервні токени, "
-"Ви\n"
-"        зможете згенерувати новий набір резервних токенів. Дійсними будуть "
-"лише токени,\n"
+"        Резервні токени можуть бути використані коли Ваші основний та резервний\n"
+"        телефонні номери не доступні. Резервні токени, що нижче, можуть бути використані\n"
+"        для перевірки на вході. Коли Ви використаєте усі резервні токени, Ви\n"
+"        зможете згенерувати новий набір резервних токенів. Дійсними будуть лише токени,\n"
 "        що нижче.\n"
 "      "
 
@@ -3118,6 +2740,12 @@ msgstr "Назад до безпеки облікового запису"
 msgid "Generate Tokens"
 msgstr "Створити Токени"
 
+#: aleksis/core/templates/two_factor/core/login.html:6
+#: aleksis/core/templates/two_factor/core/login.html:32
+#: aleksis/core/templates/two_factor/core/login.html:95
+msgid "Login"
+msgstr "Увійти"
+
 #: aleksis/core/templates/two_factor/core/login.html:27
 #, python-format
 msgid "Login for %(name)s"
@@ -3137,9 +2765,7 @@ msgstr ""
 
 #: aleksis/core/templates/two_factor/core/login.html:47
 msgid "Please login with your account to use the external application."
-msgstr ""
-"Для використання зовнішнього додатку увійдіть, будь ласка, у свій обліковий "
-"запис."
+msgstr "Для використання зовнішнього додатку увійдіть, будь ласка, у свій обліковий запис."
 
 #: aleksis/core/templates/two_factor/core/login.html:54
 msgid "Please login to see this page."
@@ -3148,28 +2774,24 @@ msgstr "Для перегляду цієї сторінки, будь ласка
 #: aleksis/core/templates/two_factor/core/login.html:65
 msgid ""
 "\n"
-"                        We are calling your phone right now, please enter "
-"the\n"
+"                        We are calling your phone right now, please enter the\n"
 "                        digits you hear.\n"
 "                      "
 msgstr ""
 "\n"
-"                        Ми зателефонуємо зараз на Ваш номер. Напишіть, будь "
-"ласка, цифри,\n"
+"                        Ми зателефонуємо зараз на Ваш номер. Напишіть, будь ласка, цифри,\n"
 "                        які Ви почуєте.\n"
 "                      "
 
 #: aleksis/core/templates/two_factor/core/login.html:70
 msgid ""
 "\n"
-"                        We sent you a text message, please enter the tokens "
-"we\n"
+"                        We sent you a text message, please enter the tokens we\n"
 "                        sent.\n"
 "                      "
 msgstr ""
 "\n"
-"                        Ми надіслали Вам текстове повідомлення. Напишіть, "
-"будь ласка, отриманий\n"
+"                        Ми надіслали Вам текстове повідомлення. Напишіть, будь ласка, отриманий\n"
 "                        токен.\n"
 "                      "
 
@@ -3188,21 +2810,15 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/login.html:81
 msgid ""
 "\n"
-"                      Use this form for entering backup tokens for logging "
-"in.\n"
-"                      These tokens have been generated for you to print and "
-"keep safe. Please\n"
-"                      enter one of these backup tokens to login to your "
-"account.\n"
+"                      Use this form for entering backup tokens for logging in.\n"
+"                      These tokens have been generated for you to print and keep safe. Please\n"
+"                      enter one of these backup tokens to login to your account.\n"
 "                    "
 msgstr ""
 "\n"
-"                      Для входу скористайтеся формою для введення резервних "
-"токенів.\n"
-"                      Ці токени були згенеровані, щоб Ви їх роздрукували та "
-"зберігали у надійному місці.\n"
-"                      Щоб увійти напишіть, будь ласка, один з резервних "
-"токенів.\n"
+"                      Для входу скористайтеся формою для введення резервних токенів.\n"
+"                      Ці токени були згенеровані, щоб Ви їх роздрукували та зберігали у надійному місці.\n"
+"                      Щоб увійти напишіть, будь ласка, один з резервних токенів.\n"
 "                    "
 
 #: aleksis/core/templates/two_factor/core/login.html:109
@@ -3232,16 +2848,12 @@ msgstr "Дозвіл відсутній"
 #: aleksis/core/templates/two_factor/core/otp_required.html:10
 msgid ""
 "The page you requested, enforces users to verify using\n"
-"          two-factor authentication for security reasons. You need to enable "
-"these\n"
+"          two-factor authentication for security reasons. You need to enable these\n"
 "          security features in order to access this page."
 msgstr ""
-"Для перегляду запитуванної сторінки, з огляду на безпеку, необхідна "
-"додаткова\n"
-"          перевірка користувача з використанням двохфакторної "
-"автентифікації.\n"
-"          Для доступу до цієї сторінки Вам потрібно увімкнути ці функції "
-"безпеки."
+"Для перегляду запитуванної сторінки, з огляду на безпеку, необхідна додаткова\n"
+"          перевірка користувача з використанням двохфакторної автентифікації.\n"
+"          Для доступу до цієї сторінки Вам потрібно увімкнути ці функції безпеки."
 
 #: aleksis/core/templates/two_factor/core/otp_required.html:14
 msgid ""
@@ -3253,6 +2865,10 @@ msgstr ""
 "          вимкнена. Для збільшення безпеки обліковки увімкніть двохфакторну\n"
 "          автентифікацію."
 
+#: aleksis/core/templates/two_factor/core/otp_required.html:19
+msgid "Go back"
+msgstr "Назад"
+
 #: aleksis/core/templates/two_factor/core/phone_register.html:5
 #: aleksis/core/templates/two_factor/core/phone_register.html:9
 msgid "Add Backup Phone"
@@ -3286,8 +2902,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Ви встановлюєте для свого облікового запису новий рівень безпеки.\n"
-"        Для увімкнення двохфакторної автентифікації пройдіть декілька "
-"кроків\n"
+"        Для увімкнення двохфакторної автентифікації пройдіть декілька кроків\n"
 "        майстра налаштування.\n"
 "      "
 
@@ -3298,24 +2913,20 @@ msgid ""
 "      "
 msgstr ""
 "\n"
-"        Оберіть, будь ласка, метод автентифікації, який Ви хочете "
-"використовувати:\n"
+"        Оберіть, будь ласка, метод автентифікації, який Ви хочете використовувати:\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup.html:23
 msgid ""
 "\n"
 "        To start using a token generator, please use your\n"
-"        favourite two factor authentication (TOTP) app to scan the QR code "
-"below.\n"
+"        favourite two factor authentication (TOTP) app to scan the QR code below.\n"
 "        Then, enter the token generated by the app.\n"
 "      "
 msgstr ""
 "\n"
-"        Для того, щоби почати використання генератора токенів, скористйтеся, "
-"будь ласка, своїм\n"
-"        улюбленим додатком для двохфакторної автентифікації (TOTP) та "
-"відскануйте QR-код, що нижче.\n"
+"        Для того, щоби почати використання генератора токенів, скористйтеся, будь ласка, своїм\n"
+"        улюбленим додатком для двохфакторної автентифікації (TOTP) та відскануйте QR-код, що нижче.\n"
 "        Після цього напишіть отриманий генератором токен.\n"
 "      "
 
@@ -3328,8 +2939,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Напишіть, будь ласка, номер телефону, на який Ви хочете\n"
-"        отримувати текстові повідомлення. На наступному кроці він буде "
-"перевірений.\n"
+"        отримувати текстові повідомлення. На наступному кроці він буде перевірений.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/core/setup.html:41
@@ -3347,13 +2957,11 @@ msgstr ""
 #: aleksis/core/templates/two_factor/core/setup.html:50
 msgid ""
 "\n"
-"            We are calling your phone right now, please enter the digits you "
-"hear.\n"
+"            We are calling your phone right now, please enter the digits you hear.\n"
 "          "
 msgstr ""
 "\n"
-"            Ми зараз телефонуємо на Ваш номер, – напишіть, будь ласка, "
-"цифри, які Ви почуєте.\n"
+"            Ми зараз телефонуємо на Ваш номер, – напишіть, будь ласка, цифри, які Ви почуєте.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:56
@@ -3363,29 +2971,22 @@ msgid ""
 "          "
 msgstr ""
 "\n"
-"            Ми надіслали Вам текстове повідомлення. Напишіть, будь ласка, "
-"отримані токени.\n"
+"            Ми надіслали Вам текстове повідомлення. Напишіть, будь ласка, отримані токени.\n"
 "          "
 
 #: aleksis/core/templates/two_factor/core/setup.html:63
 msgid ""
 "\n"
-"          We've encountered an issue with the selected authentication "
-"method. Please\n"
-"          go back and verify that you entered your information correctly, "
-"try\n"
-"          again, or use a different authentication method instead. If the "
-"issue\n"
+"          We've encountered an issue with the selected authentication method. Please\n"
+"          go back and verify that you entered your information correctly, try\n"
+"          again, or use a different authentication method instead. If the issue\n"
 "          persists, contact the site administrator.\n"
 "        "
 msgstr ""
 "\n"
-"          Ми помітили, що існує проблема з використанням обраного методу "
-"авторизації. Поверніться,\n"
-"          будь ласка, назад, та переконайтеся, що необхідні дані вказані "
-"правильно\n"
-"          і спробуйте увійте ще раз, або ж скористайтеся іншим варіантом "
-"входу. Якщо ж\n"
+"          Ми помітили, що існує проблема з використанням обраного методу авторизації. Поверніться,\n"
+"          будь ласка, назад, та переконайтеся, що необхідні дані вказані правильно\n"
+"          і спробуйте увійте ще раз, або ж скористайтеся іншим варіантом входу. Якщо ж\n"
 "          проблема залишається, зверніться до адміністратора сайту.\n"
 "        "
 
@@ -3411,8 +3012,7 @@ msgstr "Двохфакторна автентифікація успішно у
 #: aleksis/core/templates/two_factor/core/setup_complete.html:14
 msgid ""
 "\n"
-"        Congratulations, you've successfully enabled two-factor "
-"authentication.\n"
+"        Congratulations, you've successfully enabled two-factor authentication.\n"
 "      "
 msgstr ""
 "\n"
@@ -3433,16 +3033,13 @@ msgstr "Створити резервні коди"
 msgid ""
 "\n"
 "          However, it might happen that you don't have access to\n"
-"          your primary token device. To enable account recovery, generate "
-"backup codes\n"
+"          your primary token device. To enable account recovery, generate backup codes\n"
 "          or add a phone number.\n"
 "        "
 msgstr ""
 "\n"
-"          Між іншим, може так статися, що Ви не матимете доступу до свого "
-"основного\n"
-"          пристрою з токенами. Для увімкнення відновлення обліковки створіть "
-"резервні коди\n"
+"          Між іншим, може так статися, що Ви не матимете доступу до свого основного\n"
+"          пристрою з токенами. Для увімкнення відновлення обліковки створіть резервні коди\n"
 "          або додайте номер телефону.\n"
 "        "
 
@@ -3459,12 +3056,8 @@ msgid "Disable Two-Factor Authentication"
 msgstr "Вимкнути двохфакторну автентифікацію"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:12
-msgid ""
-"You are about to disable two-factor authentication. This weakens your "
-"account security, are you sure?"
-msgstr ""
-"Ви вимикаєте двохфакторну автентифікацію. Це знизить захист Вашого "
-"облікового запису. Ви впевнені?"
+msgid "You are about to disable two-factor authentication. This weakens your account security, are you sure?"
+msgstr "Ви вимикаєте двохфакторну автентифікацію. Це знизить захист Вашого облікового запису. Ви впевнені?"
 
 #: aleksis/core/templates/two_factor/profile/disable.html:26
 msgid "Disable"
@@ -3552,8 +3145,7 @@ msgid ""
 msgstr ""
 "\n"
 "        Хоча ми рішуче застерігаємо Вас це не робити, Ви можете \n"
-"        також вимкнути двохфакторну автентифікацію для свого облікового "
-"запису.\n"
+"        також вимкнути двохфакторну автентифікацію для свого облікового запису.\n"
 "      "
 
 #: aleksis/core/templates/two_factor/profile/profile.html:78
@@ -3578,256 +3170,448 @@ msgstr "Ел.пошта"
 msgid "SMS"
 msgstr "SMS"
 
-#: aleksis/core/util/pdf.py:118
+#: aleksis/core/util/pdf.py:151
 msgid "Progress: Generate PDF file"
 msgstr "Перебіг: Генерація файлу PDF"
 
-#: aleksis/core/util/pdf.py:119
+#: aleksis/core/util/pdf.py:152
 msgid "Generating PDF file …"
 msgstr "Створення файлу PDF …"
 
-#: aleksis/core/util/pdf.py:120
+#: aleksis/core/util/pdf.py:153
 msgid "The PDF file has been generated successfully."
 msgstr "Файл PDF успішно створений."
 
-#: aleksis/core/util/pdf.py:121
+#: aleksis/core/util/pdf.py:154
 msgid "There was a problem while generating the PDF file."
 msgstr "Під час створення файлу PDF виникла проблема."
 
-#: aleksis/core/util/pdf.py:124
+#: aleksis/core/util/pdf.py:157
 msgid "Download PDF"
 msgstr "Звантажити PDF"
 
-#: aleksis/core/views.py:292 aleksis/core/views.py:294
+#: aleksis/core/views.py:278
 msgid "The school term has been created."
 msgstr "Навчальний рік створений."
 
-#: aleksis/core/views.py:304 aleksis/core/views.py:306
+#: aleksis/core/views.py:290
 msgid "The school term has been saved."
 msgstr "Навчальний рік збережений."
 
-#: aleksis/core/views.py:424 aleksis/core/views.py:426
+#: aleksis/core/views.py:394
 msgid "The child groups were successfully saved."
 msgstr "Підлеглі групи збережені."
 
-#: aleksis/core/views.py:443 aleksis/core/views.py:453
-#: aleksis/core/views.py:445 aleksis/core/views.py:455
+#: aleksis/core/views.py:413 aleksis/core/views.py:423
 msgid "The person has been saved."
 msgstr "Особа збережена."
 
-#: aleksis/core/views.py:503 aleksis/core/views.py:505
+#: aleksis/core/views.py:473
 msgid "The group has been saved."
 msgstr "Група збережена."
 
-#: aleksis/core/views.py:600 aleksis/core/views.py:602
+#: aleksis/core/views.py:556
 msgid "The announcement has been saved."
 msgstr "Оголошення збережене."
 
-#: aleksis/core/views.py:616 aleksis/core/views.py:618
+#: aleksis/core/views.py:572
 msgid "The announcement has been deleted."
 msgstr "Оголошення видалене."
 
-#: aleksis/core/views.py:684 aleksis/core/views.py:686
+#: aleksis/core/views.py:641
 msgid "The requested preference registry does not exist"
 msgstr "Журналу із запитаними властивостями не існує"
 
-#: aleksis/core/views.py:703 aleksis/core/views.py:705
+#: aleksis/core/views.py:660
 msgid "The preferences have been saved successfully."
 msgstr "Властивості збережені."
 
-#: aleksis/core/views.py:727 aleksis/core/views.py:729
+#: aleksis/core/views.py:684
 msgid "The person has been deleted."
 msgstr "Особа видалена."
 
-#: aleksis/core/views.py:741 aleksis/core/views.py:743
+#: aleksis/core/views.py:698
 msgid "The group has been deleted."
 msgstr "Група видалена."
 
-#: aleksis/core/views.py:773
-msgid "The additional_field has been saved."
+#: aleksis/core/views.py:730
+msgid "The additional field has been saved."
 msgstr "Додаткове поле збережене."
 
-#: aleksis/core/views.py:807 aleksis/core/views.py:809
+#: aleksis/core/views.py:765
 msgid "The additional field has been deleted."
 msgstr "Додаткове поле видалене."
 
-#: aleksis/core/views.py:832 aleksis/core/views.py:834
+#: aleksis/core/views.py:790
 msgid "The group type has been saved."
 msgstr "Тип групи збережений."
 
-#: aleksis/core/views.py:862 aleksis/core/views.py:864
+#: aleksis/core/views.py:821
 msgid "The group type has been deleted."
 msgstr "Тип групи видалений."
 
-#: aleksis/core/views.py:895 aleksis/core/views.py:897
+#: aleksis/core/views.py:856
 msgid "Progress: Run data checks"
 msgstr "Перебіг: Запуск перевірки даних"
 
-#: aleksis/core/views.py:896 aleksis/core/views.py:898
+#: aleksis/core/views.py:857
 msgid "Run data checks …"
 msgstr "Запускається перевірка даних …"
 
-#: aleksis/core/views.py:897 aleksis/core/views.py:899
+#: aleksis/core/views.py:858
 msgid "The data checks were run successfully."
 msgstr "Перевірка даних успішно запущена."
 
-#: aleksis/core/views.py:898 aleksis/core/views.py:900
+#: aleksis/core/views.py:859
 msgid "There was a problem while running data checks."
 msgstr "Під час запуску перевірки даних виникла проблема."
 
-#: aleksis/core/views.py:914 aleksis/core/views.py:916
+#: aleksis/core/views.py:876
 #, python-brace-format
 msgid "The solve option '{solve_option_obj.verbose_name}' "
 msgstr "Варіант розв'язання \"{solve_option_obj.verbose_name}\" "
 
-#: aleksis/core/views.py:924 aleksis/core/views.py:926
+#: aleksis/core/views.py:886
 msgid "The requested solve option does not exist"
 msgstr "Запитаний варіант розв'язання не існує"
 
-#: aleksis/core/views.py:956 aleksis/core/views.py:958
+#: aleksis/core/views.py:919
 msgid "The dashboard widget has been saved."
 msgstr "Віджет інформпанелі збережений."
 
-#: aleksis/core/views.py:986 aleksis/core/views.py:988
+#: aleksis/core/views.py:949
 msgid "The dashboard widget has been created."
 msgstr "Віджет інформпанелі створений."
 
-#: aleksis/core/views.py:996 aleksis/core/views.py:998
+#: aleksis/core/views.py:959
 msgid "The dashboard widget has been deleted."
 msgstr "Віджет інформпанелі видалений."
 
-#: aleksis/core/views.py:1067 aleksis/core/views.py:1069
+#: aleksis/core/views.py:1030
 msgid "Your dashboard configuration has been saved successfully."
 msgstr "Ваша конфігурація інформпанелі збережена."
 
-#: aleksis/core/views.py:1069 aleksis/core/views.py:1071
+#: aleksis/core/views.py:1032
 msgid "The configuration of the default dashboard has been saved successfully."
 msgstr "Конфігурація типової/стандартної інформпанелі збережена."
 
-#: aleksis/core/views.py:1145 aleksis/core/views.py:1147
+#: aleksis/core/views.py:1103
 #, python-brace-format
 msgid "The invitation was successfully created. The invitation code is {code}"
 msgstr "Запрошення успішно створене. Код запрошення: {code}"
 
-#: aleksis/core/views.py:1236 aleksis/core/views.py:1238
+#: aleksis/core/views.py:1200
 msgid "We have successfully assigned the permissions."
 msgstr "Ми успішно призначили дозволи."
 
-#: aleksis/core/views.py:1246 aleksis/core/views.py:1248
+#: aleksis/core/views.py:1210
 msgid "The global user permission has been deleted."
 msgstr "Глобальний користувацький дозвіл видалений."
 
-#: aleksis/core/views.py:1256 aleksis/core/views.py:1258
+#: aleksis/core/views.py:1220
 msgid "The global group permission has been deleted."
 msgstr "Глобальний груповий дозвіл видалений."
 
-#: aleksis/core/views.py:1266 aleksis/core/views.py:1268
+#: aleksis/core/views.py:1230
 msgid "The object user permission has been deleted."
 msgstr "Об'єктний користувацький дозвіл видалений."
 
-#: aleksis/core/views.py:1276 aleksis/core/views.py:1278
+#: aleksis/core/views.py:1240
 msgid "The object group permission has been deleted."
 msgstr "Об'єктний груповий дозвіл видалений."
 
-#: aleksis/core/views.py:1344 aleksis/core/views.py:1346
-msgid "The requested PDF file does not exist"
-msgstr "Запитаний файл PDF не існує"
+#: aleksis/core/views.py:1349
+msgid "The third-party account could not be disconnected because it is the only login method available."
+msgstr "Обліковий запис третьої сторони не можна від'єднати оскільки він єдиний спосіб для входу."
 
-#: aleksis/core/views.py:1353 aleksis/core/views.py:1357
-#: aleksis/core/views.py:1355 aleksis/core/views.py:1359
-msgid "The requested task does not exist or is not accessible"
-msgstr "Запитане завдання не існує або не доступне"
-
-#: aleksis/core/views.py:1409 aleksis/core/views.py:1411
-msgid ""
-"The third-party account could not be disconnected because it is the only "
-"login method available."
-msgstr ""
-"Обліковий запис третьої сторони не можна від'єднати оскільки він єдиний "
-"спосіб для входу."
-
-#: aleksis/core/views.py:1416 aleksis/core/views.py:1418
+#: aleksis/core/views.py:1356
 msgid "The third-party account has been successfully disconnected."
 msgstr "Обліковий запис третьої сторони успішно від'єднаний."
 
-#: aleksis/core/views.py:1487 aleksis/core/views.py:1489
-msgid ""
-"Person was invited successfully and an email with further instructions has "
-"been send to them."
-msgstr ""
-"Особа успішно запрошена. Лист з інструкціями щодо наступних дій надісланий "
-"на її ел.пошту."
+#: aleksis/core/views.py:1432
+msgid "Person was invited successfully and an email with further instructions has been send to them."
+msgstr "Особа успішно запрошена. Лист з інструкціями щодо наступних дій надісланий на її ел.пошту."
 
-#: aleksis/core/views.py:1498 aleksis/core/views.py:1500
+#: aleksis/core/views.py:1443
 msgid "Person was already invited."
 msgstr "Особа вже була запрошена."
 
-#: aleksis/core/views.py:1598
-msgid "ICal feed updated successfully"
-msgstr "Стрічка iCal успішно оновлена"
+#~ msgid "Birthday Calendar"
+#~ msgstr "Календар Днів Народження"
 
-#: aleksis/core/views.py:1608
-msgid "ICal feed deleted successfully"
-msgstr "Стрічка iCal успішно видалена"
+#~ msgid "A Calendar of Birthdays"
+#~ msgstr "Календар Днів Народження"
 
-#: aleksis/core/views.py:1616
-msgid "ICal feed created successfully"
-msgstr "Стрічка iCal успішно створена"
-
-#: aleksis/core/data_checks.py:330
 #, python-format
-msgid "Validate field %s of model %s."
-msgstr "Перевірте поле %s моделі %s."
+#~ msgid "%(name)s's birthday"
+#~ msgstr "%(name)s має День Народження"
 
-#: aleksis/core/data_checks.py:332
 #, python-format
-msgid "The field %s couldn't be validated successfully."
-msgstr "Поле %s не вдалося успішно перевірити."
+#~ msgid "%(name)s was born on %(birthday)s"
+#~ msgstr "%(name)s народився(-лася) %(birthday)s"
 
-#: aleksis/core/models.py:181
-msgid "other"
-msgstr "інший"
+#~ msgid "Dashboard"
+#~ msgstr "Інформпанель"
 
-#: aleksis/core/settings.py:543
-msgid "Ukrainian"
-msgstr "Українська"
+#~ msgid "Admin"
+#~ msgstr "Адмін"
 
-#: aleksis/core/templates/500.html:10
-msgid ""
-"An unexpected error has\n"
-"          occurred."
-msgstr ""
-"Сталася неочікувана\n"
-"          помилка."
+#~ msgid "Data management"
+#~ msgstr "Керування даними"
 
-#: aleksis/core/templates/core/group/full.html:93
-#, python-format
-msgid ""
-"\n"
-"              %(min)s years to %(max)s years\n"
-"            "
-msgstr ""
-"\n"
-"              %(min)s років до %(max)s років\n"
-"            "
+#~ msgid "Configuration"
+#~ msgstr "Конфігурація"
 
-#: aleksis/core/templates/core/ical/ical_list.html:4
-#: aleksis/core/templates/core/ical/ical_list.html:5
-msgid "iCal Feeds"
-msgstr "iCal-стрічки"
+#~ msgid "Backend Admin"
+#~ msgstr "Адміністрування бекенду"
 
-#: aleksis/core/views.py:775
-msgid "The additional field has been saved."
-msgstr "Додаткове поле збережене."
+#~ msgid "People"
+#~ msgstr "Люди"
 
-#: aleksis/core/views.py:1600
-msgid "iCal feed updated successfully"
-msgstr "Стрічка iCal успішно оновлена"
+#~ msgid "Groups and child groups"
+#~ msgstr "Групи та підлеглі групи"
 
-#: aleksis/core/views.py:1610
-msgid "iCal feed deleted successfully"
-msgstr "Стрічка iCal успішно видалена"
+#~ msgid "Invite person"
+#~ msgstr "Запросити особу"
+
+#~ msgid "Stop impersonation"
+#~ msgstr "Зупинити маскування"
+
+#~ msgid "Account"
+#~ msgstr "Обліковий запис"
+
+#~ msgid "2FA"
+#~ msgstr "2FA"
+
+#~ msgid "Third-party accounts"
+#~ msgstr "Обліковки третіх сторін"
+
+#~ msgid "Calendar Feeds"
+#~ msgstr "Канали календарів"
+
+#~ msgid "Logout"
+#~ msgstr "Вийти"
+
+#~ msgid "UUID"
+#~ msgstr "UUID"
+
+#~ msgid "Selected ICal feed"
+#~ msgstr "Стрічка обраного iCal"
 
-#: aleksis/core/views.py:1618
-msgid "iCal feed created successfully"
-msgstr "Стрічка iCal успішно створена"
+#~ msgid "Personal Calendar URL"
+#~ msgstr "URL-посилання особистого календаря"
+
+#~ msgid "Personal Calendar URLs"
+#~ msgstr "URL-посилання особистих календарів"
+
+#~ msgid "Available languages"
+#~ msgstr "Доступні мови"
+
+#~ msgid ""
+#~ "An unexpected error has\n"
+#~ "          occured."
+#~ msgstr ""
+#~ "Сталася неочікувана\n"
+#~ "          помилка."
+
+#~ msgid "About AlekSIS® — The Free School Information System"
+#~ msgstr "Щодо AlekSIS® — The Free School Information System"
+
+#~ msgid "Imprint"
+#~ msgstr "Відбиток"
+
+#~ msgid "Privacy Policy"
+#~ msgstr "Політика приватності"
+
+#~ msgid "years to"
+#~ msgstr "–"
+
+#~ msgid "years "
+#~ msgstr "рр. "
+
+#~ msgid "Create iCal URL"
+#~ msgstr "Створити посилання iCal"
+
+#, python-format
+#~ msgid "Edit iCal URL %(object)s"
+#~ msgstr "Редагувати посилання iCal %(object)s"
+
+#~ msgid "ICal Feeds"
+#~ msgstr "iCal-стрічки"
+
+#~ msgid "These are URLs for different Calendar Feeds in the iCal (.ics) format. You can create as many as you want and import them in your calendar software."
+#~ msgstr "Тут містяться посилання на різні стрічки календарів у форматі iCal (.ics). Ви можете створити їх стільки, скільки Вам необхідно та імпортувати їх у ПЗ для роботи з календарями."
+
+#~ msgid "Your iCal URLs"
+#~ msgstr "Ваші посилання iCal"
+
+#~ msgid "Recent notifications"
+#~ msgstr "Свіжі сповіщення"
+
+#~ msgid "More information →"
+#~ msgstr "Більше інформації →"
+
+#~ msgid "No notifications available yet."
+#~ msgstr "Сповіщення поки що не доступні."
+
+#~ msgid "About AlekSIS®"
+#~ msgstr "Щодо AlekSIS®"
+
+#~ msgid "AlekSIS® – The Free School Information System"
+#~ msgstr "AlekSIS® – The Free School Information System"
+
+#~ msgid "About AlekSIS"
+#~ msgstr "Щодо AlekSIS"
+
+#~ msgid ""
+#~ "\n"
+#~ "              This platform is powered by AlekSIS®, a web-based school information system (SIS) which can be used\n"
+#~ "              to manage and/or publish organisational artifacts of educational institutions. AlekSIS is free software and\n"
+#~ "              can be used by anyone.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Ця платформа базується на AlekSIS®, веб-інструменті інформаційної системи для навчання (SIS) за допомогою якої\n"
+#~ "              можна керувати та/або висвітлювати організаційні елементи навчальних закладів. AlekSIS - безплатне ПЗ\n"
+#~ "              і ним може користуватися будь-хто.\n"
+#~ "            "
+
+#~ msgid ""
+#~ "\n"
+#~ "              AlekSIS® is a registered trademark of the AlekSIS open source project, represented by Teckids e.V.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              AlekSIS® – зареєстрована торгова марка проекту з відкритим програмним кодом AlekSIS, що представлена Teckids e.V.\n"
+#~ "            "
+
+#~ msgid "Website of AlekSIS"
+#~ msgstr "Веб-сайт AlekSIS"
+
+#~ msgid "Source code"
+#~ msgstr "Програмний код"
+
+#~ msgid "Licence information"
+#~ msgstr "Ліцензійна інформація"
+
+#~ msgid ""
+#~ "\n"
+#~ "              The core and the official apps of AlekSIS are licenced under the EUPL, version 1.2 or later. For licence\n"
+#~ "              information from third-party apps, if installed, refer to the respective components below. The\n"
+#~ "              licences are marked like this:\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Ядро та офіційні додатки AlekSIS ліцензовані EUPL, версії 1.2 та новіше. Для отримання інформації\n"
+#~ "              щодо додатків третіх сторін, якщо такі встановлені, перейдіть до відповідних компонентів нижче.\n"
+#~ "              Ці ліцензії мають таку позначку:\n"
+#~ "            "
+
+#~ msgid "Free/Open Source Licence"
+#~ msgstr "Безкоштовна або Ліцензія Відкритого Коду (Open Source)"
+
+#~ msgid "Other Licence"
+#~ msgstr "Інша ліцензія"
+
+#~ msgid "Full licence text"
+#~ msgstr "Повний текст ліцензії"
+
+#~ msgid "More information about the EUPL"
+#~ msgstr "Більше інформації щодо EUPL"
+
+#, python-format
+#~ msgid ""
+#~ "\n"
+#~ "                    This app is licenced under %(licence)s.\n"
+#~ "                  "
+#~ msgstr ""
+#~ "\n"
+#~ "                    Цей додаток ліцензований під %(licence)s.\n"
+#~ "                  "
+
+#~ msgid ""
+#~ "\n"
+#~ "              Without activated JavaScript the progress status can't be updated.\n"
+#~ "            "
+#~ msgstr ""
+#~ "\n"
+#~ "              Без активованого JavaScript статус виконання не зможе оновлюватися.\n"
+#~ "            "
+
+#~ msgid "Language"
+#~ msgstr "Мова"
+
+#~ msgid "Select language"
+#~ msgstr "Оберіть мову"
+
+#~ msgid ""
+#~ "\n"
+#~ "            Your administrator account is not linked to any person. Therefore,\n"
+#~ "            a dummy person has been linked to your account.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ваш адміністративний обліковий запис не поєднаний з жодною особою. Через це\n"
+#~ "            до Вашого облікового запису приєднана фейкова особа.\n"
+#~ "          "
+
+#~ msgid ""
+#~ "\n"
+#~ "            Your user account is not linked to a person. This means you\n"
+#~ "            cannot access any school-related information. Please contact\n"
+#~ "            the managers of AlekSIS at your school.\n"
+#~ "          "
+#~ msgstr ""
+#~ "\n"
+#~ "            Ваш обліковий запис не пов'язаний з фізособою. Це означає,\n"
+#~ "            що Ви не маєте жодного доступу до навчальної інформації. Зверніться,\n"
+#~ "            будь ласка, до адміністраторів AlekSIS у Вашому навчальному закладі.\n"
+#~ "          "
+
+#~ msgid "Impersonate"
+#~ msgstr "Маскування"
+
+#~ msgid "Invite user"
+#~ msgstr "Запросити користувача"
+
+#~ msgid "Contact details"
+#~ msgstr "Контактні дані"
+
+#~ msgid "This person didn't upload a personal photo."
+#~ msgstr "Ця особа не завантажила особисте фото."
+
+#~ msgid "Children"
+#~ msgstr "Діти"
+
+#~ msgid "Please return to your application and enter this code:"
+#~ msgstr "Поверніться, будь ласка, до свого додатку та впишіть цей код:"
+
+#~ msgid "No internet connection."
+#~ msgstr "Немає інтернет-з'єднання."
+
+#~ msgid "The additional_field has been saved."
+#~ msgstr "Додаткове поле збережене."
+
+#~ msgid "The requested PDF file does not exist"
+#~ msgstr "Запитаний файл PDF не існує"
+
+#~ msgid "The requested task does not exist or is not accessible"
+#~ msgstr "Запитане завдання не існує або не доступне"
+
+#~ msgid "ICal feed updated successfully"
+#~ msgstr "Стрічка iCal успішно оновлена"
+
+#~ msgid "ICal feed created successfully"
+#~ msgstr "Стрічка iCal успішно створена"
+
+#~ msgid "iCal Feeds"
+#~ msgstr "iCal-стрічки"
+
+#~ msgid "iCal feed updated successfully"
+#~ msgstr "Стрічка iCal успішно оновлена"
+
+#~ msgid "iCal feed deleted successfully"
+#~ msgstr "Стрічка iCal успішно видалена"
+
+#~ msgid "iCal feed created successfully"
+#~ msgstr "Стрічка iCal успішно створена"
diff --git a/aleksis/core/locale/uk/LC_MESSAGES/djangojs.po b/aleksis/core/locale/uk/LC_MESSAGES/djangojs.po
index fcd6122a3fdc075256f8c08626ad9d806d4241be..2e94bca8c985daae37975ff0222ad26f40ec2ed8 100644
--- a/aleksis/core/locale/uk/LC_MESSAGES/djangojs.po
+++ b/aleksis/core/locale/uk/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-06-25 12:09+0200\n"
+"POT-Creation-Date: 2023-01-22 20:49+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"
@@ -30,6 +30,5 @@ msgstr "Скасувати"
 msgid "OK"
 msgstr "OK"
 
-#: aleksis/core/static/js/main.js:195
-msgid "This page may contain outdated information since there is no internet connection."
-msgstr "Через відсутність інтернет-з'єднання ця сторінка може містити застарілу інформацію."
+#~ msgid "This page may contain outdated information since there is no internet connection."
+#~ msgstr "Через відсутність інтернет-з'єднання ця сторінка може містити застарілу інформацію."