fr.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. export default {
  2. email_sent: "Email envoyé",
  3. cant_send_email: "Impossible d'envoyer l'email",
  4. logout: "Déconnexion",
  5. verify_email: "Vérifier votre email. ⚠️ Pensez à vérifier votre dossier SPAM.",
  6. verify_email_subtitle: "Veuillez vérifier votre email pour continuer.",
  7. resend_email: "Renvoyer l'email",
  8. resend_email_countdown: "Renvoyer l'email dans {seconds} secondes",
  9. signin_error_subtitle: "Veuillez vérifier vos identifiants et réessayer.",
  10. register_title: "Créer un compte",
  11. register_description: "Entrez vos informations ci-dessous pour créer votre compte",
  12. register_terms: "En vous inscrivant, vous acceptez nos",
  13. register_privacy: "Politique de confidentialité",
  14. register_privacy_link: "et notre",
  15. register_privacy_link_2: "Politique de confidentialité",
  16. password_forgot_title: "Forgot password?",
  17. password_forgot_subtitle: "Enter your email to reset your password",
  18. new_password: "Nouveau mot de passe",
  19. new_password_placeholder: "Entrez votre nouveau mot de passe",
  20. current_password: "Mot de passe actuel",
  21. current_password_placeholder: "Entrez votre mot de passe actuel",
  22. confirm_password: "Confirmer le mot de passe",
  23. confirm_password_placeholder: "Confirmez votre mot de passe",
  24. success: {
  25. feedback_sent: "Feedback envoyé",
  26. password_forgot_success: "Email envoyé",
  27. reset_password_success: "Mot de passe réinitialisé avec succès",
  28. password_updated_successfully: "Mot de passe mis à jour avec succès",
  29. },
  30. error: {
  31. invalid_credentials: "Identifiants invalides ou compte inexistant",
  32. upload_failed: "Erreur lors du téléchargement",
  33. generic_error: "Erreur lors de l'opération",
  34. sending_email: "Erreur lors de l'envoi de l'email",
  35. },
  36. backend_errors: {
  37. EMAIL_ALREADY_EXISTS: "Email déjà existant",
  38. INVALID_FILE_TYPE: "Type de fichier invalide",
  39. FILE_TOO_LARGE: "Fichier trop grand",
  40. NO_FILE_UPLOADED: "Aucun fichier téléchargé",
  41. IMAGE_PROCESSING_ERROR: "Erreur lors du traitement de l'image",
  42. upload_failed: "Erreur lors du téléchargement",
  43. },
  44. profile: {
  45. new_workout: "Nouvelle séance",
  46. alert: {
  47. title: "Votre progression est stockée dans votre navigateur.",
  48. create_account: "Créer un compte",
  49. log_in: "Se connecter",
  50. to_ensure_it_is_not_getting_lost: "pour la sauvegarder.",
  51. },
  52. },
  53. // Release Notes
  54. release_notes: {
  55. title: "Nouveautés",
  56. release_notes: "Notes",
  57. notes: {
  58. note_2025_06_23: {
  59. title: "🇵🇹 Support Portugais & Bannière de Don",
  60. content:
  61. "L'app supporte maintenant le <strong>portugais</strong> ! Nous avons aussi ajouté une <em>bannière de don</em> pour aider à supporter les coûts du projet via <a href='https://github.com/sponsors/snouzy' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>GitHub Sponsors</a> ou <a href='https://ko-fi.com/workoutcool' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>Ko-fi</a>.",
  62. },
  63. note_2025_06_22: {
  64. title: "🌍 Nouvelles langues & amélioration des performances !",
  65. content:
  66. "L'application est maintenant disponible en chinois et en russe ! Nous avons aussi amélioré les performances du glisser-déposer pour une expérience plus fluide. ⚡",
  67. },
  68. note_2025_06_19: {
  69. title: "📱 Maintenant disponible en PWA !",
  70. content:
  71. "Workout.cool v1.2 est maintenant une Progressive Web App ! Installez-la sur votre téléphone pour une expérience d'application native avec accès hors ligne.",
  72. },
  73. note_2025_06_18: {
  74. title:
  75. "🚀 Numéro #1 sur <a href='https://news.ycombinator.com/item?id=44309320' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>Hacker News</a> !",
  76. content:
  77. "Workout.cool a atteint le <strong>top spot</strong> sur Hacker News ! Merci à tous pour le support incroyable — bienvenue à tous les nouveaux utilisateurs ! 💪",
  78. },
  79. note_2025_06_01: {
  80. title: "🎉 Nouveau : Dialogue des notes de version",
  81. content: "Vous pouvez maintenant voir les nouveautés directement depuis l'en-tête ! Restez à l'écoute pour plus de mises à jour.",
  82. },
  83. note_2025_05_20: {
  84. title: "Améliorations de l'interface",
  85. content: "Amélioration de la réactivité mobile et ajout d'effets de survol subtils aux boutons.",
  86. },
  87. },
  88. },
  89. // Donation Alert
  90. donation_alert: {
  91. title: "Gardez Workout.cool gratuit. Soutenez-nous via",
  92. or: "ou",
  93. },
  94. // Donation Modal
  95. donation_modal: {
  96. support_via: "Soutenir via...",
  97. title: "Soutenez le projet",
  98. congrats: "Félicitations pour la séance ! 🎉",
  99. subtitle: "Cette app vous aide gratuitement, mais elle a un coût réel pour moi...",
  100. costs_title: "La réalité des coûts",
  101. costs_description:
  102. "Actuellement, les donations ne couvrent même pas les coûts de base : serveurs, authentification, infrastructure, base de données, etc.",
  103. open_source_title: "100% Open Source",
  104. open_source_description:
  105. "Cette app est entièrement gratuite et open source. Aucun profit n'est généré - c'est un projet de passion pour aider la communauté et aider les gens à faire du sport.",
  106. no_ads: "Pas de pub",
  107. no_tracking: "Pas de tracking",
  108. impact_title: "Votre impact",
  109. impact_3_euros: "• Même 3€ couvrent 1 semaine de serveur",
  110. impact_support: "• Votre soutien garde l'app gratuite pour tous",
  111. impact_footer: "Chaque don, même petit, fait une vraie différence ! 🙏",
  112. later_button: "Plus tard",
  113. support_button: "Soutenir le projet",
  114. },
  115. // Contact Support
  116. contact_support: "Contacter le support",
  117. contact_support_subtitle: "Décrivez votre problème et nous vous aiderons dès que possible. Vous pouvez aussi nous écrire directement à",
  118. // Social Platforms
  119. social_platforms: {
  120. x: "X (Twitter)",
  121. facebook: "Facebook",
  122. email: "Email",
  123. whatsapp: "WhatsApp",
  124. website: "Site web",
  125. phone: "Téléphone",
  126. youtube: "YouTube",
  127. linkedin: "LinkedIn",
  128. snapchat: "Snapchat",
  129. instagram: "Instagram",
  130. tiktok: "TikTok",
  131. threads: "Threads",
  132. },
  133. // Workout Builder
  134. workout_builder: {
  135. confirm_delete: "Êtes-vous sûr de vouloir supprimer cette séance ?",
  136. steps: {
  137. equipment: {
  138. title: "Équipement",
  139. description: "Sélectionnez votre équipement",
  140. },
  141. muscles: {
  142. title: "Muscles",
  143. description: "Choisissez votre entraînement",
  144. },
  145. exercises: {
  146. title: "Exercices",
  147. description: "Personnalisez votre séance",
  148. },
  149. },
  150. muscles: {
  151. abdominals: "Abdominaux",
  152. back: "Dos",
  153. biceps: "Biceps",
  154. triceps: "Triceps",
  155. chest: "Pectoraux",
  156. shoulders: "Épaules",
  157. quadriceps: "Quadriceps",
  158. hamstrings: "Ischio-jambiers",
  159. glutes: "Fessiers",
  160. calves: "Mollets",
  161. forearms: "Avant-bras",
  162. traps: "Trapèzes",
  163. obliques: "Obliques",
  164. },
  165. exercise: {
  166. watch_video: "Voir la vidéo",
  167. shuffle: "Mélanger",
  168. pick: "Choisir",
  169. remove: "Supprimer",
  170. no_video_available: "Aucune vidéo disponible.",
  171. },
  172. loading: {
  173. exercises: "Chargement des exercices...",
  174. },
  175. error: {
  176. loading_exercises: "Erreur lors du chargement des exercices",
  177. },
  178. no_exercises_found: "Aucun exercice trouvé. Essayez de changer vos équipements ou vos muscles sélectionnés.",
  179. equipment: {
  180. bodyweight: {
  181. label: "Poids du corps",
  182. description: "Exercices utilisant uniquement le poids de votre corps",
  183. },
  184. dumbbell: {
  185. label: "Haltères",
  186. description: "Exercices de poids libres avec haltères",
  187. },
  188. barbell: {
  189. label: "Barre",
  190. description: "Mouvements composés avec une barre",
  191. },
  192. kettlebell: {
  193. label: "Kettlebell",
  194. description: "Exercices dynamiques avec kettlebells",
  195. },
  196. band: {
  197. label: "Élastique",
  198. description: "Exercices avec bandes de résistance",
  199. },
  200. plate: {
  201. label: "Disques",
  202. description: "Exercices utilisant des disques de poids",
  203. },
  204. pullup_bar: {
  205. label: "Barre de traction",
  206. description: "Exercices du haut du corps avec barre de traction",
  207. },
  208. bench: {
  209. label: "Banc",
  210. description: "Exercices sur banc et support",
  211. },
  212. },
  213. navigation: {
  214. previous: "Précédent",
  215. continue: "Continuer",
  216. complete: "Terminer",
  217. },
  218. stats: {
  219. "muscle_selected#zero": "0 muscle sélectionné",
  220. "muscle_selected#one": "1 muscle sélectionné",
  221. "muscle_selected#other": "{count} muscles sélectionnés",
  222. "equipment_selected#zero": "0 équipement sélectionné",
  223. "equipment_selected#one": "1 équipement sélectionné",
  224. "equipment_selected#other": "{count} équipements sélectionnés",
  225. selected: "Sélectionné",
  226. total: "Total",
  227. equipment_ready: "équipement prêt",
  228. equipment_ready_plural: "équipements prêts",
  229. },
  230. selection: {
  231. choose_your_arsenal: "Choisissez votre arsenal",
  232. select_equipment_description: "Sélectionnez l'équipement pour débloquer des entraînements personnalisés",
  233. clear_all: "Tout effacer",
  234. muscle_selection_coming_soon: "Sélection des muscles (Bientôt disponible)",
  235. muscle_selection_description: "Sélectionnez le(s) muscle(s) que vous voulez entraîner en cliquant dessus.",
  236. exercise_selection_coming_soon: "Sélection des exercices (Bientôt disponible)",
  237. exercise_selection_description: "Cette étape vous montrera des recommandations d'exercices personnalisées.",
  238. },
  239. session: {
  240. back_to_workout: "Retour à l'entraînement",
  241. congrats: "Bravo, séance terminée ! 🎉",
  242. congrats_subtitle: "Tu l'as fait !",
  243. see_instructions: "Voir les instructions",
  244. finish_set: "Valider la série",
  245. finish_session: "Terminer la séance",
  246. bodyweight: "Poids du corps",
  247. weight: "Poids",
  248. reps: "Répétitions",
  249. time: "Temps",
  250. next_exercise: "Exercice suivant",
  251. add_set: "Ajouter une série",
  252. add_column: "Ajouter une colonne",
  253. add_row: "Ajouter une ligne d'attributs",
  254. remove_column: "Supprimer une colonne",
  255. set_number: "Série {number}",
  256. set_number_plural: "Séries {number}",
  257. set_number_singular: "Série {number}",
  258. set_number_plural_singular: "Séries {number}",
  259. workout_in_progress: "Entraînement en cours",
  260. started_at: "Débuté à",
  261. quit_workout: "Quitter l'entraînement",
  262. elapsed_time: "Temps écoulé",
  263. chronometer: "Chronomètre",
  264. total_workout_time: "Temps total d'entraînement",
  265. exercise_progress: "Progression",
  266. total_volume: "Volume Total",
  267. current_exercise: "Exercice actuel",
  268. complete: "Terminé",
  269. active: "Actif",
  270. already_have_a_active_session: "Vous avez déjà une séance active. Impossible de répéter sans terminer ou quitter l'entraînement.",
  271. no_exercise_selected: "Aucun exercice sélectionné",
  272. quit_workout_title: "Quitter l'entraînement ?",
  273. progress: "Progression",
  274. quit_warning: "Êtes-vous sûr de vouloir quitter ? Vous pouvez sauvegarder votre progression ou la perdre complètement.",
  275. save_and_quit: "Sauvegarder & Quitter",
  276. quit_without_save: "Quitter sans sauvegarder",
  277. continue_workout: "Continuer l'entraînement",
  278. history: "Historique des séances [{count}]",
  279. no_workout_yet: "Aucune séance enregistrée.",
  280. start: "début",
  281. end: "fin",
  282. exercise: "EXERCICE",
  283. repeat: "Répéter",
  284. delete: "Supprimer",
  285. },
  286. attribute_value: {
  287. bodyweight: "Poids du corps",
  288. strength: "Force",
  289. powerlifting: "Powerlifting",
  290. calisthenic: "Calisthénie",
  291. plyometrics: "Plyométrie",
  292. stretching: "Étirement",
  293. strongman: "Strongman",
  294. cardio: "Cardio",
  295. stabilization: "Stabilisation",
  296. power: "Puissance",
  297. resistance: "Résistance",
  298. crossfit: "CrossFit",
  299. weightlifting: "Haltérophilie",
  300. neck: "Cou",
  301. lats: "Grands dorsaux",
  302. adductors: "Adducteurs",
  303. abductors: "Abducteurs",
  304. groin: "Aine",
  305. full_body: "Corps entier",
  306. rotator_cuff: "Coiffe des rotateurs",
  307. hip_flexor: "Fléchisseur de hanche",
  308. achilles_tendon: "Tendon d'Achille",
  309. fingers: "Doigts",
  310. smith_machine: "Smith machine",
  311. other: "Autre",
  312. ez_bar: "Barre EZ",
  313. machine: "Machine",
  314. desk: "Bureau",
  315. none: "Aucun",
  316. cable: "Câble",
  317. medicine_ball: "Medecine ball",
  318. swiss_ball: "Swiss ball",
  319. foam_roll: "Foam roll",
  320. trx: "TRX",
  321. box: "Box",
  322. ropes: "Cordes",
  323. spin_bike: "Vélo de spinning",
  324. step: "Step",
  325. bosu: "BOSU",
  326. tyre: "Pneu",
  327. sandbag: "Sac de sable",
  328. pole: "Barre verticale",
  329. wall: "Mur",
  330. bar: "Barre",
  331. rack: "Rack",
  332. car: "Voiture",
  333. sled: "Luge",
  334. chain: "Chaîne",
  335. skierg: "SkiErg",
  336. rope: "Corde",
  337. na: "N/A",
  338. isolation: "Isolation",
  339. compound: "Polyarticulaire",
  340. },
  341. },
  342. commons: {
  343. signup_with: "S'inscrire avec {provider}",
  344. signin_with: "Se connecter avec {provider}",
  345. signup: "S'inscrire",
  346. login: "Se connecter",
  347. connecting: "Connexion...",
  348. password_reset_success: "Le mot de passe a été réinitialisé avec succès",
  349. login_to_your_account_title: "Connectez-vous à votre compte",
  350. login_to_your_account_subtitle: "Entrez vos identifiants ci-dessous pour vous connecter",
  351. password_forgot: "Mot de passe oublié ?",
  352. dont_have_account: "Vous n'avez pas de compte ?",
  353. already_have_account: "Vous avez déjà un compte ?",
  354. or: "Ou",
  355. add: "Ajouter",
  356. your_feminine: "ta",
  357. password: "Mot de passe",
  358. email: "Email",
  359. logout: "Déconnexion",
  360. first_name: "Prénom",
  361. last_name: "Nom",
  362. verify_password: "Vérifier le mot de passe",
  363. submit: "Envoyer",
  364. upload: "Télécharger",
  365. cancel: "Annuler",
  366. save_changes: "Enregistrer les modifications",
  367. change: "Changer",
  368. subject: "Sujet",
  369. message: "Message",
  370. saving: "Enregistrement...",
  371. edit: "Modifier",
  372. more_options: "Plus d'options",
  373. open_link: "Ouvrir le lien",
  374. hide: "Masquer",
  375. make_visible: "Rendre visible",
  376. delete: "Supprimer",
  377. share: "Partager",
  378. title: "Titre",
  379. subtitle: "Sous-titre",
  380. content: "Contenu",
  381. save: "Enregistrer",
  382. button: "Bouton",
  383. card: "Carte",
  384. go_back: "Retour",
  385. next: "Suivant",
  386. choose_image: "Choisir une image",
  387. soon: "Bientôt",
  388. coming_soon_with_emoji: "Bientôt disponible 🤫",
  389. no_image: "Aucune image",
  390. description: "Description",
  391. price: "Prix",
  392. duration: "Durée",
  393. location: "Lieu",
  394. schedule: "Horaire",
  395. participants_info: "Informations sur les participants",
  396. title_placeholder: "Entrez le titre",
  397. description_placeholder: "Entrez la description",
  398. changes_saved: "Les modifications ont été sauvegardées",
  399. replace: "Remplacer",
  400. loading: "Chargement...",
  401. image_deleted: "L'image a été supprimée",
  402. discover_workoutcool: "Découvrir gratuitement",
  403. received_just_now: "Reçu à l'instant",
  404. copied: "Copié",
  405. url_copied: "L'URL a été copiée",
  406. copy_failed: "Erreur lors de la copie de l'URL",
  407. accordion: "Accordéon",
  408. image: "Image",
  409. other: "Autre",
  410. register: "S'inscrire",
  411. instantly: "instantanément",
  412. immediately: "immédiatement",
  413. link: "Lien",
  414. accept: "Accepter",
  415. deny: "Refuser",
  416. invalid_input: "Saisie invalide. Veuillez vérifier les erreurs.",
  417. copy_url: "Copier l'URL",
  418. page_url: "URL de la page",
  419. saving_short: "Enregistrement...",
  420. saved_short: "Sauvegardé",
  421. looks_like_you_are_lost: "Il semble que vous soyez perdu",
  422. the_page_you_are_looking_for_is_not_available: "La page que vous cherchez n'est pas disponible",
  423. go_to_home: "Retour à l'accueil",
  424. go_to_profile: "Aller à mon profil",
  425. terms: "Conditions d'utilisation",
  426. privacy: "Politique de confidentialité",
  427. sales_terms: "Conditions de vente",
  428. consent_banner: "Nous utilisons des cookies pour améliorer votre expérience. En cliquant sur Accepter, vous acceptez nos cookies.",
  429. about: "À propos",
  430. profile: "Profil",
  431. donate: "Faire un don",
  432. my_account: "Mon compte",
  433. dashboard: "Tableau de bord",
  434. home: "Accueil",
  435. changelog: "Annonces & notes de version",
  436. stop_impersonation_button: "Arrêter l'impersonnalisation",
  437. impersonating_user_label: "Impersonnification en cours",
  438. re_hello: "Re Hello",
  439. back_to_login: "Retour à la connexion",
  440. sending: "Envoi...",
  441. send_me_link: "Envoyer un lien",
  442. extremely_dissatisfied: "Très insatisfait",
  443. somewhat_dissatisfied: "Insatisfait",
  444. neutral: "Neutre",
  445. satisfied: "Satisfait",
  446. support: "Support",
  447. change_language: "Changer de langue",
  448. in_progress: "En cours",
  449. },
  450. } as const;