Compare commits

..

1 Commits

Author SHA1 Message Date
lebaudantoine eb7924a531 🔧(backend) trigger webhook only for recording file uploads
With the introduction of file background uploads, only trigger the
webhook for files related to recordings.

Avoid firing the "recording saved" event for other file uploads,
preventing unnecessary queries and false triggers.
2026-03-11 19:34:31 +01:00
12 changed files with 390 additions and 486 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ services:
/usr/bin/mc admin config set meet notify_webhook:meet-webhook endpoint='http://app-dev:8000/api/v1.0/recordings/storage-hook/' auth_token='Bearer password' &&
/usr/bin/mc admin service restart meet --wait --json &&
sleep 15 &&
/usr/bin/mc event add meet/meet-media-storage arn:minio:sqs::meet-webhook:webhook --event put &&
/usr/bin/mc event add meet/meet-media-storage arn:minio:sqs::meet-webhook:webhook --event put --prefix "recordings" &&
exit 0;"
app-dev:
+1 -33
View File
@@ -197,38 +197,6 @@ 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."""
@@ -256,7 +224,7 @@ class RecordingAdmin(admin.ModelAdmin):
"updated_at",
"worker_id",
)
actions = [resend_notification, mark_as_failed_to_stop]
actions = [resend_notification]
def get_queryset(self, request):
"""Optimize queries by prefetching related access and user data to avoid N+1 queries."""
Binary file not shown.
+96 -111
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-11 17:31+0000\n"
"POT-Creation-Date: 2026-02-26 17:34+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,11 +29,11 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "Wichtige Daten"
#: core/admin.py:132 core/admin.py:275
#: core/admin.py:132 core/admin.py:243
msgid "No owner"
msgstr "Kein Eigentümer"
#: core/admin.py:135 core/admin.py:278
#: core/admin.py:135 core/admin.py:246
msgid "Multiple owners"
msgstr "Mehrere Eigentümer"
@@ -61,132 +61,117 @@ 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: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
#: core/admin.py:309
msgid "No scopes"
msgstr "Keine Scopes"
#: core/admin.py:343
#: core/admin.py:311
msgid "Scopes"
msgstr "Scopes"
#: core/api/filters.py:25
#: core/api/filters.py:24
msgid "Creator is me"
msgstr "Ersteller bin ich"
#: core/api/serializers.py:88
#: core/api/serializers.py:84
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:516
#: core/api/serializers.py:443
msgid "This file extension is not allowed."
msgstr "Diese Dateiendung ist nicht erlaubt."
#: core/models.py:37
#: core/models.py:35
msgid "Member"
msgstr "Mitglied"
#: core/models.py:38
#: core/models.py:36
msgid "Administrator"
msgstr "Administrator"
#: core/models.py:39
#: core/models.py:37
msgid "Owner"
msgstr "Eigentümer"
#: core/models.py:55
#: core/models.py:53
msgid "Initiated"
msgstr "Gestartet"
#: core/models.py:56
#: core/models.py:54
msgid "Active"
msgstr "Aktiv"
#: core/models.py:57
#: core/models.py:55
msgid "Stopped"
msgstr "Beendet"
#: core/models.py:58
#: core/models.py:56
msgid "Saved"
msgstr "Gespeichert"
#: core/models.py:59
#: core/models.py:57
msgid "Aborted"
msgstr "Abgebrochen"
#: core/models.py:60
#: core/models.py:58
msgid "Failed to Start"
msgstr "Start fehlgeschlagen"
#: core/models.py:61
#: core/models.py:59
msgid "Failed to Stop"
msgstr "Stopp fehlgeschlagen"
#: core/models.py:62
#: core/models.py:60
msgid "Notification succeeded"
msgstr "Benachrichtigung erfolgreich"
#: core/models.py:89
#: core/models.py:87
msgid "SCREEN_RECORDING"
msgstr "BILDSCHIRMAUFZEICHNUNG"
#: core/models.py:90
#: core/models.py:88
msgid "TRANSCRIPT"
msgstr "TRANSKRIPT"
#: core/models.py:96
#: core/models.py:94
msgid "Public Access"
msgstr "Öffentlicher Zugriff"
#: core/models.py:97
#: core/models.py:95
msgid "Trusted Access"
msgstr "Vertrauenswürdiger Zugriff"
#: core/models.py:98
#: core/models.py:96
msgid "Restricted Access"
msgstr "Eingeschränkter Zugriff"
#: core/models.py:110
#: core/models.py:108
msgid "id"
msgstr "ID"
#: core/models.py:111
#: core/models.py:109
msgid "primary key for the record as UUID"
msgstr "Primärschlüssel des Eintrags als UUID"
#: core/models.py:117
#: core/models.py:115
msgid "created on"
msgstr "erstellt am"
#: core/models.py:118
#: core/models.py:116
msgid "date and time at which a record was created"
msgstr "Datum und Uhrzeit der Erstellung eines Eintrags"
#: core/models.py:123
#: core/models.py:121
msgid "updated on"
msgstr "aktualisiert am"
#: core/models.py:124
#: core/models.py:122
msgid "date and time at which a record was last updated"
msgstr "Datum und Uhrzeit der letzten Aktualisierung eines Eintrags"
#: core/models.py:144
#: core/models.py:142
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
@@ -194,11 +179,11 @@ msgstr ""
"Geben Sie einen gültigen Sub ein. Dieser Wert darf nur Buchstaben, Zahlen "
"und die Zeichen @/./+/-/_ enthalten."
#: core/models.py:150
#: core/models.py:148
msgid "sub"
msgstr "Sub"
#: core/models.py:152
#: core/models.py:150
msgid ""
"Optional for pending users; required upon account activation. 255 characters "
"or fewer. Letters, numbers, and @/./+/-/_ characters only."
@@ -206,55 +191,55 @@ msgstr ""
"Optional für ausstehende Benutzer; erforderlich nach Kontoaktivierung. "
"Maximal 255 Zeichen. Nur Buchstaben, Zahlen und @/./+/-/_ Zeichen erlaubt."
#: core/models.py:161
#: core/models.py:159
msgid "identity email address"
msgstr "Identitäts-E-Mail-Adresse"
#: core/models.py:166
#: core/models.py:164
msgid "admin email address"
msgstr "Administrator-E-Mail-Adresse"
#: core/models.py:168
#: core/models.py:166
msgid "full name"
msgstr "Vollständiger Name"
#: core/models.py:170
#: core/models.py:168
msgid "short name"
msgstr "Kurzname"
#: core/models.py:176
#: core/models.py:174
msgid "language"
msgstr "Sprache"
#: core/models.py:177
#: core/models.py:175
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:183
#: core/models.py:181
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:186
#: core/models.py:184
msgid "device"
msgstr "Gerät"
#: core/models.py:188
#: core/models.py:186
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:191
#: core/models.py:189
msgid "staff status"
msgstr "Mitarbeiterstatus"
#: core/models.py:193
#: core/models.py:191
msgid "Whether the user can log into this admin site."
msgstr "Ob der Benutzer sich bei dieser Admin-Seite anmelden kann."
#: core/models.py:196
#: core/models.py:194
msgid "active"
msgstr "aktiv"
#: core/models.py:199
#: core/models.py:197
msgid ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
@@ -262,66 +247,66 @@ msgstr ""
"Ob dieser Benutzer als aktiv behandelt werden soll. Deaktivieren Sie dies "
"anstelle des Löschens des Kontos."
#: core/models.py:212
#: core/models.py:210
msgid "user"
msgstr "Benutzer"
#: core/models.py:213
#: core/models.py:211
msgid "users"
msgstr "Benutzer"
#: core/models.py:272
#: core/models.py:270
msgid "Resource"
msgstr "Ressource"
#: core/models.py:273
#: core/models.py:271
msgid "Resources"
msgstr "Ressourcen"
#: core/models.py:331
#: core/models.py:329
msgid "Resource access"
msgstr "Ressourcenzugriff"
#: core/models.py:332
#: core/models.py:330
msgid "Resource accesses"
msgstr "Ressourcenzugriffe"
#: core/models.py:338
#: core/models.py:336
msgid "Resource access with this User and Resource already exists."
msgstr ""
"Ein Ressourcenzugriff mit diesem Benutzer und dieser Ressource existiert "
"bereits."
#: core/models.py:394
#: core/models.py:392
msgid "Visio room configuration"
msgstr "Visio-Raumkonfiguration"
#: core/models.py:395
#: core/models.py:393
msgid "Values for Visio parameters to configure the room."
msgstr "Werte für Visio-Parameter zur Konfiguration des Raums."
#: core/models.py:402
#: core/models.py:400
msgid "Room PIN code"
msgstr "PIN-Code für den Raum"
#: core/models.py:403
#: core/models.py:401
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:409 core/models.py:563
#: core/models.py:407 core/models.py:561
msgid "Room"
msgstr "Raum"
#: core/models.py:410
#: core/models.py:408
msgid "Rooms"
msgstr "Räume"
#: core/models.py:574
#: core/models.py:572
msgid "Worker ID"
msgstr "Worker-ID"
#: core/models.py:576
#: core/models.py:574
msgid ""
"Enter an identifier for the worker recording.This ID is retained even when "
"the worker stops, allowing for easy tracking."
@@ -330,120 +315,120 @@ msgstr ""
"erhalten, auch wenn der Worker stoppt, was ein einfaches Nachverfolgen "
"ermöglicht."
#: core/models.py:584
#: core/models.py:582
msgid "Recording mode"
msgstr "Aufzeichnungsmodus"
#: core/models.py:585
#: core/models.py:583
msgid "Defines the mode of recording being called."
msgstr "Definiert den aufgerufenen Aufzeichnungsmodus."
#: core/models.py:590 core/models.py:591
#: core/models.py:588 core/models.py:589
msgid "Recording options"
msgstr "Aufnahmeoptionen"
#: core/models.py:597
#: core/models.py:595
msgid "Recording"
msgstr "Aufzeichnung"
#: core/models.py:598
#: core/models.py:596
msgid "Recordings"
msgstr "Aufzeichnungen"
#: core/models.py:706
#: core/models.py:704
msgid "Recording/user relation"
msgstr "Beziehung Aufzeichnung/Benutzer"
#: core/models.py:707
#: core/models.py:705
msgid "Recording/user relations"
msgstr "Beziehungen Aufzeichnung/Benutzer"
#: core/models.py:713
#: core/models.py:711
msgid "This user is already in this recording."
msgstr "Dieser Benutzer ist bereits Teil dieser Aufzeichnung."
#: core/models.py:719
#: core/models.py:717
msgid "This team is already in this recording."
msgstr "Dieses Team ist bereits Teil dieser Aufzeichnung."
#: core/models.py:725
#: core/models.py:723
msgid "Either user or team must be set, not both."
msgstr "Entweder Benutzer oder Team muss festgelegt werden, nicht beides."
#: core/models.py:742
#: core/models.py:740
msgid "Create rooms"
msgstr "Räume erstellen"
#: core/models.py:743
#: core/models.py:741
msgid "List rooms"
msgstr "Räume auflisten"
#: core/models.py:744
#: core/models.py:742
msgid "Retrieve room details"
msgstr "Raumdetails abrufen"
#: core/models.py:745
#: core/models.py:743
msgid "Update rooms"
msgstr "Räume aktualisieren"
#: core/models.py:746
#: core/models.py:744
msgid "Delete rooms"
msgstr "Räume löschen"
#: core/models.py:759
#: core/models.py:757
msgid "Application name"
msgstr "Anwendungsname"
#: core/models.py:760
#: core/models.py:758
msgid "Descriptive name for this application."
msgstr "Beschreibender Name für diese Anwendung."
#: core/models.py:770
#: core/models.py:768
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:781
#: core/models.py:779
msgid "Application"
msgstr "Anwendung"
#: core/models.py:782
#: core/models.py:780
msgid "Applications"
msgstr "Anwendungen"
#: core/models.py:805
#: core/models.py:803
msgid "Enter a valid domain"
msgstr "Geben Sie eine gültige Domain ein"
#: core/models.py:808
#: core/models.py:806
msgid "Domain"
msgstr "Domain"
#: core/models.py:809
#: core/models.py:807
msgid "Email domain this application can act on behalf of."
msgstr "E-Mail-Domain, im Namen der diese Anwendung handeln kann."
#: core/models.py:821
#: core/models.py:819
msgid "Application domain"
msgstr "Anwendungsdomain"
#: core/models.py:822
#: core/models.py:820
msgid "Application domains"
msgstr "Anwendungsdomains"
#: core/models.py:840
#: core/models.py:838
msgid "Pending"
msgstr "Ausstehend"
#: core/models.py:848
#: core/models.py:846
msgid "Ready"
msgstr "Bereit"
#: core/models.py:854
#: core/models.py:852
msgid "Background image"
msgstr "Hintergrundbild"
#: core/models.py:866
#: core/models.py:864
msgid "title"
msgstr "Titel"
@@ -460,11 +445,11 @@ msgstr "Datei"
msgid "Files"
msgstr "Dateien"
#: core/models.py:1000
#: core/models.py:970
msgid "This file is already hard deleted."
msgstr "Diese Datei wurde bereits endgültig gelöscht."
#: core/models.py:1010
#: core/models.py:980
#, 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."
@@ -600,18 +585,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:215
#: meet/settings.py:224
msgid "English"
msgstr "Englisch"
#: meet/settings.py:216
#: meet/settings.py:225
msgid "French"
msgstr "Französisch"
#: meet/settings.py:217
#: meet/settings.py:226
msgid "Dutch"
msgstr "Niederländisch"
#: meet/settings.py:218
#: meet/settings.py:227
msgid "German"
msgstr "Deutsch"
Binary file not shown.
+96 -111
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-11 17:31+0000\n"
"POT-Creation-Date: 2026-02-26 17:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,11 +29,11 @@ msgstr "Permissions"
msgid "Important dates"
msgstr "Important dates"
#: core/admin.py:132 core/admin.py:275
#: core/admin.py:132 core/admin.py:243
msgid "No owner"
msgstr "No owner"
#: core/admin.py:135 core/admin.py:278
#: core/admin.py:135 core/admin.py:246
msgid "Multiple owners"
msgstr "Multiple owners"
@@ -61,130 +61,115 @@ 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: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
#: core/admin.py:309
msgid "No scopes"
msgstr "No scopes"
#: core/admin.py:343
#: core/admin.py:311
msgid "Scopes"
msgstr "Scopes"
#: core/api/filters.py:25
#: core/api/filters.py:24
msgid "Creator is me"
msgstr "Creator is me"
#: core/api/serializers.py:88
#: core/api/serializers.py:84
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:516
#: core/api/serializers.py:443
msgid "This file extension is not allowed."
msgstr "This file extension is not allowed."
#: core/models.py:37
#: core/models.py:35
msgid "Member"
msgstr "Member"
#: core/models.py:38
#: core/models.py:36
msgid "Administrator"
msgstr "Administrator"
#: core/models.py:39
#: core/models.py:37
msgid "Owner"
msgstr "Owner"
#: core/models.py:55
#: core/models.py:53
msgid "Initiated"
msgstr "Initiated"
#: core/models.py:56
#: core/models.py:54
msgid "Active"
msgstr "Active"
#: core/models.py:57
#: core/models.py:55
msgid "Stopped"
msgstr "Stopped"
#: core/models.py:58
#: core/models.py:56
msgid "Saved"
msgstr "Saved"
#: core/models.py:59
#: core/models.py:57
msgid "Aborted"
msgstr "Aborted"
#: core/models.py:60
#: core/models.py:58
msgid "Failed to Start"
msgstr "Failed to Start"
#: core/models.py:61
#: core/models.py:59
msgid "Failed to Stop"
msgstr "Failed to Stop"
#: core/models.py:62
#: core/models.py:60
msgid "Notification succeeded"
msgstr "Notification succeeded"
#: core/models.py:89
#: core/models.py:87
msgid "SCREEN_RECORDING"
msgstr "SCREEN_RECORDING"
#: core/models.py:90
#: core/models.py:88
msgid "TRANSCRIPT"
msgstr "TRANSCRIPT"
#: core/models.py:96
#: core/models.py:94
msgid "Public Access"
msgstr "Public Access"
#: core/models.py:97
#: core/models.py:95
msgid "Trusted Access"
msgstr "Trusted Access"
#: core/models.py:98
#: core/models.py:96
msgid "Restricted Access"
msgstr "Restricted Access"
#: core/models.py:110
#: core/models.py:108
msgid "id"
msgstr "id"
#: core/models.py:111
#: core/models.py:109
msgid "primary key for the record as UUID"
msgstr "primary key for the record as UUID"
#: core/models.py:117
#: core/models.py:115
msgid "created on"
msgstr "created on"
#: core/models.py:118
#: core/models.py:116
msgid "date and time at which a record was created"
msgstr "date and time at which a record was created"
#: core/models.py:123
#: core/models.py:121
msgid "updated on"
msgstr "updated on"
#: core/models.py:124
#: core/models.py:122
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:144
#: core/models.py:142
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
@@ -192,11 +177,11 @@ msgstr ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
#: core/models.py:150
#: core/models.py:148
msgid "sub"
msgstr "sub"
#: core/models.py:152
#: core/models.py:150
msgid ""
"Optional for pending users; required upon account activation. 255 characters "
"or fewer. Letters, numbers, and @/./+/-/_ characters only."
@@ -204,55 +189,55 @@ msgstr ""
"Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_ "
"characters only."
#: core/models.py:161
#: core/models.py:159
msgid "identity email address"
msgstr "identity email address"
#: core/models.py:166
#: core/models.py:164
msgid "admin email address"
msgstr "admin email address"
#: core/models.py:168
#: core/models.py:166
msgid "full name"
msgstr "full name"
#: core/models.py:170
#: core/models.py:168
msgid "short name"
msgstr "short name"
#: core/models.py:176
#: core/models.py:174
msgid "language"
msgstr "language"
#: core/models.py:177
#: core/models.py:175
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:183
#: core/models.py:181
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:186
#: core/models.py:184
msgid "device"
msgstr "device"
#: core/models.py:188
#: core/models.py:186
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:191
#: core/models.py:189
msgid "staff status"
msgstr "staff status"
#: core/models.py:193
#: core/models.py:191
msgid "Whether the user can log into this admin site."
msgstr "Whether the user can log into this admin site."
#: core/models.py:196
#: core/models.py:194
msgid "active"
msgstr "active"
#: core/models.py:199
#: core/models.py:197
msgid ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
@@ -260,63 +245,63 @@ msgstr ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
#: core/models.py:212
#: core/models.py:210
msgid "user"
msgstr "user"
#: core/models.py:213
#: core/models.py:211
msgid "users"
msgstr "users"
#: core/models.py:272
#: core/models.py:270
msgid "Resource"
msgstr "Resource"
#: core/models.py:273
#: core/models.py:271
msgid "Resources"
msgstr "Resources"
#: core/models.py:331
#: core/models.py:329
msgid "Resource access"
msgstr "Resource access"
#: core/models.py:332
#: core/models.py:330
msgid "Resource accesses"
msgstr "Resource accesses"
#: core/models.py:338
#: core/models.py:336
msgid "Resource access with this User and Resource already exists."
msgstr "Resource access with this User and Resource already exists."
#: core/models.py:394
#: core/models.py:392
msgid "Visio room configuration"
msgstr "Visio room configuration"
#: core/models.py:395
#: core/models.py:393
msgid "Values for Visio parameters to configure the room."
msgstr "Values for Visio parameters to configure the room."
#: core/models.py:402
#: core/models.py:400
msgid "Room PIN code"
msgstr "Room PIN code"
#: core/models.py:403
#: core/models.py:401
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:409 core/models.py:563
#: core/models.py:407 core/models.py:561
msgid "Room"
msgstr "Room"
#: core/models.py:410
#: core/models.py:408
msgid "Rooms"
msgstr "Rooms"
#: core/models.py:574
#: core/models.py:572
msgid "Worker ID"
msgstr "Worker ID"
#: core/models.py:576
#: core/models.py:574
msgid ""
"Enter an identifier for the worker recording.This ID is retained even when "
"the worker stops, allowing for easy tracking."
@@ -324,125 +309,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:584
#: core/models.py:582
msgid "Recording mode"
msgstr "Recording mode"
#: core/models.py:585
#: core/models.py:583
msgid "Defines the mode of recording being called."
msgstr "Defines the mode of recording being called."
#: core/models.py:590 core/models.py:591
#: core/models.py:588 core/models.py:589
msgid "Recording options"
msgstr "Recording options"
#: core/models.py:597
#: core/models.py:595
msgid "Recording"
msgstr "Recording"
#: core/models.py:598
#: core/models.py:596
msgid "Recordings"
msgstr "Recordings"
#: core/models.py:706
#: core/models.py:704
msgid "Recording/user relation"
msgstr "Recording/user relation"
#: core/models.py:707
#: core/models.py:705
msgid "Recording/user relations"
msgstr "Recording/user relations"
#: core/models.py:713
#: core/models.py:711
msgid "This user is already in this recording."
msgstr "This user is already in this recording."
#: core/models.py:719
#: core/models.py:717
msgid "This team is already in this recording."
msgstr "This team is already in this recording."
#: core/models.py:725
#: core/models.py:723
msgid "Either user or team must be set, not both."
msgstr "Either user or team must be set, not both."
#: core/models.py:742
#: core/models.py:740
#, fuzzy
#| msgid "created on"
msgid "Create rooms"
msgstr "Create rooms"
#: core/models.py:743
#: core/models.py:741
msgid "List rooms"
msgstr "List rooms"
#: core/models.py:744
#: core/models.py:742
msgid "Retrieve room details"
msgstr "Retrieve room details"
#: core/models.py:745
#: core/models.py:743
#, fuzzy
#| msgid "updated on"
msgid "Update rooms"
msgstr "Update rooms"
#: core/models.py:746
#: core/models.py:744
msgid "Delete rooms"
msgstr "Delete rooms"
#: core/models.py:759
#: core/models.py:757
msgid "Application name"
msgstr "Application name"
#: core/models.py:760
#: core/models.py:758
msgid "Descriptive name for this application."
msgstr "Descriptive name for this application."
#: core/models.py:770
#: core/models.py:768
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:781
#: core/models.py:779
msgid "Application"
msgstr "Application"
#: core/models.py:782
#: core/models.py:780
msgid "Applications"
msgstr "Applications"
#: core/models.py:805
#: core/models.py:803
msgid "Enter a valid domain"
msgstr "Enter a valid domain"
#: core/models.py:808
#: core/models.py:806
msgid "Domain"
msgstr "Domain"
#: core/models.py:809
#: core/models.py:807
msgid "Email domain this application can act on behalf of."
msgstr "Email domain this application can act on behalf of."
#: core/models.py:821
#: core/models.py:819
msgid "Application domain"
msgstr "Application domain"
#: core/models.py:822
#: core/models.py:820
msgid "Application domains"
msgstr "Application domains"
#: core/models.py:840
#: core/models.py:838
#, fuzzy
#| msgid "Recording"
msgid "Pending"
msgstr "Pending"
#: core/models.py:848
#: core/models.py:846
msgid "Ready"
msgstr "Ready"
#: core/models.py:854
#: core/models.py:852
msgid "Background image"
msgstr "Background image"
#: core/models.py:866
#: core/models.py:864
msgid "title"
msgstr "title"
@@ -458,13 +443,13 @@ msgstr "File"
msgid "Files"
msgstr "Files"
#: core/models.py:1000
#: core/models.py:970
#, 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:1010
#: core/models.py:980
msgid "To hard delete a file, it must first be soft deleted."
msgstr "To hard delete a file, it must first be soft deleted."
@@ -596,18 +581,18 @@ msgstr ""
" If you have any questions or need assistance, please contact our support "
"team at %(support_email)s. "
#: meet/settings.py:215
#: meet/settings.py:224
msgid "English"
msgstr "English"
#: meet/settings.py:216
#: meet/settings.py:225
msgid "French"
msgstr "French"
#: meet/settings.py:217
#: meet/settings.py:226
msgid "Dutch"
msgstr "Dutch"
#: meet/settings.py:218
#: meet/settings.py:227
msgid "German"
msgstr "German"
Binary file not shown.
+98 -116
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-11 17:31+0000\n"
"POT-Creation-Date: 2026-02-26 17:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: antoine.lebaud@mail.numerique.gouv.fr\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,11 +29,11 @@ msgstr "Permissions"
msgid "Important dates"
msgstr "Dates importantes"
#: core/admin.py:132 core/admin.py:275
#: core/admin.py:132 core/admin.py:243
msgid "No owner"
msgstr "Pas de propriétaire"
#: core/admin.py:135 core/admin.py:278
#: core/admin.py:135 core/admin.py:246
msgid "Multiple owners"
msgstr "Plusieurs propriétaires"
@@ -61,134 +61,119 @@ 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:200
msgid "Mark selected recordings as 'Failed to Stop'"
msgstr "Marquer les enregistrements sélectionnés comme « Échec darrê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 darrê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
#: core/admin.py:309
msgid "No scopes"
msgstr "Aucun scopes"
#: core/admin.py:343
#: core/admin.py:311
msgid "Scopes"
msgstr "Scopes"
#: core/api/filters.py:25
#: core/api/filters.py:24
msgid "Creator is me"
msgstr "Je suis le créateur"
#: core/api/serializers.py:88
#: core/api/serializers.py:84
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:516
#: core/api/serializers.py:443
msgid "This file extension is not allowed."
msgstr "Cette extension n'est pas autorisée"
#: core/models.py:37
#: core/models.py:35
msgid "Member"
msgstr "Membre"
#: core/models.py:38
#: core/models.py:36
msgid "Administrator"
msgstr "Administrateur"
#: core/models.py:39
#: core/models.py:37
msgid "Owner"
msgstr "Propriétaire"
#: core/models.py:55
#: core/models.py:53
msgid "Initiated"
msgstr "Initié"
#: core/models.py:56
#: core/models.py:54
msgid "Active"
msgstr "Actif"
#: core/models.py:57
#: core/models.py:55
msgid "Stopped"
msgstr "Arrêté"
#: core/models.py:58
#: core/models.py:56
msgid "Saved"
msgstr "Enregistré"
#: core/models.py:59
#: core/models.py:57
msgid "Aborted"
msgstr "Abandonné"
#: core/models.py:60
#: core/models.py:58
msgid "Failed to Start"
msgstr "Échec au démarrage"
#: core/models.py:61
#: core/models.py:59
msgid "Failed to Stop"
msgstr "Échec à l'arrêt"
#: core/models.py:62
#: core/models.py:60
msgid "Notification succeeded"
msgstr "Notification réussie"
#: core/models.py:89
#: core/models.py:87
msgid "SCREEN_RECORDING"
msgstr "ENREGISTREMENT_ÉCRAN"
#: core/models.py:90
#: core/models.py:88
msgid "TRANSCRIPT"
msgstr "TRANSCRIPTION"
#: core/models.py:96
#: core/models.py:94
msgid "Public Access"
msgstr "Accès public"
#: core/models.py:97
#: core/models.py:95
msgid "Trusted Access"
msgstr "Accès de confiance"
#: core/models.py:98
#: core/models.py:96
msgid "Restricted Access"
msgstr "Accès restreint"
#: core/models.py:110
#: core/models.py:108
msgid "id"
msgstr "id"
#: core/models.py:111
#: core/models.py:109
msgid "primary key for the record as UUID"
msgstr "clé primaire pour l'enregistrement sous forme d'UUID"
#: core/models.py:117
#: core/models.py:115
msgid "created on"
msgstr "créé le"
#: core/models.py:118
#: core/models.py:116
msgid "date and time at which a record was created"
msgstr "date et heure auxquelles un enregistrement a été créé"
#: core/models.py:123
#: core/models.py:121
msgid "updated on"
msgstr "mis à jour le"
#: core/models.py:124
#: core/models.py:122
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:144
#: core/models.py:142
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
@@ -196,11 +181,11 @@ msgstr ""
"Entrez un sub valide. Cette valeur ne peut contenir que des lettres, des "
"chiffres et les caractères @/./+/-/_."
#: core/models.py:150
#: core/models.py:148
msgid "sub"
msgstr "sub"
#: core/models.py:152
#: core/models.py:150
msgid ""
"Optional for pending users; required upon account activation. 255 characters "
"or fewer. Letters, numbers, and @/./+/-/_ characters only."
@@ -208,55 +193,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:161
#: core/models.py:159
msgid "identity email address"
msgstr "adresse e-mail d'identité"
#: core/models.py:166
#: core/models.py:164
msgid "admin email address"
msgstr "adresse e-mail d'administrateur"
#: core/models.py:168
#: core/models.py:166
msgid "full name"
msgstr "nom complet"
#: core/models.py:170
#: core/models.py:168
msgid "short name"
msgstr "nom court"
#: core/models.py:176
#: core/models.py:174
msgid "language"
msgstr "langue"
#: core/models.py:177
#: core/models.py:175
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:183
#: core/models.py:181
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:186
#: core/models.py:184
msgid "device"
msgstr "appareil"
#: core/models.py:188
#: core/models.py:186
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:191
#: core/models.py:189
msgid "staff status"
msgstr "statut du personnel"
#: core/models.py:193
#: core/models.py:191
msgid "Whether the user can log into this admin site."
msgstr "Si l'utilisateur peut se connecter à ce site d'administration."
#: core/models.py:196
#: core/models.py:194
msgid "active"
msgstr "actif"
#: core/models.py:199
#: core/models.py:197
msgid ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
@@ -264,65 +249,65 @@ msgstr ""
"Si cet utilisateur doit être traité comme actif. Désélectionnez cette option "
"au lieu de supprimer des comptes."
#: core/models.py:212
#: core/models.py:210
msgid "user"
msgstr "utilisateur"
#: core/models.py:213
#: core/models.py:211
msgid "users"
msgstr "utilisateurs"
#: core/models.py:272
#: core/models.py:270
msgid "Resource"
msgstr "Ressource"
#: core/models.py:273
#: core/models.py:271
msgid "Resources"
msgstr "Ressources"
#: core/models.py:331
#: core/models.py:329
msgid "Resource access"
msgstr "Accès aux ressources"
#: core/models.py:332
#: core/models.py:330
msgid "Resource accesses"
msgstr "Accès aux ressources"
#: core/models.py:338
#: core/models.py:336
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:394
#: core/models.py:392
msgid "Visio room configuration"
msgstr "Configuration de la salle de visioconférence"
#: core/models.py:395
#: core/models.py:393
msgid "Values for Visio parameters to configure the room."
msgstr "Valeurs des paramètres de visioconférence pour configurer la salle."
#: core/models.py:402
#: core/models.py:400
msgid "Room PIN code"
msgstr "Code PIN de la salle"
#: core/models.py:403
#: core/models.py:401
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:409 core/models.py:563
#: core/models.py:407 core/models.py:561
msgid "Room"
msgstr "Salle"
#: core/models.py:410
#: core/models.py:408
msgid "Rooms"
msgstr "Salles"
#: core/models.py:574
#: core/models.py:572
msgid "Worker ID"
msgstr "ID du Worker"
#: core/models.py:576
#: core/models.py:574
msgid ""
"Enter an identifier for the worker recording.This ID is retained even when "
"the worker stops, allowing for easy tracking."
@@ -330,128 +315,127 @@ 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:584
#: core/models.py:582
msgid "Recording mode"
msgstr "Mode d'enregistrement"
#: core/models.py:585
#: core/models.py:583
msgid "Defines the mode of recording being called."
msgstr "Définit le mode d'enregistrement appelé."
#: core/models.py:590 core/models.py:591
#: core/models.py:588 core/models.py:589
msgid "Recording options"
msgstr "Options d'enregistrement"
#: core/models.py:597
#: core/models.py:595
msgid "Recording"
msgstr "Enregistrement"
#: core/models.py:598
#: core/models.py:596
msgid "Recordings"
msgstr "Enregistrements"
#: core/models.py:706
#: core/models.py:704
msgid "Recording/user relation"
msgstr "Relation enregistrement/utilisateur"
#: core/models.py:707
#: core/models.py:705
msgid "Recording/user relations"
msgstr "Relations enregistrement/utilisateur"
#: core/models.py:713
#: core/models.py:711
msgid "This user is already in this recording."
msgstr "Cet utilisateur est déjà dans cet enregistrement."
#: core/models.py:719
#: core/models.py:717
msgid "This team is already in this recording."
msgstr "Cette équipe est déjà dans cet enregistrement."
#: core/models.py:725
#: core/models.py:723
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:742
#: core/models.py:740
msgid "Create rooms"
msgstr "Créer des salles"
#: core/models.py:743
#: core/models.py:741
msgid "List rooms"
msgstr "Lister les salles"
#: core/models.py:744
#: core/models.py:742
msgid "Retrieve room details"
msgstr "Afficher les détails dune salle"
#: core/models.py:745
#: core/models.py:743
msgid "Update rooms"
msgstr "Mettre à jour les salles"
#: core/models.py:746
#: core/models.py:744
msgid "Delete rooms"
msgstr "Supprimer les salles"
#: core/models.py:759
#: core/models.py:757
msgid "Application name"
msgstr "Nom de lapplication"
#: core/models.py:760
#: core/models.py:758
msgid "Descriptive name for this application."
msgstr "Nom descriptif de cette application."
#: core/models.py:770
#: core/models.py:768
msgid "Hashed on Save. Copy it now if this is a new secret."
msgstr ""
"Haché lors de lenregistrement. Copiez-le maintenant sil sagit dun "
"nouveau secret."
#: core/models.py:781
#: core/models.py:779
msgid "Application"
msgstr "Application"
#: core/models.py:782
#: core/models.py:780
msgid "Applications"
msgstr "Applications"
#: core/models.py:805
#: core/models.py:803
msgid "Enter a valid domain"
msgstr "Saisissez un domaine valide"
#: core/models.py:808
#: core/models.py:806
msgid "Domain"
msgstr "Domaine"
#: core/models.py:809
#: core/models.py:807
msgid "Email domain this application can act on behalf of."
msgstr "Domaine de messagerie au nom duquel cette application peut agir."
#: core/models.py:821
#: core/models.py:819
msgid "Application domain"
msgstr "Domaine dapplication"
#: core/models.py:822
#: core/models.py:820
msgid "Application domains"
msgstr "Domaines dapplication"
#: core/models.py:840
#: core/models.py:838
msgid "Pending"
msgstr "En attente"
#: core/models.py:848
#: core/models.py:846
msgid "Ready"
msgstr "Prêt"
#: core/models.py:854
#: core/models.py:852
msgid "Background image"
msgstr "Image de fond"
#: core/models.py:866
#: core/models.py:864
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"
@@ -461,17 +445,15 @@ msgstr "Fichier"
msgid "Files"
msgstr "Fichiers"
#: core/models.py:1000
#: core/models.py:970
#, 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:1010
#: core/models.py:980
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"
@@ -601,18 +583,18 @@ msgstr ""
" Si vous avez des questions ou besoin d'assistance, veuillez contacter notre "
"équipe d'assistance à %(support_email)s. "
#: meet/settings.py:215
#: meet/settings.py:224
msgid "English"
msgstr "Anglais"
#: meet/settings.py:216
#: meet/settings.py:225
msgid "French"
msgstr "Français"
#: meet/settings.py:217
#: meet/settings.py:226
msgid "Dutch"
msgstr "Néerlandais"
#: meet/settings.py:218
#: meet/settings.py:227
msgid "German"
msgstr "Allemand"
Binary file not shown.
+96 -111
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-11 17:31+0000\n"
"POT-Creation-Date: 2026-02-26 17:34+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,11 +29,11 @@ msgstr "Rechten"
msgid "Important dates"
msgstr "Belangrijke datums"
#: core/admin.py:132 core/admin.py:275
#: core/admin.py:132 core/admin.py:243
msgid "No owner"
msgstr "Geen eigenaar"
#: core/admin.py:135 core/admin.py:278
#: core/admin.py:135 core/admin.py:246
msgid "Multiple owners"
msgstr "Meerdere eigenaren"
@@ -61,131 +61,116 @@ 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: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
#: core/admin.py:309
msgid "No scopes"
msgstr "Geen scopes"
#: core/admin.py:343
#: core/admin.py:311
msgid "Scopes"
msgstr "Scopes"
#: core/api/filters.py:25
#: core/api/filters.py:24
msgid "Creator is me"
msgstr "Maker ben ik"
#: core/api/serializers.py:88
#: core/api/serializers.py:84
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:516
#: core/api/serializers.py:443
msgid "This file extension is not allowed."
msgstr "Deze bestandsextensie is niet toegestaan."
#: core/models.py:37
#: core/models.py:35
msgid "Member"
msgstr "Lid"
#: core/models.py:38
#: core/models.py:36
msgid "Administrator"
msgstr "Beheerder"
#: core/models.py:39
#: core/models.py:37
msgid "Owner"
msgstr "Eigenaar"
#: core/models.py:55
#: core/models.py:53
msgid "Initiated"
msgstr "Gestart"
#: core/models.py:56
#: core/models.py:54
msgid "Active"
msgstr "Actief"
#: core/models.py:57
#: core/models.py:55
msgid "Stopped"
msgstr "Gestopt"
#: core/models.py:58
#: core/models.py:56
msgid "Saved"
msgstr "Opgeslagen"
#: core/models.py:59
#: core/models.py:57
msgid "Aborted"
msgstr "Afgebroken"
#: core/models.py:60
#: core/models.py:58
msgid "Failed to Start"
msgstr "Starten mislukt"
#: core/models.py:61
#: core/models.py:59
msgid "Failed to Stop"
msgstr "Stoppen mislukt"
#: core/models.py:62
#: core/models.py:60
msgid "Notification succeeded"
msgstr "Notificatie geslaagd"
#: core/models.py:89
#: core/models.py:87
msgid "SCREEN_RECORDING"
msgstr "SCHERM_OPNAME"
#: core/models.py:90
#: core/models.py:88
msgid "TRANSCRIPT"
msgstr "TRANSCRIPT"
#: core/models.py:96
#: core/models.py:94
msgid "Public Access"
msgstr "Openbare toegang"
#: core/models.py:97
#: core/models.py:95
msgid "Trusted Access"
msgstr "Vertrouwde toegang"
#: core/models.py:98
#: core/models.py:96
msgid "Restricted Access"
msgstr "Beperkte toegang"
#: core/models.py:110
#: core/models.py:108
msgid "id"
msgstr "id"
#: core/models.py:111
#: core/models.py:109
msgid "primary key for the record as UUID"
msgstr "primaire sleutel voor het record als UUID"
#: core/models.py:117
#: core/models.py:115
msgid "created on"
msgstr "aangemaakt op"
#: core/models.py:118
#: core/models.py:116
msgid "date and time at which a record was created"
msgstr "datum en tijd waarop een record werd aangemaakt"
#: core/models.py:123
#: core/models.py:121
msgid "updated on"
msgstr "bijgewerkt op"
#: core/models.py:124
#: core/models.py:122
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:144
#: core/models.py:142
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_ characters."
@@ -193,11 +178,11 @@ msgstr ""
"Voer een geldige sub in. Deze waarde mag alleen letters, cijfers en @/./+/-/"
"_ tekens bevatten."
#: core/models.py:150
#: core/models.py:148
msgid "sub"
msgstr "sub"
#: core/models.py:152
#: core/models.py:150
msgid ""
"Optional for pending users; required upon account activation. 255 characters "
"or fewer. Letters, numbers, and @/./+/-/_ characters only."
@@ -205,55 +190,55 @@ msgstr ""
"Optioneel voor gebruikers in afwachting; vereist bij accountactivering. "
"Maximum 255 tekens. Alleen letters, cijfers en @/./+/-/_ toegestaan."
#: core/models.py:161
#: core/models.py:159
msgid "identity email address"
msgstr "identiteit e-mailadres"
#: core/models.py:166
#: core/models.py:164
msgid "admin email address"
msgstr "beheerder e-mailadres"
#: core/models.py:168
#: core/models.py:166
msgid "full name"
msgstr "volledige naam"
#: core/models.py:170
#: core/models.py:168
msgid "short name"
msgstr "korte naam"
#: core/models.py:176
#: core/models.py:174
msgid "language"
msgstr "taal"
#: core/models.py:177
#: core/models.py:175
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:183
#: core/models.py:181
msgid "The timezone in which the user wants to see times."
msgstr "De tijdzone waarin de gebruiker tijden wil zien."
#: core/models.py:186
#: core/models.py:184
msgid "device"
msgstr "apparaat"
#: core/models.py:188
#: core/models.py:186
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:191
#: core/models.py:189
msgid "staff status"
msgstr "personeelsstatus"
#: core/models.py:193
#: core/models.py:191
msgid "Whether the user can log into this admin site."
msgstr "Of de gebruiker kan inloggen op deze beheersite."
#: core/models.py:196
#: core/models.py:194
msgid "active"
msgstr "actief"
#: core/models.py:199
#: core/models.py:197
msgid ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
@@ -261,64 +246,64 @@ msgstr ""
"Of deze gebruiker als actief moet worden behandeld. Deselecteer dit in "
"plaats van accounts te verwijderen."
#: core/models.py:212
#: core/models.py:210
msgid "user"
msgstr "gebruiker"
#: core/models.py:213
#: core/models.py:211
msgid "users"
msgstr "gebruikers"
#: core/models.py:272
#: core/models.py:270
msgid "Resource"
msgstr "Bron"
#: core/models.py:273
#: core/models.py:271
msgid "Resources"
msgstr "Bronnen"
#: core/models.py:331
#: core/models.py:329
msgid "Resource access"
msgstr "Brontoegang"
#: core/models.py:332
#: core/models.py:330
msgid "Resource accesses"
msgstr "Brontoegangsrechten"
#: core/models.py:338
#: core/models.py:336
msgid "Resource access with this User and Resource already exists."
msgstr "Brontoegang met deze gebruiker en bron bestaat al."
#: core/models.py:394
#: core/models.py:392
msgid "Visio room configuration"
msgstr "Visio-ruimteconfiguratie"
#: core/models.py:395
#: core/models.py:393
msgid "Values for Visio parameters to configure the room."
msgstr "Waarden voor Visio-parameters om de ruimte te configureren."
#: core/models.py:402
#: core/models.py:400
msgid "Room PIN code"
msgstr "Pincode van de kamer"
#: core/models.py:403
#: core/models.py:401
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:409 core/models.py:563
#: core/models.py:407 core/models.py:561
msgid "Room"
msgstr "Ruimte"
#: core/models.py:410
#: core/models.py:408
msgid "Rooms"
msgstr "Ruimtes"
#: core/models.py:574
#: core/models.py:572
msgid "Worker ID"
msgstr "Worker ID"
#: core/models.py:576
#: core/models.py:574
msgid ""
"Enter an identifier for the worker recording.This ID is retained even when "
"the worker stops, allowing for easy tracking."
@@ -326,120 +311,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:584
#: core/models.py:582
msgid "Recording mode"
msgstr "Opnamemodus"
#: core/models.py:585
#: core/models.py:583
msgid "Defines the mode of recording being called."
msgstr "Definieert de modus van opname die wordt aangeroepen."
#: core/models.py:590 core/models.py:591
#: core/models.py:588 core/models.py:589
msgid "Recording options"
msgstr "Opnameopties"
#: core/models.py:597
#: core/models.py:595
msgid "Recording"
msgstr "Opname"
#: core/models.py:598
#: core/models.py:596
msgid "Recordings"
msgstr "Opnames"
#: core/models.py:706
#: core/models.py:704
msgid "Recording/user relation"
msgstr "Opname/gebruiker-relatie"
#: core/models.py:707
#: core/models.py:705
msgid "Recording/user relations"
msgstr "Opname/gebruiker-relaties"
#: core/models.py:713
#: core/models.py:711
msgid "This user is already in this recording."
msgstr "Deze gebruiker is al in deze opname."
#: core/models.py:719
#: core/models.py:717
msgid "This team is already in this recording."
msgstr "Dit team is al in deze opname."
#: core/models.py:725
#: core/models.py:723
msgid "Either user or team must be set, not both."
msgstr "Ofwel gebruiker of team moet worden ingesteld, niet beide."
#: core/models.py:742
#: core/models.py:740
msgid "Create rooms"
msgstr "Ruimtes aanmaken"
#: core/models.py:743
#: core/models.py:741
msgid "List rooms"
msgstr "Ruimtes weergeven"
#: core/models.py:744
#: core/models.py:742
msgid "Retrieve room details"
msgstr "Details van een ruimte ophalen"
#: core/models.py:745
#: core/models.py:743
msgid "Update rooms"
msgstr "Ruimtes bijwerken"
#: core/models.py:746
#: core/models.py:744
msgid "Delete rooms"
msgstr "Ruimtes verwijderen"
#: core/models.py:759
#: core/models.py:757
msgid "Application name"
msgstr "Naam van de applicatie"
#: core/models.py:760
#: core/models.py:758
msgid "Descriptive name for this application."
msgstr "Beschrijvende naam voor deze applicatie."
#: core/models.py:770
#: core/models.py:768
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:781
#: core/models.py:779
msgid "Application"
msgstr "Applicatie"
#: core/models.py:782
#: core/models.py:780
msgid "Applications"
msgstr "Applicaties"
#: core/models.py:805
#: core/models.py:803
msgid "Enter a valid domain"
msgstr "Voer een geldig domein in"
#: core/models.py:808
#: core/models.py:806
msgid "Domain"
msgstr "Domein"
#: core/models.py:809
#: core/models.py:807
msgid "Email domain this application can act on behalf of."
msgstr "E-maildomein namens welke deze applicatie kan handelen."
#: core/models.py:821
#: core/models.py:819
msgid "Application domain"
msgstr "Applicatiedomein"
#: core/models.py:822
#: core/models.py:820
msgid "Application domains"
msgstr "Applicatiedomeinen"
#: core/models.py:840
#: core/models.py:838
msgid "Pending"
msgstr "In afwachting"
#: core/models.py:848
#: core/models.py:846
msgid "Ready"
msgstr "Klaar"
#: core/models.py:854
#: core/models.py:852
msgid "Background image"
msgstr "Achtergrondafbeelding"
#: core/models.py:866
#: core/models.py:864
msgid "title"
msgstr "Titel"
@@ -455,11 +440,11 @@ msgstr "Bestand"
msgid "Files"
msgstr "Bestanden"
#: core/models.py:1000
#: core/models.py:970
msgid "This file is already hard deleted."
msgstr "Dit bestand is al definitief verwijderd."
#: core/models.py:1010
#: core/models.py:980
#, 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."
@@ -595,18 +580,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:215
#: meet/settings.py:224
msgid "English"
msgstr "Engels"
#: meet/settings.py:216
#: meet/settings.py:225
msgid "French"
msgstr "Frans"
#: meet/settings.py:217
#: meet/settings.py:226
msgid "Dutch"
msgstr "Nederlands"
#: meet/settings.py:218
#: meet/settings.py:227
msgid "German"
msgstr "Duits"
@@ -72,8 +72,7 @@ export const RecordingDownload = () => {
if (
data.status !== RecordingStatus.Saved &&
data.status !== RecordingStatus.NotificationSucceed &&
data.status !== RecordingStatus.FailedToStop
data.status !== RecordingStatus.NotificationSucceed
) {
return <ErrorScreen title={t('unsaved.title')} body={t('unsaved.body')} />
}
+1 -1
View File
@@ -132,7 +132,7 @@ spec:
/usr/bin/mc admin config set meet notify_webhook:meet-webhook endpoint="https://meet.127.0.0.1.nip.io/api/v1.0/recordings/storage-hook/" auth_token="Bearer password" && \
/usr/bin/mc admin service restart meet --wait --json && \
sleep 15 && \
/usr/bin/mc event add meet/meet-media-storage arn:minio:sqs::meet-webhook:webhook --event put && \
/usr/bin/mc event add meet/meet-media-storage arn:minio:sqs::meet-webhook:webhook --event put --prefix "recordings" && \
exit 0
restartPolicy: Never
backoffLimit: 1