// ========================
// CONTEXTE DE LANGUE
// ========================

import React, { createContext, useContext } from 'react';
import type { ReactNode } from 'react';

// Types pour les langues supportées
export type Language = 'fr' | 'en';

// Interface pour le contexte
interface LanguageContextType {
  language: Language;
  setLanguage: (lang: Language) => void;
  t: (key: string) => string;
}

// Textes traduits
const translations = {
  fr: {
    // Navigation
    'nav.home': 'Accueil',
    'nav.about': 'À propos',
    'nav.skills': 'Compétences',
    'nav.projects': 'Projets',
    'nav.education': 'Formation',
    'nav.contact': 'Contact',

    // Boutons
    'btn.changeTheme': 'Changer de thème',
    'btn.menu': 'Menu',
    'btn.changeLang': 'English',
    'btn.downloadCV': 'Télécharger CV',
    'btn.viewProjects': 'Voir mes projets',
    'btn.contactMe': 'Me contacter',

    // Modal
    'modal.confirm.title': 'Vérification',
    'modal.confirm.message': 'Veuillez vérifier vos informations avant d\'envoyer.',
    'modal.btn.cancel': 'Annuler',
    'modal.btn.confirm': 'Confirmer & Envoyer',

    // Hero
    'hero.greeting': 'Salut, je suis',
    'hero.title': 'Dayron Van Leemput',
    'hero.subtitle': 'Étudiant en Technologies de l\'Informatique',
    'hero.description': 'Bac 3 à la HELHa de Tournai | Jeune développeur passionné par les nouvelles technologies et le développement d\'applications innovantes',

    // About
    'about.title': 'À propos de moi',
    'about.subtitle': 'Découvrez mon parcours et mes passions',
    'about.stats.year': '3ème',
    'about.stats.yearLabel': 'Année d\'études',
    'about.stats.passion': '100%',
    'about.stats.passionLabel': 'Passion',
    'about.stats.goals': '∞',
    'about.stats.goalsLabel': 'Objectifs',
    'about.stats.fuel': '☕',
    'about.stats.fuelLabel': 'Fuel quotidien',
    'about.journey.title': 'Mon parcours',
    'about.journey.content': 'Actuellement en 3ème année de Technologies de l\'Informatique à la HELHa de Tournai, je me passionne pour le développement d\'applications et les nouvelles technologies. Mon parcours m\'a permis d\'acquérir une solide base technique et une approche méthodique du développement.',
    'about.passion.title': 'Ma passion',
    'about.passion.content': 'Ce qui m\'anime le plus, c\'est la création de solutions innovantes qui résolvent des problèmes réels. J\'aime particulièrement le développement mobile avec Flutter et le développement web moderne avec React et TypeScript.',
    'about.goals.title': 'Mes objectifs',
    'about.goals.content': 'Je cherche constamment à améliorer mes compétences et à rester à jour avec les dernières tendances technologiques. Mon objectif est de devenir un développeur full-stack polyvalent et de contribuer à des projets qui ont un impact positif.',
    'about.quote.title': 'En quelques mots',
    'about.quote.content': 'La technologie n\'est rien. Ce qui est important, c\'est d\'avoir la foi en les gens, qu\'ils soient fondamentalement bons et intelligents, et si vous leur donnez des outils, ils feront des choses merveilleuses avec.',
    'about.quote.author': 'Steve Jobs',

    // Skills
    'skills.title': 'Mes Compétences',
    'skills.subtitle': 'Technologies et outils que je maîtrise',
    'skills.category.mobile': 'Mobile',
    'skills.category.frontend': 'Frontend',
    'skills.category.backend': 'Backend',
    'skills.category.tools': 'Outils & Autres',
    'skills.otherSkills': 'Autres compétences',
    'skills.problemSolving': 'Résolution de problèmes',
    'skills.teamwork': 'Travail en équipe',
    'skills.continuousLearning': 'Apprentissage continu',
    'skills.communication': 'Communication',

    // Projects
    'projects.title': 'Mes Projets',
    'projects.subtitle': 'Découvrez mes réalisations et mes expériences',
    'projects.status.available': 'Bientôt disponible sur App Store et Play Store',
    'projects.status.current': 'Projet actuel',
    'projects.status.personal': 'Projet personnel',
    'projects.status.online': 'En ligne',
    'projects.features': 'Fonctionnalités principales :',
    'projects.btn.code': 'Code',
    'projects.btn.viewProject': 'Voir le projet',
    'projects.travelMate.title': 'Travel Mate',
    'projects.travelMate.description': 'Application mobile conçue pour simplifier l\'organisation de voyages de groupe. Elle permet de centraliser toutes les informations importantes d\'un voyage : planification, gestion des dépenses, découverte d\'activités et coordination entre les participants.',
    'projects.travelMate.feature1': 'Planification de voyage collaborative',
    'projects.travelMate.feature2': 'Gestion des dépenses partagées',
    'projects.travelMate.feature3': 'Découverte d\'activités locales',
    'projects.travelMate.feature4': 'Coordination en temps réel',
    'projects.portfolio.title': 'Portfolio Web',
    'projects.portfolio.description': 'Site web personnel moderne et responsive développé avec React et TypeScript. Inclut des animations fluides, un mode sombre/clair et une architecture modulaire.',
    'projects.portfolio.feature1': 'Design responsive',
    'projects.portfolio.feature2': 'Animations fluides',
    'projects.portfolio.feature3': 'Mode sombre/clair',
    'projects.portfolio.feature4': 'Performance optimisée',
    'projects.shelbys.title': 'Shelbys Bar',
    'projects.shelbys.description': 'Site vitrine élégant pour le bar Shelbys Bar. Présente l\'ambiance, le menu et les événements du bar avec un design moderne et immersif.',
    'projects.shelbys.feature1': 'Design moderne et immersif',
    'projects.shelbys.feature2': 'Présentation du menu',
    'projects.shelbys.feature4': 'Informations pratiques',
    'projects.homeSync.title': 'Home Sync',
    'projects.homeSync.description': 'Application de gestion familiale tout-en-un. Synchronisez les calendriers, partagez des listes de courses et gérez votre foyer en toute simplicité.',
    'projects.homeSync.feature1': 'Calendrier familial partagé',
    'projects.homeSync.feature2': 'Listes de courses collaboratives',
    'projects.homeSync.feature3': 'Gestion de foyer simple',
    'projects.homeSync.feature4': 'Synchronisation Google Agenda',

    // Education
    'education.title': 'Formation',
    'education.subtitle': 'Mon parcours académique et professionnel',
    'education.learningGoals2026': 'Objectifs d\'apprentissage 2026',
    'education.goal1': 'Maîtriser Firebase et les services cloud',
    'education.goal2': 'Approfondir n8n pour l\'automatisation',
    'education.goal3': 'Apprendre Docker et les conteneurs',
    'education.goal4': 'Développer mes compétences en UI/UX',
    'education.degree': 'Bachelier en Technologies de l\'Informatique',
    'education.school': 'HELHa - Haute École Louvain en Hainaut',
    'education.location': 'Tournai, Belgique',
    'education.period': '2023 - 2026',
    'education.currentYear': '3ème année',
    'education.status': 'En cours',
    'education.description': 'Formation complète en développement logiciel, programmation, bases de données, réseaux et gestion de projets informatiques.',
    'education.highlights.0': 'Programmation orientée objet (Java, C#)',
    'education.highlights.1': 'Développement web (HTML, CSS, JavaScript, React)',
    'education.highlights.2': 'Développement mobile (Flutter, Dart)',
    'education.highlights.3': 'Bases de données et SQL',
    'education.highlights.4': 'Gestion de projets',
    'education.highlights.5': 'Réseaux et systèmes',
    'education.certifications.title': 'Certifications & Formations',
    'education.cert1.title': 'Développement Mobile Flutter',
    'education.cert1.provider': 'Formation autodidacte',
    'education.cert1.date': '2024',
    'education.cert2.title': 'React & TypeScript',
    'education.cert2.provider': 'Projets personnels',
    'education.cert2.date': '2024',
    'education.highschool.degree': 'CESS (Certificat d\'Enseignement Secondaire Supérieur)',
    'education.highschool.school': 'Athénée Royal d\'Ath',
    'education.highschool.location': 'Ath, Belgique',
    'education.highschool.period': '2016 - 2022',
    'education.highschool.status': 'Diplômé',
    'education.highschool.description': 'Section Math-Sciences (Math 8h - Sciences 7h)',
    'education.highschool.highlights.0': 'Mathématiques avancées',
    'education.highschool.highlights.1': 'Sciences (Physique, Chimie, Biologie)',
    'education.highschool.highlights.2': 'Langues',

    // Travel Mate Page
    'travelmate.page.mainTitle': 'Travel Mate 🌍',
    'travelmate.page.subtitle': 'Le compagnon de voyage indispensable',
    'travelmate.page.intro': 'Redécouvrez le voyage en groupe avec Travel Mate. Plus qu\'une simple application, c\'est votre copilote pour des aventures sans friction. Oubliez les tableaux Excel complexes et les débats sur "qui doit combien". Concentrez-vous sur l\'essentiel : créer des souvenirs inoubliables.',

    'travelmate.highlights.title': '✨ Points Forts',
    'travelmate.highlight.1.title': 'Gestion de Groupe Simplifiée',
    'travelmate.highlight.1.desc': 'Créez votre voyage et invitez vos compagnons en un clic via un lien unique. L\'organisation démarre instantanément.',
    'travelmate.highlight.2.title': 'Dépenses Maîtrisées (Split)',
    'travelmate.highlight.2.desc': 'Suivez les dépenses en temps réel et laissez l\'application équilibrer les comptes automatiquement. Fini les calculs compliqués !',
    'travelmate.highlight.3.title': 'Planification Collaborative',
    'travelmate.highlight.3.desc': 'Un agenda partagé et une carte interactive pour que chacun puisse proposer et visualiser les activités du groupe.',
    'travelmate.highlight.4.title': 'Communication Fluide',
    'travelmate.highlight.4.desc': 'Un chat intégré pour centraliser les discussions et garder tout le monde sur la même longueur d\'onde.',

    'travelmate.page.conclusion': 'Prêt à partir ? Avec Travel Mate, l\'aventure commence dès l\'organisation. Voyagez l\'esprit léger, on s\'occupe du reste.',

    'travelmate.tech.title': '🛠️ Technologies utilisées',
    'travelmate.tech.frontend': 'Frontend Mobile (Flutter)',
    'travelmate.tech.frontend.1': 'Architecture BLoC pour une gestion d\'état robuste',
    'travelmate.tech.frontend.2': 'Interface utilisateur fluide et réactive',
    'travelmate.tech.frontend.3': 'Intégration native (Caméra, GPS, Notifications)',
    'travelmate.tech.backend': 'Backend (Firebase)',
    'travelmate.tech.backend.1': 'Authentication (Google, Apple, Email)',
    'travelmate.tech.backend.2': 'Firestore (Base de données temps réel)',
    'travelmate.tech.backend.3': 'Cloud Functions (Logique serveur)',
    'travelmate.tech.backend.4': 'Storage (Médias)',
    'travelmate.tech.api': 'APIs & Outils',
    'travelmate.tech.api.1': 'Google Maps API / Mapbox',
    'travelmate.tech.api.2': 'CI/CD avec Gitea Actions',
    'travelmate.viewCode': 'Voir le code',

    // Erase Data Page
    'erasedata.title': 'Demande de suppression de données',
    'erasedata.description': 'Conformément au RGPD et à notre politique de confidentialité, vous pouvez demander la suppression de vos données personnelles associées à Travel Mate. Veuillez remplir le formulaire ci-dessous.',
    'erasedata.success.title': 'Demande envoyée avec succès',
    'erasedata.success.message': 'Nous traiterons votre demande dans les plus brefs délais.',
    'erasedata.form.lastname': 'Nom',
    'erasedata.form.firstname': 'Prénom',
    'erasedata.form.email': 'Email du compte à supprimer',
    'erasedata.form.message': 'Message / Raison (Optionnel)',
    'erasedata.form.placeholder': 'Je souhaite supprimer mon compte car...',
    'erasedata.form.confirm': 'Je confirme vouloir supprimer mes données personnelles. Je comprends que cette action est irréversible et entraînera la perte de l\'accès à mon compte Travel Mate.',
    'erasedata.form.submit': 'Envoyer la demande',
    'erasedata.form.submitting': 'Envoi en cours...',

    'travelmate.policies.link': 'Voir les politiques',
    'travelmate.erasedata.link': 'Suppression',
    'travelmate.support.link': 'Assistance',

    'travelmate.legal.title': 'Centre d\'Aide & Légal',
    'travelmate.legal.privacy.desc': 'Consultez nos engagements concernant vos données personnelles.',
    'travelmate.legal.erasedata.desc': 'Exercez votre droit à l\'oubli en demandant la suppression de vos données.',
    'travelmate.legal.support.desc': 'Une question ? Un problème ? Contactez notre équipe support.',

    // Support Page
    'support.title': 'Assistance Travel Mate',
    'support.description': 'Besoin d\'aide ? Remplissez le formulaire ci-dessous.',
    'support.form.lastname': 'Nom',
    'support.form.firstname': 'Prénom',
    'support.form.accountemail': 'Email du compte',
    'support.form.contactemail': 'Email de contact',
    'support.form.sameemail': 'Utiliser le même email pour le contact',
    'support.form.message': 'Message',
    'support.form.submit': 'Envoyer',
    'support.form.submitting': 'Envoi en cours...',
    'support.success.title': 'Demande envoyée',
    'support.success.message': 'Nous vous répondrons dès que possible.',
    'support.error.generic': 'Une erreur est survenue.',

    // Policies Page
    'policies.back': 'Retour',
    'policies.title': 'Politiques de confidentialité',
    'policies.intro': 'Votre vie privée est importante pour nous. Voici comment nous protégeons vos données.',

    'policies.section.1.title': 'Collecte d\'informations',
    'policies.section.1.content': 'Nous collectons des informations que vous nous fournissez directement, comme votre nom, adresse e-mail et préférences de voyage.',

    'policies.permissions.title': 'Permissions Appareil',
    'policies.data.camera': 'Caméra & Galerie',
    'policies.data.camera.desc': 'Pour ajouter des photos aux souvenirs ou scanner des factures.',
    'policies.data.gps': 'Localisation (GPS)',
    'policies.data.gps.desc': 'Pour la carte interactive et les suggestions d\'activités à proximité.',
    'policies.data.notif': 'Notifications',
    'policies.data.notif.desc': 'Pour vous alerter des nouveaux messages, dépenses ou changements de programme.',

    'policies.section.2.title': 'Utilisation des données',
    'policies.section.2.content': 'Vos données sont utilisées pour améliorer votre expérience utilisateur et vous proposer des recommandations personnalisées.',

    'policies.section.3.title': 'Protection des données',
    'policies.section.3.content': 'Nous mettons en place des mesures de sécurité appropriées pour protéger vos informations personnelles.',

    'policies.section.4.title': 'Partage des données',
    'policies.section.4.content': 'Nous ne partageons pas vos informations personnelles avec des tiers sans votre consentement explicite.',

    'policies.section.5.title': 'Vos droits',
    'policies.section.5.content': 'Vous avez le droit d\'accéder, de corriger ou de supprimer vos données personnelles à tout moment. Veuillez nous contacter pour toute demande.',

    'policies.section.6.title': 'Nous contacter',
    'policies.section.6.content': 'Pour toute question concernant cette politique de confidentialité, veuillez nous contacter à contact.travelmate@xeewy.be',

    'travelmate.contact.title': 'Nous Contacter',
    'travelmate.contact.subtitle': 'Une question, une suggestion ou un problème ? N\'hésitez pas à nous écrire directement.',
    'travelmate.contact.emailLabel': 'Email de support',

    'policies.googleBtn': 'Politique de confidentialité Google',

    // Home Sync Page
    'homesync.page.mainTitle': 'Home Sync 👨‍👩‍👧‍👦',
    'homesync.page.subtitle': 'L\'organisateur familial ultime',
    'homesync.page.intro': 'Family Organizer est une application mobile développée avec Flutter qui permet aux familles de simplifier et centraliser la gestion quotidienne de leur foyer. Synchronisez vos emplois du temps, gérez des listes de courses partagées et restez connectés en temps réel.',

    'homesync.highlights.title': '✨ Fonctionnalités Principales',
    'homesync.highlight.1.title': 'Calendrier Partagé & Intelligent',
    'homesync.highlight.1.desc': 'Vue centralisée de tous les événements familiaux (Mois, Semaine, Jour). Synchronisation bidirectionnelle avec Google Agenda, catégories personnalisées et rappels intelligents.',
    'homesync.highlight.2.title': 'Listes de Courses Collaboratives',
    'homesync.highlight.2.desc': 'Ajout et modification en temps réel. Organisation par état (à acheter / acheté) et synchronisation instantanée entre tous les membres du foyer.',
    'homesync.highlight.3.title': 'Gestion de Famille (Household)',
    'homesync.highlight.3.desc': 'Système de rejoindre une famille via ID unique, gestion des profils et administration des membres. Plusieurs foyers possibles.',
    'homesync.highlight.4.title': 'Sécurité & Personnalisation',
    'homesync.highlight.4.desc': 'Connexion sécurisée (Email/Google), thèmes personnalisables (clair/sombre) et gestion fine des notifications push.',

    'homesync.page.conclusion': 'Reprenez le contrôle de votre organisation familiale avec Home Sync.',

    'homesync.tech.title': '🛠️ Stack Technique',
    'homesync.tech.frontend': 'Frontend',
    'homesync.tech.frontend.1': 'Flutter (Dart 3.9.2) & BLoC Pattern',
    'homesync.tech.frontend.2': 'Material Design avec thèmes personnalisés',
    'homesync.tech.backend': 'Backend & Services',
    'homesync.tech.backend.1': 'Firebase Core, Auth, Firestore & Storage',
    'homesync.tech.backend.2': 'Firebase Cloud Messaging (Notifications)',
    'homesync.tech.api': 'APIs & Intégrations',
    'homesync.tech.api.1': 'Google Calendar API & Google Sign-In',
    'homesync.viewCode': 'Code source (Privé)',

    'homesync.legal.link': 'Documentation & Politique de Confidentialité',

    // Contact
    'contact.title': 'Contactez-moi',
    'contact.subtitle': 'Une question, un projet ou simplement envie de discuter ? N\'hésitez pas à me contacter !',
    'contact.form.name': 'Nom complet',
    'contact.form.email': 'Email',
    'contact.form.subject': 'Sujet',
    'contact.form.message': 'Message',
    'contact.form.send': 'Envoyer le message',
    'contact.form.sending': 'Envoi en cours...',
    'contact.success': 'Message envoyé avec succès ! Je vous répondrai bientôt.',
    'contact.stayInTouch': 'Restons en contact',
    'contact.intro': 'Je suis toujours intéressé par de nouveaux projets, des collaborations ou simplement des discussions sur la technologie. N\'hésitez pas à me contacter !',
    'contact.findMeOn': 'Retrouvez-moi aussi sur :',
    'contact.sendMessage': 'Envoyez-moi un message',
  },
  en: {
    // Navigation
    'nav.home': 'Home',
    'nav.about': 'About',
    'nav.skills': 'Skills',
    'nav.projects': 'Projects',
    'nav.education': 'Education',
    'nav.contact': 'Contact',

    // Boutons
    'btn.changeTheme': 'Change theme',
    'btn.menu': 'Menu',
    'btn.changeLang': 'Français',
    'btn.downloadCV': 'Download CV',
    'btn.viewProjects': 'View my projects',
    'btn.contactMe': 'Contact me',

    // Modal
    'modal.confirm.title': 'Verification',
    'modal.confirm.message': 'Please review your information before sending.',
    'modal.btn.cancel': 'Cancel',
    'modal.btn.confirm': 'Confirm & Send',

    // Hero
    'hero.greeting': 'Hi, I am',
    'hero.title': 'Dayron Van Leemput',
    'hero.subtitle': 'Computer Technology Student',
    'hero.description': 'Bachelor 3 at HELHa Tournai | Young developer passionate about new technologies and innovative application development',

    // About
    'about.title': 'About me',
    'about.subtitle': 'Discover my journey and passions',
    'about.stats.year': '3rd',
    'about.stats.yearLabel': 'Year of studies',
    'about.stats.passion': '100%',
    'about.stats.passionLabel': 'Passion',
    'about.stats.goals': '∞',
    'about.stats.goalsLabel': 'Goals',
    'about.stats.fuel': '☕',
    'about.stats.fuelLabel': 'Daily fuel',
    'about.journey.title': 'My journey',
    'about.journey.content': 'Currently in my 3rd year of Computer Technology at HELHa Tournai, I am passionate about application development and new technologies. My journey has allowed me to acquire a solid technical foundation and a methodical approach to development.',
    'about.passion.title': 'My passion',
    'about.passion.content': 'What drives me most is creating innovative solutions that solve real problems. I particularly enjoy mobile development with Flutter and modern web development with React and TypeScript.',
    'about.goals.title': 'My goals',
    'about.goals.content': 'I constantly seek to improve my skills and stay up to date with the latest technological trends. My goal is to become a versatile full-stack developer and contribute to projects that have a positive impact.',
    'about.quote.title': 'In a few words',
    'about.quote.content': 'Technology is nothing. What\'s important is that you have a faith in people, that they\'re basically good and smart, and if you give them tools, they\'ll do wonderful things with them.',
    'about.quote.author': 'Steve Jobs',

    // Skills
    'skills.title': 'My Skills',
    'skills.subtitle': 'Technologies and tools I master',
    'skills.category.mobile': 'Mobile',
    'skills.category.frontend': 'Frontend',
    'skills.category.backend': 'Backend',
    'skills.category.tools': 'Tools & Others',
    'skills.otherSkills': 'Other skills',
    'skills.problemSolving': 'Problem solving',
    'skills.teamwork': 'Teamwork',
    'skills.continuousLearning': 'Continuous learning',
    'skills.communication': 'Communication',

    // Projects
    'projects.title': 'My Projects',
    'projects.subtitle': 'Discover my achievements and experiences',
    'projects.status.available': 'Coming soon on App Store and Play Store',
    'projects.status.current': 'Current project',
    'projects.status.personal': 'Personal project',
    'projects.status.online': 'Online',
    'projects.features': 'Main features:',
    'projects.btn.code': 'Code',
    'projects.btn.viewProject': 'View project',
    'projects.travelMate.title': 'Travel Mate',
    'projects.travelMate.description': 'Mobile application designed to simplify group travel organization. It allows centralizing all important travel information: planning, expense management, activity discovery and coordination between participants.',
    'projects.travelMate.feature1': 'Collaborative travel planning',
    'projects.travelMate.feature2': 'Shared expense management',
    'projects.travelMate.feature3': 'Local activity discovery',
    'projects.travelMate.feature4': 'Real-time coordination',
    'projects.portfolio.title': 'Web Portfolio',
    'projects.portfolio.description': 'Modern and responsive personal website developed with React and TypeScript. Includes fluid animations, dark/light mode and modular architecture.',
    'projects.portfolio.feature1': 'Responsive design',
    'projects.portfolio.feature2': 'Fluid animations',
    'projects.portfolio.feature3': 'Dark/light mode',
    'projects.portfolio.feature4': 'Optimized performance',
    'projects.shelbys.title': 'Shelbys Bar',
    'projects.shelbys.description': 'Elegant showcase website for Shelbys Bar. Presents the atmosphere, menu, and events of the bar with a modern and immersive design.',
    'projects.shelbys.feature1': 'Modern and immersive design',
    'projects.shelbys.feature2': 'Menu presentation',
    'projects.shelbys.feature4': 'Practical information',
    'projects.homeSync.title': 'Home Sync',
    'projects.homeSync.description': 'All-in-one family management application. Sync calendars, share shopping lists, and manage your household with ease.',
    'projects.homeSync.feature1': 'Shared family calendar',
    'projects.homeSync.feature2': 'Collaborative shopping lists',
    'projects.homeSync.feature3': 'Simple household management',
    'projects.homeSync.feature4': 'Google Calendar synchronization',

    // Education
    'education.title': 'Education',
    'education.subtitle': 'My academic and professional journey',
    'education.learningGoals2026': '2026 Learning Goals',
    'education.goal1': 'Master Firebase and cloud services',
    'education.goal2': 'Deepen n8n for automation',
    'education.goal3': 'Learn Docker and containers',
    'education.goal4': 'Develop my UI/UX skills',
    'education.degree': 'Bachelor in Computer Technology',
    'education.school': 'HELHa - Haute École Louvain en Hainaut',
    'education.location': 'Tournai, Belgium',
    'education.period': '2023 - 2026',
    'education.currentYear': '3rd year',
    'education.status': 'In progress',
    'education.description': 'Complete training in software development, programming, databases, networks and IT project management.',
    'education.highlights.0': 'Object-oriented programming (Java, C#)',
    'education.highlights.1': 'Web development (HTML, CSS, JavaScript, React)',
    'education.highlights.2': 'Mobile development (Flutter, Dart)',
    'education.highlights.3': 'Databases and SQL',
    'education.highlights.4': 'Project management',
    'education.highlights.5': 'Networks and systems',
    'education.certifications.title': 'Certifications & Training',
    'education.cert1.title': 'Flutter Mobile Development',
    'education.cert1.provider': 'Self-taught training',
    'education.cert1.date': '2024',
    'education.cert2.title': 'React & TypeScript',
    'education.cert2.provider': 'Personal projects',
    'education.cert2.date': '2024',
    'education.highschool.degree': 'CESS (Certificate of Upper Secondary Education)',
    'education.highschool.school': 'Athénée Royal d\'Ath',
    'education.highschool.location': 'Ath, Belgium',
    'education.highschool.period': '2016 - 2022',
    'education.highschool.status': 'Graduated',
    'education.highschool.description': 'Math-Science Section (Math 8h - Science 7h)',
    'education.highschool.highlights.0': 'Advanced Mathematics',
    'education.highschool.highlights.1': 'Sciences (Physics, Chemistry, Biology)',
    'education.highschool.highlights.2': 'Languages',

    // Travel Mate Page
    'travelmate.page.mainTitle': 'Travel Mate 🌍',
    'travelmate.page.subtitle': 'The essential travel companion',
    'travelmate.page.intro': 'Rediscover group travel with Travel Mate. More than just an app, it\'s your essential co-pilot for friction-free adventures. Forget complex spreadsheets and debates about "who owes what". Focus on what matters: making unforgettable memories.',

    'travelmate.highlights.title': '✨ Key Highlights',
    'travelmate.highlight.1.title': 'Simplified Group Management',
    'travelmate.highlight.1.desc': 'Create your trip and invite companions with a single click via a unique link. Organization starts instantly.',
    'travelmate.highlight.2.title': 'Mastered Expenses (Split)',
    'travelmate.highlight.2.desc': 'Track expenses in real-time and let the app balance accounts automatically. No more complicated math!',
    'travelmate.highlight.3.title': 'Collaborative Planning',
    'travelmate.highlight.3.desc': 'A shared agenda and interactive map so everyone can suggest and visualize group activities.',
    'travelmate.highlight.4.title': 'Seamless Communication',
    'travelmate.highlight.4.desc': 'An integrated chat to centralize discussions and keep everyone on the same page.',

    'travelmate.page.conclusion': 'Ready to go? With Travel Mate, the adventure begins with the planning. Travel with peace of mind, we\'ll handle the rest.',

    'travelmate.tech.title': '🛠️ Technologies Used',
    'travelmate.tech.frontend': 'Mobile Frontend (Flutter)',
    'travelmate.tech.frontend.1': 'BLoC Architecture for robust state management',
    'travelmate.tech.frontend.2': 'Fluid and responsive User Interface',
    'travelmate.tech.frontend.3': 'Native Integration (Camera, GPS, Notifications)',
    'travelmate.tech.backend': 'Backend (Firebase)',
    'travelmate.tech.backend.1': 'Authentication (Google, Apple, Email)',
    'travelmate.tech.backend.2': 'Firestore (Real-time Database)',
    'travelmate.tech.backend.3': 'Cloud Functions (Server Logic)',
    'travelmate.tech.backend.4': 'Firebase Cloud Messaging - Notifications push',
    'travelmate.tech.backend.5': 'Storage (Media)',
    'travelmate.tech.api': 'APIs & Tools',
    'travelmate.tech.api.1': 'Google Maps API / Mapbox',
    'travelmate.tech.api.2': 'CI/CD with Gitea Actions',
    'travelmate.viewCode': 'View Code',

    // Erase Data Page
    'erasedata.title': 'Data Erasure Request',
    'erasedata.description': 'In accordance with GDPR and our privacy policy, you can request the deletion of your personal data associated with Travel Mate. Please fill out the form below.',
    'erasedata.success.title': 'Request sent successfully',
    'erasedata.success.message': 'We will process your request as soon as possible.',
    'erasedata.form.lastname': 'Last Name',
    'erasedata.form.firstname': 'First Name',
    'erasedata.form.email': 'Account Email to Delete',
    'erasedata.form.message': 'Message / Reason (Optional)',
    'erasedata.form.placeholder': 'I wish to delete my account because...',
    'erasedata.form.confirm': 'I confirm that I want to delete my personal data. I understand that this action is irreversible and will result in the loss of access to my Travel Mate account.',
    'erasedata.form.submit': 'Send Request',
    'erasedata.form.submitting': 'Sending...',

    'travelmate.policies.link': 'View Privacy Policy',
    'travelmate.erasedata.link': 'Data Deletion',
    'travelmate.support.link': 'Support',

    'travelmate.legal.title': 'Help & Legal Center',
    'travelmate.legal.privacy.desc': 'Read about our commitments regarding your personal data.',
    'travelmate.legal.erasedata.desc': 'Exercise your right to be forgotten by requesting data deletion.',
    'travelmate.legal.support.desc': 'A question? A problem? Contact our support team.',

    // Support Page
    'support.title': 'Travel Mate Support',
    'support.description': 'Need help? Fill out the form below.',
    'support.form.lastname': 'Last Name',
    'support.form.firstname': 'First Name',
    'support.form.accountemail': 'Account Email',
    'support.form.contactemail': 'Contact Email',
    'support.form.sameemail': 'Use same email for contact',
    'support.form.message': 'Message',
    'support.form.submit': 'Send',
    'support.form.submitting': 'Sending...',
    'support.success.title': 'Request Sent',
    'support.success.message': 'We will reply as soon as possible.',
    'support.error.generic': 'An error occurred.',

    // Policies Page
    'policies.back': 'Back',
    'policies.title': 'Privacy Policy',
    'policies.intro': 'Your privacy is important to us. Here is how we protect your data.',

    'policies.section.1.title': 'Information Collection',
    'policies.section.1.content': 'We collect information that you provide directly to us, such as your name, email address, and travel preferences.',

    'policies.permissions.title': 'Device Permissions',
    'policies.data.camera': 'Camera & Gallery',
    'policies.data.camera.desc': 'To add photos to memories or scan receipts.',
    'policies.data.gps': 'Location (GPS)',
    'policies.data.gps.desc': 'For the interactive map and nearby activity suggestions.',
    'policies.data.notif': 'Notifications',
    'policies.data.notif.desc': 'To alert you of new messages, expenses, or schedule changes.',

    'policies.section.2.title': 'Data Usage',
    'policies.section.2.content': 'Your data is used to improve your user experience and offer you personalized recommendations.',

    'policies.section.3.title': 'Data Protection',
    'policies.section.3.content': 'We implement appropriate security measures to protect your personal information.',

    'policies.section.4.title': 'Data Sharing',
    'policies.section.4.content': 'We do not share your personal information with third parties without your explicit consent.',

    'policies.section.5.title': 'Your Rights',
    'policies.section.5.content': 'You have the right to access, correct, or delete your personal data at any time. Please contact us for any request.',

    'policies.section.6.title': 'Contact Us',
    'policies.section.6.content': 'For any questions regarding this privacy policy, please contact us at contact.travelmate@xeewy.be',

    'travelmate.contact.title': 'Contact Us',
    'travelmate.contact.subtitle': 'A question, a suggestion or an issue? Don\'t hesitate to write to us directly.',
    'travelmate.contact.emailLabel': 'Support Email',

    'policies.googleBtn': 'Google Privacy Policy',

    // Home Sync Page
    'homesync.page.mainTitle': 'Home Sync 👨‍👩‍👧‍👦',
    'homesync.page.subtitle': 'The ultimate family organizer',
    'homesync.page.intro': 'Family Organizer is a mobile application developed with Flutter that allows families to simplify and centralize the daily management of their household. Synchronize your schedules, manage shared shopping lists, and stay connected in real-time.',

    'homesync.highlights.title': '✨ Main Features',
    'homesync.highlight.1.title': 'Shared & Smart Calendar',
    'homesync.highlight.1.desc': 'Centralized view of all family events (Month, Week, Day). Bidirectional synchronization with Google Calendar, custom categories, and smart reminders.',
    'homesync.highlight.2.title': 'Collaborative Shopping Lists',
    'homesync.highlight.2.desc': 'Real-time addition and modification. Organization by status (to buy / bought) and instant synchronization between all household members.',
    'homesync.highlight.3.title': 'Household Management',
    'homesync.highlight.3.desc': 'System to join a family via unique ID, profile management, and member administration. Multiple households possible.',
    'homesync.highlight.4.title': 'Security & Customization',
    'homesync.highlight.4.desc': 'Secure login (Email/Google), customizable themes (light/dark), and fine-grained push notification management.',

    'homesync.page.conclusion': 'Take back control of your family organization with Home Sync.',

    'homesync.tech.title': '🛠️ Tech Stack',
    'homesync.tech.frontend': 'Frontend',
    'homesync.tech.frontend.1': 'Flutter (Dart 3.9.2) & BLoC Pattern',
    'homesync.tech.frontend.2': 'Material Design with custom themes',
    'homesync.tech.backend': 'Backend & Services',
    'homesync.tech.backend.1': 'Firebase Core, Auth, Firestore & Storage',
    'homesync.tech.backend.2': 'Firebase Cloud Messaging (Notifications)',
    'homesync.tech.api': 'APIs & Integrations',
    'homesync.tech.api.1': 'Google Calendar API & Google Sign-In',
    'homesync.viewCode': 'Source Code (Private)',

    'homesync.legal.link': 'Documentation & Privacy Policy',

    // Contact
    'contact.title': 'Contact me',
    'contact.subtitle': 'A question, a project or just want to chat? Feel free to contact me!',
    'contact.form.name': 'Full name',
    'contact.form.email': 'Email',
    'contact.form.subject': 'Subject',
    'contact.form.message': 'Message',
    'contact.form.send': 'Send message',
    'contact.form.sending': 'Sending...',
    'contact.success': 'Message sent successfully! I will reply soon.',
    'contact.stayInTouch': 'Let\'s stay in touch',
    'contact.intro': 'I am always interested in new projects, collaborations or simply discussions about technology. Feel free to contact me!',
    'contact.findMeOn': 'Find me also on:',
    'contact.sendMessage': 'Send me a message',
  }
};

// Création du contexte
const LanguageContext = createContext<LanguageContextType | undefined>(undefined);

// Provider
interface LanguageProviderProps {
  children: ReactNode;
}

import { useNavigate, useParams, useLocation } from 'react-router-dom';

export const LanguageProvider: React.FC<LanguageProviderProps> = ({ children }) => {
  const { lang } = useParams<{ lang: string }>();
  const navigate = useNavigate();
  const location = useLocation();

  // Validate language, default to 'fr' if undefined or invalid (though App.tsx handles defaults)
  const currentLanguage: Language = (lang === 'en' || lang === 'fr') ? lang : 'fr';

  const setLanguage = (newLang: Language) => {
    if (newLang === currentLanguage) return;

    // Replace the language segment in the URL
    // Assumes the first segment is the language
    const currentPath = location.pathname;
    const segments = currentPath.split('/');
    // segments[0] is empty string (before first slash)
    // segments[1] is the language
    if (segments[1] === 'fr' || segments[1] === 'en') {
      segments[1] = newLang;
    } else {
      // Should not happen if routing is correct, but safe fallback
      segments.splice(1, 0, newLang);
    }
    const newPath = segments.join('/');

    // Save to local storage if user has consented to preferences
    // Note: We access localStorage directly here for simplicity, 
    // but ideally we check cookie consent first. 
    // However, saving a simple language preference string is often considered essential/functional.
    // For strict compliance, we will wrap this check in App.tsx or use the CookieContext here.
    const consent = localStorage.getItem('cookie_consent');
    if (consent) {
      try {
        const parsed = JSON.parse(consent);
        if (parsed.preferences || parsed.essential) {
          localStorage.setItem('preferred_language', newLang);
        }
      } catch (e) {
        // ignore
      }
    }

    navigate(newPath + location.search + location.hash);
  };

  // Update HTML lang attribute
  React.useEffect(() => {
    document.documentElement.lang = currentLanguage;
  }, [currentLanguage]);

  // Fonction de traduction
  const t = (key: string): string => {
    return translations[currentLanguage][key as keyof typeof translations['fr']] || key;
  };

  return (
    <LanguageContext.Provider value={{ language: currentLanguage, setLanguage, t }}>
      {children}
    </LanguageContext.Provider>
  );
};

// Hook personnalisé
export const useLanguage = (): LanguageContextType => {
  const context = useContext(LanguageContext);
  if (!context) {
    throw new Error('useLanguage must be used within a LanguageProvider');
  }
  return context;
};