Replace workouts tab with explore tab connected to Supabase

- Rename workouts.tsx to explore.tsx with new functionality
- Add horizontal scrolling collections section with gradient cards
- Add featured workouts section
- Implement filtering by category (All, Full Body, Upper Body, Lower Body, Core, Cardio)
- Implement filtering by level (All Levels, Beginner, Intermediate, Advanced)
- Implement filtering by equipment (All, No Equipment, Band, Dumbbells, Mat)
- Add clear filters button when filters are active
- Add loading states with ActivityIndicator
- Add empty state for no results
- Update tab label from "Workouts" to "Explore"
- Add explore translations for en, fr, de, es
This commit is contained in:
Millian Lamiaux
2026-03-23 21:27:19 +01:00
parent 197324188c
commit 8703c484e8
7 changed files with 1120 additions and 446 deletions

View File

@@ -1,9 +1,8 @@
{
"tabs": {
"home": "Start",
"workouts": "Workouts",
"explore": "Entdecken",
"activity": "Aktivität",
"browse": "Entdecken",
"profile": "Profil"
},
@@ -11,14 +10,38 @@
"featured": "EMPFOHLEN",
"recent": "Zuletzt",
"popularThisWeek": "Beliebt diese Woche",
"collections": "Sammlungen"
"collections": "Sammlungen",
"chooseYourPath": "W\u00e4hle deinen Weg",
"continueYourJourney": "Setze deine Reise fort",
"yourPrograms": "Deine Programme",
"programsSubtitle": "W\u00e4hle deinen Fokus",
"switchProgram": "Programm wechseln",
"statsStreak": "Serie",
"statsThisWeek": "Diese Woche",
"statsMinutes": "Minuten"
},
"workouts": {
"title": "Workouts",
"available": "{{count}} Workouts verfügbar",
"explore": {
"title": "Entdecken",
"collections": "Sammlungen",
"featured": "Empfohlen",
"allWorkouts": "Alle Workouts",
"noWorkouts": "Keine Workouts gefunden"
"trainers": "Trainer",
"noResults": "Keine Workouts gefunden",
"tryAdjustingFilters": "Versuchen Sie, Ihre Filter anzupassen",
"loading": "Wird geladen...",
"filterCategory": "Kategorie",
"filterLevel": "Niveau",
"filterEquipment": "Ausrüstung",
"filterDuration": "Dauer",
"clearFilters": "Filter löschen",
"workoutsCount": "{{count}} Workouts",
"equipmentOptions": {
"none": "Ohne Ausrüstung",
"band": "Widerstandsband",
"dumbbells": "Hanteln",
"mat": "Matte"
}
},
"activity": {
@@ -78,7 +101,41 @@
"learnMore": "Mehr erfahren",
"version": "Version",
"privacyPolicy": "Datenschutzrichtlinie",
"signOut": "Abmelden"
"signOut": "Abmelden",
"statsWorkouts": "Workouts",
"statsStreak": "Tage in Folge",
"statsCalories": "Kalorien",
"faq": "FAQ",
"contactUs": "Kontakt",
"rateApp": "App bewerten",
"sectionPremium": "Auf Premium upgraden",
"sectionPersonalization": "PERSONALISIERUNG",
"personalization": "Personalisierung",
"personalizationEnabled": "KI-gestützte Empfehlungen aktiv",
"personalizationDisabled": "Aktivieren für personalisierte Workouts",
"enablePersonalization": "Personalisierung aktivieren",
"deleteData": "Meine Daten löschen"
},
"sync": {
"title": "Personalisierte Workouts freischalten",
"benefits": {
"recommendations": "KI-gestützte Empfehlungen basierend auf Ihrem Fortschritt",
"adaptive": "Adaptive Schwierigkeit, die mit Ihnen wächst",
"sync": "Synchronisieren Sie Ihren Fortschritt über alle Geräte",
"secure": "Ihre Daten sind verschlüsselt und sicher"
},
"privacy": "Wir speichern Ihren Trainingsverlauf, um Ihr personalisiertes Programm zu erstellen. Sie können diese Daten jederzeit in den Einstellungen löschen.",
"primaryButton": "Mein Erlebnis personalisieren",
"secondaryButton": "Mit generischen Programmen fortfahren"
},
"dataDeletion": {
"title": "Ihre Daten löschen?",
"description": "Dies löscht dauerhaft Ihren synchronisierten Trainingsverlauf und Ihre Personalisierungsdaten von unseren Servern.",
"note": "Ihr lokaler Trainingsverlauf wird auf diesem Gerät gespeichert. Sie fahren mit generischen Programmen fort.",
"deleteButton": "Meine Daten löschen",
"cancelButton": "Meine Daten behalten"
},
"player": {
@@ -212,5 +269,64 @@
"restorePurchases": "K\u00e4ufe wiederherstellen",
"skipButton": "Ohne Abo fortfahren"
}
},
"programs": {
"title": "Programme",
"weeks": "Wochen",
"week": "Woche",
"workouts": "Workouts",
"workout": "Workout",
"minutes": "Minuten",
"min": "min",
"perWeek": "/Woche",
"equipment": "Ausr\u00fcstung",
"optional": "(optional)",
"bodyweightOnly": "Nur K\u00f6rpergewicht",
"focusAreas": "Schwerpunkte",
"exercises": "\u00dcbungen",
"of": "von",
"complete": "abgeschlossen",
"completed": "Abgeschlossen",
"notStarted": "Nicht gestartet",
"inProgress": "In Bearbeitung",
"allWorkoutsComplete": "Alle Workouts abgeschlossen!",
"status": {
"notStarted": "Nicht gestartet",
"inProgress": "In Bearbeitung",
"complete": "Abgeschlossen",
"completed": "Abgeschlossen"
},
"yourProgress": "Ihr Fortschritt",
"trainingPlan": "Trainingsplan",
"current": "Aktuell",
"startProgram": "Programm starten",
"continue": "Fortsetzen",
"continueTraining": "Training fortsetzen",
"restart": "Neu starten",
"restartProgram": "Programm neu starten"
},
"assessment": {
"title": "Bewegungsbewertung",
"welcomeTitle": "Schnelle Bewertung",
"welcomeDescription": "Lassen Sie uns Ihre Bewegungsmuster \u00fcberpr\u00fcfen, um Ihre Erfahrung zu personalisieren und den besten Startpunkt zu empfehlen.",
"minutes": "Minuten",
"quickCheck": "Schnelle \u00dcberpr\u00fcfung Ihres Fitnessniveaus",
"movements": "Bewegungen",
"testMovements": "Testen Sie wichtige Bewegungsmuster",
"noEquipment": "Keine Ausr\u00fcstung erforderlich",
"justYourBody": "Nur Ihr K\u00f6rpergewicht",
"whatWeCheck": "Was wir \u00fcberpr\u00fcfen",
"mobility": "Mobilit\u00e4t",
"strength": "Kraft",
"stability": "Stabilit\u00e4t",
"balance": "Gleichgewicht",
"takeAssessment": "Bewertung durchf\u00fchren",
"startAssessment": "Bewertung starten",
"skipForNow": "Vorerst \u00fcberspringen",
"tips": "Tipps f\u00fcr beste Ergebnisse",
"duration": "Dauer",
"exercises": "\u00dcbungen"
}
}

View File

@@ -1,9 +1,8 @@
{
"tabs": {
"home": "Home",
"workouts": "Workouts",
"explore": "Explore",
"activity": "Activity",
"browse": "Browse",
"profile": "Profile"
},
@@ -11,14 +10,38 @@
"featured": "FEATURED",
"recent": "Recent",
"popularThisWeek": "Popular This Week",
"collections": "Collections"
"collections": "Collections",
"chooseYourPath": "Choose Your Path",
"continueYourJourney": "Continue Your Journey",
"yourPrograms": "Your Programs",
"programsSubtitle": "Choose your focus",
"switchProgram": "Switch Program",
"statsStreak": "Streak",
"statsThisWeek": "This Week",
"statsMinutes": "Minutes"
},
"workouts": {
"title": "Workouts",
"available": "{{count}} workouts available",
"explore": {
"title": "Explore",
"collections": "Collections",
"featured": "Featured",
"allWorkouts": "All Workouts",
"noWorkouts": "No workouts found"
"trainers": "Trainers",
"noResults": "No workouts found",
"tryAdjustingFilters": "Try adjusting your filters",
"loading": "Loading...",
"filterCategory": "Category",
"filterLevel": "Level",
"filterEquipment": "Equipment",
"filterDuration": "Duration",
"clearFilters": "Clear Filters",
"workoutsCount": "{{count}} workouts",
"equipmentOptions": {
"none": "No Equipment",
"band": "Resistance Band",
"dumbbells": "Dumbbells",
"mat": "Mat"
}
},
"activity": {
@@ -85,7 +108,34 @@
"faq": "FAQ",
"contactUs": "Contact Us",
"rateApp": "Rate App",
"sectionPremium": "Upgrade to Premium"
"sectionPremium": "Upgrade to Premium",
"sectionPersonalization": "PERSONALIZATION",
"personalization": "Personalization",
"personalizationEnabled": "AI-powered recommendations active",
"personalizationDisabled": "Enable for personalized workouts",
"enablePersonalization": "Enable Personalization",
"deleteData": "Delete My Data"
},
"sync": {
"title": "Unlock Personalized Workouts",
"benefits": {
"recommendations": "AI-powered recommendations based on your progress",
"adaptive": "Adaptive difficulty that grows with you",
"sync": "Sync your progress across devices",
"secure": "Your data is encrypted and secure"
},
"privacy": "We'll save your workout history to create your personalized program. You can delete this data anytime in Settings.",
"primaryButton": "Personalize My Experience",
"secondaryButton": "Continue with Generic Programs"
},
"dataDeletion": {
"title": "Delete Your Data?",
"description": "This will permanently delete your synced workout history and personalization data from our servers.",
"note": "Your local workout history will be kept on this device. You'll continue with generic programs.",
"deleteButton": "Delete My Data",
"cancelButton": "Keep My Data"
},
"player": {
@@ -224,6 +274,23 @@
"5x": "5x / week"
}
},
"paywall": {
"title": "Stay on track.\nNo limits.",
"features": {
"unlimited": "Unlimited Workouts",
"offline": "Offline Downloads",
"stats": "Advanced Stats & Apple Watch",
"noAds": "No Ads + Family Sharing"
},
"bestValue": "BEST VALUE",
"yearlyPrice": "$49.99",
"monthlyPrice": "$6.99",
"savePercent": "Save 42%",
"trialCta": "START FREE TRIAL (7 days)",
"guarantees": "Cancel anytime · 30-day money-back guarantee",
"restorePurchases": "Restore Purchases",
"skipButton": "Continue without subscription"
},
"privacy": {
"title": "Privacy Policy",
"lastUpdated": "Last Updated: March 2026",
@@ -261,5 +328,64 @@
"content": "If you have questions about this privacy policy, please contact us at:"
}
}
},
"programs": {
"title": "Programs",
"weeks": "Weeks",
"week": "Week",
"workouts": "Workouts",
"workout": "Workout",
"minutes": "Minutes",
"min": "min",
"perWeek": "/week",
"equipment": "Equipment",
"optional": "(optional)",
"bodyweightOnly": "Bodyweight only",
"focusAreas": "Focus Areas",
"exercises": "exercises",
"of": "of",
"complete": "complete",
"completed": "Completed",
"notStarted": "Not Started",
"inProgress": "In Progress",
"allWorkoutsComplete": "All Workouts Complete!",
"status": {
"notStarted": "Not Started",
"inProgress": "In Progress",
"complete": "Complete",
"completed": "Completed"
},
"yourProgress": "Your Progress",
"trainingPlan": "Training Plan",
"current": "Current",
"startProgram": "Start Program",
"continue": "Continue",
"continueTraining": "Continue Training",
"restart": "Restart",
"restartProgram": "Restart Program"
},
"assessment": {
"title": "Movement Assessment",
"welcomeTitle": "Quick Assessment",
"welcomeDescription": "Let's check your movement patterns to personalize your experience and recommend the best starting point.",
"minutes": "minutes",
"quickCheck": "Quick check of your fitness level",
"movements": "movements",
"testMovements": "Test key movement patterns",
"noEquipment": "No equipment needed",
"justYourBody": "Just your bodyweight",
"whatWeCheck": "What We'll Check",
"mobility": "Mobility",
"strength": "Strength",
"stability": "Stability",
"balance": "Balance",
"takeAssessment": "Take Assessment",
"startAssessment": "Start Assessment",
"skipForNow": "Skip for now",
"tips": "Tips for best results",
"duration": "Duration",
"exercises": "Exercises"
}
}

View File

@@ -1,9 +1,8 @@
{
"tabs": {
"home": "Inicio",
"workouts": "Entrenos",
"explore": "Explorar",
"activity": "Actividad",
"browse": "Explorar",
"profile": "Perfil"
},
@@ -11,14 +10,38 @@
"featured": "DESTACADO",
"recent": "Recientes",
"popularThisWeek": "Popular esta semana",
"collections": "Colecciones"
"collections": "Colecciones",
"chooseYourPath": "Elige tu camino",
"continueYourJourney": "Contin\u00faa tu viaje",
"yourPrograms": "Tus programas",
"programsSubtitle": "Elige tu enfoque",
"switchProgram": "Cambiar programa",
"statsStreak": "Racha",
"statsThisWeek": "Esta semana",
"statsMinutes": "Minutos"
},
"workouts": {
"title": "Entrenos",
"available": "{{count}} entrenos disponibles",
"explore": {
"title": "Explorar",
"collections": "Colecciones",
"featured": "Destacados",
"allWorkouts": "Todos los entrenos",
"noWorkouts": "No se encontraron entrenos"
"trainers": "Entrenadores",
"noResults": "No se encontraron entrenos",
"tryAdjustingFilters": "Intenta ajustar tus filtros",
"loading": "Cargando...",
"filterCategory": "Categoría",
"filterLevel": "Nivel",
"filterEquipment": "Equipo",
"filterDuration": "Duración",
"clearFilters": "Borrar filtros",
"workoutsCount": "{{count}} entrenos",
"equipmentOptions": {
"none": "Sin equipo",
"band": "Banda elástica",
"dumbbells": "Mancuernas",
"mat": "Colchoneta"
}
},
"activity": {
@@ -78,7 +101,41 @@
"learnMore": "M\u00e1s informaci\u00f3n",
"version": "Versi\u00f3n",
"privacyPolicy": "Pol\u00edtica de privacidad",
"signOut": "Cerrar sesi\u00f3n"
"signOut": "Cerrar sesi\u00f3n",
"statsWorkouts": "entrenos",
"statsStreak": "d\u00edas consecutivos",
"statsCalories": "calor\u00edas",
"faq": "FAQ",
"contactUs": "Contactarnos",
"rateApp": "Calificar app",
"sectionPremium": "Actualizar a Premium",
"sectionPersonalization": "PERSONALIZACI\u00d3N",
"personalization": "Personalizaci\u00f3n",
"personalizationEnabled": "Recomendaciones IA activas",
"personalizationDisabled": "Active para entrenos personalizados",
"enablePersonalization": "Activar personalizaci\u00f3n",
"deleteData": "Eliminar mis datos"
},
"sync": {
"title": "Desbloquea entrenos personalizados",
"benefits": {
"recommendations": "Recomendaciones IA basadas en tu progreso",
"adaptive": "Dificultad adaptativa que crece contigo",
"sync": "Sincroniza tu progreso en todos tus dispositivos",
"secure": "Tus datos est\u00e1n cifrados y seguros"
},
"privacy": "Guardaremos tu historial de entrenos para crear tu programa personalizado. Puedes eliminar estos datos en cualquier momento en Configuraci\u00f3n.",
"primaryButton": "Personalizar mi experiencia",
"secondaryButton": "Continuar con programas gen\u00e9ricos"
},
"dataDeletion": {
"title": "\u00bfEliminar tus datos?",
"description": "Esto eliminar\u00e1 permanentemente tu historial de entrenos sincronizado y tus datos de personalizaci\u00f3n de nuestros servidores.",
"note": "Tu historial de entrenos local se mantendr\u00e1 en este dispositivo. Continuar\u00e1s con programas gen\u00e9ricos.",
"deleteButton": "Eliminar mis datos",
"cancelButton": "Conservar mis datos"
},
"player": {
@@ -212,5 +269,64 @@
"restorePurchases": "Restaurar compras",
"skipButton": "Continuar sin suscripci\u00f3n"
}
},
"programs": {
"title": "Programas",
"weeks": "Semanas",
"week": "Semana",
"workouts": "Entrenamientos",
"workout": "Entrenamiento",
"minutes": "Minutos",
"min": "min",
"perWeek": "/semana",
"equipment": "Equipo",
"optional": "(opcional)",
"bodyweightOnly": "Solo peso corporal",
"focusAreas": "\u00c1reas de enfoque",
"exercises": "ejercicios",
"of": "de",
"complete": "completado",
"completed": "Completado",
"notStarted": "No iniciado",
"inProgress": "En progreso",
"allWorkoutsComplete": "\u00a1Todos los entrenamientos completados!",
"status": {
"notStarted": "No iniciado",
"inProgress": "En progreso",
"complete": "Completado",
"completed": "Completado"
},
"yourProgress": "Tu progreso",
"trainingPlan": "Plan de entrenamiento",
"current": "Actual",
"startProgram": "Iniciar programa",
"continue": "Continuar",
"continueTraining": "Continuar entrenamiento",
"restart": "Reiniciar",
"restartProgram": "Reiniciar programa"
},
"assessment": {
"title": "Evaluaci\u00f3n de movimiento",
"welcomeTitle": "Evaluaci\u00f3n r\u00e1pida",
"welcomeDescription": "Verifiquemos tus patrones de movimiento para personalizar tu experiencia y recomendar el mejor punto de partida.",
"minutes": "minutos",
"quickCheck": "Verificaci\u00f3n r\u00e1pida de tu nivel de fitness",
"movements": "movimientos",
"testMovements": "Prueba patrones de movimiento clave",
"noEquipment": "No se necesita equipo",
"justYourBody": "Solo tu peso corporal",
"whatWeCheck": "Qu\u00e9 verificamos",
"mobility": "Movilidad",
"strength": "Fuerza",
"stability": "Estabilidad",
"balance": "Equilibrio",
"takeAssessment": "Realizar evaluaci\u00f3n",
"startAssessment": "Iniciar evaluaci\u00f3n",
"skipForNow": "Omitir por ahora",
"tips": "Consejos para mejores resultados",
"duration": "Duraci\u00f3n",
"exercises": "Ejercicios"
}
}

View File

@@ -1,9 +1,8 @@
{
"tabs": {
"home": "Accueil",
"workouts": "Exercices",
"activity": "Activit\u00e9",
"browse": "Explorer",
"explore": "Explorer",
"activity": "Activité",
"profile": "Profil"
},
@@ -11,31 +10,55 @@
"featured": "\u00c0 LA UNE",
"recent": "R\u00e9cents",
"popularThisWeek": "Populaires cette semaine",
"collections": "Collections"
"collections": "Collections",
"chooseYourPath": "Choisissez votre parcours",
"continueYourJourney": "Continuez votre parcours",
"yourPrograms": "Vos programmes",
"programsSubtitle": "Choisissez votre focus",
"switchProgram": "Changer de programme",
"statsStreak": "S\u00e9rie",
"statsThisWeek": "Cette semaine",
"statsMinutes": "Minutes"
},
"workouts": {
"title": "Exercices",
"available": "{{count}} exercices disponibles",
"explore": {
"title": "Explorer",
"collections": "Collections",
"featured": "En vedette",
"allWorkouts": "Tous les exercices",
"noWorkouts": "Aucun exercice trouv\u00e9"
"trainers": "Entraîneurs",
"noResults": "Aucun exercice trouvé",
"tryAdjustingFilters": "Essayez d'ajuster vos filtres",
"loading": "Chargement...",
"filterCategory": "Catégorie",
"filterLevel": "Niveau",
"filterEquipment": "Équipement",
"filterDuration": "Durée",
"clearFilters": "Effacer les filtres",
"workoutsCount": "{{count}} exercices",
"equipmentOptions": {
"none": "Sans équipement",
"band": "Bande élastique",
"dumbbells": "Haltères",
"mat": "Tapis"
}
},
"activity": {
"title": "Activit\u00e9",
"dayStreak": "jours cons\u00e9cutifs",
"title": "Activité",
"dayStreak": "jours consécutifs",
"longest": "RECORD",
"workouts": "Entra\u00eenements",
"workouts": "Entraînements",
"minutes": "Minutes",
"calories": "Calories",
"bestStreak": "Meilleure s\u00e9rie",
"bestStreak": "Meilleure série",
"thisWeek": "Cette semaine",
"ofDays": "{{completed}} sur 7 jours",
"recent": "R\u00e9cents",
"recent": "Récents",
"today": "Aujourd'hui",
"yesterday": "Hier",
"daysAgo": "il y a {{count}}j",
"achievements": "Succ\u00e8s"
"achievements": "Succès"
},
"browse": {
@@ -55,12 +78,12 @@
"profile": {
"title": "Profil",
"guest": "Invit\u00e9",
"guest": "Invité",
"memberSince": "Membre depuis {{date}}",
"sectionAccount": "COMPTE",
"sectionWorkout": "ENTRA\u00ceNEMENT",
"sectionWorkout": "ENTRAÎNEMENT",
"sectionNotifications": "NOTIFICATIONS",
"sectionAbout": "\u00c0 PROPOS",
"sectionAbout": "À PROPOS",
"sectionSubscription": "ABONNEMENT",
"email": "E-mail",
"plan": "Formule",
@@ -71,55 +94,82 @@
"voiceCoaching": "Coaching vocal",
"dailyReminders": "Rappels quotidiens",
"reminderTime": "Heure du rappel",
"reminderFooter": "Recevez un rappel quotidien pour maintenir votre s\u00e9rie",
"workoutSettingsFooter": "Personnalisez votre exp\u00e9rience d'entra\u00eenement",
"upgradeTitle": "D\u00e9bloquer TabataFit+",
"upgradeDescription": "Acc\u00e9dez \u00e0 des entra\u00eenements illimit\u00e9s, t\u00e9l\u00e9chargements hors ligne et plus.",
"reminderFooter": "Recevez un rappel quotidien pour maintenir votre série",
"workoutSettingsFooter": "Personnalisez votre expérience d'entraînement",
"upgradeTitle": "Débloquer TabataFit+",
"upgradeDescription": "Accédez à des entraînements illimités, téléchargements hors ligne et plus.",
"learnMore": "En savoir plus",
"version": "Version",
"privacyPolicy": "Politique de confidentialit\u00e9",
"signOut": "Se d\u00e9connecter",
"statsWorkouts": "entra\u00eenements",
"statsStreak": "jours cons\u00e9cutifs",
"privacyPolicy": "Politique de confidentialité",
"signOut": "Se déconnecter",
"statsWorkouts": "entraînements",
"statsStreak": "jours consécutifs",
"statsCalories": "calories",
"faq": "FAQ",
"contactUs": "Nous contacter",
"rateApp": "Noter l'app",
"sectionPremium": "Passer à Premium"
"sectionPremium": "Passer à Premium",
"sectionPersonalization": "PERSONNALISATION",
"personalization": "Personnalisation",
"personalizationEnabled": "Recommandations IA actives",
"personalizationDisabled": "Activez pour des entraînements personnalisés",
"enablePersonalization": "Activer la personnalisation",
"deleteData": "Supprimer mes données"
},
"sync": {
"title": "Débloquez les entraînements personnalisés",
"benefits": {
"recommendations": "Recommandations IA basées sur vos progrès",
"adaptive": "Difficulté adaptative qui évolue avec vous",
"sync": "Synchronisez vos progrès sur tous vos appareils",
"secure": "Vos données sont chiffrées et sécurisées"
},
"privacy": "Nous sauvegarderons votre historique d'entraînement pour créer votre programme personnalisé. Vous pouvez supprimer ces données à tout moment dans les Paramètres.",
"primaryButton": "Personnaliser mon expérience",
"secondaryButton": "Continuer avec les programmes génériques"
},
"dataDeletion": {
"title": "Supprimer vos données ?",
"description": "Cela supprimera définitivement votre historique d'entraînement synchronisé et vos données de personnalisation de nos serveurs.",
"note": "Votre historique d'entraînement local sera conservé sur cet appareil. Vous continuerez avec les programmes génériques.",
"deleteButton": "Supprimer mes données",
"cancelButton": "Conserver mes données"
},
"player": {
"phases": {
"prep": "PR\u00c9PAREZ-VOUS",
"prep": "PRÉPAREZ-VOUS",
"work": "EFFORT",
"rest": "REPOS",
"complete": "TERMIN\u00c9"
"complete": "TERMINÉ"
},
"current": "En cours",
"next": "Suivant : ",
"round": "Round",
"burnBar": "Burn Bar",
"communityAvg": "Moyenne communaut\u00e9 : {{calories}} cal",
"workoutComplete": "Entra\u00eenement termin\u00e9 !",
"greatJob": "Bien jou\u00e9 !",
"communityAvg": "Moyenne communauté : {{calories}} cal",
"workoutComplete": "Entraînement terminé !",
"greatJob": "Bien joué !",
"rounds": "Rounds",
"calories": "Calories",
"minutes": "Minutes"
},
"complete": {
"title": "ENTRA\u00ceNEMENT TERMIN\u00c9",
"title": "ENTRAÎNEMENT TERMINÉ",
"caloriesLabel": "CALORIES",
"minutesLabel": "MINUTES",
"completeLabel": "TERMIN\u00c9",
"completeLabel": "TERMINÉ",
"burnBar": "Burn Bar",
"burnBarResult": "Vous avez battu {{percentile}}% des utilisateurs !",
"streakTitle": "{{count}} jours cons\u00e9cutifs !",
"streakSubtitle": "Continuez sur cette lanc\u00e9e !",
"shareWorkout": "Partagez votre entra\u00eenement",
"shareText": "Je viens de terminer {{title}} ! \uD83D\uDD25 {{calories}} calories en {{duration}} minutes.",
"recommendedNext": "Recommand\u00e9 ensuite",
"backToHome": "Retour \u00e0 l'accueil"
"streakTitle": "{{count}} jours consécutifs !",
"streakSubtitle": "Continuez sur cette lancée !",
"shareWorkout": "Partagez votre entraînement",
"shareText": "Je viens de terminer {{title}} ! 🔥 {{calories}} calories en {{duration}} minutes.",
"recommendedNext": "Recommandé ensuite",
"backToHome": "Retour à l'accueil"
},
"collection": {
@@ -132,14 +182,14 @@
},
"workout": {
"notFound": "Entra\u00eenement introuvable",
"notFound": "Entraînement introuvable",
"whatYoullNeed": "Ce qu'il vous faut",
"exercises": "Exercices ({{count}} rounds)",
"repeatRounds": "R\u00e9p\u00e9ter \u00D7 {{count}} rounds",
"repeatRounds": "Répéter × {{count}} rounds",
"music": "Musique",
"musicMix": "Mix {{vibe}}",
"curatedForWorkout": "S\u00e9lectionn\u00e9 pour votre entra\u00eenement",
"startWorkout": "COMMENCER L'ENTRA\u00ceNEMENT"
"curatedForWorkout": "Sélectionné pour votre entraînement",
"startWorkout": "COMMENCER L'ENTRAÎNEMENT"
},
"paywall": {
@@ -168,19 +218,19 @@
"problem": {
"title": "Vous n'avez pas 1 heure\npour la salle.",
"subtitle1": "Personne n'a le temps.",
"subtitle2": "Pourtant vous voulez des r\u00e9sultats. On a la solution.",
"subtitle2": "Pourtant vous voulez des résultats. On a la solution.",
"cta": "Montrez-moi"
},
"empathy": {
"title": "Qu'est-ce qui vous freine ?",
"chooseUpTo": "Choisissez jusqu'\u00e0 2",
"chooseUpTo": "Choisissez jusqu'à 2",
"noTime": "Pas le temps",
"lowMotivation": "Manque de motivation",
"noKnowledge": "Je ne sais pas quoi faire",
"noGym": "Pas d'acc\u00e8s \u00e0 une salle"
"noGym": "Pas d'accès à une salle"
},
"solution": {
"title": "4 minutes.\nV\u00e9ritablement transformateur.",
"title": "4 minutes.\nVéritablement transformateur.",
"tabataCalories": "85 kcal",
"cardioCalories": "90 kcal",
"tabata": "Tabata",
@@ -188,35 +238,35 @@
"tabataDuration": "4 min",
"cardioDuration": "30 min",
"vs": "VS",
"citation": "\u00ab La m\u00e9thode Tabata augmente simultan\u00e9ment les capacit\u00e9s a\u00e9robie et ana\u00e9robie. \u00bb",
"citationAuthor": "\u2014 Dr. Izumi Tabata, 1996",
"citation": "« La méthode Tabata augmente simultanément les capacités aérobie et anaérobie. »",
"citationAuthor": " Dr. Izumi Tabata, 1996",
"cta": "Je suis convaincu"
},
"wow": {
"title": "Votre app, en avant-premi\u00e8re.",
"title": "Votre app, en avant-première.",
"subtitle": "Tout ce qu'il vous faut pour vous transformer.",
"card1Title": "Le chrono parfait",
"card1Subtitle": "EFFORT, REPOS, R\u00c9P\u00c9TEZ \u2014 des phases minut\u00e9es avec un retour visuel.",
"card2Title": "50+ entra\u00eenements experts",
"card2Subtitle": "De 4 minutes intenses \u00e0 20 minutes de br\u00fblage. D\u00e9butant \u00e0 avanc\u00e9.",
"card1Subtitle": "EFFORT, REPOS, RÉPÉTEZ — des phases minutées avec un retour visuel.",
"card2Title": "50+ entraînements experts",
"card2Subtitle": "De 4 minutes intenses à 20 minutes de brûlage. Débutant à avancé.",
"card3Title": "Coaching intelligent",
"card3Subtitle": "Indications vocales et retour haptique pour rester dans la zone.",
"card4Title": "Suivez vos progr\u00e8s",
"card4Subtitle": "S\u00e9ries hebdomadaires, suivi des calories et records personnels."
"card4Title": "Suivez vos progrès",
"card4Subtitle": "Séries hebdomadaires, suivi des calories et records personnels."
},
"personalization": {
"title": "Pr\u00e9parons votre\npremi\u00e8re semaine.",
"title": "Préparons votre\npremière semaine.",
"yourName": "VOTRE NOM",
"namePlaceholder": "Entrez votre nom",
"fitnessLevel": "NIVEAU DE FORME",
"yourGoal": "VOTRE OBJECTIF",
"weeklyFrequency": "FR\u00c9QUENCE HEBDOMADAIRE",
"readyMessage": "Votre programme personnalis\u00e9 est pr\u00eat.",
"weeklyFrequency": "FRÉQUENCE HEBDOMADAIRE",
"readyMessage": "Votre programme personnalisé est prêt.",
"goals": {
"weightLoss": "Perte de poids",
"cardio": "Cardio",
"strength": "Force",
"wellness": "Bien-\u00eatre"
"wellness": "Bien-être"
},
"frequencies": {
"2x": "2x / semaine",
@@ -224,6 +274,23 @@
"5x": "5x / semaine"
}
},
"paywall": {
"title": "Restez motivé.\nSans limites.",
"features": {
"unlimited": "Entraînements illimités",
"offline": "Téléchargements hors ligne",
"stats": "Statistiques avancées et Apple Watch",
"noAds": "Sans publicités + Partage familial"
},
"bestValue": "MEILLEURE OFFRE",
"yearlyPrice": "49,99 $",
"monthlyPrice": "6,99 $",
"savePercent": "Économisez 42%",
"trialCta": "ESSAI GRATUIT (7 jours)",
"guarantees": "Annulez à tout moment · Garantie satisfait ou remboursé 30 jours",
"restorePurchases": "Restaurer les achats",
"skipButton": "Continuer sans abonnement"
},
"privacy": {
"title": "Politique de Confidentialité",
"lastUpdated": "Dernière mise à jour : Mars 2026",
@@ -261,5 +328,64 @@
"content": "Si vous avez des questions sur cette politique de confidentialité, contactez-nous à :"
}
}
},
"programs": {
"title": "Programmes",
"weeks": "Semaines",
"week": "Semaine",
"workouts": "Entraînements",
"workout": "Entraînement",
"minutes": "Minutes",
"min": "min",
"perWeek": "/semaine",
"equipment": "Équipement",
"optional": "(optionnel)",
"bodyweightOnly": "Poids du corps uniquement",
"focusAreas": "Zones ciblées",
"exercises": "exercices",
"of": "sur",
"complete": "terminé",
"completed": "Terminé",
"notStarted": "Non commencé",
"inProgress": "En cours",
"allWorkoutsComplete": "Tous les entraînements terminés !",
"status": {
"notStarted": "Non commencé",
"inProgress": "En cours",
"complete": "Terminé",
"completed": "Terminé"
},
"yourProgress": "Votre progression",
"trainingPlan": "Plan d'entraînement",
"current": "Actuel",
"startProgram": "Commencer le programme",
"continue": "Continuer",
"continueTraining": "Continuer l'entraînement",
"restart": "Recommencer",
"restartProgram": "Recommencer le programme"
},
"assessment": {
"title": "Évaluation des mouvements",
"welcomeTitle": "Évaluation rapide",
"welcomeDescription": "Vérifions vos patterns de mouvement pour personnaliser votre expérience et recommander le meilleur point de départ.",
"minutes": "minutes",
"quickCheck": "Vérification rapide de votre niveau de fitness",
"movements": "mouvements",
"testMovements": "Testez les patterns de mouvement clés",
"noEquipment": "Aucun équipement nécessaire",
"justYourBody": "Juste votre poids du corps",
"whatWeCheck": "Ce que nous vérifions",
"mobility": "Mobilité",
"strength": "Force",
"stability": "Stabilité",
"balance": "Équilibre",
"takeAssessment": "Faire l'évaluation",
"startAssessment": "Commencer l'évaluation",
"skipForNow": "Passer pour l'instant",
"tips": "Conseils pour de meilleurs résultats",
"duration": "Durée",
"exercises": "Exercices"
}
}
}