feat(i18n): add French language support and enhance localization

- Introduced French as a supported language across the application, updating locale files and adding translations for various components.
- Enhanced language handling logic to accommodate French, ensuring proper detection and fallback mechanisms.
- Updated UI elements to include French language options, improving accessibility for French-speaking users.
- Refactored SEO handling to include French in hreflang links, enhancing search engine indexing for multilingual content.
- Added new scripts for managing French translations and ensuring consistency across language files.
This commit is contained in:
Torsten Schulz (local)
2026-04-07 18:04:03 +02:00
parent 545357e008
commit 3e74ae47f4
56 changed files with 5220 additions and 175 deletions

View File

@@ -0,0 +1,107 @@
{
"minigames": {
"title": "Minispiele",
"description": "Découvrez une collection de mini-jeux amusants !",
"play": "Jouer",
"backToGames": "Retour aux jeux",
"comingSoon": {
"title": "À venir",
"description": "Des jeux plus passionnants sont en développement !"
},
"match3": {
"title": "Match 3 - Campagne Joyaux",
"description": "Connectez trois joyaux identiques ou plus pour collecter des points !",
"campaignDescription": "Jouez à tous les niveaux et collectez des étoiles !",
"gameStats": "Statistiques du jeu",
"score": "Points",
"moves": "Trains",
"currentLevel": "Niveau actuel",
"level": "niveau",
"stars": "Étoiles",
"movesLeft": "Trains restants",
"restartLevel": "Niveau de redémarrage",
"pause": "pause",
"resume": "Continue à jouer",
"paused": "Jeu en pause",
"levelComplete": "Niveau terminé !",
"levelScore": "Note de niveau",
"movesUsed": "Trains utilisés",
"starsEarned": "Étoiles reçues",
"nextLevel": "Niveau suivant",
"campaignComplete": "Campagne terminée !",
"totalScore": "Total de points",
"totalStars": "Étoiles globales",
"levelsCompleted": "Niveaux terminés",
"restartCampaign": "Relancer la campagne",
"nextStep": "Étape suivante",
"objectivesCollapse": "Réduire les objectifs",
"objectivesShow": "Afficher les objectifs",
"objectives": "Objectifs",
"loadingBoard": "Le plateau de jeu est en préparation...",
"loadingHint": "Les données de niveau, les objectifs et la disposition du terrain sont actuellement en cours de synchronisation."
},
"taxi": {
"title": "Simulateur de taxi",
"description": "Conduisez des passagers dans la ville et gagnez de l'argent !",
"gameStats": "Statistiques du jeu",
"score": "Points",
"money": "Argent",
"passengers": "passagers",
"currentLevel": "Niveau actuel",
"level": "niveau",
"fuel": "carburant",
"fuelLeft": "Carburant restant",
"restartLevel": "Niveau de redémarrage",
"pause": "pause",
"resume": "Continue à jouer",
"paused": "Jeu en pause",
"levelComplete": "Niveau terminé !",
"levelScore": "Note de niveau",
"moneyEarned": "Argent gagné",
"passengersDelivered": "Passagers transportés",
"nextLevel": "Niveau suivant",
"campaignComplete": "Campagne terminée !",
"totalScore": "Total de points",
"totalMoney": "Argent total",
"levelsCompleted": "Niveaux terminés",
"restartCampaign": "Relancer la campagne",
"pickupPassenger": "Récupérer le passager",
"deliverPassenger": "Livrer un passager",
"refuel": "Ravitailler",
"startEngine": "Démarrer le moteur",
"stopEngine": "Arrêter le moteur",
"controls": "pilotage",
"accelerate": "Appuyer sur le champignon",
"brake": "Freins",
"steerRight": "Dirigez-vous vers la droite",
"steerLeft": "Dirigez-vous vers la gauche",
"goals": "Objectifs",
"avoidCollisions": "Évitez les collisions avec d'autres véhicules",
"streetNames": "Straßennamen",
"remainingVehicles": "Véhicules restants",
"fuelTitle": "carburant",
"pointsTitle": "Points",
"speedViolations": "excès de vitesse",
"redLightsPassed": "Faire passer des feux rouges",
"highscore": "Note élevée",
"topPlayers": "Les 20 meilleurs joueurs",
"loadingHighscore": "Chargement des meilleurs scores...",
"noHighscore": "Pas encore de scores élevés",
"pointsShort": "Pt",
"backToGame": "Retour au jeu",
"minimap": "Mini-carte",
"loadedPassengers": "Passagers invités",
"waitingPassengers": "Passagers en attente",
"noPassengersInTaxi": "Aucun passager dans le taxi",
"noWaitingPassengers": "Pas de passagers en attente",
"name": "Name",
"destination": "Ziel",
"bonus": "prime",
"time": "Temps",
"crash": {
"title": "Accident!",
"message": "Vous avez eu un accident ! Crashes : {crashs}"
}
}
}
}