- Neuer .lang-switcher Komponente in css/lang-switcher.css, Variante fuer dunkle Lagebild-Seiten enthalten - Sprachumschalter im Header und Mobile-Menue aller DE-Seiten (index, impressum, datenschutz, lagen/*) - Englische Seiten unter /en/index.html, /en/legal-notice.html und /en/privacy.html mit kompletter Uebersetzung; rechtliche Texte mit Hinweis "German version shall prevail" - hreflang-Tags (de/en/x-default) auf Hauptseite und rechtlichen Seiten; Lagen-Seiten ohne hreflang bis EN-Versionen existieren - og:locale + og:locale:alternate gesetzt, Schema.org bleibt - Sitemap mit xhtml:link Alternates fuer beide Sprachen ergaenzt - DE-Lagen-Toggle zeigt vorerst auf /en/ (EN-Lagen folgen Phase 3) - Cookie-Banner liest <html lang> bereits selbststaendig, daher englisch auf EN-Seiten ohne weitere Aenderung Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
74 Zeilen
1.8 KiB
CSS
74 Zeilen
1.8 KiB
CSS
/* Language switcher (DE/EN)
|
|
Used on every page in the site header and inside the mobile menu.
|
|
Active language is non-clickable, inactive language is a link to the
|
|
counterpart URL. Pendant URL is hardcoded per page so the switch works
|
|
without JavaScript. */
|
|
|
|
.lang-switcher {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.4em;
|
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.04em;
|
|
user-select: none;
|
|
line-height: 1;
|
|
}
|
|
|
|
.lang-switcher .lang-active {
|
|
color: #C8A851;
|
|
cursor: default;
|
|
}
|
|
|
|
.lang-switcher .lang-link {
|
|
color: #5A6478;
|
|
text-decoration: none;
|
|
transition: color 0.2s ease;
|
|
padding: 0.15em 0;
|
|
}
|
|
|
|
.lang-switcher .lang-link:hover,
|
|
.lang-switcher .lang-link:focus-visible {
|
|
color: #C8A851;
|
|
outline: none;
|
|
}
|
|
|
|
.lang-switcher .lang-sep {
|
|
color: #5A6478;
|
|
opacity: 0.4;
|
|
}
|
|
|
|
/* Dark variant for the lagebild pages (dark navbar) */
|
|
.lagebild-page .lang-switcher .lang-link,
|
|
.lang-switcher.lang-switcher-dark .lang-link {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
.lagebild-page .lang-switcher .lang-link:hover,
|
|
.lagebild-page .lang-switcher .lang-link:focus-visible,
|
|
.lang-switcher.lang-switcher-dark .lang-link:hover,
|
|
.lang-switcher.lang-switcher-dark .lang-link:focus-visible {
|
|
color: #C8A851;
|
|
}
|
|
|
|
.lagebild-page .lang-switcher .lang-sep,
|
|
.lang-switcher.lang-switcher-dark .lang-sep {
|
|
color: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
/* Inside mobile menus: full-width row with separator on top */
|
|
.mobile-menu .lang-switcher,
|
|
.nav-menu-mobile .lang-switcher {
|
|
margin-top: 1rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid rgba(0, 0, 0, 0.08);
|
|
font-size: 1rem;
|
|
justify-content: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.lagebild-page .nav-menu-mobile .lang-switcher {
|
|
border-top-color: rgba(255, 255, 255, 0.12);
|
|
}
|