diff --git a/aleksis/core/locale/ar/LC_MESSAGES/django.po b/aleksis/core/locale/ar/LC_MESSAGES/django.po index 29ee921af8694936e102e32d65b310ac44979fbc..33b5acc1cc5ba743104df96de5f85d64a90010c1 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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,23 +18,23 @@ 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:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 msgid "Given name, family name, link to profile and picture if existing." msgstr "" -#: aleksis/core/apps.py:152 +#: aleksis/core/apps.py:153 msgid "Full home postal address" msgstr "" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 msgid "Email address" msgstr "" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 msgid "Home and mobile phone" msgstr "" @@ -59,8 +59,8 @@ msgstr "" msgid "The DashboardWidget was reported broken automatically." msgstr "" -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -68,132 +68,172 @@ msgstr "" msgid "Search" msgstr "" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 msgid "Search by contact details" msgstr "" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +msgid "Permission" +msgstr "" + +#: aleksis/core/filters.py:99 +msgid "Content type" +msgstr "" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 msgid "Address" msgstr "" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 msgid "Contact data" msgstr "" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 msgid "Advanced personal data" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "Create a new account" msgstr "" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 msgid "You cannot set a new username when also selecting an existing user." msgstr "" -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "" -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 msgid "Common data" msgstr "" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 msgid "Persons" msgstr "" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 msgid "Additional data" msgstr "" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 msgid "Groups" msgstr "" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 msgid "You are not allowed to create announcements which are only valid in the past." msgstr "" -#: aleksis/core/forms.py:266 +#: aleksis/core/forms.py:281 msgid "The from date and time must be earlier then the until date and time." msgstr "" -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "" -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +msgid "Who should get the permission?" +msgstr "" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 msgid "Account data" msgstr "" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, python-brace-format msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them." msgstr "" -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "" -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "" @@ -238,30 +278,30 @@ msgstr "" msgid "Dashboard" msgstr "" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -273,817 +313,806 @@ msgstr "" msgid "Change password" msgstr "" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 msgid "Third-party accounts" msgstr "" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: 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:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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:149 +#: aleksis/core/menus.py:154 #: 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:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 msgid "Configuration" msgstr "" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: 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:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: 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:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 msgid "Linked school term" msgstr "" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 msgid "IP address" msgstr "" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 msgid "Start date" msgstr "" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 msgid "There is already a school term for this time or a part of this time." msgstr "" -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 msgid "Can view address" msgstr "" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 msgid "Can view contact details" msgstr "" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 msgid "Can view photo" msgstr "" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 msgid "Can view persons groups" msgstr "" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 msgid "Can view personal details" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 msgid "Is person active?" msgstr "" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 msgid "Short name" msgstr "" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +msgid "Place of birth" +msgstr "" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 msgid "Addtitional field for groups" msgstr "" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 msgid "Addtitional fields for groups" msgstr "" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 msgid "Can view statistics about group." msgstr "" -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 msgid "Long name" msgstr "" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 msgid "Notification" msgstr "" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 msgid "Announcement" msgstr "" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 msgid "Announcement recipient" msgstr "" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 msgid "Announcement recipients" msgstr "" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 msgid "Widget Title" msgstr "" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 msgid "Widget is broken" msgstr "" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 msgid "Can edit default dashboard" msgstr "" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 msgid "Dashboard Widget" msgstr "" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 msgid "Dashboard Widgets" msgstr "" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 msgid "Icon URL" msgstr "" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 msgid "Dashboard widget" msgstr "" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 msgid "Dashboard widget order" msgstr "" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 msgid "Dashboard widget orders" msgstr "" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 msgid "Group type" msgstr "" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 msgid "Can view system status" msgstr "" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 msgid "Can manage data" msgstr "" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 msgid "Can impersonate" msgstr "" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "" - -#: aleksis/core/models.py:980 -msgid "Can view oauth applications" -msgstr "" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 msgid "Notification sent" msgstr "" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 msgid "Owner" msgstr "" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "" -#: aleksis/core/preferences.py:22 -msgid "General" +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" msgstr "" #: aleksis/core/preferences.py:23 -msgid "School" +msgid "General" msgstr "" #: aleksis/core/preferences.py:24 -msgid "Theme" +msgid "School" msgstr "" #: aleksis/core/preferences.py:25 +msgid "Theme" +msgstr "" + +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 msgid "Accounts" msgstr "" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 msgid "Authentication" msgstr "" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 msgid "Internationalisation" msgstr "" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 msgid "Site description" msgstr "" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 msgid "Logo" msgstr "" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 msgid "PWA-Icon" msgstr "" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 msgid "Mail out name" msgstr "" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 msgid "Mail out address" msgstr "" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 msgid "Regular expression to match primary group, e.g. '^Class .*'" msgstr "" -#: aleksis/core/preferences.py:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 msgid "Automatically link existing persons to new users by their e-mail address" msgstr "" -#: aleksis/core/preferences.py:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 msgid "Official name of the school, e.g. as given by supervisory authority" msgstr "" -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +msgid "Allowed Grant Flows for OAuth applications" +msgstr "" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 msgid "Fields on person model which are editable by themselves." msgstr "" -#: aleksis/core/preferences.py:350 +#: aleksis/core/preferences.py:364 msgid "Editable fields on person model which should trigger a notification on change" msgstr "" -#: aleksis/core/preferences.py:363 +#: aleksis/core/preferences.py:377 msgid "Contact for notification if a person changes their data" msgstr "" -#: aleksis/core/preferences.py:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "" @@ -1091,23 +1120,24 @@ msgstr "" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 msgid "Actions" msgstr "" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "" @@ -1424,19 +1454,19 @@ msgstr "" msgid "There are no announcements." msgstr "" -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "" @@ -1627,7 +1657,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -1984,6 +2014,51 @@ msgid "" " " msgstr "" +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +msgid "Selected permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +msgid "Global (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +msgid "Object (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:52 +msgid "Filter permissions" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2005,7 +2080,7 @@ msgstr "" msgid "Contact details" msgstr "" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "" @@ -2045,60 +2120,56 @@ msgstr "" msgid "Save preferences" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +msgid "Register OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, python-format -msgid "Are you sure to delete the application %(application_name)s?" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +msgid "OAuth2 Application" +msgstr "" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 -msgid "Edit application" +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 +msgid "Skip Authorisation" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 -msgid "OAuth2 applications" +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 +msgid "Edit OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +msgid "Register new application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "" @@ -2729,107 +2800,127 @@ msgstr "" msgid "Download PDF" msgstr "" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "" -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "" -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "" -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "" -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "" -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "" -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "" -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "" -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "" -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "" -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "" -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "" -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "" -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "" -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 msgid "Run data checks …" msgstr "" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "" -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "" -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, python-brace-format msgid "The solve option '{solve_option_obj.verbose_name}' " msgstr "" -#: aleksis/core/views.py:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "" -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "" -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "" -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "" -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "" -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +msgid "The global user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1159 +msgid "The global group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1169 +msgid "The object user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1179 +msgid "The object group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1298 msgid "The third-party account could not be disconnected because it is the only login method available." msgstr "" -#: aleksis/core/views.py:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "" diff --git a/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po b/aleksis/core/locale/ar/LC_MESSAGES/djangojs.po index 58d7ae38a2326acb79508cd05c32cab673c58fe9..eacffd3e211761afbf5bb697e91ee630c6d3eabc 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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" diff --git a/aleksis/core/locale/de_DE/LC_MESSAGES/django.po b/aleksis/core/locale/de_DE/LC_MESSAGES/django.po index f392000d5c400048743b02d15cfca5dbb4efd644..71181d5357d90716bda9b319cec5d2ea0a8eea91 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+0100\n" "PO-Revision-Date: 2021-10-29 14:28+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,23 +18,23 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.8\n" -#: aleksis/core/apps.py:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "OpenID-Connect-Scope" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 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:152 +#: aleksis/core/apps.py:153 msgid "Full home postal address" msgstr "Vollständige Postanschrift" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 msgid "Email address" msgstr "E-Mail-Adresse" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 msgid "Home and mobile phone" msgstr "Festnetz- und Mobilfunknummer" @@ -60,8 +59,8 @@ msgstr "Sicherstellen, dass es keine kaputten Dashboard-Widgets gibt." msgid "The DashboardWidget was reported broken automatically." msgstr "Das Dashboard-Widget wurde automatisch als kaputt gemeldet." -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -69,132 +68,178 @@ msgstr "Das Dashboard-Widget wurde automatisch als kaputt gemeldet." msgid "Search" msgstr "Suchen" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "Nach Namen suchen" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 msgid "Search by contact details" msgstr "Nach Kontaktdetails suchen" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +#, fuzzy +#| msgid "Permission Denied" +msgid "Permission" +msgstr "Zugriff verwehrt" + +#: aleksis/core/filters.py:99 +#, fuzzy +#| msgid "Client type" +msgid "Content type" +msgstr "Client-Typ" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "Benutzer" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "Gruppe" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "Basisdaten" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 msgid "Address" msgstr "Adresse" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 msgid "Contact data" msgstr "Kontaktdaten" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 msgid "Advanced personal data" msgstr "Zusätzliche persönliche Daten" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "Neuer Benutzer" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "Create a new account" msgstr "Neues Benutzerkonto erstellen" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 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." -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "Dieser Benutzername wird bereits genutzt." -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "Schuljahr" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 msgid "Common data" msgstr "Allgemeine Daten" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 msgid "Persons" msgstr "Personen" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 msgid "Additional data" msgstr "Zusätzliche Datne" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "Datum" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "Zeit" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 msgid "Groups" msgstr "Gruppen" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "Von wann bis wann soll die Ankündigung angezeigt werden?" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "Wer soll die Ankündigung sehen?" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "Schreiben Sie ihre Ankündigung:" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 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:266 +#: aleksis/core/forms.py:281 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." -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "Sie benötigen mindestens einen Empfänger." -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +#, fuzzy +#| msgid "Who should see the announcement?" +msgid "Who should get the permission?" +msgstr "Wer soll die Ankündigung sehen?" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 msgid "Account data" msgstr "Kontodaten" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "Zustimmungen" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "Passwort" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "Passwort wiederholen" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, 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." -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "Sie müssen zweimal das gleiche Passwort eingeben." -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "Keine gültige Auswahl." @@ -239,30 +284,30 @@ msgstr "Registrieren" msgid "Dashboard" msgstr "Dashboard" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "Benachrichtigungen" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "Konto" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "Verkleidung beenden" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "Abmelden" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "2FA" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -274,817 +319,810 @@ msgstr "2FA" msgid "Change password" msgstr "Passwort ändern" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "Ich" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "Einstellungen" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 msgid "Third-party accounts" msgstr "Drittanbieter-Konten" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: 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:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "Admin" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "Ankündigungen" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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/menus.py:149 +#: aleksis/core/menus.py:154 #: 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:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "Verkleidung" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 msgid "Configuration" msgstr "Konfiguration" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "Backend-Administration" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "Leute" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: 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/menus.py:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "Gruppen und Kindgruppen" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: 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/menus.py:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 msgid "Linked school term" msgstr "Zugeordnetes Schuljahr" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "Boolean (Ja/Nein)" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "Text (eine Zeile)" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "Datum und Uhrzeit" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "Dezimalzahl" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "E-Mail-Adresse" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "Ganze Zahl" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 msgid "IP address" msgstr "IP-Adresse" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "Boolean oder leer (Ja/Nein/weder)" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "Text (mehrzeilig)" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "URL / Link" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "Name" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 msgid "Start date" msgstr "Startdatum" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "Enddatum" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "Das Startdatum muss vor dem Enddatum liegen." -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 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." -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "Person" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 msgid "Can view address" msgstr "Kann Adresse sehen" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 msgid "Can view contact details" msgstr "Kann Kontaktdetails sehen" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 msgid "Can view photo" msgstr "Kann Foto sehen" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 msgid "Can view persons groups" msgstr "Kann Gruppen einer Person sehen" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 msgid "Can view personal details" msgstr "Kann persönliche Daten sehen" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "weiblich" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "männlich" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "Verknüpfter Benutzer" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 msgid "Is person active?" msgstr "Ist die Person aktiv?" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "Vorname" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "Nachname" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "Zusätzliche Namen" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 msgid "Short name" msgstr "Kurzname" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "Straße" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "Hausnummer" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "Postleitzahl" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "Ort" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "Festnetz" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "Handy" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "Geburtsdatum" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +#, fuzzy +#| msgid "Date of birth" +msgid "Place of birth" +msgstr "Geburtsdatum" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "Geschlecht" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "Foto" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "Erziehungsberechtigte / Eltern" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "Primärgruppe" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "Beschreibung" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "Feldtitel" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "Feldtyp" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 msgid "Addtitional field for groups" msgstr "Zusätzliche Felder für Gruppen" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 msgid "Addtitional fields for groups" msgstr "Zusätzliche Felder für Gruppen" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "Gruppe" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "Kann Kindgruppen zu Gruppen zuordnen" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 msgid "Can view statistics about group." msgstr "Kann Statistiken über Gruppen sehen." -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 msgid "Long name" msgstr "Langname" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "Mitglieder" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "Leiter/-innen" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "Übergeordnete Gruppen" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "Gruppentyp" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "Benutzer" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "Titel" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "Anwendung" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "Aktivität" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "Aktivitäten" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "Absender" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "Empfänger" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "Link" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "Gelesen" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "Versandt" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 msgid "Notification" msgstr "Benachrichtigung" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "Link zur detaillierten Ansicht" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "Datum und Uhrzeit des Anzeigestarts" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "Anzeigezeitraum" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 msgid "Announcement" msgstr "Ankündigung" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 msgid "Announcement recipient" msgstr "Empfänger der Ankündigung" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 msgid "Announcement recipients" msgstr "Empfänger der Ankündigung" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 msgid "Widget Title" msgstr "Widget-Titel" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "Widget aktivieren" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 msgid "Widget is broken" msgstr "Widget ist kaputt" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "Größe auf Mobilgeräten" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "<= 600 px, 12 Spalten" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "Größe auf Tablets" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "> 600px, 12 Spalten" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "Größe auf Desktopgeräten" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "> 992 px, 12 Spalten" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "Größe auf großen Desktopgeräten" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "> 1200 px, 12 Spalten" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 msgid "Can edit default dashboard" msgstr "Kann Standarddashboard bearbeiten" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 msgid "Dashboard Widget" msgstr "Dashboard-Widget" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 msgid "Dashboard Widgets" msgstr "Dashboard-Widgets" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "URL" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 msgid "Icon URL" msgstr "Symbol-URL" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "Externer-Link-Widget" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "Externer-Link-Widgets" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 msgid "Dashboard widget" msgstr "Dashboard-Widget" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "Reihenfolge" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "Teil des Standarddashboards" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 msgid "Dashboard widget order" msgstr "Reihenfolge der Dashboard-Widgets" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 msgid "Dashboard widget orders" msgstr "Reihenfolgen der Dashboard-Widgets" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "Menü-ID" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "Benutzerdefiniertes Menü" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "Benutzerdefinierte Menüs" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "Menü" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "Symbol" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "Benutzerdefiniertes Menüelement" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "Benutzerdefinierte Menüelemente" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "Titel des Typs" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 msgid "Group type" msgstr "Gruppentyp" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 msgid "Can view system status" msgstr "Kann Systemstatus sehen" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 msgid "Can manage data" msgstr "Kann Daten verwalten" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 msgid "Can impersonate" msgstr "Kann sich verkleiden" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "Kann Suche benutzen" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "Kann Konfiguration ändern" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "Kann Einstellungen einer Person verändern" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "Kann Einstellungen einer Gruppe verändern" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "Kann OAuth-Anwendungen hinzufügen" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "Can OAuth-Anwendungen auflisten" - -#: aleksis/core/models.py:980 -msgid "Can view oauth applications" -msgstr "Kann OAuth-Anwendungen sehen" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "Kann OAuth-Anwendungen aktualisieren" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "Kann OAuth-Anwendungen löschen" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "Kann die PDF-Generierung testen" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "Zugehörige Datenprüfungsaufgabe" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "Problem gelöst" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 msgid "Notification sent" msgstr "Benachrichtigung gesendet" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "Datenprüfungsergebnis" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "Datenprüfungsergebnisse" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "Kann Datenprüfungen ausführen" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "Kann Datenprüfungsprobleme lösen" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 msgid "Owner" msgstr "Leiter" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "Datei abgelaufen am" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "Generierte HTML-Datei" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "Generierte PDF-Datei" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "PDF-Datei" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "PDF-Dateien" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "Task-Ergebnis" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "Task-Benutzer" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "Task-Benutzer-Zuordnung" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "Task-Benutzer-Zuordnungen" -#: aleksis/core/preferences.py:22 +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" +msgstr "" + +#: aleksis/core/preferences.py:23 msgid "General" msgstr "Allgemein" -#: aleksis/core/preferences.py:23 +#: aleksis/core/preferences.py:24 msgid "School" msgstr "Schule" -#: aleksis/core/preferences.py:24 +#: aleksis/core/preferences.py:25 msgid "Theme" msgstr "Theme" -#: aleksis/core/preferences.py:25 +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "E-Mail" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "Fußbereich" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 msgid "Accounts" msgstr "Konten" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 msgid "Authentication" msgstr "Authentifizierung" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 msgid "Internationalisation" msgstr "Internationalisierung" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "Seitentitel" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 msgid "Site description" msgstr "Seitenbeschreibung" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "Primärfarbe" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "Akzentfarbe" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 msgid "Logo" msgstr "Logo" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "Favicon" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 msgid "PWA-Icon" msgstr "PWA-Icon" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 msgid "Mail out name" msgstr "Ausgangsmailname" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 msgid "Mail out address" msgstr "E-Mail-Ausgangsadresse" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "Link zur Datenschutzerklärung" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "Link zum Impressum" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "Namensformat für Anreden" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "Aktivierte Benachrichtungskanäle" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 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:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "Feld um Primärgruppen zu finden" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "Erstelle automatisch neue Personen für neue Benutzer" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 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:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "Sichtbarer Name der Schule" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 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" -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "Erlaube Benutzern, ihr Passwort zu ändern" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "Registrierung aktivieren" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +#, fuzzy +#| msgid "Can list oauth applications" +msgid "Allowed Grant Flows for OAuth applications" +msgstr "Can OAuth-Anwendungen auflisten" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "Verfügbare Sprachen" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "E-Mails versenden, wenn Datenprüfungen Probleme finden" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "E-Mailempfänger für Datenprüfungsproblem-E-Mails" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "E-Mail-Empfängergruppen für Datenprüfungsproblem-E-Mails" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "Zeige Dashboard für Benutzer ohne Login" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "Erlaube Benutzern, ihr Dashboard zu bearbeiten" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 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:350 +#: aleksis/core/preferences.py:364 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:363 +#: aleksis/core/preferences.py:377 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:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "PDF-Datei-Ablaufdauer" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "in Minuten" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "Automatisch das Dashboard und seine Widgets aktualisieren" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "Automatisch das Dashboard und seine Widgets aktualisieren (auf der ganzen Seite)" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "Englisch" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "Deutsch" @@ -1092,23 +1130,24 @@ msgstr "Deutsch" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "Bearbeiten" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 msgid "Actions" msgstr "Aktionen" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "Löschen" @@ -1485,19 +1524,19 @@ msgstr "Empfänger" msgid "There are no announcements." msgstr "Es gibt aktuell keine Ankündigungen." -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "Angemeldet als" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "Über AlekSIS — The Free School Information System" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "Impressum" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "Datenschutzerklärung" @@ -1719,7 +1758,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -2129,6 +2168,59 @@ msgstr "" " die Verwaltenden von AlekSIS an Ihrer Schule.\n" " " +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +#, fuzzy +#| msgid "Selected persons" +msgid "Selected permission" +msgstr "Ausgewählte Personen" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +#, fuzzy +#| msgid "Global Search" +msgid "Global (user)" +msgstr "Globale Suche" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +#, fuzzy +#| msgid "Selected groups" +msgid "Object (group)" +msgstr "Ausgewählte Gruppen" + +#: aleksis/core/templates/core/perms/list.html:52 +#, fuzzy +#| msgid "Filter persons" +msgid "Filter permissions" +msgstr "Personen filtern" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "Aktualisieren" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2150,7 +2242,7 @@ msgstr "Verkleiden" msgid "Contact details" msgstr "Kontaktdetails" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "Kinder" @@ -2190,60 +2282,66 @@ msgstr "Einstellungen für %(instance)s" msgid "Save preferences" msgstr "Einstellungen speichern" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" -msgstr "Anwendung löschen" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, 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?" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +#, fuzzy +#| msgid "Create OAuth2 Application" +msgid "Register OAuth2 Application" +msgstr "OAuth2-Anwendung erstellen" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +#, fuzzy +#| msgid "OAuth2 Applications" +msgid "OAuth2 Application" +msgstr "OAuth2-Anwendungen" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "Client-ID" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "Client-Secret" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "Client-Typ" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" -msgstr "Authorization Grant-Typ" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" +msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "Weiterleitungs-URLs" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "OAuth2-Anwendung erstellen" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 -msgid "Edit application" -msgstr "Anwendung bearbeiten" +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 +#, fuzzy +#| msgid "Authentication" +msgid "Skip Authorisation" +msgstr "Authentifizierung" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 -msgid "OAuth2 applications" +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 +#, fuzzy +#| msgid "OAuth2 Applications" +msgid "Edit OAuth2 Application" msgstr "OAuth2-Anwendungen" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +#, fuzzy +#| msgid "Register new applications" +msgid "Register new application" msgstr "Neue Anwendungen registrieren" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "Keine Anwendungen definiert." @@ -2657,10 +2755,8 @@ msgid "" " " 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" " " @@ -2810,8 +2906,7 @@ 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 @@ -3022,111 +3117,167 @@ msgstr "Es ist ein Fehler beim Generieren der PDF-Datei aufgetreten." msgid "Download PDF" msgstr "PDF herunterladen" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "Das Schuljahr wurde erstellt." -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "Das Schuljahr wurde gespeichert." -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "Die Untergruppen wurden gespeichert." -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "Die Person wurde gespeichert." -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "Die Gruppe wurde gespeichert." -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "Die Ankündigung wurde gespeichert." -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "Ankündigung wurde gelöscht." -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "Die Einstellungen wurde gespeichert." -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "Die Person wurde gelöscht." -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "Die Gruppe wurde gelöscht." -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "Das zusätzliche Feld wurde gespeichert." -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "Das zusätzliche Feld wurde gelöscht." -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "Der Gruppentyp wurde gespeichert." -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "Der Gruppentyp wurde gelöscht." -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "Fortschritt: Datenprüfungen ausführen" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 msgid "Run data checks …" msgstr "Datenprüfungen laufen …" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "Die Datenprüfungen wurden erfolgreich ausgeführt." -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "Es gab ein Problem beim Ausführen der Datenprüfungen." -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, 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:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "Das Dashboard-Widget wurde gespeichert." -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "Das Dashboard-Widget wurde erstellt." -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "Das Dashboard-Widget wurde gelöscht." -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "Ihre Dashboardkonfiguration wurde erfolgreich gespeichert." -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "Die Konfiguration des Standard-Dashboardes wurde erfolgreich gespeichert." -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +#, fuzzy +#| msgid "The person has been deleted." +msgid "The global user permission has been deleted." +msgstr "Die Person wurde gelöscht." + +#: aleksis/core/views.py:1159 +#, fuzzy +#| msgid "The group type has been deleted." +msgid "The global group permission has been deleted." +msgstr "Der Gruppentyp wurde gelöscht." + +#: aleksis/core/views.py:1169 +#, fuzzy +#| msgid "The person has been deleted." +msgid "The object user permission has been deleted." +msgstr "Die Person wurde gelöscht." + +#: aleksis/core/views.py:1179 +#, fuzzy +#| msgid "The group type has been deleted." +msgid "The object group permission has been deleted." +msgstr "Der Gruppentyp wurde gelöscht." + +#: aleksis/core/views.py:1298 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:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "Das Drittanbieter-Konto wurde erfolgreich getrennt." +#~ msgid "Can add oauth applications" +#~ msgstr "Kann OAuth-Anwendungen hinzufügen" + +#~ msgid "Can view oauth applications" +#~ msgstr "Kann OAuth-Anwendungen sehen" + +#~ msgid "Can update oauth applications" +#~ msgstr "Kann OAuth-Anwendungen aktualisieren" + +#~ msgid "Can delete oauth applications" +#~ msgstr "Kann OAuth-Anwendungen löschen" + +#~ msgid "Delete application" +#~ msgstr "Anwendung löschen" + +#, 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?" + +#~ msgid "Authorization Grant Type" +#~ msgstr "Authorization Grant-Typ" + +#~ msgid "Edit application" +#~ msgstr "Anwendung bearbeiten" + +#~ msgid "OAuth2 applications" +#~ msgstr "OAuth2-Anwendungen" + #~ msgid "Persons and accounts" #~ msgstr "Personen und Konten" @@ -3154,9 +3305,6 @@ msgstr "Das Drittanbieter-Konto wurde erfolgreich getrennt." #~ " eingegebenen Benutzernamen und kopiert alle anderen Daten der Person.\n" #~ " " -#~ msgid "Update" -#~ msgstr "Aktualisieren" - #~ msgid "Existing account" #~ msgstr "Existierendes Konto" diff --git a/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po b/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po index 6bbb636d795adbbe19acdf95ed873b27814d9284..f104a1ea290e906c7f0e1d5d37aca398a16241e9 100644 --- a/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po +++ b/aleksis/core/locale/de_DE/LC_MESSAGES/djangojs.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-28 17:53+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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" +"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-core-js/de/>\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -33,6 +32,4 @@ msgstr "OK" #: aleksis/core/static/js/main.js:127 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." +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 3c118dd9a39119c4615e68b5f729d60de3726bff..785f1ea6d42cdd2a00b6718d02a6ea578fe547fe 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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,25 +18,25 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.4\n" -#: aleksis/core/apps.py:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 msgid "Given name, family name, link to profile and picture if existing." msgstr "" -#: aleksis/core/apps.py:152 +#: aleksis/core/apps.py:153 msgid "Full home postal address" msgstr "" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 #, fuzzy #| msgid "Contact details" msgid "Email address" msgstr "Détails de contact" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 msgid "Home and mobile phone" msgstr "" @@ -61,8 +61,8 @@ msgstr "" msgid "The DashboardWidget was reported broken automatically." msgstr "" -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -70,64 +70,80 @@ msgstr "" msgid "Search" msgstr "" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 #, fuzzy #| msgid "Contact details" msgid "Search by contact details" msgstr "Détails de contact" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +msgid "Permission" +msgstr "" + +#: aleksis/core/filters.py:99 +msgid "Content type" +msgstr "" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "groupe" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 msgid "Address" msgstr "" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 #, fuzzy #| msgid "Contact details" msgid "Contact data" msgstr "Détails de contact" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 #, fuzzy #| msgid "Contact details" msgid "Advanced personal data" msgstr "Détails de contact" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "Create a new account" msgstr "" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 msgid "You cannot set a new username when also selecting an existing user." msgstr "" -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "Cet nom est deja en utilisation." -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 #, fuzzy #| msgid "Contact details" msgid "Common data" msgstr "Détails de contact" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 #, fuzzy @@ -135,83 +151,107 @@ msgstr "Détails de contact" msgid "Persons" msgstr "Personne" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 #, fuzzy #| msgid "Contact details" msgid "Additional data" msgstr "Détails de contact" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "Date" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 #, fuzzy #| msgid "Group" msgid "Groups" msgstr "Groupe" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 msgid "You are not allowed to create announcements which are only valid in the past." msgstr "" -#: aleksis/core/forms.py:266 +#: aleksis/core/forms.py:281 msgid "The from date and time must be earlier then the until date and time." msgstr "" -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "" -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +msgid "Who should get the permission?" +msgstr "" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 #, fuzzy #| msgid "Contact details" msgid "Account data" msgstr "Détails de contact" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, python-brace-format msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them." msgstr "" -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "" -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "" @@ -256,30 +296,30 @@ msgstr "" msgid "Dashboard" msgstr "" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -291,87 +331,92 @@ msgstr "" msgid "Change password" msgstr "" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 msgid "Third-party accounts" msgstr "" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: 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:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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:149 +#: aleksis/core/menus.py:154 #: 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:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 msgid "Configuration" msgstr "" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: aleksis/core/templates/core/group_type/list.html:8 #: aleksis/core/templates/core/group_type/list.html:9 #, fuzzy @@ -379,765 +424,751 @@ msgstr "" msgid "Group types" msgstr "Groupe" -#: aleksis/core/menus.py:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: 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:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 msgid "Linked school term" msgstr "" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 msgid "IP address" msgstr "" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 #, fuzzy #| msgid "Contact details" msgid "Start date" msgstr "Détails de contact" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 msgid "There is already a school term for this time or a part of this time." msgstr "" -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "Personne" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 #, fuzzy #| msgid "Contact details" msgid "Can view address" msgstr "Détails de contact" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 #, fuzzy #| msgid "Contact details" msgid "Can view contact details" msgstr "Détails de contact" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 #, fuzzy #| msgid "Contact details" msgid "Can view photo" msgstr "Détails de contact" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 #, fuzzy #| msgid "Contact details" msgid "Can view persons groups" msgstr "Détails de contact" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 #, fuzzy #| msgid "Contact details" msgid "Can view personal details" msgstr "Détails de contact" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 msgid "Is person active?" msgstr "" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "Prénom" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "Nom de famille" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 #, fuzzy #| msgid "First name" msgid "Short name" msgstr "Prénom" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "Date d'anniversaire" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +#, fuzzy +#| msgid "Date of birth" +msgid "Place of birth" +msgstr "Date d'anniversaire" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "Sexe" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "Description" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 msgid "Addtitional field for groups" msgstr "" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 msgid "Addtitional fields for groups" msgstr "" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "groupe" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 #, fuzzy #| msgid "Contact details" msgid "Can view statistics about group." msgstr "Détails de contact" -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 #, fuzzy #| msgid "Last name" msgid "Long name" msgstr "Nom de famille" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "Propriétaires" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 msgid "Notification" msgstr "" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 msgid "Announcement" msgstr "" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 msgid "Announcement recipient" msgstr "" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 msgid "Announcement recipients" msgstr "" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 msgid "Widget Title" msgstr "" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 msgid "Widget is broken" msgstr "" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 msgid "Can edit default dashboard" msgstr "" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 msgid "Dashboard Widget" msgstr "" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 msgid "Dashboard Widgets" msgstr "" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 msgid "Icon URL" msgstr "" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 msgid "Dashboard widget" msgstr "" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 msgid "Dashboard widget order" msgstr "" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 msgid "Dashboard widget orders" msgstr "" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 #, fuzzy #| msgid "Group" msgid "Group type" msgstr "Groupe" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 #, fuzzy #| msgid "Contact details" msgid "Can view system status" msgstr "Détails de contact" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 msgid "Can manage data" msgstr "" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 #, fuzzy #| msgid "Contact details" msgid "Can impersonate" msgstr "Détails de contact" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "" - -#: aleksis/core/models.py:980 -#, fuzzy -#| msgid "Contact details" -msgid "Can view oauth applications" -msgstr "Détails de contact" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 msgid "Notification sent" msgstr "" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 #, fuzzy #| msgid "Owners" msgid "Owner" msgstr "Propriétaires" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "" -#: aleksis/core/preferences.py:22 -msgid "General" +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" msgstr "" #: aleksis/core/preferences.py:23 -msgid "School" +msgid "General" msgstr "" #: aleksis/core/preferences.py:24 -msgid "Theme" +msgid "School" msgstr "" #: aleksis/core/preferences.py:25 +msgid "Theme" +msgstr "" + +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 #, fuzzy #| msgid "Contact details" msgid "Accounts" msgstr "Détails de contact" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 msgid "Authentication" msgstr "" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 msgid "Internationalisation" msgstr "" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 #, fuzzy #| msgid "Description" msgid "Site description" msgstr "Description" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 msgid "Logo" msgstr "" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 msgid "PWA-Icon" msgstr "" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 #, fuzzy #| msgid "Last name" msgid "Mail out name" msgstr "Nom de famille" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 msgid "Mail out address" msgstr "" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 msgid "Regular expression to match primary group, e.g. '^Class .*'" msgstr "" -#: aleksis/core/preferences.py:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 msgid "Automatically link existing persons to new users by their e-mail address" msgstr "" -#: aleksis/core/preferences.py:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 msgid "Official name of the school, e.g. as given by supervisory authority" msgstr "" -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +#, fuzzy +#| msgid "Contact details" +msgid "Allowed Grant Flows for OAuth applications" +msgstr "Détails de contact" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 msgid "Fields on person model which are editable by themselves." msgstr "" -#: aleksis/core/preferences.py:350 +#: aleksis/core/preferences.py:364 msgid "Editable fields on person model which should trigger a notification on change" msgstr "" -#: aleksis/core/preferences.py:363 +#: aleksis/core/preferences.py:377 msgid "Contact for notification if a person changes their data" msgstr "" -#: aleksis/core/preferences.py:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "" @@ -1145,23 +1176,24 @@ msgstr "" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 msgid "Actions" msgstr "" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "" @@ -1478,19 +1510,19 @@ msgstr "" msgid "There are no announcements." msgstr "" -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "" @@ -1687,7 +1719,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -2050,6 +2082,53 @@ msgid "" " " msgstr "" +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +#, fuzzy +#| msgid "Contact details" +msgid "Selected permission" +msgstr "Détails de contact" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +msgid "Global (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +msgid "Object (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:52 +msgid "Filter permissions" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2075,7 +2154,7 @@ msgstr "Détails de contact" msgid "Contact details" msgstr "Détails de contact" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "" @@ -2115,60 +2194,62 @@ msgstr "" msgid "Save preferences" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, python-format -msgid "Are you sure to delete the application %(application_name)s?" -msgstr "" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +#, fuzzy +#| msgid "Contact details" +msgid "Register OAuth2 Application" +msgstr "Détails de contact" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +#, fuzzy +#| msgid "Contact details" +msgid "OAuth2 Application" +msgstr "Détails de contact" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 -msgid "Edit application" +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 +msgid "Skip Authorisation" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 -msgid "OAuth2 applications" -msgstr "" +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 +#, fuzzy +#| msgid "Contact details" +msgid "Edit OAuth2 Application" +msgstr "Détails de contact" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +msgid "Register new application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "" @@ -2799,108 +2880,128 @@ msgstr "" msgid "Download PDF" msgstr "" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "" -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "" -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "" -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "" -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "" -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "" -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "" -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "" -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "" -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "" -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "" -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "" -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "" -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "" -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 msgid "Run data checks …" msgstr "" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "" -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "" -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, python-brace-format msgid "The solve option '{solve_option_obj.verbose_name}' " msgstr "" -#: aleksis/core/views.py:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "" -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "" -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "" -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "" -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "" -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +msgid "The global user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1159 +msgid "The global group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1169 +msgid "The object user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1179 +msgid "The object group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1298 msgid "The third-party account could not be disconnected because it is the only login method available." msgstr "" -#: aleksis/core/views.py:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "" diff --git a/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po b/aleksis/core/locale/fr/LC_MESSAGES/djangojs.po index bbd51395a6ee28d076da3de7bd4d65b198574194..d92f36a6a9ed2888791de39ed7c9db3bdfe7f8dc 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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" diff --git a/aleksis/core/locale/la/LC_MESSAGES/django.po b/aleksis/core/locale/la/LC_MESSAGES/django.po index c34a5cc0811a09a7a1b1bf4430463e56cff5be3f..0f4d9b00d9560e0140e6242ec635d51b278c1271 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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,27 +18,27 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.3.2\n" -#: aleksis/core/apps.py:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 msgid "Given name, family name, link to profile and picture if existing." msgstr "" -#: aleksis/core/apps.py:152 +#: aleksis/core/apps.py:153 #, fuzzy #| msgid "E-mail address" msgid "Full home postal address" msgstr "Inscriptio electronica" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 #, fuzzy #| msgid "E-mail address" msgid "Email address" msgstr "Inscriptio electronica" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 #, fuzzy #| msgid "Mobile phone" msgid "Home and mobile phone" @@ -67,8 +67,8 @@ msgstr "" msgid "The DashboardWidget was reported broken automatically." msgstr "" -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -76,144 +76,186 @@ msgstr "" msgid "Search" msgstr "Quaerere" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "Quaerere cum breve nomine" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 #, fuzzy #| msgid "E-mail address" msgid "Search by contact details" msgstr "Inscriptio electronica" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +msgid "Permission" +msgstr "" + +#: aleksis/core/filters.py:99 +msgid "Content type" +msgstr "" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "Grex" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 #, fuzzy #| msgid "E-mail address" msgid "Address" msgstr "Inscriptio electronica" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 msgid "Contact data" msgstr "" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 msgid "Advanced personal data" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 #, fuzzy #| msgid "Persons and accounts" msgid "Create a new account" msgstr "Personae et computi" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 msgid "You cannot set a new username when also selecting an existing user." msgstr "" -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "" -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "Anus scolae" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 #, fuzzy #| msgid "Data management" msgid "Common data" msgstr "Adminstratio datarum" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 msgid "Persons" msgstr "personae" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 #, fuzzy #| msgid "Additional name(s)" msgid "Additional data" msgstr "addita nomines" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "dies" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "tempus" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 msgid "Groups" msgstr "Greges" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "Quis nuntium videatne?" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "Scribe nuntium:" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 msgid "You are not allowed to create announcements which are only valid in the past." msgstr "" -#: aleksis/core/forms.py:266 +#: aleksis/core/forms.py:281 msgid "The from date and time must be earlier then the until date and time." msgstr "" -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "" -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +#, fuzzy +#| msgid "Who should see the announcement?" +msgid "Who should get the permission?" +msgstr "Quis nuntium videatne?" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 #, fuzzy #| msgid "Data management" msgid "Account data" msgstr "Adminstratio datarum" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, python-brace-format msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them." msgstr "" -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "" -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "" @@ -260,30 +302,30 @@ msgstr "" msgid "Dashboard" msgstr "Forum" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "Nuntii" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "Simulandum aliquem finire" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "nomen retractare" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -295,22 +337,22 @@ msgstr "" msgid "Change password" msgstr "" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 #, fuzzy #| msgid "Persons and accounts" msgid "Third-party accounts" msgstr "Personae et computi" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5 #: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6 #, fuzzy @@ -318,23 +360,23 @@ msgstr "Personae et computi" msgid "Authorized applications" msgstr "Nuntii" -#: aleksis/core/menus.py:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "Administratio" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "Nuntii" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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:149 +#: aleksis/core/menus.py:154 #: aleksis/core/templates/core/dashboard_widget/list.html:8 #: aleksis/core/templates/core/dashboard_widget/list.html:9 #, fuzzy @@ -342,52 +384,57 @@ msgstr "ani scolae" msgid "Dashboard widgets" msgstr "Forum" -#: aleksis/core/menus.py:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "Simulare aliquem" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 #, fuzzy #| msgid "Notification" msgid "Configuration" msgstr "Nuntius" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "Personae" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: aleksis/core/templates/core/group_type/list.html:8 #: aleksis/core/templates/core/group_type/list.html:9 #, fuzzy @@ -395,11 +442,11 @@ msgstr "Personae" msgid "Group types" msgstr "Greges" -#: aleksis/core/menus.py:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: aleksis/core/templates/core/additional_field/list.html:8 #: aleksis/core/templates/core/additional_field/list.html:9 #, fuzzy @@ -407,797 +454,783 @@ msgstr "" msgid "Additional fields" msgstr "addita nomines" -#: aleksis/core/menus.py:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 #, fuzzy #| msgid "Edit school term" msgid "Linked school term" msgstr "Muta anum scolae" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "Dies et hora" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "Inscriptio electronica" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 #, fuzzy #| msgid "E-mail address" msgid "IP address" msgstr "Inscriptio electronica" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "Nomen" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 msgid "Start date" msgstr "" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 msgid "There is already a school term for this time or a part of this time." msgstr "" -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "Persona" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 #, fuzzy #| msgid "E-mail address" msgid "Can view address" msgstr "Inscriptio electronica" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 #, fuzzy #| msgid "E-mail address" msgid "Can view contact details" msgstr "Inscriptio electronica" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 #, fuzzy #| msgid "E-mail address" msgid "Can view photo" msgstr "Inscriptio electronica" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 #, fuzzy #| msgid "Persons and accounts" msgid "Can view persons groups" msgstr "Personae et computi" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 #, fuzzy #| msgid "Stop impersonation" msgid "Can view personal details" msgstr "Simulandum aliquem finire" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "femininum" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "maskulinum" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 #, fuzzy #| msgid "Impersonation" msgid "Is person active?" msgstr "Simulare aliquem" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "Primus nomen" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "Secondus nomen" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "addita nomines" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 msgid "Short name" msgstr "Breve nomen" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "Via" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "Numerus domini" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "Numerus directorius" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "Urbs" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "Numerus telephoni domi" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "Numerus telephoni mobilis" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "Dies natalis" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +#, fuzzy +#| msgid "Date of birth" +msgid "Place of birth" +msgstr "Dies natalis" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "Genus" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "Photographia" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "Parentes" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "Descriptio" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 #, fuzzy #| msgid "Additional name(s)" msgid "Addtitional field for groups" msgstr "addita nomines" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 #, fuzzy #| msgid "Additional name(s)" msgid "Addtitional fields for groups" msgstr "addita nomines" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "Grex" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 #, fuzzy #| msgid "Persons and accounts" msgid "Can view statistics about group." msgstr "Personae et computi" -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 #, fuzzy #| msgid "Last name" msgid "Long name" msgstr "Secondus nomen" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "Titulus" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "Mittens" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 #, fuzzy #| msgid "Notifications" msgid "Notification" msgstr "Nuntii" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 #, fuzzy #| msgid "Announcements" msgid "Announcement" msgstr "Nuntii" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 #, fuzzy #| msgid "Announcements" msgid "Announcement recipient" msgstr "Nuntii" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 #, fuzzy #| msgid "Announcements" msgid "Announcement recipients" msgstr "Nuntii" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 #, fuzzy #| msgid "Site title" msgid "Widget Title" msgstr "Titulus paginae" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 #, fuzzy #| msgid "Site title" msgid "Widget is broken" msgstr "Titulus paginae" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 #, fuzzy #| msgid "Dashboard" msgid "Can edit default dashboard" msgstr "Forum" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 #, fuzzy #| msgid "Dashboard" msgid "Dashboard Widget" msgstr "Forum" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 #, fuzzy #| msgid "Dashboard" msgid "Dashboard Widgets" msgstr "Forum" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 #, fuzzy #| msgid "Icon" msgid "Icon URL" msgstr "Nota" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 #, fuzzy #| msgid "Dashboard" msgid "Dashboard widget" msgstr "Forum" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 #, fuzzy #| msgid "Dashboard" msgid "Dashboard widget order" msgstr "Forum" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 #, fuzzy #| msgid "Dashboard" msgid "Dashboard widget orders" msgstr "Forum" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "Nota" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 #, fuzzy #| msgid "Group" msgid "Group type" msgstr "Grex" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 #, fuzzy #| msgid "System status" msgid "Can view system status" msgstr "Status systemae" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 #, fuzzy #| msgid "Data management" msgid "Can manage data" msgstr "Adminstratio datarum" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 #, fuzzy #| msgid "Stop impersonation" msgid "Can impersonate" msgstr "Simulandum aliquem finire" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "" - -#: aleksis/core/models.py:980 -#, fuzzy -#| msgid "E-mail address" -msgid "Can view oauth applications" -msgstr "Inscriptio electronica" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 #, fuzzy #| msgid "Notifications" msgid "Notification sent" msgstr "Nuntii" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 msgid "Owner" msgstr "" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "" -#: aleksis/core/preferences.py:22 -msgid "General" +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" msgstr "" #: aleksis/core/preferences.py:23 +msgid "General" +msgstr "" + +#: aleksis/core/preferences.py:24 msgid "School" msgstr "Scola" -#: aleksis/core/preferences.py:24 +#: aleksis/core/preferences.py:25 msgid "Theme" msgstr "" -#: aleksis/core/preferences.py:25 +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 #, fuzzy #| msgid "Data management" msgid "Accounts" msgstr "Adminstratio datarum" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 #, fuzzy #| msgid "Notifications" msgid "Authentication" msgstr "Nuntii" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 #, fuzzy #| msgid "Impersonation" msgid "Internationalisation" msgstr "Simulare aliquem" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "Titulus paginae" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 msgid "Site description" msgstr "Descriptio paginae" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 #, fuzzy #| msgid "Logout" msgid "Logo" msgstr "nomen retractare" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 #, fuzzy #| msgid "Icon" msgid "PWA-Icon" msgstr "Nota" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 #, fuzzy #| msgid "Last name" msgid "Mail out name" msgstr "Secondus nomen" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 #, fuzzy #| msgid "E-mail address" msgid "Mail out address" msgstr "Inscriptio electronica" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 msgid "Regular expression to match primary group, e.g. '^Class .*'" msgstr "" -#: aleksis/core/preferences.py:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 msgid "Automatically link existing persons to new users by their e-mail address" msgstr "" -#: aleksis/core/preferences.py:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 msgid "Official name of the school, e.g. as given by supervisory authority" msgstr "Officialis nomen scolae, e. g." -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +#, fuzzy +#| msgid "E-mail address" +msgid "Allowed Grant Flows for OAuth applications" +msgstr "Inscriptio electronica" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 msgid "Fields on person model which are editable by themselves." msgstr "" -#: aleksis/core/preferences.py:350 +#: aleksis/core/preferences.py:364 msgid "Editable fields on person model which should trigger a notification on change" msgstr "" -#: aleksis/core/preferences.py:363 +#: aleksis/core/preferences.py:377 msgid "Contact for notification if a person changes their data" msgstr "" -#: aleksis/core/preferences.py:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "Britannicus" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "Germanus" @@ -1205,11 +1238,12 @@ msgstr "Germanus" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 #, fuzzy #| msgid "Notifications" @@ -1218,12 +1252,12 @@ msgstr "Nuntii" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "" @@ -1558,19 +1592,19 @@ msgstr "" msgid "There are no announcements." msgstr "Scribe nuntium:" -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "" @@ -1775,7 +1809,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -2154,6 +2188,53 @@ msgid "" " " msgstr "" +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +#, fuzzy +#| msgid "Stop impersonation" +msgid "Selected permission" +msgstr "Simulandum aliquem finire" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +msgid "Global (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +msgid "Object (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:52 +msgid "Filter permissions" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2179,7 +2260,7 @@ msgstr "Simulare aliquem" msgid "Contact details" msgstr "" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "" @@ -2221,64 +2302,66 @@ msgstr "" msgid "Save preferences" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, python-format -msgid "Are you sure to delete the application %(application_name)s?" -msgstr "" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +#, fuzzy +#| msgid "Notifications" +msgid "Register OAuth2 Application" +msgstr "Nuntii" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +#, fuzzy +#| msgid "Notifications" +msgid "OAuth2 Application" +msgstr "Nuntii" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 #, fuzzy -#| msgid "Edit school information" -msgid "Edit application" -msgstr "Muta informationes scolae" +#| msgid "Notifications" +msgid "Skip Authorisation" +msgstr "Nuntii" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 #, fuzzy #| msgid "Notifications" -msgid "OAuth2 applications" +msgid "Edit OAuth2 Application" msgstr "Nuntii" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" -msgstr "" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +#, fuzzy +#| msgid "Edit school information" +msgid "Register new application" +msgstr "Muta informationes scolae" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "" @@ -2918,113 +3001,138 @@ msgstr "" msgid "Download PDF" msgstr "" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "" -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "" -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "" -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "" -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "" -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "" -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "" -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "" -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "" -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "" -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "" -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "" -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "" -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "" -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 #, fuzzy #| msgid "System status" msgid "Run data checks …" msgstr "Status systemae" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "" -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "" -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, python-brace-format msgid "The solve option '{solve_option_obj.verbose_name}' " msgstr "" -#: aleksis/core/views.py:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "" -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "" -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "" -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "" -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "" -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +msgid "The global user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1159 +msgid "The global group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1169 +msgid "The object user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1179 +msgid "The object group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1298 msgid "The third-party account could not be disconnected because it is the only login method available." msgstr "" -#: aleksis/core/views.py:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "" +#, fuzzy +#~| msgid "Notifications" +#~ msgid "OAuth2 applications" +#~ msgstr "Nuntii" + #~ msgid "Persons and accounts" #~ msgstr "Personae et computi" diff --git a/aleksis/core/locale/la/LC_MESSAGES/djangojs.po b/aleksis/core/locale/la/LC_MESSAGES/djangojs.po index dc6d028e5442a3666f35a7cb46e39e5c01cdd3f9..2458849847f712fe1cf63743640716c5b3ef561a 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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" diff --git a/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/core/locale/nb_NO/LC_MESSAGES/django.po index ae2f8d194fcacd2bae0d16bb3350dfbaa978aaee..cf83adad715c4a2b0d4b804801f281e508de8367 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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,23 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: aleksis/core/apps.py:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 msgid "Given name, family name, link to profile and picture if existing." msgstr "" -#: aleksis/core/apps.py:152 +#: aleksis/core/apps.py:153 msgid "Full home postal address" msgstr "" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 msgid "Email address" msgstr "" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 msgid "Home and mobile phone" msgstr "" @@ -58,8 +58,8 @@ msgstr "" msgid "The DashboardWidget was reported broken automatically." msgstr "" -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -67,132 +67,172 @@ msgstr "" msgid "Search" msgstr "" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 msgid "Search by contact details" msgstr "" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +msgid "Permission" +msgstr "" + +#: aleksis/core/filters.py:99 +msgid "Content type" +msgstr "" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 msgid "Address" msgstr "" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 msgid "Contact data" msgstr "" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 msgid "Advanced personal data" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "Create a new account" msgstr "" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 msgid "You cannot set a new username when also selecting an existing user." msgstr "" -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "" -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 msgid "Common data" msgstr "" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 msgid "Persons" msgstr "" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 msgid "Additional data" msgstr "" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 msgid "Groups" msgstr "" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 msgid "You are not allowed to create announcements which are only valid in the past." msgstr "" -#: aleksis/core/forms.py:266 +#: aleksis/core/forms.py:281 msgid "The from date and time must be earlier then the until date and time." msgstr "" -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "" -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +msgid "Who should get the permission?" +msgstr "" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 msgid "Account data" msgstr "" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, python-brace-format msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them." msgstr "" -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "" -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "" @@ -237,30 +277,30 @@ msgstr "" msgid "Dashboard" msgstr "" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -272,817 +312,806 @@ msgstr "" msgid "Change password" msgstr "" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 msgid "Third-party accounts" msgstr "" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: 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:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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:149 +#: aleksis/core/menus.py:154 #: 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:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 msgid "Configuration" msgstr "" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: 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:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: 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:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 msgid "Linked school term" msgstr "" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 msgid "IP address" msgstr "" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 msgid "Start date" msgstr "" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 msgid "There is already a school term for this time or a part of this time." msgstr "" -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 msgid "Can view address" msgstr "" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 msgid "Can view contact details" msgstr "" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 msgid "Can view photo" msgstr "" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 msgid "Can view persons groups" msgstr "" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 msgid "Can view personal details" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 msgid "Is person active?" msgstr "" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 msgid "Short name" msgstr "" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +msgid "Place of birth" +msgstr "" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 msgid "Addtitional field for groups" msgstr "" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 msgid "Addtitional fields for groups" msgstr "" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 msgid "Can view statistics about group." msgstr "" -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 msgid "Long name" msgstr "" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 msgid "Notification" msgstr "" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 msgid "Announcement" msgstr "" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 msgid "Announcement recipient" msgstr "" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 msgid "Announcement recipients" msgstr "" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 msgid "Widget Title" msgstr "" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 msgid "Widget is broken" msgstr "" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 msgid "Can edit default dashboard" msgstr "" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 msgid "Dashboard Widget" msgstr "" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 msgid "Dashboard Widgets" msgstr "" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 msgid "Icon URL" msgstr "" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 msgid "Dashboard widget" msgstr "" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 msgid "Dashboard widget order" msgstr "" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 msgid "Dashboard widget orders" msgstr "" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 msgid "Group type" msgstr "" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 msgid "Can view system status" msgstr "" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 msgid "Can manage data" msgstr "" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 msgid "Can impersonate" msgstr "" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "" - -#: aleksis/core/models.py:980 -msgid "Can view oauth applications" -msgstr "" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 msgid "Notification sent" msgstr "" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 msgid "Owner" msgstr "" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "" -#: aleksis/core/preferences.py:22 -msgid "General" +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" msgstr "" #: aleksis/core/preferences.py:23 -msgid "School" +msgid "General" msgstr "" #: aleksis/core/preferences.py:24 -msgid "Theme" +msgid "School" msgstr "" #: aleksis/core/preferences.py:25 +msgid "Theme" +msgstr "" + +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 msgid "Accounts" msgstr "" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 msgid "Authentication" msgstr "" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 msgid "Internationalisation" msgstr "" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 msgid "Site description" msgstr "" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 msgid "Logo" msgstr "" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 msgid "PWA-Icon" msgstr "" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 msgid "Mail out name" msgstr "" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 msgid "Mail out address" msgstr "" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 msgid "Regular expression to match primary group, e.g. '^Class .*'" msgstr "" -#: aleksis/core/preferences.py:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 msgid "Automatically link existing persons to new users by their e-mail address" msgstr "" -#: aleksis/core/preferences.py:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 msgid "Official name of the school, e.g. as given by supervisory authority" msgstr "" -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +msgid "Allowed Grant Flows for OAuth applications" +msgstr "" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 msgid "Fields on person model which are editable by themselves." msgstr "" -#: aleksis/core/preferences.py:350 +#: aleksis/core/preferences.py:364 msgid "Editable fields on person model which should trigger a notification on change" msgstr "" -#: aleksis/core/preferences.py:363 +#: aleksis/core/preferences.py:377 msgid "Contact for notification if a person changes their data" msgstr "" -#: aleksis/core/preferences.py:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "" @@ -1090,23 +1119,24 @@ msgstr "" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 msgid "Actions" msgstr "" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "" @@ -1423,19 +1453,19 @@ msgstr "" msgid "There are no announcements." msgstr "" -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "" @@ -1626,7 +1656,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -1983,6 +2013,51 @@ msgid "" " " msgstr "" +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +msgid "Selected permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +msgid "Global (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +msgid "Object (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:52 +msgid "Filter permissions" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2004,7 +2079,7 @@ msgstr "" msgid "Contact details" msgstr "" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "" @@ -2044,60 +2119,56 @@ msgstr "" msgid "Save preferences" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +msgid "Register OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, python-format -msgid "Are you sure to delete the application %(application_name)s?" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +msgid "OAuth2 Application" +msgstr "" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 -msgid "Edit application" +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 +msgid "Skip Authorisation" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 -msgid "OAuth2 applications" +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 +msgid "Edit OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +msgid "Register new application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "" @@ -2724,108 +2795,128 @@ msgstr "" msgid "Download PDF" msgstr "" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "" -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "" -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "" -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "" -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "" -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "" -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "" -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "" -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "" -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "" -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "" -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "" -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "" -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "" -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 msgid "Run data checks …" msgstr "" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "" -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "" -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, python-brace-format msgid "The solve option '{solve_option_obj.verbose_name}' " msgstr "" -#: aleksis/core/views.py:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "" -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "" -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "" -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "" -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "" -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +msgid "The global user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1159 +msgid "The global group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1169 +msgid "The object user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1179 +msgid "The object group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1298 msgid "The third-party account could not be disconnected because it is the only login method available." msgstr "" -#: aleksis/core/views.py:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "" diff --git a/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po b/aleksis/core/locale/nb_NO/LC_MESSAGES/djangojs.po index dc6d028e5442a3666f35a7cb46e39e5c01cdd3f9..2458849847f712fe1cf63743640716c5b3ef561a 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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" diff --git a/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/core/locale/tr_TR/LC_MESSAGES/django.po index c1f28664922a7b5cbdac80d557c812092765b16f..018414f7c82920ea684c99d5574e52bc2a923d5a 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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,23 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: aleksis/core/apps.py:150 +#: aleksis/core/apps.py:151 msgid "OpenID Connect scope" msgstr "" -#: aleksis/core/apps.py:151 +#: aleksis/core/apps.py:152 msgid "Given name, family name, link to profile and picture if existing." msgstr "" -#: aleksis/core/apps.py:152 +#: aleksis/core/apps.py:153 msgid "Full home postal address" msgstr "" -#: aleksis/core/apps.py:153 +#: aleksis/core/apps.py:154 msgid "Email address" msgstr "" -#: aleksis/core/apps.py:154 +#: aleksis/core/apps.py:155 msgid "Home and mobile phone" msgstr "" @@ -58,8 +58,8 @@ msgstr "" msgid "The DashboardWidget was reported broken automatically." msgstr "" -#: aleksis/core/filters.py:37 aleksis/core/templates/core/base.html:83 -#: aleksis/core/templates/core/base.html:84 +#: aleksis/core/filters.py:42 aleksis/core/templates/core/base.html:104 +#: aleksis/core/templates/core/base.html:105 #: aleksis/core/templates/core/group/list.html:20 #: aleksis/core/templates/core/person/list.html:24 #: aleksis/core/templates/search/search.html:7 @@ -67,132 +67,172 @@ msgstr "" msgid "Search" msgstr "" -#: aleksis/core/filters.py:53 +#: aleksis/core/filters.py:58 msgid "Search by name" msgstr "" -#: aleksis/core/filters.py:65 +#: aleksis/core/filters.py:70 msgid "Search by contact details" msgstr "" -#: aleksis/core/forms.py:41 aleksis/core/forms.py:387 +#: aleksis/core/filters.py:91 +msgid "Permission" +msgstr "" + +#: aleksis/core/filters.py:99 +msgid "Content type" +msgstr "" + +#: aleksis/core/filters.py:112 aleksis/core/models.py:579 +msgid "User" +msgstr "" + +#: aleksis/core/filters.py:134 aleksis/core/models.py:411 +msgid "Group" +msgstr "" + +#: aleksis/core/forms.py:46 aleksis/core/forms.py:514 msgid "Base data" msgstr "" -#: aleksis/core/forms.py:47 +#: aleksis/core/forms.py:52 msgid "Address" msgstr "" -#: aleksis/core/forms.py:48 +#: aleksis/core/forms.py:53 msgid "Contact data" msgstr "" -#: aleksis/core/forms.py:50 +#: aleksis/core/forms.py:55 msgid "Advanced personal data" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "New user" msgstr "" -#: aleksis/core/forms.py:93 +#: aleksis/core/forms.py:103 msgid "Create a new account" msgstr "" -#: aleksis/core/forms.py:124 +#: aleksis/core/forms.py:134 msgid "You cannot set a new username when also selecting an existing user." msgstr "" -#: aleksis/core/forms.py:128 +#: aleksis/core/forms.py:138 msgid "This username is already in use." msgstr "" -#: aleksis/core/forms.py:145 aleksis/core/models.py:117 +#: aleksis/core/forms.py:155 aleksis/core/models.py:125 msgid "School term" msgstr "" -#: aleksis/core/forms.py:146 +#: aleksis/core/forms.py:156 msgid "Common data" msgstr "" -#: aleksis/core/forms.py:147 aleksis/core/forms.py:196 -#: aleksis/core/menus.py:238 aleksis/core/models.py:140 +#: aleksis/core/forms.py:157 aleksis/core/forms.py:208 +#: aleksis/core/menus.py:256 aleksis/core/models.py:148 #: aleksis/core/templates/core/person/list.html:8 #: aleksis/core/templates/core/person/list.html:9 msgid "Persons" msgstr "" -#: aleksis/core/forms.py:148 +#: aleksis/core/forms.py:158 msgid "Additional data" msgstr "" -#: aleksis/core/forms.py:188 aleksis/core/forms.py:191 -#: aleksis/core/models.py:60 +#: aleksis/core/forms.py:200 aleksis/core/forms.py:203 +#: aleksis/core/models.py:68 msgid "Date" msgstr "" -#: aleksis/core/forms.py:189 aleksis/core/forms.py:192 -#: aleksis/core/models.py:68 +#: aleksis/core/forms.py:201 aleksis/core/forms.py:204 +#: aleksis/core/models.py:76 msgid "Time" msgstr "" -#: aleksis/core/forms.py:209 aleksis/core/menus.py:249 -#: aleksis/core/models.py:398 aleksis/core/templates/core/group/list.html:8 +#: aleksis/core/forms.py:221 aleksis/core/menus.py:267 +#: aleksis/core/models.py:412 aleksis/core/templates/core/group/list.html:8 #: aleksis/core/templates/core/group/list.html:9 -#: aleksis/core/templates/core/person/full.html:144 +#: aleksis/core/templates/core/person/full.html:145 msgid "Groups" msgstr "" -#: aleksis/core/forms.py:219 +#: aleksis/core/forms.py:234 msgid "From when until when should the announcement be displayed?" msgstr "" -#: aleksis/core/forms.py:222 +#: aleksis/core/forms.py:237 msgid "Who should see the announcement?" msgstr "" -#: aleksis/core/forms.py:223 +#: aleksis/core/forms.py:238 msgid "Write your announcement:" msgstr "" -#: aleksis/core/forms.py:262 +#: aleksis/core/forms.py:277 msgid "You are not allowed to create announcements which are only valid in the past." msgstr "" -#: aleksis/core/forms.py:266 +#: aleksis/core/forms.py:281 msgid "The from date and time must be earlier then the until date and time." msgstr "" -#: aleksis/core/forms.py:275 +#: aleksis/core/forms.py:290 msgid "You need at least one recipient." msgstr "" -#: aleksis/core/forms.py:389 +#: aleksis/core/forms.py:411 +msgid "Who should get the permission?" +msgstr "" + +#: aleksis/core/forms.py:412 +msgid "On what?" +msgstr "" + +#: aleksis/core/forms.py:438 +msgid "Select objects which the permission should be granted for:" +msgstr "" + +#: aleksis/core/forms.py:441 +msgid "Grant the permission for all objects" +msgstr "" + +#: aleksis/core/forms.py:449 +msgid "You must select at least one group or person which should get the permission." +msgstr "" + +#: aleksis/core/forms.py:454 +msgid "You must grant the permission to all objects and/or to some objects." +msgstr "" + +#: aleksis/core/forms.py:518 msgid "Account data" msgstr "" -#: aleksis/core/forms.py:391 +#: aleksis/core/forms.py:524 msgid "Consents" msgstr "" -#: aleksis/core/forms.py:396 +#: aleksis/core/forms.py:531 msgid "Password" msgstr "" -#: aleksis/core/forms.py:402 +#: aleksis/core/forms.py:537 msgid "Password (again)" msgstr "" -#: aleksis/core/forms.py:411 +#: aleksis/core/forms.py:550 #, python-brace-format msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them." msgstr "" -#: aleksis/core/forms.py:435 +#: aleksis/core/forms.py:575 msgid "You must type the same password each time." msgstr "" -#: aleksis/core/forms.py:580 +#: aleksis/core/forms.py:720 msgid "No valid selection." msgstr "" @@ -237,30 +277,30 @@ msgstr "" msgid "Dashboard" msgstr "" -#: aleksis/core/menus.py:32 aleksis/core/models.py:605 -#: aleksis/core/preferences.py:26 +#: aleksis/core/menus.py:32 aleksis/core/models.py:625 +#: aleksis/core/preferences.py:27 #: aleksis/core/templates/core/notifications.html:4 #: aleksis/core/templates/core/notifications.html:5 msgid "Notifications" msgstr "" -#: aleksis/core/menus.py:41 +#: aleksis/core/menus.py:44 msgid "Account" msgstr "" -#: aleksis/core/menus.py:48 +#: aleksis/core/menus.py:51 msgid "Stop impersonation" msgstr "" -#: aleksis/core/menus.py:57 aleksis/core/templates/core/base.html:62 +#: aleksis/core/menus.py:60 aleksis/core/templates/core/base.html:80 msgid "Logout" msgstr "" -#: aleksis/core/menus.py:63 +#: aleksis/core/menus.py:66 msgid "2FA" msgstr "" -#: aleksis/core/menus.py:69 +#: aleksis/core/menus.py:74 #: aleksis/core/templates/account/password_change.html:5 #: aleksis/core/templates/account/password_change.html:6 #: aleksis/core/templates/account/password_change.html:19 @@ -272,817 +312,806 @@ msgstr "" msgid "Change password" msgstr "" -#: aleksis/core/menus.py:81 +#: aleksis/core/menus.py:86 msgid "Me" msgstr "" -#: aleksis/core/menus.py:90 +#: aleksis/core/menus.py:95 #: aleksis/core/templates/dynamic_preferences/form.html:5 msgid "Preferences" msgstr "" -#: aleksis/core/menus.py:99 +#: aleksis/core/menus.py:104 msgid "Third-party accounts" msgstr "" -#: aleksis/core/menus.py:108 +#: aleksis/core/menus.py:113 #: 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:119 +#: aleksis/core/menus.py:124 msgid "Admin" msgstr "" -#: aleksis/core/menus.py:127 aleksis/core/models.py:704 +#: aleksis/core/menus.py:132 aleksis/core/models.py:725 #: aleksis/core/templates/core/announcement/list.html:7 #: aleksis/core/templates/core/announcement/list.html:8 msgid "Announcements" msgstr "" -#: aleksis/core/menus.py:138 aleksis/core/models.py:118 +#: aleksis/core/menus.py:143 aleksis/core/models.py:126 #: 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:149 +#: aleksis/core/menus.py:154 #: 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:160 +#: aleksis/core/menus.py:165 #: 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:171 +#: aleksis/core/menus.py:176 #: 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:182 +#: aleksis/core/menus.py:187 msgid "Impersonation" msgstr "" -#: aleksis/core/menus.py:193 +#: aleksis/core/menus.py:198 msgid "Configuration" msgstr "" -#: aleksis/core/menus.py:204 aleksis/core/templates/core/data_check/list.html:9 +#: aleksis/core/menus.py:209 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:210 +#: aleksis/core/menus.py:215 aleksis/core/templates/core/perms/list.html:13 +#: aleksis/core/templates/core/perms/list.html:14 +msgid "Manage permissions" +msgstr "" + +#: aleksis/core/menus.py:226 msgid "Backend Admin" msgstr "" -#: aleksis/core/menus.py:216 -#: aleksis/core/templates/oauth2_provider/application_detail.html:5 -#: aleksis/core/templates/oauth2_provider/application_list.html:5 +#: aleksis/core/menus.py:234 +#: 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:229 +#: aleksis/core/menus.py:247 msgid "People" msgstr "" -#: aleksis/core/menus.py:260 aleksis/core/models.py:958 +#: aleksis/core/menus.py:278 aleksis/core/models.py:979 #: 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:271 +#: aleksis/core/menus.py:289 msgid "Groups and child groups" msgstr "" -#: aleksis/core/menus.py:282 aleksis/core/models.py:446 +#: aleksis/core/menus.py:300 aleksis/core/models.py:460 #: 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:297 +#: aleksis/core/menus.py:315 #: 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/mixins.py:498 +#: aleksis/core/mixins.py:508 msgid "Linked school term" msgstr "" -#: aleksis/core/models.py:58 +#: aleksis/core/models.py:66 msgid "Boolean (Yes/No)" msgstr "" -#: aleksis/core/models.py:59 +#: aleksis/core/models.py:67 msgid "Text (one line)" msgstr "" -#: aleksis/core/models.py:61 +#: aleksis/core/models.py:69 msgid "Date and time" msgstr "" -#: aleksis/core/models.py:62 +#: aleksis/core/models.py:70 msgid "Decimal number" msgstr "" -#: aleksis/core/models.py:63 aleksis/core/models.py:186 +#: aleksis/core/models.py:71 aleksis/core/models.py:194 msgid "E-mail address" msgstr "" -#: aleksis/core/models.py:64 +#: aleksis/core/models.py:72 msgid "Integer" msgstr "" -#: aleksis/core/models.py:65 +#: aleksis/core/models.py:73 msgid "IP address" msgstr "" -#: aleksis/core/models.py:66 +#: aleksis/core/models.py:74 msgid "Boolean or empty (Yes/No/Neither)" msgstr "" -#: aleksis/core/models.py:67 +#: aleksis/core/models.py:75 msgid "Text (multi-line)" msgstr "" -#: aleksis/core/models.py:69 +#: aleksis/core/models.py:77 msgid "URL / Link" msgstr "" -#: aleksis/core/models.py:81 aleksis/core/models.py:927 +#: aleksis/core/models.py:89 aleksis/core/models.py:948 msgid "Name" msgstr "" -#: aleksis/core/models.py:83 +#: aleksis/core/models.py:91 msgid "Start date" msgstr "" -#: aleksis/core/models.py:84 +#: aleksis/core/models.py:92 msgid "End date" msgstr "" -#: aleksis/core/models.py:103 +#: aleksis/core/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/core/models.py:110 +#: aleksis/core/models.py:118 msgid "There is already a school term for this time or a part of this time." msgstr "" -#: aleksis/core/models.py:139 aleksis/core/models.py:876 +#: aleksis/core/models.py:147 aleksis/core/models.py:897 msgid "Person" msgstr "" -#: aleksis/core/models.py:142 +#: aleksis/core/models.py:150 msgid "Can view address" msgstr "" -#: aleksis/core/models.py:143 +#: aleksis/core/models.py:151 msgid "Can view contact details" msgstr "" -#: aleksis/core/models.py:144 +#: aleksis/core/models.py:152 msgid "Can view photo" msgstr "" -#: aleksis/core/models.py:145 +#: aleksis/core/models.py:153 msgid "Can view persons groups" msgstr "" -#: aleksis/core/models.py:146 +#: aleksis/core/models.py:154 msgid "Can view personal details" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "female" msgstr "" -#: aleksis/core/models.py:156 +#: aleksis/core/models.py:164 msgid "male" msgstr "" -#: aleksis/core/models.py:164 +#: aleksis/core/models.py:172 msgid "Linked user" msgstr "" -#: aleksis/core/models.py:166 +#: aleksis/core/models.py:174 msgid "Is person active?" msgstr "" -#: aleksis/core/models.py:168 +#: aleksis/core/models.py:176 msgid "First name" msgstr "" -#: aleksis/core/models.py:169 +#: aleksis/core/models.py:177 msgid "Last name" msgstr "" -#: aleksis/core/models.py:171 +#: aleksis/core/models.py:179 msgid "Additional name(s)" msgstr "" -#: aleksis/core/models.py:175 aleksis/core/models.py:415 +#: aleksis/core/models.py:183 aleksis/core/models.py:429 msgid "Short name" msgstr "" -#: aleksis/core/models.py:178 +#: aleksis/core/models.py:186 msgid "Street" msgstr "" -#: aleksis/core/models.py:179 +#: aleksis/core/models.py:187 msgid "Street number" msgstr "" -#: aleksis/core/models.py:180 +#: aleksis/core/models.py:188 msgid "Postal code" msgstr "" -#: aleksis/core/models.py:181 +#: aleksis/core/models.py:189 msgid "Place" msgstr "" -#: aleksis/core/models.py:183 +#: aleksis/core/models.py:191 msgid "Home phone" msgstr "" -#: aleksis/core/models.py:184 +#: aleksis/core/models.py:192 msgid "Mobile phone" msgstr "" -#: aleksis/core/models.py:188 +#: aleksis/core/models.py:196 msgid "Date of birth" msgstr "" -#: aleksis/core/models.py:189 +#: aleksis/core/models.py:198 +msgid "Place of birth" +msgstr "" + +#: aleksis/core/models.py:200 msgid "Sex" msgstr "" -#: aleksis/core/models.py:191 +#: aleksis/core/models.py:202 msgid "Photo" msgstr "" -#: aleksis/core/models.py:195 aleksis/core/templates/core/person/full.html:137 +#: aleksis/core/models.py:206 aleksis/core/templates/core/person/full.html:138 msgid "Guardians / Parents" msgstr "" -#: aleksis/core/models.py:202 +#: aleksis/core/models.py:213 msgid "Primary group" msgstr "" -#: aleksis/core/models.py:205 aleksis/core/models.py:563 -#: aleksis/core/models.py:587 aleksis/core/models.py:672 -#: aleksis/core/models.py:951 aleksis/core/templates/core/person/full.html:120 +#: aleksis/core/models.py:216 aleksis/core/models.py:583 +#: aleksis/core/models.py:607 aleksis/core/models.py:692 +#: aleksis/core/models.py:972 aleksis/core/templates/core/person/full.html:121 msgid "Description" msgstr "" -#: aleksis/core/models.py:370 +#: aleksis/core/models.py:384 msgid "Title of field" msgstr "" -#: aleksis/core/models.py:372 +#: aleksis/core/models.py:386 msgid "Type of field" msgstr "" -#: aleksis/core/models.py:379 +#: aleksis/core/models.py:393 msgid "Addtitional field for groups" msgstr "" -#: aleksis/core/models.py:380 +#: aleksis/core/models.py:394 msgid "Addtitional fields for groups" msgstr "" -#: aleksis/core/models.py:397 -msgid "Group" -msgstr "" - -#: aleksis/core/models.py:400 +#: aleksis/core/models.py:414 msgid "Can assign child groups to groups" msgstr "" -#: aleksis/core/models.py:401 +#: aleksis/core/models.py:415 msgid "Can view statistics about group." msgstr "" -#: aleksis/core/models.py:413 +#: aleksis/core/models.py:427 msgid "Long name" msgstr "" -#: aleksis/core/models.py:423 aleksis/core/templates/core/group/full.html:85 +#: aleksis/core/models.py:437 aleksis/core/templates/core/group/full.html:85 msgid "Members" msgstr "" -#: aleksis/core/models.py:426 aleksis/core/templates/core/group/full.html:82 +#: aleksis/core/models.py:440 aleksis/core/templates/core/group/full.html:82 msgid "Owners" msgstr "" -#: aleksis/core/models.py:433 aleksis/core/templates/core/group/full.html:55 +#: aleksis/core/models.py:447 aleksis/core/templates/core/group/full.html:55 msgid "Parent groups" msgstr "" -#: aleksis/core/models.py:441 +#: aleksis/core/models.py:455 msgid "Type of group" msgstr "" -#: aleksis/core/models.py:559 -msgid "User" -msgstr "" - -#: aleksis/core/models.py:562 aleksis/core/models.py:586 -#: aleksis/core/models.py:671 +#: aleksis/core/models.py:582 aleksis/core/models.py:606 +#: aleksis/core/models.py:691 #: aleksis/core/templates/core/announcement/list.html:18 msgid "Title" msgstr "" -#: aleksis/core/models.py:565 +#: aleksis/core/models.py:585 msgid "Application" msgstr "" -#: aleksis/core/models.py:571 +#: aleksis/core/models.py:591 msgid "Activity" msgstr "" -#: aleksis/core/models.py:572 +#: aleksis/core/models.py:592 msgid "Activities" msgstr "" -#: aleksis/core/models.py:578 +#: aleksis/core/models.py:598 msgid "Sender" msgstr "" -#: aleksis/core/models.py:583 +#: aleksis/core/models.py:603 msgid "Recipient" msgstr "" -#: aleksis/core/models.py:588 aleksis/core/models.py:928 +#: aleksis/core/models.py:608 aleksis/core/models.py:949 msgid "Link" msgstr "" -#: aleksis/core/models.py:590 +#: aleksis/core/models.py:610 msgid "Read" msgstr "" -#: aleksis/core/models.py:591 +#: aleksis/core/models.py:611 msgid "Sent" msgstr "" -#: aleksis/core/models.py:604 +#: aleksis/core/models.py:624 msgid "Notification" msgstr "" -#: aleksis/core/models.py:673 +#: aleksis/core/models.py:693 msgid "Link to detailed view" msgstr "" -#: aleksis/core/models.py:676 +#: aleksis/core/models.py:696 msgid "Date and time from when to show" msgstr "" -#: aleksis/core/models.py:679 +#: aleksis/core/models.py:699 msgid "Date and time until when to show" msgstr "" -#: aleksis/core/models.py:703 +#: aleksis/core/models.py:724 msgid "Announcement" msgstr "" -#: aleksis/core/models.py:741 +#: aleksis/core/models.py:762 msgid "Announcement recipient" msgstr "" -#: aleksis/core/models.py:742 +#: aleksis/core/models.py:763 msgid "Announcement recipients" msgstr "" -#: aleksis/core/models.py:797 +#: aleksis/core/models.py:818 msgid "Widget Title" msgstr "" -#: aleksis/core/models.py:798 +#: aleksis/core/models.py:819 msgid "Activate Widget" msgstr "" -#: aleksis/core/models.py:799 +#: aleksis/core/models.py:820 msgid "Widget is broken" msgstr "" -#: aleksis/core/models.py:802 +#: aleksis/core/models.py:823 msgid "Size on mobile devices" msgstr "" -#: aleksis/core/models.py:803 +#: aleksis/core/models.py:824 msgid "<= 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:808 +#: aleksis/core/models.py:829 msgid "Size on tablet devices" msgstr "" -#: aleksis/core/models.py:809 +#: aleksis/core/models.py:830 msgid "> 600 px, 12 columns" msgstr "" -#: aleksis/core/models.py:814 +#: aleksis/core/models.py:835 msgid "Size on desktop devices" msgstr "" -#: aleksis/core/models.py:815 +#: aleksis/core/models.py:836 msgid "> 992 px, 12 columns" msgstr "" -#: aleksis/core/models.py:820 +#: aleksis/core/models.py:841 msgid "Size on large desktop devices" msgstr "" -#: aleksis/core/models.py:821 +#: aleksis/core/models.py:842 msgid "> 1200 px>, 12 columns" msgstr "" -#: aleksis/core/models.py:852 +#: aleksis/core/models.py:873 msgid "Can edit default dashboard" msgstr "" -#: aleksis/core/models.py:853 +#: aleksis/core/models.py:874 msgid "Dashboard Widget" msgstr "" -#: aleksis/core/models.py:854 +#: aleksis/core/models.py:875 msgid "Dashboard Widgets" msgstr "" -#: aleksis/core/models.py:860 +#: aleksis/core/models.py:881 msgid "URL" msgstr "" -#: aleksis/core/models.py:861 +#: aleksis/core/models.py:882 msgid "Icon URL" msgstr "" -#: aleksis/core/models.py:867 +#: aleksis/core/models.py:888 msgid "External link widget" msgstr "" -#: aleksis/core/models.py:868 +#: aleksis/core/models.py:889 msgid "External link widgets" msgstr "" -#: aleksis/core/models.py:873 +#: aleksis/core/models.py:894 msgid "Dashboard widget" msgstr "" -#: aleksis/core/models.py:878 +#: aleksis/core/models.py:899 msgid "Order" msgstr "" -#: aleksis/core/models.py:879 +#: aleksis/core/models.py:900 msgid "Part of the default dashboard" msgstr "" -#: aleksis/core/models.py:894 +#: aleksis/core/models.py:915 msgid "Dashboard widget order" msgstr "" -#: aleksis/core/models.py:895 +#: aleksis/core/models.py:916 msgid "Dashboard widget orders" msgstr "" -#: aleksis/core/models.py:901 +#: aleksis/core/models.py:922 msgid "Menu ID" msgstr "" -#: aleksis/core/models.py:914 +#: aleksis/core/models.py:935 msgid "Custom menu" msgstr "" -#: aleksis/core/models.py:915 +#: aleksis/core/models.py:936 msgid "Custom menus" msgstr "" -#: aleksis/core/models.py:925 +#: aleksis/core/models.py:946 msgid "Menu" msgstr "" -#: aleksis/core/models.py:929 +#: aleksis/core/models.py:950 msgid "Icon" msgstr "" -#: aleksis/core/models.py:935 +#: aleksis/core/models.py:956 msgid "Custom menu item" msgstr "" -#: aleksis/core/models.py:936 +#: aleksis/core/models.py:957 msgid "Custom menu items" msgstr "" -#: aleksis/core/models.py:950 +#: aleksis/core/models.py:971 msgid "Title of type" msgstr "" -#: aleksis/core/models.py:957 aleksis/core/templates/core/group/full.html:47 +#: aleksis/core/models.py:978 aleksis/core/templates/core/group/full.html:47 msgid "Group type" msgstr "" -#: aleksis/core/models.py:971 +#: aleksis/core/models.py:992 msgid "Can view system status" msgstr "" -#: aleksis/core/models.py:972 +#: aleksis/core/models.py:993 msgid "Can manage data" msgstr "" -#: aleksis/core/models.py:973 +#: aleksis/core/models.py:994 msgid "Can impersonate" msgstr "" -#: aleksis/core/models.py:974 +#: aleksis/core/models.py:995 msgid "Can use search" msgstr "" -#: aleksis/core/models.py:975 +#: aleksis/core/models.py:996 msgid "Can change site preferences" msgstr "" -#: aleksis/core/models.py:976 +#: aleksis/core/models.py:997 msgid "Can change person preferences" msgstr "" -#: aleksis/core/models.py:977 +#: aleksis/core/models.py:998 msgid "Can change group preferences" msgstr "" -#: aleksis/core/models.py:978 -msgid "Can add oauth applications" -msgstr "" - -#: aleksis/core/models.py:979 -msgid "Can list oauth applications" -msgstr "" - -#: aleksis/core/models.py:980 -msgid "Can view oauth applications" -msgstr "" - -#: aleksis/core/models.py:981 -msgid "Can update oauth applications" -msgstr "" - -#: aleksis/core/models.py:982 -msgid "Can delete oauth applications" -msgstr "" - -#: aleksis/core/models.py:983 +#: aleksis/core/models.py:999 msgid "Can test PDF generation" msgstr "" -#: aleksis/core/models.py:1019 +#: aleksis/core/models.py:1035 msgid "Related data check task" msgstr "" -#: aleksis/core/models.py:1027 +#: aleksis/core/models.py:1043 msgid "Issue solved" msgstr "" -#: aleksis/core/models.py:1028 +#: aleksis/core/models.py:1044 msgid "Notification sent" msgstr "" -#: aleksis/core/models.py:1041 +#: aleksis/core/models.py:1057 msgid "Data check result" msgstr "" -#: aleksis/core/models.py:1042 +#: aleksis/core/models.py:1058 msgid "Data check results" msgstr "" -#: aleksis/core/models.py:1044 +#: aleksis/core/models.py:1060 msgid "Can run data checks" msgstr "" -#: aleksis/core/models.py:1045 +#: aleksis/core/models.py:1061 msgid "Can solve data check problems" msgstr "" -#: aleksis/core/models.py:1060 +#: aleksis/core/models.py:1076 msgid "Owner" msgstr "" -#: aleksis/core/models.py:1064 +#: aleksis/core/models.py:1080 msgid "File expires at" msgstr "" -#: aleksis/core/models.py:1066 +#: aleksis/core/models.py:1082 msgid "Generated HTML file" msgstr "" -#: aleksis/core/models.py:1068 +#: aleksis/core/models.py:1084 msgid "Generated PDF file" msgstr "" -#: aleksis/core/models.py:1075 +#: aleksis/core/models.py:1091 msgid "PDF file" msgstr "" -#: aleksis/core/models.py:1076 +#: aleksis/core/models.py:1092 msgid "PDF files" msgstr "" -#: aleksis/core/models.py:1081 +#: aleksis/core/models.py:1097 msgid "Task result" msgstr "" -#: aleksis/core/models.py:1084 +#: aleksis/core/models.py:1100 msgid "Task user" msgstr "" -#: aleksis/core/models.py:1096 +#: aleksis/core/models.py:1112 msgid "Task user assignment" msgstr "" -#: aleksis/core/models.py:1097 +#: aleksis/core/models.py:1113 msgid "Task user assignments" msgstr "" -#: aleksis/core/preferences.py:22 -msgid "General" +#: aleksis/core/models.py:1127 +msgid "Allowed scopes that clients can request" msgstr "" #: aleksis/core/preferences.py:23 -msgid "School" +msgid "General" msgstr "" #: aleksis/core/preferences.py:24 -msgid "Theme" +msgid "School" msgstr "" #: aleksis/core/preferences.py:25 +msgid "Theme" +msgstr "" + +#: aleksis/core/preferences.py:26 msgid "Mail" msgstr "" -#: aleksis/core/preferences.py:27 +#: aleksis/core/preferences.py:28 msgid "Footer" msgstr "" -#: aleksis/core/preferences.py:28 +#: aleksis/core/preferences.py:29 msgid "Accounts" msgstr "" -#: aleksis/core/preferences.py:29 +#: aleksis/core/preferences.py:30 msgid "Authentication" msgstr "" -#: aleksis/core/preferences.py:30 +#: aleksis/core/preferences.py:31 msgid "Internationalisation" msgstr "" -#: aleksis/core/preferences.py:41 +#: aleksis/core/preferences.py:42 msgid "Site title" msgstr "" -#: aleksis/core/preferences.py:52 +#: aleksis/core/preferences.py:53 msgid "Site description" msgstr "" -#: aleksis/core/preferences.py:63 +#: aleksis/core/preferences.py:64 msgid "Primary colour" msgstr "" -#: aleksis/core/preferences.py:75 +#: aleksis/core/preferences.py:76 msgid "Secondary colour" msgstr "" -#: aleksis/core/preferences.py:86 +#: aleksis/core/preferences.py:87 msgid "Logo" msgstr "" -#: aleksis/core/preferences.py:96 +#: aleksis/core/preferences.py:97 msgid "Favicon" msgstr "" -#: aleksis/core/preferences.py:106 +#: aleksis/core/preferences.py:107 msgid "PWA-Icon" msgstr "" -#: aleksis/core/preferences.py:117 +#: aleksis/core/preferences.py:118 msgid "Mail out name" msgstr "" -#: aleksis/core/preferences.py:128 +#: aleksis/core/preferences.py:129 msgid "Mail out address" msgstr "" -#: aleksis/core/preferences.py:140 +#: aleksis/core/preferences.py:141 msgid "Link to privacy policy" msgstr "" -#: aleksis/core/preferences.py:152 +#: aleksis/core/preferences.py:153 msgid "Link to imprint" msgstr "" -#: aleksis/core/preferences.py:164 +#: aleksis/core/preferences.py:165 msgid "Name format for addressing" msgstr "" -#: aleksis/core/preferences.py:180 +#: aleksis/core/preferences.py:181 msgid "Channels to use for notifications" msgstr "" -#: aleksis/core/preferences.py:192 +#: aleksis/core/preferences.py:193 msgid "Regular expression to match primary group, e.g. '^Class .*'" msgstr "" -#: aleksis/core/preferences.py:203 +#: aleksis/core/preferences.py:204 msgid "Field on person to match primary group against" msgstr "" -#: aleksis/core/preferences.py:215 +#: aleksis/core/preferences.py:216 msgid "Automatically create new persons for new users" msgstr "" -#: aleksis/core/preferences.py:224 +#: aleksis/core/preferences.py:225 msgid "Automatically link existing persons to new users by their e-mail address" msgstr "" -#: aleksis/core/preferences.py:235 +#: aleksis/core/preferences.py:236 msgid "Display name of the school" msgstr "" -#: aleksis/core/preferences.py:246 +#: aleksis/core/preferences.py:247 msgid "Official name of the school, e.g. as given by supervisory authority" msgstr "" -#: aleksis/core/preferences.py:254 +#: aleksis/core/preferences.py:255 msgid "Allow users to change their passwords" msgstr "" -#: aleksis/core/preferences.py:262 +#: aleksis/core/preferences.py:263 msgid "Enable signup" msgstr "" -#: aleksis/core/preferences.py:273 +#: aleksis/core/preferences.py:274 +msgid "Allowed Grant Flows for OAuth applications" +msgstr "" + +#: aleksis/core/preferences.py:287 msgid "Available languages" msgstr "" -#: aleksis/core/preferences.py:285 +#: aleksis/core/preferences.py:299 msgid "Send emails if data checks detect problems" msgstr "" -#: aleksis/core/preferences.py:296 +#: aleksis/core/preferences.py:310 msgid "Email recipients for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:307 +#: aleksis/core/preferences.py:321 msgid "Email recipient groups for data checks problem emails" msgstr "" -#: aleksis/core/preferences.py:316 +#: aleksis/core/preferences.py:330 msgid "Show dashboard to users without login" msgstr "" -#: aleksis/core/preferences.py:325 +#: aleksis/core/preferences.py:339 msgid "Allow users to edit their dashboard" msgstr "" -#: aleksis/core/preferences.py:336 +#: aleksis/core/preferences.py:350 msgid "Fields on person model which are editable by themselves." msgstr "" -#: aleksis/core/preferences.py:350 +#: aleksis/core/preferences.py:364 msgid "Editable fields on person model which should trigger a notification on change" msgstr "" -#: aleksis/core/preferences.py:363 +#: aleksis/core/preferences.py:377 msgid "Contact for notification if a person changes their data" msgstr "" -#: aleksis/core/preferences.py:373 +#: aleksis/core/preferences.py:387 msgid "PDF file expiration duration" msgstr "" -#: aleksis/core/preferences.py:374 +#: aleksis/core/preferences.py:388 msgid "in minutes" msgstr "" -#: aleksis/core/preferences.py:384 +#: aleksis/core/preferences.py:398 msgid "Automatically update the dashboard and its widgets" msgstr "" -#: aleksis/core/preferences.py:394 +#: aleksis/core/preferences.py:408 msgid "Automatically update the dashboard and its widgets sitewide" msgstr "" -#: aleksis/core/settings.py:452 +#: aleksis/core/settings.py:474 msgid "English" msgstr "" -#: aleksis/core/settings.py:453 +#: aleksis/core/settings.py:475 msgid "German" msgstr "" @@ -1090,23 +1119,24 @@ msgstr "" #: aleksis/core/templates/core/announcement/list.html:36 #: aleksis/core/templates/core/group/full.html:24 #: aleksis/core/templates/core/person/full.html:23 -#: aleksis/core/templates/oauth2_provider/application_detail.html:17 +#: aleksis/core/templates/oauth2_provider/application/detail.html:17 msgid "Edit" msgstr "" #: aleksis/core/tables.py:21 aleksis/core/tables.py:89 +#: aleksis/core/tables.py:105 #: aleksis/core/templates/core/announcement/list.html:22 msgid "Actions" msgstr "" #: aleksis/core/tables.py:56 aleksis/core/tables.py:57 #: aleksis/core/tables.py:71 aleksis/core/tables.py:87 +#: aleksis/core/tables.py:103 #: aleksis/core/templates/core/announcement/list.html:42 #: aleksis/core/templates/core/group/full.html:31 #: aleksis/core/templates/core/pages/delete.html:22 #: aleksis/core/templates/core/person/full.html:30 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:20 -#: aleksis/core/templates/oauth2_provider/application_detail.html:21 +#: aleksis/core/templates/oauth2_provider/application/detail.html:21 msgid "Delete" msgstr "" @@ -1423,19 +1453,19 @@ msgstr "" msgid "There are no announcements." msgstr "" -#: aleksis/core/templates/core/base.html:60 +#: aleksis/core/templates/core/base.html:78 msgid "Logged in as" msgstr "" -#: aleksis/core/templates/core/base.html:154 +#: aleksis/core/templates/core/base.html:175 msgid "About AlekSIS — The Free School Information System" msgstr "" -#: aleksis/core/templates/core/base.html:162 +#: aleksis/core/templates/core/base.html:183 msgid "Impress" msgstr "" -#: aleksis/core/templates/core/base.html:170 +#: aleksis/core/templates/core/base.html:191 msgid "Privacy Policy" msgstr "" @@ -1626,7 +1656,7 @@ msgstr "" #: aleksis/core/templates/core/group/child_groups.html:93 #: aleksis/core/templates/core/group/child_groups.html:128 -#: aleksis/core/templates/oauth2_provider/application_detail.html:9 +#: aleksis/core/templates/oauth2_provider/application/detail.html:9 #: aleksis/core/templates/two_factor/_wizard_actions.html:15 #: aleksis/core/templates/two_factor/_wizard_actions.html:20 msgid "Back" @@ -1983,6 +2013,51 @@ msgid "" " " msgstr "" +#: aleksis/core/templates/core/perms/assign.html:12 +#: aleksis/core/templates/core/perms/assign.html:13 +msgid "Assign permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:17 +msgid "Selected permission" +msgstr "" + +#: aleksis/core/templates/core/perms/assign.html:26 +msgid "Assign" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:21 +msgid "Assign a new permission" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:25 +msgid "Select" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:34 +msgid "Global (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:38 +msgid "Global (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:42 +msgid "Object (user)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:46 +msgid "Object (group)" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:52 +msgid "Filter permissions" +msgstr "" + +#: aleksis/core/templates/core/perms/list.html:58 +msgid "Update" +msgstr "" + #: aleksis/core/templates/core/person/create.html:12 #: aleksis/core/templates/core/person/create.html:13 #: aleksis/core/templates/core/person/list.html:17 @@ -2004,7 +2079,7 @@ msgstr "" msgid "Contact details" msgstr "" -#: aleksis/core/templates/core/person/full.html:130 +#: aleksis/core/templates/core/person/full.html:131 msgid "Children" msgstr "" @@ -2044,60 +2119,56 @@ msgstr "" msgid "Save preferences" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:5 -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:6 -msgid "Delete application" +#: aleksis/core/templates/oauth2_provider/application/create.html:5 +#: aleksis/core/templates/oauth2_provider/application/create.html:6 +msgid "Register OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:12 -#, python-format -msgid "Are you sure to delete the application %(application_name)s?" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_confirm_delete.html:24 -#: aleksis/core/templates/oauth2_provider/application_form.html:18 +#: 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:27 +#: aleksis/core/templates/oauth2_provider/application/detail.html:5 +msgid "OAuth2 Application" +msgstr "" + +#: aleksis/core/templates/oauth2_provider/application/detail.html:27 msgid "Client id" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:35 +#: aleksis/core/templates/oauth2_provider/application/detail.html:35 msgid "Client secret" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:43 +#: aleksis/core/templates/oauth2_provider/application/detail.html:43 msgid "Client type" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:51 -msgid "Authorization Grant Type" +#: aleksis/core/templates/oauth2_provider/application/detail.html:51 +msgid "Allowed scopes" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_detail.html:59 +#: aleksis/core/templates/oauth2_provider/application/detail.html:59 msgid "Redirect URIs" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_form.html:5 -msgid "Create OAuth2 Application" -msgstr "" - -#: aleksis/core/templates/oauth2_provider/application_form.html:10 -msgid "Edit application" +#: aleksis/core/templates/oauth2_provider/application/detail.html:67 +msgid "Skip Authorisation" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:8 -msgid "OAuth2 applications" +#: aleksis/core/templates/oauth2_provider/application/edit.html:5 +#: aleksis/core/templates/oauth2_provider/application/edit.html:6 +msgid "Edit OAuth2 Application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:12 -msgid "Register new applications" +#: aleksis/core/templates/oauth2_provider/application/list.html:11 +msgid "Register new application" msgstr "" -#: aleksis/core/templates/oauth2_provider/application_list.html:23 +#: aleksis/core/templates/oauth2_provider/application/list.html:20 msgid "No applications defined." msgstr "" @@ -2724,107 +2795,127 @@ msgstr "" msgid "Download PDF" msgstr "" -#: aleksis/core/views.py:251 +#: aleksis/core/views.py:270 msgid "The school term has been created." msgstr "" -#: aleksis/core/views.py:263 +#: aleksis/core/views.py:282 msgid "The school term has been saved." msgstr "" -#: aleksis/core/views.py:387 +#: aleksis/core/views.py:406 msgid "The child groups were successfully saved." msgstr "" -#: aleksis/core/views.py:406 aleksis/core/views.py:416 +#: aleksis/core/views.py:425 aleksis/core/views.py:435 msgid "The person has been saved." msgstr "" -#: aleksis/core/views.py:466 +#: aleksis/core/views.py:485 msgid "The group has been saved." msgstr "" -#: aleksis/core/views.py:563 +#: aleksis/core/views.py:582 msgid "The announcement has been saved." msgstr "" -#: aleksis/core/views.py:579 +#: aleksis/core/views.py:598 msgid "The announcement has been deleted." msgstr "" -#: aleksis/core/views.py:663 +#: aleksis/core/views.py:682 msgid "The preferences have been saved successfully." msgstr "" -#: aleksis/core/views.py:687 +#: aleksis/core/views.py:706 msgid "The person has been deleted." msgstr "" -#: aleksis/core/views.py:701 +#: aleksis/core/views.py:720 msgid "The group has been deleted." msgstr "" -#: aleksis/core/views.py:733 +#: aleksis/core/views.py:752 msgid "The additional_field has been saved." msgstr "" -#: aleksis/core/views.py:767 +#: aleksis/core/views.py:786 msgid "The additional field has been deleted." msgstr "" -#: aleksis/core/views.py:792 +#: aleksis/core/views.py:811 msgid "The group type has been saved." msgstr "" -#: aleksis/core/views.py:822 +#: aleksis/core/views.py:841 msgid "The group type has been deleted." msgstr "" -#: aleksis/core/views.py:855 +#: aleksis/core/views.py:874 msgid "Progress: Run data checks" msgstr "" -#: aleksis/core/views.py:856 +#: aleksis/core/views.py:875 msgid "Run data checks …" msgstr "" -#: aleksis/core/views.py:857 +#: aleksis/core/views.py:876 msgid "The data checks were run successfully." msgstr "" -#: aleksis/core/views.py:858 +#: aleksis/core/views.py:877 msgid "There was a problem while running data checks." msgstr "" -#: aleksis/core/views.py:874 +#: aleksis/core/views.py:893 #, python-brace-format msgid "The solve option '{solve_option_obj.verbose_name}' " msgstr "" -#: aleksis/core/views.py:916 +#: aleksis/core/views.py:935 msgid "The dashboard widget has been saved." msgstr "" -#: aleksis/core/views.py:946 +#: aleksis/core/views.py:965 msgid "The dashboard widget has been created." msgstr "" -#: aleksis/core/views.py:956 +#: aleksis/core/views.py:975 msgid "The dashboard widget has been deleted." msgstr "" -#: aleksis/core/views.py:1023 +#: aleksis/core/views.py:1042 msgid "Your dashboard configuration has been saved successfully." msgstr "" -#: aleksis/core/views.py:1025 +#: aleksis/core/views.py:1044 msgid "The configuration of the default dashboard has been saved successfully." msgstr "" -#: aleksis/core/views.py:1153 +#: aleksis/core/views.py:1139 +msgid "We have successfully assigned the permissions." +msgstr "" + +#: aleksis/core/views.py:1149 +msgid "The global user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1159 +msgid "The global group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1169 +msgid "The object user permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1179 +msgid "The object group permission has been deleted." +msgstr "" + +#: aleksis/core/views.py:1298 msgid "The third-party account could not be disconnected because it is the only login method available." msgstr "" -#: aleksis/core/views.py:1160 +#: aleksis/core/views.py:1305 msgid "The third-party account has been successfully disconnected." msgstr "" diff --git a/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po b/aleksis/core/locale/tr_TR/LC_MESSAGES/djangojs.po index dc6d028e5442a3666f35a7cb46e39e5c01cdd3f9..2458849847f712fe1cf63743640716c5b3ef561a 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: 2021-10-28 16:18+0200\n" +"POT-Creation-Date: 2021-11-29 09:59+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"