diff --git a/src/backend/core/admin.py b/src/backend/core/admin.py index 082b621e..4c5af379 100644 --- a/src/backend/core/admin.py +++ b/src/backend/core/admin.py @@ -197,6 +197,38 @@ def resend_notification(modeladmin, request, queryset): # pylint: disable=unuse ) +@admin.action(description=_("Mark selected recordings as 'Failed to Stop'")) +def mark_as_failed_to_stop(modeladmin, request, queryset): + """Force selected recordings status to failed_to_stop.""" + + eligible_statuses = [ + models.RecordingStatusChoices.ACTIVE, + models.RecordingStatusChoices.INITIATED, + models.RecordingStatusChoices.STOPPED, + ] + + eligible = queryset.filter(status__in=eligible_statuses) + skipped = queryset.exclude(status__in=eligible_statuses).count() + + updated = eligible.update(status=models.RecordingStatusChoices.FAILED_TO_STOP) + + if updated > 0: + modeladmin.message_user( + request, + _("%(count)s recording(s) successfully marked as 'Failed to Stop'.") + % {"count": updated}, + level=messages.SUCCESS, + ) + + if skipped > 0: + modeladmin.message_user( + request, + _("Skipped %(count)s recording(s) with an ineligible status.") + % {"count": skipped}, + level=messages.WARNING, + ) + + @admin.register(models.Recording) class RecordingAdmin(admin.ModelAdmin): """Recording admin interface declaration.""" @@ -224,7 +256,7 @@ class RecordingAdmin(admin.ModelAdmin): "updated_at", "worker_id", ) - actions = [resend_notification] + actions = [resend_notification, mark_as_failed_to_stop] def get_queryset(self, request): """Optimize queries by prefetching related access and user data to avoid N+1 queries.""" diff --git a/src/backend/locale/de_DE/LC_MESSAGES/django.mo b/src/backend/locale/de_DE/LC_MESSAGES/django.mo index cd590714..d34807ce 100644 Binary files a/src/backend/locale/de_DE/LC_MESSAGES/django.mo and b/src/backend/locale/de_DE/LC_MESSAGES/django.mo differ diff --git a/src/backend/locale/de_DE/LC_MESSAGES/django.po b/src/backend/locale/de_DE/LC_MESSAGES/django.po index c0843894..7f4141d8 100644 --- a/src/backend/locale/de_DE/LC_MESSAGES/django.po +++ b/src/backend/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-26 17:34+0000\n" +"POT-Creation-Date: 2026-03-11 17:31+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,11 +29,11 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "Wichtige Daten" -#: core/admin.py:132 core/admin.py:243 +#: core/admin.py:132 core/admin.py:275 msgid "No owner" msgstr "Kein Eigentümer" -#: core/admin.py:135 core/admin.py:246 +#: core/admin.py:135 core/admin.py:278 msgid "Multiple owners" msgstr "Mehrere Eigentümer" @@ -61,117 +61,132 @@ msgstr "Benachrichtigungen für %(count)s Aufnahme(n) erfolgreich gesendet." msgid "Skipped %(count)s expired recording(s)." msgstr "%(count)s abgelaufene Aufnahme(n) übersprungen." -#: core/admin.py:309 +#: core/admin.py:200 +msgid "Mark selected recordings as 'Failed to Stop'" +msgstr "Ausgewählte Aufnahmen als ‚Fehler beim Stoppen‘ markieren" + +#: core/admin.py:218 +#, python-format +msgid "%(count)s recording(s) successfully marked as 'Failed to Stop'." +msgstr "%(count)s Aufnahme(n) erfolgreich als ‚Fehler beim Stoppen‘ markiert." + +#: core/admin.py:226 +#, fuzzy, python-format +#| msgid "Skipped %(count)s expired recording(s)." +msgid "Skipped %(count)s recording(s) with an ineligible status." +msgstr "%(count)s abgelaufene Aufnahme(n) übersprungen." + +#: core/admin.py:341 msgid "No scopes" msgstr "Keine Scopes" -#: core/admin.py:311 +#: core/admin.py:343 msgid "Scopes" msgstr "Scopes" -#: core/api/filters.py:24 +#: core/api/filters.py:25 msgid "Creator is me" msgstr "Ersteller bin ich" -#: core/api/serializers.py:84 +#: core/api/serializers.py:88 msgid "You must be administrator or owner of a room to add accesses to it." msgstr "" "Sie müssen Administrator oder Eigentümer eines Raums sein, um Zugriffe " "hinzuzufügen." -#: core/api/serializers.py:443 +#: core/api/serializers.py:516 msgid "This file extension is not allowed." msgstr "Diese Dateiendung ist nicht erlaubt." -#: core/models.py:35 +#: core/models.py:37 msgid "Member" msgstr "Mitglied" -#: core/models.py:36 +#: core/models.py:38 msgid "Administrator" msgstr "Administrator" -#: core/models.py:37 +#: core/models.py:39 msgid "Owner" msgstr "Eigentümer" -#: core/models.py:53 +#: core/models.py:55 msgid "Initiated" msgstr "Gestartet" -#: core/models.py:54 +#: core/models.py:56 msgid "Active" msgstr "Aktiv" -#: core/models.py:55 +#: core/models.py:57 msgid "Stopped" msgstr "Beendet" -#: core/models.py:56 +#: core/models.py:58 msgid "Saved" msgstr "Gespeichert" -#: core/models.py:57 +#: core/models.py:59 msgid "Aborted" msgstr "Abgebrochen" -#: core/models.py:58 +#: core/models.py:60 msgid "Failed to Start" msgstr "Start fehlgeschlagen" -#: core/models.py:59 +#: core/models.py:61 msgid "Failed to Stop" msgstr "Stopp fehlgeschlagen" -#: core/models.py:60 +#: core/models.py:62 msgid "Notification succeeded" msgstr "Benachrichtigung erfolgreich" -#: core/models.py:87 +#: core/models.py:89 msgid "SCREEN_RECORDING" msgstr "BILDSCHIRMAUFZEICHNUNG" -#: core/models.py:88 +#: core/models.py:90 msgid "TRANSCRIPT" msgstr "TRANSKRIPT" -#: core/models.py:94 +#: core/models.py:96 msgid "Public Access" msgstr "Öffentlicher Zugriff" -#: core/models.py:95 +#: core/models.py:97 msgid "Trusted Access" msgstr "Vertrauenswürdiger Zugriff" -#: core/models.py:96 +#: core/models.py:98 msgid "Restricted Access" msgstr "Eingeschränkter Zugriff" -#: core/models.py:108 +#: core/models.py:110 msgid "id" msgstr "ID" -#: core/models.py:109 +#: core/models.py:111 msgid "primary key for the record as UUID" msgstr "Primärschlüssel des Eintrags als UUID" -#: core/models.py:115 +#: core/models.py:117 msgid "created on" msgstr "erstellt am" -#: core/models.py:116 +#: core/models.py:118 msgid "date and time at which a record was created" msgstr "Datum und Uhrzeit der Erstellung eines Eintrags" -#: core/models.py:121 +#: core/models.py:123 msgid "updated on" msgstr "aktualisiert am" -#: core/models.py:122 +#: core/models.py:124 msgid "date and time at which a record was last updated" msgstr "Datum und Uhrzeit der letzten Aktualisierung eines Eintrags" -#: core/models.py:142 +#: core/models.py:144 msgid "" "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/" "_ characters." @@ -179,11 +194,11 @@ msgstr "" "Geben Sie einen gültigen Sub ein. Dieser Wert darf nur Buchstaben, Zahlen " "und die Zeichen @/./+/-/_ enthalten." -#: core/models.py:148 +#: core/models.py:150 msgid "sub" msgstr "Sub" -#: core/models.py:150 +#: core/models.py:152 msgid "" "Optional for pending users; required upon account activation. 255 characters " "or fewer. Letters, numbers, and @/./+/-/_ characters only." @@ -191,55 +206,55 @@ msgstr "" "Optional für ausstehende Benutzer; erforderlich nach Kontoaktivierung. " "Maximal 255 Zeichen. Nur Buchstaben, Zahlen und @/./+/-/_ Zeichen erlaubt." -#: core/models.py:159 +#: core/models.py:161 msgid "identity email address" msgstr "Identitäts-E-Mail-Adresse" -#: core/models.py:164 +#: core/models.py:166 msgid "admin email address" msgstr "Administrator-E-Mail-Adresse" -#: core/models.py:166 +#: core/models.py:168 msgid "full name" msgstr "Vollständiger Name" -#: core/models.py:168 +#: core/models.py:170 msgid "short name" msgstr "Kurzname" -#: core/models.py:174 +#: core/models.py:176 msgid "language" msgstr "Sprache" -#: core/models.py:175 +#: core/models.py:177 msgid "The language in which the user wants to see the interface." msgstr "Die Sprache, in der der Benutzer die Oberfläche sehen möchte." -#: core/models.py:181 +#: core/models.py:183 msgid "The timezone in which the user wants to see times." msgstr "Die Zeitzone, in der der Benutzer die Zeiten sehen möchte." -#: core/models.py:184 +#: core/models.py:186 msgid "device" msgstr "Gerät" -#: core/models.py:186 +#: core/models.py:188 msgid "Whether the user is a device or a real user." msgstr "Ob es sich um ein Gerät oder einen echten Benutzer handelt." -#: core/models.py:189 +#: core/models.py:191 msgid "staff status" msgstr "Mitarbeiterstatus" -#: core/models.py:191 +#: core/models.py:193 msgid "Whether the user can log into this admin site." msgstr "Ob der Benutzer sich bei dieser Admin-Seite anmelden kann." -#: core/models.py:194 +#: core/models.py:196 msgid "active" msgstr "aktiv" -#: core/models.py:197 +#: core/models.py:199 msgid "" "Whether this user should be treated as active. Unselect this instead of " "deleting accounts." @@ -247,66 +262,66 @@ msgstr "" "Ob dieser Benutzer als aktiv behandelt werden soll. Deaktivieren Sie dies " "anstelle des Löschens des Kontos." -#: core/models.py:210 +#: core/models.py:212 msgid "user" msgstr "Benutzer" -#: core/models.py:211 +#: core/models.py:213 msgid "users" msgstr "Benutzer" -#: core/models.py:270 +#: core/models.py:272 msgid "Resource" msgstr "Ressource" -#: core/models.py:271 +#: core/models.py:273 msgid "Resources" msgstr "Ressourcen" -#: core/models.py:329 +#: core/models.py:331 msgid "Resource access" msgstr "Ressourcenzugriff" -#: core/models.py:330 +#: core/models.py:332 msgid "Resource accesses" msgstr "Ressourcenzugriffe" -#: core/models.py:336 +#: core/models.py:338 msgid "Resource access with this User and Resource already exists." msgstr "" "Ein Ressourcenzugriff mit diesem Benutzer und dieser Ressource existiert " "bereits." -#: core/models.py:392 +#: core/models.py:394 msgid "Visio room configuration" msgstr "Visio-Raumkonfiguration" -#: core/models.py:393 +#: core/models.py:395 msgid "Values for Visio parameters to configure the room." msgstr "Werte für Visio-Parameter zur Konfiguration des Raums." -#: core/models.py:400 +#: core/models.py:402 msgid "Room PIN code" msgstr "PIN-Code für den Raum" -#: core/models.py:401 +#: core/models.py:403 msgid "Unique n-digit code that identifies this room in telephony mode." msgstr "" "Eindeutiger n-stelliger Code, der diesen Raum im Telephonmodus identifiziert." -#: core/models.py:407 core/models.py:561 +#: core/models.py:409 core/models.py:563 msgid "Room" msgstr "Raum" -#: core/models.py:408 +#: core/models.py:410 msgid "Rooms" msgstr "Räume" -#: core/models.py:572 +#: core/models.py:574 msgid "Worker ID" msgstr "Worker-ID" -#: core/models.py:574 +#: core/models.py:576 msgid "" "Enter an identifier for the worker recording.This ID is retained even when " "the worker stops, allowing for easy tracking." @@ -315,120 +330,120 @@ msgstr "" "erhalten, auch wenn der Worker stoppt, was ein einfaches Nachverfolgen " "ermöglicht." -#: core/models.py:582 +#: core/models.py:584 msgid "Recording mode" msgstr "Aufzeichnungsmodus" -#: core/models.py:583 +#: core/models.py:585 msgid "Defines the mode of recording being called." msgstr "Definiert den aufgerufenen Aufzeichnungsmodus." -#: core/models.py:588 core/models.py:589 +#: core/models.py:590 core/models.py:591 msgid "Recording options" msgstr "Aufnahmeoptionen" -#: core/models.py:595 +#: core/models.py:597 msgid "Recording" msgstr "Aufzeichnung" -#: core/models.py:596 +#: core/models.py:598 msgid "Recordings" msgstr "Aufzeichnungen" -#: core/models.py:704 +#: core/models.py:706 msgid "Recording/user relation" msgstr "Beziehung Aufzeichnung/Benutzer" -#: core/models.py:705 +#: core/models.py:707 msgid "Recording/user relations" msgstr "Beziehungen Aufzeichnung/Benutzer" -#: core/models.py:711 +#: core/models.py:713 msgid "This user is already in this recording." msgstr "Dieser Benutzer ist bereits Teil dieser Aufzeichnung." -#: core/models.py:717 +#: core/models.py:719 msgid "This team is already in this recording." msgstr "Dieses Team ist bereits Teil dieser Aufzeichnung." -#: core/models.py:723 +#: core/models.py:725 msgid "Either user or team must be set, not both." msgstr "Entweder Benutzer oder Team muss festgelegt werden, nicht beides." -#: core/models.py:740 +#: core/models.py:742 msgid "Create rooms" msgstr "Räume erstellen" -#: core/models.py:741 +#: core/models.py:743 msgid "List rooms" msgstr "Räume auflisten" -#: core/models.py:742 +#: core/models.py:744 msgid "Retrieve room details" msgstr "Raumdetails abrufen" -#: core/models.py:743 +#: core/models.py:745 msgid "Update rooms" msgstr "Räume aktualisieren" -#: core/models.py:744 +#: core/models.py:746 msgid "Delete rooms" msgstr "Räume löschen" -#: core/models.py:757 +#: core/models.py:759 msgid "Application name" msgstr "Anwendungsname" -#: core/models.py:758 +#: core/models.py:760 msgid "Descriptive name for this application." msgstr "Beschreibender Name für diese Anwendung." -#: core/models.py:768 +#: core/models.py:770 msgid "Hashed on Save. Copy it now if this is a new secret." msgstr "" "Beim Speichern gehasht. Jetzt kopieren, wenn dies ein neues Geheimnis ist." -#: core/models.py:779 +#: core/models.py:781 msgid "Application" msgstr "Anwendung" -#: core/models.py:780 +#: core/models.py:782 msgid "Applications" msgstr "Anwendungen" -#: core/models.py:803 +#: core/models.py:805 msgid "Enter a valid domain" msgstr "Geben Sie eine gültige Domain ein" -#: core/models.py:806 +#: core/models.py:808 msgid "Domain" msgstr "Domain" -#: core/models.py:807 +#: core/models.py:809 msgid "Email domain this application can act on behalf of." msgstr "E-Mail-Domain, im Namen der diese Anwendung handeln kann." -#: core/models.py:819 +#: core/models.py:821 msgid "Application domain" msgstr "Anwendungsdomain" -#: core/models.py:820 +#: core/models.py:822 msgid "Application domains" msgstr "Anwendungsdomains" -#: core/models.py:838 +#: core/models.py:840 msgid "Pending" msgstr "Ausstehend" -#: core/models.py:846 +#: core/models.py:848 msgid "Ready" msgstr "Bereit" -#: core/models.py:852 +#: core/models.py:854 msgid "Background image" msgstr "Hintergrundbild" -#: core/models.py:864 +#: core/models.py:866 msgid "title" msgstr "Titel" @@ -445,11 +460,11 @@ msgstr "Datei" msgid "Files" msgstr "Dateien" -#: core/models.py:970 +#: core/models.py:1000 msgid "This file is already hard deleted." msgstr "Diese Datei wurde bereits endgültig gelöscht." -#: core/models.py:980 +#: core/models.py:1010 #, fuzzy #| msgid "To hard delete a file, it must first be soft deleted." msgid "To hard delete a file, it must first be soft deleted." @@ -585,18 +600,18 @@ msgstr "" " Wenn Sie Fragen haben oder Unterstützung benötigen, wenden Sie sich bitte " "an unser Support-Team unter %(support_email)s. " -#: meet/settings.py:224 +#: meet/settings.py:215 msgid "English" msgstr "Englisch" -#: meet/settings.py:225 +#: meet/settings.py:216 msgid "French" msgstr "Französisch" -#: meet/settings.py:226 +#: meet/settings.py:217 msgid "Dutch" msgstr "Niederländisch" -#: meet/settings.py:227 +#: meet/settings.py:218 msgid "German" msgstr "Deutsch" diff --git a/src/backend/locale/en_US/LC_MESSAGES/django.mo b/src/backend/locale/en_US/LC_MESSAGES/django.mo index bd025f69..8dfce1b7 100644 Binary files a/src/backend/locale/en_US/LC_MESSAGES/django.mo and b/src/backend/locale/en_US/LC_MESSAGES/django.mo differ diff --git a/src/backend/locale/en_US/LC_MESSAGES/django.po b/src/backend/locale/en_US/LC_MESSAGES/django.po index 2308a23c..ae0e4d5b 100644 --- a/src/backend/locale/en_US/LC_MESSAGES/django.po +++ b/src/backend/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-26 17:26+0000\n" +"POT-Creation-Date: 2026-03-11 17:31+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,11 +29,11 @@ msgstr "Permissions" msgid "Important dates" msgstr "Important dates" -#: core/admin.py:132 core/admin.py:243 +#: core/admin.py:132 core/admin.py:275 msgid "No owner" msgstr "No owner" -#: core/admin.py:135 core/admin.py:246 +#: core/admin.py:135 core/admin.py:278 msgid "Multiple owners" msgstr "Multiple owners" @@ -61,115 +61,130 @@ msgstr "Successfully sent notifications for %(count)s recording(s)." msgid "Skipped %(count)s expired recording(s)." msgstr "Skipped %(count)s expired recording(s)." -#: core/admin.py:309 +#: core/admin.py:200 +msgid "Mark selected recordings as 'Failed to Stop'" +msgstr "Mark selected recordings as 'Failed to Stop'" + +#: core/admin.py:218 +#, python-format +msgid "%(count)s recording(s) successfully marked as 'Failed to Stop'." +msgstr "%(count)s recording(s) successfully marked as 'Failed to Stop'." + +#: core/admin.py:226 +#, fuzzy, python-format +#| msgid "Skipped %(count)s expired recording(s)." +msgid "Skipped %(count)s recording(s) with an ineligible status." +msgstr "Skipped %(count)s expired recording(s)." + +#: core/admin.py:341 msgid "No scopes" msgstr "No scopes" -#: core/admin.py:311 +#: core/admin.py:343 msgid "Scopes" msgstr "Scopes" -#: core/api/filters.py:24 +#: core/api/filters.py:25 msgid "Creator is me" msgstr "Creator is me" -#: core/api/serializers.py:84 +#: core/api/serializers.py:88 msgid "You must be administrator or owner of a room to add accesses to it." msgstr "You must be administrator or owner of a room to add accesses to it." -#: core/api/serializers.py:443 +#: core/api/serializers.py:516 msgid "This file extension is not allowed." msgstr "This file extension is not allowed." -#: core/models.py:35 +#: core/models.py:37 msgid "Member" msgstr "Member" -#: core/models.py:36 +#: core/models.py:38 msgid "Administrator" msgstr "Administrator" -#: core/models.py:37 +#: core/models.py:39 msgid "Owner" msgstr "Owner" -#: core/models.py:53 +#: core/models.py:55 msgid "Initiated" msgstr "Initiated" -#: core/models.py:54 +#: core/models.py:56 msgid "Active" msgstr "Active" -#: core/models.py:55 +#: core/models.py:57 msgid "Stopped" msgstr "Stopped" -#: core/models.py:56 +#: core/models.py:58 msgid "Saved" msgstr "Saved" -#: core/models.py:57 +#: core/models.py:59 msgid "Aborted" msgstr "Aborted" -#: core/models.py:58 +#: core/models.py:60 msgid "Failed to Start" msgstr "Failed to Start" -#: core/models.py:59 +#: core/models.py:61 msgid "Failed to Stop" msgstr "Failed to Stop" -#: core/models.py:60 +#: core/models.py:62 msgid "Notification succeeded" msgstr "Notification succeeded" -#: core/models.py:87 +#: core/models.py:89 msgid "SCREEN_RECORDING" msgstr "SCREEN_RECORDING" -#: core/models.py:88 +#: core/models.py:90 msgid "TRANSCRIPT" msgstr "TRANSCRIPT" -#: core/models.py:94 +#: core/models.py:96 msgid "Public Access" msgstr "Public Access" -#: core/models.py:95 +#: core/models.py:97 msgid "Trusted Access" msgstr "Trusted Access" -#: core/models.py:96 +#: core/models.py:98 msgid "Restricted Access" msgstr "Restricted Access" -#: core/models.py:108 +#: core/models.py:110 msgid "id" msgstr "id" -#: core/models.py:109 +#: core/models.py:111 msgid "primary key for the record as UUID" msgstr "primary key for the record as UUID" -#: core/models.py:115 +#: core/models.py:117 msgid "created on" msgstr "created on" -#: core/models.py:116 +#: core/models.py:118 msgid "date and time at which a record was created" msgstr "date and time at which a record was created" -#: core/models.py:121 +#: core/models.py:123 msgid "updated on" msgstr "updated on" -#: core/models.py:122 +#: core/models.py:124 msgid "date and time at which a record was last updated" msgstr "date and time at which a record was last updated" -#: core/models.py:142 +#: core/models.py:144 msgid "" "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/" "_ characters." @@ -177,11 +192,11 @@ msgstr "" "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/" "_ characters." -#: core/models.py:148 +#: core/models.py:150 msgid "sub" msgstr "sub" -#: core/models.py:150 +#: core/models.py:152 msgid "" "Optional for pending users; required upon account activation. 255 characters " "or fewer. Letters, numbers, and @/./+/-/_ characters only." @@ -189,55 +204,55 @@ msgstr "" "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_ " "characters only." -#: core/models.py:159 +#: core/models.py:161 msgid "identity email address" msgstr "identity email address" -#: core/models.py:164 +#: core/models.py:166 msgid "admin email address" msgstr "admin email address" -#: core/models.py:166 +#: core/models.py:168 msgid "full name" msgstr "full name" -#: core/models.py:168 +#: core/models.py:170 msgid "short name" msgstr "short name" -#: core/models.py:174 +#: core/models.py:176 msgid "language" msgstr "language" -#: core/models.py:175 +#: core/models.py:177 msgid "The language in which the user wants to see the interface." msgstr "The language in which the user wants to see the interface." -#: core/models.py:181 +#: core/models.py:183 msgid "The timezone in which the user wants to see times." msgstr "The timezone in which the user wants to see times." -#: core/models.py:184 +#: core/models.py:186 msgid "device" msgstr "device" -#: core/models.py:186 +#: core/models.py:188 msgid "Whether the user is a device or a real user." msgstr "Whether the user is a device or a real user." -#: core/models.py:189 +#: core/models.py:191 msgid "staff status" msgstr "staff status" -#: core/models.py:191 +#: core/models.py:193 msgid "Whether the user can log into this admin site." msgstr "Whether the user can log into this admin site." -#: core/models.py:194 +#: core/models.py:196 msgid "active" msgstr "active" -#: core/models.py:197 +#: core/models.py:199 msgid "" "Whether this user should be treated as active. Unselect this instead of " "deleting accounts." @@ -245,63 +260,63 @@ msgstr "" "Whether this user should be treated as active. Unselect this instead of " "deleting accounts." -#: core/models.py:210 +#: core/models.py:212 msgid "user" msgstr "user" -#: core/models.py:211 +#: core/models.py:213 msgid "users" msgstr "users" -#: core/models.py:270 +#: core/models.py:272 msgid "Resource" msgstr "Resource" -#: core/models.py:271 +#: core/models.py:273 msgid "Resources" msgstr "Resources" -#: core/models.py:329 +#: core/models.py:331 msgid "Resource access" msgstr "Resource access" -#: core/models.py:330 +#: core/models.py:332 msgid "Resource accesses" msgstr "Resource accesses" -#: core/models.py:336 +#: core/models.py:338 msgid "Resource access with this User and Resource already exists." msgstr "Resource access with this User and Resource already exists." -#: core/models.py:392 +#: core/models.py:394 msgid "Visio room configuration" msgstr "Visio room configuration" -#: core/models.py:393 +#: core/models.py:395 msgid "Values for Visio parameters to configure the room." msgstr "Values for Visio parameters to configure the room." -#: core/models.py:400 +#: core/models.py:402 msgid "Room PIN code" msgstr "Room PIN code" -#: core/models.py:401 +#: core/models.py:403 msgid "Unique n-digit code that identifies this room in telephony mode." msgstr "Unique n-digit code that identifies this room in telephony mode." -#: core/models.py:407 core/models.py:561 +#: core/models.py:409 core/models.py:563 msgid "Room" msgstr "Room" -#: core/models.py:408 +#: core/models.py:410 msgid "Rooms" msgstr "Rooms" -#: core/models.py:572 +#: core/models.py:574 msgid "Worker ID" msgstr "Worker ID" -#: core/models.py:574 +#: core/models.py:576 msgid "" "Enter an identifier for the worker recording.This ID is retained even when " "the worker stops, allowing for easy tracking." @@ -309,125 +324,125 @@ msgstr "" "Enter an identifier for the worker recording.This ID is retained even when " "the worker stops, allowing for easy tracking." -#: core/models.py:582 +#: core/models.py:584 msgid "Recording mode" msgstr "Recording mode" -#: core/models.py:583 +#: core/models.py:585 msgid "Defines the mode of recording being called." msgstr "Defines the mode of recording being called." -#: core/models.py:588 core/models.py:589 +#: core/models.py:590 core/models.py:591 msgid "Recording options" msgstr "Recording options" -#: core/models.py:595 +#: core/models.py:597 msgid "Recording" msgstr "Recording" -#: core/models.py:596 +#: core/models.py:598 msgid "Recordings" msgstr "Recordings" -#: core/models.py:704 +#: core/models.py:706 msgid "Recording/user relation" msgstr "Recording/user relation" -#: core/models.py:705 +#: core/models.py:707 msgid "Recording/user relations" msgstr "Recording/user relations" -#: core/models.py:711 +#: core/models.py:713 msgid "This user is already in this recording." msgstr "This user is already in this recording." -#: core/models.py:717 +#: core/models.py:719 msgid "This team is already in this recording." msgstr "This team is already in this recording." -#: core/models.py:723 +#: core/models.py:725 msgid "Either user or team must be set, not both." msgstr "Either user or team must be set, not both." -#: core/models.py:740 +#: core/models.py:742 #, fuzzy #| msgid "created on" msgid "Create rooms" msgstr "Create rooms" -#: core/models.py:741 +#: core/models.py:743 msgid "List rooms" msgstr "List rooms" -#: core/models.py:742 +#: core/models.py:744 msgid "Retrieve room details" msgstr "Retrieve room details" -#: core/models.py:743 +#: core/models.py:745 #, fuzzy #| msgid "updated on" msgid "Update rooms" msgstr "Update rooms" -#: core/models.py:744 +#: core/models.py:746 msgid "Delete rooms" msgstr "Delete rooms" -#: core/models.py:757 +#: core/models.py:759 msgid "Application name" msgstr "Application name" -#: core/models.py:758 +#: core/models.py:760 msgid "Descriptive name for this application." msgstr "Descriptive name for this application." -#: core/models.py:768 +#: core/models.py:770 msgid "Hashed on Save. Copy it now if this is a new secret." msgstr "Hashed on Save. Copy it now if this is a new secret." -#: core/models.py:779 +#: core/models.py:781 msgid "Application" msgstr "Application" -#: core/models.py:780 +#: core/models.py:782 msgid "Applications" msgstr "Applications" -#: core/models.py:803 +#: core/models.py:805 msgid "Enter a valid domain" msgstr "Enter a valid domain" -#: core/models.py:806 +#: core/models.py:808 msgid "Domain" msgstr "Domain" -#: core/models.py:807 +#: core/models.py:809 msgid "Email domain this application can act on behalf of." msgstr "Email domain this application can act on behalf of." -#: core/models.py:819 +#: core/models.py:821 msgid "Application domain" msgstr "Application domain" -#: core/models.py:820 +#: core/models.py:822 msgid "Application domains" msgstr "Application domains" -#: core/models.py:838 +#: core/models.py:840 #, fuzzy #| msgid "Recording" msgid "Pending" msgstr "Pending" -#: core/models.py:846 +#: core/models.py:848 msgid "Ready" msgstr "Ready" -#: core/models.py:852 +#: core/models.py:854 msgid "Background image" msgstr "Background image" -#: core/models.py:864 +#: core/models.py:866 msgid "title" msgstr "title" @@ -443,13 +458,13 @@ msgstr "File" msgid "Files" msgstr "Files" -#: core/models.py:970 +#: core/models.py:1000 #, fuzzy #| msgid "This user is already in this recording." msgid "This file is already hard deleted." msgstr "This file is already hard deleted." -#: core/models.py:980 +#: core/models.py:1010 msgid "To hard delete a file, it must first be soft deleted." msgstr "To hard delete a file, it must first be soft deleted." @@ -581,18 +596,18 @@ msgstr "" " If you have any questions or need assistance, please contact our support " "team at %(support_email)s. " -#: meet/settings.py:224 +#: meet/settings.py:215 msgid "English" msgstr "English" -#: meet/settings.py:225 +#: meet/settings.py:216 msgid "French" msgstr "French" -#: meet/settings.py:226 +#: meet/settings.py:217 msgid "Dutch" msgstr "Dutch" -#: meet/settings.py:227 +#: meet/settings.py:218 msgid "German" msgstr "German" diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.mo b/src/backend/locale/fr_FR/LC_MESSAGES/django.mo index 4a56b499..1f1f6f06 100644 Binary files a/src/backend/locale/fr_FR/LC_MESSAGES/django.mo and b/src/backend/locale/fr_FR/LC_MESSAGES/django.mo differ diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.po b/src/backend/locale/fr_FR/LC_MESSAGES/django.po index 3f2e38ee..b4ae5035 100644 --- a/src/backend/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/backend/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-26 17:26+0000\n" +"POT-Creation-Date: 2026-03-11 17:31+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: antoine.lebaud@mail.numerique.gouv.fr\n" "Language-Team: LANGUAGE \n" @@ -29,11 +29,11 @@ msgstr "Permissions" msgid "Important dates" msgstr "Dates importantes" -#: core/admin.py:132 core/admin.py:243 +#: core/admin.py:132 core/admin.py:275 msgid "No owner" msgstr "Pas de propriétaire" -#: core/admin.py:135 core/admin.py:246 +#: core/admin.py:135 core/admin.py:278 msgid "Multiple owners" msgstr "Plusieurs propriétaires" @@ -61,119 +61,134 @@ msgstr "Notifications envoyées avec succès pour %(count)s enregistrement(s)." msgid "Skipped %(count)s expired recording(s)." msgstr "%(count)s enregistrement(s) expiré(s) ignoré(s)." -#: core/admin.py:309 +#: core/admin.py:200 +msgid "Mark selected recordings as 'Failed to Stop'" +msgstr "Marquer les enregistrements sélectionnés comme « Échec d’arrêt »" + +#: core/admin.py:218 +#, python-format +msgid "%(count)s recording(s) successfully marked as 'Failed to Stop'." +msgstr "%(count)s enregistrement(s) marqué(s) avec succès comme « Échec d’arrêt »." + +#: core/admin.py:226 +#, fuzzy, python-format +#| msgid "Skipped %(count)s expired recording(s)." +msgid "Skipped %(count)s recording(s) with an ineligible status." +msgstr "%(count)s enregistrement(s) avec un statut inéligible ignoré(s)." + +#: core/admin.py:341 msgid "No scopes" msgstr "Aucun scopes" -#: core/admin.py:311 +#: core/admin.py:343 msgid "Scopes" msgstr "Scopes" -#: core/api/filters.py:24 +#: core/api/filters.py:25 msgid "Creator is me" msgstr "Je suis le créateur" -#: core/api/serializers.py:84 +#: core/api/serializers.py:88 msgid "You must be administrator or owner of a room to add accesses to it." msgstr "" "Vous devez être administrateur ou propriétaire d'une salle pour y ajouter " "des accès." -#: core/api/serializers.py:443 +#: core/api/serializers.py:516 msgid "This file extension is not allowed." msgstr "Cette extension n'est pas autorisée" -#: core/models.py:35 +#: core/models.py:37 msgid "Member" msgstr "Membre" -#: core/models.py:36 +#: core/models.py:38 msgid "Administrator" msgstr "Administrateur" -#: core/models.py:37 +#: core/models.py:39 msgid "Owner" msgstr "Propriétaire" -#: core/models.py:53 +#: core/models.py:55 msgid "Initiated" msgstr "Initié" -#: core/models.py:54 +#: core/models.py:56 msgid "Active" msgstr "Actif" -#: core/models.py:55 +#: core/models.py:57 msgid "Stopped" msgstr "Arrêté" -#: core/models.py:56 +#: core/models.py:58 msgid "Saved" msgstr "Enregistré" -#: core/models.py:57 +#: core/models.py:59 msgid "Aborted" msgstr "Abandonné" -#: core/models.py:58 +#: core/models.py:60 msgid "Failed to Start" msgstr "Échec au démarrage" -#: core/models.py:59 +#: core/models.py:61 msgid "Failed to Stop" msgstr "Échec à l'arrêt" -#: core/models.py:60 +#: core/models.py:62 msgid "Notification succeeded" msgstr "Notification réussie" -#: core/models.py:87 +#: core/models.py:89 msgid "SCREEN_RECORDING" msgstr "ENREGISTREMENT_ÉCRAN" -#: core/models.py:88 +#: core/models.py:90 msgid "TRANSCRIPT" msgstr "TRANSCRIPTION" -#: core/models.py:94 +#: core/models.py:96 msgid "Public Access" msgstr "Accès public" -#: core/models.py:95 +#: core/models.py:97 msgid "Trusted Access" msgstr "Accès de confiance" -#: core/models.py:96 +#: core/models.py:98 msgid "Restricted Access" msgstr "Accès restreint" -#: core/models.py:108 +#: core/models.py:110 msgid "id" msgstr "id" -#: core/models.py:109 +#: core/models.py:111 msgid "primary key for the record as UUID" msgstr "clé primaire pour l'enregistrement sous forme d'UUID" -#: core/models.py:115 +#: core/models.py:117 msgid "created on" msgstr "créé le" -#: core/models.py:116 +#: core/models.py:118 msgid "date and time at which a record was created" msgstr "date et heure auxquelles un enregistrement a été créé" -#: core/models.py:121 +#: core/models.py:123 msgid "updated on" msgstr "mis à jour le" -#: core/models.py:122 +#: core/models.py:124 msgid "date and time at which a record was last updated" msgstr "" "date et heure auxquelles un enregistrement a été mis à jour pour la dernière " "fois" -#: core/models.py:142 +#: core/models.py:144 msgid "" "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/" "_ characters." @@ -181,11 +196,11 @@ msgstr "" "Entrez un sub valide. Cette valeur ne peut contenir que des lettres, des " "chiffres et les caractères @/./+/-/_." -#: core/models.py:148 +#: core/models.py:150 msgid "sub" msgstr "sub" -#: core/models.py:150 +#: core/models.py:152 msgid "" "Optional for pending users; required upon account activation. 255 characters " "or fewer. Letters, numbers, and @/./+/-/_ characters only." @@ -193,55 +208,55 @@ msgstr "" "Optionnel pour les utilisateurs en attente ; requis lors de l'activation du " "compte. 255 caractères maximum. Lettres, chiffres et @/./+/-/_ uniquement." -#: core/models.py:159 +#: core/models.py:161 msgid "identity email address" msgstr "adresse e-mail d'identité" -#: core/models.py:164 +#: core/models.py:166 msgid "admin email address" msgstr "adresse e-mail d'administrateur" -#: core/models.py:166 +#: core/models.py:168 msgid "full name" msgstr "nom complet" -#: core/models.py:168 +#: core/models.py:170 msgid "short name" msgstr "nom court" -#: core/models.py:174 +#: core/models.py:176 msgid "language" msgstr "langue" -#: core/models.py:175 +#: core/models.py:177 msgid "The language in which the user wants to see the interface." msgstr "La langue dans laquelle l'utilisateur souhaite voir l'interface." -#: core/models.py:181 +#: core/models.py:183 msgid "The timezone in which the user wants to see times." msgstr "Le fuseau horaire dans lequel l'utilisateur souhaite voir les heures." -#: core/models.py:184 +#: core/models.py:186 msgid "device" msgstr "appareil" -#: core/models.py:186 +#: core/models.py:188 msgid "Whether the user is a device or a real user." msgstr "Si l'utilisateur est un appareil ou un utilisateur réel." -#: core/models.py:189 +#: core/models.py:191 msgid "staff status" msgstr "statut du personnel" -#: core/models.py:191 +#: core/models.py:193 msgid "Whether the user can log into this admin site." msgstr "Si l'utilisateur peut se connecter à ce site d'administration." -#: core/models.py:194 +#: core/models.py:196 msgid "active" msgstr "actif" -#: core/models.py:197 +#: core/models.py:199 msgid "" "Whether this user should be treated as active. Unselect this instead of " "deleting accounts." @@ -249,65 +264,65 @@ msgstr "" "Si cet utilisateur doit être traité comme actif. Désélectionnez cette option " "au lieu de supprimer des comptes." -#: core/models.py:210 +#: core/models.py:212 msgid "user" msgstr "utilisateur" -#: core/models.py:211 +#: core/models.py:213 msgid "users" msgstr "utilisateurs" -#: core/models.py:270 +#: core/models.py:272 msgid "Resource" msgstr "Ressource" -#: core/models.py:271 +#: core/models.py:273 msgid "Resources" msgstr "Ressources" -#: core/models.py:329 +#: core/models.py:331 msgid "Resource access" msgstr "Accès aux ressources" -#: core/models.py:330 +#: core/models.py:332 msgid "Resource accesses" msgstr "Accès aux ressources" -#: core/models.py:336 +#: core/models.py:338 msgid "Resource access with this User and Resource already exists." msgstr "" "L'accès à la ressource avec cet utilisateur et cette ressource existe déjà." -#: core/models.py:392 +#: core/models.py:394 msgid "Visio room configuration" msgstr "Configuration de la salle de visioconférence" -#: core/models.py:393 +#: core/models.py:395 msgid "Values for Visio parameters to configure the room." msgstr "Valeurs des paramètres de visioconférence pour configurer la salle." -#: core/models.py:400 +#: core/models.py:402 msgid "Room PIN code" msgstr "Code PIN de la salle" -#: core/models.py:401 +#: core/models.py:403 msgid "Unique n-digit code that identifies this room in telephony mode." msgstr "" "Code unique à n chiffres qui identifie cette salle en mode téléphonique." -#: core/models.py:407 core/models.py:561 +#: core/models.py:409 core/models.py:563 msgid "Room" msgstr "Salle" -#: core/models.py:408 +#: core/models.py:410 msgid "Rooms" msgstr "Salles" -#: core/models.py:572 +#: core/models.py:574 msgid "Worker ID" msgstr "ID du Worker" -#: core/models.py:574 +#: core/models.py:576 msgid "" "Enter an identifier for the worker recording.This ID is retained even when " "the worker stops, allowing for easy tracking." @@ -315,127 +330,128 @@ msgstr "" "Entrez un identifiant pour l'enregistrement du Worker. Cet identifiant est " "conservé même lorsque le Worker s'arrête, permettant un suivi facile." -#: core/models.py:582 +#: core/models.py:584 msgid "Recording mode" msgstr "Mode d'enregistrement" -#: core/models.py:583 +#: core/models.py:585 msgid "Defines the mode of recording being called." msgstr "Définit le mode d'enregistrement appelé." -#: core/models.py:588 core/models.py:589 +#: core/models.py:590 core/models.py:591 msgid "Recording options" msgstr "Options d'enregistrement" -#: core/models.py:595 +#: core/models.py:597 msgid "Recording" msgstr "Enregistrement" -#: core/models.py:596 +#: core/models.py:598 msgid "Recordings" msgstr "Enregistrements" -#: core/models.py:704 +#: core/models.py:706 msgid "Recording/user relation" msgstr "Relation enregistrement/utilisateur" -#: core/models.py:705 +#: core/models.py:707 msgid "Recording/user relations" msgstr "Relations enregistrement/utilisateur" -#: core/models.py:711 +#: core/models.py:713 msgid "This user is already in this recording." msgstr "Cet utilisateur est déjà dans cet enregistrement." -#: core/models.py:717 +#: core/models.py:719 msgid "This team is already in this recording." msgstr "Cette équipe est déjà dans cet enregistrement." -#: core/models.py:723 +#: core/models.py:725 msgid "Either user or team must be set, not both." msgstr "Soit l'utilisateur, soit l'équipe doit être défini, pas les deux." -#: core/models.py:740 +#: core/models.py:742 msgid "Create rooms" msgstr "Créer des salles" -#: core/models.py:741 +#: core/models.py:743 msgid "List rooms" msgstr "Lister les salles" -#: core/models.py:742 +#: core/models.py:744 msgid "Retrieve room details" msgstr "Afficher les détails d’une salle" -#: core/models.py:743 +#: core/models.py:745 msgid "Update rooms" msgstr "Mettre à jour les salles" -#: core/models.py:744 +#: core/models.py:746 msgid "Delete rooms" msgstr "Supprimer les salles" -#: core/models.py:757 +#: core/models.py:759 msgid "Application name" msgstr "Nom de l’application" -#: core/models.py:758 +#: core/models.py:760 msgid "Descriptive name for this application." msgstr "Nom descriptif de cette application." -#: core/models.py:768 +#: core/models.py:770 msgid "Hashed on Save. Copy it now if this is a new secret." msgstr "" "Haché lors de l’enregistrement. Copiez-le maintenant s’il s’agit d’un " "nouveau secret." -#: core/models.py:779 +#: core/models.py:781 msgid "Application" msgstr "Application" -#: core/models.py:780 +#: core/models.py:782 msgid "Applications" msgstr "Applications" -#: core/models.py:803 +#: core/models.py:805 msgid "Enter a valid domain" msgstr "Saisissez un domaine valide" -#: core/models.py:806 +#: core/models.py:808 msgid "Domain" msgstr "Domaine" -#: core/models.py:807 +#: core/models.py:809 msgid "Email domain this application can act on behalf of." msgstr "Domaine de messagerie au nom duquel cette application peut agir." -#: core/models.py:819 +#: core/models.py:821 msgid "Application domain" msgstr "Domaine d’application" -#: core/models.py:820 +#: core/models.py:822 msgid "Application domains" msgstr "Domaines d’application" -#: core/models.py:838 +#: core/models.py:840 msgid "Pending" msgstr "En attente" -#: core/models.py:846 +#: core/models.py:848 msgid "Ready" msgstr "Prêt" -#: core/models.py:852 +#: core/models.py:854 msgid "Background image" msgstr "Image de fond" -#: core/models.py:864 +#: core/models.py:866 msgid "title" msgstr "Titre" #: core/models.py:890 msgid "Malware detection info when the analysis status is unsafe." -msgstr "Information concernant la détection de Malware cand le statut n'est pas sain" +msgstr "" +"Information concernant la détection de Malware cand le statut n'est pas sain" #: core/models.py:895 msgid "File" @@ -445,15 +461,17 @@ msgstr "Fichier" msgid "Files" msgstr "Fichiers" -#: core/models.py:970 +#: core/models.py:1000 #, fuzzy #| msgid "This user is already in this recording." msgid "This file is already hard deleted." msgstr "Ce fichier a été supprimé." -#: core/models.py:980 +#: core/models.py:1010 msgid "To hard delete a file, it must first be soft deleted." -msgstr "Pour supprimer définitivement un fichier il doit d'abord avoir été marqué comme supprimé (soft delete)" +msgstr "" +"Pour supprimer définitivement un fichier il doit d'abord avoir été marqué " +"comme supprimé (soft delete)" #: core/recording/event/notification.py:116 msgid "Your recording is ready" @@ -583,18 +601,18 @@ msgstr "" " Si vous avez des questions ou besoin d'assistance, veuillez contacter notre " "équipe d'assistance à %(support_email)s. " -#: meet/settings.py:224 +#: meet/settings.py:215 msgid "English" msgstr "Anglais" -#: meet/settings.py:225 +#: meet/settings.py:216 msgid "French" msgstr "Français" -#: meet/settings.py:226 +#: meet/settings.py:217 msgid "Dutch" msgstr "Néerlandais" -#: meet/settings.py:227 +#: meet/settings.py:218 msgid "German" msgstr "Allemand" diff --git a/src/backend/locale/nl_NL/LC_MESSAGES/django.mo b/src/backend/locale/nl_NL/LC_MESSAGES/django.mo index 3ca0fa8e..a8837f3e 100644 Binary files a/src/backend/locale/nl_NL/LC_MESSAGES/django.mo and b/src/backend/locale/nl_NL/LC_MESSAGES/django.mo differ diff --git a/src/backend/locale/nl_NL/LC_MESSAGES/django.po b/src/backend/locale/nl_NL/LC_MESSAGES/django.po index b30c200e..d2d5b564 100644 --- a/src/backend/locale/nl_NL/LC_MESSAGES/django.po +++ b/src/backend/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-26 17:34+0000\n" +"POT-Creation-Date: 2026-03-11 17:31+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,11 +29,11 @@ msgstr "Rechten" msgid "Important dates" msgstr "Belangrijke datums" -#: core/admin.py:132 core/admin.py:243 +#: core/admin.py:132 core/admin.py:275 msgid "No owner" msgstr "Geen eigenaar" -#: core/admin.py:135 core/admin.py:246 +#: core/admin.py:135 core/admin.py:278 msgid "Multiple owners" msgstr "Meerdere eigenaren" @@ -61,116 +61,131 @@ msgstr "Meldingen succesvol verzonden voor %(count)s opname(n)." msgid "Skipped %(count)s expired recording(s)." msgstr "%(count)s verlopen opname(n) overgeslagen." -#: core/admin.py:309 +#: core/admin.py:200 +msgid "Mark selected recordings as 'Failed to Stop'" +msgstr "Geselecteerde opnames markeren als 'Mislukt bij stoppen'" + +#: core/admin.py:218 +#, python-format +msgid "%(count)s recording(s) successfully marked as 'Failed to Stop'." +msgstr "%(count)s opname(s) succesvol gemarkeerd als 'Mislukt bij stoppen'." + +#: core/admin.py:226 +#, fuzzy, python-format +#| msgid "Skipped %(count)s expired recording(s)." +msgid "Skipped %(count)s recording(s) with an ineligible status." +msgstr "%(count)s opname(s) met een niet-toegestane status overgeslagen." + +#: core/admin.py:341 msgid "No scopes" msgstr "Geen scopes" -#: core/admin.py:311 +#: core/admin.py:343 msgid "Scopes" msgstr "Scopes" -#: core/api/filters.py:24 +#: core/api/filters.py:25 msgid "Creator is me" msgstr "Maker ben ik" -#: core/api/serializers.py:84 +#: core/api/serializers.py:88 msgid "You must be administrator or owner of a room to add accesses to it." msgstr "" "Je moet beheerder of eigenaar van een ruimte zijn om toegang toe te voegen." -#: core/api/serializers.py:443 +#: core/api/serializers.py:516 msgid "This file extension is not allowed." msgstr "Deze bestandsextensie is niet toegestaan." -#: core/models.py:35 +#: core/models.py:37 msgid "Member" msgstr "Lid" -#: core/models.py:36 +#: core/models.py:38 msgid "Administrator" msgstr "Beheerder" -#: core/models.py:37 +#: core/models.py:39 msgid "Owner" msgstr "Eigenaar" -#: core/models.py:53 +#: core/models.py:55 msgid "Initiated" msgstr "Gestart" -#: core/models.py:54 +#: core/models.py:56 msgid "Active" msgstr "Actief" -#: core/models.py:55 +#: core/models.py:57 msgid "Stopped" msgstr "Gestopt" -#: core/models.py:56 +#: core/models.py:58 msgid "Saved" msgstr "Opgeslagen" -#: core/models.py:57 +#: core/models.py:59 msgid "Aborted" msgstr "Afgebroken" -#: core/models.py:58 +#: core/models.py:60 msgid "Failed to Start" msgstr "Starten mislukt" -#: core/models.py:59 +#: core/models.py:61 msgid "Failed to Stop" msgstr "Stoppen mislukt" -#: core/models.py:60 +#: core/models.py:62 msgid "Notification succeeded" msgstr "Notificatie geslaagd" -#: core/models.py:87 +#: core/models.py:89 msgid "SCREEN_RECORDING" msgstr "SCHERM_OPNAME" -#: core/models.py:88 +#: core/models.py:90 msgid "TRANSCRIPT" msgstr "TRANSCRIPT" -#: core/models.py:94 +#: core/models.py:96 msgid "Public Access" msgstr "Openbare toegang" -#: core/models.py:95 +#: core/models.py:97 msgid "Trusted Access" msgstr "Vertrouwde toegang" -#: core/models.py:96 +#: core/models.py:98 msgid "Restricted Access" msgstr "Beperkte toegang" -#: core/models.py:108 +#: core/models.py:110 msgid "id" msgstr "id" -#: core/models.py:109 +#: core/models.py:111 msgid "primary key for the record as UUID" msgstr "primaire sleutel voor het record als UUID" -#: core/models.py:115 +#: core/models.py:117 msgid "created on" msgstr "aangemaakt op" -#: core/models.py:116 +#: core/models.py:118 msgid "date and time at which a record was created" msgstr "datum en tijd waarop een record werd aangemaakt" -#: core/models.py:121 +#: core/models.py:123 msgid "updated on" msgstr "bijgewerkt op" -#: core/models.py:122 +#: core/models.py:124 msgid "date and time at which a record was last updated" msgstr "datum en tijd waarop een record voor het laatst werd bijgewerkt" -#: core/models.py:142 +#: core/models.py:144 msgid "" "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/" "_ characters." @@ -178,11 +193,11 @@ msgstr "" "Voer een geldige sub in. Deze waarde mag alleen letters, cijfers en @/./+/-/" "_ tekens bevatten." -#: core/models.py:148 +#: core/models.py:150 msgid "sub" msgstr "sub" -#: core/models.py:150 +#: core/models.py:152 msgid "" "Optional for pending users; required upon account activation. 255 characters " "or fewer. Letters, numbers, and @/./+/-/_ characters only." @@ -190,55 +205,55 @@ msgstr "" "Optioneel voor gebruikers in afwachting; vereist bij accountactivering. " "Maximum 255 tekens. Alleen letters, cijfers en @/./+/-/_ toegestaan." -#: core/models.py:159 +#: core/models.py:161 msgid "identity email address" msgstr "identiteit e-mailadres" -#: core/models.py:164 +#: core/models.py:166 msgid "admin email address" msgstr "beheerder e-mailadres" -#: core/models.py:166 +#: core/models.py:168 msgid "full name" msgstr "volledige naam" -#: core/models.py:168 +#: core/models.py:170 msgid "short name" msgstr "korte naam" -#: core/models.py:174 +#: core/models.py:176 msgid "language" msgstr "taal" -#: core/models.py:175 +#: core/models.py:177 msgid "The language in which the user wants to see the interface." msgstr "De taal waarin de gebruiker de interface wil zien." -#: core/models.py:181 +#: core/models.py:183 msgid "The timezone in which the user wants to see times." msgstr "De tijdzone waarin de gebruiker tijden wil zien." -#: core/models.py:184 +#: core/models.py:186 msgid "device" msgstr "apparaat" -#: core/models.py:186 +#: core/models.py:188 msgid "Whether the user is a device or a real user." msgstr "Of de gebruiker een apparaat is of een echte gebruiker." -#: core/models.py:189 +#: core/models.py:191 msgid "staff status" msgstr "personeelsstatus" -#: core/models.py:191 +#: core/models.py:193 msgid "Whether the user can log into this admin site." msgstr "Of de gebruiker kan inloggen op deze beheersite." -#: core/models.py:194 +#: core/models.py:196 msgid "active" msgstr "actief" -#: core/models.py:197 +#: core/models.py:199 msgid "" "Whether this user should be treated as active. Unselect this instead of " "deleting accounts." @@ -246,64 +261,64 @@ msgstr "" "Of deze gebruiker als actief moet worden behandeld. Deselecteer dit in " "plaats van accounts te verwijderen." -#: core/models.py:210 +#: core/models.py:212 msgid "user" msgstr "gebruiker" -#: core/models.py:211 +#: core/models.py:213 msgid "users" msgstr "gebruikers" -#: core/models.py:270 +#: core/models.py:272 msgid "Resource" msgstr "Bron" -#: core/models.py:271 +#: core/models.py:273 msgid "Resources" msgstr "Bronnen" -#: core/models.py:329 +#: core/models.py:331 msgid "Resource access" msgstr "Brontoegang" -#: core/models.py:330 +#: core/models.py:332 msgid "Resource accesses" msgstr "Brontoegangsrechten" -#: core/models.py:336 +#: core/models.py:338 msgid "Resource access with this User and Resource already exists." msgstr "Brontoegang met deze gebruiker en bron bestaat al." -#: core/models.py:392 +#: core/models.py:394 msgid "Visio room configuration" msgstr "Visio-ruimteconfiguratie" -#: core/models.py:393 +#: core/models.py:395 msgid "Values for Visio parameters to configure the room." msgstr "Waarden voor Visio-parameters om de ruimte te configureren." -#: core/models.py:400 +#: core/models.py:402 msgid "Room PIN code" msgstr "Pincode van de kamer" -#: core/models.py:401 +#: core/models.py:403 msgid "Unique n-digit code that identifies this room in telephony mode." msgstr "" "Unieke n-cijferige code die deze kamer identificeert in telefonie-modus." -#: core/models.py:407 core/models.py:561 +#: core/models.py:409 core/models.py:563 msgid "Room" msgstr "Ruimte" -#: core/models.py:408 +#: core/models.py:410 msgid "Rooms" msgstr "Ruimtes" -#: core/models.py:572 +#: core/models.py:574 msgid "Worker ID" msgstr "Worker ID" -#: core/models.py:574 +#: core/models.py:576 msgid "" "Enter an identifier for the worker recording.This ID is retained even when " "the worker stops, allowing for easy tracking." @@ -311,120 +326,120 @@ msgstr "" "Voer een identificatie in voor de worker-opname. Deze ID blijft behouden, " "zelfs wanneer de worker stopt, waardoor eenvoudige tracking mogelijk is." -#: core/models.py:582 +#: core/models.py:584 msgid "Recording mode" msgstr "Opnamemodus" -#: core/models.py:583 +#: core/models.py:585 msgid "Defines the mode of recording being called." msgstr "Definieert de modus van opname die wordt aangeroepen." -#: core/models.py:588 core/models.py:589 +#: core/models.py:590 core/models.py:591 msgid "Recording options" msgstr "Opnameopties" -#: core/models.py:595 +#: core/models.py:597 msgid "Recording" msgstr "Opname" -#: core/models.py:596 +#: core/models.py:598 msgid "Recordings" msgstr "Opnames" -#: core/models.py:704 +#: core/models.py:706 msgid "Recording/user relation" msgstr "Opname/gebruiker-relatie" -#: core/models.py:705 +#: core/models.py:707 msgid "Recording/user relations" msgstr "Opname/gebruiker-relaties" -#: core/models.py:711 +#: core/models.py:713 msgid "This user is already in this recording." msgstr "Deze gebruiker is al in deze opname." -#: core/models.py:717 +#: core/models.py:719 msgid "This team is already in this recording." msgstr "Dit team is al in deze opname." -#: core/models.py:723 +#: core/models.py:725 msgid "Either user or team must be set, not both." msgstr "Ofwel gebruiker of team moet worden ingesteld, niet beide." -#: core/models.py:740 +#: core/models.py:742 msgid "Create rooms" msgstr "Ruimtes aanmaken" -#: core/models.py:741 +#: core/models.py:743 msgid "List rooms" msgstr "Ruimtes weergeven" -#: core/models.py:742 +#: core/models.py:744 msgid "Retrieve room details" msgstr "Details van een ruimte ophalen" -#: core/models.py:743 +#: core/models.py:745 msgid "Update rooms" msgstr "Ruimtes bijwerken" -#: core/models.py:744 +#: core/models.py:746 msgid "Delete rooms" msgstr "Ruimtes verwijderen" -#: core/models.py:757 +#: core/models.py:759 msgid "Application name" msgstr "Naam van de applicatie" -#: core/models.py:758 +#: core/models.py:760 msgid "Descriptive name for this application." msgstr "Beschrijvende naam voor deze applicatie." -#: core/models.py:768 +#: core/models.py:770 msgid "Hashed on Save. Copy it now if this is a new secret." msgstr "" "Wordt gehasht bij het opslaan. Kopieer het nu als dit een nieuw geheim is." -#: core/models.py:779 +#: core/models.py:781 msgid "Application" msgstr "Applicatie" -#: core/models.py:780 +#: core/models.py:782 msgid "Applications" msgstr "Applicaties" -#: core/models.py:803 +#: core/models.py:805 msgid "Enter a valid domain" msgstr "Voer een geldig domein in" -#: core/models.py:806 +#: core/models.py:808 msgid "Domain" msgstr "Domein" -#: core/models.py:807 +#: core/models.py:809 msgid "Email domain this application can act on behalf of." msgstr "E-maildomein namens welke deze applicatie kan handelen." -#: core/models.py:819 +#: core/models.py:821 msgid "Application domain" msgstr "Applicatiedomein" -#: core/models.py:820 +#: core/models.py:822 msgid "Application domains" msgstr "Applicatiedomeinen" -#: core/models.py:838 +#: core/models.py:840 msgid "Pending" msgstr "In afwachting" -#: core/models.py:846 +#: core/models.py:848 msgid "Ready" msgstr "Klaar" -#: core/models.py:852 +#: core/models.py:854 msgid "Background image" msgstr "Achtergrondafbeelding" -#: core/models.py:864 +#: core/models.py:866 msgid "title" msgstr "Titel" @@ -440,11 +455,11 @@ msgstr "Bestand" msgid "Files" msgstr "Bestanden" -#: core/models.py:970 +#: core/models.py:1000 msgid "This file is already hard deleted." msgstr "Dit bestand is al definitief verwijderd." -#: core/models.py:980 +#: core/models.py:1010 #, fuzzy #| msgid "To hard delete a file, it must first be soft deleted." msgid "To hard delete a file, it must first be soft deleted." @@ -580,18 +595,18 @@ msgstr "" " Als je vragen hebt of hulp nodig hebt, neem dan contact op met ons support " "team via %(support_email)s. " -#: meet/settings.py:224 +#: meet/settings.py:215 msgid "English" msgstr "Engels" -#: meet/settings.py:225 +#: meet/settings.py:216 msgid "French" msgstr "Frans" -#: meet/settings.py:226 +#: meet/settings.py:217 msgid "Dutch" msgstr "Nederlands" -#: meet/settings.py:227 +#: meet/settings.py:218 msgid "German" msgstr "Duits"