From 6a64b3da86da1fcbd22399bf6ff3406c97b1d208 Mon Sep 17 00:00:00 2001
From: Lucas Brandstaetter <lucas@brandstaetter.tech>
Date: Sat, 7 Dec 2024 00:44:45 +0100
Subject: [PATCH] Update translation keys in backoffice

The translation keys have been updated to use split words with
underscores, this allows cspell to recognize them as separate words.
---
 .project-dictionary.txt                       |   3 +
 src/backoffice/forms/assemblies.py            |   8 +-
 src/backoffice/forms/rooms.py                 |  22 +-
 .../locale/de/LC_MESSAGES/django.po           | 279 +++++++++---------
 .../locale/en/LC_MESSAGES/django.po           | 279 +++++++++---------
 .../backoffice/activitylog_card.html          |  16 +-
 .../backoffice/assembly_additionalfields.html |   2 +-
 .../templates/backoffice/assembly_auth.html   |   2 +-
 .../backoffice/assembly_auth_app.html         |   2 +-
 ...basicdata.html => assembly_base_data.html} |   0
 .../templates/backoffice/assembly_create.html |   4 +-
 .../templates/backoffice/assembly_edit.html   |  24 +-
 .../backoffice/assembly_edit_header.html      |   2 +-
 .../backoffice/assembly_editlinks.html        |   6 +-
 .../templates/backoffice/assembly_events.html |   2 +-
 .../templates/backoffice/assembly_list.html   |   4 +-
 .../backoffice/assembly_members_edit.html     |   2 +-
 .../templates/backoffice/assembly_room.html   |   2 +-
 .../backoffice/assembly_room_mgmt.html        |   6 +-
 .../backoffice/assembly_vouchers.html         |   6 +-
 ...ssemblyteam_assembly_additionalfields.html |   2 +-
 .../assemblyteam_assembly_detail.html         |  30 +-
 .../assemblyteam_edithierarchy.html           |   4 +-
 .../backoffice/assemblyteam_editposition.html |  16 +-
 .../backoffice/assemblyteam_editstate.html    |   4 +-
 src/backoffice/templates/backoffice/base.html |   2 +-
 .../event/components/list_script.js           |   2 +-
 .../templates/backoffice/index.html           |  12 +-
 .../templates/backoffice/login.html           |   2 +-
 .../templates/backoffice/map_floor_list.html  |   2 +-
 .../templates/backoffice/map_poi_list.html    |   2 +-
 .../moderation_assembly-detail.html           |   4 +-
 .../backoffice/moderation_assembly-list.html  |   4 +-
 .../backoffice/moderation_badge-list.html     |   2 +-
 .../backoffice/moderation_board-list.html     |   2 +-
 .../backoffice/moderation_event-detail.html   |   2 +-
 .../backoffice/moderation_user-list.html      |   2 +-
 .../backoffice/moderation_wiki-list.html      |   2 +-
 .../project/components/list_script.js         |   2 +-
 .../templates/backoffice/room-new.html        |  44 +--
 .../templates/backoffice/schedules_index.html |   2 +-
 .../templates/backoffice/sos_create_edit.html |   2 +-
 .../templates/backoffice/wiki_lock_list.html  |   4 +-
 .../backoffice/wiki_page_detail.html          |  22 +-
 .../registration/registration_form.html       |   4 +-
 .../registration/reset_password_done.html     |   2 +-
 .../templates/registration/signup_done.html   |   6 +-
 src/backoffice/views/assemblies/assemblies.py |  24 +-
 src/backoffice/views/assemblies/auth.py       |   4 +-
 src/backoffice/views/assemblies/rooms.py      |   4 +-
 src/backoffice/views/assemblyteam.py          |  20 +-
 src/backoffice/views/mixins.py                |   2 +-
 src/backoffice/views/profile.py               |   2 +-
 src/backoffice/views/wiki.py                  |   8 +-
 src/core/management/commands/serviceusers.py  |   4 +-
 55 files changed, 460 insertions(+), 463 deletions(-)
 rename src/backoffice/templates/backoffice/{assembly_basicdata.html => assembly_base_data.html} (100%)

diff --git a/.project-dictionary.txt b/.project-dictionary.txt
index 57b8c2c4f..99df3cae3 100644
--- a/.project-dictionary.txt
+++ b/.project-dictionary.txt
@@ -2,6 +2,7 @@ activitypub
 Andi
 ASGI
 backoffice
+bigbluebutton
 BIGBLUEBUTTON
 blocktranslate
 clonbares
@@ -16,6 +17,7 @@ dereferrer
 Dereferrer
 Disclaimern
 Einlöseseite
+emph
 endblocktranslate
 endfor
 endspaceless
@@ -55,6 +57,7 @@ Roang
 Screensharing
 Shadowbanned
 Shibboleet
+unhide
 Vorlesungsraum
 Vorlesungssaal
 yesno
diff --git a/src/backoffice/forms/assemblies.py b/src/backoffice/forms/assemblies.py
index c05414691..810ef2452 100644
--- a/src/backoffice/forms/assemblies.py
+++ b/src/backoffice/forms/assemblies.py
@@ -38,7 +38,7 @@ class AssemblyCreateForm(forms.ModelForm):
             self.add_error('disclaimer', _('Assembly__disclaimer-needed'))
 
         if (slug := self.cleaned_data.get('slug')) and Assembly.objects.filter(conference=self._conference, slug=slug).exists():
-            self.add_error('slug', _('Assembly__slug__alreadyexists'))
+            self.add_error('slug', _('Assembly__slug__already_exists'))
 
         # ensure Assembly's conference is set before saving
         self.instance.conference = self._conference
@@ -108,7 +108,7 @@ class AssemblyEditForm(TranslatedFieldsForm):
 
         split_tags = tags.split(',')
         if tags is not None and len(split_tags) == 1 and len(tags.split(' ')) > 2:
-            raise ValidationError(_('Assembly__tags__splitwithcomma'))
+            raise ValidationError(_('Assembly__tags__split_with_comma'))
 
         for tag in split_tags:
             stripped_tag = tag.strip()
@@ -123,7 +123,7 @@ class AssemblyEditForm(TranslatedFieldsForm):
         # slug must not already exist in the conference
         slug = self.cleaned_data.get('slug')
         if slug is not None and Assembly.objects.filter(conference=self.instance.conference, slug=slug).exclude(pk=self.instance.pk).exists():
-            self.add_error('slug', _('Assembly__slug__alreadyexists'))
+            self.add_error('slug', _('Assembly__slug__already_exists'))
 
 
 class AssemblyApplicationAddForm(forms.Form):
@@ -158,4 +158,4 @@ class AssemblyMemberEditForm(forms.ModelForm):
         a = self.instance.assembly
         m = self.instance.member
         if not self.cleaned_data['can_manage_assembly'] and not a.members.exclude(member=m).filter(can_manage_assembly=True):
-            self.add_error('can_manage_assembly', _('AssemblyMember__needamanager'))
+            self.add_error('can_manage_assembly', _('AssemblyMember__need_a_manager'))
diff --git a/src/backoffice/forms/rooms.py b/src/backoffice/forms/rooms.py
index 77e7d009f..21d9e9112 100644
--- a/src/backoffice/forms/rooms.py
+++ b/src/backoffice/forms/rooms.py
@@ -28,7 +28,7 @@ class AssemblyRoomCreateForm(forms.Form):
             return cleaned_data
 
         if self.assembly.rooms.filter(name=cleaned_data['name']).exists():
-            raise ValidationError({'name': _('Room-duplicatename')})
+            raise ValidationError({'name': _('Room__duplicate_name')})
 
         return cleaned_data
 
@@ -74,7 +74,7 @@ class AssemblyRoomCreateGenericForm(AssemblyRoomCreateForm):
 
 
 class AssemblyRoomCreateBigBlueButtonForm(AssemblyRoomCreateForm):
-    capacity = forms.IntegerField(min_value=0, initial=0, label=_('Room-bigbluebutton_capacity'), help_text=_('Room-bigbluebutton_capacity__help'))
+    capacity = forms.IntegerField(min_value=0, initial=0, label=_('Room__bigbluebutton_capacity'), help_text=_('Room__bigbluebutton_capacity__help'))
 
     def create_room(self, request):
         room = self._create_room(
@@ -99,7 +99,7 @@ class AssemblyRoomCreateHangarForm(AssemblyRoomCreateForm):
         cleaned_data = super().clean(*args, **kwargs)
 
         if not Hangar.can_create_for_assembly(self.assembly):
-            raise ValidationError(_('Room-new-hangar__unavailable'))
+            raise ValidationError(_('Room__new-hangar__unavailable'))
 
         return cleaned_data
 
@@ -134,11 +134,11 @@ class AssemblyRoomEditForm(TranslatedFieldsForm):
         if self.instance.room_type not in Room.TYPES_WITH_CAPACITY:
             del self.fields['capacity']
         elif self.instance.room_type == Room.RoomType.BIGBLUEBUTTON:
-            self.fields['capacity'].label = _('Room-bigbluebutton_capacity')
-            self.fields['capacity'].help_text = _('Room-bigbluebutton_capacity__help')
+            self.fields['capacity'].label = _('Room__bigbluebutton_capacity')
+            self.fields['capacity'].help_text = _('Room__bigbluebutton_capacity__help')
 
             if self.instance.backend_status == Room.BackendStatus.ACTIVE:
-                self.fields['capacity'].help_text += ' ' + _('Room-bigbluebutton__activeroom')
+                self.fields['capacity'].help_text += ' ' + _('Room__bigbluebutton__active_room')
                 self.fields['capacity'].disabled = True
 
         if self.instance.room_type in [Room.RoomType.HANGAR]:
@@ -151,7 +151,7 @@ class AssemblyRoomEditForm(TranslatedFieldsForm):
 
     def clean_name(self):
         if Room.objects.filter(assembly=self.instance.assembly, name=self.cleaned_data['name']).exclude(pk=self.instance.pk).exists():
-            raise ValidationError(_('Room-name-assembly-unique'))
+            raise ValidationError(_('Room__name-assembly-unique'))
 
         # update slug to be based on the new name iff the name changed.
         if self.instance.name != self.cleaned_data['name']:
@@ -173,10 +173,10 @@ class AssemblyRoomEditForm(TranslatedFieldsForm):
         try:
             capacity = int(capacity)
         except ValueError:
-            raise ValidationError(_('Room-capacity-invalid'))
+            raise ValidationError(_('Room__capacity-invalid'))
 
         if capacity < 0:
-            raise ValidationError(_('Room-capacity-negative'))
+            raise ValidationError(_('Room__capacity-negative'))
         return capacity
 
     def save(self, commit=False):
@@ -200,8 +200,8 @@ class AssemblyRoomEditHangarForm(TranslatedFieldsForm):
     def __init__(self, *args, with_capacity: bool = False, schedule_admin: bool = False, **kwargs):
         super().__init__(*args, **kwargs)
         self.fields['backend_status'].disabled = True
-        self.fields['backend_link'].label = _('Room-hangar_backend_link')
-        self.fields['backend_link'].help_text = _('Room-hangar_backend_link__help')
+        self.fields['backend_link'].label = _('Room__hangar_backend_link')
+        self.fields['backend_link'].help_text = _('Room__hangar_backend_link__help')
         self.fields['backend_link'].disabled = True
 
 
diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po
index a146e4932..06746f9da 100644
--- a/src/backoffice/locale/de/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/de/LC_MESSAGES/django.po
@@ -20,16 +20,16 @@ msgstr ""
 msgid "Assembly__disclaimer-needed"
 msgstr "Bitte beachte den Hinweis und bestätige, dass du ihn gelesen und verstanden hast."
 
-msgid "Assembly__slug__alreadyexists"
+msgid "Assembly__slug__already_exists"
 msgstr "Dieser Kurzname wird bereits von einer anderen Assembly benutzt."
 
-msgid "Assembly__tags__splitwithcomma"
+msgid "Assembly__tags__split_with_comma"
 msgstr "Mehrere Tags bitte mit einem Komma trennen."
 
 msgid "username"
 msgstr "Benutzername"
 
-msgid "AssemblyMember__needamanager"
+msgid "AssemblyMember__need_a_manager"
 msgstr "Mindestens ein Mitglied muss die Assembly verwalten können!"
 
 msgid "AssemblyTeam__message__subject"
@@ -68,52 +68,52 @@ msgstr "'dd.mm.YYYY HH:MM' oder 'YYYY-mm-dd HH:MM'"
 msgid "Event__room"
 msgstr "Raum"
 
-msgid "Room-duplicatename"
+msgid "Room__duplicate_name"
 msgstr "Ein Raum mit diesem Namen existiert bereits."
 
-msgid "Room-bigbluebutton_capacity"
+msgid "Room__bigbluebutton_capacity"
 msgstr "Teilnehmenden-Limit"
 
-msgid "Room-bigbluebutton_capacity__help"
+msgid "Room__bigbluebutton_capacity__help"
 msgstr "maximale Anzahl an Teilnehmenden, setze 0 für 'kein Limit' (bzw. Server-Limit)"
 
-msgid "Room-new-hangar__unavailable"
+msgid "Room__new-hangar__unavailable"
 msgstr "nur eine Ablage pro Assembly"
 
-msgid "Room-bigbluebutton__activeroom"
+msgid "Room__bigbluebutton__active_room"
 msgstr "Der Raum ist aktiv. BBB unterstützt keine Kapazitätsänderung im laufenden Betrieb :("
 
-msgid "Room-name-assembly-unique"
+msgid "Room__name-assembly-unique"
 msgstr "Raumnamen dürfen innerhalb einer Assembly nicht wiederverwendet werden"
 
-msgid "Room-capacity-invalid"
+msgid "Room__capacity-invalid"
 msgstr "Ungültige Eingabe"
 
-msgid "Room-capacity-negative"
+msgid "Room__capacity-negative"
 msgstr "Raumkapazität darf nicht negativ sein"
 
-msgid "Room-hangar_backend_link"
+msgid "Room__hangar_backend_link"
 msgstr "Hangar-Zugriff"
 
-msgid "Room-hangar_backend_link__help"
+msgid "Room__hangar_backend_link__help"
 msgstr "Private FTP-Zugang um Dateien im Hangar abzulegen"
 
-msgid "activitylog_visibleentries_all"
+msgid "ActivityLog__visible_entries__all"
 msgstr "alle Einträge"
 
-msgid "activitylog_visibleentries_msg"
+msgid "ActivityLog__visible_entries__msg"
 msgstr "nur mit Notiz"
 
-msgid "activitylog_addcomment"
+msgid "ActivityLog_add_comment"
 msgstr "Kommentar (als Log-Eintrag) hinzufügen"
 
 msgid "ActivityLogEntries"
 msgstr "Activity Log Einträge"
 
-msgid "activitylog_addcomment_help"
+msgid "ActivityLog_add_comment_help"
 msgstr "Kommentar, der im Log-Eintrag vermerkt wird (nur für Orga sichtbar):"
 
-msgid "activitylog_addcomment_do"
+msgid "ActivityLog_add_comment_do"
 msgstr "Speichern"
 
 msgid "assembly_children"
@@ -156,7 +156,7 @@ msgstr "Bearbeiten"
 msgid "Invitation__Habitat__action__withdraw"
 msgstr "Zurückziehen"
 
-msgid "assembly_additionalfield_required"
+msgid "Assembly__additional_field__required"
 msgstr "Dieses Feld darf nicht leer bleiben."
 
 msgid "Assembly__authentication"
@@ -195,10 +195,10 @@ msgstr "Client-Typ"
 msgid "Assembly__authentication-grant_type"
 msgstr "Grant-Typ"
 
-msgid "Assembly__authentication__newapp"
+msgid "Assembly__authentication__new_app"
 msgstr "neue Applikation"
 
-msgid "Assembly__authentication__nonpublicassembly"
+msgid "Assembly__authentication__non_public_assembly"
 msgstr "Bitte beachte, dass du die Applikation(en) dieser Assembly noch nicht nutzen kannst weil diese noch nicht freigeschaltet wurde. Das soll dich aber nicht davon abhalten, schon einmal alles zu konfigurieren!"
 
 msgid "save"
@@ -341,13 +341,13 @@ msgstr "Nein"
 msgid "Assembly__state"
 msgstr ""
 
-msgid "assemblycreate_title"
+msgid "Assembly__create__title"
 msgstr "Details der neuen Assembly, der Bühne oder des Channels"
 
 msgid "Assembly__registration__closed"
 msgstr "Neue Assembly Anmeldungen für diese Konferenz sind nicht mehr möglich."
 
-msgid "assemblycreate_submitbtn"
+msgid "Assembly__create__submit_btn"
 msgstr "Anlegen & Weiter"
 
 msgid "Assembly__parent_leave_modal__warning__header"
@@ -410,34 +410,34 @@ msgstr "Habitat verlassen"
 msgid "assembly__parent__request"
 msgstr "Antrag auf Beitritt zu einem Habitat"
 
-msgid "assemblyedit_basicdata"
+msgid "Assembly__edit__base_data"
 msgstr "Allgemeine Angaben"
 
-msgid "assemblyedit_readonlybasedata"
+msgid "Assembly__edit__read_only_base_data"
 msgstr "Manche Felder sind schreibgeschützt da die Assembly bereits platziert/verarbeitet wurde."
 
-msgid "assemblyedit_additionalfields"
+msgid "Assembly__edit__additional_fields"
 msgstr "Zusätzliche Angaben"
 
-msgid "assemblyedit_links"
+msgid "Assembly__edit__links"
 msgstr "Befreundete Assemblies"
 
-msgid "assemblyedit_addlink_info"
+msgid "Assembly__edit__link__add_info"
 msgstr "Du kannst andere Assemblies verlinken. Diese Information wird vom Assembly-Team genutzt um deine Assembly möglichst nahe bei den befreundeten Assemblies zu platzieren. Nur bereits akzeptierte Assemblies und Assemblies in denen du Mitglied bist können ausgewählt werden."
 
-msgid "assemblyedit_links__intro"
+msgid "Assembly__edit__links__intro"
 msgstr "Ihr fühlt euch einer anderen Assembly verbunden, möchtet eure Buddies in der Nähe haben? Lasst uns wissen wer sie sind!"
 
-msgid "opensinnewpage"
+msgid "opens_in_new_page"
 msgstr "öffnet in neuem Fenster/Tab"
 
-msgid "assemblyedit_children"
+msgid "Assembly__edit__children"
 msgstr "Zugeordnete Assemblies"
 
-msgid "assemblyedit_submitbtn"
+msgid "Assembly__edit__submit_btn"
 msgstr "Speichern"
 
-msgid "assemblyedit_staffmode"
+msgid "Assembly__edit__staff_mode"
 msgstr "Du bearbeitest diese Assembly in deiner Assembly-Orga-Funktion - mit großer Macht kommt große Verantwortung!"
 
 msgid "Assembly__edit_children__invite_assembly__title"
@@ -452,7 +452,7 @@ msgstr "bitte wählen"
 msgid "Assembly__habitat__invite"
 msgstr "Assembly einladen"
 
-msgid "assemblyedit_addlink"
+msgid "Assembly__edit__link__add"
 msgstr "Bezug zu anderer Assembly herstellen"
 
 msgid "add"
@@ -542,7 +542,7 @@ msgstr "Zeige _MENU_ Einträge"
 msgid "assembly_search"
 msgstr "Suche:"
 
-msgid "assembly_noentries"
+msgid "assembly_no_entries"
 msgstr "Keine Einträge."
 
 msgid "assembly_paginate_first"
@@ -560,7 +560,7 @@ msgstr "Vorherige"
 msgid "Assemblies"
 msgstr ""
 
-msgid "assemblies_filteredtag"
+msgid "assemblies_filtered_tag"
 msgstr "Es werden nur Assemblies mit dem folgenden Tag angezeigt:"
 
 # use translation from core
@@ -643,7 +643,7 @@ msgstr "Raum"
 msgid "Project"
 msgstr "Projekt"
 
-msgid "Room-new"
+msgid "Room__new"
 msgstr "neuer Raum"
 
 msgid "Room__links"
@@ -685,26 +685,26 @@ msgstr "Schöner Raum und auch so hübsch dekoriert. Wirklich in Schutt und Asch
 msgid "Project__remove__confirm"
 msgstr "Nettes Projekt. Alle Spuren davon (zumindest auf dieser Konferenz) verwischen?"
 
-msgid "Project__remove__notpossible"
+msgid "Project__remove__not_possible"
 msgstr "Hier solltest du das Projekt löschen können aber scheinbar hat das Management etwas dagegen - unklar weswegen. Bitte wende dich an den Support."
 
-msgid "Hangar__remove__notpossible"
+msgid "Hangar__remove__not_possible"
 msgstr "Hangar entfernen benötigt manuelle Interaktion, bitte kontaktiere den Support."
 
-msgid "Room__remove__notpossible"
+msgid "Room__remove__not_possible"
 msgstr "Hier könnte der Raum gelöscht werden, jedoch sind noch Veranstaltungen vorhanden. Lösche zuerst auch diese Veranstaltungen oder entferne die Zuordnung zu diesem Raum."
 
 # use translation from core
 msgid "Vouchers"
 msgstr ""
 
-msgid "assemblyedit__vouchers__explanation"
+msgid "Assembly__edit__vouchers__explanation"
 msgstr "Hier werden für Euch bestimmte Informationen der Orga gelistet, wie zum Beispiel individualisierte Links zu weiteren Systemen oder Zugangscodes. Bitte beachte, dass diese Informationen nicht öffentlich sind und auch nur Verantwortliche der Assembly diese sehen können."
 
-msgid "assemblyedit__vouchers__hidden_data"
+msgid "Assembly__edit__vouchers__hidden_data"
 msgstr "Daten zugeordnet, aber nur für berechtigte Mitglieder der Assembly sichtbar."
 
-msgid "assemblyedit__vouchers__not_assigned"
+msgid "Assembly__edit__vouchers__not_assigned"
 msgstr "(Noch?) Keine Daten zugeordnet."
 
 msgid "Assembly__registration_data"
@@ -716,53 +716,53 @@ msgstr "Deutsch"
 msgid "english"
 msgstr "Englisch"
 
-msgid "assemblyedit_statebtn_registered"
+msgid "Assembly__edit__state_btn_registered"
 msgstr "registriert"
 
-msgid "assemblyedit_statebtn_reject"
+msgid "Assembly__edit__state_btn_reject"
 msgstr "ablehnen"
 
-msgid "assemblyedit_statebtn_accept"
+msgid "Assembly__edit__state_btn_accept"
 msgstr "akzeptieren"
 
-msgid "assemblyedit_statebtn_hidden"
+msgid "Assembly__edit__state_btn_hidden"
 msgstr "verstecken"
 
-msgid "assemblyedit_statebtn_rejected2registered"
+msgid "Assembly__edit__state_btn_rejected2registered"
 msgstr "doch in Erwägung ziehen"
 
-msgid "assemblyedit_statebtn_placed"
+msgid "Assembly__edit__state_btn_placed"
 msgstr "platziert"
 
-msgid "assemblyedit_statebtn_arrived"
+msgid "Assembly__edit__state_btn_arrived"
 msgstr "angekommen (eigene Aussage)"
 
-msgid "assemblyedit_statebtn_confirmed"
+msgid "Assembly__edit__state_btn_confirmed"
 msgstr "angekommen (bestätigt)"
 
-msgid "assemblyedit_statebtn_public2registered"
+msgid "Assembly__edit__state_btn_public2registered"
 msgstr "Veröffentlichung zurücknehmen"
 
-msgid "assemblyteam-editassembly"
+msgid "AssemblyTeam__edit_assembly"
 msgstr "Assembly bearbeiten"
 
-msgid "assemblyteam-message"
+msgid "AssemblyTeam__message"
 msgstr "Nachricht senden"
 
-msgid "assemblyteam_lastnote"
+msgid "AssemblyTeam__lastnote"
 msgstr "letzte Notiz"
 
-msgid "assemblyedit_hierarchy"
+msgid "Assembly__edit__hierarchy"
 msgstr "Hierarchie/Art der Assembly ändern"
 
 # use translation from core
 msgid "Assembly__slug"
 msgstr ""
 
-msgid "assemblyteam_addcomment_field"
+msgid "AssemblyTeam__add_comment_field"
 msgstr "Kommentar für Log-Eintrag (nur für Orga):"
 
-msgid "assemblyedit_position"
+msgid "Assembly__edit__position"
 msgstr "Position bearbeiten"
 
 # use translation from core
@@ -777,25 +777,25 @@ msgstr ""
 msgid "Assembly__location_boundaries"
 msgstr ""
 
-msgid "assemblyedit_position_informassembly"
+msgid "Assembly__edit__position_inform_assembly"
 msgstr "Verwaltende der Assemblies informieren"
 
-msgid "assemblyedit_position_update"
+msgid "Assembly__edit__position_update"
 msgstr "Position aktualisieren"
 
-msgid "assemblyedit_position_recall"
+msgid "Assembly__edit__position_recall"
 msgstr "Veröffentlichung zurücknehmen"
 
-msgid "assemblyedit_position_publish"
+msgid "Assembly__edit__position_publish"
 msgstr "mit Position veröffentlichen"
 
-msgid "assemblyedit_position_save_unpublished"
+msgid "Assembly__edit__position_save_unpublished"
 msgstr "Position vormerken"
 
-msgid "assemblyedit_position_save_unaccepted"
+msgid "Assembly__edit__position_save_unaccepted"
 msgstr "Position für nicht akzeptierte Assembly speichern"
 
-msgid "assemblyedit_state"
+msgid "Assembly__edit__state"
 msgstr "Anmelde-Status der Assembly ändern"
 
 msgid "AssemblyTeam__message__title"
@@ -816,7 +816,7 @@ msgstr "Nachrichten Empfänger"
 msgid "AssemblyTeam__message__send_button"
 msgstr "Nachricht versenden"
 
-msgid "nav_activetab_srmarker"
+msgid "nav_active_tab_sr_marker"
 msgstr "(ausgewählt)"
 
 msgid "title_suffix"
@@ -967,7 +967,7 @@ msgstr "offiziell"
 msgid "Event__last_update"
 msgstr "letzte Änderung"
 
-msgid "myassemblies"
+msgid "my_assemblies"
 msgstr "Meine Assemblies"
 
 msgid "assembly_name"
@@ -976,10 +976,10 @@ msgstr "Name"
 msgid "assembly_state"
 msgstr "Status"
 
-msgid "assemblycreate"
+msgid "assembly_create"
 msgstr "Neue Assembly anmelden"
 
-msgid "assemblycreate_deadlineexceeded"
+msgid "Assembly__create__deadline_exceeded"
 msgstr "Registrierung nicht mehr möglich"
 
 msgid "welcome_text"
@@ -1012,7 +1012,7 @@ msgstr "Hier loggst du dich im Maschinenraum ein. Dieser ist zur Verwaltung <emp
 msgid "login_introduction2"
 msgstr "Der Account den du hier nutzt kannst (nicht: musst) du später für den Zugriff auf die Konferenz-Plattform nutzen sobald du ein Konferenz-Ticket damit verknüpft hast (dafür kommt aus dem Ticket-Tool zu gegebener Zeit ein entsprechender Link)."
 
-msgid "registration_signup"
+msgid "registration_sign_up"
 msgstr "Noch keinen Account?"
 
 msgid "registration_password_reset_link"
@@ -1065,10 +1065,10 @@ msgstr ""
 msgid "moderation__public_link"
 msgstr "öffentliche Ansicht"
 
-msgid "moderation__notpublic"
+msgid "moderation__not_public"
 msgstr "nicht veröffentlicht"
 
-msgid "moderation__assembly__cannotunhide"
+msgid "moderation__assembly__cannot_unhide"
 msgstr "Eine versteckte Assembly muss vom Assembly-Team wieder in den passenden Status zurückversetzt werden (multiple Optionen)."
 
 msgid "Assembly__last_update"
@@ -1321,67 +1321,67 @@ msgstr "Projekt löschen"
 msgid "Project__delete__introduction"
 msgstr "Hiermit wird das Projekt gelöscht und alle Daten gehen verloren. Sicher?"
 
-msgid "Room-new-bbb"
+msgid "Room__new-bbb"
 msgstr "BigBlueButton"
 
-msgid "Room-new-bbb__help"
+msgid "Room__new-bbb__help"
 msgstr "Lege einen Konferenzraum für Audio- und Video-Chat sowie Whiteboards und Screensharing an."
 
-msgid "Room-new-bbb__create"
+msgid "Room__new-bbb__create"
 msgstr "Anlegen"
 
-msgid "Room-new-bbb__unavailable"
+msgid "Room__new-bbb__unavailable"
 msgstr "BBB nicht verfügbar."
 
-msgid "Room-new-hangar"
+msgid "Room__new-hangar"
 msgstr "Hangar beziehen"
 
-msgid "Room-new-hangar__help"
+msgid "Room__new-hangar__help"
 msgstr "Dateiablage für Assembly-Inhalte erstellen."
 
-msgid "Room-new-hangar__create"
+msgid "Room__new-hangar__create"
 msgstr "Anlegen"
 
-msgid "Room-new-lecturehall"
+msgid "Room__new-lecture_hall"
 msgstr "Vorlesungsraum"
 
-msgid "Room-new-lecturehall__help"
+msgid "Room__new-lecture_hall__help"
 msgstr "Biete einen physikalischen Vorlesungssaal für Veranstaltungen an."
 
-msgid "Room-new-lecturehall__create"
+msgid "Room__new-lecture_hall__create"
 msgstr "Haben wir."
 
-msgid "Room-new-lecturehall__unavailable"
+msgid "Room__new-lecture_hall__unavailable"
 msgstr "Anlage derzeit nicht möglich."
 
-msgid "Room-new-stage"
+msgid "Room__new-stage"
 msgstr "Bühne"
 
-msgid "Room-new-stage__help"
+msgid "Room__new-stage__help"
 msgstr "Biete eine physikalische Bühne vor Vorträge an."
 
-msgid "Room-new-stage__create"
+msgid "Room__new-stage__create"
 msgstr "Anbieten"
 
-msgid "Room-new-stage__unavailable"
+msgid "Room__new-stage__unavailable"
 msgstr "Anlage derzeit nicht möglich."
 
-msgid "Room-new-workshop"
+msgid "Room__new-workshop"
 msgstr "Workshop-Raum"
 
-msgid "Room-new-workshop__help"
+msgid "Room__new-workshop__help"
 msgstr "Ein Platz für Workshops: ihr habt da etwas im Angebot?"
 
-msgid "Room-new-workshop__create"
+msgid "Room__new-workshop__create"
 msgstr "Haben wir \\o/"
 
-msgid "Room-new-workshop__unavailable"
+msgid "Room__new-workshop__unavailable"
 msgstr "Anlage derzeit nicht möglich."
 
-msgid "Room-new-other__create"
+msgid "Room__new-other__create"
 msgstr "sonstigen Raum anlegen"
 
-msgid "backoffice_schedules_tabularview"
+msgid "backoffice_schedules_tabular_view"
 msgstr "tabellarische Ansicht"
 
 # use translation from core
@@ -1469,7 +1469,7 @@ msgstr "Event-Daten"
 msgid "Event__edit-publishing"
 msgstr "Veröffentlichung"
 
-msgid "Event__publisheddata-current"
+msgid "Event__published_data__current"
 msgstr "aktuelle Veröffentlichungs-Details"
 
 # use translation from core
@@ -1491,10 +1491,10 @@ msgstr "Self-organized Session löschen"
 msgid "SoS__delete__introduction"
 msgstr "Hiermit wird diese Self-organized Session gelöscht. Wenn du sie nur unsichtbar machen möchtest gibt es weiter oben die Möglichkeit die Self-organized Session zurückzunehmen!"
 
-msgid "StaticPage-lockdrop"
+msgid "StaticPage-lock_drop"
 msgstr "Seitensperre aufheben"
 
-msgid "StaticPage-lockdrop__help"
+msgid "StaticPage-lock_drop__help"
 msgstr "Die Seitensperre wird entfernt. Dies ermöglicht anderen Nutzern das Bearbeiten, wird beim aktuellen Bearbeiter jedoch zu einem Fehler führen!"
 
 msgid "Locks"
@@ -1521,35 +1521,32 @@ msgstr "Zeitpunkt"
 msgid "StaticPageRevision__author"
 msgstr "Autor"
 
-msgid "StaticPage--delete-confirm"
+msgid "StaticPage__delete-confirm"
 msgstr "Diese Seite und zugehörige Historie wirklich löschen?"
 
-msgid "StaticPage--delete-page"
+msgid "StaticPage__delete-page"
 msgstr "Seite löschen"
 
-msgid "StaticPageRevision--delete-confirm"
-msgstr "Diesen Historieneintrag wirklich löschen?"
+msgid "StaticPage__edit__submit_btn"
+msgstr "Speichern"
 
-msgid "StaticPage--revisions"
-msgstr "Versionen"
+msgid "StaticPageRevision__delete-confirm"
+msgstr "Diesen Historieneintrag wirklich löschen?"
 
-msgid "StaticPageRevision--revision"
+msgid "StaticPageRevision__revision"
 msgstr "Version"
 
-msgid "StaticPageRevision--title"
+msgid "StaticPageRevision__title"
 msgstr "Titel"
 
-msgid "StaticPageRevision--author"
-msgstr "Author"
-
-msgid "StaticPageRevision--date"
+msgid "StaticPageRevision__date"
 msgstr "Datum"
 
-msgid "StaticPageRevision--delete"
+msgid "StaticPageRevision__delete"
 msgstr "Historieneintrag löschen"
 
 #, python-format
-msgid "StaticPage--preview %(object.public_revision)s"
+msgid "StaticPage__preview %(object.public_revision)s"
 msgstr "Aktuell veröffentlichte Version: %(object.public_revision)s"
 
 msgid "StaticPage__last_edited_by"
@@ -1579,10 +1576,10 @@ msgstr "Passwortwiederherstellungslink ungültig. Bitte erneut versuchen."
 msgid "password_reset_btn"
 msgstr "Ändern"
 
-msgid "registration_signup_title"
+msgid "registration_sign_up_title"
 msgstr "Account anlegen"
 
-msgid "registration_signup_btn"
+msgid "registration_sign_up_btn"
 msgstr "Registrieren"
 
 msgid "registration_reset_password_complete_title"
@@ -1600,51 +1597,51 @@ msgstr "Passwortwiederherstellung"
 msgid "registration_reset_password_done"
 msgstr "Account angelegt"
 
-msgid "registration_reset_password_mailsent"
+msgid "registration_reset_password_mail_sent"
 msgstr "Eine E-Mail mit einem Wiederherstellungs-Link wurde an die angegebene E-Mail-Adresse gesendet. Bitte prüfe deine Inbox und öffne den in der Mail enthaltenen Link um deinen Account zu wiederherzustellen."
 
-msgid "registration_signup_done"
+msgid "registration_sign_up_done"
 msgstr "Account angelegt"
 
-msgid "registration_signup_mailsent"
+msgid "registration_sign_up_mail_sent"
 msgstr "Eine E-Mail mit einem Aktivierungs-Link wurde an die angegebene E-Mail-Adresse gesendet. Bitte prüfe deine Inbox und öffne den in der Mail enthaltenen Link um deinen Account zu aktivieren."
 
 msgid "assembly__created"
 msgstr "Assembly wurde angelegt. Bitte fülle die weiteren Felder aus um die Registrierung abzuschließen."
 
-msgid "assemblyedit_cfintbelowmin"
+msgid "Assembly__edit__cf_int_below_min"
 msgstr "Der Wert des Feldes war zu klein, er wurde auf den kleinstmöglichen Wert geändert:"
 
-msgid "assemblyedit_cfintabovemax"
+msgid "Assembly__edit__cf_int_above_max"
 msgstr "Der Wert des Feldes war zu groß, er wurde auf den größtmöglichen Wert reduziert:"
 
-msgid "assemblyedit_cfinterror"
+msgid "Assembly__edit__cf_int_error"
 msgstr "Wert des Feldes ist keine Zahl, wurde entfernt:"
 
-msgid "assemblyedit_cfdateerror"
+msgid "Assembly__edit__cf_date_error"
 msgstr "Der Wert des Feldes war keine lesbare Datumsangabe:"
 
-msgid "assemblyedit_cfdaterangeerror"
+msgid "Assembly__edit__cf_date_range_error"
 msgstr "Das gewählte Datum lag außerhalb des gültigen Bereichs, es wurde angepasst:"
 
-msgid "assemblyedit_cfoption_missingdetails"
+msgid "Assembly__edit__cf_option_missing_details"
 msgstr "Fehlende Details bei einem Feld:"
 
-msgid "assemblyedit__success"
+msgid "Assembly__edit__success"
 msgstr "Deine Assembly-Anmeldung wurde aktualisiert. Vielen Dank!"
 
 #, python-format
 msgid "AssemblyLink__assembly__not_found %s"
 msgstr "Die Assembly ‚%s‘ konnte nicht gefunden werden, der Link kann nicht hinzugefügt werden!"
 
-msgid "assemblyedit_addedlink"
+msgid "Assembly__edit__link__added"
 msgstr "Bezug zur Assembly '{linked_name}' wurde vermerkt."
 
 #, python-format
 msgid "AssemblyLink__link__not_found %s"
 msgstr "Konnte den Link mit der ID ‚%s‘ nicht finden, kann nicht entfernt werden!"
 
-msgid "assemblyedit_removedlink"
+msgid "Assembly__edit__link__removed"
 msgstr "Bezug zur Assembly '{linked_name}' wurde entfernt."
 
 msgid "Assembly__parent_leave__msg_no_parent"
@@ -1654,10 +1651,10 @@ msgstr "Konnte Habitat nicht verlassen, da derzeit die Assembly derzeit mit kein
 msgid "Assembly__parent_leave__msg_success {name}"
 msgstr "Habitat '{name}' wurde erfolgreich verlassen!"
 
-msgid "Application__newclientsecret"
+msgid "Application__new_client_secret"
 msgstr "Für die OAuth2-Applikation wurde ein \"Client Secret\" generiert, dieses wird nur einmal angezeigt daher merke es dir gut!"
 
-msgid "Assembly__authentication__newtoken"
+msgid "Assembly__authentication__new_token"
 msgstr "Ein neues Token für \"{assembly}\" wurde erstellt, an der API zu verwenden mit \"Authorization: Token {token}\"."
 
 msgid "updated"
@@ -1694,7 +1691,7 @@ msgstr "Unbekannter Benutzer"
 msgid "No %(verbose_name)s found matching the query"
 msgstr "Kein %(verbose_name)s für die gewünschte Abfrage gefunden."
 
-msgid "Room-new-hangar__legal_hint"
+msgid "Room__new-hangar__legal_hint"
 msgstr "Du bestätigst, dass ihr ausschließlich nur solche Inhalte ablegt/veröffentlicht, für die ihr auch die nötigen Lizenzen/Rechte habt. Zuwiderhandlungen können ggf. straf- bzw. zivilrechtliche Folgen haben!"
 
 msgid "internal_error_please_retry"
@@ -1737,7 +1734,7 @@ msgstr "versteckt"
 msgid "lists"
 msgstr "Listen"
 
-msgid "assemblyteam_addcomment_success"
+msgid "AssemblyTeam__add_comment_success"
 msgstr "Kommentar wurde als Log-Eintrag gespeichert."
 
 # use translation from core
@@ -1749,13 +1746,13 @@ msgstr ""
 msgid "Assembly__{fld}"
 msgstr ""
 
-msgid "assemblyedit_changedstate"
+msgid "Assembly__edit__changed_state"
 msgstr "Status der Assembly wurde geändert."
 
-msgid "assemblyedit_clusterstillhaschildren"
+msgid "Assembly__edit__cluster_still_has_children"
 msgstr "Das Habitat hat noch zugeordnete Assemblies. Bitte trenne diese Zuordnung bevor du das Habitat auflöst."
 
-msgid "assemblyedit_changedhierarchy"
+msgid "Assembly__edit__changed_hierarchy"
 msgstr "Hierarchie der Assembly wurde geändert."
 
 # artefact, ignore
@@ -1763,19 +1760,19 @@ msgstr "Hierarchie der Assembly wurde geändert."
 msgid "Assembly__hierarchy-{new_value}"
 msgstr ""
 
-msgid "assemblyedit_position_error"
+msgid "Assembly__edit__position_error"
 msgstr "Es gab einen Fehler beim Parsen der Position, bitte erneut probieren."
 
-msgid "assemblyedit_position_missingonpublish"
+msgid "Assembly__edit__position_missing_on_publish"
 msgstr "Veröffentlichung abgebrochen: keine Positionsdaten gefunden"
 
-msgid "assemblyedit_position_wasnotpublished"
+msgid "Assembly__edit__position_was_not_published"
 msgstr "Die Assembly war gar nicht veröffentlicht?!"
 
-msgid "assemblyedit_position_unknownaction"
+msgid "Assembly__edit__position_unknown_action"
 msgstr "Unbekannte Aktion, Position wurde dennoch gespeichert."
 
-msgid "assemblyedit_changedposition"
+msgid "Assembly__edit__changed_position"
 msgstr "Position der Assembly wurde aktualisiert"
 
 #, python-format
@@ -1929,7 +1926,7 @@ msgstr "Projekte"
 msgid "PlatformUsers"
 msgstr "Nutzer"
 
-msgid "userprofile_updated"
+msgid "user_profile_updated"
 msgstr "Benutzerprofil aktualisiert"
 
 #, python-format
@@ -1970,14 +1967,14 @@ msgstr "Sperre bestand nicht mehr."
 msgid "Lock-dropped"
 msgstr "Sperre aufgehoben."
 
-msgid "StaticPage--changedmetadata"
+msgid "StaticPage__metadata_changed"
 msgstr "Parameter der Wiki-Seite geändert"
 
-msgid "StaticPage--notchangedmetadata"
+msgid "StaticPage__metadata_not_changed"
 msgstr "Änderung der Parameter der Wiki-Seite fehlgeschlagen"
 
-msgid "StaticPage--deleted"
+msgid "StaticPage__deleted"
 msgstr "Statische Seite und zugehörige Historie gelöscht."
 
-msgid "StaticPageRevision--deleted"
+msgid "StaticPageRevision__deleted"
 msgstr "Historieneintrag gelöscht."
diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po
index 5853d4bfb..a4b025880 100644
--- a/src/backoffice/locale/en/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/en/LC_MESSAGES/django.po
@@ -20,16 +20,16 @@ msgstr ""
 msgid "Assembly__disclaimer-needed"
 msgstr "Please read the disclaimer and acknowledge that you have understood and will adhere to it."
 
-msgid "Assembly__slug__alreadyexists"
+msgid "Assembly__slug__already_exists"
 msgstr "This slug is already used by another assembly."
 
-msgid "Assembly__tags__splitwithcomma"
+msgid "Assembly__tags__split_with_comma"
 msgstr "Split multiple tags by comma."
 
 msgid "username"
 msgstr ""
 
-msgid "AssemblyMember__needamanager"
+msgid "AssemblyMember__need_a_manager"
 msgstr "At least one member must be able to manage the assembly!"
 
 msgid "AssemblyTeam__message__subject"
@@ -68,52 +68,52 @@ msgstr "YYYY-mm-dd HH:MM"
 msgid "Event__room"
 msgstr "Room"
 
-msgid "Room-duplicatename"
+msgid "Room__duplicate_name"
 msgstr "A room with this name already exists."
 
-msgid "Room-bigbluebutton_capacity"
+msgid "Room__bigbluebutton_capacity"
 msgstr "participant limit"
 
-msgid "Room-bigbluebutton_capacity__help"
+msgid "Room__bigbluebutton_capacity__help"
 msgstr "maximum number of participants, set 0 to disable (or server defaults)"
 
-msgid "Room-new-hangar__unavailable"
+msgid "Room__new-hangar__unavailable"
 msgstr "only one per assembly"
 
-msgid "Room-bigbluebutton__activeroom"
+msgid "Room__bigbluebutton__active_room"
 msgstr "The room is active. BBB doesn't support capacity changes in running rooms :("
 
-msgid "Room-name-assembly-unique"
+msgid "Room__name-assembly-unique"
 msgstr "Room names must be assembly-unique"
 
-msgid "Room-capacity-invalid"
+msgid "Room__capacity-invalid"
 msgstr "invalid value"
 
-msgid "Room-capacity-negative"
+msgid "Room__capacity-negative"
 msgstr "Room capacity cannot be negative"
 
-msgid "Room-hangar_backend_link"
+msgid "Room__hangar_backend_link"
 msgstr "Hangar Access"
 
-msgid "Room-hangar_backend_link__help"
+msgid "Room__hangar_backend_link__help"
 msgstr "your private ftp access to put files on your hangar"
 
-msgid "activitylog_visibleentries_all"
+msgid "ActivityLog__visible_entries__all"
 msgstr "all entries"
 
-msgid "activitylog_visibleentries_msg"
+msgid "ActivityLog__visible_entries__msg"
 msgstr "only w/ note"
 
-msgid "activitylog_addcomment"
+msgid "ActivityLog_add_comment"
 msgstr "add comment as log entry"
 
 msgid "ActivityLogEntries"
 msgstr "activity log entries"
 
-msgid "activitylog_addcomment_help"
+msgid "ActivityLog_add_comment_help"
 msgstr "comment which will be added as a log entry (visible for orga only)"
 
-msgid "activitylog_addcomment_do"
+msgid "ActivityLog_add_comment_do"
 msgstr "save"
 
 msgid "assembly_children"
@@ -156,7 +156,7 @@ msgstr "Edit"
 msgid "Invitation__Habitat__action__withdraw"
 msgstr "Withdraw"
 
-msgid "assembly_additionalfield_required"
+msgid "Assembly__additional_field__required"
 msgstr "This field must not be empty."
 
 msgid "Assembly__authentication"
@@ -195,10 +195,10 @@ msgstr "client type"
 msgid "Assembly__authentication-grant_type"
 msgstr "grant type"
 
-msgid "Assembly__authentication__newapp"
+msgid "Assembly__authentication__new_app"
 msgstr "new application"
 
-msgid "Assembly__authentication__nonpublicassembly"
+msgid "Assembly__authentication__non_public_assembly"
 msgstr "Please note that the OAuth2 applications on this assembly won't work yet as it has not been published yet. Nevertheless, feel free to prepare the config anyways!"
 
 msgid "save"
@@ -341,13 +341,13 @@ msgstr "No"
 msgid "Assembly__state"
 msgstr ""
 
-msgid "assemblycreate_title"
+msgid "Assembly__create__title"
 msgstr "Details of the new assembly/channel/stage"
 
 msgid "Assembly__registration__closed"
 msgstr "New assembly registrations for this conference are no longer possible."
 
-msgid "assemblycreate_submitbtn"
+msgid "Assembly__create__submit_btn"
 msgstr "Create & Next"
 
 msgid "Assembly__parent_leave_modal__warning__header"
@@ -410,34 +410,34 @@ msgstr "leave habitat"
 msgid "assembly__parent__request"
 msgstr "request to join habitat"
 
-msgid "assemblyedit_basicdata"
+msgid "Assembly__edit__base_data"
 msgstr "Basic data"
 
-msgid "assemblyedit_readonlybasedata"
+msgid "Assembly__edit__read_only_base_data"
 msgstr "Some fields cannot be updated any more as this assembly has already been processed."
 
-msgid "assemblyedit_additionalfields"
+msgid "Assembly__edit__additional_fields"
 msgstr "additional data"
 
-msgid "assemblyedit_links"
+msgid "Assembly__edit__links"
 msgstr "Related assemblies"
 
-msgid "assemblyedit_addlink_info"
+msgid "Assembly__edit__link__add_info"
 msgstr "You can link to other assemblies. This information will be used by the assembly team to place your assembly close to befriended ones. Only accepted assemblies and assemblies where you are a member of can be chosen."
 
-msgid "assemblyedit_links__intro"
+msgid "Assembly__edit__links__intro"
 msgstr "You like to be close to your friends? Let us know who they are."
 
-msgid "opensinnewpage"
+msgid "opens_in_new_page"
 msgstr "opens in a new tab or window"
 
-msgid "assemblyedit_children"
+msgid "Assembly__edit__children"
 msgstr "Grouped Assemblies"
 
-msgid "assemblyedit_submitbtn"
+msgid "Assembly__edit__submit_btn"
 msgstr "Save"
 
-msgid "assemblyedit_staffmode"
+msgid "Assembly__edit__staff_mode"
 msgstr "You're editing this assembly utilizing your assembly team permissions. With great power comes great responsibility!"
 
 msgid "Assembly__edit_children__invite_assembly__title"
@@ -452,7 +452,7 @@ msgstr "please select"
 msgid "Assembly__habitat__invite"
 msgstr "Invite assembly"
 
-msgid "assemblyedit_addlink"
+msgid "Assembly__edit__link__add"
 msgstr "Associate with another assembly"
 
 msgid "add"
@@ -542,7 +542,7 @@ msgstr "Show _MENU_ entries"
 msgid "assembly_search"
 msgstr "Search:"
 
-msgid "assembly_noentries"
+msgid "assembly_no_entries"
 msgstr "No entries."
 
 msgid "assembly_paginate_first"
@@ -560,7 +560,7 @@ msgstr "Previous"
 msgid "Assemblies"
 msgstr ""
 
-msgid "assemblies_filteredtag"
+msgid "assemblies_filtered_tag"
 msgstr "Showing only assemblies tagged with:"
 
 # use translation from core
@@ -643,7 +643,7 @@ msgstr "room"
 msgid "Project"
 msgstr "project"
 
-msgid "Room-new"
+msgid "Room__new"
 msgstr "new room"
 
 msgid "Room__links"
@@ -685,26 +685,26 @@ msgstr "Nice room. So much wow. Do you really want to burn it down?"
 msgid "Project__remove__confirm"
 msgstr "You are about to leave no public traces of this project (at least on this conference). Sure?"
 
-msgid "Project__remove__notpossible"
+msgid "Project__remove__not_possible"
 msgstr "Here you should be able to remove the project but management says 'no'. We don't know why either, please contact support."
 
-msgid "Hangar__remove__notpossible"
+msgid "Hangar__remove__not_possible"
 msgstr "Hangar removal needs manual interaction, please contact support."
 
-msgid "Room__remove__notpossible"
+msgid "Room__remove__not_possible"
 msgstr "Here you could remove the room if it hadn't at least one event assigned to it. Please delete all events associated with this room first (or remove the association)."
 
 # use translation from core
 msgid "Vouchers"
 msgstr ""
 
-msgid "assemblyedit__vouchers__explanation"
+msgid "Assembly__edit__vouchers__explanation"
 msgstr "Here you'll find information from the orga, e.g. individual links to other systems or access codes. Please note that these information are not public and only managing staff of your assembly is able to see it."
 
-msgid "assemblyedit__vouchers__hidden_data"
+msgid "Assembly__edit__vouchers__hidden_data"
 msgstr "Data only available to members of the assembly."
 
-msgid "assemblyedit__vouchers__not_assigned"
+msgid "Assembly__edit__vouchers__not_assigned"
 msgstr "No data assigned (yet?)."
 
 msgid "Assembly__registration_data"
@@ -716,53 +716,53 @@ msgstr "german"
 msgid "english"
 msgstr "english"
 
-msgid "assemblyedit_statebtn_registered"
+msgid "Assembly__edit__state_btn_registered"
 msgstr "registered"
 
-msgid "assemblyedit_statebtn_reject"
+msgid "Assembly__edit__state_btn_reject"
 msgstr "reject"
 
-msgid "assemblyedit_statebtn_accept"
+msgid "Assembly__edit__state_btn_accept"
 msgstr "accept"
 
-msgid "assemblyedit_statebtn_hidden"
+msgid "Assembly__edit__state_btn_hidden"
 msgstr "hide"
 
-msgid "assemblyedit_statebtn_rejected2registered"
+msgid "Assembly__edit__state_btn_rejected2registered"
 msgstr "consider it"
 
-msgid "assemblyedit_statebtn_placed"
+msgid "Assembly__edit__state_btn_placed"
 msgstr "placed"
 
-msgid "assemblyedit_statebtn_arrived"
+msgid "Assembly__edit__state_btn_arrived"
 msgstr "arrived (self)"
 
-msgid "assemblyedit_statebtn_confirmed"
+msgid "Assembly__edit__state_btn_confirmed"
 msgstr "arrived (confirmed)"
 
-msgid "assemblyedit_statebtn_public2registered"
+msgid "Assembly__edit__state_btn_public2registered"
 msgstr "recall"
 
-msgid "assemblyteam-editassembly"
+msgid "AssemblyTeam__edit_assembly"
 msgstr "edit assembly"
 
-msgid "assemblyteam-message"
+msgid "AssemblyTeam__message"
 msgstr "send a message"
 
-msgid "assemblyteam_lastnote"
+msgid "AssemblyTeam__lastnote"
 msgstr "latest note"
 
-msgid "assemblyedit_hierarchy"
+msgid "Assembly__edit__hierarchy"
 msgstr "change assembly's categorization"
 
 # use translation from core
 msgid "Assembly__slug"
 msgstr ""
 
-msgid "assemblyteam_addcomment_field"
+msgid "AssemblyTeam__add_comment_field"
 msgstr "comment which will be added to the log entry (visible for orga only)"
 
-msgid "assemblyedit_position"
+msgid "Assembly__edit__position"
 msgstr "placement of the assembly"
 
 # use translation from core
@@ -777,25 +777,25 @@ msgstr ""
 msgid "Assembly__location_boundaries"
 msgstr ""
 
-msgid "assemblyedit_position_informassembly"
+msgid "Assembly__edit__position_inform_assembly"
 msgstr "inform the assembly's management"
 
-msgid "assemblyedit_position_update"
+msgid "Assembly__edit__position_update"
 msgstr "update position"
 
-msgid "assemblyedit_position_recall"
+msgid "Assembly__edit__position_recall"
 msgstr "recall the assembly"
 
-msgid "assemblyedit_position_publish"
+msgid "Assembly__edit__position_publish"
 msgstr "publish the assembly"
 
-msgid "assemblyedit_position_save_unpublished"
+msgid "Assembly__edit__position_save_unpublished"
 msgstr "save location (w/o publish)"
 
-msgid "assemblyedit_position_save_unaccepted"
+msgid "Assembly__edit__position_save_unaccepted"
 msgstr "save location for yet-unaccepted assembly"
 
-msgid "assemblyedit_state"
+msgid "Assembly__edit__state"
 msgstr "change assembly's registration state"
 
 msgid "AssemblyTeam__message__title"
@@ -816,7 +816,7 @@ msgstr "message recipients"
 msgid "AssemblyTeam__message__send_button"
 msgstr "Send the message"
 
-msgid "nav_activetab_srmarker"
+msgid "nav_active_tab_sr_marker"
 msgstr "(current)"
 
 msgid "title_suffix"
@@ -968,7 +968,7 @@ msgstr "official"
 msgid "Event__last_update"
 msgstr "last update"
 
-msgid "myassemblies"
+msgid "my_assemblies"
 msgstr "my assemblies"
 
 msgid "assembly_name"
@@ -977,10 +977,10 @@ msgstr "Name"
 msgid "assembly_state"
 msgstr "Status"
 
-msgid "assemblycreate"
+msgid "assembly_create"
 msgstr "create new assembly"
 
-msgid "assemblycreate_deadlineexceeded"
+msgid "Assembly__create__deadline_exceeded"
 msgstr "registration deadline exceeded"
 
 msgid "welcome_text"
@@ -1013,7 +1013,7 @@ msgstr "This is the access to the backoffice aka \"engine room\". Its purpose is
 msgid "login_introduction2"
 msgstr "Your account here can be used to access the conference's platform (but you don't need to). To access the platform/frontend you need to have an activation link which is supplied by the ticket tool in due time."
 
-msgid "registration_signup"
+msgid "registration_sign_up"
 msgstr "No account yet?"
 
 msgid "registration_password_reset_link"
@@ -1066,10 +1066,10 @@ msgstr ""
 msgid "moderation__public_link"
 msgstr "public link"
 
-msgid "moderation__notpublic"
+msgid "moderation__not_public"
 msgstr "not public"
 
-msgid "moderation__assembly__cannotunhide"
+msgid "moderation__assembly__cannot_unhide"
 msgstr "A hidden assembly can only be reversed by the assembly team as there are multiple valid states/types."
 
 msgid "Assembly__last_update"
@@ -1326,67 +1326,67 @@ msgstr "remove project"
 msgid "Project__delete__introduction"
 msgstr "This removes this project and it will not be shown any more."
 
-msgid "Room-new-bbb"
+msgid "Room__new-bbb"
 msgstr "BigBlueButton"
 
-msgid "Room-new-bbb__help"
+msgid "Room__new-bbb__help"
 msgstr "Create an online room for audio and video chat, whiteboard and screen sharing capabilities."
 
-msgid "Room-new-bbb__create"
+msgid "Room__new-bbb__create"
 msgstr "create"
 
-msgid "Room-new-bbb__unavailable"
+msgid "Room__new-bbb__unavailable"
 msgstr "BBB not available"
 
-msgid "Room-new-hangar"
+msgid "Room__new-hangar"
 msgstr "Hangar"
 
-msgid "Room-new-hangar__help"
+msgid "Room__new-hangar__help"
 msgstr "Configure a file storage for your assembly."
 
-msgid "Room-new-hangar__create"
+msgid "Room__new-hangar__create"
 msgstr "create"
 
-msgid "Room-new-lecturehall"
+msgid "Room__new-lecture_hall"
 msgstr "lecture hall"
 
-msgid "Room-new-lecturehall__help"
+msgid "Room__new-lecture_hall__help"
 msgstr "Can you provide a physical lecture hall for talks and presentations?"
 
-msgid "Room-new-lecturehall__create"
+msgid "Room__new-lecture_hall__create"
 msgstr "offer one"
 
-msgid "Room-new-lecturehall__unavailable"
+msgid "Room__new-lecture_hall__unavailable"
 msgstr "not available"
 
-msgid "Room-new-stage"
+msgid "Room__new-stage"
 msgstr "stage"
 
-msgid "Room-new-stage__help"
+msgid "Room__new-stage__help"
 msgstr "You have a physical stage which can be used for presentations?"
 
-msgid "Room-new-stage__create"
+msgid "Room__new-stage__create"
 msgstr "offer it"
 
-msgid "Room-new-stage__unavailable"
+msgid "Room__new-stage__unavailable"
 msgstr "not available"
 
-msgid "Room-new-workshop"
+msgid "Room__new-workshop"
 msgstr "workshop room"
 
-msgid "Room-new-workshop__help"
+msgid "Room__new-workshop__help"
 msgstr "Do you have a physical place for workshops to offer?"
 
-msgid "Room-new-workshop__create"
+msgid "Room__new-workshop__create"
 msgstr "yes we do"
 
-msgid "Room-new-workshop__unavailable"
+msgid "Room__new-workshop__unavailable"
 msgstr "not available"
 
-msgid "Room-new-other__create"
+msgid "Room__new-other__create"
 msgstr "create other room"
 
-msgid "backoffice_schedules_tabularview"
+msgid "backoffice_schedules_tabular_view"
 msgstr "tabular view"
 
 # use translation from core
@@ -1474,7 +1474,7 @@ msgstr "event data"
 msgid "Event__edit-publishing"
 msgstr "publishing"
 
-msgid "Event__publisheddata-current"
+msgid "Event__published_data__current"
 msgstr "currently published data"
 
 # use translation from core
@@ -1496,10 +1496,10 @@ msgstr "Delete self-organized session"
 msgid "SoS__delete__introduction"
 msgstr "This removes this self-organized session. If you only want to make it invisible, there is an option above to recall the self-organized session above!"
 
-msgid "StaticPage-lockdrop"
+msgid "StaticPage-lock_drop"
 msgstr "drop page lock"
 
-msgid "StaticPage-lockdrop__help"
+msgid "StaticPage-lock_drop__help"
 msgstr "The lock on the wiki page will be removed. This enables other users to edit the page but will result in an error for the current lock holder."
 
 msgid "Locks"
@@ -1527,35 +1527,32 @@ msgstr "timestamp"
 msgid "StaticPageRevision__author"
 msgstr "author"
 
-msgid "StaticPage--delete-confirm"
+msgid "StaticPage__delete-confirm"
 msgstr "Are you sure you want to remove this Static Page? All revisions and all stored history will be removed as well!"
 
-msgid "StaticPage--delete-page"
+msgid "StaticPage__delete-page"
 msgstr "Delete Page"
 
-msgid "StaticPageRevision--delete-confirm"
-msgstr "Are you sure you want to remove this Static Page Revision?"
+msgid "StaticPage__edit__submit_btn"
+msgstr "Save"
 
-msgid "StaticPage--revisions"
-msgstr "Versions"
+msgid "StaticPageRevision__delete-confirm"
+msgstr "Are you sure you want to remove this Static Page Revision?"
 
-msgid "StaticPageRevision--revision"
+msgid "StaticPageRevision__revision"
 msgstr "Version"
 
-msgid "StaticPageRevision--title"
+msgid "StaticPageRevision__title"
 msgstr "Title"
 
-msgid "StaticPageRevision--author"
-msgstr "Author"
-
-msgid "StaticPageRevision--date"
+msgid "StaticPageRevision__date"
 msgstr "Date"
 
-msgid "StaticPageRevision--delete"
+msgid "StaticPageRevision__delete"
 msgstr "Delete Version"
 
 #, python-format
-msgid "StaticPage--preview %(object.public_revision)s"
+msgid "StaticPage__preview %(object.public_revision)s"
 msgstr "Preview of currently published version %(object.public_revision)s"
 
 msgid "StaticPage__last_edited_by"
@@ -1585,10 +1582,10 @@ msgstr "Reset password link invalid. Please try again."
 msgid "password_reset_btn"
 msgstr "Reset"
 
-msgid "registration_signup_title"
+msgid "registration_sign_up_title"
 msgstr "create account"
 
-msgid "registration_signup_btn"
+msgid "registration_sign_up_btn"
 msgstr "Register Account"
 
 msgid "registration_reset_password_complete_title"
@@ -1606,51 +1603,51 @@ msgstr "Reset password"
 msgid "registration_reset_password_done"
 msgstr "Password reset initiated."
 
-msgid "registration_reset_password_mailsent"
+msgid "registration_reset_password_mail_sent"
 msgstr "An email with a password reset link has been sent to the given e-mail address. Please check your inbox and open the link sent to you in order to reset your password."
 
-msgid "registration_signup_done"
+msgid "registration_sign_up_done"
 msgstr "Account created."
 
-msgid "registration_signup_mailsent"
+msgid "registration_sign_up_mail_sent"
 msgstr "An email with an activation link has been sent to the given e-mail address. Please check your inbox and open the link sent to you in order to activate your account."
 
 msgid "assembly__created"
 msgstr "Assembly has been created. Please fill out the following extra information to complete registration."
 
-msgid "assemblyedit_cfintbelowmin"
+msgid "Assembly__edit__cf_int_below_min"
 msgstr "Field's value was too small, it has been changed to the minimal value:"
 
-msgid "assemblyedit_cfintabovemax"
+msgid "Assembly__edit__cf_int_above_max"
 msgstr "Field's value was too large, it has been changed to the maximal value:"
 
-msgid "assemblyedit_cfinterror"
+msgid "Assembly__edit__cf_int_error"
 msgstr "Field's value was not a number, removed:"
 
-msgid "assemblyedit_cfdateerror"
+msgid "Assembly__edit__cf_date_error"
 msgstr "Field's value was not a valid date:"
 
-msgid "assemblyedit_cfdaterangeerror"
+msgid "Assembly__edit__cf_date_range_error"
 msgstr "The chosen date was outside the allowed time-frame, it has been modified to fit:"
 
-msgid "assemblyedit_cfoption_missingdetails"
+msgid "Assembly__edit__cf_option_missing_details"
 msgstr "missing details on a field:"
 
-msgid "assemblyedit__success"
+msgid "Assembly__edit__success"
 msgstr "assembly's registration details have been updated. Thanks!"
 
 #, python-format
 msgid "AssemblyLink__assembly__not_found %s"
 msgstr "The assembly '%s' could not be found, unable to add!"
 
-msgid "assemblyedit_addedlink"
+msgid "Assembly__edit__link__added"
 msgstr "Association with assembly '{linked_name}' has been saved."
 
 #, python-format
 msgid "AssemblyLink__link__not_found %s"
 msgstr "Cannot find the linke with the id '%s', unable to remove!"
 
-msgid "assemblyedit_removedlink"
+msgid "Assembly__edit__link__removed"
 msgstr "Association with assembly '{linked_name}' has been deleted."
 
 msgid "Assembly__parent_leave__msg_no_parent"
@@ -1660,10 +1657,10 @@ msgstr "Cannot leave habitat, not currently associated with one!"
 msgid "Assembly__parent_leave__msg_success {name}"
 msgstr "Successfully left the habitat {name}!"
 
-msgid "Application__newclientsecret"
+msgid "Application__new_client_secret"
 msgstr "For the OAuth2 application a new \"client secret\" has been generated. It will only be shown once, so please note it down!"
 
-msgid "Assembly__authentication__newtoken"
+msgid "Assembly__authentication__new_token"
 msgstr "A new token for \"{assembly}\" has been generated, use it on the API with \"Authorization: Token {token}\"."
 
 msgid "updated"
@@ -1700,7 +1697,7 @@ msgstr ""
 msgid "No %(verbose_name)s found matching the query"
 msgstr "No %(verbose_name)s found matching the query"
 
-msgid "Room-new-hangar__legal_hint"
+msgid "Room__new-hangar__legal_hint"
 msgstr "You acknowledge that you will only store/publish content to which you own the necessary rights/licenses. Any violation might be liable to prosecution!"
 
 msgid "internal_error_please_retry"
@@ -1743,7 +1740,7 @@ msgstr "hidden"
 msgid "lists"
 msgstr "lists"
 
-msgid "assemblyteam_addcomment_success"
+msgid "AssemblyTeam__add_comment_success"
 msgstr "A log entry with the comment has been added."
 
 msgid "UserCommunicationChannel__address"
@@ -1754,13 +1751,13 @@ msgstr ""
 msgid "Assembly__{fld}"
 msgstr ""
 
-msgid "assemblyedit_changedstate"
+msgid "Assembly__edit__changed_state"
 msgstr "Assembly's state has been updated."
 
-msgid "assemblyedit_clusterstillhaschildren"
+msgid "Assembly__edit__cluster_still_has_children"
 msgstr "The habitat still has associated assemblies. Please remove those manually first before demoting the habitat."
 
-msgid "assemblyedit_changedhierarchy"
+msgid "Assembly__edit__changed_hierarchy"
 msgstr "Hierarchy type of the assembly has been changed."
 
 # artefact, ignore
@@ -1768,19 +1765,19 @@ msgstr "Hierarchy type of the assembly has been changed."
 msgid "Assembly__hierarchy-{new_value}"
 msgstr ""
 
-msgid "assemblyedit_position_error"
+msgid "Assembly__edit__position_error"
 msgstr "The given location data could not be parsed."
 
-msgid "assemblyedit_position_missingonpublish"
+msgid "Assembly__edit__position_missing_on_publish"
 msgstr "Could not publish the assembly as there was no location data present."
 
-msgid "assemblyedit_position_wasnotpublished"
+msgid "Assembly__edit__position_was_not_published"
 msgstr "Could not recall the assembly: it was not published?!"
 
-msgid "assemblyedit_position_unknownaction"
+msgid "Assembly__edit__position_unknown_action"
 msgstr "Unknown action requested, location was updated nonetheless."
 
-msgid "assemblyedit_changedposition"
+msgid "Assembly__edit__changed_position"
 msgstr "Location of the assembly was updated."
 
 #, python-format
@@ -1934,7 +1931,7 @@ msgstr "Projects"
 msgid "PlatformUsers"
 msgstr "users"
 
-msgid "userprofile_updated"
+msgid "user_profile_updated"
 msgstr "user profile updated"
 
 #, python-format
@@ -1975,14 +1972,14 @@ msgstr "Lock was gone already."
 msgid "Lock-dropped"
 msgstr "Lock dropped successfully."
 
-msgid "StaticPage--changedmetadata"
+msgid "StaticPage__metadata_changed"
 msgstr "changed wiki page's metadata"
 
-msgid "StaticPage--notchangedmetadata"
+msgid "StaticPage__metadata_not_changed"
 msgstr "failed to change metadata of wiki page"
 
-msgid "StaticPage--deleted"
+msgid "StaticPage__deleted"
 msgstr "StaticPage and all corresponding revisions deleted."
 
-msgid "StaticPageRevision--deleted"
+msgid "StaticPageRevision__deleted"
 msgstr "StaticPageRevision deleted."
diff --git a/src/backoffice/templates/backoffice/activitylog_card.html b/src/backoffice/templates/backoffice/activitylog_card.html
index 7e4d50eb5..97951263b 100644
--- a/src/backoffice/templates/backoffice/activitylog_card.html
+++ b/src/backoffice/templates/backoffice/activitylog_card.html
@@ -18,7 +18,7 @@
                    autocomplete="off"
                    checked>
             <label class="btn btn-sm btn-outline-primary"
-                   for="visible_logentries_all_{{ alc_ident }}">{% trans "activitylog_visibleentries_all" %}</label>
+                   for="visible_logentries_all_{{ alc_ident }}">{% trans "ActivityLog__visible_entries__all" %}</label>
 
             <input type="radio"
                    class="btn-check"
@@ -26,11 +26,11 @@
                    id="visible_logentries_msg_{{ alc_ident }}"
                    autocomplete="off">
             <label class="btn btn-sm btn-outline-primary"
-                   for="visible_logentries_msg_{{ alc_ident }}">{% trans "activitylog_visibleentries_msg" %}</label>
+                   for="visible_logentries_msg_{{ alc_ident }}">{% trans "ActivityLog__visible_entries__msg" %}</label>
           </div>
           {% if add_comment_url %}
             <button class="btn btn-sm btn-primary"
-                    title="{% trans "activitylog_addcomment" %}"
+                    title="{% trans "ActivityLog_add_comment" %}"
                     data-bs-toggle="modal"
                     data-bs-target="#addCommentModal_{{ alc_ident }}">
               <i class="bi bi-chat-left-text"></i>
@@ -87,15 +87,15 @@
     <div class="modal-dialog">
       <div class="modal-content">
         <div class="modal-header">
-          <h1 class="modal-title fs-5" id="addCommentModalLabel">{% trans "activitylog_addcomment" %}</h1>
+          <h1 class="modal-title fs-5" id="addCommentModalLabel">{% trans "ActivityLog_add_comment" %}</h1>
           <button type="button"
                   class="btn-close"
                   data-bs-dismiss="modal"
                   aria-label="Close"></button>
         </div>
         <div class="modal-body">
-          <p>{% trans "activitylog_addcomment_help" %}</p>
-          <form id="addcomment_{{ alc_ident }}"
+          <p>{% trans "ActivityLog_add_comment_help" %}</p>
+          <form id="add_comment_{{ alc_ident }}"
                 action="{{ add_comment_url }}"
                 method="post">
             {% csrf_token %}
@@ -103,8 +103,8 @@
           </form>
         </div>
         <div class="modal-footer">
-          <button class="btn btn-primary" form="addcomment_{{ alc_ident }}">
-            <i class="bi bi-chat-left-text"></i> {% trans "activitylog_addcomment_do" %}
+          <button class="btn btn-primary" form="add_comment_{{ alc_ident }}">
+            <i class="bi bi-chat-left-text"></i> {% trans "ActivityLog_add_comment_do" %}
           </button>
         </div>
       </div>
diff --git a/src/backoffice/templates/backoffice/assembly_additionalfields.html b/src/backoffice/templates/backoffice/assembly_additionalfields.html
index cbb511f46..2cdf6e09c 100644
--- a/src/backoffice/templates/backoffice/assembly_additionalfields.html
+++ b/src/backoffice/templates/backoffice/assembly_additionalfields.html
@@ -121,7 +121,7 @@
         {% endif %}
 
         {% if field.required and value|default:'' == '' %}
-          <div id="fld{{ field.key }}_required" class="invalid-feedback">{% trans "assembly_additionalfield_required" %}</div>
+          <div id="fld{{ field.key }}_required" class="invalid-feedback">{% trans "Assembly__additional_field__required" %}</div>
         {% endif %}
       </div>
     {% endwith %}
diff --git a/src/backoffice/templates/backoffice/assembly_auth.html b/src/backoffice/templates/backoffice/assembly_auth.html
index f24303882..0a3ab4406 100644
--- a/src/backoffice/templates/backoffice/assembly_auth.html
+++ b/src/backoffice/templates/backoffice/assembly_auth.html
@@ -88,7 +88,7 @@
               <label for="id_grant_type">{% trans "Assembly__authentication-grant_type" %}</label>
             </div>
             <div class="col-12">
-              <button type="submit" class="btn btn-sm btn-primary">{% trans "Assembly__authentication__newapp" %}</button>
+              <button type="submit" class="btn btn-sm btn-primary">{% trans "Assembly__authentication__new_app" %}</button>
             </div>
           </form>
         </div>
diff --git a/src/backoffice/templates/backoffice/assembly_auth_app.html b/src/backoffice/templates/backoffice/assembly_auth_app.html
index 4bf8556c1..639af471e 100644
--- a/src/backoffice/templates/backoffice/assembly_auth_app.html
+++ b/src/backoffice/templates/backoffice/assembly_auth_app.html
@@ -12,7 +12,7 @@
   {% show_disclaimer "assembly_auth" %}
 
   {% if not assembly.is_public %}
-    <div class="alert alert-warning">{% trans "Assembly__authentication__nonpublicassembly" %}</div>
+    <div class="alert alert-warning">{% trans "Assembly__authentication__non_public_assembly" %}</div>
   {% endif %}
 
   <div class="row">
diff --git a/src/backoffice/templates/backoffice/assembly_basicdata.html b/src/backoffice/templates/backoffice/assembly_base_data.html
similarity index 100%
rename from src/backoffice/templates/backoffice/assembly_basicdata.html
rename to src/backoffice/templates/backoffice/assembly_base_data.html
diff --git a/src/backoffice/templates/backoffice/assembly_create.html b/src/backoffice/templates/backoffice/assembly_create.html
index fcedd6362..fae4e0181 100644
--- a/src/backoffice/templates/backoffice/assembly_create.html
+++ b/src/backoffice/templates/backoffice/assembly_create.html
@@ -4,7 +4,7 @@
 
 {% block content %}
   <div class="card">
-    <div class="card-header">{% trans "assemblycreate_title" %}</div>
+    <div class="card-header">{% trans "Assembly__create__title" %}</div>
     {% if registration_closed %}
       <div class="card-body border border-3 border-danger">{% trans "Assembly__registration__closed" %}</div>
     {% else %}
@@ -14,7 +14,7 @@
           {% bootstrap_form form %}
           <button type="submit"
                   class="btn btn-primary"
-                  {% if registration_closed %}disabled{% endif %}>{% trans "assemblycreate_submitbtn" %}</button>
+                  {% if registration_closed %}disabled{% endif %}>{% trans "Assembly__create__submit_btn" %}</button>
         </form>
       </div>
     {% endif %}
diff --git a/src/backoffice/templates/backoffice/assembly_edit.html b/src/backoffice/templates/backoffice/assembly_edit.html
index 612f13b4a..4e6d951c2 100644
--- a/src/backoffice/templates/backoffice/assembly_edit.html
+++ b/src/backoffice/templates/backoffice/assembly_edit.html
@@ -22,15 +22,15 @@
     <div class="row">
       <div class="col-md-12">
         <div class="card mb-3">
-          <div class="card-header">{% trans "assemblyedit_basicdata" %}</div>
+          <div class="card-header">{% trans "Assembly__edit__base_data" %}</div>
           <div class="card-body">
             {% if assembly.basedata_readonly %}
               <div class="alert alert-warning"
                    {% if staff_access %}style="text-decoration: line-through;"{% endif %}>
-                {% trans "assemblyedit_readonlybasedata" %}
+                {% trans "Assembly__edit__read_only_base_data" %}
               </div>
             {% endif %}
-            {% include "backoffice/assembly_basicdata.html" %}
+            {% include "backoffice/assembly_base_data.html" %}
           </div>
         </div>
       </div>
@@ -40,9 +40,9 @@
       <div class="row">
         <div class="col-md-12">
           <div class="card mb-3">
-            <div class="card-header">{% trans "assemblyedit_additionalfields" %}</div>
+            <div class="card-header">{% trans "Assembly__edit__additional_fields" %}</div>
             <div class="card-body">
-              {% include "backoffice/assembly_additionalfields.html" with schema=conference.get_additional_fields_schema data=assembly.registration_data %}
+              {% include "backoffice/assembly_additional_fields.html" with schema=conference.get_additional_fields_schema data=assembly.registration_data %}
             </div>
           </div>
         </div>
@@ -54,11 +54,11 @@
         <div class="card">
           {% if not assembly.is_cluster %}
             <div class="card-header">
-              {% trans "assemblyedit_links" %} <i title="{% trans "assemblyedit_addlink_info" %}"
+              {% trans "Assembly__edit__links" %} <i title="{% trans "Assembly__edit__link__add_info" %}"
     class="bi bi-info-circle-fill text-primary"></i>
             </div>
             <div class="card-body">
-              <p>{% trans "assemblyedit_links__intro" %}</p>
+              <p>{% trans "Assembly__edit__links__intro" %}</p>
               {% with la=assembly.linked_assemblies %}
                 {% if la|length > 0 %}
                   <ul class="list-group">
@@ -78,15 +78,15 @@
               <a class="float-end btn btn-primary"
                  href="{% url 'backoffice:assembly-editlinks' pk=assembly.pk %}"
                  target="_blank"
-                 title="{% trans "Edit" %}">{% trans "Edit" %} ({% trans "opensinnewpage" %})</a>
+                 title="{% trans "Edit" %}">{% trans "Edit" %} ({% trans "opens_in_new_page" %})</a>
             </div>
           {% else %}
             {# assembly.is_cluster #}
             <div class="card-header">
-              {% trans "assemblyedit_children" %}
+              {% trans "Assembly__edit__children" %}
               <a href="{% url 'backoffice:assembly-editchildren' pk=assembly.pk %}"
                  target="_blank"
-                 title="{% trans "opensinnewpage" %}">({% trans "edit" %})</a>
+                 title="{% trans "opens_in_new_page" %}">({% trans "edit" %})</a>
             </div>
             <div class="card-body">
               {% with children=assembly.children.all %}
@@ -115,7 +115,7 @@
                    type="text"
                    name="tags"
                    value="{% for tag in assembly.sorted_tags %} {{ tag }} {% if not forloop.last %},{% endif %} {% endfor %}">
-            <div for="tags" class="form-text">{% trans "Assembly__tags__splitwithcomma" %}</div>
+            <div for="tags" class="form-text">{% trans "Assembly__tags__split_with_comma" %}</div>
           </div>
         </div>
       </div>
@@ -125,7 +125,7 @@
       <div class="col-md-12">
         <div class="card">
           <div class="card-footer text-end">
-            <button type="submit" class="btn btn-primary">{% trans "assemblyedit_submitbtn" %}</button>
+            <button type="submit" class="btn btn-primary">{% trans "Assembly__edit__submit_btn" %}</button>
           </div>
         </div>
       </div>
diff --git a/src/backoffice/templates/backoffice/assembly_edit_header.html b/src/backoffice/templates/backoffice/assembly_edit_header.html
index 645aa36b4..c6bc4225a 100644
--- a/src/backoffice/templates/backoffice/assembly_edit_header.html
+++ b/src/backoffice/templates/backoffice/assembly_edit_header.html
@@ -1,4 +1,4 @@
 {% load i18n %}
 {% if staff_mode %}
-  <div class="alert alert-info mb-3">{% trans "assemblyedit_staffmode" %}</div>
+  <div class="alert alert-info mb-3">{% trans "Assembly__edit__staff_mode" %}</div>
 {% endif %}
diff --git a/src/backoffice/templates/backoffice/assembly_editlinks.html b/src/backoffice/templates/backoffice/assembly_editlinks.html
index 8449949f8..7e82db87a 100644
--- a/src/backoffice/templates/backoffice/assembly_editlinks.html
+++ b/src/backoffice/templates/backoffice/assembly_editlinks.html
@@ -19,11 +19,11 @@
       <div class="col-md-12">
         <div class="card mb-3">
           <div class="card-header">
-            {% trans "assemblyedit_addlink" %} <i title="{% trans "assemblyedit_addlink_info" %}"
+            {% trans "Assembly__edit__link__add" %} <i title="{% trans "Assembly__edit__link__add_info" %}"
     class="bi bi-info-circle-fill text-primary"></i>
           </div>
           <div class="card-body">
-            <p>{% trans "assemblyedit_links__intro" %}</p>
+            <p>{% trans "Assembly__edit__links__intro" %}</p>
             <form action="{% url 'backoffice:assembly-editlinks' pk=assembly.id %}"
                   method="post">
               {% csrf_token %}
@@ -44,7 +44,7 @@
     <div class="row pb-10rem">
       <div class="col-md-12">
         <div class="card mb-3">
-          <div class="card-header">{% trans "assemblyedit_links" %}</div>
+          <div class="card-header">{% trans "Assembly__edit__links" %}</div>
           <div class="card-body">
             {% if links|length > 0 %}
               <ul class="list-group">
diff --git a/src/backoffice/templates/backoffice/assembly_events.html b/src/backoffice/templates/backoffice/assembly_events.html
index 103bc5842..414c99697 100644
--- a/src/backoffice/templates/backoffice/assembly_events.html
+++ b/src/backoffice/templates/backoffice/assembly_events.html
@@ -29,7 +29,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/assembly_list.html b/src/backoffice/templates/backoffice/assembly_list.html
index 05c323a66..2105ce2f2 100644
--- a/src/backoffice/templates/backoffice/assembly_list.html
+++ b/src/backoffice/templates/backoffice/assembly_list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
@@ -53,7 +53,7 @@
 
       {% if filter_tag is not None %}
         <div class="alert alert-info">
-          {% trans "assemblies_filteredtag" %}: <strong>{{ filter_tag }}</strong>
+          {% trans "assemblies_filtered_tag" %}: <strong>{{ filter_tag }}</strong>
         </div>
       {% endif %}
 
diff --git a/src/backoffice/templates/backoffice/assembly_members_edit.html b/src/backoffice/templates/backoffice/assembly_members_edit.html
index 8efb61e9d..9d824d792 100644
--- a/src/backoffice/templates/backoffice/assembly_members_edit.html
+++ b/src/backoffice/templates/backoffice/assembly_members_edit.html
@@ -42,7 +42,7 @@
         {% endfor %}
       </div>
       <div class="card-footer text-end">
-        <button type="submit" class="btn btn-primary">{% trans "assemblyedit_submitbtn" %}</button>
+        <button type="submit" class="btn btn-primary">{% trans "Assembly__edit__submit_btn" %}</button>
       </div>
     </div>
 
diff --git a/src/backoffice/templates/backoffice/assembly_room.html b/src/backoffice/templates/backoffice/assembly_room.html
index 64108c1f9..1cabea24c 100644
--- a/src/backoffice/templates/backoffice/assembly_room.html
+++ b/src/backoffice/templates/backoffice/assembly_room.html
@@ -37,7 +37,7 @@
               {% endif %}
               "{{ room.name }}"
             {% else %}
-              <span class="badge badge-secondary">{% trans "Room-new" %}</span>
+              <span class="badge badge-secondary">{% trans "Room__new" %}</span>
             {% endif %}
           </div>
           {% if not link_edit %}
diff --git a/src/backoffice/templates/backoffice/assembly_room_mgmt.html b/src/backoffice/templates/backoffice/assembly_room_mgmt.html
index 8413d28d0..4eb27f4b2 100644
--- a/src/backoffice/templates/backoffice/assembly_room_mgmt.html
+++ b/src/backoffice/templates/backoffice/assembly_room_mgmt.html
@@ -37,11 +37,11 @@
           {% else %}
             <p>
               {% if room.room_type == 'project' %}
-                {% trans "Project__remove__notpossible" %}
+                {% trans "Project__remove__not_possible" %}
               {% elif room.room_type == 'hangar' %}
-                {% trans "Hangar__remove__notpossible" %}
+                {% trans "Hangar__remove__not_possible" %}
               {% else %}
-                {% trans "Room__remove__notpossible" %}
+                {% trans "Room__remove__not_possible" %}
               {% endif %}
             </p>
           {% endif %}
diff --git a/src/backoffice/templates/backoffice/assembly_vouchers.html b/src/backoffice/templates/backoffice/assembly_vouchers.html
index 51398ca4e..269dba227 100644
--- a/src/backoffice/templates/backoffice/assembly_vouchers.html
+++ b/src/backoffice/templates/backoffice/assembly_vouchers.html
@@ -13,7 +13,7 @@
     <div class="col-md-12">
       <div class="card border-default">
         <div class="card-header bg-default">{% trans "Vouchers" %}</div>
-        <div class="card-body">{% trans "assemblyedit__vouchers__explanation" %}</div>
+        <div class="card-body">{% trans "Assembly__edit__vouchers__explanation" %}</div>
       </div>
     </div>
   </div>
@@ -30,7 +30,7 @@
             <div>{{ voucher.description }}</div>
 
             {% if voucher.contents == None %}
-              <div class="m-3 p-1 border border-light text-warning">{% trans "assemblyedit__vouchers__hidden_data" %}</div>
+              <div class="m-3 p-1 border border-light text-warning">{% trans "Assembly__edit__vouchers__hidden_data" %}</div>
             {% else %}
               {% for content in voucher.contents %}
                 <div class="m-3 p-1 border border-light">
@@ -44,7 +44,7 @@
                 </div>
               {% empty %}
                 <div class="m-3 p-1 border border-secondary text-muted font-italic">
-                  {% trans "assemblyedit__vouchers__not_assigned" %}
+                  {% trans "Assembly__edit__vouchers__not_assigned" %}
                 </div>
               {% endfor %}
             {% endif %}
diff --git a/src/backoffice/templates/backoffice/assemblyteam_assembly_additionalfields.html b/src/backoffice/templates/backoffice/assemblyteam_assembly_additionalfields.html
index 6d71d5905..9bd2fb695 100644
--- a/src/backoffice/templates/backoffice/assemblyteam_assembly_additionalfields.html
+++ b/src/backoffice/templates/backoffice/assemblyteam_assembly_additionalfields.html
@@ -106,7 +106,7 @@
         {% endif %}
 
         {% if field.required and value|default:'' == '' %}
-          <div id="fld{{ field.key }}_required" class="invalid-feedback">{% trans "assembly_additionalfield_required" %}</div>
+          <div id="fld{{ field.key }}_required" class="invalid-feedback">{% trans "Assembly__additional_field__required" %}</div>
         {% endif %}
       </div>
     {% endwith %}
diff --git a/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html b/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html
index e652b8c69..cc728cd10 100644
--- a/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html
+++ b/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html
@@ -58,7 +58,7 @@
           <dt class="col-sm-2">{% trans "Assembly__registration_data" %}</dt>
           <dd class="col-sm-10">
             <div class="border border-secondary-subtle p-1">
-              {% include "backoffice/assemblyteam_assembly_additionalfields.html" with schema=conference.get_additional_fields_schema data=object.registration_data %}
+              {% include "backoffice/assemblyteam_assembly_additional_fields.html" with schema=conference.get_additional_fields_schema data=object.registration_data %}
             </div>
           </dd>
         {% endif %}
@@ -102,14 +102,14 @@
                       <a class="dropdown-item text-danger"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=registered">
-                        {% trans "assemblyedit_statebtn_registered" %}
+                        {% trans "Assembly__edit__state_btn_registered" %}
                       </a>
                     </li>
                     <li>
                       <a class="dropdown-item text-danger"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=rejected">
-                        {% trans "assemblyedit_statebtn_reject" %}
+                        {% trans "Assembly__edit__state_btn_reject" %}
                       </a>
                     </li>
 
@@ -118,21 +118,21 @@
                       <a class="dropdown-item text-success"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=accepted">
-                        {% trans "assemblyedit_statebtn_accept" %}
+                        {% trans "Assembly__edit__state_btn_accept" %}
                       </a>
                     </li>
                     <li>
                       <a class="dropdown-item text-danger"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=rejected">
-                        {% trans "assemblyedit_statebtn_reject" %}
+                        {% trans "Assembly__edit__state_btn_reject" %}
                       </a>
                     </li>
                     <li>
                       <a class="dropdown-item text-secondary"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=hidden">
-                        {% trans "assemblyedit_statebtn_hidden" %}
+                        {% trans "Assembly__edit__state_btn_hidden" %}
                       </a>
                     </li>
 
@@ -141,7 +141,7 @@
                       <a class="dropdown-item text-warning"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=registered">
-                        {% trans "assemblyedit_statebtn_rejected2registered" %}
+                        {% trans "Assembly__edit__state_btn_rejected2registered" %}
                       </a>
                     </li>
 
@@ -152,7 +152,7 @@
                           <a class="dropdown-item text-secondary"
                              role="button"
                              href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=placed">
-                            {% trans "assemblyedit_statebtn_placed" %}
+                            {% trans "Assembly__edit__state_btn_placed" %}
                           </a>
                         </li>
                       {% endif %}
@@ -161,7 +161,7 @@
                           <a class="dropdown-item text-info"
                              role="button"
                              href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=arrived">
-                            {% trans "assemblyedit_statebtn_arrived" %}
+                            {% trans "Assembly__edit__state_btn_arrived" %}
                           </a>
                         </li>
                       {% endif %}
@@ -170,7 +170,7 @@
                           <a class="dropdown-item text-success"
                              role="button"
                              href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=confirmed">
-                            {% trans "assemblyedit_statebtn_confirmed" %}
+                            {% trans "Assembly__edit__state_btn_confirmed" %}
                           </a>
                         </li>
                       {% endif %}
@@ -180,14 +180,14 @@
                       <a class="dropdown-item text-secondary"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=registered">
-                        {% trans "assemblyedit_statebtn_public2registered" %}
+                        {% trans "Assembly__edit__state_btn_public2registered" %}
                       </a>
                     </li>
                     <li>
                       <a class="dropdown-item text-secondary"
                          role="button"
                          href="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}?state=hidden">
-                        {% trans "assemblyedit_statebtn_hidden" %}
+                        {% trans "Assembly__edit__state_btn_hidden" %}
                       </a>
                     </li>
 
@@ -203,13 +203,13 @@
             <div class="card-body">
               <a role="button"
                  class="btn btn-sm btn-light"
-                 title="{% trans "assemblyteam-editassembly" %}"
+                 title="{% trans "AssemblyTeam__edit_assembly" %}"
                  href="{% url 'backoffice:assembly-edit' pk=assembly.id %}">
                 <i class="bi bi-pencil-square"></i>
               </a>
               <a role="button"
                  class="btn btn-sm btn-light"
-                 title="{% trans "assemblyteam-message" %}"
+                 title="{% trans "AssemblyTeam__message" %}"
                  href="{% url 'backoffice:assemblyteam-message' pk=assembly.id %}">
                 <i class="bi bi-mailbox"></i>
               </a>
@@ -235,7 +235,7 @@
       {% if latest_note %}
         <div class="card mb-3 border-info">
           <div class="card-header bg-info text-bg-info">
-            <i class="bi bi-chat-left-text"></i> {% trans "assemblyteam_lastnote" %}
+            <i class="bi bi-chat-left-text"></i> {% trans "AssemblyTeam__lastnote" %}
           </div>
           <div class="card-body">
             <p class="text-muted">
diff --git a/src/backoffice/templates/backoffice/assemblyteam_edithierarchy.html b/src/backoffice/templates/backoffice/assemblyteam_edithierarchy.html
index b134f209d..c866dc451 100644
--- a/src/backoffice/templates/backoffice/assemblyteam_edithierarchy.html
+++ b/src/backoffice/templates/backoffice/assemblyteam_edithierarchy.html
@@ -15,7 +15,7 @@
   <div class="row">
     <div class="col-md-12">
       <div class="card mb-3">
-        <div class="card-header">{% trans "assemblyedit_hierarchy" %}</div>
+        <div class="card-header">{% trans "Assembly__edit__hierarchy" %}</div>
         <div class="card-body">
           <form action="{% url 'backoffice:assemblyteam-edithierarchy' pk=assembly.id %}"
                 method="post">
@@ -27,7 +27,7 @@
               {% trans "Assembly__hierarchy" %}: <s class="text-danger">{{ assembly.get_hierarchy_display }}</s> <span class="text-success">{{ new_value_translated }}</span>
             </p>
 
-            <p>{% trans "assemblyteam_addcomment_field" %}:</p>
+            <p>{% trans "AssemblyTeam__add_comment_field" %}:</p>
             <textarea name="comment"
                       class="form-control"
                       placeholder="(optional)"
diff --git a/src/backoffice/templates/backoffice/assemblyteam_editposition.html b/src/backoffice/templates/backoffice/assemblyteam_editposition.html
index f05ac91b0..83a33fe28 100644
--- a/src/backoffice/templates/backoffice/assemblyteam_editposition.html
+++ b/src/backoffice/templates/backoffice/assemblyteam_editposition.html
@@ -15,7 +15,7 @@
   <div class="row">
     <div class="col-md-12">
       <div class="card mb-3">
-        <div class="card-header">{% trans "assemblyedit_position" %}</div>
+        <div class="card-header">{% trans "Assembly__edit__position" %}</div>
         <div class="card-body">
           <form action="{% url 'backoffice:assemblyteam-editposition' pk=assembly.id %}"
                 method="post">
@@ -67,13 +67,13 @@
               <!--
                     <div class="form-group">
                       <input type="checkbox" id=idInformAssembly" name="inform_assembly">
-                      <label for="idInformAssembly">{% trans "assemblyedit_position_informassembly" %}</label>
+                      <label for="idInformAssembly">{% trans "Assembly__edit__position_inform_assembly" %}</label>
                     </div>
                   -->
 
             {% endif %}
 
-            <p>{% trans "assemblyteam_addcomment_field" %}</p>
+            <p>{% trans "AssemblyTeam__add_comment_field" %}</p>
             <textarea name="comment"
                       class="form-control"
                       placeholder="(optional)"
@@ -83,29 +83,29 @@
               <button type="submit"
                       class="btn btn-sm btn-primary"
                       name="action"
-                      value="save">{% trans "assemblyedit_position_update" %}</button>
+                      value="save">{% trans "Assembly__edit__position_update" %}</button>
 
               <button type="submit"
                       class="btn btn-sm btn-danger"
                       name="action"
-                      value="recall">{% trans "assemblyedit_position_recall" %}</button>
+                      value="recall">{% trans "Assembly__edit__position_recall" %}</button>
 
             {% elif assembly.is_public %}
               <button type="submit"
                       class="btn btn-sm btn-primary"
                       name="action"
-                      value="publish">{% trans "assemblyedit_position_publish" %}</button>
+                      value="publish">{% trans "Assembly__edit__position_publish" %}</button>
 
               <button type="submit"
                       class="btn btn-sm btn-secondary"
                       name="action"
-                      value="save">{% trans "assemblyedit_position_save_unpublished" %}</button>
+                      value="save">{% trans "Assembly__edit__position_save_unpublished" %}</button>
 
             {% else %}
               <button type="submit"
                       class="btn btn-sm btn-danger"
                       name="action"
-                      value="save">{% trans "assemblyedit_position_save_unaccepted" %}</button>
+                      value="save">{% trans "Assembly__edit__position_save_unaccepted" %}</button>
 
             {% endif %}
           </form>
diff --git a/src/backoffice/templates/backoffice/assemblyteam_editstate.html b/src/backoffice/templates/backoffice/assemblyteam_editstate.html
index 79a88978f..762672528 100644
--- a/src/backoffice/templates/backoffice/assemblyteam_editstate.html
+++ b/src/backoffice/templates/backoffice/assemblyteam_editstate.html
@@ -15,7 +15,7 @@
   <div class="row">
     <div class="col-md-12">
       <div class="card mb-3">
-        <div class="card-header">{% trans "assemblyedit_state" %}</div>
+        <div class="card-header">{% trans "Assembly__edit__state" %}</div>
         <div class="card-body">
           <form action="{% url 'backoffice:assemblyteam-editstate' pk=assembly.id %}"
                 method="post">
@@ -27,7 +27,7 @@
               {% trans "Assembly__state" %}: <s class="text-danger">{{ assembly.get_state_display }}</s> <span class="text-success">{{ new_value_translated }}</span>
             </p>
 
-            <p>{% trans "assemblyteam_addcomment_field" %}:</p>
+            <p>{% trans "AssemblyTeam__add_comment_field" %}:</p>
             <textarea name="comment"
                       class="form-control"
                       placeholder="(optional)"
diff --git a/src/backoffice/templates/backoffice/base.html b/src/backoffice/templates/backoffice/base.html
index 0fee1c439..ac043b951 100644
--- a/src/backoffice/templates/backoffice/base.html
+++ b/src/backoffice/templates/backoffice/base.html
@@ -1,6 +1,6 @@
 {% load i18n %}
 {% load static %}
-{% trans "nav_activetab_srmarker" as activetab_srmarker %}
+{% trans "nav_active_tab_sr_marker" as activetab_srmarker %}
 <!DOCTYPE html>
 <html lang="{{ request.LANGUAGE_CODE | default:"en" }}">
   <head>
diff --git a/src/backoffice/templates/backoffice/event/components/list_script.js b/src/backoffice/templates/backoffice/event/components/list_script.js
index 1a850e70d..6fadf5dc7 100644
--- a/src/backoffice/templates/backoffice/event/components/list_script.js
+++ b/src/backoffice/templates/backoffice/event/components/list_script.js
@@ -14,7 +14,7 @@ $(document).ready(function() {
         "loadingRecords": "LOADING ...",
         "processing":     "Processing...",
         "search":         "{% trans "assembly_search" %}",
-        "zeroRecords":    "{% trans "assembly_noentries" %}",
+        "zeroRecords":    "{% trans "assembly_no_entries" %}",
         "paginate": {
             "first":      "{% trans "assembly_paginate_first" %}",
             "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/index.html b/src/backoffice/templates/backoffice/index.html
index 91ae8119e..be7506641 100644
--- a/src/backoffice/templates/backoffice/index.html
+++ b/src/backoffice/templates/backoffice/index.html
@@ -10,7 +10,7 @@
   {% if user.is_authenticated %}
     <div class="card">
 
-      <div class="card-header">{% trans "myassemblies" %}</div>
+      <div class="card-header">{% trans "my_assemblies" %}</div>
       <div class="card-body">
         <table class="table table-sm">
           <thead>
@@ -20,7 +20,7 @@
             </tr>
           </thead>
           <tbody>
-            {% for assembly in myassemblies %}
+            {% for assembly in my_assemblies %}
               <tr>
                 <td>
                   <a href="{% url 'backoffice:assembly' pk=assembly.id %}">{{ assembly.name }}</a>
@@ -45,16 +45,16 @@
         {% if conference.is_open %}
           <a class="btn btn-success"
              href="{% url 'backoffice:assembly-create' %}"
-             style="float: right">{% trans "assemblycreate" %}</a>
+             style="float: right">{% trans "assembly_create" %}</a>
         {% elif has_assemblies %}
           <a class="btn btn-warning"
              href="{% url 'backoffice:assembly-create' %}"
              style="float: right"
-             title="{% trans "assemblycreate_deadlineexceeded" %}">{% trans "assemblycreate" %}</a>
+             title="{% trans "Assembly__create__deadline_exceeded" %}">{% trans "assembly_create" %}</a>
         {% else %}
           <button class="btn btn-success disabled"
-                  title="{% trans "assemblycreate_deadlineexceeded" %}"
-                  style="float: right">{% trans "assemblycreate" %}</button>
+                  title="{% trans "Assembly__create__deadline_exceeded" %}"
+                  style="float: right">{% trans "assembly_create" %}</button>
         {% endif %}
       </div>
     </div>
diff --git a/src/backoffice/templates/backoffice/login.html b/src/backoffice/templates/backoffice/login.html
index d5bafa91f..28e566b51 100644
--- a/src/backoffice/templates/backoffice/login.html
+++ b/src/backoffice/templates/backoffice/login.html
@@ -28,7 +28,7 @@
 
   <div class="row">
     <div class="mx-auto">
-      <a class="text-muted" href="{% url 'backoffice:signup' %}">{% trans "registration_signup" %}</a>
+      <a class="text-muted" href="{% url 'backoffice:signup' %}">{% trans "registration_sign_up" %}</a>
     </div>
     <div class="mx-auto">
       <a class="text-muted" href="{% url 'backoffice:password_reset' %}">{% trans "registration_password_reset_link" %}</a>
diff --git a/src/backoffice/templates/backoffice/map_floor_list.html b/src/backoffice/templates/backoffice/map_floor_list.html
index 53f15955a..b48715424 100644
--- a/src/backoffice/templates/backoffice/map_floor_list.html
+++ b/src/backoffice/templates/backoffice/map_floor_list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/map_poi_list.html b/src/backoffice/templates/backoffice/map_poi_list.html
index 443be84b9..9fb3218ae 100644
--- a/src/backoffice/templates/backoffice/map_poi_list.html
+++ b/src/backoffice/templates/backoffice/map_poi_list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/moderation_assembly-detail.html b/src/backoffice/templates/backoffice/moderation_assembly-detail.html
index 3e24840ed..76a431978 100644
--- a/src/backoffice/templates/backoffice/moderation_assembly-detail.html
+++ b/src/backoffice/templates/backoffice/moderation_assembly-detail.html
@@ -93,7 +93,7 @@
         {% trans "moderation__public_link" %}
         {% if not assembly.is_public %}
           <br>
-          <small class="text-muted fst-italic">{% trans "moderation__notpublic" %}</small>
+          <small class="text-muted fst-italic">{% trans "moderation__not_public" %}</small>
         {% endif %}
       </a>
 
@@ -107,7 +107,7 @@
               <i class="bi bi-eye-slash"></i> hide
             </button>
           {% else %}
-            {% trans "moderation__assembly__cannotunhide" %}
+            {% trans "moderation__assembly__cannot_unhide" %}
           {% endif %}
         </div>
       </div>
diff --git a/src/backoffice/templates/backoffice/moderation_assembly-list.html b/src/backoffice/templates/backoffice/moderation_assembly-list.html
index 0823babad..42cbfceea 100644
--- a/src/backoffice/templates/backoffice/moderation_assembly-list.html
+++ b/src/backoffice/templates/backoffice/moderation_assembly-list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
@@ -53,7 +53,7 @@
 
       {% if filter_tag is not None %}
         <div class="alert alert-info">
-          {% trans "assemblies_filteredtag" %}: <strong>{{ filter_tag }}</strong>
+          {% trans "assemblies_filtered_tag" %}: <strong>{{ filter_tag }}</strong>
         </div>
       {% endif %}
 
diff --git a/src/backoffice/templates/backoffice/moderation_badge-list.html b/src/backoffice/templates/backoffice/moderation_badge-list.html
index 7ee761343..ee5f65b8e 100644
--- a/src/backoffice/templates/backoffice/moderation_badge-list.html
+++ b/src/backoffice/templates/backoffice/moderation_badge-list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/moderation_board-list.html b/src/backoffice/templates/backoffice/moderation_board-list.html
index f8ea68958..4ec666f2a 100644
--- a/src/backoffice/templates/backoffice/moderation_board-list.html
+++ b/src/backoffice/templates/backoffice/moderation_board-list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/moderation_event-detail.html b/src/backoffice/templates/backoffice/moderation_event-detail.html
index 032da6aa7..770fec16b 100644
--- a/src/backoffice/templates/backoffice/moderation_event-detail.html
+++ b/src/backoffice/templates/backoffice/moderation_event-detail.html
@@ -126,7 +126,7 @@
         {% trans "moderation__public_link" %}
         {% if not event.is_public %}
           <br>
-          <small class="text-muted fst-italic">{% trans "moderation__notpublic" %}</small>
+          <small class="text-muted fst-italic">{% trans "moderation__not_public" %}</small>
         {% endif %}
       </a>
 
diff --git a/src/backoffice/templates/backoffice/moderation_user-list.html b/src/backoffice/templates/backoffice/moderation_user-list.html
index 2f9359646..cfbc6a49a 100644
--- a/src/backoffice/templates/backoffice/moderation_user-list.html
+++ b/src/backoffice/templates/backoffice/moderation_user-list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/moderation_wiki-list.html b/src/backoffice/templates/backoffice/moderation_wiki-list.html
index 30252e582..2ff55a276 100644
--- a/src/backoffice/templates/backoffice/moderation_wiki-list.html
+++ b/src/backoffice/templates/backoffice/moderation_wiki-list.html
@@ -26,7 +26,7 @@
                 "loadingRecords": "LOADING ...",
                 "processing":     "Processing...",
                 "search":         "{% trans "assembly_search" %}",
-                "zeroRecords":    "{% trans "assembly_noentries" %}",
+                "zeroRecords":    "{% trans "assembly_no_entries" %}",
                 "paginate": {
                     "first":      "{% trans "assembly_paginate_first" %}",
                     "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/project/components/list_script.js b/src/backoffice/templates/backoffice/project/components/list_script.js
index 2b0a7fe0c..251081429 100644
--- a/src/backoffice/templates/backoffice/project/components/list_script.js
+++ b/src/backoffice/templates/backoffice/project/components/list_script.js
@@ -14,7 +14,7 @@ $(document).ready(function() {
         "loadingRecords": "LOADING ...",
         "processing":     "Processing...",
         "search":         "{% trans "assembly_search" %}",
-        "zeroRecords":    "{% trans "assembly_noentries" %}",
+        "zeroRecords":    "{% trans "assembly_no_entries" %}",
         "paginate": {
             "first":      "{% trans "assembly_paginate_first" %}",
             "last":       "{% trans "assembly_paginate_last" %}",
diff --git a/src/backoffice/templates/backoffice/room-new.html b/src/backoffice/templates/backoffice/room-new.html
index f13cac970..e86a373f6 100644
--- a/src/backoffice/templates/backoffice/room-new.html
+++ b/src/backoffice/templates/backoffice/room-new.html
@@ -15,7 +15,7 @@
       <h1>
         <a href="{% url 'backoffice:assembly' pk=assembly.id %}"
            class="text-muted">{{ assembly.name }}</a>:
-        {% trans "Room-new" %}
+        {% trans "Room__new" %}
       </h1>
     </div>
 
@@ -31,16 +31,16 @@
               <div class="card">
                 <div class="card-body {% if rooms_available.bbb %}border-primary{% else %}border-default{% endif %}">
                   <h5 class="card-title {% if rooms_available.bbb %}text-primary{% else %}text-default{% endif %}">
-                    {% trans "Room-new-bbb" %}
+                    {% trans "Room__new-bbb" %}
                   </h5>
-                  <p class="card-text">{% trans "Room-new-bbb__help" %}</p>
+                  <p class="card-text">{% trans "Room__new-bbb__help" %}</p>
                 </div>
                 <div class="card-footer">
                   {% if rooms_available.bbb %}
                     <a class="btn btn-sm btn-primary"
-                       href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=bbb">{% trans "Room-new-bbb__create" %}</a>
+                       href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=bbb">{% trans "Room__new-bbb__create" %}</a>
                   {% else %}
-                    <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-bbb__unavailable" %}</span>
+                    <span class="text-muted" style="font-size: 90%;">{% trans "Room__new-bbb__unavailable" %}</span>
                   {% endif %}
                 </div>
               </div>
@@ -53,16 +53,16 @@
               <div class="card">
                 <div class="card-body {% if rooms_available.hangar %}border-primary{% else %}border-default{% endif %}">
                   <h5 class="card-title {% if rooms_available.hangar %}text-primary{% else %}text-default{% endif %}">
-                    {% trans "Room-new-hangar" %}
+                    {% trans "Room__new-hangar" %}
                   </h5>
-                  <p class="card-text">{% trans "Room-new-hangar__help" %}</p>
+                  <p class="card-text">{% trans "Room__new-hangar__help" %}</p>
                 </div>
                 <div class="card-footer">
                   {% if rooms_available.hangar %}
                     <a class="btn btn-sm btn-primary"
-                       href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=hangar">{% trans "Room-new-hangar__create" %}</a>
+                       href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=hangar">{% trans "Room__new-hangar__create" %}</a>
                   {% else %}
-                    <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-hangar__unavailable" %}</span>
+                    <span class="text-muted" style="font-size: 90%;">{% trans "Room__new-hangar__unavailable" %}</span>
                   {% endif %}
                 </div>
               </div>
@@ -76,15 +76,15 @@
           <div class="col">
             <div class="card">
               <div class="card-body border-default">
-                <h5 class="card-title text-default">{% trans "Room-new-lecturehall" %}</h5>
-                <p class="card-text">{% trans "Room-new-lecturehall__help" %}</p>
+                <h5 class="card-title text-default">{% trans "Room__new-lecture_hall" %}</h5>
+                <p class="card-text">{% trans "Room__new-lecture_hall__help" %}</p>
               </div>
               <div class="card-footer">
                 {% if rooms_available.lecturehall %}
                   <a class="btn btn-sm btn-primary"
-                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=lecturehall">{% trans "Room-new-lecturehall__create" %}</a>
+                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=lecturehall">{% trans "Room__new-lecture_hall__create" %}</a>
                 {% else %}
-                  <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-lecturehall__unavailable" %}</span>
+                  <span class="text-muted" style="font-size: 90%;">{% trans "Room__new-lecture_hall__unavailable" %}</span>
                 {% endif %}
               </div>
             </div>
@@ -94,15 +94,15 @@
           <div class="col">
             <div class="card">
               <div class="card-body border-default">
-                <h5 class="card-title text-default">{% trans "Room-new-stage" %}</h5>
-                <p class="card-text">{% trans "Room-new-stage__help" %}</p>
+                <h5 class="card-title text-default">{% trans "Room__new-stage" %}</h5>
+                <p class="card-text">{% trans "Room__new-stage__help" %}</p>
               </div>
               <div class="card-footer">
                 {% if rooms_available.stage %}
                   <a class="btn btn-sm btn-primary"
-                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=stage">{% trans "Room-new-stage__create" %}</a>
+                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=stage">{% trans "Room__new-stage__create" %}</a>
                 {% else %}
-                  <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-stage__unavailable" %}</span>
+                  <span class="text-muted" style="font-size: 90%;">{% trans "Room__new-stage__unavailable" %}</span>
                 {% endif %}
               </div>
             </div>
@@ -112,15 +112,15 @@
           <div class="col">
             <div class="card">
               <div class="card-body border-default">
-                <h5 class="card-title text-default">{% trans "Room-new-workshop" %}</h5>
-                <p class="card-text">{% trans "Room-new-workshop__help" %}</p>
+                <h5 class="card-title text-default">{% trans "Room__new-workshop" %}</h5>
+                <p class="card-text">{% trans "Room__new-workshop__help" %}</p>
               </div>
               <div class="card-footer">
                 {% if rooms_available.workshop %}
                   <a class="btn btn-sm btn-primary"
-                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=workshop">{% trans "Room-new-workshop__create" %}</a>
+                     href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=workshop">{% trans "Room__new-workshop__create" %}</a>
                 {% else %}
-                  <span class="text-muted" style="font-size: 90%;">{% trans "Room-new-workshop__unavailable" %}</span>
+                  <span class="text-muted" style="font-size: 90%;">{% trans "Room__new-workshop__unavailable" %}</span>
                 {% endif %}
               </div>
             </div>
@@ -129,7 +129,7 @@
         </div>
         <div class="text-center mt-4">
           <a class="text-muted"
-             href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=other">{% trans "Room-new-other__create" %}</a>
+             href="{% url 'backoffice:assembly-create-room' assembly=assembly.id %}?type=other">{% trans "Room__new-other__create" %}</a>
         </div>
 
       {% else %}
diff --git a/src/backoffice/templates/backoffice/schedules_index.html b/src/backoffice/templates/backoffice/schedules_index.html
index e22f0592e..4a6fb5ac4 100644
--- a/src/backoffice/templates/backoffice/schedules_index.html
+++ b/src/backoffice/templates/backoffice/schedules_index.html
@@ -6,7 +6,7 @@
 
   <div class="mb-3 align-content-end">
     <a class="btn btn-primary"
-       href="{% url 'backoffice:schedulesource-list' %}">{% trans "backoffice_schedules_tabularview" %}</a>
+       href="{% url 'backoffice:schedulesource-list' %}">{% trans "backoffice_schedules_tabular_view" %}</a>
   </div>
 
   <div class="row row-cols-1 row-cols-md-3 g-4">
diff --git a/src/backoffice/templates/backoffice/sos_create_edit.html b/src/backoffice/templates/backoffice/sos_create_edit.html
index 33d7a9d3c..36ae74b41 100644
--- a/src/backoffice/templates/backoffice/sos_create_edit.html
+++ b/src/backoffice/templates/backoffice/sos_create_edit.html
@@ -136,7 +136,7 @@
         {% if event.is_public %}
           <div class="mb-3">
             <div class="card border-primary-subtle">
-              <div class="card-header small bg-primary-subtle">{% trans "Event__publisheddata-current" %}</div>
+              <div class="card-header small bg-primary-subtle">{% trans "Event__published_data__current" %}</div>
               <div class="card-body small">
                 <div class="row">
                   <div class="col-md-3">
diff --git a/src/backoffice/templates/backoffice/wiki_lock_list.html b/src/backoffice/templates/backoffice/wiki_lock_list.html
index 0b04fd024..3a931a9fc 100644
--- a/src/backoffice/templates/backoffice/wiki_lock_list.html
+++ b/src/backoffice/templates/backoffice/wiki_lock_list.html
@@ -21,8 +21,8 @@
               form.submit()
             },
             'warning',
-            '{% trans "StaticPage-lockdrop" %}',
-            '{% trans "StaticPage-lockdrop__help" %}',
+            '{% trans "StaticPage-lock_drop" %}',
+            '{% trans "StaticPage-lock_drop__help" %}',
             'Machen Sie\'s so!')
       })
     });
diff --git a/src/backoffice/templates/backoffice/wiki_page_detail.html b/src/backoffice/templates/backoffice/wiki_page_detail.html
index 037674a3a..a9610ed67 100644
--- a/src/backoffice/templates/backoffice/wiki_page_detail.html
+++ b/src/backoffice/templates/backoffice/wiki_page_detail.html
@@ -7,7 +7,7 @@
   <form action="{% url 'backoffice:wiki-page-delete' pk=object.pk %}"
         method="post"
         id="delete_page"
-        onsubmit="return confirm('{% trans "StaticPage--delete-confirm" %}')">
+        onsubmit="return confirm('{% trans "StaticPage__delete-confirm" %}')">
     {% csrf_token %}
   </form>
 
@@ -32,27 +32,27 @@
         {% bootstrap_form form %}
       </div>
       <div class="card-footer text-end">
-        <button type="submit" class="btn btn-danger" form="delete_page">{% trans "StaticPage--delete-page" %}</button>
-        <button type="submit" class="btn btn-primary">{% trans "assemblyedit_submitbtn" %}</button>
+        <button type="submit" class="btn btn-danger" form="delete_page">{% trans "StaticPage__delete-page" %}</button>
+        <button type="submit" class="btn btn-primary">{% trans "StaticPage__edit__submit_btn" %}</button>
       </div>
     </div>
   </form>
 
   <form method="post"
         action="{% url 'backoffice:wiki-page-revision-delete' pk=object.pk %}"
-        onsubmit="return confirm('{% trans "StaticPageRevision--delete-confirm" %}')">
+        onsubmit="return confirm('{% trans "StaticPageRevision__delete-confirm" %}')">
     {% csrf_token %}
 
     <div class="card mt-2">
-      <div class="card-header">{% trans "StaticPage--revisions" %}</div>
+      <div class="card-header">{% trans "StaticPage__revisions" %}</div>
       <div class="card-body">
         <table class="table table-sm">
           <thead>
             <tr>
-              <th>{% trans "StaticPageRevision--revision" %}</th>
-              <th>{% trans "StaticPageRevision--title" %}</th>
-              <th>{% trans "StaticPageRevision--author" %}</th>
-              <th>{% trans "StaticPageRevision--date" %}</th>
+              <th>{% trans "StaticPageRevision__revision" %}</th>
+              <th>{% trans "StaticPageRevision__title" %}</th>
+              <th>{% trans "StaticPageRevision__author" %}</th>
+              <th>{% trans "StaticPageRevision__date" %}</th>
               <th>&nbsp;</th>
             </tr>
           </thead>
@@ -67,7 +67,7 @@
                   <button class="btn btn-danger btn-sm"
                           type="submit"
                           name="revision"
-                          value="{{ revision.revision }}">{% trans "StaticPageRevision--delete" %}</button>
+                          value="{{ revision.revision }}">{% trans "StaticPageRevision__delete" %}</button>
                 </td>
               </tr>
             {% endfor %}
@@ -80,7 +80,7 @@
   {% if object.public_revision > 0 %}
     <div class="card mt-3">
       <div class="card-header">
-        {% blocktranslate %}StaticPage--preview {{ object.public_revision }}{% endblocktranslate%}
+        {% blocktranslate %}StaticPage__preview {{ object.public_revision }}{% endblocktranslate%}
       </div>
       <div class="card-body">{{ object.body_html|safe }}</div>
     </div>
diff --git a/src/backoffice/templates/registration/registration_form.html b/src/backoffice/templates/registration/registration_form.html
index 2777ccd35..8d1432323 100644
--- a/src/backoffice/templates/registration/registration_form.html
+++ b/src/backoffice/templates/registration/registration_form.html
@@ -3,10 +3,10 @@
 {% load i18n %}
 
 {% block content %}
-  <h2>{% trans "registration_signup_title" %}</h2>
+  <h2>{% trans "registration_sign_up_title" %}</h2>
   <form action="{% url "backoffice:signup" %}" method="post">
     {% csrf_token %}
     {% bootstrap_form form %}
-    <button type="submit" class="btn btn-primary">{% trans "registration_signup_btn" %}</button>
+    <button type="submit" class="btn btn-primary">{% trans "registration_sign_up_btn" %}</button>
   </form>
 {% endblock content %}
diff --git a/src/backoffice/templates/registration/reset_password_done.html b/src/backoffice/templates/registration/reset_password_done.html
index 03100841c..bc0934169 100644
--- a/src/backoffice/templates/registration/reset_password_done.html
+++ b/src/backoffice/templates/registration/reset_password_done.html
@@ -5,6 +5,6 @@
   <h2>{% trans "registration_reset_password_done_title" %}</h2>
   <div class="alert alert-success">
     <h3>{% trans "registration_reset_password_done" %}</h3>
-    <p>{% trans "registration_reset_password_mailsent" %}</p>
+    <p>{% trans "registration_reset_password_mail_sent" %}</p>
   </div>
 {% endblock content %}
diff --git a/src/backoffice/templates/registration/signup_done.html b/src/backoffice/templates/registration/signup_done.html
index 39f0e9150..bde3157a0 100644
--- a/src/backoffice/templates/registration/signup_done.html
+++ b/src/backoffice/templates/registration/signup_done.html
@@ -2,9 +2,9 @@
 {% load i18n %}
 
 {% block content %}
-  <h2>{% trans "registration_signup_title" %}</h2>
+  <h2>{% trans "registration_sign_up_title" %}</h2>
   <div class="alert alert-success">
-    <h3>{% trans "registration_signup_done" %}</h3>
-    <p>{% trans "registration_signup_mailsent" %}</p>
+    <h3>{% trans "registration_sign_up_done" %}</h3>
+    <p>{% trans "registration_sign_up_mail_sent" %}</p>
   </div>
 {% endblock content %}
diff --git a/src/backoffice/views/assemblies/assemblies.py b/src/backoffice/views/assemblies/assemblies.py
index eace26ccc..9269bf662 100644
--- a/src/backoffice/views/assemblies/assemblies.py
+++ b/src/backoffice/views/assemblies/assemblies.py
@@ -36,18 +36,18 @@ class AssemblyListView(ConferenceLoginRequiredMixin, View):
 
     def get(self, *args, **kwargs):
         if self.request.user.is_authenticated:
-            myassemblies = list(Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=False))
+            my_assemblies = list(Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=False))
 
             # remove stored backlink for assembly pages from the session if it is set, so the backlink will go to the overview, which is the default
             self.request.session.pop('assembly_back', None)
         else:
-            myassemblies = None
+            my_assemblies = None
 
         ctx = self.get_context_data()
         ctx.update(
             {
                 'active_page': 'home',
-                'myassemblies': myassemblies,
+                'my_assemblies': my_assemblies,
             }
         )
 
@@ -190,26 +190,26 @@ class AssemblyUpdateView(AssemblyMixin, UpdateView):
                         if (min_value := field.get('min_value')) is not None:
                             if val < min_value:
                                 val = min_value
-                                messages.warning(self.request, _('assemblyedit_cfintbelowmin') + ' ' + field.get('caption', {}).get(get_language(), key))
+                                messages.warning(self.request, _('Assembly__edit__cf_int_below_min') + ' ' + field.get('caption', {}).get(get_language(), key))
 
                         if (max_value := field.get('max_value')) is not None:
                             if val > max_value:
                                 val = max_value
-                                messages.warning(self.request, _('assemblyedit_cfintabovemax') + ' ' + field.get('caption', {}).get(get_language(), key))
+                                messages.warning(self.request, _('Assembly__edit__cf_int_above_max') + ' ' + field.get('caption', {}).get(get_language(), key))
 
                     else:
                         val = None
 
                 except ValueError:
                     val = None
-                    messages.warning(self.request, _('assemblyedit_cfinterror') + ' ' + field.get('caption', {}).get(get_language(), key))
+                    messages.warning(self.request, _('Assembly__edit__cf_int_error') + ' ' + field.get('caption', {}).get(get_language(), key))
 
             elif field_type == 'date':
                 try:
                     val = date.fromisoformat(val) if val else None
                 except ValueError:
                     val = None
-                    messages.warning(self.request, _('assemblyedit_cfdateerror') + ' ' + field.get('caption', {}).get(get_language(), key))
+                    messages.warning(self.request, _('Assembly__edit__cf_date_error') + ' ' + field.get('caption', {}).get(get_language(), key))
 
                 if val is not None:
                     val_daterangeerror = False
@@ -234,7 +234,7 @@ class AssemblyUpdateView(AssemblyMixin, UpdateView):
                             pass
 
                     if val_daterangeerror:
-                        messages.warning(self.request, _('assemblyedit_cfdaterangeerror') + ' ' + field.get('caption', {}).get(get_language(), key))
+                        messages.warning(self.request, _('Assembly__edit__cf_date_range_error') + ' ' + field.get('caption', {}).get(get_language(), key))
 
                 val = val.isoformat() if val else None
 
@@ -243,7 +243,7 @@ class AssemblyUpdateView(AssemblyMixin, UpdateView):
                     if self.request.POST.get('additional_fields[' + key + '_option]') is None:
                         val = None
                     else:
-                        messages.warning(self.request, _('assemblyedit_cfoption_missingdetails') + ' ' + field.get('caption', {}).get(get_language(), key))
+                        messages.warning(self.request, _('Assembly__edit__cf_option_missing_details') + ' ' + field.get('caption', {}).get(get_language(), key))
 
             if (old_val := old_af.get(key)) != val:
                 changes[f'registration_data.{key}'] = (old_val, val)
@@ -292,7 +292,7 @@ class AssemblyUpdateView(AssemblyMixin, UpdateView):
         assembly.save()
 
         # log the action
-        messages.success(self.request, _('assemblyedit__success'))
+        messages.success(self.request, _('Assembly__edit__success'))
         logger.info(
             'Assembly "%(slug)s" (%(pk)s) edited by <%(user)s>: %(changes)s',
             {
@@ -407,7 +407,7 @@ class AssemblyLinksUpdateView(AssemblyMixin, View):
                 linked_assemblies_old = len(self.assembly.linked_assemblies)
                 _link, link_created = assembly.assembly_links.get_or_create(b=linked_assembly, is_public=True, type=AssemblyLink.Type.RELATED)
                 if link_created:
-                    messages.success(request, gettext('assemblyedit_addedlink').format(linked_name=linked_assembly.name))
+                    messages.success(request, gettext('Assembly__edit__link__added').format(linked_name=linked_assembly.name))
                     linked_assemblies = len(self.assembly.linked_assemblies)
                     self.assembly.log_activity(
                         user=self.request.user,
@@ -426,7 +426,7 @@ class AssemblyLinksUpdateView(AssemblyMixin, View):
                 count, _model = link.delete()
                 linked_assemblies = len(self.assembly.linked_assemblies)
                 if count > 0:
-                    messages.success(request, gettext('assemblyedit_removedlink').format(linked_name=link.b.name))
+                    messages.success(request, gettext('Assembly__edit__link__removed').format(linked_name=link.b.name))
                     self.assembly.log_activity(
                         user=self.request.user,
                         kind=ActivityLogEntry.Kind.STAFF if self.staff_access else ActivityLogEntry.Kind.ENTITY,
diff --git a/src/backoffice/views/assemblies/auth.py b/src/backoffice/views/assemblies/auth.py
index 4ea995fd7..88e099f55 100644
--- a/src/backoffice/views/assemblies/auth.py
+++ b/src/backoffice/views/assemblies/auth.py
@@ -49,7 +49,7 @@ class AuthView(AssemblyMixin, FormView):
                 self.request,
                 format_html(
                     '{msg}:<br><strong><code>{secret}</code></strong>',
-                    msg=_('Application__newclientsecret'),
+                    msg=_('Application__new_client_secret'),
                     secret=app_client_secret,
                 ),
             )
@@ -74,7 +74,7 @@ class AuthGetTokenView(AssemblyMixin, View):
         token = Token(user=technical_user)
         token.save()
 
-        messages.success(self.request, format_lazy(_('Assembly__authentication__newtoken'), assembly=self.assembly.name, token=token.key))
+        messages.success(self.request, format_lazy(_('Assembly__authentication__new_token'), assembly=self.assembly.name, token=token.key))
         logger.info(
             'New API auth token generated for "%(technical_user)s" (assembly %(assembly)s by %(user)s)',
             {'technical_user': technical_user, 'assembly': self.assembly, 'user': self.request.user},
diff --git a/src/backoffice/views/assemblies/rooms.py b/src/backoffice/views/assemblies/rooms.py
index 2a1444d9e..8d30f96e5 100644
--- a/src/backoffice/views/assemblies/rooms.py
+++ b/src/backoffice/views/assemblies/rooms.py
@@ -52,7 +52,7 @@ class AssemblyRoomUpdateView(AssemblyMixin, UpdateView):
         ctx['link_edit'] = self.link_edit
 
         if self.object.room_type == Room.RoomType.HANGAR:
-            ctx['legal_warning'] = _('Room-new-hangar__legal_hint')
+            ctx['legal_warning'] = _('Room__new-hangar__legal_hint')
             ctx['can_delete'] = False
 
         return ctx
@@ -148,7 +148,7 @@ class AssemblyRoomCreateView(AssemblyMixin, FormView):
             ctx['support_hangar'] = settings.INTEGRATIONS_HANGAR
 
         elif self.room_type == Room.RoomType.HANGAR:
-            ctx['legal_warning'] = _('Room-new-hangar__legal_hint')
+            ctx['legal_warning'] = _('Room__new-hangar__legal_hint')
 
         return ctx
 
diff --git a/src/backoffice/views/assemblyteam.py b/src/backoffice/views/assemblyteam.py
index 3afb1391c..c1a1633e2 100644
--- a/src/backoffice/views/assemblyteam.py
+++ b/src/backoffice/views/assemblyteam.py
@@ -194,7 +194,7 @@ class AssemblyView(SingleAssemblyTeamMixin, DetailView):
                 kind=ActivityLogEntry.Kind.STAFF,
                 comment=comment,
             )
-            messages.success(self.request, _('assemblyteam_addcomment_success'))
+            messages.success(self.request, _('AssemblyTeam__add_comment_success'))
         return redirect('backoffice:assemblyteam-detail', self.assembly.id)
 
 
@@ -457,7 +457,7 @@ class AssemblyEditStateView(SingleAssemblyTeamMixin, View):
         )
 
         # log the action
-        messages.success(request, gettext('assemblyedit_changedstate'))
+        messages.success(request, gettext('Assembly__edit__changed_state'))
         logger.info(
             'Assembly "%(assembly_slug)s" (%(assembly_pk)s): set state to "%(state)s" upon request by <%(user)s>.',
             {
@@ -511,14 +511,14 @@ class AssemblyEditHierarchyView(SingleAssemblyTeamMixin, View):
 
         # don't allow changing cluster to regular if it has children
         if value == Assembly.Hierarchy.REGULAR and assembly.is_cluster and assembly.children.exists():
-            messages.error(request, gettext('assemblyedit_clusterstillhaschildren'))
+            messages.error(request, gettext('Assembly__edit__cluster_still_has_children'))
             return redirect(reverse('backoffice:assemblyteam-edithierarchy', kwargs={'pk': assembly.pk}) + '?value=' + value)
 
         assembly.hierarchy = value
         assembly.save(update_fields=['hierarchy'])
 
         # log the action
-        messages.success(request, gettext('assemblyedit_changedhierarchy'))
+        messages.success(request, gettext('Assembly__edit__changed_hierarchy'))
         logger.info(
             'Assembly "%(assembly_slug)s" (%(assembly_pk)s): set hierarchy to "%(state)s" upon request by <%(user)s>.',
             {
@@ -611,7 +611,7 @@ class AssemblyEditPlacementView(SingleAssemblyTeamMixin, View):
 
         except ValueError:
             logger.exception('Failed to update position of assembly %s', assembly.pk)
-            messages.error(request, gettext('assemblyedit_position_error'))
+            messages.error(request, gettext('Assembly__edit__position_error'))
             return redirect('backoffice:assemblyteam-editposition', pk=assembly.pk)
 
         if action == 'publish':
@@ -620,7 +620,7 @@ class AssemblyEditPlacementView(SingleAssemblyTeamMixin, View):
                 assembly.state = Assembly.State.PLACED
                 changes['state'] = assembly.state
             else:
-                messages.warning(request, gettext('assemblyedit_position_missingonpublish'))
+                messages.warning(request, gettext('Assembly__edit__position_missing_on_publish'))
                 return redirect('backoffice:assemblyteam-editposition', pk=assembly.pk)
 
         elif action == 'recall':
@@ -628,15 +628,15 @@ class AssemblyEditPlacementView(SingleAssemblyTeamMixin, View):
                 assembly.state = Assembly.State.ACCEPTED
                 changes['state'] = assembly.state
             else:
-                messages.warning(request, gettext('assemblyedit_position_wasnotpublished'))
+                messages.warning(request, gettext('Assembly__edit__position_was_not_published'))
 
         elif action != 'save':
-            messages.warning(request, gettext('assemblyedit_position_unknownaction'))
+            messages.warning(request, gettext('Assembly__edit__position_unknown_action'))
 
         assembly.save(update_fields=['state', 'location_point', 'location_boundaries', 'location_floor', 'location_data'])
 
         # log the action
-        messages.success(request, gettext('assemblyedit_changedposition'))
+        messages.success(request, gettext('Assembly__edit__changed_position'))
         logger.info(
             'Assembly "%(assembly_slug)s" (%(assembly_pk)s): set POI to "%(poi)s" & boundaries to "%(boundaries)s" & floor to "%(floor)s" upon request by <%(user)s>.',  # noqa:E501
             {
@@ -656,7 +656,7 @@ class AssemblyEditPlacementView(SingleAssemblyTeamMixin, View):
         )
 
         if assembly.state != old_values['state']:
-            messages.success(request, gettext('assemblyedit_changedstate'))
+            messages.success(request, gettext('Assembly__edit__changed_state'))
             logger.info(
                 'Assembly "%(assembly_slug)s" (%(assembly_pk)s): changed state to "%(state)s" upon request by <%(user)s>.',
                 {
diff --git a/src/backoffice/views/mixins.py b/src/backoffice/views/mixins.py
index 53e4abd09..4546811fd 100644
--- a/src/backoffice/views/mixins.py
+++ b/src/backoffice/views/mixins.py
@@ -220,7 +220,7 @@ class AssemblyMixinBase:
 
         sidebar = []
         context['sidebar'] = {
-            'back_link': {'link': reverse('backoffice:index'), 'caption': _('myassemblies')},
+            'back_link': {'link': reverse('backoffice:index'), 'caption': _('my_assemblies')},
             'title': assembly.slug,
             'title_link': reverse('backoffice:assembly', kwargs={'pk': assembly.id}),
             'items': sidebar,
diff --git a/src/backoffice/views/profile.py b/src/backoffice/views/profile.py
index 765ea3ee9..c8c2918a8 100644
--- a/src/backoffice/views/profile.py
+++ b/src/backoffice/views/profile.py
@@ -18,7 +18,7 @@ class ProfileView(ConferenceLoginRequiredMixin, FormView):
 
     def form_valid(self, form):
         form.save()
-        messages.success(self.request, _('userprofile_updated'))
+        messages.success(self.request, _('user_profile_updated'))
         return redirect('backoffice:profile')
 
     def get_context_data(self, *args, **kwargs):
diff --git a/src/backoffice/views/wiki.py b/src/backoffice/views/wiki.py
index c4326412e..72ed2f065 100644
--- a/src/backoffice/views/wiki.py
+++ b/src/backoffice/views/wiki.py
@@ -153,11 +153,11 @@ class PageView(WikiAdminMixin, UpdateView):
         return context
 
     def form_valid(self, form):
-        messages.success(self.request, _('StaticPage--changedmetadata') + ': ' + self.object.slug)
+        messages.success(self.request, _('StaticPage__metadata_changed') + ': ' + self.object.slug)
         return super().form_valid(form)
 
     def form_invalid(self, form):
-        messages.error(self.request, _('StaticPage--notchangedmetadata') + ': ' + self.object.slug)
+        messages.error(self.request, _('StaticPage__metadata_not_changed') + ': ' + self.object.slug)
         return super().form_invalid(form)
 
     def get_success_url(self, *args, **kwargs):
@@ -173,7 +173,7 @@ class PageDeleteView(WikiAdminMixin, DeleteView):
 
     def form_valid(self, form):
         res = super().form_valid(form)
-        messages.success(self.request, _('StaticPage--deleted'))
+        messages.success(self.request, _('StaticPage__deleted'))
         return res
 
 
@@ -190,5 +190,5 @@ class PageRevisionDeleteView(WikiAdminMixin, DeleteView):
 
     def form_valid(self, form):
         res = super().form_valid(form)
-        messages.success(self.request, _('StaticPageRevision--deleted'))
+        messages.success(self.request, _('StaticPageRevision__deleted'))
         return res
diff --git a/src/core/management/commands/serviceusers.py b/src/core/management/commands/serviceusers.py
index d298295db..70aa63443 100644
--- a/src/core/management/commands/serviceusers.py
+++ b/src/core/management/commands/serviceusers.py
@@ -11,10 +11,10 @@ class Command(BaseCommand):
     def handle(self, *args, **options):
         total_tokens, new_tokens = 0, 0
         for u in PlatformUser.objects.filter(user_type='service'):
-            token, newtoken = Token.objects.get_or_create(user=u)
+            token, new_token = Token.objects.get_or_create(user=u)
             total_tokens += 1
 
-            if newtoken:
+            if new_token:
                 new_tokens += 1
                 style = self.style.WARNING
             else:
-- 
GitLab