TidyQuest is a self-hosted web application that gamifies household chores using RPG mechanics. Complete tasks, earn coins, unlock achievements, and compete with your family on the leaderboard. Features: - 🎯 Health-based task tracking with visual decay over time - 💰 Coin system with customizable rewards - 🔥 Daily/weekly streak tracking - 🏆 Family leaderboard (week/month/quarter/year) - 🎖️ Automatic achievement unlocking - 📅 Calendar view for upcoming tasks - 🌍 Multilingual support (EN/FR/DE/ES) - 📱 Optional Telegram notifications - 🏖️ Vacation mode (pause task decay) - 🐳 Docker deployment (single container) Tech Stack: - Frontend: React 19 + Vite + TypeScript - Backend: Node.js + Express + TypeScript - Database: SQLite3 with WAL mode - Auth: JWT + bcrypt - Deployment: Docker Compose Includes: - 8 room types with 60+ predefined tasks - 10 preset rewards - 12 achievement types - Complete API documentation - Security best practices guide - Comprehensive README with examples License: GNU Affero General Public License v3.0 (AGPL-3.0) This ensures TidyQuest remains free and open-source forever, preventing proprietary SaaS forks. Any modified hosted version must share source code.
512 lines
21 KiB
JSON
512 lines
21 KiB
JSON
{
|
|
"tasks": {
|
|
"kitchen": {
|
|
"wash_dishes": "Faire la vaisselle",
|
|
"clean_counters": "Nettoyer les plans de travail",
|
|
"wipe_stovetop": "Essuyer la plaque de cuisson",
|
|
"empty_trash": "Vider la poubelle",
|
|
"empty_household_waste": "Vider les ordures ménagères",
|
|
"empty_compost": "Vider le compost",
|
|
"empty_plastic_recycling": "Vider les ordures plastiques",
|
|
"empty_glass_recycling": "Vider les verres",
|
|
"clean_sink": "Nettoyer l'évier",
|
|
"clean_sink_drain": "Nettoyer le siphon de l'évier",
|
|
"wipe_appliances": "Essuyer les appareils",
|
|
"mop_floor": "Laver le sol",
|
|
"clean_microwave": "Nettoyer le micro-ondes",
|
|
"wipe_cabinet_fronts": "Essuyer les façades des placards",
|
|
"clean_fridge": "Nettoyer le réfrigérateur",
|
|
"defrost_freezer": "Décongeler le congélateur",
|
|
"descale_kettle": "Détartrer la bouilloire",
|
|
"clean_dishwasher": "Nettoyer le lave-vaisselle",
|
|
"clean_dishwasher_filter": "Nettoyer le filtre du lave-vaisselle",
|
|
"check_dishwasher_salt": "Contrôler/rajouter du sel dans le lave-vaisselle",
|
|
"clean_oven": "Nettoyer le four",
|
|
"clean_range_hood": "Nettoyer la hotte",
|
|
"deep_clean_fridge": "Nettoyage en profondeur du réfrigérateur",
|
|
"organize_pantry": "Ranger le garde-manger"
|
|
},
|
|
"bedroom": {
|
|
"make_bed": "Faire le lit",
|
|
"tidy_nightstand": "Ranger la table de nuit",
|
|
"change_sheets": "Changer les draps",
|
|
"vacuum_floor": "Passer l'aspirateur",
|
|
"dust_surfaces": "Dépoussiérer les surfaces",
|
|
"clean_under_bed": "Nettoyer sous le lit",
|
|
"wash_pillows": "Laver les oreillers",
|
|
"wash_duvet": "Laver la couette",
|
|
"change_fitted_sheet": "Changer le drap-housse",
|
|
"organize_closet": "Ranger le placard",
|
|
"flip_mattress": "Retourner le matelas",
|
|
"clean_windows": "Nettoyer les fenêtres",
|
|
"wash_curtains": "Laver les rideaux"
|
|
},
|
|
"bathroom": {
|
|
"wipe_sink_counter": "Essuyer le lavabo et le plan de toilette",
|
|
"squeegee_shower": "Racler la douche",
|
|
"scrub_toilet": "Récurer les toilettes",
|
|
"clean_mirror": "Nettoyer le miroir",
|
|
"wash_towels": "Laver les serviettes",
|
|
"clean_shower_tub": "Nettoyer la douche et la baignoire",
|
|
"clean_sink_drain": "Nettoyer le siphon du lavabo",
|
|
"mop_floor": "Laver le sol",
|
|
"clean_shower_drain": "Nettoyer le siphon de douche",
|
|
"wash_bath_mat": "Laver le tapis de bain",
|
|
"wipe_switches_handles": "Essuyer les interrupteurs et poignées",
|
|
"clean_grout": "Nettoyer les joints",
|
|
"descale_showerhead": "Détartrer le pommeau de douche",
|
|
"wash_shower_curtain": "Laver le rideau de douche",
|
|
"organize_cabinets": "Ranger les placards",
|
|
"replace_toothbrush": "Remplacer la brosse à dents"
|
|
},
|
|
"living": {
|
|
"tidy_up": "Ranger",
|
|
"fluff_cushions": "Regonfler les coussins",
|
|
"vacuum_carpet": "Aspirer le tapis",
|
|
"dust_surfaces_shelves": "Dépoussiérer les surfaces et étagères",
|
|
"wipe_tv": "Essuyer la télé",
|
|
"clean_remotes": "Nettoyer les télécommandes",
|
|
"dust_lampshades": "Dépoussiérer les abat-jour",
|
|
"vacuum_sofa": "Aspirer le canapé",
|
|
"clean_windows": "Nettoyer les fenêtres",
|
|
"wash_curtains_blinds": "Laver les rideaux et stores",
|
|
"deep_clean_carpet": "Nettoyage en profondeur du tapis",
|
|
"clean_behind_furniture": "Nettoyer derrière les meubles",
|
|
"polish_furniture": "Cirer les meubles"
|
|
},
|
|
"office": {
|
|
"clear_desk": "Débarrasser le bureau",
|
|
"wipe_desk": "Essuyer le bureau",
|
|
"clean_keyboard_mouse": "Nettoyer le clavier et la souris",
|
|
"wipe_monitor": "Essuyer l'écran",
|
|
"empty_paper_trash": "Vider la corbeille à papier",
|
|
"vacuum_floor": "Passer l'aspirateur",
|
|
"organize_cables": "Ranger les câbles",
|
|
"dust_shelves": "Dépoussiérer les étagères",
|
|
"clean_desk_lamp": "Nettoyer la lampe de bureau",
|
|
"organize_drawers": "Ranger les tiroirs",
|
|
"wipe_switches": "Essuyer les interrupteurs",
|
|
"clean_chair": "Nettoyer la chaise"
|
|
},
|
|
"garage": {
|
|
"sweep_floor": "Balayer le sol",
|
|
"organize_tools": "Ranger les outils",
|
|
"clean_workbench": "Nettoyer l'établi",
|
|
"clear_cobwebs": "Enlever les toiles d'araignée",
|
|
"organize_shelves": "Ranger les étagères",
|
|
"wipe_power_tools": "Essuyer les outils électriques",
|
|
"sort_recycling": "Trier le recyclage",
|
|
"mop_hose_floor": "Laver le sol au jet ou à la serpillère",
|
|
"check_chemicals": "Vérifier les produits chimiques",
|
|
"clean_door_tracks": "Nettoyer les rails de porte"
|
|
},
|
|
"laundry": {
|
|
"wipe_washer_seal": "Essuyer le joint du lave-linge",
|
|
"clean_lint_filter": "Nettoyer le filtre à peluches",
|
|
"wipe_machine_exterior": "Essuyer l'extérieur de la machine",
|
|
"run_cleaning_cycle": "Lancer un cycle de nettoyage",
|
|
"drain_washing_machine": "Vidanger le lave-linge",
|
|
"descale_washing_machine": "Détartrer le lave-linge",
|
|
"clean_detergent_drawer": "Nettoyer le bac à lessive",
|
|
"sweep_mop_floor": "Balayer et laver le sol",
|
|
"organize_supplies": "Ranger les produits",
|
|
"clean_dryer_vent": "Nettoyer l'aération du sèche-linge",
|
|
"wipe_folding_surface": "Essuyer la surface de pliage",
|
|
"sort_donate_clothes": "Trier et donner des vêtements"
|
|
}
|
|
},
|
|
"rooms": {
|
|
"kitchen": "Cuisine",
|
|
"bedroom": "Chambre",
|
|
"bathroom": "Salle de bain",
|
|
"living": "Salon",
|
|
"office": "Bureau",
|
|
"garage": "Garage",
|
|
"laundry": "Buanderie",
|
|
"other": "Autre"
|
|
},
|
|
"ui": {
|
|
"profile": {
|
|
"title": "Profil",
|
|
"displayName": "Nom affiché",
|
|
"avatarMode": "Mode avatar",
|
|
"letterMode": "Lettre",
|
|
"characterMode": "Personnage",
|
|
"photoMode": "Photo",
|
|
"uploadPhoto": "Télécharger une photo",
|
|
"language": "Langue",
|
|
"save": "Enregistrer",
|
|
"saved": "Enregistré",
|
|
"logout": "Se déconnecter"
|
|
},
|
|
"settings": {
|
|
"title": "Paramètres",
|
|
"general": "Général",
|
|
"notifications": "Notifications",
|
|
"notificationsDesc": "Rappels de ménage quotidiens",
|
|
"theme": "Thème",
|
|
"themeDesc": "Changer l'ambiance de couleur",
|
|
"themeOrange": "Orange chaleureux",
|
|
"themeBlue": "Bleu clair",
|
|
"themeRose": "Rose clair",
|
|
"themeNight": "Nuit",
|
|
"vacationMode": "Mode vacances",
|
|
"vacationDesc": "Suspendre tous les rappels de tâches pendant votre absence",
|
|
"adminRequired": "Un parent admin est requis pour modifier les paramètres.",
|
|
"data": "Données",
|
|
"dataPrivacy": "Données et confidentialité",
|
|
"export": "Exporter",
|
|
"exportData": "Exporter les données",
|
|
"exportDesc": "Télécharger une sauvegarde JSON",
|
|
"download": "Télécharger",
|
|
"import": "Importer",
|
|
"importData": "Importer les données",
|
|
"importDesc": "Restaurer depuis une sauvegarde",
|
|
"upload": "Importer",
|
|
"family": "Famille",
|
|
"familyMembers": "Membres de la famille",
|
|
"addMember": "Ajouter un membre",
|
|
"memberDisplayName": "Nom affiché",
|
|
"memberUsername": "Nom d'utilisateur",
|
|
"memberPassword": "Mot de passe",
|
|
"passwordSection": "Mot de passe",
|
|
"currentPassword": "Mot de passe actuel",
|
|
"newPassword": "Nouveau mot de passe",
|
|
"confirmPassword": "Confirmer le nouveau mot de passe",
|
|
"updatePassword": "Mettre à jour le mot de passe",
|
|
"resetPassword": "Réinitialiser le mot de passe",
|
|
"passwordMismatch": "Les mots de passe ne correspondent pas.",
|
|
"passwordUpdated": "Mot de passe mis à jour.",
|
|
"passwordUpdateFailed": "Échec de mise à jour du mot de passe.",
|
|
"manageChild": "Gérer l'enfant",
|
|
"coinsPerEffort": "Pièces par effort",
|
|
"coinsPerEffortDesc": "Définissez les pièces gagnées pour les niveaux d'effort 1 à 5.",
|
|
"goalsSection": "Objectifs par membre",
|
|
"goalsSectionDesc": "Définissez les objectifs de pièces et la période pour chaque enfant/membre.",
|
|
"useDefaultCoins": "Utiliser les valeurs par défaut",
|
|
"create": "Créer",
|
|
"privacy": "Confidentialité",
|
|
"privacyDesc": "Toutes les données restent sur votre serveur",
|
|
"docker": "Docker",
|
|
"roleAdmin": "Admin",
|
|
"roleChild": "Enfant",
|
|
"setAs": "Définir comme",
|
|
"coins": "pièces",
|
|
"streak": "série",
|
|
"roleMember": "Membre",
|
|
"deleteUser": "Supprimer l'utilisateur",
|
|
"deleteUserConfirm": "Supprimer \"{user}\" ? Cette action est irréversible.",
|
|
"goalCoins": "Objectif pièces",
|
|
"goalTitle": "Titre de l'objectif",
|
|
"setGoal": "Définir l'objectif",
|
|
"addGoal": "Ajouter objectif",
|
|
"manageMember": "Gerer le membre",
|
|
"goalStart": "Date de debut",
|
|
"goalEnd": "Date de fin",
|
|
"goalDeleted": "Objectif supprimé.",
|
|
"goalDeleteFailed": "Échec de la suppression de l'objectif.",
|
|
"rewardsSection": "Catalogue des récompenses",
|
|
"rewardsSectionDesc": "Les parents peuvent créer des récompenses achetables avec des pièces.",
|
|
"rewardTitle": "Titre récompense",
|
|
"rewardDesc": "Description",
|
|
"rewardCost": "Coût pièces",
|
|
"addPresetRewards": "Ajouter récompenses prédéfinies",
|
|
"rewardRequests": "Demandes de récompenses",
|
|
"noRewardRequests": "Aucune demande de récompense.",
|
|
"telegramChatId": "ID de chat Telegram",
|
|
"telegramChatIdHint": "Attendu: ID de chat numerique (ex: 123456789 ou -1001234567890). Ouvre d'abord un chat Telegram avec ton bot.",
|
|
"notificationTime": "Heure de notification",
|
|
"telegramToken": "Token bot Telegram",
|
|
"telegramTokenHint": "Attendu: token du bot depuis @BotFather (format du type 123456789:AA...).",
|
|
"telegramTokenConfigured": "Token Telegram déjà configuré (saisir pour remplacer)",
|
|
"telegramChatIdRequired": "L'ID de chat Telegram est requis quand les notifications sont activées.",
|
|
"telegramTokenRequired": "Le token Telegram est requis quand les notifications sont activées.",
|
|
"notificationsDisabledHint": "Active Notifications pour configurer Telegram et l'heure d'envoi.",
|
|
"notificationTypeTaskDue": "Rappels de tâches à faire",
|
|
"notificationTypeRewardRequest": "Demandes de récompenses",
|
|
"notificationTypeAchievementUnlocked": "Succès débloqués",
|
|
"sendTestNotification": "Envoyer une notification test",
|
|
"notificationsSaved": "Paramètres de notification enregistrés.",
|
|
"notificationsSaveFailed": "Échec de l'enregistrement des notifications.",
|
|
"notificationsTestSent": "Notification de test envoyée.",
|
|
"notificationsTestFailed": "Échec de l'envoi de la notification test."
|
|
},
|
|
"nav": {
|
|
"home": "Accueil",
|
|
"rooms": "Pièces",
|
|
"board": "Tableau",
|
|
"calendar": "Calendrier",
|
|
"activity": "Activité",
|
|
"rewards": "Récompenses",
|
|
"settings": "Paramètres",
|
|
"profile": "Profil",
|
|
"tagline": "Fais évoluer ta maison",
|
|
"achievements": "Succès"
|
|
},
|
|
"app": {
|
|
"roomsConfigured": "pièces configurées",
|
|
"calendarSubtitle": "Suivez votre historique de ménage",
|
|
"leaderboardTitle": "Classement",
|
|
"leaderboardSubtitle": "Qui garde la maison propre ?",
|
|
"historyTitle": "Journal d'activité",
|
|
"historySubtitle": "Toutes les tâches terminées",
|
|
"activitySubtitle": "Qui a fait quoi, quand, et pour combien de points",
|
|
"rewardsSubtitle": "Dépense tes pièces pour des récompenses réelles",
|
|
"profileSubtitle": "Personnalisez votre avatar et vos préférences",
|
|
"settingsSubtitle": "Configurez votre expérience",
|
|
"achievementsSubtitle": "Transforme les tâches en jeu avec des badges et objectifs"
|
|
},
|
|
"calendar": {
|
|
"mon": "Lun",
|
|
"tue": "Mar",
|
|
"wed": "Mer",
|
|
"thu": "Jeu",
|
|
"fri": "Ven",
|
|
"sat": "Sam",
|
|
"sun": "Dim",
|
|
"choresDone": "Tâches faites",
|
|
"tasksDue": "Tâches à faire",
|
|
"today": "Aujourd'hui",
|
|
"upcomingDueDates": "Échéances à venir",
|
|
"inDays": "dans {days}j",
|
|
"allCaughtUp": "Tout est à jour ! Aucune tâche imminente."
|
|
},
|
|
"leaderboard": {
|
|
"thisWeek": "Cette semaine",
|
|
"thisMonth": "Ce mois-ci",
|
|
"thisQuarter": "Ce trimestre",
|
|
"thisYear": "Cette année",
|
|
"points": "points",
|
|
"streak": "série",
|
|
"noData": "Pas encore de données pour cette période."
|
|
},
|
|
"rewards": {
|
|
"catalog": "Catalogue des récompenses",
|
|
"balanceHint": "Termine des tâches pour gagner des pièces puis échange-les.",
|
|
"noDescription": "Pas de description",
|
|
"redeem": "Utiliser",
|
|
"notEnough": "Pas assez de pièces",
|
|
"myRequests": "Historique de mes demandes",
|
|
"noRequests": "Aucune récompense utilisée pour l'instant.",
|
|
"confirmTitle": "Confirmer l'achat",
|
|
"confirmText": "Acheter \"{reward}\" pour {coins} pièces ?",
|
|
"confirmBuy": "Confirmer",
|
|
"cancelRequest": "Annuler",
|
|
"statusPending": "En attente",
|
|
"statusApproved": "Approuvée",
|
|
"statusRejected": "Refusée",
|
|
"statusCancelled": "Annulée"
|
|
},
|
|
"rewardsPreset": {
|
|
"movie_night": { "title": "Choix du film", "desc": "Choisir le film en famille ce soir." },
|
|
"ice_cream": { "title": "Pause glace", "desc": "Prendre une glace ou un dessert spécial." },
|
|
"late_bedtime": { "title": "Coucher +30 min", "desc": "Se coucher 30 minutes plus tard." },
|
|
"game_bonus": { "title": "Bonus jeu vidéo", "desc": "30 minutes de jeu supplémentaires." },
|
|
"choose_dinner": { "title": "Choisir le dîner", "desc": "Choisir le repas de ce soir." },
|
|
"park_adventure": { "title": "Aventure au parc", "desc": "Sortie spéciale au parc en famille." },
|
|
"chore_pass": { "title": "Passe corvée", "desc": "Sauter une corvée cette semaine." },
|
|
"board_game": { "title": "Soirée jeu de société", "desc": "Choisir le jeu de société du soir." }
|
|
},
|
|
"history": {
|
|
"task": "Tâche",
|
|
"room": "Pièce",
|
|
"when": "Quand",
|
|
"earned": "Gagné",
|
|
"by": "par",
|
|
"noActivity": "Aucune activité pour le moment. Complétez une tâche pour commencer !",
|
|
"previous": "Précédent",
|
|
"next": "Suivant",
|
|
"of": "sur"
|
|
},
|
|
"roomDetail": {
|
|
"name": "Nom",
|
|
"notes": "Notes",
|
|
"optionalNotes": "Notes optionnelles...",
|
|
"every": "Tous les",
|
|
"effort": "Effort",
|
|
"frequency": "Fréquence",
|
|
"actions": "Actions",
|
|
"deleteTask": "Supprimer la tâche",
|
|
"done": "Fait",
|
|
"seasonal": "Saisonnier",
|
|
"taskName": "Nom de la tâche...",
|
|
"addTask": "Ajouter une tâche"
|
|
},
|
|
"avatars": {
|
|
"cat": "Chat",
|
|
"dog": "Chien",
|
|
"bunny": "Lapin",
|
|
"bear": "Ours",
|
|
"fox": "Renard",
|
|
"owl": "Hibou",
|
|
"panda": "Panda",
|
|
"penguin": "Pingouin",
|
|
"unicorn": "Licorne",
|
|
"frog": "Grenouille",
|
|
"koala": "Koala",
|
|
"hedgehog": "Hérisson"
|
|
},
|
|
"dashboard": {
|
|
"houseHealth": "Santé de la maison",
|
|
"todaysQuests": "Quêtes du jour",
|
|
"recentActivity": "Activité récente",
|
|
"noQuests": "Aucune quête pour aujourd'hui",
|
|
"roomsCount": "Pièces",
|
|
"tasksCount": "Tâches",
|
|
"criticalCount": "Critiques",
|
|
"pending": "en attente",
|
|
"sortedUrgency": "Triées par urgence",
|
|
"dayStreak": "Série de jours",
|
|
"keepStreak": "Complète 1 tâche par jour pour continuer !",
|
|
"streakDoneToday": "Série complétée pour aujourd'hui !",
|
|
"more": "Plus",
|
|
"nextTasks": "Prochaines tâches à venir",
|
|
"healthGreat": "Super état ! Continue comme ça.",
|
|
"healthMedium": "Certaines pièces ont besoin d'attention.",
|
|
"healthLow": "C'est le moment d'une session ménage !",
|
|
"myGoal": "Mon objectif",
|
|
"childrenGoals": "Objectifs des enfants",
|
|
"noGoal": "Pas d'objectif",
|
|
"rewardRequestsTitle": "Demandes de récompenses",
|
|
"rewardRequestEmpty": "Aucune demande en attente.",
|
|
"coinsStatusTitle": "État des pièces",
|
|
"approve": "Approuver",
|
|
"reject": "Refuser"
|
|
},
|
|
"rooms": {
|
|
"addRoom": "Ajouter une pièce",
|
|
"room": "Pièce",
|
|
"tasks": "Tâches",
|
|
"health": "Santé",
|
|
"healthHealthy": "En bonne santé",
|
|
"healthNeedsAttention": "À surveiller",
|
|
"healthCritical": "Critique",
|
|
"deleteRoomConfirm": "Supprimer \"{room}\" et toutes ses tâches ? Cette action est définitive.",
|
|
"noRoomsYet": "Aucune pièce pour le moment",
|
|
"clickAddRoom": "Cliquez sur \"Ajouter une pièce\" pour commencer !",
|
|
"addRoomTitle": "Ajouter une pièce",
|
|
"pickRoomType": "Choisissez un type de pièce, puis configurez ses tâches.",
|
|
"customNameOptional": "Nom personnalisé (optionnel)",
|
|
"nextConfigure": "Suivant : configurer les tâches",
|
|
"configureTasks": "Configurer les tâches",
|
|
"configureTasksDesc": "Sélectionnez les tâches, leur état actuel, effort et fréquence.",
|
|
"currentState": "État actuel",
|
|
"dirty": "Sale",
|
|
"clean": "Propre",
|
|
"addCustomTask": "Ajouter une tâche personnalisée...",
|
|
"tasksSelected": "tâches sélectionnées",
|
|
"createRoom": "Créer la pièce",
|
|
"roomNotFound": "Pièce introuvable.",
|
|
"backToRooms": "Retour aux pièces",
|
|
"tasksTracked": "tâches suivies"
|
|
},
|
|
"common": {
|
|
"save": "Enregistrer",
|
|
"saved": "Enregistré",
|
|
"cancel": "Annuler",
|
|
"delete": "Supprimer",
|
|
"edit": "Modifier",
|
|
"loading": "Chargement",
|
|
"add": "Ajouter"
|
|
},
|
|
"units": {
|
|
"hours": "heures",
|
|
"days": "jours",
|
|
"weeks": "semaines",
|
|
"months": "mois",
|
|
"years": "années"
|
|
},
|
|
"unitsShort": {
|
|
"hours": "h",
|
|
"days": "j",
|
|
"weeks": "sem",
|
|
"months": "mois",
|
|
"years": "an"
|
|
},
|
|
"time": {
|
|
"never": "Jamais",
|
|
"justNow": "à l'instant",
|
|
"minutesAgo": "il y a {count} min",
|
|
"hoursAgo": "il y a {count} h",
|
|
"yesterday": "hier",
|
|
"daysAgo": "il y a {count} j",
|
|
"oneWeekAgo": "il y a 1 sem",
|
|
"weeksAgo": "il y a {count} sem",
|
|
"oneMonthAgo": "il y a 1 mois",
|
|
"monthsAgo": "il y a {count} mois"
|
|
},
|
|
"auth": {
|
|
"welcomeBack": "Bienvenue !",
|
|
"welcome": "Bienvenue sur TidyQuest",
|
|
"createYourAccount": "Créez votre compte",
|
|
"username": "Nom d'utilisateur",
|
|
"usernamePlaceholder": "Entrez votre nom d'utilisateur",
|
|
"password": "Mot de passe",
|
|
"passwordPlaceholder": "Entrez votre mot de passe",
|
|
"passwordMinChars": "min 4 caractères",
|
|
"displayName": "Nom affiché",
|
|
"displayNamePlaceholder": "John",
|
|
"avatarColor": "Couleur d'avatar",
|
|
"loggingIn": "Connexion...",
|
|
"logIn": "Se connecter",
|
|
"createAccount": "Créer un compte",
|
|
"createAccountAction": "Créer le compte",
|
|
"creating": "Création...",
|
|
"alreadyHaveAccount": "Déjà un compte ? Se connecter",
|
|
"allFieldsRequired": "Tous les champs sont requis",
|
|
"loginFailed": "Échec de connexion",
|
|
"registrationFailed": "Échec de l'inscription"
|
|
},
|
|
"achievements": {
|
|
"familyProgress": "Progression famille",
|
|
"firstStep": "Premier pas",
|
|
"firstStepDesc": "Termine ta premiere tache",
|
|
"helper": "Petit assistant",
|
|
"helperDesc": "Termine 10 tâches",
|
|
"busyBee": "Abeille active",
|
|
"busyBeeDesc": "Termine 25 tâches",
|
|
"cleaningHero": "Super nettoyeur",
|
|
"cleaningHeroDesc": "Termine 50 tâches",
|
|
"choreChampion": "Champion du menage",
|
|
"choreChampionDesc": "Termine 100 tâches",
|
|
"legend": "Legende TidyQuest",
|
|
"legendDesc": "Termine 250 tâches",
|
|
"unstoppable": "Inarretable !",
|
|
"unstoppableDesc": "Termine 500 tâches",
|
|
"onFire": "En feu",
|
|
"onFireDesc": "Atteins une serie de 3 jours",
|
|
"streakMaster": "Maitre de la serie",
|
|
"streakMasterDesc": "Atteins une serie de 7 jours",
|
|
"twoWeekWarrior": "Guerrier de la quinzaine",
|
|
"twoWeekWarriorDesc": "Atteins une serie de 14 jours",
|
|
"monthlyMachine": "Machine du mois",
|
|
"monthlyMachineDesc": "Atteins une serie de 30 jours",
|
|
"centurion": "Centurion",
|
|
"centurionDesc": "Atteins une serie de 100 jours !",
|
|
"piggyBank": "Tirelire",
|
|
"piggyBankDesc": "Gagne 50 pieces",
|
|
"saver": "Econome",
|
|
"saverDesc": "Gagne 100 pieces",
|
|
"treasureHunter": "Chasseur de tresor",
|
|
"treasureHunterDesc": "Gagne 500 pieces",
|
|
"goldMaster": "Maitre de l'or",
|
|
"goldMasterDesc": "Gagne 1 000 pieces",
|
|
"millionaire": "Millionnaire",
|
|
"millionaireDesc": "Gagne 5 000 pieces",
|
|
"roomTamer": "Dompteur de pieces",
|
|
"roomTamerDesc": "Garde 3 pieces en bonne sante en meme temps",
|
|
"housePride": "Fierte du foyer",
|
|
"housePrideDesc": "Garde 5 pieces en bonne sante en meme temps",
|
|
"weekendWarrior": "Guerrier du week-end",
|
|
"weekendWarriorDesc": "Termine 5 tâches en une semaine",
|
|
"superWeek": "Super semaine",
|
|
"superWeekDesc": "Termine 15 tâches en une semaine",
|
|
"perfectWeek": "Semaine parfaite",
|
|
"perfectWeekDesc": "Fais au moins 1 tache chaque jour pendant une semaine",
|
|
"perfectMonth": "Mois parfait",
|
|
"perfectMonthDesc": "Enchaine 4 semaines parfaites",
|
|
"nightOwl": "Planificateur Nocturne",
|
|
"nightOwlDesc": "Atteins une serie de 60 jours"
|
|
}
|
|
}
|
|
}
|