diff --git a/src/backoffice/views/schedules.py b/src/backoffice/views/schedules.py
index e993d94c9108f10a5ff2d566cad0253fce908ef8..9b140857417f06dfbcea6e0d03baaaa915a0e45b 100644
--- a/src/backoffice/views/schedules.py
+++ b/src/backoffice/views/schedules.py
@@ -128,7 +128,7 @@ class ScheduleSourceImportDetailView(ScheduleAdminMixin, DetailView):
         if data := ctx['object'].data:
             ctx['activity'] = sorted(
                 data.get('_activity', []),
-                key=lambda item: (action2sort.get(item["action"], 99), type2sort.get(item["type"], 99), item["source_id"]),
+                key=lambda item: (action2sort.get(item['action'], 99), type2sort.get(item['type'], 99), item['source_id']),
             )
         else:
             ctx['activity'] = None
diff --git a/src/core/templatetags/hub_absolute.py b/src/core/templatetags/hub_absolute.py
index 92988b1f58969fadaca8ff607b99fb50a92e2948..4e8db3b4cb5117a8bce128afd7e2817a58eb8ebb 100644
--- a/src/core/templatetags/hub_absolute.py
+++ b/src/core/templatetags/hub_absolute.py
@@ -1,8 +1,12 @@
+from typing import Optional
+
 from django.conf import settings
 from django.conf.urls.i18n import i18n_patterns
 from django.contrib import admin
+from django.http import HttpRequest
 from django.template.defaulttags import register
 from django.urls import NoReverseMatch, get_script_prefix, include, path, reverse, set_script_prefix
+from django.utils import translation
 
 PREFIXES = {
     'admin': settings.ADMIN_BASE_URL,
@@ -42,13 +46,28 @@ URL_CONFIGS = {
 
 
 @register.simple_tag
-def hub_absolute(url: str, *args, i18n: bool = True, query_string: str = '', **kwargs):
+def hub_absolute(url: str, *args, i18n: bool = True, lang: Optional[str] = None, query_string: str = '', **kwargs):
     try:
         app, _ = url.split(':')
     except ValueError:
         raise NoReverseMatch('No reverse found, missing namespace')
     thread_prefix = get_script_prefix()
     set_script_prefix(PREFIXES[app])
-    reverse_url = reverse(url, URL_CONFIGS['i18n' if i18n else 'plain'][app], current_app=app, args=args, kwargs=kwargs)
+    cur_language = translation.get_language()
+    try:
+        if lang:
+            # switch language if requested
+            translation.activate(lang)
+        reverse_url = reverse(url, URL_CONFIGS['i18n' if i18n else 'plain'][app], current_app=app, args=args, kwargs=kwargs)
+    finally:
+        translation.activate(cur_language)
     set_script_prefix(thread_prefix)
     return reverse_url if not query_string else f'{reverse_url}?{query_string}'
+
+
+@register.simple_tag
+def hub_absolute_self(request: HttpRequest, i18n: bool = True, lang: Optional[str] = None):
+    url = f'{request.resolver_match.app_name}:{request.resolver_match.url_name}'
+    query_string = request.META.get('QUERY_STRING')
+
+    return hub_absolute(url, i18n=i18n, lang=lang, query_string=query_string, *request.resolver_match.args, **request.resolver_match.kwargs)
diff --git a/src/plainui/jinja2.py b/src/plainui/jinja2.py
index c33949e63057e6487716b007a34d4eb5ccaf97b0..f06a6148c1e6056b8beed4cfbea9becfe09a7fbb 100644
--- a/src/plainui/jinja2.py
+++ b/src/plainui/jinja2.py
@@ -1,11 +1,11 @@
 import re
 from datetime import datetime, timedelta
-from django.conf import settings
 from typing import Any
 
 from jinja2 import Environment, pass_context
 from jinja2.runtime import Context
 
+from django.conf import settings
 from django.contrib.humanize.templatetags.humanize import NaturalTimeFormatter
 from django.contrib.messages import get_messages
 from django.http import HttpRequest
@@ -22,7 +22,7 @@ from modeltranslation.fields import build_localized_fieldname
 from modeltranslation.settings import AVAILABLE_LANGUAGES
 
 from core.models import PlatformUser, UserBadge
-from core.templatetags.hub_absolute import hub_absolute
+from core.templatetags.hub_absolute import hub_absolute, hub_absolute_self
 from core.templatetags.update_parameters import update_parameters
 
 from plainui.utils import fetch_wiki_page
@@ -284,6 +284,7 @@ def environment(**options):
             'get_language': get_language,
             'get_messages': get_messages,
             'hub_absolute': hub_absolute,
+            'hub_absolute_self': hub_absolute_self,
             'json_script': json_script,
             'num_of_notifications': num_of_notifications,
             'num_of_unread_messages': num_of_unread_messages,
diff --git a/src/plainui/jinja2/plainui/assembly.html b/src/plainui/jinja2/plainui/assembly.html
index b4c8a8ff6545d2ae82b6adb9d76feb32e18470d1..7da50ddd430427042447e7cc7b022de228eae05a 100644
--- a/src/plainui/jinja2/plainui/assembly.html
+++ b/src/plainui/jinja2/plainui/assembly.html
@@ -70,7 +70,7 @@
             {% if assembly.public_members %}
               <div class="hub-tags">
                 {%- for person in assembly.public_members %}
-                  {{ tagboxMacro.user(person.member.display_name, link=url('plainui:user', user_slug=person.member.slug) ) }}
+                  {{ tagboxMacro.user(person.member.display_name, link=url('plainui:user', user_slug=person.member.slug) if not archive_mode else None ) }}
                 {% endfor -%}
               </div>
               {% else %}
diff --git a/src/plainui/jinja2/plainui/components/header_buttons.html b/src/plainui/jinja2/plainui/components/header_buttons.html
index 4cde1609c239923aa6cd16c90b0252748f5c8280..beb55a1a0767da724c8e9759033d9b0ddbda1c88 100644
--- a/src/plainui/jinja2/plainui/components/header_buttons.html
+++ b/src/plainui/jinja2/plainui/components/header_buttons.html
@@ -52,6 +52,7 @@
     </svg>
   </a>
   <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="lang-select">
+    {% if not archive_mode %}
     <form
         class="hub-header__additional-lang"
         method="POST"
@@ -74,6 +75,10 @@
             {{ _("en") }}
         </button></li>
     </form>
+    {% else %}
+      <li><a class="dropdown-item" href="{{ hub_absolute_self(request, lang='de') }}">{{ _("de") }}</a></li>
+      <li><a class="dropdown-item" href="{{ hub_absolute_self(request, lang='en') }}">{{ _("en") }}</a></li>
+    {% endif %}
   </ul>
 {%- endmacro %}
 
@@ -140,7 +145,7 @@
 {% macro share(title=_("share this "), color="transparent" ) -%}
     {% if not disable_share %}
       <a
-          href="{{ hub_absolute(request.resolver_match.view_name, i18n=False, query_string=request.META.QUERY_STRING, *view.args, **view.kwargs) if view else hub_absolute(request.resolver_match.view_name, i18n=False, query_string=request.META.QUERY_STRING) }}"
+          href="{{ hub_absolute_self(request, i18n=archive_mode) }}"
           class="btn-icon-big btn-{{ color }} nav-link"
           title="{{ title }}"
           target="_blank"
diff --git a/src/plainui/jinja2/plainui/login.html b/src/plainui/jinja2/plainui/login.html
index 52c2ad0e9f415e9e0298689e71644d85cd730892..e58b7a8200e54e93ee5a7b19e5be0fce0530a29d 100644
--- a/src/plainui/jinja2/plainui/login.html
+++ b/src/plainui/jinja2/plainui/login.html
@@ -38,7 +38,7 @@
                 <p class="mb-2 text-white">{{ _("login--cookieinfo") }}</p>
 
                 <hr class="hub-spacer">
-                <h3>{{ _("New here?") }}</h2>
+                <h3>{{ _("New here?") }}</h3>
                     <div class="d-grid">
                         <a href="{{ url('plainui:signup') }}" class="btn btn-primary" title="{{ _(" sign up (new
                             account)") }}">