1388 lines
49 KiB
JSON
1388 lines
49 KiB
JSON
{
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "Bienvenue sur TaskMate !",
|
||
"description": "Configurez votre système de gestion des tâches familiales. Vous pouvez personnaliser le nom de la monnaie de points que les enfants gagneront.",
|
||
"data": {
|
||
"points_name": "Nom de la monnaie de points (ex: Étoiles, Pièces, Jetons)",
|
||
"points_icon": "Icône des points"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"name_required": "Le nom est obligatoire"
|
||
},
|
||
"abort": {
|
||
"already_configured": "TaskMate est déjà configuré"
|
||
},
|
||
"create_entry": {
|
||
"default": "TaskMate est prêt. [Ouvrez le panneau TaskMate](/taskmate-admin) pour ajouter vos enfants avec l'assistant de configuration, qui suggère des tâches adaptées à leur âge."
|
||
}
|
||
},
|
||
"selector": {
|
||
"chore_action": {
|
||
"options": {
|
||
"save": "Enregistrer les modifications",
|
||
"re_enable": "Réactiver la corvée",
|
||
"disable": "Désactiver la corvée",
|
||
"delete": "Supprimer cette corvée"
|
||
}
|
||
},
|
||
"reward_action": {
|
||
"options": {
|
||
"save": "Enregistrer les modifications",
|
||
"delete": "Supprimer la récompense"
|
||
}
|
||
},
|
||
"time_category": {
|
||
"options": {
|
||
"morning": "Matin",
|
||
"afternoon": "Après-midi",
|
||
"evening": "Soirée",
|
||
"night": "Nuit",
|
||
"anytime": "N'importe quand"
|
||
}
|
||
},
|
||
"schedule_mode": {
|
||
"options": {
|
||
"specific_days": "Jours spécifiques de la semaine",
|
||
"recurring": "Récurrent (tous les N jours/semaines/mois)",
|
||
"one_shot": "Tâche unique (un seul jour)"
|
||
}
|
||
},
|
||
"due_days_option": {
|
||
"options": {
|
||
"monday": "Lundi",
|
||
"tuesday": "Mardi",
|
||
"wednesday": "Mercredi",
|
||
"thursday": "Jeudi",
|
||
"friday": "Vendredi",
|
||
"saturday": "Samedi",
|
||
"sunday": "Dimanche"
|
||
}
|
||
},
|
||
"recurrence": {
|
||
"options": {
|
||
"every_2_days": "Tous les 2 jours",
|
||
"weekly": "Hebdomadaire",
|
||
"every_2_weeks": "Toutes les 2 semaines",
|
||
"monthly": "Mensuel",
|
||
"every_3_months": "Tous les 3 mois",
|
||
"every_6_months": "Tous les 6 mois"
|
||
}
|
||
},
|
||
"recurrence_day_option": {
|
||
"options": {
|
||
"monday": "Lundi",
|
||
"tuesday": "Mardi",
|
||
"wednesday": "Mercredi",
|
||
"thursday": "Jeudi",
|
||
"friday": "Vendredi",
|
||
"saturday": "Samedi",
|
||
"sunday": "Dimanche",
|
||
"any_day": "N'importe quel jour"
|
||
}
|
||
},
|
||
"first_occurrence_mode": {
|
||
"options": {
|
||
"available_immediately": "Disponible immédiatement",
|
||
"wait_for_first_occurrence": "Attendre la première occurrence prévue"
|
||
}
|
||
},
|
||
"streak_reset_mode": {
|
||
"options": {
|
||
"reset": "Réinitialiser — la série retombe à 0 en cas d'oubli",
|
||
"pause": "Pause — la série est préservée jusqu'à la prochaine exécution"
|
||
}
|
||
},
|
||
"visibility_operator": {
|
||
"options": {
|
||
"none": "Aucun filtre — Toujours afficher la corvée",
|
||
"equals": "Égale — Afficher quand l'état correspond exactement",
|
||
"not_equals": "Non égale — Afficher quand l'état ne correspond pas",
|
||
"gte": "Supérieur ou égal (≥) — Afficher quand la valeur est ≥ cible",
|
||
"lte": "Inférieur ou égal (≤) — Afficher quand la valeur est ≤ cible",
|
||
"gt": "Supérieur (>) — Afficher quand la valeur est > cible",
|
||
"lt": "Inférieur (<) — Afficher quand la valeur est < cible"
|
||
}
|
||
},
|
||
"assignment_mode": {
|
||
"options": {
|
||
"everyone": "Tout le monde — chaque enfant assigné voit la tâche",
|
||
"alternating": "Alternance — rotation entre les enfants assignés, un par jour",
|
||
"random": "Aléatoire — un enfant assigné choisi au hasard chaque jour",
|
||
"balanced": "Équilibré — répartit les tâches équilibrées du jour équitablement entre les enfants assignés",
|
||
"first_come": "Premier arrivé, premier servi — le premier enfant à la terminer gagne ; masquée pour les autres",
|
||
"unassigned": "Non attribué — aucun enfant ne voit cette tâche"
|
||
}
|
||
},
|
||
"task_group_policy": {
|
||
"options": {
|
||
"sticky": "Sticky — même enfant pour toutes les tâches du groupe",
|
||
"spread": "Spread — enfants différents dans le groupe aujourd’hui"
|
||
}
|
||
},
|
||
"task_group_action": {
|
||
"options": {
|
||
"save": "Enregistrer",
|
||
"delete": "Supprimer le groupe"
|
||
}
|
||
}
|
||
},
|
||
"services": {
|
||
"complete_chore": {
|
||
"name": "Terminer une corvée",
|
||
"description": "Marquer une corvée comme terminée par un enfant",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la corvée à terminer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant effectuant la corvée"
|
||
},
|
||
"note": {
|
||
"name": "Note",
|
||
"description": "Ce que l'enfant a fait, avec ses propres mots. Obligatoire pour les tâches ouvertes, et affiché au parent lors de l'approbation."
|
||
},
|
||
"suggested_points": {
|
||
"name": "Points suggérés",
|
||
"description": "Ce que l'enfant estime que le travail valait. Une simple indication pour le parent qui approuve — cela n'attribue aucun point."
|
||
}
|
||
}
|
||
},
|
||
"complete_bonus_subtask": {
|
||
"name": "Terminer une sous-tâche bonus",
|
||
"description": "Terminer une sous-tâche bonus une fois la corvée parente terminée",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la corvée parente"
|
||
},
|
||
"bonus_subtask_id": {
|
||
"name": "ID de la sous-tâche bonus",
|
||
"description": "L'identifiant de la sous-tâche bonus à terminer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant effectuant la sous-tâche bonus"
|
||
}
|
||
}
|
||
},
|
||
"approve_chore": {
|
||
"name": "Approuver une corvée",
|
||
"description": "Approuver une corvée terminée et attribuer les points",
|
||
"fields": {
|
||
"completion_id": {
|
||
"name": "ID de complétion",
|
||
"description": "L'identifiant de l'exécution à approuver"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Attribuer ce nombre de points au lieu de la valeur de la tâche. Laisser vide pour utiliser les points de la tâche."
|
||
},
|
||
"rating": {
|
||
"name": "Note de qualité",
|
||
"description": "Note facultative de 1 à 3 étoiles sur la qualité du travail. Quand les notes de qualité sont activées, les points sont multipliés par le coefficient de cette note ; laissez vide pour verser 100 %."
|
||
}
|
||
}
|
||
},
|
||
"approve_all_chores": {
|
||
"name": "Approuver toutes les tâches",
|
||
"description": "Approuver toutes les tâches terminées en attente (ou un ensemble précis) et attribuer les points",
|
||
"fields": {
|
||
"completion_ids": {
|
||
"name": "Identifiants de complétion",
|
||
"description": "Identifiants de complétion à approuver ; laisser vide pour tout approuver"
|
||
},
|
||
"rating": {
|
||
"name": "Note de qualité",
|
||
"description": "Note facultative de 1 à 3 étoiles appliquée à chaque tâche approuvée par cet appel (les notes de qualité doivent être activées)."
|
||
}
|
||
}
|
||
},
|
||
"reject_chore": {
|
||
"name": "Rejeter une corvée",
|
||
"description": "Rejeter une corvée terminée",
|
||
"fields": {
|
||
"completion_id": {
|
||
"name": "ID de complétion",
|
||
"description": "L'identifiant de l'exécution à rejeter"
|
||
},
|
||
"reason": {
|
||
"name": "Raison",
|
||
"description": "Raison facultative affichée à l'enfant"
|
||
}
|
||
}
|
||
},
|
||
"undo_chore": {
|
||
"name": "Annuler une tâche",
|
||
"description": "Permet à un enfant de reprendre sa propre tâche — une soumission en attente tant qu'un parent ne l'a pas examinée, ou une tâche approuvée automatiquement pendant la fenêtre d'annulation. Désactivé tant que la fenêtre n'est pas réglée au-dessus de 0 dans les paramètres TaskMate ; tout ce qu'un parent a examiné doit être annulé par un parent.",
|
||
"fields": {
|
||
"completion_id": {
|
||
"name": "ID de réalisation",
|
||
"description": "L'ID de la tâche réalisée par l'enfant à reprendre"
|
||
}
|
||
}
|
||
},
|
||
"undo_chore_approval": {
|
||
"name": "Annuler l'approbation d'une tâche",
|
||
"description": "Annuler l'approbation accidentelle d'une tâche — retire les points attribués et remet la réalisation en attente afin qu'elle puisse être approuvée à nouveau.",
|
||
"fields": {
|
||
"completion_id": {
|
||
"name": "ID de réalisation",
|
||
"description": "L'ID de la réalisation de tâche approuvée à remettre en attente"
|
||
}
|
||
}
|
||
},
|
||
"undo_transaction": {
|
||
"name": "Annuler une transaction",
|
||
"description": "Annuler une transaction de points via son ID — pénalités, bonus, ajustements manuels (ajout/retrait) et cadeaux (les deux volets). Les transactions automatiques (bonus de week-end/série/semaine parfaite, mouvements de cagnotte, dépréciation, intérêts) ne peuvent pas être annulées.",
|
||
"fields": {
|
||
"transaction_id": {
|
||
"name": "ID de transaction",
|
||
"description": "L'ID de la transaction de points à annuler"
|
||
}
|
||
}
|
||
},
|
||
"claim_reward": {
|
||
"name": "Réclamer une récompense",
|
||
"description": "L'enfant réclame une récompense en utilisant ses points",
|
||
"fields": {
|
||
"reward_id": {
|
||
"name": "ID de la récompense",
|
||
"description": "L'identifiant de la récompense à réclamer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant réclamant la récompense"
|
||
}
|
||
}
|
||
},
|
||
"approve_reward": {
|
||
"name": "Approuver une récompense",
|
||
"description": "Approuver une demande de récompense",
|
||
"fields": {
|
||
"claim_id": {
|
||
"name": "ID de la demande",
|
||
"description": "L'identifiant de la demande de récompense à approuver"
|
||
}
|
||
}
|
||
},
|
||
"allocate_points_to_pool": {
|
||
"name": "Allouer des points à la cagnotte",
|
||
"description": "Déplacer des points du solde disponible d'un enfant vers la cagnotte d'une récompense (verrouillée).",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant effectuant l'allocation"
|
||
},
|
||
"reward_id": {
|
||
"name": "ID de la récompense",
|
||
"description": "L'identifiant de la cagnotte de récompense où déposer les points"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nombre de points à allouer (limité par la capacité de la cagnotte et le solde disponible)"
|
||
}
|
||
}
|
||
},
|
||
"add_points": {
|
||
"name": "Ajouter des points",
|
||
"description": "Ajouter des points bonus à un enfant",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant à qui ajouter des points"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Le nombre de points à ajouter"
|
||
},
|
||
"reason": {
|
||
"name": "Raison",
|
||
"description": "Raison optionnelle pour le bonus"
|
||
}
|
||
}
|
||
},
|
||
"remove_points": {
|
||
"name": "Retirer des points",
|
||
"description": "Retirer des points à un enfant (pénalité)",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant à qui retirer des points"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Le nombre de points à retirer"
|
||
},
|
||
"reason": {
|
||
"name": "Raison",
|
||
"description": "Raison optionnelle pour la pénalité"
|
||
}
|
||
}
|
||
},
|
||
"reject_reward": {
|
||
"name": "Rejeter une récompense",
|
||
"description": "Rejeter une demande de récompense",
|
||
"fields": {
|
||
"claim_id": {
|
||
"name": "ID de la demande",
|
||
"description": "L'identifiant de la demande à rejeter"
|
||
},
|
||
"reason": {
|
||
"name": "Raison",
|
||
"description": "Raison facultative affichée à l'enfant"
|
||
}
|
||
}
|
||
},
|
||
"preview_sound": {
|
||
"name": "Aperçu du son",
|
||
"description": "Tester un effet sonore de complétion dans le navigateur",
|
||
"fields": {
|
||
"sound": {
|
||
"name": "Son",
|
||
"description": "Le son à tester"
|
||
}
|
||
}
|
||
},
|
||
"set_chore_order": {
|
||
"name": "Définir l'ordre des corvées",
|
||
"description": "Définir l'ordre d'affichage des corvées pour un enfant",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant"
|
||
},
|
||
"chore_order": {
|
||
"name": "Ordre des corvées",
|
||
"description": "Liste ordonnée des IDs de corvées"
|
||
}
|
||
}
|
||
},
|
||
"add_penalty": {
|
||
"name": "Ajouter une pénalité",
|
||
"description": "Créer une nouvelle définition de pénalité",
|
||
"fields": {
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Le nom de la pénalité"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Le nombre de points à déduire"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Description optionnelle"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Icône MDI pour la pénalité"
|
||
},
|
||
"assigned_to": {
|
||
"name": "Assignée à",
|
||
"description": "Liste des IDs d'enfants concernés"
|
||
}
|
||
}
|
||
},
|
||
"update_penalty": {
|
||
"name": "Mettre à jour la pénalité",
|
||
"description": "Modifier une définition de pénalité existante",
|
||
"fields": {
|
||
"penalty_id": {
|
||
"name": "ID de pénalité",
|
||
"description": "L'identifiant de la pénalité à modifier"
|
||
},
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Nouveau nom"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nouvelle valeur de points"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Nouvelle description"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Nouvelle icône"
|
||
},
|
||
"assigned_to": {
|
||
"name": "Assignée à",
|
||
"description": "Nouvelle liste d'identifiants d'enfants"
|
||
}
|
||
}
|
||
},
|
||
"remove_penalty": {
|
||
"name": "Supprimer la pénalité",
|
||
"description": "Supprimer une définition de pénalité",
|
||
"fields": {
|
||
"penalty_id": {
|
||
"name": "ID de pénalité",
|
||
"description": "L'identifiant de la pénalité à supprimer"
|
||
}
|
||
}
|
||
},
|
||
"apply_penalty": {
|
||
"name": "Appliquer une pénalité",
|
||
"description": "Appliquer une pénalité à un enfant, déduisant ses points",
|
||
"fields": {
|
||
"penalty_id": {
|
||
"name": "ID de pénalité",
|
||
"description": "L'identifiant de la pénalité à appliquer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant à pénaliser"
|
||
}
|
||
}
|
||
},
|
||
"add_bonus": {
|
||
"name": "Ajouter un bonus",
|
||
"description": "Créer une nouvelle définition de bonus",
|
||
"fields": {
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Le nom du bonus"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Le nombre de points à attribuer lors de l'application"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Description optionnelle du bonus"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Icône MDI pour le bonus"
|
||
},
|
||
"assigned_to": {
|
||
"name": "Assigné à",
|
||
"description": "Liste des identifiants d'enfants auxquels ce bonus s'applique"
|
||
}
|
||
}
|
||
},
|
||
"update_bonus": {
|
||
"name": "Mettre à jour le bonus",
|
||
"description": "Mettre à jour une définition de bonus existante",
|
||
"fields": {
|
||
"bonus_id": {
|
||
"name": "ID de bonus",
|
||
"description": "L'identifiant du bonus à mettre à jour"
|
||
},
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Nouveau nom pour le bonus"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nouvelle valeur de points"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Nouvelle description"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Nouvelle icône"
|
||
},
|
||
"assigned_to": {
|
||
"name": "Assigné à",
|
||
"description": "Nouvelle liste d'identifiants d'enfants"
|
||
}
|
||
}
|
||
},
|
||
"remove_bonus": {
|
||
"name": "Supprimer le bonus",
|
||
"description": "Supprimer une définition de bonus",
|
||
"fields": {
|
||
"bonus_id": {
|
||
"name": "ID de bonus",
|
||
"description": "L'identifiant du bonus à supprimer"
|
||
}
|
||
}
|
||
},
|
||
"apply_bonus": {
|
||
"name": "Appliquer un bonus",
|
||
"description": "Appliquer un bonus à un enfant, attribuant des points",
|
||
"fields": {
|
||
"bonus_id": {
|
||
"name": "ID de bonus",
|
||
"description": "L'identifiant du bonus à appliquer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant à qui attribuer le bonus"
|
||
}
|
||
}
|
||
},
|
||
"add_chore": {
|
||
"name": "Ajouter une corvée",
|
||
"description": "Créer une nouvelle corvée dynamiquement, généralement depuis une automatisation ou un script",
|
||
"fields": {
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Le nom de la corvée"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Description optionnelle de la corvée"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Points attribués à l'achèvement de cette corvée"
|
||
},
|
||
"assigned_to": {
|
||
"name": "Assignée à",
|
||
"description": "Liste des IDs d'enfants à qui assigner cette corvée. Laisser vide pour l'assigner à tous les enfants"
|
||
},
|
||
"time_category": {
|
||
"name": "Catégorie horaire",
|
||
"description": "Quand cette corvée doit être effectuée : morning, afternoon, evening, night ou anytime"
|
||
},
|
||
"one_shot": {
|
||
"name": "Unique",
|
||
"description": "Si vrai, c'est une corvée unique qui expire après exécution ou à la fin de la journée"
|
||
},
|
||
"requires_approval": {
|
||
"name": "Nécessite approbation",
|
||
"description": "Si vrai, un parent doit approuver l'exécution avant que les points soient attribués"
|
||
},
|
||
"team_size": {
|
||
"name": "Taille de l'équipe",
|
||
"description": "Fait de cette corvée une tâche d'équipe qui ne compte qu'une fois que ce nombre d'enfants différents l'ont rejointe. Quand l'équipe est complète, elle est soumise pour tous. 0 = corvée normale."
|
||
},
|
||
"team_points_mode": {
|
||
"name": "Points d'équipe",
|
||
"description": "Comment une tâche d'équipe rapporte : « each » donne tous les points à chaque participant, « split » les partage à parts égales (arrondi à l'inférieur)."
|
||
},
|
||
"team_bonus": {
|
||
"name": "Bonus d'équipe",
|
||
"description": "Points supplémentaires gagnés par chaque participant quand une tâche d'équipe est terminée."
|
||
}
|
||
}
|
||
},
|
||
"skip_chore": {
|
||
"name": "Skip Chore",
|
||
"description": "Advance today's rotation past the current assignee. Ephemeral — tomorrow's rotation resumes as normal.",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "Chore ID",
|
||
"description": "The ID of the chore to skip"
|
||
}
|
||
}
|
||
},
|
||
"set_chore_manual_start": {
|
||
"name": "Set Manual Start Child",
|
||
"description": "Set which child starts a rotating chore. For alternating mode this reorders the pool; for random/balanced it only overrides today's assignee.",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "Chore ID",
|
||
"description": "The ID of the chore to update"
|
||
},
|
||
"child_id": {
|
||
"name": "Child ID",
|
||
"description": "The ID of the child who should start the rotation"
|
||
}
|
||
}
|
||
},
|
||
"add_task_group": {
|
||
"name": "Add Task Group",
|
||
"description": "Create a task group (sticky = same child, spread = different children).",
|
||
"fields": {
|
||
"name": {
|
||
"name": "Name",
|
||
"description": "Display name for the group"
|
||
},
|
||
"policy": {
|
||
"name": "Policy",
|
||
"description": "sticky (same child) or spread (different children)"
|
||
},
|
||
"chore_ids": {
|
||
"name": "Chore IDs",
|
||
"description": "List of chore IDs in the group. For sticky, the first chore is the leader."
|
||
}
|
||
}
|
||
},
|
||
"update_task_group": {
|
||
"name": "Update Task Group",
|
||
"description": "Update a task group's name, policy, or membership.",
|
||
"fields": {
|
||
"group_id": {
|
||
"name": "Group ID",
|
||
"description": "The ID of the group to update"
|
||
},
|
||
"name": {
|
||
"name": "Name",
|
||
"description": "New display name"
|
||
},
|
||
"policy": {
|
||
"name": "Policy",
|
||
"description": "New policy (sticky or spread)"
|
||
},
|
||
"chore_ids": {
|
||
"name": "Chore IDs",
|
||
"description": "Replacement chore ID list. For sticky, the first chore is the leader."
|
||
}
|
||
}
|
||
},
|
||
"remove_task_group": {
|
||
"name": "Remove Task Group",
|
||
"description": "Delete a task group. Member chores are not affected.",
|
||
"fields": {
|
||
"group_id": {
|
||
"name": "Group ID",
|
||
"description": "The ID of the group to delete"
|
||
}
|
||
}
|
||
},
|
||
"start_timed_task": {
|
||
"name": "Démarrer une tâche chronométrée",
|
||
"description": "Démarrer ou reprendre le minuteur d'une tâche chronométrée",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la corvée chronométrée"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant démarrant le minuteur"
|
||
}
|
||
}
|
||
},
|
||
"leave_team_chore": {
|
||
"name": "Quitter une tâche d'équipe",
|
||
"description": "Retirer un enfant d'une tâche d'équipe qu'il a rejointe aujourd'hui, avant que l'équipe soit complète",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la tâche d'équipe"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant qui quitte l'équipe"
|
||
}
|
||
}
|
||
},
|
||
"complete_next_chore": {
|
||
"name": "Terminer la tâche suivante",
|
||
"description": "Termine la prochaine tâche en attente de l'enfant, dans l'ordre affiché par la carte enfant. Les tâches qui demandent une photo, une note, un minuteur ou une équipe sont ignorées. Conçu pour les boutons et raccourcis de montre ; les règles d'approbation habituelles s'appliquent.",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant dont la prochaine tâche doit être terminée"
|
||
}
|
||
}
|
||
},
|
||
"post_bounty": {
|
||
"name": "Publier une prime",
|
||
"description": "Publier une tâche ponctuelle sur le tableau des primes pour un nombre de points fixe. Tout enfant éligible peut la réserver ; une fois faite, elle passe par la validation habituelle.",
|
||
"fields": {
|
||
"title": {
|
||
"name": "Titre",
|
||
"description": "La tâche, p. ex. « Laver la voiture »"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Points fixes versés quand un parent valide la tâche terminée"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Détails facultatifs pour les enfants"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Icône MDI affichée sur le tableau"
|
||
},
|
||
"expires_at": {
|
||
"name": "Expire le",
|
||
"description": "Date et heure facultatives auxquelles la prime quitte le tableau si personne ne l'a réservée. Laisser vide pour ne pas expirer."
|
||
},
|
||
"eligible_child_ids": {
|
||
"name": "Enfants éligibles",
|
||
"description": "ID des enfants qui peuvent la réserver. Vide = tous les enfants."
|
||
},
|
||
"claim_hours": {
|
||
"name": "Réservation (heures)",
|
||
"description": "Durée d'une réservation avant que la prime ne revienne sur le tableau"
|
||
},
|
||
"require_photo": {
|
||
"name": "Photo obligatoire",
|
||
"description": "L'enfant doit joindre une photo en la marquant comme faite"
|
||
},
|
||
"notify_children": {
|
||
"name": "Prévenir les enfants",
|
||
"description": "Envoyer la notification « Nouvelle prime » aux enfants éligibles"
|
||
}
|
||
}
|
||
},
|
||
"update_bounty": {
|
||
"name": "Modifier une prime",
|
||
"description": "Modifier une prime. Une fois réservée, seuls ses points et son expiration peuvent changer.",
|
||
"fields": {
|
||
"bounty_id": {
|
||
"name": "ID de la prime",
|
||
"description": "L'ID de la prime à modifier"
|
||
},
|
||
"title": {
|
||
"name": "Titre",
|
||
"description": "La tâche, p. ex. « Laver la voiture »"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Points fixes versés quand un parent valide la tâche terminée"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Détails facultatifs pour les enfants"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Icône MDI affichée sur le tableau"
|
||
},
|
||
"expires_at": {
|
||
"name": "Expire le",
|
||
"description": "Date et heure facultatives auxquelles la prime quitte le tableau si personne ne l'a réservée. Laisser vide pour ne pas expirer."
|
||
},
|
||
"eligible_child_ids": {
|
||
"name": "Enfants éligibles",
|
||
"description": "ID des enfants qui peuvent la réserver. Vide = tous les enfants."
|
||
},
|
||
"claim_hours": {
|
||
"name": "Réservation (heures)",
|
||
"description": "Durée d'une réservation avant que la prime ne revienne sur le tableau"
|
||
},
|
||
"require_photo": {
|
||
"name": "Photo obligatoire",
|
||
"description": "L'enfant doit joindre une photo en la marquant comme faite"
|
||
},
|
||
"notify_children": {
|
||
"name": "Prévenir les enfants",
|
||
"description": "Envoyer la notification « Nouvelle prime » aux enfants éligibles"
|
||
}
|
||
}
|
||
},
|
||
"remove_bounty": {
|
||
"name": "Retirer une prime",
|
||
"description": "Retirer une prime du tableau. Impossible tant qu'une tâche terminée attend la validation.",
|
||
"fields": {
|
||
"bounty_id": {
|
||
"name": "ID de la prime",
|
||
"description": "L'ID de la prime à retirer"
|
||
}
|
||
}
|
||
},
|
||
"claim_bounty": {
|
||
"name": "Réserver une prime",
|
||
"description": "Réserver une prime pour un enfant, qui la garde pendant la durée de réservation. Un enfant ne peut en réserver qu'une à la fois.",
|
||
"fields": {
|
||
"bounty_id": {
|
||
"name": "ID de la prime",
|
||
"description": "L'ID de la prime à réserver"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant qui la réserve"
|
||
}
|
||
}
|
||
},
|
||
"give_back_bounty": {
|
||
"name": "Rendre une prime",
|
||
"description": "Remettre une prime réservée sur le tableau pour qu'un autre enfant puisse la prendre",
|
||
"fields": {
|
||
"bounty_id": {
|
||
"name": "ID de la prime",
|
||
"description": "L'ID de la prime réservée"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant qui l'a réservée"
|
||
}
|
||
}
|
||
},
|
||
"complete_bounty": {
|
||
"name": "Terminer une prime",
|
||
"description": "Marquer une prime réservée comme faite. Elle part en validation comme une tâche.",
|
||
"fields": {
|
||
"bounty_id": {
|
||
"name": "ID de la prime",
|
||
"description": "L'ID de la prime réservée"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant qui l'a réservée"
|
||
},
|
||
"photo_url": {
|
||
"name": "URL de la photo",
|
||
"description": "Photo de la tâche terminée (obligatoire si la prime en demande une)"
|
||
}
|
||
}
|
||
},
|
||
"pause_timed_task": {
|
||
"name": "Mettre en pause une tâche chronométrée",
|
||
"description": "Mettre en pause le minuteur d'une tâche chronométrée en cours",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la corvée chronométrée"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant mettant le minuteur en pause"
|
||
}
|
||
}
|
||
},
|
||
"stop_timed_task": {
|
||
"name": "Arrêter une tâche chronométrée",
|
||
"description": "Arrêter le minuteur d'une tâche chronométrée et la soumettre pour approbation",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID de la corvée",
|
||
"description": "L'identifiant de la corvée chronométrée"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant arrêtant le minuteur"
|
||
}
|
||
}
|
||
},
|
||
"add_badge": {
|
||
"name": "Ajouter un badge",
|
||
"description": "Créer un badge personnalisé.",
|
||
"fields": {
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Le nom affiché du badge"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Description de la façon d'obtenir le badge"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Icône du badge (ex. mdi:beach)"
|
||
},
|
||
"tier": {
|
||
"name": "Niveau",
|
||
"description": "Niveau du badge : bronze, argent, or ou platine"
|
||
},
|
||
"point_bonus": {
|
||
"name": "Bonus de points",
|
||
"description": "Points crédités à l'enfant lorsque le badge est obtenu"
|
||
},
|
||
"criteria": {
|
||
"name": "Critères",
|
||
"description": "Liste de dictionnaires metric / operator / value. Vide = attribution manuelle uniquement."
|
||
},
|
||
"assigned_to": {
|
||
"name": "Attribué à",
|
||
"description": "Liste d'identifiants d'enfants (vide = tous)"
|
||
},
|
||
"notify_on_earn": {
|
||
"name": "Notifier à l'obtention",
|
||
"description": "Envoyer une notification lorsque le badge est obtenu"
|
||
}
|
||
}
|
||
},
|
||
"update_badge": {
|
||
"name": "Mettre à jour un badge",
|
||
"description": "Mettre à jour un badge existant. Pour les badges intégrés, seuls point_bonus, tier, assigned_to, enabled et notify_on_earn sont modifiables.",
|
||
"fields": {
|
||
"badge_id": {
|
||
"name": "ID du badge",
|
||
"description": "L'identifiant du badge à mettre à jour"
|
||
},
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Nouveau nom affiché du badge"
|
||
},
|
||
"description": {
|
||
"name": "Description",
|
||
"description": "Nouvelle description du badge"
|
||
},
|
||
"icon": {
|
||
"name": "Icône",
|
||
"description": "Nouvelle icône du badge"
|
||
},
|
||
"tier": {
|
||
"name": "Niveau",
|
||
"description": "Niveau du badge : bronze, argent, or ou platine"
|
||
},
|
||
"point_bonus": {
|
||
"name": "Bonus de points",
|
||
"description": "Points crédités à l'enfant lorsque le badge est obtenu"
|
||
},
|
||
"criteria": {
|
||
"name": "Critères",
|
||
"description": "Liste de dictionnaires metric / operator / value. Vide = attribution manuelle uniquement."
|
||
},
|
||
"assigned_to": {
|
||
"name": "Attribué à",
|
||
"description": "Liste d'identifiants d'enfants (vide = tous)"
|
||
},
|
||
"enabled": {
|
||
"name": "Activé",
|
||
"description": "Indique si le badge est actif"
|
||
},
|
||
"notify_on_earn": {
|
||
"name": "Notifier à l'obtention",
|
||
"description": "Envoyer une notification lorsque le badge est obtenu"
|
||
}
|
||
}
|
||
},
|
||
"remove_badge": {
|
||
"name": "Supprimer un badge",
|
||
"description": "Supprimer un badge personnalisé. Les badges intégrés ne peuvent pas être supprimés.",
|
||
"fields": {
|
||
"badge_id": {
|
||
"name": "ID du badge",
|
||
"description": "L'identifiant du badge à supprimer"
|
||
}
|
||
}
|
||
},
|
||
"award_badge_manually": {
|
||
"name": "Attribuer un badge manuellement",
|
||
"description": "Attribuer manuellement un badge à un enfant.",
|
||
"fields": {
|
||
"badge_id": {
|
||
"name": "ID du badge",
|
||
"description": "L'identifiant du badge à attribuer"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'identifiant de l'enfant recevant le badge"
|
||
}
|
||
}
|
||
},
|
||
"revoke_badge": {
|
||
"name": "Révoquer un badge",
|
||
"description": "Révoquer un badge attribué. Si un bonus de points a été crédité, il est annulé.",
|
||
"fields": {
|
||
"awarded_badge_id": {
|
||
"name": "ID du badge attribué",
|
||
"description": "L'identifiant du badge attribué à révoquer"
|
||
}
|
||
}
|
||
},
|
||
"rebuild_badges": {
|
||
"name": "Recalculer les badges",
|
||
"description": "Réévaluer silencieusement tous les badges pour tous les enfants (sans notifications ni bonus de points)."
|
||
},
|
||
"apply_mandatory_penalty": {
|
||
"name": "Appliquer la pénalité obligatoire",
|
||
"description": "Déduit les points de pénalité configurés pour une tâche obligatoire manquée et supprime l'élément à vérifier.",
|
||
"fields": {
|
||
"miss_id": {
|
||
"name": "ID d'oubli",
|
||
"description": "L'ID de l'élément à vérifier pour la tâche obligatoire manquée"
|
||
}
|
||
}
|
||
},
|
||
"choose_avatar": {
|
||
"name": "Choisir un avatar",
|
||
"description": "Un enfant passe à un avatar qu'il a débloqué.",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID enfant",
|
||
"description": "L'ID de l'enfant"
|
||
},
|
||
"icon": {
|
||
"name": "Icône d'avatar",
|
||
"description": "L'icône mdi d'un avatar du catalogue débloqué (par ex. mdi:rocket-launch)."
|
||
}
|
||
}
|
||
},
|
||
"dismiss_mandatory_chore": {
|
||
"name": "Ignorer la tâche obligatoire",
|
||
"description": "Supprime l'élément à vérifier d'une tâche obligatoire manquée sans pénalité.",
|
||
"fields": {
|
||
"miss_id": {
|
||
"name": "ID d'oubli",
|
||
"description": "L'ID de l'élément à vérifier pour la tâche obligatoire manquée"
|
||
}
|
||
}
|
||
},
|
||
"gift_points": {
|
||
"name": "Offrir des points",
|
||
"description": "Transfère des points dépensables d'un enfant à un autre (contrôlé par les parents).",
|
||
"fields": {
|
||
"from_child_id": {
|
||
"name": "ID enfant source",
|
||
"description": "L'ID de l'enfant qui envoie les points"
|
||
},
|
||
"to_child_id": {
|
||
"name": "ID enfant destinataire",
|
||
"description": "L'ID de l'enfant qui reçoit les points"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Le nombre de points à transférer"
|
||
}
|
||
}
|
||
},
|
||
"adjust_streak_freezes": {
|
||
"name": "Ajuster les gels de série",
|
||
"description": "Donne des gels de série à un enfant (nombre positif) ou en retire (négatif). Un ajout ne dépasse jamais la limite streak_freeze_max.",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant dont les gels changent"
|
||
},
|
||
"amount": {
|
||
"name": "Nombre",
|
||
"description": "Gels à ajouter (positif) ou à retirer (négatif)"
|
||
}
|
||
}
|
||
},
|
||
"postpone_mandatory_chore": {
|
||
"name": "Reporter la tâche obligatoire",
|
||
"description": "Accorde à une tâche obligatoire manquée une autre période (ou demain) sans pénalité et supprime l'élément à vérifier.",
|
||
"fields": {
|
||
"miss_id": {
|
||
"name": "ID d'oubli",
|
||
"description": "L'ID de l'élément à vérifier pour la tâche obligatoire manquée"
|
||
}
|
||
}
|
||
},
|
||
"request_swap": {
|
||
"name": "Demander un échange de tâche",
|
||
"description": "Un enfant demande à reprendre l'attribution par rotation d'une tâche pour aujourd'hui (en attente d'approbation parentale).",
|
||
"fields": {
|
||
"chore_id": {
|
||
"name": "ID tâche",
|
||
"description": "L'ID de la tâche à reprendre"
|
||
},
|
||
"requester_id": {
|
||
"name": "ID enfant demandeur",
|
||
"description": "L'ID de l'enfant qui demande l'échange"
|
||
}
|
||
}
|
||
},
|
||
"test_notification": {
|
||
"name": "Notification de test",
|
||
"description": "Envoie un exemple de notification du type indiqué à ses destinataires activés (ignore l'interrupteur principal afin de vérifier le routage).",
|
||
"fields": {
|
||
"type_id": {
|
||
"name": "Type de notification",
|
||
"description": "ID du type de notification, par ex. pending_chore_approval, badge_earned, streak_milestone"
|
||
}
|
||
}
|
||
},
|
||
"record_allowance_payout": {
|
||
"name": "Enregistrer un versement d'argent de poche",
|
||
"description": "Déduire des points et enregistrer un versement d'argent de poche réel dans le journal (taux de conversion fixe ; contrôlé par les parents).",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID enfant",
|
||
"description": "L'ID de l'enfant recevant le versement"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Points à convertir en argent et à déduire"
|
||
}
|
||
}
|
||
},
|
||
"add_wish": {
|
||
"name": "Ajouter un souhait",
|
||
"description": "Un enfant ajoute quelque chose pour lequel il veut économiser. Le souhait attend l'approbation d'un parent.",
|
||
"fields": {
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant qui fait le souhait"
|
||
},
|
||
"name": {
|
||
"name": "Nom",
|
||
"description": "Ce que l'enfant souhaite"
|
||
},
|
||
"target": {
|
||
"name": "Objectif",
|
||
"description": "Nombre de points proposé. Le parent peut le modifier lors de l'approbation."
|
||
},
|
||
"link": {
|
||
"name": "Lien",
|
||
"description": "Adresse web facultative (http ou https) de l'article"
|
||
},
|
||
"photo_url": {
|
||
"name": "Image",
|
||
"description": "Image facultative tout juste envoyée via le point d'accès photo de TaskMate"
|
||
}
|
||
}
|
||
},
|
||
"withdraw_wish": {
|
||
"name": "Retirer un souhait",
|
||
"description": "Un enfant retire un souhait encore en attente d'approbation, ou efface un souhait refusé.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant à qui appartient le souhait"
|
||
}
|
||
}
|
||
},
|
||
"move_points_to_wish": {
|
||
"name": "Placer des points dans un souhait",
|
||
"description": "Transfère des points du solde disponible d'un enfant vers l'un de ses souhaits approuvés.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant à qui appartient le souhait"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nombre de points à transférer (plafonné au solde et à ce qu'il manque au souhait)"
|
||
}
|
||
}
|
||
},
|
||
"take_points_from_wish": {
|
||
"name": "Reprendre des points d'un souhait",
|
||
"description": "Rend à l'enfant une partie de ses propres points économisés. Les points promis ne sortent jamais.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant à qui appartient le souhait"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nombre de points économisés à reprendre (plafonné à ce que l'enfant a économisé)"
|
||
}
|
||
}
|
||
},
|
||
"request_wish_redeem": {
|
||
"name": "Demander à obtenir le souhait",
|
||
"description": "Un souhait entièrement financé devient une demande de récompense en attente d'approbation.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"child_id": {
|
||
"name": "ID de l'enfant",
|
||
"description": "L'ID de l'enfant à qui appartient le souhait"
|
||
}
|
||
}
|
||
},
|
||
"approve_wish": {
|
||
"name": "Approuver un souhait",
|
||
"description": "Transforme un souhait en attente en objectif d'épargne, éventuellement avec un autre objectif.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"target": {
|
||
"name": "Objectif",
|
||
"description": "Points que coûte le souhait. Laisser vide pour garder la proposition de l'enfant."
|
||
}
|
||
}
|
||
},
|
||
"decline_wish": {
|
||
"name": "Refuser un souhait",
|
||
"description": "Refuse un souhait. Les points économisés reviennent à l'enfant et les promesses sont annulées.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"reason": {
|
||
"name": "Raison",
|
||
"description": "Raison facultative affichée à l'enfant"
|
||
}
|
||
}
|
||
},
|
||
"pledge_to_wish": {
|
||
"name": "Promettre pour un souhait",
|
||
"description": "Enregistre des points offerts par un proche pour le souhait d'un enfant. Ils ne touchent aucun solde.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"name": {
|
||
"name": "De la part de",
|
||
"description": "De qui vient la promesse, p. ex. Mamie"
|
||
},
|
||
"points": {
|
||
"name": "Points",
|
||
"description": "Nombre de points promis (plafonné à ce qu'il manque au souhait)"
|
||
},
|
||
"message": {
|
||
"name": "Message",
|
||
"description": "Message facultatif pour l'enfant"
|
||
}
|
||
}
|
||
},
|
||
"remove_wish_pledge": {
|
||
"name": "Retirer une promesse",
|
||
"description": "Annule une promesse. Possible tant que le souhait n'est pas obtenu.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
},
|
||
"pledge_id": {
|
||
"name": "ID de la promesse",
|
||
"description": "L'ID de la promesse à retirer"
|
||
}
|
||
}
|
||
},
|
||
"remove_wish": {
|
||
"name": "Supprimer un souhait",
|
||
"description": "Supprime un souhait. Les points économisés reviennent à l'enfant et les promesses sont annulées.",
|
||
"fields": {
|
||
"wish_id": {
|
||
"name": "ID du souhait",
|
||
"description": "L'ID du souhait"
|
||
}
|
||
}
|
||
},
|
||
"start_inspection": {
|
||
"name": "Lancer une inspection",
|
||
"description": "Marque une tâche approuvée au cours des dernières 24 heures pour une inspection surprise. Valide-la ou refuse-la avant la fin du délai ; une inspection non tranchée se ferme discrètement.",
|
||
"fields": {
|
||
"completion_id": {
|
||
"name": "ID de réalisation",
|
||
"description": "L'ID de la réalisation approuvée à inspecter"
|
||
},
|
||
"bonus": {
|
||
"name": "Bonus",
|
||
"description": "Points versés si elle est réussie. Par défaut, la valeur des Paramètres."
|
||
},
|
||
"window": {
|
||
"name": "Délai",
|
||
"description": "Combien de temps tu as pour vérifier : 1h, 2h, 4h ou bed (jusqu'au coucher). Par défaut, la valeur des Paramètres."
|
||
},
|
||
"tell_child": {
|
||
"name": "Prévenir l'enfant",
|
||
"description": "Affiche « Inspection en approche » sur la carte de l'enfant dès maintenant. Désactive pour une vérification secrète."
|
||
}
|
||
}
|
||
},
|
||
"pass_inspection": {
|
||
"name": "Valider l'inspection",
|
||
"description": "La tâche inspectée est réussie. Verse le bonus comme une entrée de points normale et fête ça sur la carte de l'enfant.",
|
||
"fields": {
|
||
"inspection_id": {
|
||
"name": "ID d'inspection",
|
||
"description": "L'ID de l'inspection en cours"
|
||
},
|
||
"bonus": {
|
||
"name": "Bonus",
|
||
"description": "Points à verser. Par défaut, le bonus fixé au lancement."
|
||
},
|
||
"note": {
|
||
"name": "Note",
|
||
"description": "Note facultative affichée à l'enfant"
|
||
}
|
||
}
|
||
},
|
||
"fail_inspection": {
|
||
"name": "Refuser l'inspection",
|
||
"description": "La tâche inspectée n'est pas réussie. Aucun point n'est retiré. Elle peut être renvoyée à refaire ; la refaire ne rapporte rien de plus.",
|
||
"fields": {
|
||
"inspection_id": {
|
||
"name": "ID d'inspection",
|
||
"description": "L'ID de l'inspection en cours"
|
||
},
|
||
"redo": {
|
||
"name": "Renvoyer à refaire",
|
||
"description": "Remet la tâche sur la liste de l'enfant comme non faite pour aujourd'hui. Par défaut, la valeur des Paramètres."
|
||
},
|
||
"note": {
|
||
"name": "Note",
|
||
"description": "Note facultative affichée à l'enfant (ce qu'il faut corriger)"
|
||
}
|
||
}
|
||
},
|
||
"cancel_inspection": {
|
||
"name": "Annuler l'inspection",
|
||
"description": "Annule une inspection en cours, comme si elle n'avait jamais commencé.",
|
||
"fields": {
|
||
"inspection_id": {
|
||
"name": "ID d'inspection",
|
||
"description": "L'ID de l'inspection en cours"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"entity": {
|
||
"sensor": {
|
||
"child_stats": {
|
||
"unit_of_measurement": "tâches"
|
||
},
|
||
"child_badges": {
|
||
"unit_of_measurement": "badges"
|
||
},
|
||
"child_watch": {
|
||
"state": {
|
||
"left": "Encore #",
|
||
"all_done": "Tout est fait",
|
||
"no_chores": "Aucune tâche"
|
||
}
|
||
}
|
||
},
|
||
"number": {
|
||
"weekend_multiplier": {
|
||
"name": "Multiplicateur week-end"
|
||
},
|
||
"perfect_week_bonus": {
|
||
"name": "Bonus de semaine parfaite"
|
||
}
|
||
},
|
||
"select": {
|
||
"streak_reset_mode": {
|
||
"name": "Mode de réinitialisation de série"
|
||
},
|
||
"card_design": {
|
||
"name": "Design de carte"
|
||
}
|
||
}
|
||
},
|
||
"exceptions": {
|
||
"calendar_unknown_event": {
|
||
"message": "Cet événement n'est pas une tâche TaskMate du calendrier de cet enfant."
|
||
},
|
||
"calendar_series_not_supported": {
|
||
"message": "Une tâche récurrente ne peut être déplacée ou supprimée depuis le calendrier qu'un jour à la fois. Pour modifier toute la série, modifiez la tâche dans TaskMate."
|
||
},
|
||
"calendar_repeating_create": {
|
||
"message": "Les événements récurrents ne peuvent pas être ajoutés depuis le calendrier. Créez plutôt une tâche récurrente dans TaskMate."
|
||
},
|
||
"calendar_rename_series": {
|
||
"message": "Renommez une tâche récurrente dans TaskMate. Depuis le calendrier, vous ne pouvez déplacer ou supprimer qu'un seul jour."
|
||
},
|
||
"calendar_time_follows_chore": {
|
||
"message": "Une tâche récurrente garde son moment de la journée. Seule la date d'une occurrence peut être modifiée depuis le calendrier."
|
||
},
|
||
"calendar_past_date": {
|
||
"message": "Une tâche ne peut pas être ajoutée à un jour passé, ni déplacée vers ou depuis un jour passé."
|
||
},
|
||
"calendar_already_scheduled": {
|
||
"message": "{chore} est déjà prévue le {date}."
|
||
},
|
||
"calendar_empty_title": {
|
||
"message": "Donnez un titre à la tâche."
|
||
},
|
||
"calendar_own_event": {
|
||
"message": "Cet événement a été publié par TaskMate lui-même : il n'est donc pas ajouté comme nouvelle tâche."
|
||
}
|
||
}
|
||
}
|