i18n complet des pages + routine builder avancé (config par exo, réordonner, dupliquer)
Build & Deploy / build (push) Successful in 8s

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-19 04:48:26 +02:00
co-authored by Claude Opus 4.8
parent 2e9f0962a1
commit bd739d13cf
11 changed files with 398 additions and 53 deletions
+51 -6
View File
@@ -22,32 +22,77 @@
"dashboard": {
"title": "Your flame",
"streakDays": "day streak",
"day": "day | days",
"longest": "Best",
"freezes": "Freezes",
"weekGoal": "This week's goal",
"sessionsDone": "{done}/{goal} workouts",
"recentSessions": "Recent workouts",
"achievements": "Badges",
"startWorkout": "Start a workout",
"activeToday": "Active today 🔥",
"keepFlame": "Train today to keep your flame alive!",
"restEarned": "You've earned a rest day 😌",
"noSessions": "No workouts yet. Time to start!"
"noSessions": "No workouts yet. Time to start!",
"session": "Workout",
"sets": "sets"
},
"exercises": {
"title": "Exercises",
"search": "Search an exercise…",
"filters": "Filters",
"bodyPart": "Body part",
"equipment": "Equipment",
"target": "Muscle",
"category": "Category",
"instructions": "Instructions",
"secondaryMuscles": "Secondary muscles",
"noResults": "No exercise found.",
"all": "All"
},
"session": {
"inProgress": "Workout in progress",
"addExercise": "Add an exercise",
"finish": "Finish workout",
"reps": "reps",
"weight": "kg",
"live": "live",
"preparing": "Getting your workout ready…",
"cantStart": "Couldn't start the workout",
"streakToast": "Streak: {n} days"
},
"routines": {
"new": "New",
"newRoutine": "New routine",
"none": "No routine yet. Create your first!",
"exercises": "exercises",
"name": "Name",
"description": "Description",
"addLater": "You'll be able to add exercises to the routine afterwards.",
"builder": {
"namePlaceholder": "Routine name",
"descPlaceholder": "Description (optional)",
"public": "Public",
"empty": "No exercise yet. Add some to build your routine.",
"addExercise": "Add an exercise",
"sets": "Sets",
"reps": "Reps",
"rest": "Rest (s)",
"tempo": "Tempo",
"weight": "Weight (kg)",
"notes": "Notes",
"remove": "Remove",
"duplicate": "Duplicate",
"start": "Start workout",
"save": "Save",
"saved": "Routine saved ✓",
"unsaved": "Unsaved changes",
"superset": "Superset",
"restTimer": "s rest"
}
},
"profile": {
"language": "Language",
"reminders": "Streak reminders 🔥",
"remindersDesc": "An evening reminder when your flame is at risk.",
"test": "Send a test",
"remindersOn": "Reminders enabled 🔥"
},
"common": {
"loading": "Loading…",
"save": "Save",
+51 -6
View File
@@ -22,32 +22,77 @@
"dashboard": {
"title": "Ta flamme",
"streakDays": "jours de série",
"day": "jour | jours",
"longest": "Record",
"freezes": "Freezes",
"weekGoal": "Objectif de la semaine",
"sessionsDone": "{done}/{goal} séances",
"recentSessions": "Séances récentes",
"achievements": "Badges",
"startWorkout": "Démarrer une séance",
"activeToday": "Actif aujourd'hui 🔥",
"keepFlame": "Entraîne-toi aujourd'hui pour garder ta flamme !",
"restEarned": "Tu as gagné un jour de repos 😌",
"noSessions": "Aucune séance pour l'instant. C'est le moment de commencer !"
"noSessions": "Aucune séance pour l'instant. C'est le moment de commencer !",
"session": "Séance",
"sets": "séries"
},
"exercises": {
"title": "Exercices",
"search": "Rechercher un exercice…",
"filters": "Filtres",
"bodyPart": "Zone",
"equipment": "Matériel",
"target": "Muscle",
"category": "Catégorie",
"instructions": "Instructions",
"secondaryMuscles": "Muscles secondaires",
"noResults": "Aucun exercice trouvé.",
"all": "Tous"
},
"session": {
"inProgress": "Séance en cours",
"addExercise": "Ajouter un exercice",
"finish": "Terminer la séance",
"reps": "reps",
"weight": "kg",
"live": "en cours",
"preparing": "Préparation de ta séance…",
"cantStart": "Impossible de démarrer la séance",
"streakToast": "Série : {n} jours"
},
"routines": {
"new": "Nouvelle",
"newRoutine": "Nouvelle routine",
"none": "Aucune routine. Crée ta première !",
"exercises": "exercices",
"name": "Nom",
"description": "Description",
"addLater": "Tu pourras ajouter des exercices ensuite depuis la routine.",
"builder": {
"namePlaceholder": "Nom de la routine",
"descPlaceholder": "Description (optionnel)",
"public": "Publique",
"empty": "Aucun exercice. Ajoute-en pour construire ta routine.",
"addExercise": "Ajouter un exercice",
"sets": "Séries",
"reps": "Reps",
"rest": "Repos (s)",
"tempo": "Tempo",
"weight": "Poids (kg)",
"notes": "Notes",
"remove": "Retirer",
"duplicate": "Dupliquer",
"start": "Démarrer la séance",
"save": "Enregistrer",
"saved": "Routine enregistrée ✓",
"unsaved": "Modifications non enregistrées",
"superset": "Superset",
"restTimer": "s de repos"
}
},
"profile": {
"language": "Langue",
"reminders": "Rappels de série 🔥",
"remindersDesc": "Un rappel le soir si tu risques de perdre ta flamme.",
"test": "Envoyer un test",
"remindersOn": "Rappels activés 🔥"
},
"common": {
"loading": "Chargement…",
"save": "Enregistrer",
+51 -6
View File
@@ -22,32 +22,77 @@
"dashboard": {
"title": "Sua chama",
"streakDays": "dias de sequência",
"day": "dia | dias",
"longest": "Recorde",
"freezes": "Freezes",
"weekGoal": "Meta da semana",
"sessionsDone": "{done}/{goal} treinos",
"recentSessions": "Treinos recentes",
"achievements": "Conquistas",
"startWorkout": "Iniciar treino",
"activeToday": "Ativo hoje 🔥",
"keepFlame": "Treine hoje para manter sua chama!",
"restEarned": "Você ganhou um dia de descanso 😌",
"noSessions": "Nenhum treino ainda. Hora de começar!"
"noSessions": "Nenhum treino ainda. Hora de começar!",
"session": "Treino",
"sets": "séries"
},
"exercises": {
"title": "Exercícios",
"search": "Buscar exercício…",
"filters": "Filtros",
"bodyPart": "Região",
"equipment": "Equipamento",
"target": "Músculo",
"category": "Categoria",
"instructions": "Instruções",
"secondaryMuscles": "Músculos secundários",
"noResults": "Nenhum exercício encontrado.",
"all": "Todos"
},
"session": {
"inProgress": "Treino em andamento",
"addExercise": "Adicionar exercício",
"finish": "Finalizar treino",
"reps": "reps",
"weight": "kg",
"live": "ao vivo",
"preparing": "Preparando seu treino…",
"cantStart": "Não foi possível iniciar o treino",
"streakToast": "Sequência: {n} dias"
},
"routines": {
"new": "Nova",
"newRoutine": "Nova rotina",
"none": "Nenhuma rotina. Crie a primeira!",
"exercises": "exercícios",
"name": "Nome",
"description": "Descrição",
"addLater": "Você poderá adicionar exercícios depois na rotina.",
"builder": {
"namePlaceholder": "Nome da rotina",
"descPlaceholder": "Descrição (opcional)",
"public": "Pública",
"empty": "Nenhum exercício. Adicione para montar sua rotina.",
"addExercise": "Adicionar exercício",
"sets": "Séries",
"reps": "Reps",
"rest": "Descanso (s)",
"tempo": "Tempo",
"weight": "Peso (kg)",
"notes": "Notas",
"remove": "Remover",
"duplicate": "Duplicar",
"start": "Iniciar treino",
"save": "Salvar",
"saved": "Rotina salva ✓",
"unsaved": "Alterações não salvas",
"superset": "Superset",
"restTimer": "s de descanso"
}
},
"profile": {
"language": "Idioma",
"reminders": "Lembretes de sequência 🔥",
"remindersDesc": "Um lembrete à noite se você corre risco de perder a chama.",
"test": "Enviar um teste",
"remindersOn": "Lembretes ativados 🔥"
},
"common": {
"loading": "Carregando…",
"save": "Salvar",