Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • hansegucker/AlekSIS-Core
  • pinguin/AlekSIS-Core
  • AlekSIS/official/AlekSIS-Core
  • sunweaver/AlekSIS-Core
  • sggua/AlekSIS-Core
  • edward/AlekSIS-Core
  • magicfelix/AlekSIS-Core
7 results
Show changes
Commits on Source (69)
Showing
with 2928 additions and 2050 deletions
......@@ -6,6 +6,40 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog`_,
and this project adheres to `Semantic Versioning`_.
Unreleased
----------
Fixed
~~~~~
* [Docker] Stop initialisation if migrations fail
* [OAuth] Register `groups` scope and fix claim
* [OAuth] Fix OAuth claims for follow-up requests (e.g. UserInfo)
* [OAuth] Fix grant types checking failing on wrong types under some circumstances
* [OAuth] Re-introduce missing algorithm field in application form
`2.2`_ - 2021-11-29
-------------------
Added
~~~~~
* Support config files in sub-directories
* Provide views for assigning/managing permissions in frontend
* Support (icon) tabs in the top navbar.
Changed
~~~~~~~
* Update German translations.
Fixed
~~~~~
* Use new MaterializeCSS fork because the old version is no longer maintained.
* Sender wasn't displayed for notifications on dashboard.
* Notifications and activities on dashboard weren't sorted from old to new.
`2.1.1`_ - 2021-11-14
---------------------
......@@ -464,3 +498,4 @@ Fixed
.. _2.0: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0
.. _2.1: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.1
.. _2.1.1: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.1.1
.. _2.2: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.2
......@@ -76,6 +76,14 @@ full licence text or on the `European Union Public Licence`_ website
https://joinup.ec.europa.eu/collection/eupl/guidelines-users-and-developers
(including all other official language versions).
Trademark
---------
AlekSIS® is a registered trademark of the AlekSIS open source project, represented
by Teckids e.V. Please refer to the `trademark policy`_ for hints on using the trademark
AlekSIS®.
.. _AlekSIS: https://aleksis.org
.. _European Union Public Licence: https://eupl.eu/
.. _EduGit: https://edugit.org/AlekSIS/official/AlekSIS
.. _trademark policy: https://aleksis.org/pages/about
......@@ -153,5 +153,6 @@ class CoreConfig(AppConfig):
"address": _("Full home postal address"),
"email": _("Email address"),
"phone": _("Home and mobile phone"),
"groups": _("Groups"),
}
return scopes
from typing import Sequence
from django.contrib.auth.models import Group as DjangoGroup
from django.contrib.auth.models import Permission, User
from django.contrib.contenttypes.models import ContentType
from django.db.models import Q
from django.utils.translation import gettext as _
from django_filters import CharFilter, FilterSet, ModelChoiceFilter, ModelMultipleChoiceFilter
from django_select2.forms import ModelSelect2Widget
from guardian.models import GroupObjectPermission, UserObjectPermission
from material import Layout, Row
from aleksis.core.models import Group, GroupType, Person, SchoolTerm
......@@ -72,3 +77,94 @@ class PersonFilter(FilterSet):
class Meta:
model = Person
fields = ["sex", "is_active", "primary_group"]
class PermissionFilter(FilterSet):
"""Common filter for permissions."""
permission = ModelChoiceFilter(
queryset=Permission.objects.all(),
widget=ModelSelect2Widget(
search_fields=["name__icontains", "codename__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
label=_("Permission"),
)
permission__content_type = ModelChoiceFilter(
queryset=ContentType.objects.all(),
widget=ModelSelect2Widget(
search_fields=["app_label__icontains", "model__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
label=_("Content type"),
)
class UserPermissionFilter(PermissionFilter):
"""Common filter for user permissions."""
user = ModelChoiceFilter(
queryset=User.objects.all(),
widget=ModelSelect2Widget(
search_fields=["username__icontains", "first_name__icontains", "last_name__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
label=_("User"),
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form.layout = Layout(Row("user", "permission", "permission__content_type"))
class Meta:
fields = ["user", "permission", "permission__content_type"]
class GroupPermissionFilter(PermissionFilter):
"""Common filter for group permissions."""
group = ModelChoiceFilter(
queryset=DjangoGroup.objects.all(),
widget=ModelSelect2Widget(
search_fields=[
"name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
label=_("Group"),
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form.layout = Layout(Row("group", "permission", "permission__content_type"))
class Meta:
fields = ["group", "permission", "permission__content_type"]
class UserGlobalPermissionFilter(UserPermissionFilter):
"""Filter for global user permissions."""
class Meta(UserPermissionFilter.Meta):
model = User.user_permissions.through
class GroupGlobalPermissionFilter(GroupPermissionFilter):
"""Filter for global group permissions."""
class Meta(GroupPermissionFilter.Meta):
model = DjangoGroup.permissions.through
class UserObjectPermissionFilter(UserPermissionFilter):
"""Filter for object user permissions."""
class Meta(UserPermissionFilter.Meta):
model = UserObjectPermission
class GroupObjectPermissionFilter(GroupPermissionFilter):
"""Filter for object group permissions."""
class Meta(GroupPermissionFilter.Meta):
model = GroupObjectPermission
from datetime import datetime, time
from typing import Callable, Sequence
from typing import Any, Callable, Dict, Sequence
from django import forms
from django.conf import settings
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Permission
from django.core.exceptions import ValidationError
from django.db.models import QuerySet
from django.http import HttpRequest
......@@ -10,9 +12,10 @@ from django.utils.translation import gettext_lazy as _
from allauth.account.adapter import get_adapter
from allauth.account.forms import SignupForm
from allauth.account.utils import get_user_model, setup_user_email
from allauth.account.utils import setup_user_email
from django_select2.forms import ModelSelect2MultipleWidget, ModelSelect2Widget, Select2Widget
from dynamic_preferences.forms import PreferenceForm
from guardian.shortcuts import assign_perm
from material import Fieldset, Layout, Row
from .mixins import ExtensibleForm, SchoolTermRelatedExtensibleForm
......@@ -389,6 +392,116 @@ DashboardWidgetOrderFormSet = forms.formset_factory(
)
class SelectPermissionForm(forms.Form):
"""Select a permission to assign."""
selected_permission = forms.ModelChoiceField(
queryset=Permission.objects.all(),
widget=ModelSelect2Widget(
search_fields=["name__icontains", "codename__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
)
class AssignPermissionForm(forms.Form):
"""Assign a permission to user/groups for all/some objects."""
layout = Layout(
Fieldset(_("Who should get the permission?"), "groups", "persons"),
Fieldset(_("On what?"), "objects", "all_objects"),
)
groups = forms.ModelMultipleChoiceField(
queryset=Group.objects.all(),
widget=ModelSelect2MultipleWidget(
search_fields=["name__icontains", "short_name__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
required=False,
)
persons = forms.ModelMultipleChoiceField(
queryset=Person.objects.all(),
widget=ModelSelect2MultipleWidget(
search_fields=[
"first_name__icontains",
"last_name__icontains",
"short_name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
required=False,
)
objects = forms.ModelMultipleChoiceField(
queryset=None,
required=False,
label=_("Select objects which the permission should be granted for:"),
)
all_objects = forms.BooleanField(
required=False, label=_("Grant the permission for all objects")
)
def clean(self) -> Dict[str, Any]:
"""Clean form to ensure that at least one target and one type is selected."""
cleaned_data = super().clean()
if not cleaned_data.get("persons") and not cleaned_data.get("groups"):
raise ValidationError(
_("You must select at least one group or person which should get the permission.")
)
if not cleaned_data.get("objects") and not cleaned_data.get("all_objects"):
raise ValidationError(
_("You must grant the permission to all objects and/" "or to some objects.")
)
return cleaned_data
def __init__(self, *args, permission: Permission, **kwargs):
self.permission = permission
super().__init__(*args, **kwargs)
model_class = self.permission.content_type.model_class()
queryset = model_class.objects.all()
self.fields["objects"].queryset = queryset
search_fields = getattr(model_class, "get_filter_fields", lambda: [])()
# Use select2 only if there are any searchable fields as it can't work without
if search_fields:
self.fields["objects"].widget = ModelSelect2MultipleWidget(
search_fields=search_fields,
queryset=queryset,
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
)
def save_perms(self):
"""Save permissions for selected user/groups and selected/all objects."""
persons = self.cleaned_data["persons"]
groups = self.cleaned_data["groups"]
all_objects = self.cleaned_data["all_objects"]
objects = self.cleaned_data["objects"]
permission_name = f"{self.permission.content_type.app_label}.{self.permission.codename}"
created = 0
# Create permissions for users
for person in persons:
if getattr(person, "user", None):
# Global permission
if all_objects:
assign_perm(permission_name, person.user)
# Object permissions
for instance in objects:
assign_perm(permission_name, person.user, instance)
# Create permissions for users
for group in groups:
django_group = group.django_group
# Global permission
if all_objects:
assign_perm(permission_name, django_group)
# Object permissions
for instance in objects:
assign_perm(permission_name, django_group, instance)
class AccountRegisterForm(SignupForm, ExtensibleForm):
"""Form to register new user accounts."""
......@@ -633,6 +746,7 @@ class OAuthApplicationForm(forms.ModelForm):
"client_id",
"client_secret",
"client_type",
"algorithm",
"allowed_scopes",
"redirect_uris",
"skip_authorization",
......
......@@ -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 ""
......@@ -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"
......
......@@ -7,8 +7,8 @@ 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"
"PO-Revision-Date: 2021-10-29 14:28+0000\n"
"POT-Creation-Date: 2021-11-29 09:59+0100\n"
"PO-Revision-Date: 2021-11-29 09:34+0000\n"
"Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis/"
"aleksis-core/de/>\n"
......@@ -19,23 +19,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 +60,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 +69,177 @@ 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
msgid "Permission"
msgstr "Berechtigung"
#: aleksis/core/filters.py:99
msgid "Content type"
msgstr "Inhaltstyp"
#: 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
msgid "Who should get the permission?"
msgstr "Wer soll die Berechtigung erhalten?"
#: aleksis/core/forms.py:412
msgid "On what?"
msgstr "Auf was?"
#: aleksis/core/forms.py:438
msgid "Select objects which the permission should be granted for:"
msgstr ""
"Wählen Sie die Objekte aus, für welche die Berechtigung vergeben werden soll:"
#: aleksis/core/forms.py:441
msgid "Grant the permission for all objects"
msgstr "Vergebe die Berechtigung für alle Objekte"
#: aleksis/core/forms.py:449
msgid "You must select at least one group or person which should get the permission."
msgstr ""
"Sie müssen mindestens eine Gruppe oder Person auswählen, welche die "
"Berechtigung erhalten soll."
#: aleksis/core/forms.py:454
msgid "You must grant the permission to all objects and/or to some objects."
msgstr ""
"Sie müssen die Berechtigung auf alle Objekte und/oder für einige Objekte "
"vergeben."
#: 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,806 @@ 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 "Berechtigungen verwalten"
#: 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
msgid "Place of birth"
msgstr "Geburtsort"
#: 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 "Erlaubte Scopes, die ein Client anfordern kann"
#: 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
msgid "Allowed Grant Flows for OAuth applications"
msgstr "Erlaubte Grant Flows für OAuth-Anwendungen"
#: 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 +1126,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 +1520,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 +1754,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 +2164,51 @@ 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 "Berechtigung zuweisen"
#: aleksis/core/templates/core/perms/assign.html:17
msgid "Selected permission"
msgstr "Ausgewählte Berechtigung"
#: aleksis/core/templates/core/perms/assign.html:26
msgid "Assign"
msgstr "Zuweisen"
#: aleksis/core/templates/core/perms/list.html:21
msgid "Assign a new permission"
msgstr "Eine neue Berechtigung zuweisen"
#: aleksis/core/templates/core/perms/list.html:25
msgid "Select"
msgstr "Auswählen"
#: aleksis/core/templates/core/perms/list.html:34
msgid "Global (user)"
msgstr "Global (Benutzer)"
#: aleksis/core/templates/core/perms/list.html:38
msgid "Global (group)"
msgstr "Global (Gruppe)"
#: aleksis/core/templates/core/perms/list.html:42
msgid "Object (user)"
msgstr "Objekt (Benutzer)"
#: aleksis/core/templates/core/perms/list.html:46
msgid "Object (group)"
msgstr "Objekt (Gruppe)"
#: aleksis/core/templates/core/perms/list.html:52
msgid "Filter permissions"
msgstr "Berechtigungen 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 +2230,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 +2270,56 @@ 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
msgid "Register OAuth2 Application"
msgstr "OAuth2-Anwendung registrieren"
#: 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
msgid "OAuth2 Application"
msgstr "OAuth2-Anwendung"
#: 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 "Erlaubte Scopes"
#: 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
msgid "Skip Authorisation"
msgstr "Authentifizierung überspringen"
#: aleksis/core/templates/oauth2_provider/application_list.html:8
msgid "OAuth2 applications"
msgstr "OAuth2-Anwendungen"
#: aleksis/core/templates/oauth2_provider/application/edit.html:5
#: aleksis/core/templates/oauth2_provider/application/edit.html:6
msgid "Edit OAuth2 Application"
msgstr "OAuth2-Anwendung bearbeiten"
#: aleksis/core/templates/oauth2_provider/application_list.html:12
msgid "Register new applications"
msgstr "Neue Anwendungen registrieren"
#: aleksis/core/templates/oauth2_provider/application/list.html:11
msgid "Register new application"
msgstr "Neue Anwendung 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 +2733,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 +2884,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 +3095,159 @@ 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 "Wir haben die Berechtigungen erfolgreich zugewiesen."
#: aleksis/core/views.py:1149
msgid "The global user permission has been deleted."
msgstr "Die globale Benutzerberechtigung wurde gelöscht."
#: aleksis/core/views.py:1159
msgid "The global group permission has been deleted."
msgstr "Die globale Gruppenberechtigung wurde gelöscht."
#: aleksis/core/views.py:1169
msgid "The object user permission has been deleted."
msgstr "Die Objekt-Benutzerberechtigung wurde gelöscht."
#: aleksis/core/views.py:1179
msgid "The object group permission has been deleted."
msgstr "Die Objekt-Gruppenberechtigung 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 +3275,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"
......
......@@ -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."
......@@ -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 ""
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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 ""
......
......@@ -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"
......
......@@ -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 ""
......@@ -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"
......
......@@ -211,6 +211,17 @@ MENUS = {
"icon": "done_all",
"validators": ["menu_generator.validators.is_superuser"],
},
{
"name": _("Manage permissions"),
"url": "manage_user_global_permissions",
"icon": "shield",
"validators": [
(
"aleksis.core.util.predicates.permission_validator",
"core.manage_permissions",
),
],
},
{
"name": _("Backend Admin"),
"url": "admin:index",
......
# flake8: noqa: DJ12
from datetime import datetime
from typing import Any, Callable, Optional, Union
from typing import Any, Callable, List, Optional, Union
from django.conf import settings
from django.contrib import messages
......@@ -11,6 +11,7 @@ from django.contrib.sites.managers import CurrentSiteManager
from django.contrib.sites.models import Site
from django.db import models
from django.db.models import JSONField, QuerySet
from django.db.models.fields import CharField, TextField
from django.forms.forms import BaseForm
from django.forms.models import ModelForm, ModelFormMetaclass
from django.http import HttpResponse
......@@ -276,6 +277,15 @@ class ExtensibleModel(models.Model, metaclass=_ExtensibleModelBase):
to.property_(_virtual_related, related_name)
@classmethod
def get_filter_fields(cls) -> List[str]:
"""Get names of all text-searchable fields of this model."""
fields = []
for field in cls.syncable_fields():
if isinstance(field, (CharField, TextField)):
fields.append(field.name)
return fields
@classmethod
def syncable_fields(
cls, recursive: bool = True, exclude_remotes: list = []
......
......@@ -510,6 +510,12 @@ class Group(SchoolTermRelatedExtensibleModel):
)
dj_group.save()
@property
def django_group(self):
"""Get Django group for this group."""
dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name)
return dj_group
class PersonGroupThrough(ExtensibleModel):
"""Through table for many-to-many relationship of group members.
......@@ -1126,7 +1132,7 @@ class OAuthApplication(AbstractApplication):
def allows_grant_type(self, *grant_types: set[str]) -> bool:
allowed_grants = get_site_preferences()["auth__oauth_allowed_grants"]
return bool(set(allowed_grants) & grant_types)
return bool(set(allowed_grants) & set(grant_types))
class OAuthGrant(AbstractGrant):
......