i18n: Sprachumschalter DE/EN und englische Seiten unter /en/
- 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>
Dieser Commit ist enthalten in:
73
css/lang-switcher.css
Normale Datei
73
css/lang-switcher.css
Normale Datei
@@ -0,0 +1,73 @@
|
||||
/* 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);
|
||||
}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren