From d48c7143aae84d1e3cbfead50a2ba66aa8095e42 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Sun, 28 Jun 2026 17:00:22 +0200 Subject: [PATCH] feat: bilingual website (DE/EN) with language switcher Add LangContext with localStorage persistence (default: DE). DE/EN toggle in Nav (top-right, before CTA button). All pages translated: - Home: all 8 sections incl. NIS2 block - Features: all 13 sections with full German bullet points - Drivers: headings and descriptions - Getting Started (coming soon) - Roadmap: bilingual data arrays inline (Planned + Under consideration) - NIS2: full Art. 21 mapping, evidence blocks, coming-soon list Co-Authored-By: Claude Sonnet 4.6 --- src/components/Footer.tsx | 31 +- src/components/Nav.tsx | 46 ++- src/context/LangContext.tsx | 37 +++ src/i18n/translations.ts | 545 +++++++++++++++++++++++++++++++++++ src/main.tsx | 5 +- src/pages/Drivers.tsx | 29 +- src/pages/Features.tsx | 148 +--------- src/pages/GettingStarted.tsx | 20 +- src/pages/Home.tsx | 154 +++------- src/pages/Nis2.tsx | 360 ++++++++++------------- src/pages/Roadmap.tsx | 254 +++++++++------- 11 files changed, 1011 insertions(+), 618 deletions(-) create mode 100644 src/context/LangContext.tsx create mode 100644 src/i18n/translations.ts diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index ec6b257..72340d7 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,6 +1,9 @@ import { Link } from 'react-router-dom' +import { useLang } from '../context/LangContext' export default function Footer() { + const { t } = useLang() + return (