diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po
index 03ac8c4..6ed30cc 100644
--- a/src/locale/de/LC_MESSAGES/django.po
+++ b/src/locale/de/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-25 15:12+0000\n"
+"POT-Creation-Date: 2026-03-15 21:51+0000\n"
"PO-Revision-Date: 2023-04-17 23:37+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -18,1689 +18,100 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.1.1\n"
-#: venv/lib/python3.11/site-packages/click/_termui_impl.py:518
-#, python-brace-format
-msgid "{editor}: Editing failed"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/_termui_impl.py:522
-#, python-brace-format
-msgid "{editor}: Editing failed: {e}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1120
-#, fuzzy
-#| msgid "Abort"
-msgid "Aborted!"
-msgstr "Abbrechen"
-
-#: venv/lib/python3.11/site-packages/click/core.py:1309
-#: venv/lib/python3.11/site-packages/click/decorators.py:559
-msgid "Show this message and exit."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1340
-#: venv/lib/python3.11/site-packages/click/core.py:1370
-#, python-brace-format
-msgid "(Deprecated) {text}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1387
-#, fuzzy
-#| msgid "Actions"
-msgid "Options"
-msgstr "Aktionen"
-
-#: venv/lib/python3.11/site-packages/click/core.py:1413
-#, python-brace-format
-msgid "Got unexpected extra argument ({args})"
-msgid_plural "Got unexpected extra arguments ({args})"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1429
-msgid "DeprecationWarning: The command {name!r} is deprecated."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1636
-msgid "Commands"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1668
-msgid "Missing command."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1746
-msgid "No such command {name!r}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2310
-msgid "Value must be an iterable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2331
-#, python-brace-format
-msgid "Takes {nargs} values but 1 was given."
-msgid_plural "Takes {nargs} values but {len} were given."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2778
-#, python-brace-format
-msgid "env var: {var}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2808
-msgid "(dynamic)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2821
-#, python-brace-format
-msgid "default: {default}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2834
-#, fuzzy
-#| msgid "Required"
-msgid "required"
-msgstr "Benötigt"
-
-#: venv/lib/python3.11/site-packages/click/decorators.py:465
-#, python-format
-msgid "%(prog)s, version %(version)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/decorators.py:528
-msgid "Show the version and exit."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:44
-#: venv/lib/python3.11/site-packages/click/exceptions.py:80
-#, python-brace-format
-msgid "Error: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:72
-#, python-brace-format
-msgid "Try '{command} {option}' for help."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:121
-#, python-brace-format
-msgid "Invalid value: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:123
-#, python-brace-format
-msgid "Invalid value for {param_hint}: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:179
-msgid "Missing argument"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:181
-msgid "Missing option"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:183
-msgid "Missing parameter"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:185
-#, python-brace-format
-msgid "Missing {param_type}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:192
-#, python-brace-format
-msgid "Missing parameter: {param_name}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:212
-#, python-brace-format
-msgid "No such option: {name}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:224
-#, python-brace-format
-msgid "Did you mean {possibility}?"
-msgid_plural "(Possible options: {possibilities})"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:262
-#, fuzzy
-#| msgid "Unknown User"
-msgid "unknown error"
-msgstr "Unbekannter Benutzer"
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:269
-msgid "Could not open file {filename!r}: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:231
-msgid "Argument {name!r} takes {nargs} values."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:413
-msgid "Option {name!r} does not take a value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:474
-msgid "Option {name!r} requires an argument."
-msgid_plural "Option {name!r} requires {nargs} arguments."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/shell_completion.py:319
-msgid "Shell completion is not supported for Bash versions older than 4.4."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/shell_completion.py:326
-msgid "Couldn't detect Bash version, shell completion is not supported."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:158
-msgid "Repeat for confirmation"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:174
-msgid "Error: The value you entered was invalid."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:176
-#, python-brace-format
-msgid "Error: {e.message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:187
-msgid "Error: The two entered values do not match."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:243
-msgid "Error: invalid input"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:773
-msgid "Press any key to continue..."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:266
-#, python-brace-format
-msgid ""
-"Choose from:\n"
-"\t{choices}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:298
-msgid "{value!r} is not {choice}."
-msgid_plural "{value!r} is not one of {choices}."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:392
-msgid "{value!r} does not match the format {format}."
-msgid_plural "{value!r} does not match the formats {formats}."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:414
-msgid "{value!r} is not a valid {number_type}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:470
-#, python-brace-format
-msgid "{value} is not in the range {range}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:611
-msgid "{value!r} is not a valid boolean."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:635
-msgid "{value!r} is not a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:822
-#, fuzzy
-#| msgid "Profile"
-msgid "file"
-msgstr "Profil"
-
-#: venv/lib/python3.11/site-packages/click/types.py:824
-msgid "directory"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:826
-msgid "path"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:877
-msgid "{name} {filename!r} does not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:886
-msgid "{name} {filename!r} is a file."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:894
-#, python-brace-format
-msgid "{name} '{filename}' is a directory."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:903
-msgid "{name} {filename!r} is not readable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:912
-msgid "{name} {filename!r} is not writable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:921
-msgid "{name} {filename!r} is not executable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:988
-#, python-brace-format
-msgid "{len_type} values are required, but {len_value} was given."
-msgid_plural "{len_type} values are required, but {len_value} were given."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/colorfield/validators.py:9
-msgid "Enter a valid hex color, eg. #000000"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/colorfield/validators.py:17
-msgid "Enter a valid hexa color, eg. #00000000"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/messages/apps.py:7
-msgid "Messages"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/sitemaps/apps.py:8
-msgid "Site Maps"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/staticfiles/apps.py:9
-msgid "Static Files"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/syndication/apps.py:7
-#, fuzzy
-#| msgid "Organization"
-msgid "Syndication"
-msgstr "Organisation"
-
-#. Translators: String used to replace omitted page numbers in elided page
-#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10].
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:30
-msgid "…"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:50
-msgid "That page number is not an integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:52
-msgid "That page number is less than 1"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:57
-msgid "That page contains no results"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:23
-msgid "Enter a valid value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:105
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:743
-msgid "Enter a valid URL."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:166
-msgid "Enter a valid integer."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:177
-msgid "Enter a valid email address."
-msgstr ""
-
-#. Translators: "letters" means latin letters: a-z and A-Z.
-#: venv/lib/python3.11/site-packages/django/core/validators.py:285
-msgid ""
-"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:293
-msgid ""
-"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
-"hyphens."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:305
-#: venv/lib/python3.11/site-packages/django/core/validators.py:313
-#: venv/lib/python3.11/site-packages/django/core/validators.py:342
-msgid "Enter a valid IPv4 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:322
-#: venv/lib/python3.11/site-packages/django/core/validators.py:343
-msgid "Enter a valid IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:334
-#: venv/lib/python3.11/site-packages/django/core/validators.py:341
-msgid "Enter a valid IPv4 or IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:377
-msgid "Enter only digits separated by commas."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:383
-#, python-format
-msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:418
-#, python-format
-msgid "Ensure this value is less than or equal to %(limit_value)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:427
-#, python-format
-msgid "Ensure this value is greater than or equal to %(limit_value)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:437
-#, python-format
-msgid ""
-"Ensure this value has at least %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at least %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:455
-#, python-format
-msgid ""
-"Ensure this value has at most %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at most %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:478
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:343
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:378
-#, fuzzy
-#| msgid "Enter Name"
-msgid "Enter a number."
-msgstr "Name einegeben"
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:480
-#, python-format
-msgid "Ensure that there are no more than %(max)s digit in total."
-msgid_plural "Ensure that there are no more than %(max)s digits in total."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:485
-#, python-format
-msgid "Ensure that there are no more than %(max)s decimal place."
-msgid_plural "Ensure that there are no more than %(max)s decimal places."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:490
-#, python-format
-msgid ""
-"Ensure that there are no more than %(max)s digit before the decimal point."
-msgid_plural ""
-"Ensure that there are no more than %(max)s digits before the decimal point."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:559
-#, python-format
-msgid ""
-"File extension “%(extension)s” is not allowed. Allowed extensions are: "
-"%(allowed_extensions)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:620
-msgid "Null characters are not allowed."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/base.py:1364
-#: venv/lib/python3.11/site-packages/django/forms/models.py:894
-#, fuzzy
-#| msgid "End"
-msgid "and"
-msgstr "Ende"
-
-#: venv/lib/python3.11/site-packages/django/db/models/base.py:1366
-#, python-format
-msgid "%(model_name)s with this %(field_labels)s already exists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:129
-#, python-format
-msgid "Value %(value)r is not a valid choice."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:130
-msgid "This field cannot be null."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:131
-msgid "This field cannot be blank."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:132
-#, python-format
-msgid "%(model_name)s with this %(field_label)s already exists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:136
-#, python-format
-msgid ""
-"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:156
-#, python-format
-msgid "Field of type: %(field_type)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1050
-#, python-format
-msgid "“%(value)s” value must be either True or False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1051
-#, python-format
-msgid "“%(value)s” value must be either True, False, or None."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1053
-msgid "Boolean (Either True or False)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1094
-#, python-format
-msgid "String (up to %(max_length)s)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1192
-msgid "Comma-separated integers"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1293
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
-"format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1297
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1432
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
-"date."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1301
-msgid "Date (without time)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1428
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
-"uuuuuu]][TZ] format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1436
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
-"[TZ]) but it is an invalid date/time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1441
-msgid "Date (with time)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1565
-#, python-format
-msgid "“%(value)s” value must be a decimal number."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1567
-#, fuzzy
-#| msgid "December"
-msgid "Decimal number"
-msgstr "Dezember"
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1724
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
-"uuuuuu] format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1728
-#: src/shiftings/shifts/forms/template.py:40
-#: src/shiftings/shifts/models/template.py:23
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:11
-msgid "Duration"
-msgstr "Dauer"
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1780
-msgid "Email address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1805
-msgid "File path"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1883
-#, python-format
-msgid "“%(value)s” value must be a float."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1885
-msgid "Floating point number"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1925
-#, python-format
-msgid "“%(value)s” value must be an integer."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1927
-msgid "Integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2019
-msgid "Big (8 byte) integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2036
-msgid "Small integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2044
-msgid "IPv4 address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2075
-msgid "IP address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2168
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2169
-#, python-format
-msgid "“%(value)s” value must be either None, True or False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2171
-msgid "Boolean (Either True, False or None)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2222
-msgid "Positive big integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2237
-msgid "Positive integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2252
-msgid "Positive small integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2268
-#, python-format
-msgid "Slug (up to %(max_length)s)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2304
-#: src/shiftings/mail/forms/mail.py:11
-msgid "Text"
-msgstr "Text"
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2374
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
-"format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2378
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
-"invalid time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2382
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:23
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:197
-#: src/shiftings/shifts/templates/shifts/template/group.html:43
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:23
-#: src/shiftings/shifts/templates/shifts/template/shift.html:10
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:33
-msgid "Time"
-msgstr "Zeit"
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2490
-msgid "URL"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2514
-msgid "Raw binary data"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2579
-#, python-format
-msgid "“%(value)s” is not a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2581
-msgid "Universally unique identifier"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:232
-msgid "File"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:392
-msgid "Image"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/json.py:18
-#, fuzzy
-#| msgid "Subject"
-msgid "A JSON object"
-msgstr "Betreff"
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/json.py:20
-msgid "Value must be valid JSON."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:903
-#, python-format
-msgid "%(model)s instance with %(field)s %(value)r does not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:905
-msgid "Foreign Key (type determined by related field)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1204
-msgid "One-to-one relationship"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1261
-#, python-format
-msgid "%(from)s-%(to)s relationship"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1263
-#, python-format
-msgid "%(from)s-%(to)s relationships"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1311
-msgid "Many-to-many relationship"
-msgstr ""
-
-#. Translators: If found as last label character, these punctuation
-#. characters will prevent the default label_suffix to be appended to the label
-#: venv/lib/python3.11/site-packages/django/forms/boundfield.py:176
-msgid ":?.!"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:91
-#, fuzzy
-#| msgid "One of the user fields is required!"
-msgid "This field is required."
-msgstr "Eines der Benutzerfelder ist benötigt!"
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:298
-msgid "Enter a whole number."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:459
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1232
-msgid "Enter a valid date."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:482
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1233
-#, fuzzy
-#| msgid "Enter Name"
-msgid "Enter a valid time."
-msgstr "Name einegeben"
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:509
-msgid "Enter a valid date/time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:543
-#, fuzzy
-#| msgid "Enter Name or Organization"
-msgid "Enter a valid duration."
-msgstr "Name oder Organisation angeben"
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:544
-#, python-brace-format
-msgid "The number of days must be between {min_days} and {max_days}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:610
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:611
-msgid "No file was submitted."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:612
-msgid "The submitted file is empty."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:614
-#, python-format
-msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
-msgid_plural ""
-"Ensure this filename has at most %(max)d characters (it has %(length)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:619
-msgid "Please either submit a file or check the clear checkbox, not both."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:685
-msgid ""
-"Upload a valid image. The file you uploaded was either not an image or a "
-"corrupted image."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:848
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:940
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1563
-#, python-format
-msgid "Select a valid choice. %(value)s is not one of the available choices."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:942
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1061
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1561
-msgid "Enter a list of values."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1062
-msgid "Enter a complete value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1301
-msgid "Enter a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1331
-msgid "Enter a valid JSON."
-msgstr ""
-
-#. Translators: This is the default suffix added to form field labels
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:98
-msgid ":"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:248
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:328
-#, python-format
-msgid "(Hidden field %(name)s) %(error)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:67
-#, python-format
-msgid ""
-"ManagementForm data is missing or has been tampered with. Missing fields: "
-"%(field_names)s. You may need to file a bug report if the issue persists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:418
-#, python-format
-msgid "Please submit at most %d form."
-msgid_plural "Please submit at most %d forms."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:434
-#, python-format
-msgid "Please submit at least %d form."
-msgid_plural "Please submit at least %d forms."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:470
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:477
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:38
-msgid "Order"
-msgstr "Reihenfolge"
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:483
-#, fuzzy
-#| msgid "Delete Shift"
-msgid "Delete"
-msgstr "Schicht löschen"
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:887
-#, python-format
-msgid "Please correct the duplicate data for %(field)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:892
-#, python-format
-msgid "Please correct the duplicate data for %(field)s, which must be unique."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:899
-#, python-format
-msgid ""
-"Please correct the duplicate data for %(field_name)s which must be unique "
-"for the %(lookup)s in %(date_field)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:908
-msgid "Please correct the duplicate values below."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1335
-msgid "The inline value did not match the parent instance."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1426
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1565
-#, python-format
-msgid "“%(pk)s” is not a valid value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/utils.py:204
-#, python-format
-msgid ""
-"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
-"may be ambiguous or it may not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:434
-msgid "Clear"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:435
-#, fuzzy
-#| msgid "Current Events"
-msgid "Currently"
-msgstr "Aktuelle Events"
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:436
-msgid "Change"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:765
-#: src/shiftings/accounts/templates/accounts/user_detail.html:55
-#: src/shiftings/accounts/templates/accounts/user_detail.html:65
-msgid "Unknown"
-msgstr "Unbekannt"
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:766
-#: src/shiftings/templates/generic/delete.html:9
-msgid "Yes"
-msgstr "Ja"
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:767
-#: src/shiftings/templates/generic/delete.html:11
-msgid "No"
-msgstr "Nein"
-
-#. Translators: Please do not add spaces around commas.
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:858
-msgid "yes,no,maybe"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:888
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:905
-#, python-format
-msgid "%(size)d byte"
-msgid_plural "%(size)d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:907
-#, python-format
-msgid "%s KB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:909
-#, python-format
-msgid "%s MB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:911
-#, python-format
-msgid "%s GB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:913
-#, python-format
-msgid "%s TB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:915
-#, python-format
-msgid "%s PB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:77
-msgid "p.m."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:78
-msgid "a.m."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:83
-#, fuzzy
-#| msgid "M"
-msgid "PM"
-msgstr "M"
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:84
-#, fuzzy
-#| msgid "M"
-msgid "AM"
-msgstr "M"
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:155
-msgid "midnight"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:157
-msgid "noon"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:7
-#: src/shiftings/utils/time/week.py:13
-msgid "Monday"
-msgstr "Montag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:8
-#: src/shiftings/utils/time/week.py:14
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:9
-#: src/shiftings/utils/time/week.py:15
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:10
-#: src/shiftings/utils/time/week.py:16
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:11
-#: src/shiftings/utils/time/week.py:17
-msgid "Friday"
-msgstr "Freitag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:12
-#: src/shiftings/utils/time/week.py:18
-msgid "Saturday"
-msgstr "Samstag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:13
-#: src/shiftings/utils/time/week.py:19
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:16
-#, fuzzy
-#| msgid "Month"
-msgid "Mon"
-msgstr "Monat"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:17
-#, fuzzy
-#| msgid "Tuesday"
-msgid "Tue"
-msgstr "Dienstag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:18
-msgid "Wed"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:19
-msgid "Thu"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:20
-#, fuzzy
-#| msgid "Friday"
-msgid "Fri"
-msgstr "Freitag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:21
-#, fuzzy
-#| msgid "Start"
-msgid "Sat"
-msgstr "Start"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:22
-#, fuzzy
-#| msgid "Sunday"
-msgid "Sun"
-msgstr "Sonntag"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:25
-#: src/shiftings/utils/time/month.py:10
-msgid "January"
-msgstr "Januar"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:26
-#: src/shiftings/utils/time/month.py:11
-msgid "February"
-msgstr "Februar"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:27
-#: src/shiftings/utils/time/month.py:12
-msgid "March"
-msgstr "März"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:28
-#: src/shiftings/utils/time/month.py:13
-msgid "April"
-msgstr "April"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:29
-#: src/shiftings/utils/time/month.py:14
-msgid "May"
-msgstr "Mai"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:30
-#: src/shiftings/utils/time/month.py:15
-msgid "June"
-msgstr "Juni"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:31
-#: src/shiftings/utils/time/month.py:16
-msgid "July"
-msgstr "Juli"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:32
-#: src/shiftings/utils/time/month.py:17
-msgid "August"
-msgstr "August"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:33
-#: src/shiftings/utils/time/month.py:18
-msgid "September"
-msgstr "September"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:34
-#: src/shiftings/utils/time/month.py:19
-msgid "October"
-msgstr "Oktober"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:35
-#: src/shiftings/utils/time/month.py:20
-msgid "November"
-msgstr "November"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:36
-#: src/shiftings/utils/time/month.py:21
-msgid "December"
-msgstr "Dezember"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:39
-msgid "jan"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:40
-msgid "feb"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:41
-msgid "mar"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:42
-msgid "apr"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:43
-#, fuzzy
-#| msgid "May"
-msgid "may"
-msgstr "Mai"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:44
-msgid "jun"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:45
-msgid "jul"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:46
-msgid "aug"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:47
-msgid "sep"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:48
-msgid "oct"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:49
-msgid "nov"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:50
-msgid "dec"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:53
-msgctxt "abbrev. month"
-msgid "Jan."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:54
-msgctxt "abbrev. month"
-msgid "Feb."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:55
-#, fuzzy
-#| msgid "March"
-msgctxt "abbrev. month"
-msgid "March"
-msgstr "März"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:56
-#, fuzzy
-#| msgid "April"
-msgctxt "abbrev. month"
-msgid "April"
-msgstr "April"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:57
-#, fuzzy
-#| msgid "May"
-msgctxt "abbrev. month"
-msgid "May"
-msgstr "Mai"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:58
-#, fuzzy
-#| msgid "June"
-msgctxt "abbrev. month"
-msgid "June"
-msgstr "Juni"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:59
-#, fuzzy
-#| msgid "July"
-msgctxt "abbrev. month"
-msgid "July"
-msgstr "Juli"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:60
-msgctxt "abbrev. month"
-msgid "Aug."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:61
-msgctxt "abbrev. month"
-msgid "Sept."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:62
-msgctxt "abbrev. month"
-msgid "Oct."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:63
-msgctxt "abbrev. month"
-msgid "Nov."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:64
-msgctxt "abbrev. month"
-msgid "Dec."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:67
-#, fuzzy
-#| msgid "January"
-msgctxt "alt. month"
-msgid "January"
-msgstr "Januar"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:68
-#, fuzzy
-#| msgid "February"
-msgctxt "alt. month"
-msgid "February"
-msgstr "Februar"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:69
-#, fuzzy
-#| msgid "March"
-msgctxt "alt. month"
-msgid "March"
-msgstr "März"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:70
-#, fuzzy
-#| msgid "April"
-msgctxt "alt. month"
-msgid "April"
-msgstr "April"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:71
-#, fuzzy
-#| msgid "May"
-msgctxt "alt. month"
-msgid "May"
-msgstr "Mai"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:72
-#, fuzzy
-#| msgid "June"
-msgctxt "alt. month"
-msgid "June"
-msgstr "Juni"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:73
-#, fuzzy
-#| msgid "July"
-msgctxt "alt. month"
-msgid "July"
-msgstr "Juli"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:74
-#, fuzzy
-#| msgid "August"
-msgctxt "alt. month"
-msgid "August"
-msgstr "August"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:75
-#, fuzzy
-#| msgid "September"
-msgctxt "alt. month"
-msgid "September"
-msgstr "September"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:76
-#, fuzzy
-#| msgid "October"
-msgctxt "alt. month"
-msgid "October"
-msgstr "Oktober"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:77
-#, fuzzy
-#| msgid "November"
-msgctxt "alt. month"
-msgid "November"
-msgstr "November"
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:78
-#, fuzzy
-#| msgid "December"
-msgctxt "alt. month"
-msgid "December"
-msgstr "Dezember"
-
-#: venv/lib/python3.11/site-packages/django/utils/ipv6.py:8
-msgid "This is not a valid IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/text.py:77
-#, python-format
-msgctxt "String to return when truncating text"
-msgid "%(truncated_text)s…"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/text.py:253
-msgid "or"
-msgstr ""
-
-#. Translators: This string is used as a separator between list elements
-#: venv/lib/python3.11/site-packages/django/utils/text.py:272
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:94
-msgid ", "
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:9
-#, python-format
-msgid "%(num)d year"
-msgid_plural "%(num)d years"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:10
-#, python-format
-msgid "%(num)d month"
-msgid_plural "%(num)d months"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:11
-#, python-format
-msgid "%(num)d week"
-msgid_plural "%(num)d weeks"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:12
-#, python-format
-msgid "%(num)d day"
-msgid_plural "%(num)d days"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:13
-#, python-format
-msgid "%(num)d hour"
-msgid_plural "%(num)d hours"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:14
-#, python-format
-msgid "%(num)d minute"
-msgid_plural "%(num)d minutes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:111
-#, fuzzy
-#| msgid "Forbidden Method GET"
-msgid "Forbidden"
-msgstr "Verbotene Methode GET"
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:112
-msgid "CSRF verification failed. Request aborted."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:116
-msgid ""
-"You are seeing this message because this HTTPS site requires a “Referer "
-"header” to be sent by your web browser, but none was sent. This header is "
-"required for security reasons, to ensure that your browser is not being "
-"hijacked by third parties."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:122
-msgid ""
-"If you have configured your browser to disable “Referer” headers, please re-"
-"enable them, at least for this site, or for HTTPS connections, or for “same-"
-"origin” requests."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:127
-msgid ""
-"If you are using the tag or "
-"including the “Referrer-Policy: no-referrer” header, please remove them. The "
-"CSRF protection requires the “Referer” header to do strict referer checking. "
-"If you’re concerned about privacy, use alternatives like for links to third-party sites."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:136
-msgid ""
-"You are seeing this message because this site requires a CSRF cookie when "
-"submitting forms. This cookie is required for security reasons, to ensure "
-"that your browser is not being hijacked by third parties."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:142
-msgid ""
-"If you have configured your browser to disable cookies, please re-enable "
-"them, at least for this site, or for “same-origin” requests."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:148
-msgid "More information is available with DEBUG=True."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:44
-msgid "No year specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:64
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:115
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:214
-msgid "Date out of range"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:94
-msgid "No month specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:147
-msgid "No day specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:194
-msgid "No week specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:349
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:380
-#, python-format
-msgid "No %(verbose_name_plural)s available"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:652
-#, python-format
-msgid ""
-"Future %(verbose_name_plural)s not available because %(class_name)s."
-"allow_future is False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:692
-#, python-format
-msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/detail.py:56
-#, python-format
-msgid "No %(verbose_name)s found matching the query"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:70
-msgid "Page is not “last”, nor can it be converted to an int."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:77
-#, python-format
-msgid "Invalid page (%(page_number)s): %(message)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:169
-#, python-format
-msgid "Empty list and “%(class_name)s.allow_empty” is False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:39
-msgid "Directory indexes are not allowed here."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:41
-#, python-format
-msgid "“%(path)s” does not exist"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:80
-#, python-format
-msgid "Index of %(directory)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:7
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:221
-msgid "The install worked successfully! Congratulations!"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:207
-#, python-format
-msgid ""
-"View release notes for Django %(version)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:222
-#, python-format
-msgid ""
-"You are seeing this page because DEBUG=True is in your settings file and you have not "
-"configured any URLs."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:230
-msgid "Django Documentation"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:231
-msgid "Topics, references, & how-to’s"
-msgstr ""
+#: shiftings/accounts/forms/user_form.py:13
+msgid "Confirm password"
+msgstr "Passwort bestätigen"
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:239
-msgid "Tutorial: A Polling App"
-msgstr ""
+#: shiftings/accounts/forms/user_form.py:31
+#: shiftings/accounts/forms/user_form.py:32
+msgid "Please enter matching passwords"
+msgstr "Bitte gebe identische Passwörter ein"
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:240
-msgid "Get started with Django"
+#: shiftings/accounts/forms/user_form.py:65
+msgid "Cannot change first name, last name or email for LDAP users."
msgstr ""
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:248
-msgid "Django Community"
-msgstr ""
+#: shiftings/accounts/models/oidc_token.py:28
+#: shiftings/accounts/templates/accounts/user_detail.html:29
+#: shiftings/organizations/models/membership.py:68
+#: shiftings/shifts/models/participant.py:13
+#: shiftings/templates/top_nav.html:47
+msgid "User"
+msgstr "Benutzer"
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:249
-msgid "Connect, get help, or contribute"
+#: shiftings/accounts/models/oidc_token.py:30
+msgid "Refresh Token"
msgstr ""
-#: venv/lib/python3.11/site-packages/django_bootstrap5/components.py:26
+#: shiftings/accounts/models/oidc_token.py:31
#, fuzzy
-#| msgid "Close"
-msgid "close"
-msgstr "Schließen"
-
-#: venv/lib/python3.11/site-packages/isort/main.py:158
-msgid "show this help message and exit"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/mypy/main.py:376
-#, python-format
-msgid "%(prog)s: error: %(message)s\n"
-msgstr ""
-
-#: src/shiftings/accounts/forms/user_form.py:11
-msgid "Confirm password"
-msgstr "Passwort bestätigen"
-
-#: src/shiftings/accounts/forms/user_form.py:30
-msgid "Please enter matching passwords"
-msgstr "Bitte gebe identische Passwörter ein"
+#| msgid "Update"
+msgid "Updated"
+msgstr "Aktualisieren"
-#: src/shiftings/accounts/models/user.py:32
-#: src/shiftings/accounts/templates/accounts/user_detail.html:52
-#: src/shiftings/shifts/models/participant.py:15
+#: shiftings/accounts/models/user.py:32
+#: shiftings/accounts/templates/accounts/user_detail.html:52
+#: shiftings/shifts/models/participant.py:15
msgid "Display Name"
msgstr "Anzeigename"
-#: src/shiftings/accounts/models/user.py:33
-#: src/shiftings/events/models/event.py:29
-#: src/shiftings/organizations/models/organization.py:28
+#: shiftings/accounts/models/user.py:33 shiftings/events/models/event.py:29
+#: shiftings/organizations/models/organization.py:28
msgid "Telephone Number"
msgstr "Telefonnummer"
-#: src/shiftings/accounts/templates/accounts/confirm_email.html:7
+#: shiftings/accounts/templates/accounts/confirm_email.html:7
msgid "Go to Login"
msgstr "Zum Login"
-#: src/shiftings/accounts/templates/accounts/login_form.html:6
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:12
+#: shiftings/accounts/templates/accounts/login_form.html:6
+#: shiftings/accounts/templates/accounts/login_multiple.html:12
msgid "Login with local Account"
msgstr "Login mit lokalem Account"
-#: src/shiftings/accounts/templates/accounts/login_form.html:8
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:20
+#: shiftings/accounts/templates/accounts/login_form.html:8
+#: shiftings/accounts/templates/accounts/login_multiple.html:20
msgid "Login with LDAP Account"
msgstr "Login mit LDAP Account"
-#: src/shiftings/accounts/templates/accounts/login_form.html:14
-#: src/shiftings/accounts/views/auth.py:27
-#: src/shiftings/templates/top_nav.html:57
+#: shiftings/accounts/templates/accounts/login_form.html:14
+#: shiftings/accounts/views/auth.py:23 shiftings/templates/top_nav.html:60
msgid "Login"
msgstr "Einloggen"
-#: src/shiftings/accounts/templates/accounts/login_form.html:16
-#: src/shiftings/accounts/templates/accounts/password_reset/prompt.html:10
+#: shiftings/accounts/templates/accounts/login_form.html:16
+#: shiftings/accounts/templates/accounts/password_reset/prompt.html:10
msgid "Reset Password"
msgstr "Passwort zurücksetzen"
-#: src/shiftings/accounts/templates/accounts/login_form.html:18
+#: shiftings/accounts/templates/accounts/login_form.html:18
msgid "Return to selection"
msgstr "Zur Auswahl zurückkehren"
-#: src/shiftings/accounts/templates/accounts/login_form.html:29
+#: shiftings/accounts/templates/accounts/login_form.html:29
msgid "You don't have an Account?"
msgstr "Noch kein Account?"
-#: src/shiftings/accounts/templates/accounts/login_form.html:30
+#: shiftings/accounts/templates/accounts/login_form.html:30
msgid "Register here"
msgstr "Hier registrieren"
-#: src/shiftings/accounts/templates/accounts/login_form.html:32
+#: shiftings/accounts/templates/accounts/login_form.html:32
msgid "Or login using another Method"
msgstr "Oder nutze eine andere Loginmethode"
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:5
+#: shiftings/accounts/templates/accounts/login_multiple.html:5
msgid "Welcome to Shiftings"
msgstr "Wilkommen bei Shiftings"
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:6
+#: shiftings/accounts/templates/accounts/login_multiple.html:6
msgid ""
"To manage your shifts please authenticate with one of the given methods:"
msgstr ""
"Um deine Schichten zu verwalten melde dich bitte mit einer dieser Methoden "
"an:"
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:31
+#: shiftings/accounts/templates/accounts/login_multiple.html:31
#, fuzzy, python-format
#| msgid ""
#| "\n"
@@ -1715,28 +126,28 @@ msgstr ""
" vor %(time)s\n"
" "
-#: src/shiftings/accounts/templates/accounts/logout.html:6
+#: shiftings/accounts/templates/accounts/logout.html:6
msgid "Successfully logged out"
msgstr "Erfolgreich ausgeloggt"
-#: src/shiftings/accounts/templates/accounts/logout.html:7
+#: shiftings/accounts/templates/accounts/logout.html:7
msgid "Login again"
msgstr "Wieder einloggen"
-#: src/shiftings/accounts/templates/accounts/password_reset/confirm.html:7
+#: shiftings/accounts/templates/accounts/password_reset/confirm.html:7
msgid "Change Password"
msgstr "Passwort ändern"
-#: src/shiftings/accounts/templates/accounts/password_reset/done.html:4
+#: shiftings/accounts/templates/accounts/password_reset/done.html:4
msgid "Your password has been reset, check your email!"
msgstr "Dein Passwort wurde zurückgesetzt, überprüfe deine E-Mails!"
-#: src/shiftings/accounts/templates/accounts/password_reset/done.html:5
-#: src/shiftings/accounts/templates/accounts/password_reset/success.html:5
+#: shiftings/accounts/templates/accounts/password_reset/done.html:5
+#: shiftings/accounts/templates/accounts/password_reset/success.html:5
msgid "Back to login"
msgstr "Zurück zum Login"
-#: src/shiftings/accounts/templates/accounts/password_reset/prompt.html:4
+#: shiftings/accounts/templates/accounts/password_reset/prompt.html:4
msgid ""
"\n"
" If you are an local user enter your email-adress below to reset your "
@@ -1748,15 +159,15 @@ msgstr ""
"Passwort zurückzusetzen!\n"
" "
-#: src/shiftings/accounts/templates/accounts/password_reset/success.html:4
+#: shiftings/accounts/templates/accounts/password_reset/success.html:4
msgid "Your password has been successfully reset!"
msgstr "Deine Passwort wurde erfolgreich zurückgesetzt!"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:3
+#: shiftings/accounts/templates/accounts/user_detail.html:3
msgid "Confirm User Deletion"
msgstr "Bestätige die Löschung des Benutzers"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:5
+#: shiftings/accounts/templates/accounts/user_detail.html:5
#, python-format
msgid ""
"\n"
@@ -1772,128 +183,124 @@ msgstr ""
"werden.\n"
" "
-#: src/shiftings/accounts/templates/accounts/user_detail.html:17
+#: shiftings/accounts/templates/accounts/user_detail.html:17
msgid "Yes, I want to permanently delete my Data"
msgstr "Ja, ich möchte meine Daten entgültig löschen"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:19
+#: shiftings/accounts/templates/accounts/user_detail.html:19
msgid "Abort"
msgstr "Abbrechen"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:29
-#: src/shiftings/organizations/models/membership.py:68
-#: src/shiftings/shifts/models/participant.py:13
-#: src/shiftings/templates/top_nav.html:47
-msgid "User"
-msgstr "Benutzer"
-
-#: src/shiftings/accounts/templates/accounts/user_detail.html:37
-#: src/shiftings/accounts/templates/accounts/user_detail.html:57
+#: shiftings/accounts/templates/accounts/user_detail.html:37
+#: shiftings/accounts/templates/accounts/user_detail.html:57
msgid "Edit user data"
msgstr "Benutzerdaten bearbeiten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:48
-#: src/shiftings/organizations/forms/membership.py:16
+#: shiftings/accounts/templates/accounts/user_detail.html:48
+#: shiftings/organizations/forms/membership.py:16
msgid "Username"
msgstr "Benutzername"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:50
-#: src/shiftings/events/models/event.py:25
-#: src/shiftings/events/templates/events/event.html:85
-#: src/shiftings/organizations/models/membership.py:10
-#: src/shiftings/organizations/models/organization.py:24
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:195
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:239
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:278
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:388
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:39
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:13
-#: src/shiftings/shifts/models/base.py:8
-#: src/shiftings/shifts/models/recurring.py:32
-#: src/shiftings/shifts/models/template.py:17
-#: src/shiftings/shifts/models/template_group.py:20
-#: src/shiftings/shifts/models/type.py:40
-#: src/shiftings/shifts/models/type_group.py:16
-#: src/shiftings/shifts/templates/shifts/group/list.html:6
-#: src/shiftings/shifts/templates/shifts/list.html:6
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:6
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:6
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:5
-#: src/shiftings/shifts/templates/shifts/type_group/list.html:7
+#: shiftings/accounts/templates/accounts/user_detail.html:50
+#: shiftings/events/models/event.py:25
+#: shiftings/events/templates/events/event.html:85
+#: shiftings/organizations/models/membership.py:10
+#: shiftings/organizations/models/organization.py:24
+#: shiftings/organizations/templates/organizations/organization_admin.html:195
+#: shiftings/organizations/templates/organizations/organization_admin.html:239
+#: shiftings/organizations/templates/organizations/organization_admin.html:278
+#: shiftings/organizations/templates/organizations/organization_admin.html:388
+#: shiftings/organizations/templates/organizations/organization_settings.html:39
+#: shiftings/organizations/templates/organizations/user/claim_users.html:13
+#: shiftings/shifts/models/base.py:8 shiftings/shifts/models/recurring.py:32
+#: shiftings/shifts/models/template.py:17
+#: shiftings/shifts/models/template_group.py:20
+#: shiftings/shifts/models/type.py:40 shiftings/shifts/models/type_group.py:16
+#: shiftings/shifts/templates/shifts/group/list.html:6
+#: shiftings/shifts/templates/shifts/list.html:6
+#: shiftings/shifts/templates/shifts/recurring/list.html:6
+#: shiftings/shifts/templates/shifts/template/group_list.html:6
+#: shiftings/shifts/templates/shifts/template/template_form.html:5
+#: shiftings/shifts/templates/shifts/type_group/list.html:7
msgid "Name"
msgstr "Name"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:58
+#: shiftings/accounts/templates/accounts/user_detail.html:55
+#: shiftings/accounts/templates/accounts/user_detail.html:65
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: shiftings/accounts/templates/accounts/user_detail.html:58
msgid "Set Display Name"
msgstr "Setze Anzeigename"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:62
+#: shiftings/accounts/templates/accounts/user_detail.html:62
msgid "Email"
msgstr "Email"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:64
+#: shiftings/accounts/templates/accounts/user_detail.html:64
msgid "Phone Number"
msgstr "Telefonnummer"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:66
+#: shiftings/accounts/templates/accounts/user_detail.html:66
msgid "Member since"
msgstr "Mitglied seit"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:68
+#: shiftings/accounts/templates/accounts/user_detail.html:68
msgid "Total Shifts"
msgstr "Anzahl Schichten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:70
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:124
+#: shiftings/accounts/templates/accounts/user_detail.html:70
+#: shiftings/organizations/templates/organizations/organization_admin.html:124
msgid "Groups"
msgstr "Gruppen"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:71
-#: src/shiftings/events/templates/events/template/event.html:32
-#: src/shiftings/shifts/templates/shifts/template/template.html:19
+#: shiftings/accounts/templates/accounts/user_detail.html:71
+#: shiftings/events/templates/events/template/event.html:32
+#: shiftings/shifts/templates/shifts/template/template.html:19
msgid "None"
msgstr "Keine"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:77
+#: shiftings/accounts/templates/accounts/user_detail.html:77
msgid "Organizations"
msgstr "Organisationen"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:83
+#: shiftings/accounts/templates/accounts/user_detail.html:83
msgid "Hide organizations"
msgstr "Organisationen einklappen"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:102
-#: src/shiftings/events/templates/events/template/event.html:12
+#: shiftings/accounts/templates/accounts/user_detail.html:102
+#: shiftings/events/templates/events/template/event.html:12
msgid "No Logo available"
msgstr "Kein Logo verfügbar"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:125
+#: shiftings/accounts/templates/accounts/user_detail.html:125
msgid "Recent Shifts"
msgstr "Letzte Schichten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:127
-#: src/shiftings/accounts/templates/accounts/user_detail.html:132
+#: shiftings/accounts/templates/accounts/user_detail.html:127
+#: shiftings/accounts/templates/accounts/user_detail.html:132
msgid "Upcoming Shifts"
msgstr "Anstehende Schichten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:136
+#: shiftings/accounts/templates/accounts/user_detail.html:136
msgid "Past Shifts"
msgstr "Vergangene Schichten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:157
+#: shiftings/accounts/templates/accounts/user_detail.html:157
msgid "No recent Shifts"
msgstr "Keine vergangenen Schichten"
-#: src/shiftings/accounts/templates/accounts/user_detail.html:159
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:135
+#: shiftings/accounts/templates/accounts/user_detail.html:159
+#: shiftings/organizations/templates/organizations/organization_shifts.html:135
msgid "No upcoming shifts"
msgstr "Keine anstehenden Schichten"
-#: src/shiftings/accounts/templates/accounts/user_form.html:6
+#: shiftings/accounts/templates/accounts/user_form.html:6
msgid "Register"
msgstr "Registrieren"
-#: src/shiftings/accounts/templates/accounts/user_form.html:8
+#: shiftings/accounts/templates/accounts/user_form.html:8
#, python-format
msgid ""
"\n"
@@ -1904,434 +311,440 @@ msgstr ""
" Bearbeite Benutzer %(user)s\n"
" "
-#: src/shiftings/accounts/templates/accounts/user_form.html:19
-#: src/shiftings/templates/template/simple_form_modal.html:21
+#: shiftings/accounts/templates/accounts/user_form.html:19
+#: shiftings/templates/template/simple_form_modal.html:21
msgid "Submit"
msgstr "Bestätigen"
-#: src/shiftings/accounts/views/auth.py:83
+#: shiftings/accounts/views/auth.py:79
msgid "Error while creating the user instance!"
msgstr "Fehler beim erstellen der Benutzerinstanz!"
-#: src/shiftings/accounts/views/auth.py:87
+#: shiftings/accounts/views/auth.py:83
msgid "Successfully logged in!"
msgstr "Erfolgreich eingeloggt!"
-#: src/shiftings/accounts/views/auth.py:90
+#: shiftings/accounts/views/auth.py:86
#, python-format
msgid "Error while trying to authenticate with sso! %(message)s"
msgstr "Fehler beim Versuch gegen SSO zu authentifizieren! %(message)s"
-#: src/shiftings/accounts/views/auth.py:131
-#: src/shiftings/templates/top_nav.html:52
+#: shiftings/accounts/views/auth.py:111 shiftings/templates/top_nav.html:54
msgid "Logout"
msgstr "Ausloggen"
-#: src/shiftings/accounts/views/password.py:13
+#: shiftings/accounts/views/password.py:13
msgid "Password Reset"
msgstr "Passwort zurücksetzen"
-#: src/shiftings/accounts/views/password.py:19
+#: shiftings/accounts/views/password.py:19
msgid "Confirm Password Reset"
msgstr "Passwort Zurücksetzung bestätigen"
-#: src/shiftings/accounts/views/user.py:35
-#: src/shiftings/templates/top_nav.html:15
+#: shiftings/accounts/views/user.py:35 shiftings/templates/top_nav.html:15
msgid "My Shifts"
msgstr "Meine Schichten"
-#: src/shiftings/accounts/views/user.py:100
+#: shiftings/accounts/views/user.py:102
msgid "Could not find your user."
msgstr "Konnte deinen Benutzer nicht finden."
-#: src/shiftings/accounts/views/user.py:106
+#: shiftings/accounts/views/user.py:108
msgid "Your EMail was confirmed. You can now login."
msgstr "Deine EMail wurde bestätigt. Du kannst dich jetzt einloggen."
-#: src/shiftings/accounts/views/user.py:109
+#: shiftings/accounts/views/user.py:111
msgid "Your activation link was invalid."
msgstr "Dein Aktivierungslink war ungültig."
-#: src/shiftings/accounts/views/user.py:126
+#: shiftings/accounts/views/user.py:128
msgid "Error while deleting your data: Please confirm deletion!"
msgstr "Fehler beim Löschen deiner Daten: Bitte bestätige die Löschung!"
-#: src/shiftings/cal/feed/event.py:44
+#: shiftings/cal/feed/event.py:44
msgid "Public Events"
msgstr "Öffentliche Events"
-#: src/shiftings/cal/forms/day_form.py:8
+#: shiftings/cal/forms/day_form.py:8
msgid "Select Day"
msgstr "Tag auswählen"
-#: src/shiftings/cal/templates/cal/calendar_base.html:14
-#: src/shiftings/cal/templates/cal/calendar_base.html:24
+#: shiftings/cal/templates/cal/calendar_base.html:14
+#: shiftings/cal/templates/cal/calendar_base.html:24
msgid "Day View"
msgstr "Tagesansicht"
-#: src/shiftings/cal/templates/cal/calendar_base.html:20
+#: shiftings/cal/templates/cal/calendar_base.html:20
msgid "Day (Detailed)"
msgstr "Tag (Detailliert)"
-#: src/shiftings/cal/templates/cal/calendar_base.html:30
+#: shiftings/cal/templates/cal/calendar_base.html:30
msgid "Day (By Types)"
msgstr "Tag (Nach Typ)"
-#: src/shiftings/cal/templates/cal/calendar_base.html:37
+#: shiftings/cal/templates/cal/calendar_base.html:37
msgid "Month View"
msgstr "Monatsansicht"
-#: src/shiftings/cal/templates/cal/calendar_base.html:38
-#: src/shiftings/utils/time/month.py:25
-#: src/shiftings/utils/time/timerange.py:12
+#: shiftings/cal/templates/cal/calendar_base.html:38
+#: shiftings/utils/time/month.py:25 shiftings/utils/time/timerange.py:12
msgid "Month"
msgstr "Monat"
-#: src/shiftings/cal/templates/cal/calendar_base.html:42
-#: src/shiftings/cal/templates/cal/calendar_base.html:48
+#: shiftings/cal/templates/cal/calendar_base.html:42
+#: shiftings/cal/templates/cal/calendar_base.html:48
msgid "List View"
msgstr "Listenansicht"
-#: src/shiftings/cal/templates/cal/calendar_base.html:44
+#: shiftings/cal/templates/cal/calendar_base.html:44
msgid "List (Detailed)"
msgstr "Liste (Detailliert)"
-#: src/shiftings/cal/templates/cal/calendar_base.html:50
+#: shiftings/cal/templates/cal/calendar_base.html:50
msgid "List (By Types)"
msgstr "Liste (Nach Typ)"
-#: src/shiftings/cal/templates/cal/calendar_templates/cal_shift_create_entry.html:4
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:106
-#: src/shiftings/events/templates/events/event.html:74
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:376
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:120
+#: shiftings/cal/templates/cal/calendar_templates/cal_shift_create_entry.html:4
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:106
+#: shiftings/events/templates/events/event.html:74
+#: shiftings/organizations/templates/organizations/organization_admin.html:376
+#: shiftings/organizations/templates/organizations/organization_shifts.html:120
msgid "Create Shift"
msgstr "Schicht erstellen"
-#: src/shiftings/cal/templates/cal/calendar_templates/recurring_shift_entry.html:5
+#: shiftings/cal/templates/cal/calendar_templates/recurring_shift_entry.html:5
msgid "Recurring"
msgstr "Wiederholend"
-#: src/shiftings/cal/templates/cal/day_calendar.html:14
+#: shiftings/cal/templates/cal/day_calendar.html:14
msgid "Previous Day"
msgstr "Letzter Tag"
-#: src/shiftings/cal/templates/cal/day_calendar.html:22
+#: shiftings/cal/templates/cal/day_calendar.html:22
msgid "Jump to Date"
msgstr "Zum Datum springen"
-#: src/shiftings/cal/templates/cal/day_calendar.html:28
+#: shiftings/cal/templates/cal/day_calendar.html:28
msgid "Jump to Day"
msgstr "Zum Tag springen"
-#: src/shiftings/cal/templates/cal/day_calendar.html:30
+#: shiftings/cal/templates/cal/day_calendar.html:30
msgid "Select"
msgstr "Auswählen"
-#: src/shiftings/cal/templates/cal/day_calendar.html:38
+#: shiftings/cal/templates/cal/day_calendar.html:38
msgid "Next Day"
msgstr "Nächster Tag"
-#: src/shiftings/cal/templates/cal/list_calendar.html:12
+#: shiftings/cal/templates/cal/list_calendar.html:12
#, fuzzy
#| msgid "Shifts"
msgid "Shift list"
msgstr "Schichten"
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:7
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:48
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:4
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:3
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:3
+#, python-format
+msgid ""
+"\n"
+" Your query was capped to the server limit of %(max_entries)s. Please "
+"filter more specifically.\n"
+" "
+msgstr ""
+"\n"
+" Deine Anfrage wurde auf %(max_entries)s Schichten begrenzt. Bitte gib "
+"genauere Filter an.\n"
+" "
+
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:14
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:48
+#: shiftings/shifts/templates/shifts/shift_participants.html:4
msgid "Add with Name to Shift"
msgstr "Mit Namen zur Schicht hinzufügen"
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:33
-#: src/shiftings/organizations/models/membership.py:12
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:30
+#: shiftings/organizations/templates/organizations/organization_admin.html:197
+#: shiftings/shifts/templates/shifts/template/group.html:43
+#: shiftings/shifts/templates/shifts/template/group_template.html:23
+#: shiftings/shifts/templates/shifts/template/shift.html:10
+#: shiftings/shifts/templates/shifts/template/template_form.html:33
+msgid "Time"
+msgstr "Zeit"
+
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:40
+#: shiftings/organizations/models/membership.py:12
msgid "Default"
msgstr "Standard"
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:38
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:95
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:45
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:95
msgid "No Shifts found with these parameters or planned on this day"
msgstr ""
"An diesem Tag sind keine Schichten mit diesen Parametern gefunden oder "
"geplant"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:3
-msgid ""
-"\n"
-" Your query was capped to the server limit of %(max_entries)s. Please "
-"filter more specifically.\n"
-" "
-msgstr ""
-"\n"
-" Deine Anfrage wurde auf %(max_entries)s Schichten begrenzt. Bitte "
-"gib genauere Filter an.\n"
-" "
-
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:12
-#: src/shiftings/events/models/event.py:24
-#: src/shiftings/shifts/models/base.py:12
-#: src/shiftings/shifts/models/recurring.py:34
-#: src/shiftings/shifts/models/template_group.py:24
-#: src/shiftings/shifts/models/type.py:37
-#: src/shiftings/shifts/models/type_group.py:14
-#: src/shiftings/shifts/templates/shifts/create_shift.html:79
-#: src/shiftings/shifts/templates/shifts/list.html:9
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:9
-#: src/shiftings/shifts/templates/shifts/shift.html:47
-#: src/shiftings/shifts/templates/shifts/template/group.html:39
-#: src/shiftings/shifts/templates/shifts/template/group.html:45
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:8
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:25
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:12
+#: shiftings/events/models/event.py:24 shiftings/shifts/models/base.py:12
+#: shiftings/shifts/models/recurring.py:34
+#: shiftings/shifts/models/template_group.py:24
+#: shiftings/shifts/models/type.py:37 shiftings/shifts/models/type_group.py:14
+#: shiftings/shifts/templates/shifts/create_shift.html:79
+#: shiftings/shifts/templates/shifts/list.html:9
+#: shiftings/shifts/templates/shifts/recurring/list.html:9
+#: shiftings/shifts/templates/shifts/shift.html:47
+#: shiftings/shifts/templates/shifts/template/group.html:39
+#: shiftings/shifts/templates/shifts/template/group.html:45
+#: shiftings/shifts/templates/shifts/template/group_list.html:8
+#: shiftings/shifts/templates/shifts/template/group_template.html:25
msgid "Organization"
msgstr "Organisation"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:13
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:13
msgid "Org"
msgstr "Org"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:14
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:14
msgid "Shift"
msgstr "Schicht"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:15
-#: src/shiftings/shifts/templates/shifts/create_shift.html:56
-#: src/shiftings/shifts/templates/shifts/template/shift.html:12
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:21
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:15
+#: shiftings/shifts/templates/shifts/create_shift.html:56
+#: shiftings/shifts/templates/shifts/template/shift.html:12
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:21
msgid "Participants"
msgstr "Teilnehmer"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:16
-#: src/shiftings/shifts/templates/shifts/list.html:10
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:16
+#: shiftings/shifts/templates/shifts/list.html:10
msgid "Start"
msgstr "Start"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:17
-#: src/shiftings/shifts/templates/shifts/list.html:11
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:17
+#: shiftings/shifts/templates/shifts/list.html:11
msgid "End"
msgstr "Ende"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:36
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:7
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:36
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:7
msgid "Shift Details"
msgstr "Schicht Details"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:61
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:23
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:29
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:44
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:61
+#: shiftings/shifts/templates/shifts/shift_participants.html:23
+#: shiftings/shifts/templates/shifts/template/slots_display.html:29
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:44
msgid "Add me"
msgstr "Mich hinzufügen"
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:112
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:31
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:26
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:112
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:31
+#: shiftings/shifts/templates/shifts/edit_templates.html:26
msgid "Add Shift"
msgstr "Schicht hinzufügen"
-#: src/shiftings/cal/templates/cal/template/month_calendar.html:7
+#: shiftings/cal/templates/cal/template/month_calendar.html:7
msgid "Previous Month"
msgstr "Letzter Monat"
-#: src/shiftings/cal/templates/cal/template/month_calendar.html:15
+#: shiftings/cal/templates/cal/template/month_calendar.html:15
msgid "Next Month"
msgstr "Nächster Monat"
-#: src/shiftings/cal/templates/cal/week_calendar.html:9
+#: shiftings/cal/templates/cal/week_calendar.html:9
msgid "Previous Week"
msgstr "Letzte Woche"
-#: src/shiftings/cal/templates/cal/week_calendar.html:13
+#: shiftings/cal/templates/cal/week_calendar.html:13
msgid "Week"
msgstr "Woche"
-#: src/shiftings/cal/templates/cal/week_calendar.html:17
+#: shiftings/cal/templates/cal/week_calendar.html:17
msgid "Next Week"
msgstr "Nächste Woche"
-#: src/shiftings/cal/views/day_calendar.py:24
+#: shiftings/cal/views/day_calendar.py:24
#, python-brace-format
msgid "Day {date}"
msgstr "Tag {date}"
-#: src/shiftings/cal/views/day_calendar.py:25
+#: shiftings/cal/views/day_calendar.py:25
msgid "Day Overview"
msgstr "Tagesübersicht"
-#: src/shiftings/cal/views/list.py:24
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:6
+#: shiftings/cal/views/list.py:24
+#: shiftings/organizations/templates/organizations/template/org_info.html:6
msgid "Shift Overview"
msgstr "Schichtenübersicht"
-#: src/shiftings/cal/views/month_calendar.py:24
+#: shiftings/cal/views/month_calendar.py:24
#, python-brace-format
msgid "Month {year}/{month:0>2}"
msgstr "Monat {year}/{month:0>2}"
-#: src/shiftings/cal/views/month_calendar.py:26
-#: src/shiftings/events/templates/events/event.html:52
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:162
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:28
+#: shiftings/cal/views/month_calendar.py:26
+#: shiftings/events/templates/events/event.html:52
+#: shiftings/organizations/templates/organizations/organization_admin.html:162
+#: shiftings/organizations/templates/organizations/organization_shifts.html:28
msgid "Month Overview"
msgstr "Monatsübersicht"
-#: src/shiftings/events/forms/event.py:24
+#: shiftings/events/forms/event.py:24
#, python-format
msgid "Start date %(start)s was after end_date %(end)s"
msgstr "Startdatum %(start)s ist nach dem Enddatum %(end)s"
-#: src/shiftings/events/models/event.py:26
-#: src/shiftings/events/templates/events/event.html:19
-#: src/shiftings/organizations/models/organization.py:25
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:58
+#: shiftings/events/models/event.py:26
+#: shiftings/events/templates/events/event.html:19
+#: shiftings/organizations/models/organization.py:25
+#: shiftings/organizations/templates/organizations/template/org_info.html:58
msgid "Logo"
msgstr "Logo"
-#: src/shiftings/events/models/event.py:28
-#: src/shiftings/organizations/models/organization.py:27
+#: shiftings/events/models/event.py:28
+#: shiftings/organizations/models/organization.py:27
msgid "E-Mail"
msgstr "E-Mail"
-#: src/shiftings/events/models/event.py:30
-#: src/shiftings/organizations/models/organization.py:29
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:81
-#: src/shiftings/organizations/templates/organizations/template/organization.html:27
+#: shiftings/events/models/event.py:30
+#: shiftings/organizations/models/organization.py:29
+#: shiftings/organizations/templates/organizations/organization_shifts.html:81
+#: shiftings/organizations/templates/organizations/template/organization.html:27
msgid "Website"
msgstr "Webseite"
-#: src/shiftings/events/models/event.py:32
+#: shiftings/events/models/event.py:32
msgid "Start Date"
msgstr "Startdatum"
-#: src/shiftings/events/models/event.py:32
+#: shiftings/events/models/event.py:32
msgid "Earliest date where there are shifts available"
msgstr "Frühestes Datum an dem Schichten verfügbar sind"
-#: src/shiftings/events/models/event.py:33
+#: shiftings/events/models/event.py:33
msgid "End Date"
msgstr "Enddatum"
-#: src/shiftings/events/models/event.py:33
+#: shiftings/events/models/event.py:33
msgid "Latest date where there are shifts available"
msgstr "Spätestes Datum an dem Schichten verfügbar sind"
-#: src/shiftings/events/models/event.py:35
-#: src/shiftings/organizations/models/organization.py:32
+#: shiftings/events/models/event.py:35
+#: shiftings/organizations/models/organization.py:32
msgid "Description"
msgstr "Beschreibung"
-#: src/shiftings/events/models/event.py:55
+#: shiftings/events/models/event.py:55
#, python-brace-format
msgid "{name} (by {organization})"
msgstr "{name} (von {organization})"
-#: src/shiftings/events/templates/events/event.html:10
+#: shiftings/events/templates/events/event.html:10
msgid "Edit Event"
msgstr "Event bearbeiten"
-#: src/shiftings/events/templates/events/event.html:55
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:165
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:31
+#: shiftings/events/templates/events/event.html:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:165
+#: shiftings/organizations/templates/organizations/organization_shifts.html:31
msgid "Complete Overview"
msgstr "Komplette Übersicht"
-#: src/shiftings/events/templates/events/event.html:69
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:363
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:109
+#: shiftings/events/templates/events/event.html:69
+#: shiftings/organizations/templates/organizations/organization_admin.html:363
+#: shiftings/organizations/templates/organizations/organization_shifts.html:109
msgid "Shifts"
msgstr "Schichten"
-#: src/shiftings/events/templates/events/event.html:71
-#: src/shiftings/events/templates/events/event.html:72
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:371
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:112
+#: shiftings/events/templates/events/event.html:71
+#: shiftings/events/templates/events/event.html:72
+#: shiftings/organizations/templates/organizations/organization_admin.html:371
+#: shiftings/organizations/templates/organizations/organization_shifts.html:112
msgid "ical Export"
msgstr "ical Export"
-#: src/shiftings/events/templates/events/event.html:86
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:389
-#: src/shiftings/shifts/templates/shifts/list.html:7
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:7
-#: src/shiftings/shifts/templates/shifts/template/shift.html:8
-#: src/shiftings/shifts/templates/shifts/template/template.html:7
+#: shiftings/events/templates/events/event.html:86
+#: shiftings/organizations/templates/organizations/organization_admin.html:389
+#: shiftings/shifts/templates/shifts/list.html:7
+#: shiftings/shifts/templates/shifts/recurring/list.html:7
+#: shiftings/shifts/templates/shifts/template/shift.html:8
+#: shiftings/shifts/templates/shifts/template/template.html:7
msgid "Type"
msgstr "Typ"
-#: src/shiftings/events/templates/events/event.html:87
-#: src/shiftings/mail/forms/mail.py:39
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:241
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:390
-#: src/shiftings/shifts/models/template_group.py:26
-#: src/shiftings/shifts/templates/shifts/shift.html:43
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:9
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:17
-#: src/shiftings/shifts/templates/shifts/template/template.html:13
+#: shiftings/events/templates/events/event.html:87
+#: shiftings/mail/forms/mail.py:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:241
+#: shiftings/organizations/templates/organizations/organization_admin.html:390
+#: shiftings/shifts/models/template_group.py:26
+#: shiftings/shifts/templates/shifts/shift.html:43
+#: shiftings/shifts/templates/shifts/template/group_list.html:9
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:17
+#: shiftings/shifts/templates/shifts/template/template.html:13
msgid "Start Time"
msgstr "Startzeit"
-#: src/shiftings/events/templates/events/event.html:88
-#: src/shiftings/mail/forms/mail.py:40
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:391
-#: src/shiftings/shifts/templates/shifts/shift.html:45
-#: src/shiftings/shifts/templates/shifts/template/template.html:15
+#: shiftings/events/templates/events/event.html:88
+#: shiftings/mail/forms/mail.py:56
+#: shiftings/organizations/templates/organizations/organization_admin.html:391
+#: shiftings/shifts/templates/shifts/shift.html:45
+#: shiftings/shifts/templates/shifts/template/template.html:15
msgid "End Time"
msgstr "Endzeit"
-#: src/shiftings/events/templates/events/event.html:89
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:198
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:240
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:392
-#: src/shiftings/shifts/models/base.py:9
-#: src/shiftings/shifts/models/template_group.py:21
-#: src/shiftings/shifts/templates/shifts/list.html:8
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:8
-#: src/shiftings/shifts/templates/shifts/shift.html:41
-#: src/shiftings/shifts/templates/shifts/template/group.html:41
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:7
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:21
-#: src/shiftings/shifts/templates/shifts/template/shift_card.html:12
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:18
+#: shiftings/events/templates/events/event.html:89
+#: shiftings/organizations/templates/organizations/organization_admin.html:198
+#: shiftings/organizations/templates/organizations/organization_admin.html:240
+#: shiftings/organizations/templates/organizations/organization_admin.html:392
+#: shiftings/shifts/models/base.py:9
+#: shiftings/shifts/models/template_group.py:21
+#: shiftings/shifts/templates/shifts/list.html:8
+#: shiftings/shifts/templates/shifts/recurring/list.html:8
+#: shiftings/shifts/templates/shifts/shift.html:41
+#: shiftings/shifts/templates/shifts/template/group.html:41
+#: shiftings/shifts/templates/shifts/template/group_list.html:7
+#: shiftings/shifts/templates/shifts/template/group_template.html:21
+#: shiftings/shifts/templates/shifts/template/shift_card.html:12
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:18
msgid "Place"
msgstr "Ort"
-#: src/shiftings/events/templates/events/event.html:90
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:393
+#: shiftings/events/templates/events/event.html:90
+#: shiftings/organizations/templates/organizations/organization_admin.html:393
msgid "Users/Required/Max"
msgstr "Benutzer/Benötigt/Maximum"
-#: src/shiftings/events/templates/events/event.html:108
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:416
+#: shiftings/events/templates/events/event.html:108
+#: shiftings/organizations/templates/organizations/organization_admin.html:416
msgid "No current shifts"
msgstr "Keine aktuellen Schichten"
-#: src/shiftings/events/templates/events/list.html:5
-#: src/shiftings/events/templates/events/list.html:13
-#: src/shiftings/events/templates/events/list.html:22
+#: shiftings/events/templates/events/list.html:5
+#: shiftings/events/templates/events/list.html:13
+#: shiftings/events/templates/events/list.html:22
msgid "All Events"
msgstr "Alle Events"
-#: src/shiftings/events/templates/events/list.html:7
-#: src/shiftings/templates/top_nav.html:22
+#: shiftings/events/templates/events/list.html:7
+#: shiftings/templates/top_nav.html:22
msgid "Current Events"
msgstr "Aktuelle Events"
-#: src/shiftings/events/templates/events/list.html:16
+#: shiftings/events/templates/events/list.html:16
msgid "All upcoming Events"
msgstr "Alle anstehenden Events"
-#: src/shiftings/events/templates/events/list.html:20
+#: shiftings/events/templates/events/list.html:20
msgid "Enter Name or Organization"
msgstr "Name oder Organisation angeben"
-#: src/shiftings/events/templates/events/list.html:26
+#: shiftings/events/templates/events/list.html:26
msgid "Future Events"
msgstr "Zukünftige Events"
-#: src/shiftings/events/templates/events/list.html:39
+#: shiftings/events/templates/events/list.html:39
msgid "No Events found."
msgstr "Keine Events gefunden."
-#: src/shiftings/events/templates/events/template/event.html:23
+#: shiftings/events/templates/events/template/event.html:23
#, python-format
msgid ""
"\n"
@@ -2342,69 +755,81 @@ msgstr ""
" %(start_date)s bis %(end_date)s\n"
" "
-#: src/shiftings/events/templates/events/template/event.html:31
+#: shiftings/events/templates/events/template/event.html:31
msgid "Open Shifts"
msgstr "Offene Schichten"
-#: src/shiftings/events/templates/events/template/event.html:32
+#: shiftings/events/templates/events/template/event.html:32
msgid "Required People"
msgstr "Benötigte Personen"
-#: src/shiftings/events/templates/events/template/event.html:33
+#: shiftings/events/templates/events/template/event.html:33
msgid "Visibility"
msgstr "Sichtbarkeit"
-#: src/shiftings/events/templates/events/template/event.html:33
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:350
+#: shiftings/events/templates/events/template/event.html:33
+#: shiftings/organizations/templates/organizations/organization_admin.html:350
msgid "Public,Private,Unknown"
msgstr "Öffentlich,Privat,Unbekannt"
-#: src/shiftings/events/templates/events/template/event_stats.html:2
+#: shiftings/events/templates/events/template/event_stats.html:2
msgid "Shifts that are below the required amount of users"
msgstr "Schichten mit weniger als den benötigten Benutzern"
-#: src/shiftings/events/templates/events/template/event_stats.html:3
+#: shiftings/events/templates/events/template/event_stats.html:3
msgid "Shifts missing users"
msgstr "Schichten mit fehlenden Benutzern"
-#: src/shiftings/events/templates/events/template/event_stats.html:6
+#: shiftings/events/templates/events/template/event_stats.html:6
msgid "Shifts that are below the required and maximum amount of users"
msgstr "Schichten unter der benötigten und maximalen Benutzeranzahl"
-#: src/shiftings/events/templates/events/template/event_stats.html:7
+#: shiftings/events/templates/events/template/event_stats.html:7
msgid "Shifts with open slots"
msgstr "Schichten mit offenen Positionen"
-#: src/shiftings/events/templates/events/template/event_stats.html:10
+#: shiftings/events/templates/events/template/event_stats.html:10
msgid "Number of Shift slots filled with users"
msgstr "Anzahl mit Benutzern gefüllte Positionen"
-#: src/shiftings/events/templates/events/template/event_stats.html:11
+#: shiftings/events/templates/events/template/event_stats.html:11
msgid "Filled Slots"
msgstr "Gefüllte Positionen"
-#: src/shiftings/events/templates/events/template/event_stats.html:12
-#: src/shiftings/events/templates/events/template/event_stats.html:16
+#: shiftings/events/templates/events/template/event_stats.html:12
+#: shiftings/events/templates/events/template/event_stats.html:16
msgid "No Shifts available"
msgstr "Keine Schichten verfügbar"
-#: src/shiftings/events/templates/events/template/event_stats.html:14
+#: shiftings/events/templates/events/template/event_stats.html:14
msgid "Number of Shift slots that are still open"
msgstr "Anzahl offene Postiionen"
-#: src/shiftings/events/templates/events/template/event_stats.html:15
+#: shiftings/events/templates/events/template/event_stats.html:15
msgid "Open Slots"
msgstr "Offene Postionen"
-#: src/shiftings/mail/forms/mail.py:10
+#: shiftings/mail/forms/mail.py:13
msgid "Subject"
msgstr "Betreff"
-#: src/shiftings/mail/forms/mail.py:12
+#: shiftings/mail/forms/mail.py:14
+msgid "Text"
+msgstr "Text"
+
+#: shiftings/mail/forms/mail.py:15
msgid "Attachments"
msgstr "Anhänge"
-#: src/shiftings/mail/forms/mail.py:22
+#: shiftings/mail/forms/mail.py:26
+msgid "Each attachment must be smaller than 10 MB."
+msgstr ""
+
+#: shiftings/mail/forms/mail.py:30
+msgid "Total attachment size must be smaller than 25 MB."
+msgstr ""
+
+#: shiftings/mail/forms/mail.py:38
msgid ""
"Send the mail only to specific membership types. Or leave blank to send to "
"all."
@@ -2412,7 +837,7 @@ msgstr ""
"Email nur an bestimmte Mitgliedertypen senden oder leerlassen um sie an alle "
"zu schicken."
-#: src/shiftings/mail/forms/mail.py:37
+#: shiftings/mail/forms/mail.py:53
#, fuzzy
#| msgid ""
#| "Send the mail only to specific membership types. Or leave blank to send "
@@ -2423,193 +848,195 @@ msgstr ""
"Email nur an bestimmte Mitgliedertypen senden oder leerlassen um sie an alle "
"zu schicken."
-#: src/shiftings/mail/templates/mail/mail.html:8
+#: shiftings/mail/forms/mail.py:71
+msgid "Start time must be before end time."
+msgstr ""
+
+#: shiftings/mail/templates/mail/mail.html:8
msgid "Send Mail"
msgstr "Email versenden"
-#: src/shiftings/mail/views/mail.py:45
+#: shiftings/mail/views/mail.py:45
#, python-brace-format
msgid "E-Mail sent to {count} user(s)."
msgstr "Email an {count} Benutzer verschickt."
-#: src/shiftings/organizations/forms/membership.py:40
-#: src/shiftings/shifts/forms/participant.py:57
+#: shiftings/organizations/forms/membership.py:40
+#: shiftings/shifts/forms/participant.py:57
msgid "The user you entered could not be found."
msgstr "Der eingetragene Benutzer konnte nicht gefunden werden."
-#: src/shiftings/organizations/models/membership.py:11
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:68
-#: src/shiftings/templates/top_nav.html:50
+#: shiftings/organizations/models/membership.py:11
+#: shiftings/organizations/templates/organizations/organization_admin.html:68
+#: shiftings/templates/top_nav.html:50
msgid "Admin"
msgstr "Admin"
-#: src/shiftings/organizations/models/membership.py:13
+#: shiftings/organizations/models/membership.py:13
msgid "Permissions"
msgstr "Berechtigungen"
-#: src/shiftings/organizations/models/membership.py:19
+#: shiftings/organizations/models/membership.py:19
msgid "edit organization details"
msgstr "Organisationdetails bearbeiten"
-#: src/shiftings/organizations/models/membership.py:20
+#: shiftings/organizations/models/membership.py:20
msgid "see members of the organization"
msgstr "Mitglieder der Organisation sehen"
-#: src/shiftings/organizations/models/membership.py:21
+#: shiftings/organizations/models/membership.py:21
msgid "see shift participation statistics"
msgstr "Schicht Teilnahmestatistik der Organistation sehen"
-#: src/shiftings/organizations/models/membership.py:22
+#: shiftings/organizations/models/membership.py:22
msgid "send emails to everyone in the organization"
msgstr "Emails an alle in der Organisation senden"
-#: src/shiftings/organizations/models/membership.py:24
+#: shiftings/organizations/models/membership.py:24
msgid "create and update membership types for the organization"
msgstr "Mitgliedschaftstypen in der Organisation erstellen und ändern"
-#: src/shiftings/organizations/models/membership.py:25
+#: shiftings/organizations/models/membership.py:25
msgid "add and remove members for the organization"
msgstr "Mitglieder in der Organisation hinzufügen und entfernen"
-#: src/shiftings/organizations/models/membership.py:27
+#: shiftings/organizations/models/membership.py:27
msgid "create and update events for the organization"
msgstr "Events für die Organisation erstellen und bearbeiten"
-#: src/shiftings/organizations/models/membership.py:29
+#: shiftings/organizations/models/membership.py:29
msgid "create and update recurring shifts for the organization"
msgstr "Wiederkehrende Schichten für die Organisation erstellen und bearbeiten"
-#: src/shiftings/organizations/models/membership.py:30
+#: shiftings/organizations/models/membership.py:30
msgid "create and update shifts templates for the organization"
msgstr "Schichtvorlagen für die Organisation erstellen und bearbeiten"
-#: src/shiftings/organizations/models/membership.py:31
+#: shiftings/organizations/models/membership.py:31
msgid "create and update shifts for the organization"
msgstr "Schichten für die Organisation erstellen und bearbeiten"
-#: src/shiftings/organizations/models/membership.py:32
+#: shiftings/organizations/models/membership.py:32
msgid "delete uncompleted shifts for the organization"
msgstr "Unabgeschlossene Schichten der Organistation löschen"
-#: src/shiftings/organizations/models/membership.py:34
+#: shiftings/organizations/models/membership.py:34
msgid "remove others from shifts"
msgstr "Andere von Schichten entfernen"
-#: src/shiftings/organizations/models/membership.py:35
+#: shiftings/organizations/models/membership.py:35
msgid "add other users that are not members of the organization to shifts"
msgstr ""
"Andere Benutzer zu Schichten hinzufügen, die keine Mitglieder der "
"Organisation sind"
-#: src/shiftings/organizations/models/membership.py:36
+#: shiftings/organizations/models/membership.py:36
msgid "add other organization members to shifts"
msgstr "Andere Organisationsmitglieder zu Schichten hinzufügen"
-#: src/shiftings/organizations/models/membership.py:37
+#: shiftings/organizations/models/membership.py:37
msgid "participate in shifts"
msgstr "An Schichten teilnehmen"
-#: src/shiftings/organizations/models/membership.py:38
+#: shiftings/organizations/models/membership.py:38
msgid "add self/others (depending on other permissions) to past shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:57
+#: shiftings/organizations/models/membership.py:57
#, python-brace-format
msgid "{name} (Admin)"
msgstr "{name} (Admin)"
-#: src/shiftings/organizations/models/membership.py:59
+#: shiftings/organizations/models/membership.py:59
#, python-brace-format
msgid "{name} (Default)"
msgstr "{name} (Standard)"
-#: src/shiftings/organizations/models/membership.py:65
+#: shiftings/organizations/models/membership.py:65
msgid "Membership Type"
msgstr "Mitgliedschaftstyp"
-#: src/shiftings/organizations/models/membership.py:69
-#: src/shiftings/shifts/models/type.py:38
+#: shiftings/organizations/models/membership.py:69
+#: shiftings/shifts/models/type.py:38
msgid "Group"
msgstr "Gruppe"
-#: src/shiftings/organizations/models/membership.py:100
+#: shiftings/organizations/models/membership.py:100
msgid "Membership can only be either user or group, not both."
msgstr ""
"Mitgliedschaft kann nur für Benutzer oder Gruppe eingetragen werden nicht "
"beides auf einmal."
-#: src/shiftings/organizations/models/membership.py:102
+#: shiftings/organizations/models/membership.py:102
msgid "Membership must consist of a user or a group."
msgstr "Mitgliedschaft muss aus einem Benutzer oder einer Gruppe bestehen."
-#: src/shiftings/organizations/models/organization.py:30
+#: shiftings/organizations/models/organization.py:30
msgid "Include Protocol i.E. https://example.com"
msgstr "Inklusive Protokoll z.B. https://example.com"
-#: src/shiftings/organizations/models/organization.py:33
-#: src/shiftings/shifts/models/base.py:24
-#: src/shiftings/shifts/models/recurring.py:56
-#: src/shiftings/shifts/models/recurring.py:63
-#: src/shiftings/shifts/models/shift.py:32
-#: src/shiftings/shifts/models/template.py:33
+#: shiftings/organizations/models/organization.py:33
+#: shiftings/shifts/models/base.py:24 shiftings/shifts/models/recurring.py:56
+#: shiftings/shifts/models/recurring.py:63 shiftings/shifts/models/shift.py:32
+#: shiftings/shifts/models/template.py:33
#, python-brace-format
msgid "A maximum of {amount} characters is allowed"
msgstr "Es sind maximal {amount} Zeichen erlaubt"
-#: src/shiftings/organizations/models/organization.py:34
+#: shiftings/organizations/models/organization.py:34
msgid "Confirm Participants"
msgstr "Teilnehmer bestätigen"
-#: src/shiftings/organizations/models/organization.py:35
+#: shiftings/organizations/models/organization.py:35
msgid "Whether the participants can be confirmed or not. Default: False"
msgstr "Telnehmer können bestätigt werden. Standard: False"
-#: src/shiftings/organizations/models/organization.py:49
+#: shiftings/organizations/models/organization.py:49
msgid "manage all organizations"
msgstr "Alle Organisationen bearbeiten"
-#: src/shiftings/organizations/models/user.py:10
+#: shiftings/organizations/models/user.py:10
msgid "Claimed by"
msgstr "Beansprucht von"
-#: src/shiftings/organizations/templates/organizations/list.html:5
+#: shiftings/organizations/templates/organizations/list.html:5
msgid "All Organizations"
msgstr "Alle Organisationen"
-#: src/shiftings/organizations/templates/organizations/list.html:7
-#: src/shiftings/templates/top_nav.html:18
+#: shiftings/organizations/templates/organizations/list.html:7
+#: shiftings/templates/top_nav.html:18
msgid "My Organizations"
msgstr "Meine Organisationen"
-#: src/shiftings/organizations/templates/organizations/list.html:12
+#: shiftings/organizations/templates/organizations/list.html:12
msgid "Enter Name"
msgstr "Name einegeben"
-#: src/shiftings/organizations/templates/organizations/list.html:14
+#: shiftings/organizations/templates/organizations/list.html:14
msgid "Add new Organization"
msgstr "Neue Organisation hinzufügen"
-#: src/shiftings/organizations/templates/organizations/list.html:25
+#: shiftings/organizations/templates/organizations/list.html:25
msgid "No Organizations found."
msgstr "Keine Organisationen gefunden."
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:6
+#: shiftings/organizations/templates/organizations/organization_admin.html:6
msgid "Show membership Permissions"
msgstr "Mitgliedschaftsberechtigungen anzeigen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:10
+#: shiftings/organizations/templates/organizations/organization_admin.html:10
msgid "All Permissions"
msgstr "Alle Berechtigungen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:19
+#: shiftings/organizations/templates/organizations/organization_admin.html:19
msgid "No permissions"
msgstr "Keine Berechtigungen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:26
+#: shiftings/organizations/templates/organizations/organization_admin.html:26
msgid "Add member"
msgstr "Mitglied hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:41
+#: shiftings/organizations/templates/organizations/organization_admin.html:41
#, python-format
msgid ""
"\n"
@@ -2620,183 +1047,187 @@ msgstr ""
" Mitglieder von %(organization)s\n"
" "
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:48
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:8
+#: shiftings/organizations/templates/organizations/organization_admin.html:48
+#: shiftings/organizations/templates/organizations/organization_shifts.html:8
msgid "Member Shift Summary"
msgstr "Mitglieder Schichten Zusammenfassung"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:54
+#: shiftings/organizations/templates/organizations/organization_admin.html:54
msgid "Add Membership Type"
msgstr "Mitgliedschaftstyp hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:78
+#: shiftings/organizations/templates/organizations/organization_admin.html:78
msgid "Show user permissions"
msgstr "Benutzerberechtigungen anzeigen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:81
+#: shiftings/organizations/templates/organizations/organization_admin.html:81
msgid "Edit Membership Type"
msgstr "Mitgliedschaftstyp bearbeiten"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:90
+#: shiftings/organizations/templates/organizations/organization_admin.html:90
msgid "Add Member"
msgstr "Mitglied hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:100
+#: shiftings/organizations/templates/organizations/organization_admin.html:100
msgid "No Members of this type!"
msgstr "Keine Mitglieder von diesem Typ!"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:106
+#: shiftings/organizations/templates/organizations/organization_admin.html:106
msgid "Direct Members"
msgstr "Direkte Mitglieder"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:150
+#: shiftings/organizations/templates/organizations/organization_admin.html:150
msgid "Next Shift"
msgstr "Nächste Schicht"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:154
+#: shiftings/organizations/templates/organizations/organization_admin.html:154
msgid "No Shifts planned"
msgstr "Keine Schichten geplant"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:179
-#: src/shiftings/shifts/templates/shifts/template/group.html:52
+#: shiftings/organizations/templates/organizations/organization_admin.html:179
+#: shiftings/shifts/templates/shifts/template/group.html:52
msgid "Recurring Shifts"
msgstr "Wiederkehrende Schichten"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:184
+#: shiftings/organizations/templates/organizations/organization_admin.html:184
msgid "Add recurring shift"
msgstr "Wiederkehrende Schicht hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:196
+#: shiftings/organizations/templates/organizations/organization_admin.html:196
msgid "Shift count"
msgstr "Schichten Anzahl"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:199
+#: shiftings/organizations/templates/organizations/organization_admin.html:199
msgid "Status"
msgstr "Status"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:210
+#: shiftings/organizations/templates/organizations/organization_admin.html:210
msgid "Inactive,Active,Undefined"
msgstr "Inaktiv,Aktiv,Unbekannt"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:216
+#: shiftings/organizations/templates/organizations/organization_admin.html:216
msgid "No recurring shifts"
msgstr "Keine wiederkehrenden Schichten"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:223
+#: shiftings/organizations/templates/organizations/organization_admin.html:223
msgid "Shifts Templates"
msgstr "Schichtvorlagen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:228
+#: shiftings/organizations/templates/organizations/organization_admin.html:228
msgid "Add shifts template"
msgstr "Schichtvorlagen hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:255
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:309
+#: shiftings/organizations/templates/organizations/organization_admin.html:255
+#: shiftings/organizations/templates/organizations/organization_admin.html:309
msgid "No shifts templates"
msgstr "Keine Schichtvorlagen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:262
+#: shiftings/organizations/templates/organizations/organization_admin.html:262
msgid "Shifts Types"
msgstr "Schichttypen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:267
+#: shiftings/organizations/templates/organizations/organization_admin.html:267
msgid "Add Shift Type"
msgstr "Schichttyp hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:279
+#: shiftings/organizations/templates/organizations/organization_admin.html:279
msgid "Color"
msgstr "Farbe"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:280
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:15
+#: shiftings/organizations/templates/organizations/organization_admin.html:280
+#: shiftings/organizations/templates/organizations/user/claim_users.html:15
msgid "Shift Count"
msgstr "Schichten Anzahl"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:281
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:41
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:16
+#: shiftings/organizations/templates/organizations/organization_admin.html:281
+#: shiftings/organizations/templates/organizations/organization_settings.html:41
+#: shiftings/organizations/templates/organizations/user/claim_users.html:16
msgid "Action"
msgstr "Aktion"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:290
+#: shiftings/organizations/templates/organizations/organization_admin.html:290
msgid "Shift Type Background Color"
msgstr "Schichttyp Hintergrundfarbe"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:317
+#: shiftings/organizations/templates/organizations/organization_admin.html:317
msgid "Upcoming Events"
msgstr "Anstehende Events"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:321
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:50
+#: shiftings/organizations/templates/organizations/organization_admin.html:321
+#: shiftings/organizations/templates/organizations/organization_shifts.html:50
msgid "Expired Events"
msgstr "Abgelaufene Events"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:326
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:326
+#: shiftings/organizations/templates/organizations/organization_shifts.html:55
msgid "Add Event"
msgstr "Event hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:356
+#: shiftings/organizations/templates/organizations/organization_admin.html:356
msgid "No upcoming Events planned"
msgstr "Keine anstehenden Events"
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:367
+#: shiftings/organizations/templates/organizations/organization_admin.html:367
msgid "Claim Legacy Shifts"
msgstr "Beanspruche alte Schichten"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:19
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:36
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:31
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:25
-#: src/shiftings/templates/generic/create_or_update.html:20
-#: src/shiftings/templates/generic/formset.html:17
+#: shiftings/organizations/templates/organizations/organization_settings.html:19
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:36
+#: shiftings/shifts/templates/shifts/edit_templates.html:31
+#: shiftings/shifts/templates/shifts/recurring/form.html:25
+#: shiftings/templates/generic/create_or_update.html:20
+#: shiftings/templates/generic/formset.html:17
msgid "Save"
msgstr "Speichern"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:26
+#: shiftings/organizations/templates/organizations/organization_settings.html:26
msgid "Shift Type Groups"
msgstr "Schichttypgruppen"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:29
+#: shiftings/organizations/templates/organizations/organization_settings.html:29
msgid "Create Type Group"
msgstr "Schichttypgruppe hinzufügen"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:40
+#: shiftings/organizations/templates/organizations/organization_settings.html:38
+msgid "Order"
+msgstr "Reihenfolge"
+
+#: shiftings/organizations/templates/organizations/organization_settings.html:40
msgid "Types"
msgstr "Typen"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:61
+#: shiftings/organizations/templates/organizations/organization_settings.html:61
msgid "Edit Type Group"
msgstr "Typgruppe editieren"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:72
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:77
+#: shiftings/organizations/templates/organizations/organization_settings.html:72
+#: shiftings/organizations/templates/organizations/organization_settings.html:77
msgid "Move Up"
msgstr "Nach oben"
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:84
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:89
+#: shiftings/organizations/templates/organizations/organization_settings.html:84
+#: shiftings/organizations/templates/organizations/organization_settings.html:89
msgid "Move Down"
msgstr "Nach unten"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:11
+#: shiftings/organizations/templates/organizations/organization_shifts.html:11
msgid "Full Summary"
msgstr "Komplette Zusammenfassung"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:46
+#: shiftings/organizations/templates/organizations/organization_shifts.html:46
msgid "Upcoming Event"
msgstr "Anstehendes Event"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:66
-#: src/shiftings/shifts/models/shift.py:21
+#: shiftings/organizations/templates/organizations/organization_shifts.html:66
+#: shiftings/shifts/models/shift.py:21
msgid "Event"
msgstr "Event"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:68
+#: shiftings/organizations/templates/organizations/organization_shifts.html:68
msgid "Go to Event"
msgstr "Zum Event springen"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:74
+#: shiftings/organizations/templates/organizations/organization_shifts.html:74
#, python-format
msgid ""
"\n"
@@ -2811,128 +1242,126 @@ msgstr ""
"td>\n"
" "
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:94
+#: shiftings/organizations/templates/organizations/organization_shifts.html:94
msgid "No Events planned"
msgstr "Keine geplanten Events"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:102
+#: shiftings/organizations/templates/organizations/organization_shifts.html:102
msgid "Events disabled"
msgstr "Events deaktiviert"
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:117
+#: shiftings/organizations/templates/organizations/organization_shifts.html:117
msgid "Create Shift from Template"
msgstr "Schichten aus Vorlage erstellen"
-#: src/shiftings/organizations/templates/organizations/template/member_group.html:6
+#: shiftings/organizations/templates/organizations/template/member_group.html:6
msgid "Click to expand members"
msgstr "Klicke für detaillierte Mitgliederansicht"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:8
+#: shiftings/organizations/templates/organizations/template/org_info.html:8
msgid "Organization Overview"
msgstr "Organisationsübersicht"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:12
+#: shiftings/organizations/templates/organizations/template/org_info.html:12
msgid "Administrate Organization"
msgstr "Organisation administrieren"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:14
+#: shiftings/organizations/templates/organizations/template/org_info.html:14
msgid "Organization Admin View"
msgstr "Organisation Admin Ansicht"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:19
+#: shiftings/organizations/templates/organizations/template/org_info.html:19
msgid "Organization Settings"
msgstr "Organisationseinstellungen"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:21
+#: shiftings/organizations/templates/organizations/template/org_info.html:21
msgid "Organization Settings View"
msgstr "Organisations Einstellungen"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:35
+#: shiftings/organizations/templates/organizations/template/org_info.html:35
#, fuzzy
#| msgid "See Shift Participants"
msgid "Send Mail to shift participants"
msgstr "Schichtteilnehmer sehen"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:41
+#: shiftings/organizations/templates/organizations/template/org_info.html:41
msgid "Edit Organization"
msgstr "Organisation bearbeiten"
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:47
+#: shiftings/organizations/templates/organizations/template/org_info.html:47
msgid "Update Shift Permissions"
msgstr "Schichtberechtigungen aktualisieren"
-#: src/shiftings/organizations/templates/organizations/template/organization.html:12
+#: shiftings/organizations/templates/organizations/template/organization.html:12
msgid "No Image available"
msgstr "Kein Bild verfügbar"
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:6
+#: shiftings/organizations/templates/organizations/user/claim_users.html:6
msgid "Imported Users"
msgstr "Importierte Benutzer"
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:14
+#: shiftings/organizations/templates/organizations/user/claim_users.html:14
msgid "Claimed"
msgstr "Beansprucht"
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:36
+#: shiftings/organizations/templates/organizations/user/claim_users.html:36
msgid "Claim"
msgstr "Beanspruchen"
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:43
+#: shiftings/organizations/templates/organizations/user/claim_users.html:43
msgid "Unclaim"
msgstr "Freigeben"
-#: src/shiftings/organizations/views/membership.py:55
-#: src/shiftings/organizations/views/membership_type.py:57
+#: shiftings/organizations/views/membership.py:55
+#: shiftings/organizations/views/membership_type.py:57
msgid "Membership removed"
msgstr "Mitgliedschaft entfernt"
-#: src/shiftings/organizations/views/organization.py:62
+#: shiftings/organizations/views/organization.py:62
#, python-brace-format
msgid "{org} Overview"
msgstr "{org}Übersicht"
-#: src/shiftings/organizations/views/organization.py:89
+#: shiftings/organizations/views/organization.py:89
#, python-brace-format
msgid "{org} Administration"
msgstr "{org} Administration"
-#: src/shiftings/organizations/views/organization.py:135
+#: shiftings/organizations/views/organization.py:135
#, python-brace-format
msgid "{org} Settings"
msgstr "{org} Einstellungen"
-#: src/shiftings/organizations/views/user.py:36
+#: shiftings/organizations/views/user.py:36
msgid "You can't claim users that are already claimed."
msgstr "Du kannst keine Benutzer beanspruchen, die bereits beansprucht sind."
-#: src/shiftings/shifts/forms/filters.py:12
+#: shiftings/shifts/forms/filters.py:12
msgid "Shifts I participate in"
msgstr "Schichten, an denen ich teilnehme"
-#: src/shiftings/shifts/forms/filters.py:17
-#: src/shiftings/shifts/forms/filters.py:19
+#: shiftings/shifts/forms/filters.py:17 shiftings/shifts/forms/filters.py:19
msgid "Date YYYY-MM-DD"
msgstr "Datum YYYY-MM-DD"
-#: src/shiftings/shifts/forms/filters.py:18
-#: src/shiftings/shifts/forms/filters.py:20
+#: shiftings/shifts/forms/filters.py:18 shiftings/shifts/forms/filters.py:20
msgid "Time HH:MM"
msgstr "Uhrzeit HH:MM"
-#: src/shiftings/shifts/forms/participant.py:28
+#: shiftings/shifts/forms/participant.py:28
#, python-brace-format
msgid "User {user} is already registered for this shift."
msgstr "Benutzer {user} wurde bereits für diese Schicht eingetragen."
-#: src/shiftings/shifts/forms/participant.py:32
+#: shiftings/shifts/forms/participant.py:32
msgid "Organization Users"
msgstr "Organisationsmitglieder"
-#: src/shiftings/shifts/forms/participant.py:33
+#: shiftings/shifts/forms/participant.py:33
msgid "Other Users"
msgstr "Andere Benutzer"
-#: src/shiftings/shifts/forms/participant.py:34
+#: shiftings/shifts/forms/participant.py:34
msgid ""
"To add users that do not belong to your organization please enter their "
"username."
@@ -2940,21 +1369,21 @@ msgstr ""
"Um Benutzer, die nicht Teil der Organisation sind, hinzuzufügen gib deren "
"Benutzernamen an."
-#: src/shiftings/shifts/forms/participant.py:65
+#: shiftings/shifts/forms/participant.py:65
msgid "Only select one type of user!"
msgstr "Wähle nur einen Benutzertyp aus!"
-#: src/shiftings/shifts/forms/participant.py:75
+#: shiftings/shifts/forms/participant.py:75
msgid "One of the user fields is required!"
msgstr "Eines der Benutzerfelder ist benötigt!"
-#: src/shiftings/shifts/forms/participant.py:80
+#: shiftings/shifts/forms/participant.py:80
#, python-brace-format
msgid "Cannot add {user} multiple times to this shift"
msgstr "Benutzer {user} kann nicht mehrmals zur Schicht hinzugefügt werden"
-#: src/shiftings/shifts/forms/permission.py:36
-#: src/shiftings/shifts/forms/permission.py:90
+#: shiftings/shifts/forms/permission.py:36
+#: shiftings/shifts/forms/permission.py:90
#, python-brace-format
msgid ""
"Permission would have no effect. Permission for all Users is more extensive: "
@@ -2963,7 +1392,7 @@ msgstr ""
"Berechtigung hätte keinen Effekt. Berechtigung für alle Benutzer ist "
"weitergehender: {permission}"
-#: src/shiftings/shifts/forms/permission.py:47
+#: shiftings/shifts/forms/permission.py:47
#, python-brace-format
msgid ""
"Permission would have no effect. There is an inherited more extensive "
@@ -2972,7 +1401,7 @@ msgstr ""
"Berechtigung hätte keinen Effekt. Es existiert eine weitergehende "
"Berechtigung: {referred_object} ({permission})"
-#: src/shiftings/shifts/forms/permission.py:56
+#: shiftings/shifts/forms/permission.py:56
#, python-brace-format
msgid ""
"Permission would have no effect. There is an inherited more extensive "
@@ -2981,166 +1410,169 @@ msgstr ""
"Berechtigung hätte keinen Effekt. Es existiert eine weitergehende "
"Berechtigung für alle Benutzer: {referred_object} ({permission})"
-#: src/shiftings/shifts/forms/permission.py:78
+#: shiftings/shifts/forms/permission.py:78
#, python-brace-format
msgid "Can only set one permission for organization \"{organization}\""
msgstr ""
"Es kann nur eine Berechtigung für die Organistation \"{organization}\" "
"gesetzt werden"
-#: src/shiftings/shifts/forms/permission.py:80
+#: shiftings/shifts/forms/permission.py:80
msgid "Can only set one permission for all Users"
msgstr "Es kann nur eine Berechtigung für alle Benutzer gesetzt werden"
-#: src/shiftings/shifts/forms/recurring.py:13
+#: shiftings/shifts/forms/recurring.py:13
msgid "Ordinal"
msgstr "Ordinal"
-#: src/shiftings/shifts/forms/recurring.py:35
+#: shiftings/shifts/forms/recurring.py:35
msgid "Weekday can't be empty with the chosen time frame type."
msgstr "Der Wochentag ist erforderlich für den angegeben Zeitraumtyp."
-#: src/shiftings/shifts/forms/recurring.py:37
+#: shiftings/shifts/forms/recurring.py:37
msgid "Month can't be empty with the chosen time frame type."
msgstr "Der Monat ist erforderlich für den angegebenen Zeitraumtyp."
-#: src/shiftings/shifts/forms/recurring.py:39
+#: shiftings/shifts/forms/recurring.py:39
msgid "You need to add a warning for weekend handling."
msgstr "Du musst eine Warnung für die Wochenendproblembehandlung hinzufügen."
-#: src/shiftings/shifts/forms/recurring.py:41
+#: shiftings/shifts/forms/recurring.py:41
msgid "You need to add a warning for holiday handling."
msgstr "Du musst eine Warnung für die Feiertagsproblembehandlung hinzufügen."
-#: src/shiftings/shifts/forms/shift.py:38
-#: src/shiftings/shifts/forms/template.py:66
+#: shiftings/shifts/forms/shift.py:39
+msgid "End time must be after start time"
+msgstr ""
+
+#: shiftings/shifts/forms/shift.py:44 shiftings/shifts/forms/template.py:66
#, python-brace-format
msgid "Shift is too long, can at most be {max} long"
msgstr "Diese Schicht ist zu lang, sie kann Maximal {max} lang sein"
-#: src/shiftings/shifts/forms/template.py:18
+#: shiftings/shifts/forms/template.py:18
msgid "Date"
msgstr "Datum"
-#: src/shiftings/shifts/forms/template.py:18
+#: shiftings/shifts/forms/template.py:18
msgid "Date to create the template on"
msgstr "Datum an dem die Vorlage erstellt wird"
-#: src/shiftings/shifts/forms/template.py:38
-#: src/shiftings/shifts/models/template.py:22
+#: shiftings/shifts/forms/template.py:38 shiftings/shifts/models/template.py:22
msgid "Start Delay"
msgstr "Startverzögerung"
-#: src/shiftings/shifts/forms/template.py:58
+#: shiftings/shifts/forms/template.py:40 shiftings/shifts/models/template.py:23
+#: shiftings/shifts/templates/shifts/recurring/list.html:11
+msgid "Duration"
+msgstr "Dauer"
+
+#: shiftings/shifts/forms/template.py:58
msgid "Start Delay was None please reload and use the slider."
msgstr ""
"Anfangsverzögerung war None bitte lade die Seite neu und benutze den Slider."
-#: src/shiftings/shifts/forms/template.py:64
+#: shiftings/shifts/forms/template.py:64
msgid "Duration was None please reload and use the slider."
msgstr "Dauer war None bitte lade die Seite neu und benutze den Slider."
-#: src/shiftings/shifts/forms/type.py:22
+#: shiftings/shifts/forms/type.py:22
msgid "Can't name a shift type \"System\"."
msgstr "Ungültiger Name \"System\" für einen Schichttyp."
-#: src/shiftings/shifts/models/base.py:13
-#: src/shiftings/shifts/models/template.py:19
-#: src/shiftings/shifts/templates/shifts/shift.html:39
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:18
+#: shiftings/shifts/models/base.py:13 shiftings/shifts/models/template.py:19
+#: shiftings/shifts/templates/shifts/shift.html:39
+#: shiftings/shifts/templates/shifts/template/template_form.html:18
msgid "Shift Type"
msgstr "Schicht Typ"
-#: src/shiftings/shifts/models/base.py:16
+#: shiftings/shifts/models/base.py:16
msgid "Required Users"
msgstr "Benötigte Benutzer"
-#: src/shiftings/shifts/models/base.py:18
-#: src/shiftings/shifts/models/template.py:27
+#: shiftings/shifts/models/base.py:18 shiftings/shifts/models/template.py:27
msgid "A maximum of 32 users can be required"
msgstr "Es können maximal 32 Benutzer benötigt werden"
-#: src/shiftings/shifts/models/base.py:19
+#: shiftings/shifts/models/base.py:19
msgid "Maximum Users"
msgstr "Maximale Benutzer"
-#: src/shiftings/shifts/models/base.py:21
-#: src/shiftings/shifts/models/template.py:30
+#: shiftings/shifts/models/base.py:21 shiftings/shifts/models/template.py:30
msgid "A maximum of 64 users can be present"
msgstr "Es können maximal 64 Benutzer teilnehmen"
-#: src/shiftings/shifts/models/base.py:23
-#: src/shiftings/shifts/models/template.py:32
-#: src/shiftings/shifts/templates/shifts/shift.html:79
-#: src/shiftings/shifts/templates/shifts/template/template.html:26
+#: shiftings/shifts/models/base.py:23 shiftings/shifts/models/template.py:32
+#: shiftings/shifts/templates/shifts/shift.html:79
+#: shiftings/shifts/templates/shifts/template/template.html:26
msgid "Additional Infos"
msgstr "Zusätzliche Informationen"
-#: src/shiftings/shifts/models/participant.py:16
+#: shiftings/shifts/models/participant.py:16
msgid "Display Name is optional, and will be shown instead of the username"
msgstr ""
"Der Anzeigename ist optional und wird anstatt dem Benutzernamen angezeigt"
-#: src/shiftings/shifts/models/participant.py:17
+#: shiftings/shifts/models/participant.py:17
msgid "Participation confirmed"
msgstr "Teilnahme bestätigt"
-#: src/shiftings/shifts/models/participant.py:18
+#: shiftings/shifts/models/participant.py:18
msgid ""
"Whether the participant has taken part in the shift or not. Default: False"
msgstr "Hat der Teilnehmer die Schicht ausgeführt. Standard: False"
-#: src/shiftings/shifts/models/permission.py:18
+#: shiftings/shifts/models/permission.py:18
msgid "No Permission"
msgstr "Keine Berechtigung"
-#: src/shiftings/shifts/models/permission.py:19
+#: shiftings/shifts/models/permission.py:19
msgid "See Shift exists"
msgstr "Schichttexistenz sehen"
-#: src/shiftings/shifts/models/permission.py:20
+#: shiftings/shifts/models/permission.py:20
msgid "See Shift Details"
msgstr "Schichtdetails sehen"
-#: src/shiftings/shifts/models/permission.py:21
+#: shiftings/shifts/models/permission.py:21
msgid "See Shift Participants"
msgstr "Schichtteilnehmer sehen"
-#: src/shiftings/shifts/models/permission.py:22
+#: shiftings/shifts/models/permission.py:22
msgid "Participate"
msgstr "Teilnehmen"
-#: src/shiftings/shifts/models/permission.py:80
+#: shiftings/shifts/models/permission.py:80
msgid "Permission Type"
msgstr "Berechtigungstyp"
-#: src/shiftings/shifts/models/permission.py:82
+#: shiftings/shifts/models/permission.py:82
msgid "Affected Organization"
msgstr "Betroffene Organisationen"
-#: src/shiftings/shifts/models/recurring.py:26
+#: shiftings/shifts/models/recurring.py:26
msgid "ignore"
msgstr "ignorieren"
-#: src/shiftings/shifts/models/recurring.py:27
+#: shiftings/shifts/models/recurring.py:27
msgid "cancel"
msgstr "abbrechen"
-#: src/shiftings/shifts/models/recurring.py:28
+#: shiftings/shifts/models/recurring.py:28
msgid "show warning"
msgstr "Warnung anzeigen"
-#: src/shiftings/shifts/models/recurring.py:36
+#: shiftings/shifts/models/recurring.py:36
msgid "Timeframe Type"
msgstr "Zeitraum Typ"
-#: src/shiftings/shifts/models/recurring.py:41
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:10
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:53
+#: shiftings/shifts/models/recurring.py:41
+#: shiftings/shifts/templates/shifts/recurring/list.html:10
+#: shiftings/shifts/templates/shifts/recurring/shift.html:53
msgid "First Occurrence"
msgstr "Erster Termin"
-#: src/shiftings/shifts/models/recurring.py:42
+#: shiftings/shifts/models/recurring.py:42
msgid ""
"Choose a minimum day for first occurrence and the system will automatically "
"choose the next applicable day."
@@ -3148,142 +1580,142 @@ msgstr ""
"Wähle einen Tag für die erste Angabe und das system wird automatisch den "
"nächsten zutreffenden Tag berechnen."
-#: src/shiftings/shifts/models/recurring.py:46
+#: shiftings/shifts/models/recurring.py:46
msgid "Auto create days"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:46
+#: shiftings/shifts/models/recurring.py:46
msgid "How many days in advance should the shifts be created?"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:48
+#: shiftings/shifts/models/recurring.py:48
msgid "Shift Template"
msgstr "Schichtvorlage"
-#: src/shiftings/shifts/models/recurring.py:52
+#: shiftings/shifts/models/recurring.py:52
msgid "Weekend problem handling"
msgstr "Wochenendproblembehandlung"
-#: src/shiftings/shifts/models/recurring.py:54
+#: shiftings/shifts/models/recurring.py:54
msgid "Warning text for weekend"
msgstr "Warnung für Wochenenden"
-#: src/shiftings/shifts/models/recurring.py:59
+#: shiftings/shifts/models/recurring.py:59
msgid "Holidays problem handling"
msgstr "Feiertagsproblembehandlung"
-#: src/shiftings/shifts/models/recurring.py:61
+#: shiftings/shifts/models/recurring.py:61
msgid "Warning text for holidays"
msgstr "Warnung für Feiertage"
-#: src/shiftings/shifts/models/recurring.py:67
+#: shiftings/shifts/models/recurring.py:67
msgid "Manually Disabled"
msgstr "Manuell deaktiviert"
-#: src/shiftings/shifts/models/recurring.py:88
+#: shiftings/shifts/models/recurring.py:88
msgid "Nth"
msgstr "Nte"
-#: src/shiftings/shifts/models/recurring.py:89
+#: shiftings/shifts/models/recurring.py:89
msgid "[weekday]"
msgstr "[Wochentag]"
-#: src/shiftings/shifts/models/recurring.py:90
+#: shiftings/shifts/models/recurring.py:90
msgid "[month]"
msgstr "[Monat]"
-#: src/shiftings/shifts/models/shift.py:24
+#: shiftings/shifts/models/shift.py:24
msgid "Start Date and Time"
msgstr "Startdatum und Zeit"
-#: src/shiftings/shifts/models/shift.py:25
+#: shiftings/shifts/models/shift.py:25
msgid "End Date and Time"
msgstr "Enddatum und Zeit"
-#: src/shiftings/shifts/models/shift.py:27
-#: src/shiftings/shifts/templates/shifts/template/shift.html:13
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:21
+#: shiftings/shifts/models/shift.py:27
+#: shiftings/shifts/templates/shifts/template/shift.html:13
+#: shiftings/shifts/templates/shifts/template/template_form.html:21
msgid "Users"
msgstr "Benutzer"
-#: src/shiftings/shifts/models/shift.py:30
+#: shiftings/shifts/models/shift.py:30
msgid "Locked for Participation"
msgstr "Teilnahme geschlossen"
-#: src/shiftings/shifts/models/shift.py:31
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:58
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:64
+#: shiftings/shifts/models/shift.py:31
+#: shiftings/shifts/templates/shifts/recurring/shift.html:58
+#: shiftings/shifts/templates/shifts/recurring/shift.html:64
msgid "Warning"
msgstr "Warnung"
-#: src/shiftings/shifts/models/shift.py:35
+#: shiftings/shifts/models/shift.py:35
msgid "Created by Recurring Shift"
msgstr "Erstellt von wiederkehrender Schicht"
-#: src/shiftings/shifts/models/shift.py:37
-#: src/shiftings/shifts/templates/shifts/shift.html:53
+#: shiftings/shifts/models/shift.py:37
+#: shiftings/shifts/templates/shifts/shift.html:53
msgid "Created"
msgstr "Erstellt"
-#: src/shiftings/shifts/models/shift.py:38
-#: src/shiftings/shifts/templates/shifts/shift.html:55
+#: shiftings/shifts/models/shift.py:38
+#: shiftings/shifts/templates/shifts/shift.html:55
msgid "Last Modified"
msgstr "Zuletzt geändert"
-#: src/shiftings/shifts/models/shift.py:54
+#: shiftings/shifts/models/shift.py:54
msgid "Organization and Event Organization must be identical."
msgstr "Organistion und Event Organistation müssen identisch sein."
-#: src/shiftings/shifts/models/shift.py:57
+#: shiftings/shifts/models/shift.py:57
#, python-brace-format
msgid "Shift {name} on {time}"
msgstr "Schicht {name} am {time}"
-#: src/shiftings/shifts/models/shift.py:65
+#: shiftings/shifts/models/shift.py:65
#, python-brace-format
msgid "{name} from {start} to {end} "
msgstr "{name} von {start} bis {end} "
-#: src/shiftings/shifts/models/shift.py:72
+#: shiftings/shifts/models/shift.py:72
#, python-brace-format
msgid "{start} to {end_time} on {end_date} "
msgstr "{start} bis {end_time} am {end_date} "
-#: src/shiftings/shifts/models/shift.py:76
+#: shiftings/shifts/models/shift.py:76
#, python-brace-format
msgid "{start} to {end_time}"
msgstr "{start} bis {end_time}"
-#: src/shiftings/shifts/models/summary.py:11
+#: shiftings/shifts/models/summary.py:11
msgid "\"Other\" Shift Type Group Name"
msgstr "\"Sonstige\" Schichttyp Gruppenname"
-#: src/shiftings/shifts/models/summary.py:14
+#: shiftings/shifts/models/summary.py:14
msgid "Default time range for summary"
msgstr "Standard Zeitraum für die Zusammenfassung"
-#: src/shiftings/shifts/models/summary.py:25
+#: shiftings/shifts/models/summary.py:25
#, python-brace-format
msgid "Organization summary settings of {organization}"
msgstr "Zusammenfassungseinstellungen von {organization}"
-#: src/shiftings/shifts/models/template.py:16
+#: shiftings/shifts/models/template.py:16
msgid "Template Group"
msgstr "Vorlagengruppe"
-#: src/shiftings/shifts/models/template.py:25
+#: shiftings/shifts/models/template.py:25
msgid "Required User"
msgstr "Benötigte Benutzer"
-#: src/shiftings/shifts/models/template.py:28
+#: shiftings/shifts/models/template.py:28
msgid "Maximum User"
msgstr "Maximale Benutzer"
-#: src/shiftings/shifts/signals.py:26
+#: shiftings/shifts/signals.py:26
msgid "Could not find a valid first occurrence."
msgstr "Konnte keinen validen ersten Termin finden."
-#: src/shiftings/shifts/templates/shifts/create_shift.html:11
+#: shiftings/shifts/templates/shifts/create_shift.html:11
#, python-format
msgid ""
"\n"
@@ -3294,7 +1726,7 @@ msgstr ""
"
Neue Schicht für %(organization)s erstellen
\n"
" "
-#: src/shiftings/shifts/templates/shifts/create_shift.html:15
+#: shiftings/shifts/templates/shifts/create_shift.html:15
#, python-format
msgid ""
"\n"
@@ -3306,70 +1738,70 @@ msgstr ""
"h4>\n"
" "
-#: src/shiftings/shifts/templates/shifts/create_shift.html:22
-#: src/shiftings/shifts/templates/shifts/create_shift.html:83
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:23
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:19
-#: src/shiftings/templates/generic/create_or_update.html:18
-#: src/shiftings/templates/generic/form_card.html:8
+#: shiftings/shifts/templates/shifts/create_shift.html:22
+#: shiftings/shifts/templates/shifts/create_shift.html:83
+#: shiftings/shifts/templates/shifts/recurring/form.html:23
+#: shiftings/shifts/templates/shifts/recurring/shift.html:19
+#: shiftings/templates/generic/create_or_update.html:18
+#: shiftings/templates/generic/form_card.html:8
msgid "Create"
msgstr "Erstellen"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:24
+#: shiftings/shifts/templates/shifts/create_shift.html:24
msgid "Update"
msgstr "Aktualisieren"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:26
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:34
-#: src/shiftings/templates/generic/create_or_update.html:22
+#: shiftings/shifts/templates/shifts/create_shift.html:26
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:34
+#: shiftings/templates/generic/create_or_update.html:22
msgid "Back"
msgstr "Zurück"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:47
+#: shiftings/shifts/templates/shifts/create_shift.html:47
msgid "Shift starting time"
msgstr "Schicht Startzeit"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:48
+#: shiftings/shifts/templates/shifts/create_shift.html:48
msgctxt "Shift time"
msgid "Start Time"
msgstr "Startzeit"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:52
+#: shiftings/shifts/templates/shifts/create_shift.html:52
msgid "Shift end time"
msgstr "Schichtende"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:53
+#: shiftings/shifts/templates/shifts/create_shift.html:53
msgctxt "Shift time"
msgid "End Time"
msgstr "Endzeit"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:59
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:24
+#: shiftings/shifts/templates/shifts/create_shift.html:59
+#: shiftings/shifts/templates/shifts/template/template_form.html:24
msgid "Required number of users to fill this shift"
msgstr "Benötigte Anzahl an Benutzern um die Schicht zu füllen"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:60
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:25
+#: shiftings/shifts/templates/shifts/create_shift.html:60
+#: shiftings/shifts/templates/shifts/template/template_form.html:25
msgctxt "Shift users"
msgid "Required"
msgstr "Benötigt"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:64
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:29
+#: shiftings/shifts/templates/shifts/create_shift.html:64
+#: shiftings/shifts/templates/shifts/template/template_form.html:29
msgid "Maximum number of users allowed in this shift"
msgstr "Maximale Anzahl an Benutzern in dieser Schicht"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:65
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:30
+#: shiftings/shifts/templates/shifts/create_shift.html:65
+#: shiftings/shifts/templates/shifts/template/template_form.html:30
msgctxt "Shift users"
msgid "Maximum"
msgstr "Maximum"
-#: src/shiftings/shifts/templates/shifts/create_shift.html:76
+#: shiftings/shifts/templates/shifts/create_shift.html:76
msgid "Create from Template"
msgstr "Aus Vorlage erstellen"
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:17
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:17
#, python-format
msgid ""
"\n"
@@ -3382,39 +1814,39 @@ msgstr ""
"mit \"+\" hinzu\n"
" "
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:26
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:26
msgid "Edit Shift Permissions for"
msgstr "Schichtberechtigungen bearbeiten"
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:38
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:38
msgid "How does it work?"
msgstr "Wie funktioniert es?"
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:53
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:53
msgid "Inherited Permissions"
msgstr "Geerbte Berechtigungen"
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:65
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:65
msgid "All Users"
msgstr "Alle Benutzer"
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:21
+#: shiftings/shifts/templates/shifts/edit_templates.html:21
msgid "Edit Templates for"
msgstr "Bearbeite Vorlagen für"
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:29
+#: shiftings/shifts/templates/shifts/edit_templates.html:29
msgid "Cancel"
msgstr "Abbrechen"
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:33
+#: shiftings/shifts/templates/shifts/recurring/form.html:33
msgid "Recurring Time Frame"
msgstr "Wiederkehrender Zeitraum"
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:42
+#: shiftings/shifts/templates/shifts/recurring/form.html:42
msgid "Shift Information"
msgstr "Schichtinformation"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:16
+#: shiftings/shifts/templates/shifts/recurring/shift.html:16
#, python-format
msgid ""
"\n"
@@ -3425,11 +1857,11 @@ msgstr ""
" Möchtest du diese Schicht am %(date)s erstellen\n"
" "
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:37
+#: shiftings/shifts/templates/shifts/recurring/shift.html:37
msgid "Edit Recurring Shift"
msgstr "Wiederkehrende Schicht bearbeiten"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:44
+#: shiftings/shifts/templates/shifts/recurring/shift.html:44
#, python-format
msgid ""
"\n"
@@ -3442,7 +1874,7 @@ msgstr ""
"%(time)s\n"
" "
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:48
+#: shiftings/shifts/templates/shifts/recurring/shift.html:48
#, fuzzy, python-format
#| msgid ""
#| "\n"
@@ -3457,44 +1889,44 @@ msgstr ""
" vor %(time)s\n"
" "
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:55
+#: shiftings/shifts/templates/shifts/recurring/shift.html:55
msgid "Weekend Handling"
msgstr "Wochenendvorgehen"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:61
+#: shiftings/shifts/templates/shifts/recurring/shift.html:61
msgid "Holiday Handling"
msgstr "Feiertagsvorgehen"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:75
+#: shiftings/shifts/templates/shifts/recurring/shift.html:75
msgid "Upcoming recurring Shifts"
msgstr "Anstehende wiederkehrende Schichten"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:86
+#: shiftings/shifts/templates/shifts/recurring/shift.html:86
msgid "No upcoming created Shifts"
msgstr "Keine anstehenden erstellten Schichten"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:93
+#: shiftings/shifts/templates/shifts/recurring/shift.html:93
msgid "Passed recurring Shifts"
msgstr "Vergangenen Wiederkehrende Schichten"
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:104
+#: shiftings/shifts/templates/shifts/recurring/shift.html:104
msgid "No created Shifts have passed yet"
msgstr "Keine erstellten Schichten sind abgelaufen"
-#: src/shiftings/shifts/templates/shifts/shift.html:16
-#: src/shiftings/shifts/views/shift.py:78
+#: shiftings/shifts/templates/shifts/shift.html:16
+#: shiftings/shifts/views/shift.py:78
msgid "Edit Shift"
msgstr "Schicht bearbeiten"
-#: src/shiftings/shifts/templates/shifts/shift.html:22
+#: shiftings/shifts/templates/shifts/shift.html:22
msgid "Delete Shift"
msgstr "Schicht löschen"
-#: src/shiftings/shifts/templates/shifts/shift.html:28
+#: shiftings/shifts/templates/shifts/shift.html:28
msgid "Edit Permissions"
msgstr "Berechtigungen bearbeiten"
-#: src/shiftings/shifts/templates/shifts/shift.html:57
+#: shiftings/shifts/templates/shifts/shift.html:57
#, python-format
msgid ""
"\n"
@@ -3505,219 +1937,219 @@ msgstr ""
" vor %(time)s\n"
" "
-#: src/shiftings/shifts/templates/shifts/shift.html:66
-#: src/shiftings/shifts/templates/shifts/template/shift_card.html:13
+#: shiftings/shifts/templates/shifts/shift.html:66
+#: shiftings/shifts/templates/shifts/template/shift_card.html:13
msgid "Shift Participants"
msgstr "Schichtteilnehmer"
-#: src/shiftings/shifts/templates/shifts/shift.html:71
+#: shiftings/shifts/templates/shifts/shift.html:71
msgid "Add participant"
msgstr "Teilnehmer hinzufügen"
-#: src/shiftings/shifts/templates/shifts/shift.html:84
+#: shiftings/shifts/templates/shifts/shift.html:84
msgid "Nothing to consider."
msgstr "Nichts zu beachten."
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:11
+#: shiftings/shifts/templates/shifts/shift_participants.html:11
msgid ""
"This shift is over, do you really want/need to add yourself as participant?"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift_url_filters.html:8
+#: shiftings/shifts/templates/shifts/shift_url_filters.html:8
msgid "Toggle Shift Filters"
msgstr "Schichtfilter umschalten"
-#: src/shiftings/shifts/templates/shifts/summary/summary.html:6
+#: shiftings/shifts/templates/shifts/summary/summary.html:6
msgid "Shift Summary"
msgstr "Mitglieder Schichten Zusammenfassung"
-#: src/shiftings/shifts/templates/shifts/template/group.html:17
+#: shiftings/shifts/templates/shifts/template/group.html:17
msgid "Delete Template"
msgstr "Vorlage löschen"
-#: src/shiftings/shifts/templates/shifts/template/group.html:21
+#: shiftings/shifts/templates/shifts/template/group.html:21
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
-#: src/shiftings/shifts/templates/shifts/template/group.html:25
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:13
+#: shiftings/shifts/templates/shifts/template/group.html:25
+#: shiftings/shifts/templates/shifts/template/group_template.html:13
msgid "Edit Shifts"
msgstr "Schichten bearbeiten"
-#: src/shiftings/shifts/templates/shifts/template/group.html:31
+#: shiftings/shifts/templates/shifts/template/group.html:31
msgid "Edit Template Permissions"
msgstr "Vorlagenberechtigungen bearbeiten"
-#: src/shiftings/shifts/templates/shifts/template/group.html:70
+#: shiftings/shifts/templates/shifts/template/group.html:70
msgid "Create Shift Templates"
msgstr "Schichtvorlagen erstellen"
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:9
+#: shiftings/shifts/templates/shifts/template/group_template.html:9
msgid "Edit Shifts Template"
msgstr "Schichtvorlage bearbeiten"
-#: src/shiftings/shifts/templates/shifts/template/member_shift_summary.html:3
+#: shiftings/shifts/templates/shifts/template/member_shift_summary.html:3
msgid "Member"
msgstr "Mitglied"
-#: src/shiftings/shifts/templates/shifts/template/member_shift_summary.html:10
+#: shiftings/shifts/templates/shifts/template/member_shift_summary.html:10
msgid "Total"
msgstr "Summe"
-#: src/shiftings/shifts/templates/shifts/template/participation_permission_form.html:9
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:10
+#: shiftings/shifts/templates/shifts/template/participation_permission_form.html:9
+#: shiftings/shifts/templates/shifts/template/template_form.html:10
msgid "Remove Shift"
msgstr "Schicht löschen"
-#: src/shiftings/shifts/templates/shifts/template/participation_permission_form.html:12
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:13
+#: shiftings/shifts/templates/shifts/template/participation_permission_form.html:12
+#: shiftings/shifts/templates/shifts/template/template_form.html:13
msgid "Restore Shift"
msgstr "Schicht wiederherstellen"
-#: src/shiftings/shifts/templates/shifts/template/select_org.html:3
+#: shiftings/shifts/templates/shifts/template/select_org.html:3
msgid "Select Organization to create Shift for"
msgstr "Organisation auswählen für die eine Schicht erstellt werden soll"
-#: src/shiftings/shifts/templates/shifts/template/shift.html:5
+#: shiftings/shifts/templates/shifts/template/shift.html:5
msgid "Go to Shift"
msgstr "Zur Schicht springen"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:5
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:5
msgid "Filters"
msgstr "Filter"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:8
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:8
msgid "Reset Filter"
msgstr "Filter zurürcksetzen"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:12
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:12
msgid "Apply Filter"
msgstr "Filter anwenden"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:15
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:15
msgid "Parameters"
msgstr "Parameter"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:29
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:29
msgid "Select Organizations"
msgstr "Wähle Organisationen"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:47
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:47
msgid "Shift starts after"
msgstr "Schicht startet nach"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:52
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:52
msgid "Shift ends before"
msgstr "Schicht endet vor"
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:65
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:65
msgid "Select Events"
msgstr "Events auswählen"
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:4
+#: shiftings/shifts/templates/shifts/template/slots_display.html:4
msgid "Required to carry out this Shift"
msgstr "Benötigte um die Schicht zu erledigen"
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:6
+#: shiftings/shifts/templates/shifts/template/slots_display.html:6
msgid "Open Shift Slot"
msgstr "Offene Postiion"
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:32
+#: shiftings/shifts/templates/shifts/template/slots_display.html:32
msgid "Free"
msgstr "Frei"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:20
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:20
msgid "Required"
msgstr "Benötigt"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:23
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:23
msgid "Confirmed"
msgstr "Bestätigt"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:29
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:29
msgid "Participating"
msgstr "Teilnehmer"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:34
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:34
msgid "Full"
msgstr "Voll"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:40
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:40
msgid "Additional Users required"
msgstr "Zusätzliche Mitglieder benötigt"
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:42
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:42
msgid "Additional Slots available"
msgstr "Zusätzliche Plätze verfügbar"
-#: src/shiftings/shifts/templates/shifts/template/template.html:11
+#: shiftings/shifts/templates/shifts/template/template.html:11
msgid "Calendar Background Color"
msgstr "Kalender Hintergrundfarbe"
-#: src/shiftings/shifts/templates/shifts/template/template.html:17
+#: shiftings/shifts/templates/shifts/template/template.html:17
msgid "Required Users/Max Users"
msgstr "Benötigte Benutzer/Maximale Benutzer"
-#: src/shiftings/shifts/templates/shifts/template/template.html:21
+#: shiftings/shifts/templates/shifts/template/template.html:21
msgid "Unlimited"
msgstr "Unbegrenzt"
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:36
+#: shiftings/shifts/templates/shifts/template/template_form.html:36
msgid "Delay to starting time"
msgstr "Verzögerung zur Startzeit"
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:37
+#: shiftings/shifts/templates/shifts/template/template_form.html:37
msgctxt "Shift time"
msgid "Start Delay"
msgstr "Startverzögerung"
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:41
+#: shiftings/shifts/templates/shifts/template/template_form.html:41
msgid "Shift Duration"
msgstr "Dauer der Schicht"
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:42
+#: shiftings/shifts/templates/shifts/template/template_form.html:42
msgctxt "Shift time"
msgid "Duration"
msgstr "Dauer"
-#: src/shiftings/shifts/templates/shifts/type_group/list.html:8
+#: shiftings/shifts/templates/shifts/type_group/list.html:8
msgid "Actions"
msgstr "Aktionen"
-#: src/shiftings/shifts/templatetags/shifts.py:90
+#: shiftings/shifts/templatetags/shifts.py:90
#, python-brace-format
msgid "Days + {delta_days}"
msgstr "Tage + {delta_days}"
-#: src/shiftings/shifts/utils/time_frame.py:17
+#: shiftings/shifts/utils/time_frame.py:17
msgid "Nth [weekday] of each month"
msgstr "Nte [Wochentag] jeden Monat"
-#: src/shiftings/shifts/utils/time_frame.py:18
+#: shiftings/shifts/utils/time_frame.py:18
msgid "Nth day of each month"
msgstr "Nte Tag jeden Monat"
-#: src/shiftings/shifts/utils/time_frame.py:19
+#: shiftings/shifts/utils/time_frame.py:19
msgid "every Nth [weekday]"
msgstr "Jeden Nte [Wochentag]"
-#: src/shiftings/shifts/utils/time_frame.py:20
+#: shiftings/shifts/utils/time_frame.py:20
msgid "Nth workday of each month"
msgstr "Jeden Nte Werktag jedes Monats"
-#: src/shiftings/shifts/utils/time_frame.py:21
+#: shiftings/shifts/utils/time_frame.py:21
msgid "Nth day of [month]"
msgstr "Nte Tag des [Monats]"
-#: src/shiftings/shifts/utils/time_frame.py:22
+#: shiftings/shifts/utils/time_frame.py:22
msgid "Nth workday of [month]"
msgstr "Nte Werktag des [Monats]"
-#: src/shiftings/shifts/views/participant.py:42
+#: shiftings/shifts/views/participant.py:42
msgid "This shift is over, do you really want/need to add a participant?"
msgstr ""
-#: src/shiftings/shifts/views/permission.py:50
+#: shiftings/shifts/views/permission.py:50
#, python-brace-format
msgid ""
"Any Permission present will be applied to all Shifts belonging to "
@@ -3732,35 +2164,35 @@ msgstr ""
"weitergehenden Berechtigungen. Berechtigungen können für \"Alle Benutzer "
"oder spezielle Organisationen festgelegt werden.\"
"
-#: src/shiftings/shifts/views/recurring.py:85
+#: shiftings/shifts/views/recurring.py:85
msgid "Forbidden Method GET"
msgstr "Verbotene Methode GET"
-#: src/shiftings/shifts/views/recurring.py:98
+#: shiftings/shifts/views/recurring.py:98
msgid "Created Shifts on {}"
msgstr "Schicht am {} erstellt"
-#: src/shiftings/shifts/views/recurring.py:102
+#: shiftings/shifts/views/recurring.py:102
msgid "Error while creating shifts. Invalid Date"
msgstr "Fehler beim erstellen der Schichten. Ungültiges Datum"
-#: src/shiftings/shifts/views/shift.py:164
+#: shiftings/shifts/views/shift.py:164
msgid "Unable to delete past shifts."
msgstr "Konnte vergangene Schichten nicht löschen."
-#: src/shiftings/templates/403.html:6
+#: shiftings/templates/403.html:6
msgid "You don't have the permission to do that!"
msgstr "Du besitzt nicht die benötigten Berechtigungen!"
-#: src/shiftings/templates/404.html:6
+#: shiftings/templates/404.html:6
msgid "The site you requested was not found."
msgstr "Die gesuchte Seite wurde nicht gefunden."
-#: src/shiftings/templates/500.html:6
+#: shiftings/templates/500.html:6
msgid "A server error occured the admins have been notified"
msgstr "Ein Fehler ist aufgereten die Admins wurden benachrichtigt"
-#: src/shiftings/templates/generic/create_or_update.html:5
+#: shiftings/templates/generic/create_or_update.html:5
#, python-format
msgid ""
"\n"
@@ -3771,7 +2203,7 @@ msgstr ""
" Erstelle %(object)s
\n"
" "
-#: src/shiftings/templates/generic/create_or_update.html:9
+#: shiftings/templates/generic/create_or_update.html:9
#, python-format
msgid ""
"\n"
@@ -3782,7 +2214,7 @@ msgstr ""
" Aktualisiere %(object_name)s
\n"
" "
-#: src/shiftings/templates/generic/delete.html:6
+#: shiftings/templates/generic/delete.html:6
#, python-format
msgid ""
"\n"
@@ -3794,53 +2226,66 @@ msgstr ""
"p>\n"
" "
-#: src/shiftings/templates/generic/modular_search.html:4
+#: shiftings/templates/generic/delete.html:9
+msgid "Yes"
+msgstr "Ja"
+
+#: shiftings/templates/generic/delete.html:11
+msgid "No"
+msgstr "Nein"
+
+#: shiftings/templates/generic/modular_search.html:4
msgid "Filter by Name"
msgstr "Nach Namen filtern"
-#: src/shiftings/templates/generic/modular_search.html:6
+#: shiftings/templates/generic/modular_search.html:6
msgid "submit search"
msgstr "Suche starten"
-#: src/shiftings/templates/language.html:16
+#: shiftings/templates/language.html:16
msgid "Language"
msgstr "Sprache"
-#: src/shiftings/templates/language.html:21
+#: shiftings/templates/language.html:21
msgid "German"
msgstr "Deutsch"
-#: src/shiftings/templates/language.html:24
+#: shiftings/templates/language.html:24
msgid "English"
msgstr "Englisch"
-#: src/shiftings/templates/month_view.html:2
+#: shiftings/templates/local/gdpr_template.sample.html:29
+#: shiftings/templates/template/remove_modal.html:39
+#: shiftings/templates/template/simple_display_modal.html:15
+#: shiftings/templates/template/simple_form_modal.html:22
+msgid "Close"
+msgstr "Schließen"
+
+#: shiftings/templates/month_view.html:2
msgid "M"
msgstr "M"
-#: src/shiftings/templates/month_view.html:3
-#: src/shiftings/templates/month_view.html:5
+#: shiftings/templates/month_view.html:3 shiftings/templates/month_view.html:5
msgid "T"
msgstr "T"
-#: src/shiftings/templates/month_view.html:4
+#: shiftings/templates/month_view.html:4
msgid "W"
msgstr "W"
-#: src/shiftings/templates/month_view.html:6
+#: shiftings/templates/month_view.html:6
msgid "F"
msgstr "F"
-#: src/shiftings/templates/month_view.html:7
-#: src/shiftings/templates/month_view.html:8
+#: shiftings/templates/month_view.html:7 shiftings/templates/month_view.html:8
msgid "S"
msgstr "S"
-#: src/shiftings/templates/switch_user.html:5
+#: shiftings/templates/switch_user.html:5
msgid "Switch User"
msgstr "Benutzer wechseln"
-#: src/shiftings/templates/template/remove_modal.html:12
+#: shiftings/templates/template/remove_modal.html:12
#, python-format
msgid ""
"\n"
@@ -3853,7 +2298,7 @@ msgstr ""
"bold\"> von %(target)s\n"
" "
-#: src/shiftings/templates/template/remove_modal.html:16
+#: shiftings/templates/template/remove_modal.html:16
msgid ""
"\n"
" Removing \n"
" "
-#: src/shiftings/templates/template/remove_modal.html:26
+#: shiftings/templates/template/remove_modal.html:26
#, python-format
msgid ""
"\n"
@@ -3880,7 +2325,7 @@ msgstr ""
"text-danger\">\" von %(target)s\n"
" "
-#: src/shiftings/templates/template/remove_modal.html:31
+#: shiftings/templates/template/remove_modal.html:31
msgid ""
"\n"
" Are you sure you want to remove\n"
@@ -3894,175 +2339,269 @@ msgstr ""
"text-danger\"> löschen möchtest\"\n"
" "
-#: src/shiftings/templates/template/remove_modal.html:38
+#: shiftings/templates/template/remove_modal.html:38
msgid "Remove"
msgstr "Entfernen"
-#: src/shiftings/templates/template/remove_modal.html:39
-#: src/shiftings/templates/template/simple_display_modal.html:15
-#: src/shiftings/templates/template/simple_form_modal.html:22
-msgid "Close"
-msgstr "Schließen"
-
-#: src/shiftings/templates/top_nav.html:12
+#: shiftings/templates/top_nav.html:12
msgid "Overview"
msgstr "Übersicht"
-#: src/shiftings/templates/top_nav.html:32
-#: src/shiftings/templates/top_nav.html:33
+#: shiftings/templates/top_nav.html:32 shiftings/templates/top_nav.html:33
msgid "Help"
msgstr "Hilfe"
-#: src/shiftings/templates/top_nav.html:48
+#: shiftings/templates/top_nav.html:48
msgid "Profile"
msgstr "Profil"
-#: src/shiftings/templates/widgets/time_slider.html:9
+#: shiftings/templates/widgets/time_slider.html:9
msgid "You need to enter a valid timeframe in the form of HH:MM."
msgstr "Du muss einen validen Zeitraum inder Form HH:MM eingeben."
-#: src/shiftings/templates/widgets/time_slider.html:13
+#: shiftings/templates/widgets/time_slider.html:13
msgid "Day: +"
msgstr "Tag: +"
-#: src/shiftings/utils/string.py:5
+#: shiftings/utils/string.py:5
#, python-format
msgid "The function %(name)s has to be implemented."
msgstr "Die Funktion %(name)s muss implementiert werden."
-#: src/shiftings/utils/time/month.py:32
+#: shiftings/utils/time/month.py:10
+msgid "January"
+msgstr "Januar"
+
+#: shiftings/utils/time/month.py:11
+msgid "February"
+msgstr "Februar"
+
+#: shiftings/utils/time/month.py:12
+msgid "March"
+msgstr "März"
+
+#: shiftings/utils/time/month.py:13
+msgid "April"
+msgstr "April"
+
+#: shiftings/utils/time/month.py:14
+msgid "May"
+msgstr "Mai"
+
+#: shiftings/utils/time/month.py:15
+msgid "June"
+msgstr "Juni"
+
+#: shiftings/utils/time/month.py:16
+msgid "July"
+msgstr "Juli"
+
+#: shiftings/utils/time/month.py:17
+msgid "August"
+msgstr "August"
+
+#: shiftings/utils/time/month.py:18
+msgid "September"
+msgstr "September"
+
+#: shiftings/utils/time/month.py:19
+msgid "October"
+msgstr "Oktober"
+
+#: shiftings/utils/time/month.py:20
+msgid "November"
+msgstr "November"
+
+#: shiftings/utils/time/month.py:21
+msgid "December"
+msgstr "Dezember"
+
+#: shiftings/utils/time/month.py:32
msgid "Day of the Month"
msgstr "Tag des Monats"
-#: src/shiftings/utils/time/timerange.py:13
+#: shiftings/utils/time/timerange.py:13
msgid "Quarter"
msgstr "Quartal"
-#: src/shiftings/utils/time/timerange.py:14
+#: shiftings/utils/time/timerange.py:14
msgid "Half Year"
msgstr "Halbjahr"
-#: src/shiftings/utils/time/timerange.py:15
+#: shiftings/utils/time/timerange.py:15
msgid "Year"
msgstr "Jahr"
-#: src/shiftings/utils/time/timerange.py:16
+#: shiftings/utils/time/timerange.py:16
msgid "Decade"
msgstr "Dekade"
-#: src/shiftings/utils/time/timerange.py:17
+#: shiftings/utils/time/timerange.py:17
msgid "Century"
msgstr "Jahrhundert"
-#: src/shiftings/utils/time/timerange.py:18
+#: shiftings/utils/time/timerange.py:18
msgid "Millennium"
msgstr "Millennium"
-#: src/shiftings/utils/time/week.py:27
+#: shiftings/utils/time/week.py:13
+msgid "Monday"
+msgstr "Montag"
+
+#: shiftings/utils/time/week.py:14
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: shiftings/utils/time/week.py:15
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: shiftings/utils/time/week.py:16
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: shiftings/utils/time/week.py:17
+msgid "Friday"
+msgstr "Freitag"
+
+#: shiftings/utils/time/week.py:18
+msgid "Saturday"
+msgstr "Samstag"
+
+#: shiftings/utils/time/week.py:19
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: shiftings/utils/time/week.py:27
msgid "Day of the Week"
msgstr "Wochentag"
-#: src/shiftings/utils/typing.py:20
+#: shiftings/utils/typing.py:20
msgid "Value is not supposed to be None."
msgstr "Dieser Wert sollte nicht None sein."
-#: src/shiftings/utils/views/base.py:62
+#: shiftings/utils/views/base.py:62
msgid "The pk is missing from the url. This is not supposed to be possible."
msgstr "Der PK fehlt in der url. Das sollte nicht passieren."
-#: src/shiftings/utils/views/base.py:65
+#: shiftings/utils/views/base.py:65
#, python-format
msgid "There is no %(name)s with that pk."
msgstr "Es existiert kein %(name)s mit diesem pk."
-#: src/shiftings/utils/views/base.py:73
+#: shiftings/utils/views/base.py:73
msgid "You don't have the required permission."
msgstr "Du besitzt nicht die benötigten Berechtigungen."
-#: src/shiftings/utils/views/base.py:90
+#: shiftings/utils/views/base.py:90
msgid "No URL to redirect to. Provide a success_url."
msgstr "Keine URL zum verweisen. Bitte gib eine success_url an."
-#: src/shiftings/utils/views/base.py:108
+#: shiftings/utils/views/base.py:108
msgid "Could not find the requested page. This might be a configuration error."
msgstr ""
"Konnte die angefragte Seite nicht finden. Dies könnte ein Einstellungsfehler "
"sein."
-#, python-format
-#~ msgid ""
-#~ "\n"
-#~ " Your query resulted in %(shifts|length)s or more shifts. Please "
-#~ "adjust the start and end date.\n"
-#~ " "
-#~ msgstr ""
-#~ "\n"
-#~ " Deine Anfrage ergibt %(shifts|length)s oder mehr Schichten. Bitte "
-#~ "passe das Start- bzw. Enddatum an.\n"
-#~ " "
-
-#~ msgid "Login via {{ sso_name }}"
-#~ msgstr "Mit {{ sso_name }} anmelden"
-#, python-format
-#~ msgid ""
-#~ "\n"
-#~ " Click here\n"
-#~ "
\n"
-#~ " if you are a Member of HaDiKo e.V. to change your password on "
-#~ "myHaDiNet\n"
-#~ " "
-#~ msgstr ""
-#~ "\n"
-#~ " Klicke hier\n"
-#~ "
\n"
-#~ " wenn du ein Mitglied des HaDiKo e.V. bist um dein Passwort auf "
-#~ "myHaDiNet zu ändern\n"
-#~ " "
-#~ msgid "Filter Shifts"
-#~ msgstr "Schichten Filtern"
-#~ msgid "Day"
-#~ msgstr "Tag"
-#~ msgid "All Shifts"
-#~ msgstr "Alle Schichten"
-#~ msgid "Events"
-#~ msgstr "Events"
-#~ msgid "No Shifts on this day"
-#~ msgstr "Keine Schichten an diesem Tag"
-#~ msgid "This Day"
-#~ msgstr "Dieser Tag"
-#~ msgid "Calendar"
-#~ msgstr "Kalender"
-#~ msgid "Organizations which are allowed to participate"
-#~ msgstr "Organisationen die teilnehmen dürfen"
-#~ msgid "Public"
-#~ msgstr "Öffentlich"
-#~ msgid "Allow everyone to participate at this event"
-#~ msgstr "Erlaube jedem an dem Event teilzunehmen"
-#~ msgid "Scope"
-#~ msgstr "Umfang"
-#~ msgid "Search"
-#~ msgstr "Suche"
-#~ msgid "My upcoming Shifts"
-#~ msgstr "Meine anstehenden Schichten"
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, fuzzy
+
+#, python-format
-#~ msgid "Your first occurrence doesn't match your chosen time frame."
-#~ msgstr "Dein erster Termin liegt nicht im gewählten Zeitraum."
-#~ msgid "First Occurance"
-#~ msgstr "Erster Termin"
+#, python-format
diff --git a/src/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po
index 335980f..dca9de0 100644
--- a/src/locale/en/LC_MESSAGES/django.po
+++ b/src/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-09-25 15:12+0000\n"
+"POT-Creation-Date: 2026-03-15 21:50+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,1603 +18,96 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: venv/lib/python3.11/site-packages/click/_termui_impl.py:518
-#, python-brace-format
-msgid "{editor}: Editing failed"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/_termui_impl.py:522
-#, python-brace-format
-msgid "{editor}: Editing failed: {e}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1120
-msgid "Aborted!"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1309
-#: venv/lib/python3.11/site-packages/click/decorators.py:559
-msgid "Show this message and exit."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1340
-#: venv/lib/python3.11/site-packages/click/core.py:1370
-#, python-brace-format
-msgid "(Deprecated) {text}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1387
-msgid "Options"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1413
-#, python-brace-format
-msgid "Got unexpected extra argument ({args})"
-msgid_plural "Got unexpected extra arguments ({args})"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1429
-msgid "DeprecationWarning: The command {name!r} is deprecated."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1636
-msgid "Commands"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1668
-msgid "Missing command."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:1746
-msgid "No such command {name!r}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2310
-msgid "Value must be an iterable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2331
-#, python-brace-format
-msgid "Takes {nargs} values but 1 was given."
-msgid_plural "Takes {nargs} values but {len} were given."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2778
-#, python-brace-format
-msgid "env var: {var}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2808
-msgid "(dynamic)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2821
-#, python-brace-format
-msgid "default: {default}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/core.py:2834
-msgid "required"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/decorators.py:465
-#, python-format
-msgid "%(prog)s, version %(version)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/decorators.py:528
-msgid "Show the version and exit."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:44
-#: venv/lib/python3.11/site-packages/click/exceptions.py:80
-#, python-brace-format
-msgid "Error: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:72
-#, python-brace-format
-msgid "Try '{command} {option}' for help."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:121
-#, python-brace-format
-msgid "Invalid value: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:123
-#, python-brace-format
-msgid "Invalid value for {param_hint}: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:179
-msgid "Missing argument"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:181
-msgid "Missing option"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:183
-msgid "Missing parameter"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:185
-#, python-brace-format
-msgid "Missing {param_type}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:192
-#, python-brace-format
-msgid "Missing parameter: {param_name}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:212
-#, python-brace-format
-msgid "No such option: {name}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:224
-#, python-brace-format
-msgid "Did you mean {possibility}?"
-msgid_plural "(Possible options: {possibilities})"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:262
-msgid "unknown error"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/exceptions.py:269
-msgid "Could not open file {filename!r}: {message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:231
-msgid "Argument {name!r} takes {nargs} values."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:413
-msgid "Option {name!r} does not take a value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/parser.py:474
-msgid "Option {name!r} requires an argument."
-msgid_plural "Option {name!r} requires {nargs} arguments."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/shell_completion.py:319
-msgid "Shell completion is not supported for Bash versions older than 4.4."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/shell_completion.py:326
-msgid "Couldn't detect Bash version, shell completion is not supported."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:158
-msgid "Repeat for confirmation"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:174
-msgid "Error: The value you entered was invalid."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:176
-#, python-brace-format
-msgid "Error: {e.message}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:187
-msgid "Error: The two entered values do not match."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:243
-msgid "Error: invalid input"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/termui.py:773
-msgid "Press any key to continue..."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:266
-#, python-brace-format
-msgid ""
-"Choose from:\n"
-"\t{choices}"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:298
-msgid "{value!r} is not {choice}."
-msgid_plural "{value!r} is not one of {choices}."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:392
-msgid "{value!r} does not match the format {format}."
-msgid_plural "{value!r} does not match the formats {formats}."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:414
-msgid "{value!r} is not a valid {number_type}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:470
-#, python-brace-format
-msgid "{value} is not in the range {range}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:611
-msgid "{value!r} is not a valid boolean."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:635
-msgid "{value!r} is not a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:822
-msgid "file"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:824
-msgid "directory"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:826
-msgid "path"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:877
-msgid "{name} {filename!r} does not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:886
-msgid "{name} {filename!r} is a file."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:894
-#, python-brace-format
-msgid "{name} '{filename}' is a directory."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:903
-msgid "{name} {filename!r} is not readable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:912
-msgid "{name} {filename!r} is not writable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:921
-msgid "{name} {filename!r} is not executable."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/click/types.py:988
-#, python-brace-format
-msgid "{len_type} values are required, but {len_value} was given."
-msgid_plural "{len_type} values are required, but {len_value} were given."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/colorfield/validators.py:9
-msgid "Enter a valid hex color, eg. #000000"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/colorfield/validators.py:17
-msgid "Enter a valid hexa color, eg. #00000000"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/messages/apps.py:7
-msgid "Messages"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/sitemaps/apps.py:8
-msgid "Site Maps"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/staticfiles/apps.py:9
-msgid "Static Files"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/contrib/syndication/apps.py:7
-msgid "Syndication"
-msgstr ""
-
-#. Translators: String used to replace omitted page numbers in elided page
-#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10].
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:30
-msgid "…"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:50
-msgid "That page number is not an integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:52
-msgid "That page number is less than 1"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/paginator.py:57
-msgid "That page contains no results"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:23
-msgid "Enter a valid value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:105
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:743
-msgid "Enter a valid URL."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:166
-msgid "Enter a valid integer."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:177
-msgid "Enter a valid email address."
-msgstr ""
-
-#. Translators: "letters" means latin letters: a-z and A-Z.
-#: venv/lib/python3.11/site-packages/django/core/validators.py:285
-msgid ""
-"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:293
-msgid ""
-"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
-"hyphens."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:305
-#: venv/lib/python3.11/site-packages/django/core/validators.py:313
-#: venv/lib/python3.11/site-packages/django/core/validators.py:342
-msgid "Enter a valid IPv4 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:322
-#: venv/lib/python3.11/site-packages/django/core/validators.py:343
-msgid "Enter a valid IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:334
-#: venv/lib/python3.11/site-packages/django/core/validators.py:341
-msgid "Enter a valid IPv4 or IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:377
-msgid "Enter only digits separated by commas."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:383
-#, python-format
-msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:418
-#, python-format
-msgid "Ensure this value is less than or equal to %(limit_value)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:427
-#, python-format
-msgid "Ensure this value is greater than or equal to %(limit_value)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:437
-#, python-format
-msgid ""
-"Ensure this value has at least %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at least %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:455
-#, python-format
-msgid ""
-"Ensure this value has at most %(limit_value)d character (it has "
-"%(show_value)d)."
-msgid_plural ""
-"Ensure this value has at most %(limit_value)d characters (it has "
-"%(show_value)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:478
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:343
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:378
-msgid "Enter a number."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:480
-#, python-format
-msgid "Ensure that there are no more than %(max)s digit in total."
-msgid_plural "Ensure that there are no more than %(max)s digits in total."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:485
-#, python-format
-msgid "Ensure that there are no more than %(max)s decimal place."
-msgid_plural "Ensure that there are no more than %(max)s decimal places."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:490
-#, python-format
-msgid ""
-"Ensure that there are no more than %(max)s digit before the decimal point."
-msgid_plural ""
-"Ensure that there are no more than %(max)s digits before the decimal point."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:559
-#, python-format
-msgid ""
-"File extension “%(extension)s” is not allowed. Allowed extensions are: "
-"%(allowed_extensions)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/core/validators.py:620
-msgid "Null characters are not allowed."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/base.py:1364
-#: venv/lib/python3.11/site-packages/django/forms/models.py:894
-msgid "and"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/base.py:1366
-#, python-format
-msgid "%(model_name)s with this %(field_labels)s already exists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:129
-#, python-format
-msgid "Value %(value)r is not a valid choice."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:130
-msgid "This field cannot be null."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:131
-msgid "This field cannot be blank."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:132
-#, python-format
-msgid "%(model_name)s with this %(field_label)s already exists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:136
-#, python-format
-msgid ""
-"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:156
-#, python-format
-msgid "Field of type: %(field_type)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1050
-#, python-format
-msgid "“%(value)s” value must be either True or False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1051
-#, python-format
-msgid "“%(value)s” value must be either True, False, or None."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1053
-msgid "Boolean (Either True or False)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1094
-#, python-format
-msgid "String (up to %(max_length)s)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1192
-msgid "Comma-separated integers"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1293
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
-"format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1297
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1432
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
-"date."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1301
-msgid "Date (without time)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1428
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
-"uuuuuu]][TZ] format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1436
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
-"[TZ]) but it is an invalid date/time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1441
-msgid "Date (with time)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1565
-#, python-format
-msgid "“%(value)s” value must be a decimal number."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1567
-msgid "Decimal number"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1724
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
-"uuuuuu] format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1728
-#: src/shiftings/shifts/forms/template.py:40
-#: src/shiftings/shifts/models/template.py:23
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:11
-msgid "Duration"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1780
-msgid "Email address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1805
-msgid "File path"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1883
-#, python-format
-msgid "“%(value)s” value must be a float."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1885
-msgid "Floating point number"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1925
-#, python-format
-msgid "“%(value)s” value must be an integer."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:1927
-msgid "Integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2019
-msgid "Big (8 byte) integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2036
-msgid "Small integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2044
-msgid "IPv4 address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2075
-msgid "IP address"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2168
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2169
-#, python-format
-msgid "“%(value)s” value must be either None, True or False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2171
-msgid "Boolean (Either True, False or None)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2222
-msgid "Positive big integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2237
-msgid "Positive integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2252
-msgid "Positive small integer"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2268
-#, python-format
-msgid "Slug (up to %(max_length)s)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2304
-#: src/shiftings/mail/forms/mail.py:11
-msgid "Text"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2374
-#, python-format
-msgid ""
-"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
-"format."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2378
-#, python-format
-msgid ""
-"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
-"invalid time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2382
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:23
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:197
-#: src/shiftings/shifts/templates/shifts/template/group.html:43
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:23
-#: src/shiftings/shifts/templates/shifts/template/shift.html:10
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:33
-msgid "Time"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2490
-msgid "URL"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2514
-msgid "Raw binary data"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2579
-#, python-format
-msgid "“%(value)s” is not a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/__init__.py:2581
-msgid "Universally unique identifier"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:232
-msgid "File"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/files.py:392
-msgid "Image"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/json.py:18
-msgid "A JSON object"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/json.py:20
-msgid "Value must be valid JSON."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:903
-#, python-format
-msgid "%(model)s instance with %(field)s %(value)r does not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:905
-msgid "Foreign Key (type determined by related field)"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1204
-msgid "One-to-one relationship"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1261
-#, python-format
-msgid "%(from)s-%(to)s relationship"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1263
-#, python-format
-msgid "%(from)s-%(to)s relationships"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/db/models/fields/related.py:1311
-msgid "Many-to-many relationship"
-msgstr ""
-
-#. Translators: If found as last label character, these punctuation
-#. characters will prevent the default label_suffix to be appended to the label
-#: venv/lib/python3.11/site-packages/django/forms/boundfield.py:176
-msgid ":?.!"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:91
-msgid "This field is required."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:298
-msgid "Enter a whole number."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:459
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1232
-msgid "Enter a valid date."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:482
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1233
-msgid "Enter a valid time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:509
-msgid "Enter a valid date/time."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:543
-msgid "Enter a valid duration."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:544
-#, python-brace-format
-msgid "The number of days must be between {min_days} and {max_days}."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:610
-msgid "No file was submitted. Check the encoding type on the form."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:611
-msgid "No file was submitted."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:612
-msgid "The submitted file is empty."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:614
-#, python-format
-msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
-msgid_plural ""
-"Ensure this filename has at most %(max)d characters (it has %(length)d)."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:619
-msgid "Please either submit a file or check the clear checkbox, not both."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:685
-msgid ""
-"Upload a valid image. The file you uploaded was either not an image or a "
-"corrupted image."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:848
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:940
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1563
-#, python-format
-msgid "Select a valid choice. %(value)s is not one of the available choices."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:942
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1061
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1561
-msgid "Enter a list of values."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1062
-msgid "Enter a complete value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1301
-msgid "Enter a valid UUID."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/fields.py:1331
-msgid "Enter a valid JSON."
-msgstr ""
-
-#. Translators: This is the default suffix added to form field labels
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:98
-msgid ":"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:248
-#: venv/lib/python3.11/site-packages/django/forms/forms.py:328
-#, python-format
-msgid "(Hidden field %(name)s) %(error)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:67
-#, python-format
-msgid ""
-"ManagementForm data is missing or has been tampered with. Missing fields: "
-"%(field_names)s. You may need to file a bug report if the issue persists."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:418
-#, python-format
-msgid "Please submit at most %d form."
-msgid_plural "Please submit at most %d forms."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:434
-#, python-format
-msgid "Please submit at least %d form."
-msgid_plural "Please submit at least %d forms."
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:470
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:477
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:38
-msgid "Order"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/formsets.py:483
-msgid "Delete"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:887
-#, python-format
-msgid "Please correct the duplicate data for %(field)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:892
-#, python-format
-msgid "Please correct the duplicate data for %(field)s, which must be unique."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:899
-#, python-format
-msgid ""
-"Please correct the duplicate data for %(field_name)s which must be unique "
-"for the %(lookup)s in %(date_field)s."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:908
-msgid "Please correct the duplicate values below."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1335
-msgid "The inline value did not match the parent instance."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1426
-msgid "Select a valid choice. That choice is not one of the available choices."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/models.py:1565
-#, python-format
-msgid "“%(pk)s” is not a valid value."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/utils.py:204
-#, python-format
-msgid ""
-"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
-"may be ambiguous or it may not exist."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:434
-msgid "Clear"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:435
-msgid "Currently"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:436
-msgid "Change"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:765
-#: src/shiftings/accounts/templates/accounts/user_detail.html:55
-#: src/shiftings/accounts/templates/accounts/user_detail.html:65
-msgid "Unknown"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:766
-#: src/shiftings/templates/generic/delete.html:9
-msgid "Yes"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/forms/widgets.py:767
-#: src/shiftings/templates/generic/delete.html:11
-msgid "No"
-msgstr ""
-
-#. Translators: Please do not add spaces around commas.
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:858
-msgid "yes,no,maybe"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:888
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:905
-#, python-format
-msgid "%(size)d byte"
-msgid_plural "%(size)d bytes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:907
-#, python-format
-msgid "%s KB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:909
-#, python-format
-msgid "%s MB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:911
-#, python-format
-msgid "%s GB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:913
-#, python-format
-msgid "%s TB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/template/defaultfilters.py:915
-#, python-format
-msgid "%s PB"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:77
-msgid "p.m."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:78
-msgid "a.m."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:83
-msgid "PM"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:84
-msgid "AM"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:155
-msgid "midnight"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dateformat.py:157
-msgid "noon"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:7
-#: src/shiftings/utils/time/week.py:13
-msgid "Monday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:8
-#: src/shiftings/utils/time/week.py:14
-msgid "Tuesday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:9
-#: src/shiftings/utils/time/week.py:15
-msgid "Wednesday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:10
-#: src/shiftings/utils/time/week.py:16
-msgid "Thursday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:11
-#: src/shiftings/utils/time/week.py:17
-msgid "Friday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:12
-#: src/shiftings/utils/time/week.py:18
-msgid "Saturday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:13
-#: src/shiftings/utils/time/week.py:19
-msgid "Sunday"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:16
-msgid "Mon"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:17
-msgid "Tue"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:18
-msgid "Wed"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:19
-msgid "Thu"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:20
-msgid "Fri"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:21
-msgid "Sat"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:22
-msgid "Sun"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:25
-#: src/shiftings/utils/time/month.py:10
-msgid "January"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:26
-#: src/shiftings/utils/time/month.py:11
-msgid "February"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:27
-#: src/shiftings/utils/time/month.py:12
-msgid "March"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:28
-#: src/shiftings/utils/time/month.py:13
-msgid "April"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:29
-#: src/shiftings/utils/time/month.py:14
-msgid "May"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:30
-#: src/shiftings/utils/time/month.py:15
-msgid "June"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:31
-#: src/shiftings/utils/time/month.py:16
-msgid "July"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:32
-#: src/shiftings/utils/time/month.py:17
-msgid "August"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:33
-#: src/shiftings/utils/time/month.py:18
-msgid "September"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:34
-#: src/shiftings/utils/time/month.py:19
-msgid "October"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:35
-#: src/shiftings/utils/time/month.py:20
-msgid "November"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:36
-#: src/shiftings/utils/time/month.py:21
-msgid "December"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:39
-msgid "jan"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:40
-msgid "feb"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:41
-msgid "mar"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:42
-msgid "apr"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:43
-msgid "may"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:44
-msgid "jun"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:45
-msgid "jul"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:46
-msgid "aug"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:47
-msgid "sep"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:48
-msgid "oct"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:49
-msgid "nov"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:50
-msgid "dec"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:53
-msgctxt "abbrev. month"
-msgid "Jan."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:54
-msgctxt "abbrev. month"
-msgid "Feb."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:55
-msgctxt "abbrev. month"
-msgid "March"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:56
-msgctxt "abbrev. month"
-msgid "April"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:57
-msgctxt "abbrev. month"
-msgid "May"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:58
-msgctxt "abbrev. month"
-msgid "June"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:59
-msgctxt "abbrev. month"
-msgid "July"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:60
-msgctxt "abbrev. month"
-msgid "Aug."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:61
-msgctxt "abbrev. month"
-msgid "Sept."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:62
-msgctxt "abbrev. month"
-msgid "Oct."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:63
-msgctxt "abbrev. month"
-msgid "Nov."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:64
-msgctxt "abbrev. month"
-msgid "Dec."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:67
-msgctxt "alt. month"
-msgid "January"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:68
-msgctxt "alt. month"
-msgid "February"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:69
-msgctxt "alt. month"
-msgid "March"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:70
-msgctxt "alt. month"
-msgid "April"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:71
-msgctxt "alt. month"
-msgid "May"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:72
-msgctxt "alt. month"
-msgid "June"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:73
-msgctxt "alt. month"
-msgid "July"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:74
-msgctxt "alt. month"
-msgid "August"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:75
-msgctxt "alt. month"
-msgid "September"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:76
-msgctxt "alt. month"
-msgid "October"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:77
-msgctxt "alt. month"
-msgid "November"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/dates.py:78
-msgctxt "alt. month"
-msgid "December"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/ipv6.py:8
-msgid "This is not a valid IPv6 address."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/text.py:77
-#, python-format
-msgctxt "String to return when truncating text"
-msgid "%(truncated_text)s…"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/text.py:253
-msgid "or"
-msgstr ""
-
-#. Translators: This string is used as a separator between list elements
-#: venv/lib/python3.11/site-packages/django/utils/text.py:272
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:94
-msgid ", "
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:9
-#, python-format
-msgid "%(num)d year"
-msgid_plural "%(num)d years"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:10
-#, python-format
-msgid "%(num)d month"
-msgid_plural "%(num)d months"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:11
-#, python-format
-msgid "%(num)d week"
-msgid_plural "%(num)d weeks"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:12
-#, python-format
-msgid "%(num)d day"
-msgid_plural "%(num)d days"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:13
-#, python-format
-msgid "%(num)d hour"
-msgid_plural "%(num)d hours"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/utils/timesince.py:14
-#, python-format
-msgid "%(num)d minute"
-msgid_plural "%(num)d minutes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:111
-msgid "Forbidden"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:112
-msgid "CSRF verification failed. Request aborted."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:116
-msgid ""
-"You are seeing this message because this HTTPS site requires a “Referer "
-"header” to be sent by your web browser, but none was sent. This header is "
-"required for security reasons, to ensure that your browser is not being "
-"hijacked by third parties."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:122
-msgid ""
-"If you have configured your browser to disable “Referer” headers, please re-"
-"enable them, at least for this site, or for HTTPS connections, or for “same-"
-"origin” requests."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:127
-msgid ""
-"If you are using the tag or "
-"including the “Referrer-Policy: no-referrer” header, please remove them. The "
-"CSRF protection requires the “Referer” header to do strict referer checking. "
-"If you’re concerned about privacy, use alternatives like for links to third-party sites."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:136
-msgid ""
-"You are seeing this message because this site requires a CSRF cookie when "
-"submitting forms. This cookie is required for security reasons, to ensure "
-"that your browser is not being hijacked by third parties."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:142
-msgid ""
-"If you have configured your browser to disable cookies, please re-enable "
-"them, at least for this site, or for “same-origin” requests."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/csrf.py:148
-msgid "More information is available with DEBUG=True."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:44
-msgid "No year specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:64
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:115
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:214
-msgid "Date out of range"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:94
-msgid "No month specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:147
-msgid "No day specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:194
-msgid "No week specified"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:349
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:380
-#, python-format
-msgid "No %(verbose_name_plural)s available"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:652
-#, python-format
-msgid ""
-"Future %(verbose_name_plural)s not available because %(class_name)s."
-"allow_future is False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/dates.py:692
-#, python-format
-msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/detail.py:56
-#, python-format
-msgid "No %(verbose_name)s found matching the query"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:70
-msgid "Page is not “last”, nor can it be converted to an int."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:77
-#, python-format
-msgid "Invalid page (%(page_number)s): %(message)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/generic/list.py:169
-#, python-format
-msgid "Empty list and “%(class_name)s.allow_empty” is False."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:39
-msgid "Directory indexes are not allowed here."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:41
-#, python-format
-msgid "“%(path)s” does not exist"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/static.py:80
-#, python-format
-msgid "Index of %(directory)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:7
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:221
-msgid "The install worked successfully! Congratulations!"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:207
-#, python-format
-msgid ""
-"View release notes for Django %(version)s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:222
-#, python-format
-msgid ""
-"You are seeing this page because DEBUG=True is in your settings file and you have not "
-"configured any URLs."
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:230
-msgid "Django Documentation"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:231
-msgid "Topics, references, & how-to’s"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:239
-msgid "Tutorial: A Polling App"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:240
-msgid "Get started with Django"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:248
-msgid "Django Community"
-msgstr ""
-
-#: venv/lib/python3.11/site-packages/django/views/templates/default_urlconf.html:249
-msgid "Connect, get help, or contribute"
+#: shiftings/accounts/forms/user_form.py:13
+msgid "Confirm password"
msgstr ""
-#: venv/lib/python3.11/site-packages/django_bootstrap5/components.py:26
-msgid "close"
+#: shiftings/accounts/forms/user_form.py:31
+#: shiftings/accounts/forms/user_form.py:32
+msgid "Please enter matching passwords"
msgstr ""
-#: venv/lib/python3.11/site-packages/isort/main.py:158
-msgid "show this help message and exit"
+#: shiftings/accounts/forms/user_form.py:65
+msgid "Cannot change first name, last name or email for LDAP users."
msgstr ""
-#: venv/lib/python3.11/site-packages/mypy/main.py:376
-#, python-format
-msgid "%(prog)s: error: %(message)s\n"
+#: shiftings/accounts/models/oidc_token.py:28
+#: shiftings/accounts/templates/accounts/user_detail.html:29
+#: shiftings/organizations/models/membership.py:68
+#: shiftings/shifts/models/participant.py:13
+#: shiftings/templates/top_nav.html:47
+msgid "User"
msgstr ""
-#: src/shiftings/accounts/forms/user_form.py:11
-msgid "Confirm password"
+#: shiftings/accounts/models/oidc_token.py:30
+msgid "Refresh Token"
msgstr ""
-#: src/shiftings/accounts/forms/user_form.py:30
-msgid "Please enter matching passwords"
+#: shiftings/accounts/models/oidc_token.py:31
+msgid "Updated"
msgstr ""
-#: src/shiftings/accounts/models/user.py:32
-#: src/shiftings/accounts/templates/accounts/user_detail.html:52
-#: src/shiftings/shifts/models/participant.py:15
+#: shiftings/accounts/models/user.py:32
+#: shiftings/accounts/templates/accounts/user_detail.html:52
+#: shiftings/shifts/models/participant.py:15
msgid "Display Name"
msgstr ""
-#: src/shiftings/accounts/models/user.py:33
-#: src/shiftings/events/models/event.py:29
-#: src/shiftings/organizations/models/organization.py:28
+#: shiftings/accounts/models/user.py:33 shiftings/events/models/event.py:29
+#: shiftings/organizations/models/organization.py:28
msgid "Telephone Number"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/confirm_email.html:7
+#: shiftings/accounts/templates/accounts/confirm_email.html:7
msgid "Go to Login"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:6
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:12
+#: shiftings/accounts/templates/accounts/login_form.html:6
+#: shiftings/accounts/templates/accounts/login_multiple.html:12
msgid "Login with local Account"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:8
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:20
+#: shiftings/accounts/templates/accounts/login_form.html:8
+#: shiftings/accounts/templates/accounts/login_multiple.html:20
msgid "Login with LDAP Account"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:14
-#: src/shiftings/accounts/views/auth.py:27
-#: src/shiftings/templates/top_nav.html:57
+#: shiftings/accounts/templates/accounts/login_form.html:14
+#: shiftings/accounts/views/auth.py:23 shiftings/templates/top_nav.html:60
msgid "Login"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:16
-#: src/shiftings/accounts/templates/accounts/password_reset/prompt.html:10
+#: shiftings/accounts/templates/accounts/login_form.html:16
+#: shiftings/accounts/templates/accounts/password_reset/prompt.html:10
msgid "Reset Password"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:18
+#: shiftings/accounts/templates/accounts/login_form.html:18
msgid "Return to selection"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:29
+#: shiftings/accounts/templates/accounts/login_form.html:29
msgid "You don't have an Account?"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:30
+#: shiftings/accounts/templates/accounts/login_form.html:30
msgid "Register here"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_form.html:32
+#: shiftings/accounts/templates/accounts/login_form.html:32
msgid "Or login using another Method"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:5
+#: shiftings/accounts/templates/accounts/login_multiple.html:5
msgid "Welcome to Shiftings"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:6
+#: shiftings/accounts/templates/accounts/login_multiple.html:6
msgid ""
"To manage your shifts please authenticate with one of the given methods:"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/login_multiple.html:31
+#: shiftings/accounts/templates/accounts/login_multiple.html:31
#, python-format
msgid ""
"\n"
@@ -1622,28 +115,28 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/accounts/templates/accounts/logout.html:6
+#: shiftings/accounts/templates/accounts/logout.html:6
msgid "Successfully logged out"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/logout.html:7
+#: shiftings/accounts/templates/accounts/logout.html:7
msgid "Login again"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/password_reset/confirm.html:7
+#: shiftings/accounts/templates/accounts/password_reset/confirm.html:7
msgid "Change Password"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/password_reset/done.html:4
+#: shiftings/accounts/templates/accounts/password_reset/done.html:4
msgid "Your password has been reset, check your email!"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/password_reset/done.html:5
-#: src/shiftings/accounts/templates/accounts/password_reset/success.html:5
+#: shiftings/accounts/templates/accounts/password_reset/done.html:5
+#: shiftings/accounts/templates/accounts/password_reset/success.html:5
msgid "Back to login"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/password_reset/prompt.html:4
+#: shiftings/accounts/templates/accounts/password_reset/prompt.html:4
msgid ""
"\n"
" If you are an local user enter your email-adress below to reset your "
@@ -1651,15 +144,15 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/accounts/templates/accounts/password_reset/success.html:4
+#: shiftings/accounts/templates/accounts/password_reset/success.html:4
msgid "Your password has been successfully reset!"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:3
+#: shiftings/accounts/templates/accounts/user_detail.html:3
msgid "Confirm User Deletion"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:5
+#: shiftings/accounts/templates/accounts/user_detail.html:5
#, python-format
msgid ""
"\n"
@@ -1669,128 +162,124 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:17
+#: shiftings/accounts/templates/accounts/user_detail.html:17
msgid "Yes, I want to permanently delete my Data"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:19
+#: shiftings/accounts/templates/accounts/user_detail.html:19
msgid "Abort"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:29
-#: src/shiftings/organizations/models/membership.py:68
-#: src/shiftings/shifts/models/participant.py:13
-#: src/shiftings/templates/top_nav.html:47
-msgid "User"
-msgstr ""
-
-#: src/shiftings/accounts/templates/accounts/user_detail.html:37
-#: src/shiftings/accounts/templates/accounts/user_detail.html:57
+#: shiftings/accounts/templates/accounts/user_detail.html:37
+#: shiftings/accounts/templates/accounts/user_detail.html:57
msgid "Edit user data"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:48
-#: src/shiftings/organizations/forms/membership.py:16
+#: shiftings/accounts/templates/accounts/user_detail.html:48
+#: shiftings/organizations/forms/membership.py:16
msgid "Username"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:50
-#: src/shiftings/events/models/event.py:25
-#: src/shiftings/events/templates/events/event.html:85
-#: src/shiftings/organizations/models/membership.py:10
-#: src/shiftings/organizations/models/organization.py:24
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:195
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:239
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:278
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:388
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:39
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:13
-#: src/shiftings/shifts/models/base.py:8
-#: src/shiftings/shifts/models/recurring.py:32
-#: src/shiftings/shifts/models/template.py:17
-#: src/shiftings/shifts/models/template_group.py:20
-#: src/shiftings/shifts/models/type.py:40
-#: src/shiftings/shifts/models/type_group.py:16
-#: src/shiftings/shifts/templates/shifts/group/list.html:6
-#: src/shiftings/shifts/templates/shifts/list.html:6
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:6
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:6
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:5
-#: src/shiftings/shifts/templates/shifts/type_group/list.html:7
+#: shiftings/accounts/templates/accounts/user_detail.html:50
+#: shiftings/events/models/event.py:25
+#: shiftings/events/templates/events/event.html:85
+#: shiftings/organizations/models/membership.py:10
+#: shiftings/organizations/models/organization.py:24
+#: shiftings/organizations/templates/organizations/organization_admin.html:195
+#: shiftings/organizations/templates/organizations/organization_admin.html:239
+#: shiftings/organizations/templates/organizations/organization_admin.html:278
+#: shiftings/organizations/templates/organizations/organization_admin.html:388
+#: shiftings/organizations/templates/organizations/organization_settings.html:39
+#: shiftings/organizations/templates/organizations/user/claim_users.html:13
+#: shiftings/shifts/models/base.py:8 shiftings/shifts/models/recurring.py:32
+#: shiftings/shifts/models/template.py:17
+#: shiftings/shifts/models/template_group.py:20
+#: shiftings/shifts/models/type.py:40 shiftings/shifts/models/type_group.py:16
+#: shiftings/shifts/templates/shifts/group/list.html:6
+#: shiftings/shifts/templates/shifts/list.html:6
+#: shiftings/shifts/templates/shifts/recurring/list.html:6
+#: shiftings/shifts/templates/shifts/template/group_list.html:6
+#: shiftings/shifts/templates/shifts/template/template_form.html:5
+#: shiftings/shifts/templates/shifts/type_group/list.html:7
msgid "Name"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:58
+#: shiftings/accounts/templates/accounts/user_detail.html:55
+#: shiftings/accounts/templates/accounts/user_detail.html:65
+msgid "Unknown"
+msgstr ""
+
+#: shiftings/accounts/templates/accounts/user_detail.html:58
msgid "Set Display Name"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:62
+#: shiftings/accounts/templates/accounts/user_detail.html:62
msgid "Email"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:64
+#: shiftings/accounts/templates/accounts/user_detail.html:64
msgid "Phone Number"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:66
+#: shiftings/accounts/templates/accounts/user_detail.html:66
msgid "Member since"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:68
+#: shiftings/accounts/templates/accounts/user_detail.html:68
msgid "Total Shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:70
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:124
+#: shiftings/accounts/templates/accounts/user_detail.html:70
+#: shiftings/organizations/templates/organizations/organization_admin.html:124
msgid "Groups"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:71
-#: src/shiftings/events/templates/events/template/event.html:32
-#: src/shiftings/shifts/templates/shifts/template/template.html:19
+#: shiftings/accounts/templates/accounts/user_detail.html:71
+#: shiftings/events/templates/events/template/event.html:32
+#: shiftings/shifts/templates/shifts/template/template.html:19
msgid "None"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:77
+#: shiftings/accounts/templates/accounts/user_detail.html:77
msgid "Organizations"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:83
+#: shiftings/accounts/templates/accounts/user_detail.html:83
msgid "Hide organizations"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:102
-#: src/shiftings/events/templates/events/template/event.html:12
+#: shiftings/accounts/templates/accounts/user_detail.html:102
+#: shiftings/events/templates/events/template/event.html:12
msgid "No Logo available"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:125
+#: shiftings/accounts/templates/accounts/user_detail.html:125
msgid "Recent Shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:127
-#: src/shiftings/accounts/templates/accounts/user_detail.html:132
+#: shiftings/accounts/templates/accounts/user_detail.html:127
+#: shiftings/accounts/templates/accounts/user_detail.html:132
msgid "Upcoming Shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:136
+#: shiftings/accounts/templates/accounts/user_detail.html:136
msgid "Past Shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:157
+#: shiftings/accounts/templates/accounts/user_detail.html:157
msgid "No recent Shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_detail.html:159
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:135
+#: shiftings/accounts/templates/accounts/user_detail.html:159
+#: shiftings/organizations/templates/organizations/organization_shifts.html:135
msgid "No upcoming shifts"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_form.html:6
+#: shiftings/accounts/templates/accounts/user_form.html:6
msgid "Register"
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_form.html:8
+#: shiftings/accounts/templates/accounts/user_form.html:8
#, python-format
msgid ""
"\n"
@@ -1798,427 +287,432 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/accounts/templates/accounts/user_form.html:19
-#: src/shiftings/templates/template/simple_form_modal.html:21
+#: shiftings/accounts/templates/accounts/user_form.html:19
+#: shiftings/templates/template/simple_form_modal.html:21
msgid "Submit"
msgstr ""
-#: src/shiftings/accounts/views/auth.py:83
+#: shiftings/accounts/views/auth.py:79
msgid "Error while creating the user instance!"
msgstr ""
-#: src/shiftings/accounts/views/auth.py:87
+#: shiftings/accounts/views/auth.py:83
msgid "Successfully logged in!"
msgstr ""
-#: src/shiftings/accounts/views/auth.py:90
+#: shiftings/accounts/views/auth.py:86
#, python-format
msgid "Error while trying to authenticate with sso! %(message)s"
msgstr ""
-#: src/shiftings/accounts/views/auth.py:131
-#: src/shiftings/templates/top_nav.html:52
+#: shiftings/accounts/views/auth.py:111 shiftings/templates/top_nav.html:54
msgid "Logout"
msgstr ""
-#: src/shiftings/accounts/views/password.py:13
+#: shiftings/accounts/views/password.py:13
msgid "Password Reset"
msgstr ""
-#: src/shiftings/accounts/views/password.py:19
+#: shiftings/accounts/views/password.py:19
msgid "Confirm Password Reset"
msgstr ""
-#: src/shiftings/accounts/views/user.py:35
-#: src/shiftings/templates/top_nav.html:15
+#: shiftings/accounts/views/user.py:35 shiftings/templates/top_nav.html:15
msgid "My Shifts"
msgstr ""
-#: src/shiftings/accounts/views/user.py:100
+#: shiftings/accounts/views/user.py:102
msgid "Could not find your user."
msgstr ""
-#: src/shiftings/accounts/views/user.py:106
+#: shiftings/accounts/views/user.py:108
msgid "Your EMail was confirmed. You can now login."
msgstr ""
-#: src/shiftings/accounts/views/user.py:109
+#: shiftings/accounts/views/user.py:111
msgid "Your activation link was invalid."
msgstr ""
-#: src/shiftings/accounts/views/user.py:126
+#: shiftings/accounts/views/user.py:128
msgid "Error while deleting your data: Please confirm deletion!"
msgstr ""
-#: src/shiftings/cal/feed/event.py:44
+#: shiftings/cal/feed/event.py:44
msgid "Public Events"
msgstr ""
-#: src/shiftings/cal/forms/day_form.py:8
+#: shiftings/cal/forms/day_form.py:8
msgid "Select Day"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:14
-#: src/shiftings/cal/templates/cal/calendar_base.html:24
+#: shiftings/cal/templates/cal/calendar_base.html:14
+#: shiftings/cal/templates/cal/calendar_base.html:24
msgid "Day View"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:20
+#: shiftings/cal/templates/cal/calendar_base.html:20
msgid "Day (Detailed)"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:30
+#: shiftings/cal/templates/cal/calendar_base.html:30
msgid "Day (By Types)"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:37
+#: shiftings/cal/templates/cal/calendar_base.html:37
msgid "Month View"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:38
-#: src/shiftings/utils/time/month.py:25
-#: src/shiftings/utils/time/timerange.py:12
+#: shiftings/cal/templates/cal/calendar_base.html:38
+#: shiftings/utils/time/month.py:25 shiftings/utils/time/timerange.py:12
msgid "Month"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:42
-#: src/shiftings/cal/templates/cal/calendar_base.html:48
+#: shiftings/cal/templates/cal/calendar_base.html:42
+#: shiftings/cal/templates/cal/calendar_base.html:48
msgid "List View"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:44
+#: shiftings/cal/templates/cal/calendar_base.html:44
msgid "List (Detailed)"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_base.html:50
+#: shiftings/cal/templates/cal/calendar_base.html:50
msgid "List (By Types)"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_templates/cal_shift_create_entry.html:4
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:106
-#: src/shiftings/events/templates/events/event.html:74
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:376
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:120
+#: shiftings/cal/templates/cal/calendar_templates/cal_shift_create_entry.html:4
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:106
+#: shiftings/events/templates/events/event.html:74
+#: shiftings/organizations/templates/organizations/organization_admin.html:376
+#: shiftings/organizations/templates/organizations/organization_shifts.html:120
msgid "Create Shift"
msgstr ""
-#: src/shiftings/cal/templates/cal/calendar_templates/recurring_shift_entry.html:5
+#: shiftings/cal/templates/cal/calendar_templates/recurring_shift_entry.html:5
msgid "Recurring"
msgstr ""
-#: src/shiftings/cal/templates/cal/day_calendar.html:14
+#: shiftings/cal/templates/cal/day_calendar.html:14
msgid "Previous Day"
msgstr ""
-#: src/shiftings/cal/templates/cal/day_calendar.html:22
+#: shiftings/cal/templates/cal/day_calendar.html:22
msgid "Jump to Date"
msgstr ""
-#: src/shiftings/cal/templates/cal/day_calendar.html:28
+#: shiftings/cal/templates/cal/day_calendar.html:28
msgid "Jump to Day"
msgstr ""
-#: src/shiftings/cal/templates/cal/day_calendar.html:30
+#: shiftings/cal/templates/cal/day_calendar.html:30
msgid "Select"
msgstr ""
-#: src/shiftings/cal/templates/cal/day_calendar.html:38
+#: shiftings/cal/templates/cal/day_calendar.html:38
msgid "Next Day"
msgstr ""
-#: src/shiftings/cal/templates/cal/list_calendar.html:12
+#: shiftings/cal/templates/cal/list_calendar.html:12
msgid "Shift list"
msgstr "Schichtenliste"
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:7
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:48
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:4
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:3
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:3
+#, python-format
+msgid ""
+"\n"
+" Your query was capped to the server limit of %(max_entries)s. Please "
+"filter more specifically.\n"
+" "
+msgstr ""
+
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:14
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:48
+#: shiftings/shifts/templates/shifts/shift_participants.html:4
msgid "Add with Name to Shift"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:33
-#: src/shiftings/organizations/models/membership.py:12
-msgid "Default"
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:30
+#: shiftings/organizations/templates/organizations/organization_admin.html:197
+#: shiftings/shifts/templates/shifts/template/group.html:43
+#: shiftings/shifts/templates/shifts/template/group_template.html:23
+#: shiftings/shifts/templates/shifts/template/shift.html:10
+#: shiftings/shifts/templates/shifts/template/template_form.html:33
+msgid "Time"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_shift_types.html:38
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:95
-msgid "No Shifts found with these parameters or planned on this day"
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:40
+#: shiftings/organizations/models/membership.py:12
+msgid "Default"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:3
-#, python-format
-msgid ""
-"\n"
-" Your query was capped to the server limit of %(max_entries)s. Please "
-"filter more specifically.\n"
-" "
+#: shiftings/cal/templates/cal/template/day_calendar_shift_types.html:45
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:95
+msgid "No Shifts found with these parameters or planned on this day"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:12
-#: src/shiftings/events/models/event.py:24
-#: src/shiftings/shifts/models/base.py:12
-#: src/shiftings/shifts/models/recurring.py:34
-#: src/shiftings/shifts/models/template_group.py:24
-#: src/shiftings/shifts/models/type.py:37
-#: src/shiftings/shifts/models/type_group.py:14
-#: src/shiftings/shifts/templates/shifts/create_shift.html:79
-#: src/shiftings/shifts/templates/shifts/list.html:9
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:9
-#: src/shiftings/shifts/templates/shifts/shift.html:47
-#: src/shiftings/shifts/templates/shifts/template/group.html:39
-#: src/shiftings/shifts/templates/shifts/template/group.html:45
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:8
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:25
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:12
+#: shiftings/events/models/event.py:24 shiftings/shifts/models/base.py:12
+#: shiftings/shifts/models/recurring.py:34
+#: shiftings/shifts/models/template_group.py:24
+#: shiftings/shifts/models/type.py:37 shiftings/shifts/models/type_group.py:14
+#: shiftings/shifts/templates/shifts/create_shift.html:79
+#: shiftings/shifts/templates/shifts/list.html:9
+#: shiftings/shifts/templates/shifts/recurring/list.html:9
+#: shiftings/shifts/templates/shifts/shift.html:47
+#: shiftings/shifts/templates/shifts/template/group.html:39
+#: shiftings/shifts/templates/shifts/template/group.html:45
+#: shiftings/shifts/templates/shifts/template/group_list.html:8
+#: shiftings/shifts/templates/shifts/template/group_template.html:25
msgid "Organization"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:13
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:13
msgid "Org"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:14
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:14
msgid "Shift"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:15
-#: src/shiftings/shifts/templates/shifts/create_shift.html:56
-#: src/shiftings/shifts/templates/shifts/template/shift.html:12
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:21
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:15
+#: shiftings/shifts/templates/shifts/create_shift.html:56
+#: shiftings/shifts/templates/shifts/template/shift.html:12
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:21
msgid "Participants"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:16
-#: src/shiftings/shifts/templates/shifts/list.html:10
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:16
+#: shiftings/shifts/templates/shifts/list.html:10
msgid "Start"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:17
-#: src/shiftings/shifts/templates/shifts/list.html:11
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:17
+#: shiftings/shifts/templates/shifts/list.html:11
msgid "End"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:36
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:7
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:36
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:7
msgid "Shift Details"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:61
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:23
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:29
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:44
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:61
+#: shiftings/shifts/templates/shifts/shift_participants.html:23
+#: shiftings/shifts/templates/shifts/template/slots_display.html:29
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:44
msgid "Add me"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/day_calendar_xs.html:112
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:31
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:26
+#: shiftings/cal/templates/cal/template/day_calendar_xs.html:112
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:31
+#: shiftings/shifts/templates/shifts/edit_templates.html:26
msgid "Add Shift"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/month_calendar.html:7
+#: shiftings/cal/templates/cal/template/month_calendar.html:7
msgid "Previous Month"
msgstr ""
-#: src/shiftings/cal/templates/cal/template/month_calendar.html:15
+#: shiftings/cal/templates/cal/template/month_calendar.html:15
msgid "Next Month"
msgstr ""
-#: src/shiftings/cal/templates/cal/week_calendar.html:9
+#: shiftings/cal/templates/cal/week_calendar.html:9
msgid "Previous Week"
msgstr ""
-#: src/shiftings/cal/templates/cal/week_calendar.html:13
+#: shiftings/cal/templates/cal/week_calendar.html:13
msgid "Week"
msgstr ""
-#: src/shiftings/cal/templates/cal/week_calendar.html:17
+#: shiftings/cal/templates/cal/week_calendar.html:17
msgid "Next Week"
msgstr ""
-#: src/shiftings/cal/views/day_calendar.py:24
+#: shiftings/cal/views/day_calendar.py:24
#, python-brace-format
msgid "Day {date}"
msgstr ""
-#: src/shiftings/cal/views/day_calendar.py:25
+#: shiftings/cal/views/day_calendar.py:25
msgid "Day Overview"
msgstr ""
-#: src/shiftings/cal/views/list.py:24
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:6
+#: shiftings/cal/views/list.py:24
+#: shiftings/organizations/templates/organizations/template/org_info.html:6
msgid "Shift Overview"
msgstr ""
-#: src/shiftings/cal/views/month_calendar.py:24
+#: shiftings/cal/views/month_calendar.py:24
#, python-brace-format
msgid "Month {year}/{month:0>2}"
msgstr ""
-#: src/shiftings/cal/views/month_calendar.py:26
-#: src/shiftings/events/templates/events/event.html:52
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:162
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:28
+#: shiftings/cal/views/month_calendar.py:26
+#: shiftings/events/templates/events/event.html:52
+#: shiftings/organizations/templates/organizations/organization_admin.html:162
+#: shiftings/organizations/templates/organizations/organization_shifts.html:28
msgid "Month Overview"
msgstr ""
-#: src/shiftings/events/forms/event.py:24
+#: shiftings/events/forms/event.py:24
#, python-format
msgid "Start date %(start)s was after end_date %(end)s"
msgstr ""
-#: src/shiftings/events/models/event.py:26
-#: src/shiftings/events/templates/events/event.html:19
-#: src/shiftings/organizations/models/organization.py:25
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:58
+#: shiftings/events/models/event.py:26
+#: shiftings/events/templates/events/event.html:19
+#: shiftings/organizations/models/organization.py:25
+#: shiftings/organizations/templates/organizations/template/org_info.html:58
msgid "Logo"
msgstr ""
-#: src/shiftings/events/models/event.py:28
-#: src/shiftings/organizations/models/organization.py:27
+#: shiftings/events/models/event.py:28
+#: shiftings/organizations/models/organization.py:27
msgid "E-Mail"
msgstr ""
-#: src/shiftings/events/models/event.py:30
-#: src/shiftings/organizations/models/organization.py:29
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:81
-#: src/shiftings/organizations/templates/organizations/template/organization.html:27
+#: shiftings/events/models/event.py:30
+#: shiftings/organizations/models/organization.py:29
+#: shiftings/organizations/templates/organizations/organization_shifts.html:81
+#: shiftings/organizations/templates/organizations/template/organization.html:27
msgid "Website"
msgstr ""
-#: src/shiftings/events/models/event.py:32
+#: shiftings/events/models/event.py:32
msgid "Start Date"
msgstr ""
-#: src/shiftings/events/models/event.py:32
+#: shiftings/events/models/event.py:32
msgid "Earliest date where there are shifts available"
msgstr ""
-#: src/shiftings/events/models/event.py:33
+#: shiftings/events/models/event.py:33
msgid "End Date"
msgstr ""
-#: src/shiftings/events/models/event.py:33
+#: shiftings/events/models/event.py:33
msgid "Latest date where there are shifts available"
msgstr ""
-#: src/shiftings/events/models/event.py:35
-#: src/shiftings/organizations/models/organization.py:32
+#: shiftings/events/models/event.py:35
+#: shiftings/organizations/models/organization.py:32
msgid "Description"
msgstr ""
-#: src/shiftings/events/models/event.py:55
+#: shiftings/events/models/event.py:55
#, python-brace-format
msgid "{name} (by {organization})"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:10
+#: shiftings/events/templates/events/event.html:10
msgid "Edit Event"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:55
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:165
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:31
+#: shiftings/events/templates/events/event.html:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:165
+#: shiftings/organizations/templates/organizations/organization_shifts.html:31
msgid "Complete Overview"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:69
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:363
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:109
+#: shiftings/events/templates/events/event.html:69
+#: shiftings/organizations/templates/organizations/organization_admin.html:363
+#: shiftings/organizations/templates/organizations/organization_shifts.html:109
msgid "Shifts"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:71
-#: src/shiftings/events/templates/events/event.html:72
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:371
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:112
+#: shiftings/events/templates/events/event.html:71
+#: shiftings/events/templates/events/event.html:72
+#: shiftings/organizations/templates/organizations/organization_admin.html:371
+#: shiftings/organizations/templates/organizations/organization_shifts.html:112
msgid "ical Export"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:86
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:389
-#: src/shiftings/shifts/templates/shifts/list.html:7
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:7
-#: src/shiftings/shifts/templates/shifts/template/shift.html:8
-#: src/shiftings/shifts/templates/shifts/template/template.html:7
+#: shiftings/events/templates/events/event.html:86
+#: shiftings/organizations/templates/organizations/organization_admin.html:389
+#: shiftings/shifts/templates/shifts/list.html:7
+#: shiftings/shifts/templates/shifts/recurring/list.html:7
+#: shiftings/shifts/templates/shifts/template/shift.html:8
+#: shiftings/shifts/templates/shifts/template/template.html:7
msgid "Type"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:87
-#: src/shiftings/mail/forms/mail.py:39
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:241
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:390
-#: src/shiftings/shifts/models/template_group.py:26
-#: src/shiftings/shifts/templates/shifts/shift.html:43
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:9
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:17
-#: src/shiftings/shifts/templates/shifts/template/template.html:13
+#: shiftings/events/templates/events/event.html:87
+#: shiftings/mail/forms/mail.py:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:241
+#: shiftings/organizations/templates/organizations/organization_admin.html:390
+#: shiftings/shifts/models/template_group.py:26
+#: shiftings/shifts/templates/shifts/shift.html:43
+#: shiftings/shifts/templates/shifts/template/group_list.html:9
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:17
+#: shiftings/shifts/templates/shifts/template/template.html:13
msgid "Start Time"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:88
-#: src/shiftings/mail/forms/mail.py:40
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:391
-#: src/shiftings/shifts/templates/shifts/shift.html:45
-#: src/shiftings/shifts/templates/shifts/template/template.html:15
+#: shiftings/events/templates/events/event.html:88
+#: shiftings/mail/forms/mail.py:56
+#: shiftings/organizations/templates/organizations/organization_admin.html:391
+#: shiftings/shifts/templates/shifts/shift.html:45
+#: shiftings/shifts/templates/shifts/template/template.html:15
msgid "End Time"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:89
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:198
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:240
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:392
-#: src/shiftings/shifts/models/base.py:9
-#: src/shiftings/shifts/models/template_group.py:21
-#: src/shiftings/shifts/templates/shifts/list.html:8
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:8
-#: src/shiftings/shifts/templates/shifts/shift.html:41
-#: src/shiftings/shifts/templates/shifts/template/group.html:41
-#: src/shiftings/shifts/templates/shifts/template/group_list.html:7
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:21
-#: src/shiftings/shifts/templates/shifts/template/shift_card.html:12
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:18
+#: shiftings/events/templates/events/event.html:89
+#: shiftings/organizations/templates/organizations/organization_admin.html:198
+#: shiftings/organizations/templates/organizations/organization_admin.html:240
+#: shiftings/organizations/templates/organizations/organization_admin.html:392
+#: shiftings/shifts/models/base.py:9
+#: shiftings/shifts/models/template_group.py:21
+#: shiftings/shifts/templates/shifts/list.html:8
+#: shiftings/shifts/templates/shifts/recurring/list.html:8
+#: shiftings/shifts/templates/shifts/shift.html:41
+#: shiftings/shifts/templates/shifts/template/group.html:41
+#: shiftings/shifts/templates/shifts/template/group_list.html:7
+#: shiftings/shifts/templates/shifts/template/group_template.html:21
+#: shiftings/shifts/templates/shifts/template/shift_card.html:12
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:18
msgid "Place"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:90
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:393
+#: shiftings/events/templates/events/event.html:90
+#: shiftings/organizations/templates/organizations/organization_admin.html:393
msgid "Users/Required/Max"
msgstr ""
-#: src/shiftings/events/templates/events/event.html:108
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:416
+#: shiftings/events/templates/events/event.html:108
+#: shiftings/organizations/templates/organizations/organization_admin.html:416
msgid "No current shifts"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:5
-#: src/shiftings/events/templates/events/list.html:13
-#: src/shiftings/events/templates/events/list.html:22
+#: shiftings/events/templates/events/list.html:5
+#: shiftings/events/templates/events/list.html:13
+#: shiftings/events/templates/events/list.html:22
msgid "All Events"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:7
-#: src/shiftings/templates/top_nav.html:22
+#: shiftings/events/templates/events/list.html:7
+#: shiftings/templates/top_nav.html:22
msgid "Current Events"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:16
+#: shiftings/events/templates/events/list.html:16
msgid "All upcoming Events"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:20
+#: shiftings/events/templates/events/list.html:20
msgid "Enter Name or Organization"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:26
+#: shiftings/events/templates/events/list.html:26
msgid "Future Events"
msgstr ""
-#: src/shiftings/events/templates/events/list.html:39
+#: shiftings/events/templates/events/list.html:39
msgid "No Events found."
msgstr ""
-#: src/shiftings/events/templates/events/template/event.html:23
+#: shiftings/events/templates/events/template/event.html:23
#, python-format
msgid ""
"\n"
@@ -2226,262 +720,276 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/events/templates/events/template/event.html:31
+#: shiftings/events/templates/events/template/event.html:31
msgid "Open Shifts"
msgstr ""
-#: src/shiftings/events/templates/events/template/event.html:32
+#: shiftings/events/templates/events/template/event.html:32
msgid "Required People"
msgstr ""
-#: src/shiftings/events/templates/events/template/event.html:33
+#: shiftings/events/templates/events/template/event.html:33
msgid "Visibility"
msgstr ""
-#: src/shiftings/events/templates/events/template/event.html:33
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:350
+#: shiftings/events/templates/events/template/event.html:33
+#: shiftings/organizations/templates/organizations/organization_admin.html:350
msgid "Public,Private,Unknown"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:2
+#: shiftings/events/templates/events/template/event_stats.html:2
msgid "Shifts that are below the required amount of users"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:3
+#: shiftings/events/templates/events/template/event_stats.html:3
msgid "Shifts missing users"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:6
+#: shiftings/events/templates/events/template/event_stats.html:6
msgid "Shifts that are below the required and maximum amount of users"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:7
+#: shiftings/events/templates/events/template/event_stats.html:7
msgid "Shifts with open slots"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:10
+#: shiftings/events/templates/events/template/event_stats.html:10
msgid "Number of Shift slots filled with users"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:11
+#: shiftings/events/templates/events/template/event_stats.html:11
msgid "Filled Slots"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:12
-#: src/shiftings/events/templates/events/template/event_stats.html:16
+#: shiftings/events/templates/events/template/event_stats.html:12
+#: shiftings/events/templates/events/template/event_stats.html:16
msgid "No Shifts available"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:14
+#: shiftings/events/templates/events/template/event_stats.html:14
msgid "Number of Shift slots that are still open"
msgstr ""
-#: src/shiftings/events/templates/events/template/event_stats.html:15
+#: shiftings/events/templates/events/template/event_stats.html:15
msgid "Open Slots"
msgstr ""
-#: src/shiftings/mail/forms/mail.py:10
+#: shiftings/mail/forms/mail.py:13
msgid "Subject"
msgstr ""
-#: src/shiftings/mail/forms/mail.py:12
+#: shiftings/mail/forms/mail.py:14
+msgid "Text"
+msgstr ""
+
+#: shiftings/mail/forms/mail.py:15
msgid "Attachments"
msgstr ""
-#: src/shiftings/mail/forms/mail.py:22
+#: shiftings/mail/forms/mail.py:26
+msgid "Each attachment must be smaller than 10 MB."
+msgstr ""
+
+#: shiftings/mail/forms/mail.py:30
+msgid "Total attachment size must be smaller than 25 MB."
+msgstr ""
+
+#: shiftings/mail/forms/mail.py:38
msgid ""
"Send the mail only to specific membership types. Or leave blank to send to "
"all."
msgstr ""
-#: src/shiftings/mail/forms/mail.py:37
+#: shiftings/mail/forms/mail.py:53
msgid ""
"Send the mail only to specific shift types. Or leave blank to send to all."
msgstr ""
-#: src/shiftings/mail/templates/mail/mail.html:8
+#: shiftings/mail/forms/mail.py:71
+msgid "Start time must be before end time."
+msgstr ""
+
+#: shiftings/mail/templates/mail/mail.html:8
msgid "Send Mail"
msgstr ""
-#: src/shiftings/mail/views/mail.py:45
+#: shiftings/mail/views/mail.py:45
#, python-brace-format
msgid "E-Mail sent to {count} user(s)."
msgstr ""
-#: src/shiftings/organizations/forms/membership.py:40
-#: src/shiftings/shifts/forms/participant.py:57
+#: shiftings/organizations/forms/membership.py:40
+#: shiftings/shifts/forms/participant.py:57
msgid "The user you entered could not be found."
msgstr ""
-#: src/shiftings/organizations/models/membership.py:11
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:68
-#: src/shiftings/templates/top_nav.html:50
+#: shiftings/organizations/models/membership.py:11
+#: shiftings/organizations/templates/organizations/organization_admin.html:68
+#: shiftings/templates/top_nav.html:50
msgid "Admin"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:13
+#: shiftings/organizations/models/membership.py:13
msgid "Permissions"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:19
+#: shiftings/organizations/models/membership.py:19
msgid "edit organization details"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:20
+#: shiftings/organizations/models/membership.py:20
msgid "see members of the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:21
+#: shiftings/organizations/models/membership.py:21
msgid "see shift participation statistics"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:22
+#: shiftings/organizations/models/membership.py:22
msgid "send emails to everyone in the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:24
+#: shiftings/organizations/models/membership.py:24
msgid "create and update membership types for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:25
+#: shiftings/organizations/models/membership.py:25
msgid "add and remove members for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:27
+#: shiftings/organizations/models/membership.py:27
msgid "create and update events for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:29
+#: shiftings/organizations/models/membership.py:29
msgid "create and update recurring shifts for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:30
+#: shiftings/organizations/models/membership.py:30
msgid "create and update shifts templates for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:31
+#: shiftings/organizations/models/membership.py:31
msgid "create and update shifts for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:32
+#: shiftings/organizations/models/membership.py:32
msgid "delete uncompleted shifts for the organization"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:34
+#: shiftings/organizations/models/membership.py:34
msgid "remove others from shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:35
+#: shiftings/organizations/models/membership.py:35
msgid "add other users that are not members of the organization to shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:36
+#: shiftings/organizations/models/membership.py:36
msgid "add other organization members to shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:37
+#: shiftings/organizations/models/membership.py:37
msgid "participate in shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:38
+#: shiftings/organizations/models/membership.py:38
msgid "add self/others (depending on other permissions) to past shifts"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:57
+#: shiftings/organizations/models/membership.py:57
#, python-brace-format
msgid "{name} (Admin)"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:59
+#: shiftings/organizations/models/membership.py:59
#, python-brace-format
msgid "{name} (Default)"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:65
+#: shiftings/organizations/models/membership.py:65
msgid "Membership Type"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:69
-#: src/shiftings/shifts/models/type.py:38
+#: shiftings/organizations/models/membership.py:69
+#: shiftings/shifts/models/type.py:38
msgid "Group"
msgstr ""
-#: src/shiftings/organizations/models/membership.py:100
+#: shiftings/organizations/models/membership.py:100
msgid "Membership can only be either user or group, not both."
msgstr ""
-#: src/shiftings/organizations/models/membership.py:102
+#: shiftings/organizations/models/membership.py:102
msgid "Membership must consist of a user or a group."
msgstr ""
-#: src/shiftings/organizations/models/organization.py:30
+#: shiftings/organizations/models/organization.py:30
msgid "Include Protocol i.E. https://example.com"
msgstr ""
-#: src/shiftings/organizations/models/organization.py:33
-#: src/shiftings/shifts/models/base.py:24
-#: src/shiftings/shifts/models/recurring.py:56
-#: src/shiftings/shifts/models/recurring.py:63
-#: src/shiftings/shifts/models/shift.py:32
-#: src/shiftings/shifts/models/template.py:33
+#: shiftings/organizations/models/organization.py:33
+#: shiftings/shifts/models/base.py:24 shiftings/shifts/models/recurring.py:56
+#: shiftings/shifts/models/recurring.py:63 shiftings/shifts/models/shift.py:32
+#: shiftings/shifts/models/template.py:33
#, python-brace-format
msgid "A maximum of {amount} characters is allowed"
msgstr ""
-#: src/shiftings/organizations/models/organization.py:34
+#: shiftings/organizations/models/organization.py:34
msgid "Confirm Participants"
msgstr ""
-#: src/shiftings/organizations/models/organization.py:35
+#: shiftings/organizations/models/organization.py:35
msgid "Whether the participants can be confirmed or not. Default: False"
msgstr ""
-#: src/shiftings/organizations/models/organization.py:49
+#: shiftings/organizations/models/organization.py:49
msgid "manage all organizations"
msgstr ""
-#: src/shiftings/organizations/models/user.py:10
+#: shiftings/organizations/models/user.py:10
msgid "Claimed by"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/list.html:5
+#: shiftings/organizations/templates/organizations/list.html:5
msgid "All Organizations"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/list.html:7
-#: src/shiftings/templates/top_nav.html:18
+#: shiftings/organizations/templates/organizations/list.html:7
+#: shiftings/templates/top_nav.html:18
msgid "My Organizations"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/list.html:12
+#: shiftings/organizations/templates/organizations/list.html:12
msgid "Enter Name"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/list.html:14
+#: shiftings/organizations/templates/organizations/list.html:14
msgid "Add new Organization"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/list.html:25
+#: shiftings/organizations/templates/organizations/list.html:25
msgid "No Organizations found."
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:6
+#: shiftings/organizations/templates/organizations/organization_admin.html:6
msgid "Show membership Permissions"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:10
+#: shiftings/organizations/templates/organizations/organization_admin.html:10
msgid "All Permissions"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:19
+#: shiftings/organizations/templates/organizations/organization_admin.html:19
msgid "No permissions"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:26
+#: shiftings/organizations/templates/organizations/organization_admin.html:26
msgid "Add member"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:41
+#: shiftings/organizations/templates/organizations/organization_admin.html:41
#, python-format
msgid ""
"\n"
@@ -2489,183 +997,187 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:48
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:8
+#: shiftings/organizations/templates/organizations/organization_admin.html:48
+#: shiftings/organizations/templates/organizations/organization_shifts.html:8
msgid "Member Shift Summary"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:54
+#: shiftings/organizations/templates/organizations/organization_admin.html:54
msgid "Add Membership Type"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:78
+#: shiftings/organizations/templates/organizations/organization_admin.html:78
msgid "Show user permissions"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:81
+#: shiftings/organizations/templates/organizations/organization_admin.html:81
msgid "Edit Membership Type"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:90
+#: shiftings/organizations/templates/organizations/organization_admin.html:90
msgid "Add Member"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:100
+#: shiftings/organizations/templates/organizations/organization_admin.html:100
msgid "No Members of this type!"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:106
+#: shiftings/organizations/templates/organizations/organization_admin.html:106
msgid "Direct Members"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:150
+#: shiftings/organizations/templates/organizations/organization_admin.html:150
msgid "Next Shift"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:154
+#: shiftings/organizations/templates/organizations/organization_admin.html:154
msgid "No Shifts planned"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:179
-#: src/shiftings/shifts/templates/shifts/template/group.html:52
+#: shiftings/organizations/templates/organizations/organization_admin.html:179
+#: shiftings/shifts/templates/shifts/template/group.html:52
msgid "Recurring Shifts"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:184
+#: shiftings/organizations/templates/organizations/organization_admin.html:184
msgid "Add recurring shift"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:196
+#: shiftings/organizations/templates/organizations/organization_admin.html:196
msgid "Shift count"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:199
+#: shiftings/organizations/templates/organizations/organization_admin.html:199
msgid "Status"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:210
+#: shiftings/organizations/templates/organizations/organization_admin.html:210
msgid "Inactive,Active,Undefined"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:216
+#: shiftings/organizations/templates/organizations/organization_admin.html:216
msgid "No recurring shifts"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:223
+#: shiftings/organizations/templates/organizations/organization_admin.html:223
msgid "Shifts Templates"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:228
+#: shiftings/organizations/templates/organizations/organization_admin.html:228
msgid "Add shifts template"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:255
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:309
+#: shiftings/organizations/templates/organizations/organization_admin.html:255
+#: shiftings/organizations/templates/organizations/organization_admin.html:309
msgid "No shifts templates"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:262
+#: shiftings/organizations/templates/organizations/organization_admin.html:262
msgid "Shifts Types"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:267
+#: shiftings/organizations/templates/organizations/organization_admin.html:267
msgid "Add Shift Type"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:279
+#: shiftings/organizations/templates/organizations/organization_admin.html:279
msgid "Color"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:280
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:15
+#: shiftings/organizations/templates/organizations/organization_admin.html:280
+#: shiftings/organizations/templates/organizations/user/claim_users.html:15
msgid "Shift Count"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:281
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:41
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:16
+#: shiftings/organizations/templates/organizations/organization_admin.html:281
+#: shiftings/organizations/templates/organizations/organization_settings.html:41
+#: shiftings/organizations/templates/organizations/user/claim_users.html:16
msgid "Action"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:290
+#: shiftings/organizations/templates/organizations/organization_admin.html:290
msgid "Shift Type Background Color"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:317
+#: shiftings/organizations/templates/organizations/organization_admin.html:317
msgid "Upcoming Events"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:321
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:50
+#: shiftings/organizations/templates/organizations/organization_admin.html:321
+#: shiftings/organizations/templates/organizations/organization_shifts.html:50
msgid "Expired Events"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:326
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:55
+#: shiftings/organizations/templates/organizations/organization_admin.html:326
+#: shiftings/organizations/templates/organizations/organization_shifts.html:55
msgid "Add Event"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:356
+#: shiftings/organizations/templates/organizations/organization_admin.html:356
msgid "No upcoming Events planned"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_admin.html:367
+#: shiftings/organizations/templates/organizations/organization_admin.html:367
msgid "Claim Legacy Shifts"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:19
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:36
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:31
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:25
-#: src/shiftings/templates/generic/create_or_update.html:20
-#: src/shiftings/templates/generic/formset.html:17
+#: shiftings/organizations/templates/organizations/organization_settings.html:19
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:36
+#: shiftings/shifts/templates/shifts/edit_templates.html:31
+#: shiftings/shifts/templates/shifts/recurring/form.html:25
+#: shiftings/templates/generic/create_or_update.html:20
+#: shiftings/templates/generic/formset.html:17
msgid "Save"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:26
+#: shiftings/organizations/templates/organizations/organization_settings.html:26
msgid "Shift Type Groups"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:29
+#: shiftings/organizations/templates/organizations/organization_settings.html:29
msgid "Create Type Group"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:40
+#: shiftings/organizations/templates/organizations/organization_settings.html:38
+msgid "Order"
+msgstr ""
+
+#: shiftings/organizations/templates/organizations/organization_settings.html:40
msgid "Types"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:61
+#: shiftings/organizations/templates/organizations/organization_settings.html:61
msgid "Edit Type Group"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:72
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:77
+#: shiftings/organizations/templates/organizations/organization_settings.html:72
+#: shiftings/organizations/templates/organizations/organization_settings.html:77
msgid "Move Up"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:84
-#: src/shiftings/organizations/templates/organizations/organization_settings.html:89
+#: shiftings/organizations/templates/organizations/organization_settings.html:84
+#: shiftings/organizations/templates/organizations/organization_settings.html:89
msgid "Move Down"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:11
+#: shiftings/organizations/templates/organizations/organization_shifts.html:11
msgid "Full Summary"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:46
+#: shiftings/organizations/templates/organizations/organization_shifts.html:46
msgid "Upcoming Event"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:66
-#: src/shiftings/shifts/models/shift.py:21
+#: shiftings/organizations/templates/organizations/organization_shifts.html:66
+#: shiftings/shifts/models/shift.py:21
msgid "Event"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:68
+#: shiftings/organizations/templates/organizations/organization_shifts.html:68
msgid "Go to Event"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:74
+#: shiftings/organizations/templates/organizations/organization_shifts.html:74
#, python-format
msgid ""
"\n"
@@ -2675,463 +1187,464 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:94
+#: shiftings/organizations/templates/organizations/organization_shifts.html:94
msgid "No Events planned"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:102
+#: shiftings/organizations/templates/organizations/organization_shifts.html:102
msgid "Events disabled"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/organization_shifts.html:117
+#: shiftings/organizations/templates/organizations/organization_shifts.html:117
msgid "Create Shift from Template"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/member_group.html:6
+#: shiftings/organizations/templates/organizations/template/member_group.html:6
msgid "Click to expand members"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:8
+#: shiftings/organizations/templates/organizations/template/org_info.html:8
msgid "Organization Overview"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:12
+#: shiftings/organizations/templates/organizations/template/org_info.html:12
msgid "Administrate Organization"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:14
+#: shiftings/organizations/templates/organizations/template/org_info.html:14
msgid "Organization Admin View"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:19
+#: shiftings/organizations/templates/organizations/template/org_info.html:19
msgid "Organization Settings"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:21
+#: shiftings/organizations/templates/organizations/template/org_info.html:21
msgid "Organization Settings View"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:35
+#: shiftings/organizations/templates/organizations/template/org_info.html:35
msgid "Send Mail to shift participants"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:41
+#: shiftings/organizations/templates/organizations/template/org_info.html:41
msgid "Edit Organization"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/org_info.html:47
+#: shiftings/organizations/templates/organizations/template/org_info.html:47
msgid "Update Shift Permissions"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/template/organization.html:12
+#: shiftings/organizations/templates/organizations/template/organization.html:12
msgid "No Image available"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:6
+#: shiftings/organizations/templates/organizations/user/claim_users.html:6
msgid "Imported Users"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:14
+#: shiftings/organizations/templates/organizations/user/claim_users.html:14
msgid "Claimed"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:36
+#: shiftings/organizations/templates/organizations/user/claim_users.html:36
msgid "Claim"
msgstr ""
-#: src/shiftings/organizations/templates/organizations/user/claim_users.html:43
+#: shiftings/organizations/templates/organizations/user/claim_users.html:43
msgid "Unclaim"
msgstr ""
-#: src/shiftings/organizations/views/membership.py:55
-#: src/shiftings/organizations/views/membership_type.py:57
+#: shiftings/organizations/views/membership.py:55
+#: shiftings/organizations/views/membership_type.py:57
msgid "Membership removed"
msgstr ""
-#: src/shiftings/organizations/views/organization.py:62
+#: shiftings/organizations/views/organization.py:62
#, python-brace-format
msgid "{org} Overview"
msgstr ""
-#: src/shiftings/organizations/views/organization.py:89
+#: shiftings/organizations/views/organization.py:89
#, python-brace-format
msgid "{org} Administration"
msgstr ""
-#: src/shiftings/organizations/views/organization.py:135
+#: shiftings/organizations/views/organization.py:135
#, python-brace-format
msgid "{org} Settings"
msgstr ""
-#: src/shiftings/organizations/views/user.py:36
+#: shiftings/organizations/views/user.py:36
msgid "You can't claim users that are already claimed."
msgstr ""
-#: src/shiftings/shifts/forms/filters.py:12
+#: shiftings/shifts/forms/filters.py:12
msgid "Shifts I participate in"
msgstr ""
-#: src/shiftings/shifts/forms/filters.py:17
-#: src/shiftings/shifts/forms/filters.py:19
+#: shiftings/shifts/forms/filters.py:17 shiftings/shifts/forms/filters.py:19
msgid "Date YYYY-MM-DD"
msgstr ""
-#: src/shiftings/shifts/forms/filters.py:18
-#: src/shiftings/shifts/forms/filters.py:20
+#: shiftings/shifts/forms/filters.py:18 shiftings/shifts/forms/filters.py:20
msgid "Time HH:MM"
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:28
+#: shiftings/shifts/forms/participant.py:28
#, python-brace-format
msgid "User {user} is already registered for this shift."
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:32
+#: shiftings/shifts/forms/participant.py:32
msgid "Organization Users"
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:33
+#: shiftings/shifts/forms/participant.py:33
msgid "Other Users"
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:34
+#: shiftings/shifts/forms/participant.py:34
msgid ""
"To add users that do not belong to your organization please enter their "
"username."
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:65
+#: shiftings/shifts/forms/participant.py:65
msgid "Only select one type of user!"
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:75
+#: shiftings/shifts/forms/participant.py:75
msgid "One of the user fields is required!"
msgstr ""
-#: src/shiftings/shifts/forms/participant.py:80
+#: shiftings/shifts/forms/participant.py:80
#, python-brace-format
msgid "Cannot add {user} multiple times to this shift"
msgstr ""
-#: src/shiftings/shifts/forms/permission.py:36
-#: src/shiftings/shifts/forms/permission.py:90
+#: shiftings/shifts/forms/permission.py:36
+#: shiftings/shifts/forms/permission.py:90
#, python-brace-format
msgid ""
"Permission would have no effect. Permission for all Users is more extensive: "
"{permission}"
msgstr ""
-#: src/shiftings/shifts/forms/permission.py:47
+#: shiftings/shifts/forms/permission.py:47
#, python-brace-format
msgid ""
"Permission would have no effect. There is an inherited more extensive "
"permission: {referred_object} ({permission})"
msgstr ""
-#: src/shiftings/shifts/forms/permission.py:56
+#: shiftings/shifts/forms/permission.py:56
#, python-brace-format
msgid ""
"Permission would have no effect. There is an inherited more extensive "
"permission for all Users: {referred_object} ({permission})"
msgstr ""
-#: src/shiftings/shifts/forms/permission.py:78
+#: shiftings/shifts/forms/permission.py:78
#, python-brace-format
msgid "Can only set one permission for organization \"{organization}\""
msgstr ""
-#: src/shiftings/shifts/forms/permission.py:80
+#: shiftings/shifts/forms/permission.py:80
msgid "Can only set one permission for all Users"
msgstr ""
-#: src/shiftings/shifts/forms/recurring.py:13
+#: shiftings/shifts/forms/recurring.py:13
msgid "Ordinal"
msgstr ""
-#: src/shiftings/shifts/forms/recurring.py:35
+#: shiftings/shifts/forms/recurring.py:35
msgid "Weekday can't be empty with the chosen time frame type."
msgstr ""
-#: src/shiftings/shifts/forms/recurring.py:37
+#: shiftings/shifts/forms/recurring.py:37
msgid "Month can't be empty with the chosen time frame type."
msgstr ""
-#: src/shiftings/shifts/forms/recurring.py:39
+#: shiftings/shifts/forms/recurring.py:39
msgid "You need to add a warning for weekend handling."
msgstr ""
-#: src/shiftings/shifts/forms/recurring.py:41
+#: shiftings/shifts/forms/recurring.py:41
msgid "You need to add a warning for holiday handling."
msgstr ""
-#: src/shiftings/shifts/forms/shift.py:38
-#: src/shiftings/shifts/forms/template.py:66
+#: shiftings/shifts/forms/shift.py:39
+msgid "End time must be after start time"
+msgstr ""
+
+#: shiftings/shifts/forms/shift.py:44 shiftings/shifts/forms/template.py:66
#, python-brace-format
msgid "Shift is too long, can at most be {max} long"
msgstr ""
-#: src/shiftings/shifts/forms/template.py:18
+#: shiftings/shifts/forms/template.py:18
msgid "Date"
msgstr ""
-#: src/shiftings/shifts/forms/template.py:18
+#: shiftings/shifts/forms/template.py:18
msgid "Date to create the template on"
msgstr ""
-#: src/shiftings/shifts/forms/template.py:38
-#: src/shiftings/shifts/models/template.py:22
+#: shiftings/shifts/forms/template.py:38 shiftings/shifts/models/template.py:22
msgid "Start Delay"
msgstr ""
-#: src/shiftings/shifts/forms/template.py:58
+#: shiftings/shifts/forms/template.py:40 shiftings/shifts/models/template.py:23
+#: shiftings/shifts/templates/shifts/recurring/list.html:11
+msgid "Duration"
+msgstr ""
+
+#: shiftings/shifts/forms/template.py:58
msgid "Start Delay was None please reload and use the slider."
msgstr ""
-#: src/shiftings/shifts/forms/template.py:64
+#: shiftings/shifts/forms/template.py:64
msgid "Duration was None please reload and use the slider."
msgstr ""
-#: src/shiftings/shifts/forms/type.py:22
+#: shiftings/shifts/forms/type.py:22
msgid "Can't name a shift type \"System\"."
msgstr ""
-#: src/shiftings/shifts/models/base.py:13
-#: src/shiftings/shifts/models/template.py:19
-#: src/shiftings/shifts/templates/shifts/shift.html:39
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:18
+#: shiftings/shifts/models/base.py:13 shiftings/shifts/models/template.py:19
+#: shiftings/shifts/templates/shifts/shift.html:39
+#: shiftings/shifts/templates/shifts/template/template_form.html:18
msgid "Shift Type"
msgstr ""
-#: src/shiftings/shifts/models/base.py:16
+#: shiftings/shifts/models/base.py:16
msgid "Required Users"
msgstr ""
-#: src/shiftings/shifts/models/base.py:18
-#: src/shiftings/shifts/models/template.py:27
+#: shiftings/shifts/models/base.py:18 shiftings/shifts/models/template.py:27
msgid "A maximum of 32 users can be required"
msgstr ""
-#: src/shiftings/shifts/models/base.py:19
+#: shiftings/shifts/models/base.py:19
msgid "Maximum Users"
msgstr ""
-#: src/shiftings/shifts/models/base.py:21
-#: src/shiftings/shifts/models/template.py:30
+#: shiftings/shifts/models/base.py:21 shiftings/shifts/models/template.py:30
msgid "A maximum of 64 users can be present"
msgstr ""
-#: src/shiftings/shifts/models/base.py:23
-#: src/shiftings/shifts/models/template.py:32
-#: src/shiftings/shifts/templates/shifts/shift.html:79
-#: src/shiftings/shifts/templates/shifts/template/template.html:26
+#: shiftings/shifts/models/base.py:23 shiftings/shifts/models/template.py:32
+#: shiftings/shifts/templates/shifts/shift.html:79
+#: shiftings/shifts/templates/shifts/template/template.html:26
msgid "Additional Infos"
msgstr ""
-#: src/shiftings/shifts/models/participant.py:16
+#: shiftings/shifts/models/participant.py:16
msgid "Display Name is optional, and will be shown instead of the username"
msgstr ""
-#: src/shiftings/shifts/models/participant.py:17
+#: shiftings/shifts/models/participant.py:17
msgid "Participation confirmed"
msgstr ""
-#: src/shiftings/shifts/models/participant.py:18
+#: shiftings/shifts/models/participant.py:18
msgid ""
"Whether the participant has taken part in the shift or not. Default: False"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:18
+#: shiftings/shifts/models/permission.py:18
msgid "No Permission"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:19
+#: shiftings/shifts/models/permission.py:19
msgid "See Shift exists"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:20
+#: shiftings/shifts/models/permission.py:20
msgid "See Shift Details"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:21
+#: shiftings/shifts/models/permission.py:21
msgid "See Shift Participants"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:22
+#: shiftings/shifts/models/permission.py:22
msgid "Participate"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:80
+#: shiftings/shifts/models/permission.py:80
msgid "Permission Type"
msgstr ""
-#: src/shiftings/shifts/models/permission.py:82
+#: shiftings/shifts/models/permission.py:82
msgid "Affected Organization"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:26
+#: shiftings/shifts/models/recurring.py:26
msgid "ignore"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:27
+#: shiftings/shifts/models/recurring.py:27
msgid "cancel"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:28
+#: shiftings/shifts/models/recurring.py:28
msgid "show warning"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:36
+#: shiftings/shifts/models/recurring.py:36
msgid "Timeframe Type"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:41
-#: src/shiftings/shifts/templates/shifts/recurring/list.html:10
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:53
+#: shiftings/shifts/models/recurring.py:41
+#: shiftings/shifts/templates/shifts/recurring/list.html:10
+#: shiftings/shifts/templates/shifts/recurring/shift.html:53
msgid "First Occurrence"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:42
+#: shiftings/shifts/models/recurring.py:42
msgid ""
"Choose a minimum day for first occurrence and the system will automatically "
"choose the next applicable day."
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:46
+#: shiftings/shifts/models/recurring.py:46
msgid "Auto create days"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:46
+#: shiftings/shifts/models/recurring.py:46
msgid "How many days in advance should the shifts be created?"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:48
+#: shiftings/shifts/models/recurring.py:48
msgid "Shift Template"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:52
+#: shiftings/shifts/models/recurring.py:52
msgid "Weekend problem handling"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:54
+#: shiftings/shifts/models/recurring.py:54
msgid "Warning text for weekend"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:59
+#: shiftings/shifts/models/recurring.py:59
msgid "Holidays problem handling"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:61
+#: shiftings/shifts/models/recurring.py:61
msgid "Warning text for holidays"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:67
+#: shiftings/shifts/models/recurring.py:67
msgid "Manually Disabled"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:88
+#: shiftings/shifts/models/recurring.py:88
msgid "Nth"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:89
+#: shiftings/shifts/models/recurring.py:89
msgid "[weekday]"
msgstr ""
-#: src/shiftings/shifts/models/recurring.py:90
+#: shiftings/shifts/models/recurring.py:90
msgid "[month]"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:24
+#: shiftings/shifts/models/shift.py:24
msgid "Start Date and Time"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:25
+#: shiftings/shifts/models/shift.py:25
msgid "End Date and Time"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:27
-#: src/shiftings/shifts/templates/shifts/template/shift.html:13
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:21
+#: shiftings/shifts/models/shift.py:27
+#: shiftings/shifts/templates/shifts/template/shift.html:13
+#: shiftings/shifts/templates/shifts/template/template_form.html:21
msgid "Users"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:30
+#: shiftings/shifts/models/shift.py:30
msgid "Locked for Participation"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:31
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:58
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:64
+#: shiftings/shifts/models/shift.py:31
+#: shiftings/shifts/templates/shifts/recurring/shift.html:58
+#: shiftings/shifts/templates/shifts/recurring/shift.html:64
msgid "Warning"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:35
+#: shiftings/shifts/models/shift.py:35
msgid "Created by Recurring Shift"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:37
-#: src/shiftings/shifts/templates/shifts/shift.html:53
+#: shiftings/shifts/models/shift.py:37
+#: shiftings/shifts/templates/shifts/shift.html:53
msgid "Created"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:38
-#: src/shiftings/shifts/templates/shifts/shift.html:55
+#: shiftings/shifts/models/shift.py:38
+#: shiftings/shifts/templates/shifts/shift.html:55
msgid "Last Modified"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:54
+#: shiftings/shifts/models/shift.py:54
msgid "Organization and Event Organization must be identical."
msgstr ""
-#: src/shiftings/shifts/models/shift.py:57
+#: shiftings/shifts/models/shift.py:57
#, python-brace-format
msgid "Shift {name} on {time}"
msgstr ""
-#: src/shiftings/shifts/models/shift.py:65
+#: shiftings/shifts/models/shift.py:65
#, python-brace-format
msgid "{name} from {start} to {end} "
msgstr ""
-#: src/shiftings/shifts/models/shift.py:72
+#: shiftings/shifts/models/shift.py:72
#, python-brace-format
msgid "{start} to {end_time} on {end_date} "
msgstr ""
-#: src/shiftings/shifts/models/shift.py:76
+#: shiftings/shifts/models/shift.py:76
#, python-brace-format
msgid "{start} to {end_time}"
msgstr ""
-#: src/shiftings/shifts/models/summary.py:11
+#: shiftings/shifts/models/summary.py:11
msgid "\"Other\" Shift Type Group Name"
msgstr ""
-#: src/shiftings/shifts/models/summary.py:14
+#: shiftings/shifts/models/summary.py:14
msgid "Default time range for summary"
msgstr ""
-#: src/shiftings/shifts/models/summary.py:25
+#: shiftings/shifts/models/summary.py:25
#, python-brace-format
msgid "Organization summary settings of {organization}"
msgstr ""
-#: src/shiftings/shifts/models/template.py:16
+#: shiftings/shifts/models/template.py:16
msgid "Template Group"
msgstr ""
-#: src/shiftings/shifts/models/template.py:25
+#: shiftings/shifts/models/template.py:25
msgid "Required User"
msgstr ""
-#: src/shiftings/shifts/models/template.py:28
+#: shiftings/shifts/models/template.py:28
msgid "Maximum User"
msgstr ""
-#: src/shiftings/shifts/signals.py:26
+#: shiftings/shifts/signals.py:26
msgid "Could not find a valid first occurrence."
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:11
+#: shiftings/shifts/templates/shifts/create_shift.html:11
#, python-format
msgid ""
"\n"
@@ -3139,7 +1652,7 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:15
+#: shiftings/shifts/templates/shifts/create_shift.html:15
#, python-format
msgid ""
"\n"
@@ -3147,70 +1660,70 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:22
-#: src/shiftings/shifts/templates/shifts/create_shift.html:83
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:23
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:19
-#: src/shiftings/templates/generic/create_or_update.html:18
-#: src/shiftings/templates/generic/form_card.html:8
+#: shiftings/shifts/templates/shifts/create_shift.html:22
+#: shiftings/shifts/templates/shifts/create_shift.html:83
+#: shiftings/shifts/templates/shifts/recurring/form.html:23
+#: shiftings/shifts/templates/shifts/recurring/shift.html:19
+#: shiftings/templates/generic/create_or_update.html:18
+#: shiftings/templates/generic/form_card.html:8
msgid "Create"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:24
+#: shiftings/shifts/templates/shifts/create_shift.html:24
msgid "Update"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:26
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:34
-#: src/shiftings/templates/generic/create_or_update.html:22
+#: shiftings/shifts/templates/shifts/create_shift.html:26
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:34
+#: shiftings/templates/generic/create_or_update.html:22
msgid "Back"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:47
+#: shiftings/shifts/templates/shifts/create_shift.html:47
msgid "Shift starting time"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:48
+#: shiftings/shifts/templates/shifts/create_shift.html:48
msgctxt "Shift time"
msgid "Start Time"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:52
+#: shiftings/shifts/templates/shifts/create_shift.html:52
msgid "Shift end time"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:53
+#: shiftings/shifts/templates/shifts/create_shift.html:53
msgctxt "Shift time"
msgid "End Time"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:59
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:24
+#: shiftings/shifts/templates/shifts/create_shift.html:59
+#: shiftings/shifts/templates/shifts/template/template_form.html:24
msgid "Required number of users to fill this shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:60
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:25
+#: shiftings/shifts/templates/shifts/create_shift.html:60
+#: shiftings/shifts/templates/shifts/template/template_form.html:25
msgctxt "Shift users"
msgid "Required"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:64
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:29
+#: shiftings/shifts/templates/shifts/create_shift.html:64
+#: shiftings/shifts/templates/shifts/template/template_form.html:29
msgid "Maximum number of users allowed in this shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:65
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:30
+#: shiftings/shifts/templates/shifts/create_shift.html:65
+#: shiftings/shifts/templates/shifts/template/template_form.html:30
msgctxt "Shift users"
msgid "Maximum"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/create_shift.html:76
+#: shiftings/shifts/templates/shifts/create_shift.html:76
msgid "Create from Template"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:17
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:17
#, python-format
msgid ""
"\n"
@@ -3219,39 +1732,39 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:26
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:26
msgid "Edit Shift Permissions for"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:38
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:38
msgid "How does it work?"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:53
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:53
msgid "Inherited Permissions"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_participation_permissions.html:65
+#: shiftings/shifts/templates/shifts/edit_participation_permissions.html:65
msgid "All Users"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:21
+#: shiftings/shifts/templates/shifts/edit_templates.html:21
msgid "Edit Templates for"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/edit_templates.html:29
+#: shiftings/shifts/templates/shifts/edit_templates.html:29
msgid "Cancel"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:33
+#: shiftings/shifts/templates/shifts/recurring/form.html:33
msgid "Recurring Time Frame"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/form.html:42
+#: shiftings/shifts/templates/shifts/recurring/form.html:42
msgid "Shift Information"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:16
+#: shiftings/shifts/templates/shifts/recurring/shift.html:16
#, python-format
msgid ""
"\n"
@@ -3259,11 +1772,11 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:37
+#: shiftings/shifts/templates/shifts/recurring/shift.html:37
msgid "Edit Recurring Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:44
+#: shiftings/shifts/templates/shifts/recurring/shift.html:44
#, python-format
msgid ""
"\n"
@@ -3272,7 +1785,7 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:48
+#: shiftings/shifts/templates/shifts/recurring/shift.html:48
#, python-format
msgid ""
"\n"
@@ -3280,44 +1793,44 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:55
+#: shiftings/shifts/templates/shifts/recurring/shift.html:55
msgid "Weekend Handling"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:61
+#: shiftings/shifts/templates/shifts/recurring/shift.html:61
msgid "Holiday Handling"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:75
+#: shiftings/shifts/templates/shifts/recurring/shift.html:75
msgid "Upcoming recurring Shifts"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:86
+#: shiftings/shifts/templates/shifts/recurring/shift.html:86
msgid "No upcoming created Shifts"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:93
+#: shiftings/shifts/templates/shifts/recurring/shift.html:93
msgid "Passed recurring Shifts"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/recurring/shift.html:104
+#: shiftings/shifts/templates/shifts/recurring/shift.html:104
msgid "No created Shifts have passed yet"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:16
-#: src/shiftings/shifts/views/shift.py:78
+#: shiftings/shifts/templates/shifts/shift.html:16
+#: shiftings/shifts/views/shift.py:78
msgid "Edit Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:22
+#: shiftings/shifts/templates/shifts/shift.html:22
msgid "Delete Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:28
+#: shiftings/shifts/templates/shifts/shift.html:28
msgid "Edit Permissions"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:57
+#: shiftings/shifts/templates/shifts/shift.html:57
#, python-format
msgid ""
"\n"
@@ -3325,219 +1838,219 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:66
-#: src/shiftings/shifts/templates/shifts/template/shift_card.html:13
+#: shiftings/shifts/templates/shifts/shift.html:66
+#: shiftings/shifts/templates/shifts/template/shift_card.html:13
msgid "Shift Participants"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:71
+#: shiftings/shifts/templates/shifts/shift.html:71
msgid "Add participant"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift.html:84
+#: shiftings/shifts/templates/shifts/shift.html:84
msgid "Nothing to consider."
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift_participants.html:11
+#: shiftings/shifts/templates/shifts/shift_participants.html:11
msgid ""
"This shift is over, do you really want/need to add yourself as participant?"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/shift_url_filters.html:8
+#: shiftings/shifts/templates/shifts/shift_url_filters.html:8
msgid "Toggle Shift Filters"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/summary/summary.html:6
+#: shiftings/shifts/templates/shifts/summary/summary.html:6
msgid "Shift Summary"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group.html:17
+#: shiftings/shifts/templates/shifts/template/group.html:17
msgid "Delete Template"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group.html:21
+#: shiftings/shifts/templates/shifts/template/group.html:21
msgid "Edit Template"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group.html:25
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:13
+#: shiftings/shifts/templates/shifts/template/group.html:25
+#: shiftings/shifts/templates/shifts/template/group_template.html:13
msgid "Edit Shifts"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group.html:31
+#: shiftings/shifts/templates/shifts/template/group.html:31
msgid "Edit Template Permissions"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group.html:70
+#: shiftings/shifts/templates/shifts/template/group.html:70
msgid "Create Shift Templates"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/group_template.html:9
+#: shiftings/shifts/templates/shifts/template/group_template.html:9
msgid "Edit Shifts Template"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/member_shift_summary.html:3
+#: shiftings/shifts/templates/shifts/template/member_shift_summary.html:3
msgid "Member"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/member_shift_summary.html:10
+#: shiftings/shifts/templates/shifts/template/member_shift_summary.html:10
msgid "Total"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/participation_permission_form.html:9
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:10
+#: shiftings/shifts/templates/shifts/template/participation_permission_form.html:9
+#: shiftings/shifts/templates/shifts/template/template_form.html:10
msgid "Remove Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/participation_permission_form.html:12
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:13
+#: shiftings/shifts/templates/shifts/template/participation_permission_form.html:12
+#: shiftings/shifts/templates/shifts/template/template_form.html:13
msgid "Restore Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/select_org.html:3
+#: shiftings/shifts/templates/shifts/template/select_org.html:3
msgid "Select Organization to create Shift for"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift.html:5
+#: shiftings/shifts/templates/shifts/template/shift.html:5
msgid "Go to Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:5
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:5
msgid "Filters"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:8
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:8
msgid "Reset Filter"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:12
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:12
msgid "Apply Filter"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:15
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:15
msgid "Parameters"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:29
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:29
msgid "Select Organizations"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:47
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:47
msgid "Shift starts after"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:52
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:52
msgid "Shift ends before"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:65
+#: shiftings/shifts/templates/shifts/template/shift_url_filter_form.html:65
msgid "Select Events"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:4
+#: shiftings/shifts/templates/shifts/template/slots_display.html:4
msgid "Required to carry out this Shift"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:6
+#: shiftings/shifts/templates/shifts/template/slots_display.html:6
msgid "Open Shift Slot"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/slots_display.html:32
+#: shiftings/shifts/templates/shifts/template/slots_display.html:32
msgid "Free"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:20
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:20
msgid "Required"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:23
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:23
msgid "Confirmed"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:29
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:29
msgid "Participating"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:34
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:34
msgid "Full"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:40
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:40
msgid "Additional Users required"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/small_shift_display.html:42
+#: shiftings/shifts/templates/shifts/template/small_shift_display.html:42
msgid "Additional Slots available"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template.html:11
+#: shiftings/shifts/templates/shifts/template/template.html:11
msgid "Calendar Background Color"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template.html:17
+#: shiftings/shifts/templates/shifts/template/template.html:17
msgid "Required Users/Max Users"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template.html:21
+#: shiftings/shifts/templates/shifts/template/template.html:21
msgid "Unlimited"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:36
+#: shiftings/shifts/templates/shifts/template/template_form.html:36
msgid "Delay to starting time"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:37
+#: shiftings/shifts/templates/shifts/template/template_form.html:37
msgctxt "Shift time"
msgid "Start Delay"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:41
+#: shiftings/shifts/templates/shifts/template/template_form.html:41
msgid "Shift Duration"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/template/template_form.html:42
+#: shiftings/shifts/templates/shifts/template/template_form.html:42
msgctxt "Shift time"
msgid "Duration"
msgstr ""
-#: src/shiftings/shifts/templates/shifts/type_group/list.html:8
+#: shiftings/shifts/templates/shifts/type_group/list.html:8
msgid "Actions"
msgstr ""
-#: src/shiftings/shifts/templatetags/shifts.py:90
+#: shiftings/shifts/templatetags/shifts.py:90
#, python-brace-format
msgid "Days + {delta_days}"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:17
+#: shiftings/shifts/utils/time_frame.py:17
msgid "Nth [weekday] of each month"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:18
+#: shiftings/shifts/utils/time_frame.py:18
msgid "Nth day of each month"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:19
+#: shiftings/shifts/utils/time_frame.py:19
msgid "every Nth [weekday]"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:20
+#: shiftings/shifts/utils/time_frame.py:20
msgid "Nth workday of each month"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:21
+#: shiftings/shifts/utils/time_frame.py:21
msgid "Nth day of [month]"
msgstr ""
-#: src/shiftings/shifts/utils/time_frame.py:22
+#: shiftings/shifts/utils/time_frame.py:22
msgid "Nth workday of [month]"
msgstr ""
-#: src/shiftings/shifts/views/participant.py:42
+#: shiftings/shifts/views/participant.py:42
msgid "This shift is over, do you really want/need to add a participant?"
msgstr ""
-#: src/shiftings/shifts/views/permission.py:50
+#: shiftings/shifts/views/permission.py:50
#, python-brace-format
msgid ""
"Any Permission present will be applied to all Shifts belonging to "
@@ -3547,35 +2060,35 @@ msgid ""
"organizations.
"
msgstr ""
-#: src/shiftings/shifts/views/recurring.py:85
+#: shiftings/shifts/views/recurring.py:85
msgid "Forbidden Method GET"
msgstr ""
-#: src/shiftings/shifts/views/recurring.py:98
+#: shiftings/shifts/views/recurring.py:98
msgid "Created Shifts on {}"
msgstr ""
-#: src/shiftings/shifts/views/recurring.py:102
+#: shiftings/shifts/views/recurring.py:102
msgid "Error while creating shifts. Invalid Date"
msgstr ""
-#: src/shiftings/shifts/views/shift.py:164
+#: shiftings/shifts/views/shift.py:164
msgid "Unable to delete past shifts."
msgstr ""
-#: src/shiftings/templates/403.html:6
+#: shiftings/templates/403.html:6
msgid "You don't have the permission to do that!"
msgstr ""
-#: src/shiftings/templates/404.html:6
+#: shiftings/templates/404.html:6
msgid "The site you requested was not found."
msgstr ""
-#: src/shiftings/templates/500.html:6
+#: shiftings/templates/500.html:6
msgid "A server error occured the admins have been notified"
msgstr ""
-#: src/shiftings/templates/generic/create_or_update.html:5
+#: shiftings/templates/generic/create_or_update.html:5
#, python-format
msgid ""
"\n"
@@ -3583,7 +2096,7 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/templates/generic/create_or_update.html:9
+#: shiftings/templates/generic/create_or_update.html:9
#, python-format
msgid ""
"\n"
@@ -3591,7 +2104,7 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/templates/generic/delete.html:6
+#: shiftings/templates/generic/delete.html:6
#, python-format
msgid ""
"\n"
@@ -3599,53 +2112,66 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/templates/generic/modular_search.html:4
+#: shiftings/templates/generic/delete.html:9
+msgid "Yes"
+msgstr ""
+
+#: shiftings/templates/generic/delete.html:11
+msgid "No"
+msgstr ""
+
+#: shiftings/templates/generic/modular_search.html:4
msgid "Filter by Name"
msgstr ""
-#: src/shiftings/templates/generic/modular_search.html:6
+#: shiftings/templates/generic/modular_search.html:6
msgid "submit search"
msgstr ""
-#: src/shiftings/templates/language.html:16
+#: shiftings/templates/language.html:16
msgid "Language"
msgstr ""
-#: src/shiftings/templates/language.html:21
+#: shiftings/templates/language.html:21
msgid "German"
msgstr ""
-#: src/shiftings/templates/language.html:24
+#: shiftings/templates/language.html:24
msgid "English"
msgstr ""
-#: src/shiftings/templates/month_view.html:2
+#: shiftings/templates/local/gdpr_template.sample.html:29
+#: shiftings/templates/template/remove_modal.html:39
+#: shiftings/templates/template/simple_display_modal.html:15
+#: shiftings/templates/template/simple_form_modal.html:22
+msgid "Close"
+msgstr ""
+
+#: shiftings/templates/month_view.html:2
msgid "M"
msgstr ""
-#: src/shiftings/templates/month_view.html:3
-#: src/shiftings/templates/month_view.html:5
+#: shiftings/templates/month_view.html:3 shiftings/templates/month_view.html:5
msgid "T"
msgstr ""
-#: src/shiftings/templates/month_view.html:4
+#: shiftings/templates/month_view.html:4
msgid "W"
msgstr ""
-#: src/shiftings/templates/month_view.html:6
+#: shiftings/templates/month_view.html:6
msgid "F"
msgstr ""
-#: src/shiftings/templates/month_view.html:7
-#: src/shiftings/templates/month_view.html:8
+#: shiftings/templates/month_view.html:7 shiftings/templates/month_view.html:8
msgid "S"
msgstr ""
-#: src/shiftings/templates/switch_user.html:5
+#: shiftings/templates/switch_user.html:5
msgid "Switch User"
msgstr ""
-#: src/shiftings/templates/template/remove_modal.html:12
+#: shiftings/templates/template/remove_modal.html:12
#, python-format
msgid ""
"\n"
@@ -3654,7 +2180,7 @@ msgid ""
" "
msgstr ""
-#: src/shiftings/templates/template/remove_modal.html:16
+#: shiftings/templates/template/remove_modal.html:16
msgid ""
"\n"
" Removing dict[str, str]:
+ """Fetch and cache the OpenID Connect discovery document."""
+ resp = requests.get(settings.OPENID_CONF_URL, timeout=10)
+ resp.raise_for_status()
+ return resp.json()
+
+
+class OIDCOfflineToken(models.Model):
+ user = models.OneToOneField(
+ settings.AUTH_USER_MODEL,
+ on_delete=models.CASCADE,
+ related_name='oidc_offline_token',
+ verbose_name=_('User'),
+ )
+ refresh_token = models.TextField(verbose_name=_('Refresh Token'))
+ updated = models.DateTimeField(auto_now=True, verbose_name=_('Updated'))
+
+ class Meta:
+ default_permissions = ()
+
+ def __str__(self) -> str:
+ return f'OIDCOfflineToken for {self.user}'
+
+ def refresh_user_info(self) -> bool:
+ """Use the stored offline token to refresh the user's OIDC data.
+
+ Returns True on success, False if the token is expired or invalid.
+ """
+ try:
+ endpoints = _get_oidc_endpoints()
+ token_endpoint = endpoints['token_endpoint']
+ userinfo_endpoint = endpoints['userinfo_endpoint']
+ except Exception:
+ logger.exception('Failed to fetch OIDC discovery document')
+ return False
+
+ client_config = settings.AUTHLIB_OAUTH_CLIENTS['shiftings']
+
+ try:
+ token_resp = requests.post(
+ token_endpoint,
+ data={
+ 'grant_type': 'refresh_token',
+ 'refresh_token': self.refresh_token,
+ 'client_id': client_config['client_id'],
+ 'client_secret': client_config['client_secret'],
+ },
+ timeout=10,
+ )
+ except Exception:
+ logger.exception('Failed to call OIDC token endpoint')
+ return False
+
+ if token_resp.status_code != 200:
+ logger.warning(
+ 'OIDC token refresh failed (status %d): %s',
+ token_resp.status_code,
+ token_resp.text,
+ )
+ return False
+
+ token_data = token_resp.json()
+
+ self.refresh_token = token_data['refresh_token']
+ self.save(update_fields=['refresh_token', 'updated'])
+
+ access_token = token_data['access_token']
+ try:
+ userinfo_resp = requests.get(
+ userinfo_endpoint,
+ headers={'Authorization': f'Bearer {access_token}'},
+ timeout=10,
+ )
+ except Exception:
+ logger.exception('Failed to call OIDC userinfo endpoint')
+ return False
+
+ if userinfo_resp.status_code != 200:
+ logger.warning(
+ 'OIDC userinfo request failed (status %d): %s',
+ userinfo_resp.status_code,
+ userinfo_resp.text,
+ )
+ return False
+
+ from shiftings.accounts.oidc import populate_user_from_oidc
+ populate_user_from_oidc(userinfo_resp.json())
+ return True
diff --git a/src/shiftings/accounts/oidc.py b/src/shiftings/accounts/oidc.py
new file mode 100644
index 0000000..7ab770e
--- /dev/null
+++ b/src/shiftings/accounts/oidc.py
@@ -0,0 +1,38 @@
+from __future__ import annotations
+
+import re
+from typing import Any
+
+from django.conf import settings
+from django.contrib.auth.models import AbstractUser, Group
+from django.contrib.auth.views import UserModel
+
+from shiftings.accounts.models import User
+
+
+def populate_user_from_oidc(user_data: dict[str, Any]) -> AbstractUser:
+ """Create or update a Django user from OIDC userinfo claims.
+
+ Syncs username, email, groups, and admin status from the OIDC provider.
+ """
+ username = user_data.get(settings.OAUTH_USERNAME_CLAIM, '')
+ groups: list[str] = user_data.get(settings.OAUTH_GROUP_CLAIM, [])
+ for group in groups:
+ if re.match(settings.OAUTH_GROUP_IGNORE_REGEX, group) is None:
+ Group.objects.get_or_create(name=group)
+ try:
+ user: AbstractUser = User.objects.get_by_natural_key(username)
+ except UserModel.DoesNotExist:
+ user = User.objects.create(username=username)
+ user.set_unusable_password()
+ # ignore secondary names
+ user.first_name = user_data.get(settings.OAUTH_FIRST_NAME_CLAIM, '').split(' ')[0]
+ user.last_name = user_data.get(settings.OAUTH_LAST_NAME_CLAIM, '')
+ user.email = user_data.get(settings.OAUTH_EMAIL_CLAIM, '')
+ user.groups.set(Group.objects.filter(name__in=groups))
+
+ user.is_superuser = settings.OAUTH_ADMIN_GROUP in groups
+ user.is_staff = settings.OAUTH_ADMIN_GROUP in groups
+ user.backend = 'django.contrib.auth.backends.ModelBackend'
+ user.save()
+ return user
diff --git a/src/shiftings/accounts/views/auth.py b/src/shiftings/accounts/views/auth.py
index 10d9ba2..265696d 100644
--- a/src/shiftings/accounts/views/auth.py
+++ b/src/shiftings/accounts/views/auth.py
@@ -1,6 +1,5 @@
from __future__ import annotations
-import re
from json import JSONDecodeError
from typing import Any, Optional
@@ -9,8 +8,8 @@
from django.conf import settings
from django.contrib import messages
from django.contrib.auth import login as login_user, logout, REDIRECT_FIELD_NAME
-from django.contrib.auth.models import AbstractUser, Group
-from django.contrib.auth.views import LoginView, LogoutView, UserModel
+from django.contrib.auth.models import AbstractUser
+from django.contrib.auth.views import LoginView, LogoutView
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django.utils.decorators import method_decorator
@@ -18,8 +17,6 @@
from django.views.decorators.cache import never_cache
from django.views.generic import RedirectView
-from shiftings.accounts.models import User
-
class UserLoginView(LoginView):
redirect_authenticated_user = True
@@ -95,35 +92,19 @@ def authenticate(self, request: HttpRequest) -> Optional[AbstractUser]:
try:
token = oauth.shiftings.authorize_access_token(request)
if 'userinfo' in token:
- return self._populate_user(token['userinfo'])
+ from shiftings.accounts.oidc import populate_user_from_oidc
+ user = populate_user_from_oidc(token['userinfo'])
+ if 'refresh_token' in token:
+ from shiftings.accounts.models import OIDCOfflineToken
+ OIDCOfflineToken.objects.update_or_create(
+ user=user,
+ defaults={'refresh_token': token['refresh_token']},
+ )
+ return user
except JSONDecodeError:
pass
return None
- @staticmethod
- def _populate_user(user_data: dict[str, Any]) -> AbstractUser:
- username = user_data.get(settings.OAUTH_USERNAME_CLAIM, '')
- groups: list[str] = user_data.get(settings.OAUTH_GROUP_CLAIM, [])
- for group in groups:
- if re.match(settings.OAUTH_GROUP_IGNORE_REGEX, group) is None:
- Group.objects.get_or_create(name=group)
- try:
- user: AbstractUser = User.objects.get_by_natural_key(username)
- except UserModel.DoesNotExist:
- user = User.objects.create(username=username)
- user.set_unusable_password()
- # ignore secondary names
- user.first_name = user_data.get(settings.OAUTH_FIRST_NAME_CLAIM, '').split(' ')[0]
- user.last_name = user_data.get(settings.OAUTH_LAST_NAME_CLAIM, '')
- user.email = user_data.get(settings.OAUTH_EMAIL_CLAIM, '')
- user.groups.set(Group.objects.filter(name__in=groups))
-
- user.is_superuser = settings.OAUTH_ADMIN_GROUP in groups
- user.is_staff = settings.OAUTH_ADMIN_GROUP in groups
- user.backend = 'django.contrib.auth.backends.ModelBackend'
- user.save()
- return user
-
class UserLogoutView(LogoutView):
template_name = 'accounts/logout.html'
diff --git a/src/shiftings/accounts/views/user.py b/src/shiftings/accounts/views/user.py
index a60f501..a736d26 100644
--- a/src/shiftings/accounts/views/user.py
+++ b/src/shiftings/accounts/views/user.py
@@ -48,6 +48,7 @@ def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
Q(organization__in=self.object.organizations) |
Q(participants__user=self.object))).distinct()
context['shifts'] = get_pagination_context(self.request, shifts.filter(self.get_filters()), 5, 'shifts')
+
return context