diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4ed3a9935c5fe3f9afae84d6cb4f79068d05c95e..6d0424f22439b9ce695c2230c2bf5654cbb44841 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -48,7 +48,7 @@ repos:
       - name: Check for uncreated migrations.
         id: migrations-check
         language: system
-        entry: sh -c "src/manage.py makemigrations --check --dry-run"
+        entry: sh -c "pdm manage makemigrations --check --dry-run"
         files: "models/.*.py$"
         types:
           - python
diff --git a/pdm.lock b/pdm.lock
index 3f90458bbadf6301dba2b7baf3f11e234ea74402..5f6cc98c57936370f91c3de39f8a10fa1a4d236d 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -5,7 +5,7 @@
 groups = ["default", "dev", "lint", "local", "static-analysis", "typing", "watchfiles"]
 strategy = ["inherit_metadata"]
 lock_version = "4.5.0"
-content_hash = "sha256:6cd999df91d09b33edb8b107d34fb834eab68578ffd4ef259d54d373443858bd"
+content_hash = "sha256:43da701dd7bbc3d2e5cc1f4f75912657fd1030067769f5ad070832b790edc0e8"
 
 [[metadata.targets]]
 requires_python = "==3.13.*"
@@ -1359,31 +1359,23 @@ files = [
 
 [[package]]
 name = "pillow"
-version = "11.0.0"
-requires_python = ">=3.9"
+version = "10.4.0"
+requires_python = ">=3.8"
 summary = "Python Imaging Library (Fork)"
 groups = ["default"]
 files = [
-    {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"},
-    {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"},
-    {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"},
-    {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"},
-    {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"},
-    {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"},
-    {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"},
-    {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"},
-    {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"},
-    {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"},
-    {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"},
-    {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"},
-    {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"},
-    {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"},
-    {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"},
-    {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"},
-    {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"},
-    {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"},
-    {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"},
-    {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"},
+    {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"},
+    {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"},
+    {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"},
+    {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"},
+    {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"},
+    {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"},
+    {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"},
+    {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"},
+    {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"},
+    {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"},
+    {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"},
+    {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"},
 ]
 
 [[package]]
diff --git a/pyproject.toml b/pyproject.toml
index 6c9041f25fe7ea2e3164a768f37929a5f3c81497..93a8954906ba7a08d1cc6a5245f04758646f6610 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -31,7 +31,7 @@ dependencies = [
     "openpyxl~=3.1.2",
     "ordered-set~=4.1.0",
     "pandas~=2.2.3",
-    "Pillow~=11.0",
+    "Pillow<11.0",
     "Pygments~=2.18",
     "pyjwt~=2.9.0",
     "requests-file>=2.0.0,<3",
diff --git a/requirements.dev.txt b/requirements.dev.txt
index 4160fd4e900fd563bad44286857c0d8bffd037a4..01eaab00841cce5de03882556471963eb6a9946a 100644
--- a/requirements.dev.txt
+++ b/requirements.dev.txt
@@ -87,7 +87,7 @@ pandas==2.2.3
 pathspec==0.12.1
 pbs-installer==2024.10.16
 pdm==2.21.0
-pillow==11.0.0
+pillow==10.4.0
 platformdirs==4.3.6
 pluggy==1.5.0
 pre-commit==4.0.1
diff --git a/requirements.txt b/requirements.txt
index 9c1e18bd6c550b572878d3cd2d7a8e964709cb3d..5bc528d38184976c29cf9be7b66e006ab53e3c15 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -62,7 +62,7 @@ packaging==24.2
 pandas==2.2.3
 pbs-installer==2024.10.16
 pdm==2.21.0
-pillow==11.0.0
+pillow==10.4.0
 platformdirs==4.3.6
 psycopg-binary==3.2.3; implementation_name != "pypy"
 psycopg-pool==3.2.4
diff --git a/src/api/schedule.py b/src/api/schedule.py
index 0050b9e7ee3a6aecbed4333948fc514f1710324c..104128c13ea107f3e86b6d766b4b7e9985986c6c 100644
--- a/src/api/schedule.py
+++ b/src/api/schedule.py
@@ -162,7 +162,7 @@ class ScheduleEncoder(json.JSONEncoder):
         start = event.schedule_start.astimezone(tz or self.tz) if event.schedule_start is not None else None
         additional_data = event.additional_data or {}
         legacy_id = additional_data.get('id') or int(re.sub('[^0-9]+', '', str(event.id))[0:6])
-        slug = f'{event.conference.slug}-{legacy_id}-{event.slug}'
+        slug = f'{event.conference.slug}-{event.slug}'
 
         if event.streaming == Event.Streaming.NO:
             additional_data['do_not_stream'] = True
diff --git a/src/backoffice/forms/events.py b/src/backoffice/forms/events.py
index 819ca7fd2f641e63dced69cd11987e383572380a..91695593dbc0f6c14389ee2cf3e4d7fa8edfbb7d 100644
--- a/src/backoffice/forms/events.py
+++ b/src/backoffice/forms/events.py
@@ -39,7 +39,7 @@ class EventForm(TranslatedFieldsForm):
             'schedule_start': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%dT%H:%M:%S%z'),
         }
 
-    tags_list = forms.CharField(required=False, label=_('Tags'), help_text=_('Project__tags__help'))
+    tags_list = forms.CharField(required=False, label=_('Tags'), help_text=_('Event__tags__help'))
 
     def __init__(
         self,
diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po
index 568af6a174a4db08804a702e820f64071c3ec595..64ffad6a43f9e5b08bab706bbede6dab43bbfa40 100644
--- a/src/backoffice/locale/de/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/de/LC_MESSAGES/django.po
@@ -53,8 +53,8 @@ msgstr "Ende (YYYY-mm-dd HH:MM:SS)"
 msgid "Tags"
 msgstr ""
 
-msgid "Project__tags__help"
-msgstr "Unter diesen Tags wird das Project zu finden sein"
+msgid "Event__tags__help"
+msgstr "Unter diesen Tags wird die Veranstaltung zu finden sein"
 
 msgid "SoS"
 msgstr "Self-organized Session"
diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po
index c23341ef5f5eb961e4d17aef1b6eb963ce41b51c..b04ff9a200019d4cbaf213b25ae1f6242969f6bb 100644
--- a/src/backoffice/locale/en/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/en/LC_MESSAGES/django.po
@@ -53,8 +53,8 @@ msgstr "end (YYYY-mm-dd HH:MM:SS)"
 msgid "Tags"
 msgstr ""
 
-msgid "Project__tags__help"
-msgstr "The project will be found under these tags"
+msgid "Event__tags__help"
+msgstr "The event will be found under these tags"
 
 msgid "SoS"
 msgstr "Self-Organized Session"
diff --git a/src/backoffice/templates/backoffice/schedule_source-detail.html b/src/backoffice/templates/backoffice/schedule_source-detail.html
index 474b7c5d2d95350895583f87b5992ab3be16f9e3..2122ae2de9557aecdc34277179b406c8cf5f687d 100644
--- a/src/backoffice/templates/backoffice/schedule_source-detail.html
+++ b/src/backoffice/templates/backoffice/schedule_source-detail.html
@@ -40,7 +40,7 @@
       <p>
         Configuration:
         <br>
-        <pre class="border"><code>{{ object.import_configuration_masked }}</code></pre>
+        <pre class="border"><code>{{ object.import_configuration_masked|json_indent }}</code></pre>
       </p>
     </div>
   </div>
diff --git a/src/backoffice/templates/backoffice/schedule_source_import-detail.html b/src/backoffice/templates/backoffice/schedule_source_import-detail.html
index 2e16e127146defc51d12375da6fe432f18434431..8b7e2c2597d29b28450036f892667917660171ba 100644
--- a/src/backoffice/templates/backoffice/schedule_source_import-detail.html
+++ b/src/backoffice/templates/backoffice/schedule_source_import-detail.html
@@ -4,6 +4,13 @@
 
 {% block content %}
 
+  {% if object.data %}
+    <div class="float-end">
+      <a href="{% url 'backoffice:schedulesourceimport-detail-data' pk=object.pk %}"
+         class="btn btn-outline-primary">data as JSON</a>
+    </div>
+  {% endif %}
+
   <h1>
     ScheduleSourceImport for "<span title="{{ object.schedule_source.assembly.name }}">{{ object.schedule_source.assembly.slug }}</span>"
   </h1>
@@ -14,6 +21,9 @@
       Source <a href="{% url 'backoffice:schedulesource-detail' pk=object.schedule_source_id %}"><code>{{ object.schedule_source_id }}</code></a>
     </div>
     <div class="card-body">
+      <p>
+        URL: <strong><a href="{{ object.schedule_source.import_url }}">{{ object.schedule_source.import_url }}</a></strong>
+      </p>
       <p>
         State: <strong class="{{ object.text_color_class }}">{{ object.state }}</strong>
       </p>
@@ -95,11 +105,4 @@
     </div>
   {% endif %}
 
-  {% if object.data %}
-    <div class="text-center">
-      <a href="{% url 'backoffice:schedulesourceimport-detail-data' pk=object.pk %}"
-         class="btn btn-outline-primary">data as JSON</a>
-    </div>
-  {% endif %}
-
 {% endblock content %}
diff --git a/src/backoffice/templates/backoffice/sos_create_edit.html b/src/backoffice/templates/backoffice/sos_create_edit.html
index 36ae74b410bad1965662b452afbc46122a2214fa..ffaf7806ea2f0f62b801233a9b5a498d70f29d87 100644
--- a/src/backoffice/templates/backoffice/sos_create_edit.html
+++ b/src/backoffice/templates/backoffice/sos_create_edit.html
@@ -107,7 +107,7 @@
               <span>{% trans "Event_publication_errors" %}</span>
               <ul>
                 {% for field, error in publication_errors.items %}
-                  {% with "SoS__"|add:field as field_name %}
+                  {% with "Event__"|add:field as field_name %}
                     <li>{% trans field_name %}: {{ error.0 }}</li>
                   {% endwith %}
                 {% endfor %}
diff --git a/src/core/models/rooms.py b/src/core/models/rooms.py
index 0ab54546ad3e23d311cb367d608c2e13e593236d..d33ff8ce7b9e8fda72e33508023753e3cf9c549a 100644
--- a/src/core/models/rooms.py
+++ b/src/core/models/rooms.py
@@ -350,7 +350,7 @@ class Room(BackendMixin, models.Model):
             if fld in data:
                 value = data[fld] if not pop_used_keys else data.pop(fld)
                 if fld in integer_fields:
-                    value = int(value)
+                    value = int(value) if value else None
                 elif fld in bool_fields:
                     value = str2bool(value)
                 setattr(obj, fld, value)
diff --git a/src/core/models/schedules.py b/src/core/models/schedules.py
index 3e394cb9cfd7e64251ac33efe66eb9f6cef601fa..aed616a497c2659faa6e4b1bf292f6dd723c06bc 100644
--- a/src/core/models/schedules.py
+++ b/src/core/models/schedules.py
@@ -348,8 +348,6 @@ class ScheduleSource(models.Model):
                 )
                 logging.exception('Import on ScheduleSource %s encountered exception on creating mapping for %s "%s".', self.pk, item_type, item_source_id)
 
-                # ... and delete the incomplete (wrong) mapping
-                mapping.delete()
                 return 'error'
 
             else:
@@ -473,6 +471,7 @@ class ScheduleSource(models.Model):
             """
 
             # for the source id use the provided id, uuid or guid field (in order)
+            # TODO move id to end
             speaker_id = speaker_info.get('id') or speaker_info.get('uuid') or speaker_info.get('guid')
 
             # sanity check: verify that required attributes are present
diff --git a/src/core/schedules/schedulejson.py b/src/core/schedules/schedulejson.py
index 389339c347ea16f9b72c3f079acafc3fbe50da20..63063eae8895a1a935b19114ba8aca7f75a7259f 100644
--- a/src/core/schedules/schedulejson.py
+++ b/src/core/schedules/schedulejson.py
@@ -15,10 +15,15 @@ class ScheduleJSONSupport(BaseScheduleSupport):
     identifier = 'schedule-json'
     readonly = True
 
+    # fmt: off
     configuration_fields = {
-        'feedback': ('bool', True, False, 'Enable/Disable feedback url generation'),
-        'kind': ('string', 'assembly', False, 'kind of events, either "assembly" or "official" or "sos" or "lightning"'),
+        # 'key':    (type, default value, mandatory, translation text)
+        'feedback': ('bool',   True,       False, 'Enable/Disable feedback url generation'),
+        'kind':     ('string', 'assembly', False, 'kind of events, either `assembly` or `official` or `sos` or `lightning`'),
+        'headers':  ('dict',   {},         False, 'HTTP headers to send with the request e.g. Authorization'),
+        'auth':     ('string', None,       False, 'HTTP Authentification header e.g. `Token 123456`'),
     }
+    # fmt: on
 
     def ready(self):
         r = s.head(self.remote_url)
@@ -38,9 +43,14 @@ class ScheduleJSONSupport(BaseScheduleSupport):
         all events need to have an unique but stable identifier, i.e.
         if the name of the event changes the identifier must not change!
         """
-
-        schedule = ScheduleJSON.from_url(self.remote_url, language='en')
-        schedule_de = ScheduleJSON.from_url(self.remote_url, language='de', event_map=True)
+        headers = {}
+        if self.conf_value('headers'):
+            headers = self.conf_value('headers')
+        if self.conf_value('auth'):
+            headers['Authorization'] = self.conf_value('auth')
+
+        schedule = ScheduleJSON.from_url(self.remote_url, headers={**headers, 'Accept-Language': 'en'})
+        schedule_de = ScheduleJSON.from_url(self.remote_url, headers={**headers, 'Accept-Language': 'de'}, event_map=True)
         instance = urlparse(schedule.get('base_url', self.remote_url))
         host = f'//{instance.netloc}'
 
@@ -101,8 +111,8 @@ class ScheduleJSON:
             self._events = {e.get('guid'): e for e in self.events()}
 
     @classmethod
-    def from_url(cls, url, client=None, language=None, event_map=False):
-        r = (client if client else s).get(url, headers={'Accept-Language': language} if language else None)
+    def from_url(cls, url, client=None, headers=None, event_map=False):
+        r = (client if client else s).get(url, headers=headers)
         if r.ok is False:
             raise Exception(f'Request failed, HTTP {r.status_code}.')
 
diff --git a/src/core/schedules/schedulejsonfrab.py b/src/core/schedules/schedulejsonfrab.py
index 5af35f9cc06edd54b62fa52197ab9b63d657424e..642daea7faf829aef31013e203a92f204d39d08c 100644
--- a/src/core/schedules/schedulejsonfrab.py
+++ b/src/core/schedules/schedulejsonfrab.py
@@ -19,13 +19,15 @@ class ScheduleJSONFrabSupport(ScheduleJSONSupport):
     identifier = 'schedule-json-frab'
     readonly = True
 
+    # fmt: off
     configuration_fields = {
-        'feedback': ('bool', True, False, 'Enable/Disable feedback url generation'),
-        'kind': ('string', 'assembly', False, 'kind of events, either "assembly" or "official" or "sos" or "lightning"'),
+        'feedback':        ('bool',   True, False, 'Enable/Disable feedback url generation'),
+        'kind':            ('string', 'assembly', False, 'kind of events, either "assembly" or "official" or "sos" or "lightning"'),
         'images_base_url': (['bool', 'str'], False, False, 'Use image urls from origin instead of hub'),
-        'host': ('string', 'https://frab.cccv.de/', False, 'overwrite Base URL of the schedule, used for feedback page, images, etc.'),
-        'auth': ('string', None, False, 'login data for frab instance, format: user:password'),
+        'host':            ('string', 'https://frab.cccv.de/', False, 'overwrite Base URL of the schedule, used for feedback page, images, etc.'),
+        'auth':            ('string',  None, False, 'login data for frab instance, format: user:password'),
     }
+    # fmt: on
 
     origin_base_url = None
 
diff --git a/src/core/utils.py b/src/core/utils.py
index a39e515cbdd1f0560c81d6e65c6943f7c8adecf4..c084a7b45eec011da92cf4228d05c4c86e7714fe 100644
--- a/src/core/utils.py
+++ b/src/core/utils.py
@@ -6,13 +6,13 @@ import subprocess
 import tempfile
 import uuid
 from datetime import UTC, datetime, timedelta
-from io import BytesIO
 from pathlib import Path
 from string import ascii_letters, digits
 from urllib.parse import parse_qs, urlparse, urlunparse
 
 import requests
 
+from django.core.files.base import ContentFile
 from django.urls import NoReverseMatch
 from django.utils.functional import cached_property
 from django.utils.html import strip_tags
@@ -217,7 +217,7 @@ def download_from_url(url: str) -> tuple[str, bytes]:
 
     # read the binary content
     r.raw.decode_content = True
-    data = BytesIO(r.content)
+    data = ContentFile(r.content)
 
     # return the result
     return filename, data
diff --git a/src/plainui/jinja2/plainui/event.html.j2 b/src/plainui/jinja2/plainui/event.html.j2
index 2730a046532c209522bcd0b880b56a57dbd1ad49..b47091dc2dd93369bea23a0815cc51c24442a090 100644
--- a/src/plainui/jinja2/plainui/event.html.j2
+++ b/src/plainui/jinja2/plainui/event.html.j2
@@ -134,6 +134,7 @@
                 <a href=" {{ event.additional_data.get("feedback_url") }}"
                    class="btn btn-primary"
                    target="_blank">
+                  title="{{ _('Click here to let us know how you liked this event') }}"
                   <i class="bi bi-hand-thumbs-up"></i>
                   <i class="bi bi-hand-thumbs-down"></i>
                   {{ _("Rate event") }}
diff --git a/src/plainui/locale/de/LC_MESSAGES/django.po b/src/plainui/locale/de/LC_MESSAGES/django.po
index f63908995f5d51b9b5b66362fdac24971578f78f..1c39633ed7a997d8c7c43904e7edd6f7fbe6e52b 100644
--- a/src/plainui/locale/de/LC_MESSAGES/django.po
+++ b/src/plainui/locale/de/LC_MESSAGES/django.po
@@ -427,6 +427,9 @@ msgstr "Zurück"
 msgid "Follow Link"
 msgstr "Link folgen"
 
+msgid "Click here to let us know how you liked this event"
+msgstr "Klicke hier, um uns mitzuteilen, wie dir diese Veranstaltung gefallen hat"
+
 msgid "Rate event"
 msgstr "Event bewerten"
 
diff --git a/src/plainui/locale/en/LC_MESSAGES/django.po b/src/plainui/locale/en/LC_MESSAGES/django.po
index d942c5544b2711cb50e524b05f7271ae611af523..59458723b50e9a01f58a51acd62079b794ce3bd1 100644
--- a/src/plainui/locale/en/LC_MESSAGES/django.po
+++ b/src/plainui/locale/en/LC_MESSAGES/django.po
@@ -427,6 +427,9 @@ msgstr ""
 msgid "Follow Link"
 msgstr "Follow Link"
 
+msgid "Click here to let us know how you liked this event"
+msgstr ""
+
 msgid "Rate event"
 msgstr "Rate event"
 
@@ -1053,7 +1056,7 @@ msgstr ""
 
 #, python-format
 msgid "Tag %(name)s"
-msgstr "Day %(name)s"
+msgstr "Tag %(name)s"
 
 #, python-format
 msgid "Conference %(conf)s - Password Reset"