{t('articles.featured.h')}
{t('articles.featured.p')}
// landing_page.jsx — retraide.ch landing page
const LP = {
pink: '#E8286A',
pinkSoft: '#FDE7EE',
pink600: '#C01E57',
blue: '#2E5DA1',
blueDeep: '#1E3A5F',
blueSoft: '#EAF1F8',
peach: '#F6957F',
peachSoft: '#FFE4D8',
sage: '#7FA894',
ink: '#121212',
ink2: '#263238',
ink3: '#455A64',
muted: '#6B7680',
cream: '#FAF7F2',
line: '#E6ECF4',
};
// ═══════════════════════ i18n ═══════════════════════
const LANG_KEY = 'retraide_lang';
const getInitialLang = () => {
try {
if (typeof localStorage !== 'undefined') {
const stored = localStorage.getItem(LANG_KEY);
if (stored === 'fr' || stored === 'de') return stored;
}
if (typeof navigator !== 'undefined' && navigator.language) {
return navigator.language.toLowerCase().startsWith('de') ? 'de' : 'fr';
}
} catch (e) {
// localStorage may throw in private mode / SSR
}
return 'fr';
};
const DICT = {
fr: {
'nav.app': "L'application",
'nav.articles': 'Articles',
'nav.project': 'Pour qui',
'nav.faq': 'FAQ',
'nav.signin': 'Se connecter',
'nav.signup': 'Rejoindre la beta',
'hero.eyebrow': 'BETA OUVERTE · SUISSE ROMANDE',
'hero.title.before': "L'app qui ",
'hero.title.highlight': 'épaule',
'hero.title.after': " les proches aidants.",
'hero.subtitle': "Coordonner les soins, partager les tâches avec votre cercle, retrouver les bonnes informations au bon moment. RetrAide vous aide à aider — sans vous épuiser.",
'hero.cta.signup': 'Ouvrir RetrAide',
'hero.cta.howItWorks': 'Voir comment ça marche',
'hero.trust.free.bold': 'Gratuit',
'hero.trust.free.rest': ' pendant la beta',
'hero.trust.data.bold': 'Données en europe',
'hero.trust.data.rest': ' · RGPD',
'hero.trust.time.bold': '3 min',
'hero.trust.time.rest': " pour s'inscrire",
'hero.card1.t1': 'Marc · ton frère',
'hero.card1.t2': '"Je m\'occupe des courses 👍"',
'hero.card2.t1': 'Rendez-vous confirmé',
'hero.card2.t2': 'Dr. Müller · Mardi 14:30',
'logobar.label': 'Soutenu par',
'problem.eyebrow': "Le quotidien d'un proche aidant",
'problem.title.before': 'Aider, c\'est ',
'problem.title.highlight': 'aussi',
'problem.title.after': ' jongler en silence.',
'problem.subtitle': "En Suisse, 1 personne sur 5 aide régulièrement un proche. La plupart le font seules, sans formation, et finissent par s'épuiser. RetrAide est là pour changer ça.",
'problem.card1.h': 'La charge mentale est invisible',
'problem.card1.p': "Médicaments, rendez-vous, papiers, repas — tout est dans votre tête, et personne autour ne mesure ce que ça représente.",
'problem.card2.h': "L'entourage veut aider, mais ne sait pas comment",
'problem.card2.p': "\"Dis-moi si je peux faire quelque chose\" — sans liste claire, l'aide reste théorique et la fatigue s'accumule sur une seule personne.",
'problem.card3.h': "L'information utile est éparpillée",
'problem.card3.p': "Aides cantonales, démarches juridiques, conseils médicaux : on cherche dans dix endroits différents, souvent dans l'urgence.",
'features.eyebrow': 'Comment ça marche',
'features.title.before': 'Trois piliers pour ',
'features.title.highlight': 'alléger',
'features.title.after': ' votre quotidien.',
'features.f1.tag': 'ORGANISER',
'features.f1.h.l1': "Toutes les tâches d'aide,",
'features.f1.h.l2': 'au même endroit.',
'features.f1.p': "Créez une tâche en 10 secondes, ajoutez le contexte, et voyez votre semaine à venir d'un seul coup d'œil.",
'features.f1.b1.bold': 'Récurrences intelligentes',
'features.f1.b1.rest': ' — médicaments du soir, courses du mardi, sans ressaisir.',
'features.f1.b2.bold': 'Calendrier partagé',
'features.f1.b2.rest': ' avec rappels avant chaque rendez-vous.',
'features.f1.b3.bold': 'Documents joints',
'features.f1.b3.rest': " — ordonnance, carte AVS, plan d'accès, toujours sous la main.",
'features.f2.tag': 'PARTAGER',
'features.f2.h.l1': "Un cercle d'aide,",
'features.f2.h.l2': 'pas un poids unique.',
'features.f2.p': "Invitez votre famille, vos voisins, le médecin, l'aide à domicile. Chacun voit son rôle, ses tâches, sans noyer les autres.",
'features.f2.b1.bold': 'Niveaux de partage',
'features.f2.b1.rest': " — la voisine ne voit pas l'ordonnance, le médecin si.",
'features.f2.b2.bold': 'Tâches "à prendre"',
'features.f2.b2.rest': " — l'entourage choisit, vous n'avez plus à demander.",
'features.f2.b3.bold': "Vue d'équilibre",
'features.f2.b3.rest': ' — qui fait quoi, sur la semaine, sans tableau Excel.',
'features.f3.tag': "S'INFORMER",
'features.f3.h.l1': 'Le bon savoir,',
'features.f3.h.l2': 'au bon moment.',
'features.f3.p': "Une bibliothèque d'articles courts, écrits par des soignants et juristes suisses. Suggérés selon votre situation — pas un Google qui vous noie.",
'features.f3.b1.bold': 'Articles ciblés',
'features.f3.b1.rest': ' par situation : début de la maladie, hospitalisation, retour à la maison.',
'features.f3.b2.bold': 'Aides cantonales',
'features.f3.b2.rest': ' — vaudoises, genevoises, fribourgeoises : ce à quoi vous avez droit.',
'features.f3.b3.bold': 'Format lisible',
'features.f3.b3.rest': ' — 3 à 6 minutes par article, sans jargon.',
'outcomes.n1.unit': '/5',
'outcomes.n1.l': 'Suisses aident régulièrement un proche.',
'outcomes.n2.unit': '%',
'outcomes.n2.l': 'se sentent seuls face à cette charge.',
'outcomes.n3.unit': '/jour',
'outcomes.n3.l': "en moyenne consacrées à l'aide.",
'outcomes.n4.unit': '%',
'outcomes.n4.l': "de charge ressentie après 3 mois d'usage.*",
'outcomes.footnote': '* Étude pilote HES-SO 2025, n=84 proches aidants — résultats préliminaires.',
'articles.eyebrow': 'La bibliothèque RetrAide',
'articles.title.l1': 'Des articles concrets,',
'articles.title.l2': 'pour traverser chaque étape.',
'articles.subtitle': 'Plus de 80 articles écrits avec des soignants, juristes et psychologues romands.',
'articles.featured.tag': 'À LA UNE',
'articles.featured.meta': 'DOSSIER · 12 MIN',
'articles.featured.h': 'Quand un parent ne peut plus rester seul à la maison : 5 questions à poser avant de décider.',
'articles.featured.p': "Du maintien à domicile à l'EMS, un guide pour clarifier vos options sans précipitation, avec les ressources cantonales adaptées.",
'articles.a2.tag': 'JURIDIQUE',
'articles.a2.meta': '5 MIN',
'articles.a2.h': 'La procuration : ce qu\'elle couvre vraiment.',
'articles.a3.tag': 'ÉMOTIONNEL',
'articles.a3.meta': '4 MIN',
'articles.a3.h': "Reconnaître les signes d'épuisement de l'aidant.",
'articles.a4.tag': 'FINANCIER',
'articles.a4.meta': '6 MIN',
'articles.a4.h': 'Les aides du canton de Vaud, expliquées simplement.',
'articles.a5.tag': 'SANTÉ',
'articles.a5.meta': '3 MIN',
'articles.a5.h': 'Bien préparer un rendez-vous médical pour un proche.',
'personas.eyebrow': 'Pour qui ?',
'personas.title.before': 'Pensé pour ',
'personas.title.highlight': 'tous',
'personas.title.after': ' ceux qui aident.',
'personas.p1.h': 'Vous aidez un parent',
'personas.p1.p': 'Vos parents vieillissent. Vous gérez les rendez-vous, les médicaments, parfois à distance. Vos frères et sœurs voudraient aider — sans savoir comment.',
'personas.p1.tag': "L'usage le plus fréquent",
'personas.p2.h': 'Vous accompagnez un conjoint',
'personas.p2.p': "La maladie change votre quotidien à deux. Vous voulez garder un cercle de soutien autour de vous, sans tout porter seul·e.",
'personas.p2.tag': 'Soutien rapproché',
'personas.p3.h': 'Vous êtes un aidant pro',
'personas.p3.p': 'Aide à domicile, infirmier·ère, assistant·e social·e — coordonnez-vous avec la famille sans appels téléphoniques en boucle.',
'personas.p3.tag': 'Mode professionnel',
'quote.text': "Pour la première fois en deux ans, j'ai eu l'impression que je n'étais pas seule à m'occuper de ma mère.",
'quote.author.name': 'Sophie C., 47 ans',
'quote.author.meta': 'Lausanne · beta-testeuse depuis 4 mois',
'faq.eyebrow': 'FAQ',
'faq.title.l1': 'Vous avez',
'faq.title.l2': 'des questions.',
'faq.contact.before': "Si la vôtre n'y est pas, écrivez-nous : ",
'faq.q1.q': "L'application est-elle gratuite ?",
'faq.q1.a': "Pendant la beta (jusqu'à fin 2026), RetrAide est entièrement gratuite. Nous travaillons avec des partenaires cantonaux pour garantir un accès large à l'avenir.",
'faq.q2.q': 'Mes données sont-elles en sécurité ?',
'faq.q2.a': 'Toutes les données sont hébergées en europe, chiffrées de bout en bout. Vous gardez le contrôle de qui voit quoi dans votre cercle, et vous pouvez tout exporter ou supprimer à tout moment.',
'faq.q3.q': "Est-ce que la personne aidée doit utiliser l'app aussi ?",
'faq.q3.a': "Non. RetrAide est pensée pour les proches aidants. La personne aidée n'a rien à installer — bien que nous proposions un mode \"vue simple\" si elle souhaite voir son agenda.",
'faq.q4.q': 'Comment inviter ma famille dans le cercle ?',
'faq.q4.a': "Un lien d'invitation suffit. Pas de création de compte compliquée — la personne reçoit un SMS ou email et accède directement à sa vue.",
'faq.q5.q': 'Disponible en plusieurs langues ?',
'faq.q5.a': "L'application est actuellement disponible en Francais, Allemand, Italien et Anglais",
'faq.q6.q': 'Qui est derrière RetrAide ?',
'faq.q6.a': "Une équipe romande, soutenue par Innosuisse, la HES-SO et plusieurs fondations cantonales. Nous avons co-conçu l'app avec plus de 200 proches aidants depuis 2023.",
'finalcta.title': "Aider, sans s'oublier.",
'finalcta.subtitle': "Rejoignez les 1'800 proches aidants romands qui utilisent déjà RetrAide en beta. Disponible sur tous vos appareils.",
'finalcta.cta': 'Ouvrir dans le navigateur',
'finalcta.note': 'iOS et Android arrivent bientôt',
'finalcta.footer': 'Vos données restent en europe · Synchronisation automatique entre web et mobile.',
'footer.tagline': "L'application qui épaule les proches aidants en Suisse romande. Un projet associatif soutenu par Innosuisse.",
'footer.col.product': 'Produit',
'footer.col.product.l1': 'Fonctionnalités',
'footer.col.product.l2': 'Articles',
'footer.col.product.l3': 'Télécharger',
'footer.col.project': 'Le projet',
'footer.col.project.l1': 'Notre mission',
'footer.col.project.l2': "L'équipe",
'footer.col.project.l3': 'Partenaires',
'footer.col.project.l4': 'Presse',
'footer.col.contact': 'Contact',
'footer.col.contact.l2': 'LinkedIn',
'footer.legal.copyright': '© 2026 Association RetrAide · Lausanne, Suisse',
'footer.legal.privacy': 'Confidentialité',
'footer.legal.tos': 'CGU',
'footer.legal.imprint': 'Mentions légales',
},
de: {
'nav.app': 'Die App',
'nav.articles': 'Artikel',
'nav.project': 'Für wen',
'nav.faq': 'FAQ',
'nav.signin': 'Anmelden',
'nav.signup': 'An der Beta teilnehmen',
'hero.eyebrow': 'BETA OFFEN · SCHWEIZ',
'hero.title.before': 'Die App, die pflegende Angehörige ',
'hero.title.highlight': 'unterstützt',
'hero.title.after': '.',
'hero.subtitle': 'Pflege koordinieren, Aufgaben mit Ihrem Kreis teilen, die richtigen Informationen zur richtigen Zeit finden. RetrAide hilft Ihnen zu helfen — ohne sich zu erschöpfen.',
'hero.cta.signup': 'RetrAide öffnen',
'hero.cta.howItWorks': 'So funktioniert es',
'hero.trust.free.bold': 'Kostenlos',
'hero.trust.free.rest': ' während der Beta',
'hero.trust.data.bold': 'Daten in Europa',
'hero.trust.data.rest': ' · DSGVO',
'hero.trust.time.bold': '3 Min.',
'hero.trust.time.rest': ' für die Anmeldung',
'hero.card1.t1': 'Marc · dein Bruder',
'hero.card1.t2': '"Ich kümmere mich um die Einkäufe 👍"',
'hero.card2.t1': 'Termin bestätigt',
'hero.card2.t2': 'Dr. Müller · Dienstag 14:30',
'logobar.label': 'Unterstützt von',
'problem.eyebrow': 'Der Alltag pflegender Angehöriger',
'problem.title.before': 'Helfen heisst ',
'problem.title.highlight': 'auch',
'problem.title.after': ', im Stillen zu jonglieren.',
'problem.subtitle': 'In der Schweiz hilft jede fünfte Person regelmässig einem Angehörigen. Die meisten tun dies allein, ohne Ausbildung, und erschöpfen sich dabei. RetrAide will das ändern.',
'problem.card1.h': 'Die mentale Last ist unsichtbar',
'problem.card1.p': 'Medikamente, Termine, Papiere, Mahlzeiten — alles steckt in Ihrem Kopf, und niemand um Sie herum erfasst, was das bedeutet.',
'problem.card2.h': 'Das Umfeld will helfen, weiss aber nicht wie',
'problem.card2.p': '"Sag mir, wenn ich etwas tun kann" — ohne klare Liste bleibt die Hilfe theoretisch und die Erschöpfung sammelt sich bei einer einzigen Person.',
'problem.card3.h': 'Nützliche Informationen sind verstreut',
'problem.card3.p': 'Kantonale Hilfen, rechtliche Schritte, medizinischer Rat: Man sucht an zehn verschiedenen Orten, oft unter Zeitdruck.',
'features.eyebrow': 'So funktioniert es',
'features.title.before': 'Drei Säulen, um Ihren Alltag zu ',
'features.title.highlight': 'erleichtern',
'features.title.after': '.',
'features.f1.tag': 'ORGANISIEREN',
'features.f1.h.l1': 'Alle Pflegeaufgaben,',
'features.f1.h.l2': 'an einem Ort.',
'features.f1.p': 'Erstellen Sie eine Aufgabe in 10 Sekunden, fügen Sie den Kontext hinzu und sehen Sie Ihre kommende Woche auf einen Blick.',
'features.f1.b1.bold': 'Intelligente Wiederholungen',
'features.f1.b1.rest': ' — Medikamente am Abend, Einkäufe am Dienstag, ohne erneute Eingabe.',
'features.f1.b2.bold': 'Geteilter Kalender',
'features.f1.b2.rest': ' mit Erinnerungen vor jedem Termin.',
'features.f1.b3.bold': 'Angehängte Dokumente',
'features.f1.b3.rest': ' — Rezept, AHV-Karte, Wegbeschreibung, immer zur Hand.',
'features.f2.tag': 'TEILEN',
'features.f2.h.l1': 'Ein Hilfekreis,',
'features.f2.h.l2': 'keine alleinige Last.',
'features.f2.p': 'Laden Sie Ihre Familie, Ihre Nachbarn, den Arzt, die Spitex ein. Jede Person sieht ihre Rolle und ihre Aufgaben, ohne die anderen zu überfordern.',
'features.f2.b1.bold': 'Freigabe-Stufen',
'features.f2.b1.rest': ' — die Nachbarin sieht das Rezept nicht, der Arzt schon.',
'features.f2.b2.bold': 'Aufgaben "zum Übernehmen"',
'features.f2.b2.rest': ' — das Umfeld wählt selbst, Sie müssen nicht mehr fragen.',
'features.f2.b3.bold': 'Übersicht der Aufteilung',
'features.f2.b3.rest': ' — wer macht was in der Woche, ohne Excel-Tabelle.',
'features.f3.tag': 'INFORMIEREN',
'features.f3.h.l1': 'Das richtige Wissen,',
'features.f3.h.l2': 'zur richtigen Zeit.',
'features.f3.p': 'Eine Bibliothek mit kurzen Artikeln, geschrieben von Schweizer Pflegenden und Juristen. Auf Ihre Situation zugeschnitten — kein Google, das Sie überflutet.',
'features.f3.b1.bold': 'Zielgerichtete Artikel',
'features.f3.b1.rest': ' je nach Situation: Krankheitsbeginn, Spitalaufenthalt, Rückkehr nach Hause.',
'features.f3.b2.bold': 'Kantonale Hilfen',
'features.f3.b2.rest': ' — was Ihnen in Ihrem Kanton zusteht.',
'features.f3.b3.bold': 'Lesbares Format',
'features.f3.b3.rest': ' — 3 bis 6 Minuten pro Artikel, ohne Fachjargon.',
'outcomes.n1.unit': '/5',
'outcomes.n1.l': 'Personen in der Schweiz pflegen regelmässig Angehörige.',
'outcomes.n2.unit': '%',
'outcomes.n2.l': 'fühlen sich mit dieser Last allein.',
'outcomes.n3.unit': '/Tag',
'outcomes.n3.l': 'durchschnittlich für die Pflege aufgewendet.',
'outcomes.n4.unit': '%',
'outcomes.n4.l': 'weniger empfundene Belastung nach 3 Monaten Nutzung.*',
'outcomes.footnote': '* Pilotstudie HES-SO 2025, n=84 pflegende Angehörige — vorläufige Ergebnisse.',
'articles.eyebrow': 'Die RetrAide-Bibliothek',
'articles.title.l1': 'Konkrete Artikel,',
'articles.title.l2': 'um jede Etappe zu meistern.',
'articles.subtitle': 'Über 80 Artikel, verfasst gemeinsam mit Schweizer Pflegenden, Juristinnen und Psychologen.',
'articles.featured.tag': 'IM FOKUS',
'articles.featured.meta': 'DOSSIER · 12 MIN',
'articles.featured.h': 'Wenn ein Elternteil nicht mehr allein zu Hause bleiben kann: 5 Fragen, bevor Sie entscheiden.',
'articles.featured.p': 'Vom Verbleib zu Hause bis zum Pflegeheim — ein Leitfaden, um Ihre Optionen ohne Eile zu klären, mit den passenden kantonalen Ressourcen.',
'articles.a2.tag': 'RECHTLICH',
'articles.a2.meta': '5 MIN',
'articles.a2.h': 'Die Vollmacht: was sie wirklich abdeckt.',
'articles.a3.tag': 'EMOTIONAL',
'articles.a3.meta': '4 MIN',
'articles.a3.h': 'Anzeichen einer Erschöpfung der pflegenden Person erkennen.',
'articles.a4.tag': 'FINANZIELL',
'articles.a4.meta': '6 MIN',
'articles.a4.h': 'Die Hilfen des Kantons Waadt, einfach erklärt.',
'articles.a5.tag': 'GESUNDHEIT',
'articles.a5.meta': '3 MIN',
'articles.a5.h': 'Einen Arzttermin für eine angehörige Person gut vorbereiten.',
'personas.eyebrow': 'Für wen?',
'personas.title.before': 'Gedacht für ',
'personas.title.highlight': 'alle',
'personas.title.after': ', die helfen.',
'personas.p1.h': 'Sie helfen einem Elternteil',
'personas.p1.p': 'Ihre Eltern werden älter. Sie organisieren Termine, Medikamente, manchmal aus der Ferne. Ihre Geschwister möchten helfen — wissen aber nicht wie.',
'personas.p1.tag': 'Der häufigste Anwendungsfall',
'personas.p2.h': 'Sie begleiten Ihren Partner',
'personas.p2.p': 'Die Krankheit verändert Ihren Alltag zu zweit. Sie möchten einen Unterstützungskreis um sich behalten, ohne alles allein zu tragen.',
'personas.p2.tag': 'Enge Begleitung',
'personas.p3.h': 'Sie sind Pflegefachperson',
'personas.p3.p': 'Spitex, Pflegefachperson, Sozialarbeiterin — koordinieren Sie sich mit der Familie ohne endlose Telefonate.',
'personas.p3.tag': 'Profi-Modus',
'quote.text': 'Zum ersten Mal seit zwei Jahren hatte ich das Gefühl, mit der Pflege meiner Mutter nicht allein zu sein.',
'quote.author.name': 'Sophie C., 47 Jahre',
'quote.author.meta': 'Lausanne · Beta-Testerin seit 4 Monaten',
'faq.eyebrow': 'FAQ',
'faq.title.l1': 'Sie haben',
'faq.title.l2': 'Fragen.',
'faq.contact.before': 'Wenn Ihre Frage hier nicht steht, schreiben Sie uns: ',
'faq.q1.q': 'Ist die App kostenlos?',
'faq.q1.a': 'Während der Beta (bis Ende 2026) ist RetrAide vollständig kostenlos. Wir arbeiten mit kantonalen Partnern zusammen, um auch in Zukunft einen breiten Zugang zu gewährleisten.',
'faq.q2.q': 'Sind meine Daten sicher?',
'faq.q2.a': 'Alle Daten werden in der Schweiz gehostet und Ende-zu-Ende verschlüsselt. Sie behalten die Kontrolle darüber, wer in Ihrem Kreis was sieht, und können jederzeit alles exportieren oder löschen.',
'faq.q3.q': 'Muss die unterstützte Person die App auch nutzen?',
'faq.q3.a': 'Nein. RetrAide ist für pflegende Angehörige gedacht. Die unterstützte Person muss nichts installieren — wir bieten allerdings einen Modus "Einfache Ansicht" an, falls sie ihren Kalender sehen möchte.',
'faq.q4.q': 'Wie lade ich meine Familie in den Kreis ein?',
'faq.q4.a': 'Ein Einladungslink genügt. Keine umständliche Kontoerstellung — die Person erhält eine SMS oder eine E-Mail und gelangt direkt zu ihrer Ansicht.',
'faq.q5.q': 'In mehreren Sprachen verfügbar?',
'faq.q5.a': "Die App ist derzeit auf Deutsch, Französisch, Italienisch und Englisch verfügbar",
'faq.q6.q': 'Wer steht hinter RetrAide?',
'faq.q6.a': 'Ein Schweizer Team, unterstützt von Innosuisse, der HES-SO und mehreren kantonalen Stiftungen. Wir haben die App seit 2023 gemeinsam mit über 200 pflegenden Angehörigen entwickelt.',
'finalcta.title': 'Helfen, ohne sich selbst zu vergessen.',
'finalcta.subtitle': "Schliessen Sie sich den 1'800 pflegenden Angehörigen an, die RetrAide bereits in der Beta nutzen. Auf allen Ihren Geräten verfügbar.",
'finalcta.cta': 'Im Browser öffnen',
'finalcta.note': 'iOS und Android folgen bald',
'finalcta.footer': 'Ihre Daten bleiben in der Schweiz · Automatische Synchronisation zwischen Web und Mobile.',
'footer.tagline': 'Die App, die pflegende Angehörige in der Schweiz unterstützt. Ein gemeinnütziges Projekt, gefördert von Innosuisse.',
'footer.col.product': 'Produkt',
'footer.col.product.l1': 'Funktionen',
'footer.col.product.l2': 'Artikel',
'footer.col.product.l3': 'Herunterladen',
'footer.col.project': 'Das Projekt',
'footer.col.project.l1': 'Unsere Mission',
'footer.col.project.l2': 'Das Team',
'footer.col.project.l3': 'Partner',
'footer.col.project.l4': 'Presse',
'footer.col.contact': 'Kontakt',
'footer.col.contact.l2': 'LinkedIn',
'footer.legal.copyright': '© 2026 Verein RetrAide · Lausanne, Schweiz',
'footer.legal.privacy': 'Datenschutz',
'footer.legal.tos': 'AGB',
'footer.legal.imprint': 'Impressum',
},
};
const LangContext = React.createContext({ lang: 'fr', setLang: () => {}, t: (k) => k });
const useT = () => React.useContext(LangContext);
const LangProvider = ({ children }) => {
const [lang, setLangState] = React.useState(getInitialLang);
const setLang = React.useCallback((next) => {
setLangState(next);
try {
if (typeof localStorage !== 'undefined') {
localStorage.setItem(LANG_KEY, next);
}
} catch (e) {
// ignore
}
}, []);
React.useEffect(() => {
if (typeof document !== 'undefined' && document.documentElement) {
document.documentElement.lang = lang;
}
}, [lang]);
const t = React.useCallback((key) => {
const dict = DICT[lang] || DICT.fr;
if (dict[key] !== undefined) return dict[key];
if (DICT.fr[key] !== undefined) return DICT.fr[key];
return key;
}, [lang]);
const value = React.useMemo(() => ({ lang, setLang, t }), [lang, setLang, t]);
return
{t('hero.subtitle')}
{t('problem.subtitle')}
{t('problem.card1.p')}
{t('problem.card2.p')}
{t('problem.card3.p')}
{t('features.f1.p')}
{t('features.f2.p')}
{t('features.f3.p')}
{t('articles.subtitle')}
{t('articles.featured.p')}
{t('personas.p1.p')}
{t('personas.p2.p')}
{t('personas.p3.p')}
{t('quote.text')}
{t('faq.contact.before')}contact@retraide.ch
{f.a}
{t('finalcta.subtitle')}