{ "config": { "step": { "user": { "title": "Bem-vindo ao TaskMate!", "description": "Configure o seu sistema de gestão de tarefas familiar. Pode personalizar a moeda de pontos que as crianças vão ganhar.", "data": { "points_name": "Nome da moeda de pontos (ex: Estrelas, Moedas, Pontos)", "points_icon": "Ícone dos pontos" } } }, "error": { "name_required": "O nome é obrigatório" }, "abort": { "already_configured": "O TaskMate já está configurado" } }, "selector": { "chore_action": { "options": { "save": "Guardar alterações", "re_enable": "Reativar tarefa", "disable": "Desativar tarefa", "delete": "Eliminar esta tarefa" } }, "reward_action": { "options": { "save": "Guardar alterações", "delete": "Eliminar recompensa" } }, "time_category": { "options": { "morning": "Manhã", "afternoon": "Tarde", "evening": "Fim da tarde", "night": "Noite", "anytime": "Qualquer hora" } }, "schedule_mode": { "options": { "specific_days": "Dias específicos da semana", "recurring": "Recorrente (a cada N dias/semanas/meses)", "one_shot": "Tarefa única (um dia)" } }, "due_days_option": { "options": { "monday": "Segunda-feira", "tuesday": "Terça-feira", "wednesday": "Quarta-feira", "thursday": "Quinta-feira", "friday": "Sexta-feira", "saturday": "Sábado", "sunday": "Domingo" } }, "recurrence": { "options": { "every_2_days": "A cada 2 dias", "weekly": "Semanal", "every_2_weeks": "A cada 2 semanas", "monthly": "Mensal", "every_3_months": "A cada 3 meses", "every_6_months": "A cada 6 meses" } }, "recurrence_day_option": { "options": { "monday": "Segunda-feira", "tuesday": "Terça-feira", "wednesday": "Quarta-feira", "thursday": "Quinta-feira", "friday": "Sexta-feira", "saturday": "Sábado", "sunday": "Domingo", "any_day": "Qualquer dia" } }, "first_occurrence_mode": { "options": { "available_immediately": "Disponível imediatamente", "wait_for_first_occurrence": "Aguardar primeira ocorrência agendada" } }, "streak_reset_mode": { "options": { "reset": "Reiniciar — sequência volta a 0 num dia falhado", "pause": "Pausar — sequência preservada até próxima conclusão" } }, "visibility_operator": { "options": { "none": "Sem filtro — Sempre mostrar a tarefa", "equals": "Igual — Mostrar quando o estado da entidade corresponde exatamente", "not_equals": "Não igual — Mostrar quando o estado da entidade não corresponde", "gte": "Maior ou igual (≥) — Mostrar quando valor numérico é ≥ alvo", "lte": "Menor ou igual (≤) — Mostrar quando valor numérico é ≤ alvo", "gt": "Maior que (>) — Mostrar quando valor numérico é > alvo", "lt": "Menor que (<) — Mostrar quando valor numérico é < alvo" } }, "assignment_mode": { "options": { "everyone": "Todos — todas as crianças atribuídas veem a tarefa", "alternating": "Alternado — alterna entre as crianças atribuídas, uma por dia", "random": "Aleatório — escolhe aleatoriamente uma criança atribuída por dia", "balanced": "Equilibrado — divide as tarefas equilibradas do dia igualmente entre as crianças atribuídas", "first_come": "Quem chega primeiro — a primeira criança a concluir ganha; some para as demais", "unassigned": "Não atribuído — nenhuma criança vê esta tarefa" } }, "task_group_policy": { "options": { "sticky": "Sticky — mesma criança para todas as tarefas do grupo", "spread": "Spread — crianças diferentes no grupo hoje" } }, "task_group_action": { "options": { "save": "Salvar alterações", "delete": "Excluir grupo" } } }, "services": { "complete_chore": { "name": "Concluir tarefa", "description": "Marcar uma tarefa como concluída por uma criança", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa a concluir" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que conclui a tarefa" } } }, "complete_bonus_subtask": { "name": "Concluir subtarefa bônus", "description": "Concluir uma subtarefa bônus depois que a tarefa principal for concluída", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa principal" }, "bonus_subtask_id": { "name": "ID da subtarefa bônus", "description": "O ID da subtarefa bônus a concluir" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que conclui a subtarefa bônus" } } }, "approve_chore": { "name": "Aprovar tarefa", "description": "Aprovar uma tarefa concluída e atribuir pontos", "fields": { "completion_id": { "name": "ID de conclusão", "description": "O ID da conclusão da tarefa a aprovar" } } }, "approve_all_chores": { "name": "Aprovar todas as tarefas", "description": "Aprovar todas as conclusões de tarefas pendentes (ou um conjunto específico) e atribuir pontos", "fields": { "completion_ids": { "name": "IDs de conclusão", "description": "IDs de conclusão específicos para aprovar; omita para aprovar todas as pendentes" } } }, "reject_chore": { "name": "Rejeitar tarefa", "description": "Rejeitar uma tarefa concluída", "fields": { "completion_id": { "name": "ID de conclusão", "description": "O ID da conclusão da tarefa a rejeitar" } } }, "undo_chore_approval": { "name": "Desfazer aprovação de tarefa", "description": "Desfazer a aprovação acidental de uma tarefa — remove os pontos concedidos e retorna a conclusão para pendente para que possa ser aprovada novamente.", "fields": { "completion_id": { "name": "ID de conclusão", "description": "O ID da conclusão de tarefa aprovada a retornar para pendente" } } }, "undo_transaction": { "name": "Desfazer transação", "description": "Desfazer uma transação de pontos pelo seu ID — penalidades, bônus, ajustes manuais (adicionar/remover) e presentes (ambos os lados). Transações automáticas (bônus de fim de semana/sequência/semana perfeita, movimentações do cofrinho, desvalorização, juros) não podem ser desfeitas.", "fields": { "transaction_id": { "name": "ID da transação", "description": "O ID da transação de pontos a reverter" } } }, "claim_reward": { "name": "Reclamar recompensa", "description": "A criança reclama uma recompensa usando os seus pontos", "fields": { "reward_id": { "name": "ID da recompensa", "description": "O ID da recompensa a reclamar" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que reclama a recompensa" } } }, "approve_reward": { "name": "Aprovar recompensa", "description": "Aprovar um pedido de recompensa", "fields": { "claim_id": { "name": "ID do pedido", "description": "O ID do pedido de recompensa a aprovar" } } }, "allocate_points_to_pool": { "name": "Alocar pontos ao cofrinho", "description": "Mover pontos do saldo disponível de uma criança para o cofrinho de uma recompensa (bloqueado).", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança que faz a alocação" }, "reward_id": { "name": "ID da recompensa", "description": "O ID do cofrinho da recompensa onde depositar" }, "points": { "name": "Pontos", "description": "Número de pontos a alocar (limitado pela capacidade do cofrinho e pelo saldo disponível)" } } }, "add_points": { "name": "Adicionar pontos", "description": "Adicionar pontos de bónus a uma criança", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança a quem adicionar pontos" }, "points": { "name": "Pontos", "description": "O número de pontos a adicionar" }, "reason": { "name": "Motivo", "description": "Motivo opcional para o bónus" } } }, "remove_points": { "name": "Remover pontos", "description": "Remover pontos de uma criança (penalização)", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança a quem remover pontos" }, "points": { "name": "Pontos", "description": "O número de pontos a remover" }, "reason": { "name": "Motivo", "description": "Motivo opcional para a penalização" } } }, "reject_reward": { "name": "Rejeitar recompensa", "description": "Rejeitar um pedido de recompensa", "fields": { "claim_id": { "name": "ID do pedido", "description": "O ID do pedido de recompensa a rejeitar" } } }, "preview_sound": { "name": "Pré-visualizar som", "description": "Pré-visualizar um efeito sonoro de conclusão no navegador", "fields": { "sound": { "name": "Som", "description": "O som a pré-visualizar" } } }, "set_chore_order": { "name": "Definir ordem das tarefas", "description": "Definir a ordem de apresentação das tarefas para uma criança", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança para definir a ordem das tarefas" }, "chore_order": { "name": "Ordem das tarefas", "description": "Lista ordenada de IDs de tarefas" } } }, "add_penalty": { "name": "Adicionar penalização", "description": "Criar uma nova definição de penalização", "fields": { "name": { "name": "Nome", "description": "O nome da penalização" }, "points": { "name": "Pontos", "description": "O número de pontos a deduzir quando aplicada" }, "description": { "name": "Descrição", "description": "Descrição opcional da penalização" }, "icon": { "name": "Ícone", "description": "Ícone MDI para a penalização" }, "assigned_to": { "name": "Atribuída a", "description": "Lista de IDs de crianças a quem esta penalização se aplica" } } }, "update_penalty": { "name": "Atualizar penalização", "description": "Atualizar uma definição de penalização existente", "fields": { "penalty_id": { "name": "ID da penalização", "description": "O ID da penalização a atualizar" }, "name": { "name": "Nome", "description": "Novo nome para a penalização" }, "points": { "name": "Pontos", "description": "Novo valor de pontos" }, "description": { "name": "Descrição", "description": "Nova descrição" }, "icon": { "name": "Ícone", "description": "Novo ícone" }, "assigned_to": { "name": "Atribuída a", "description": "Nova lista de IDs de crianças" } } }, "remove_penalty": { "name": "Remover penalização", "description": "Remover uma definição de penalização", "fields": { "penalty_id": { "name": "ID da penalização", "description": "O ID da penalização a remover" } } }, "apply_penalty": { "name": "Aplicar penalização", "description": "Aplicar uma penalização a uma criança, deduzindo pontos", "fields": { "penalty_id": { "name": "ID da penalização", "description": "O ID da penalização a aplicar" }, "child_id": { "name": "ID da criança", "description": "O ID da criança a quem aplicar a penalização" } } }, "add_bonus": { "name": "Adicionar bônus", "description": "Criar uma nova definição de bônus", "fields": { "name": { "name": "Nome", "description": "O nome do bônus" }, "points": { "name": "Pontos", "description": "O número de pontos a conceder quando aplicado" }, "description": { "name": "Descrição", "description": "Descrição opcional do bônus" }, "icon": { "name": "Ícone", "description": "Ícone MDI para o bônus" }, "assigned_to": { "name": "Atribuído a", "description": "Lista de IDs de crianças a que este bônus se aplica" } } }, "update_bonus": { "name": "Atualizar bônus", "description": "Atualizar uma definição de bônus existente", "fields": { "bonus_id": { "name": "ID do bônus", "description": "O ID do bônus a atualizar" }, "name": { "name": "Nome", "description": "Novo nome para o bônus" }, "points": { "name": "Pontos", "description": "Novo valor de pontos" }, "description": { "name": "Descrição", "description": "Nova descrição" }, "icon": { "name": "Ícone", "description": "Novo ícone" }, "assigned_to": { "name": "Atribuído a", "description": "Nova lista de IDs de crianças" } } }, "remove_bonus": { "name": "Remover bônus", "description": "Remover uma definição de bônus", "fields": { "bonus_id": { "name": "ID do bônus", "description": "O ID do bônus a remover" } } }, "apply_bonus": { "name": "Aplicar bônus", "description": "Aplicar um bônus a uma criança, concedendo pontos", "fields": { "bonus_id": { "name": "ID do bônus", "description": "O ID do bônus a aplicar" }, "child_id": { "name": "ID da criança", "description": "O ID da criança a quem aplicar o bônus" } } }, "add_chore": { "name": "Adicionar tarefa", "description": "Criar uma nova tarefa dinamicamente, normalmente a partir de uma automação ou script", "fields": { "name": { "name": "Nome", "description": "O nome da tarefa" }, "description": { "name": "Descrição", "description": "Descrição opcional da tarefa" }, "points": { "name": "Pontos", "description": "Pontos concedidos quando esta tarefa é concluída" }, "assigned_to": { "name": "Atribuída a", "description": "Lista de IDs de crianças para atribuir esta tarefa. Deixe em branco para atribuir a todas as crianças" }, "time_category": { "name": "Categoria de tempo", "description": "Quando esta tarefa deve ser concluída: morning, afternoon, evening, night ou anytime" }, "one_shot": { "name": "Única", "description": "Se verdadeiro, é uma tarefa única que expira após a conclusão ou no final do dia" }, "requires_approval": { "name": "Requer aprovação", "description": "Se verdadeiro, um pai/mãe deve aprovar a conclusão antes de os pontos serem concedidos" } } }, "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": "Iniciar tarefa cronometrada", "description": "Iniciar ou retomar o cronômetro de uma tarefa cronometrada", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa cronometrada" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que inicia o cronômetro" } } }, "pause_timed_task": { "name": "Pausar tarefa cronometrada", "description": "Pausar o cronômetro de uma tarefa cronometrada em andamento", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa cronometrada" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que pausa o cronômetro" } } }, "stop_timed_task": { "name": "Parar tarefa cronometrada", "description": "Parar o cronômetro de uma tarefa cronometrada e enviar para aprovação", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa cronometrada" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que para o cronômetro" } } }, "add_badge": { "name": "Adicionar conquista", "description": "Criar uma conquista personalizada.", "fields": { "name": { "name": "Nome", "description": "O nome de exibição da conquista" }, "description": { "name": "Descrição", "description": "Descrição de como a conquista é ganha" }, "icon": { "name": "Ícone", "description": "Ícone da conquista (ex.: mdi:beach)" }, "tier": { "name": "Nível", "description": "Nível da conquista: bronze, prata, ouro ou platina" }, "point_bonus": { "name": "Bônus de pontos", "description": "Pontos creditados à criança quando a conquista é ganha" }, "criteria": { "name": "Critérios", "description": "Lista de dicionários metric / operator / value. Vazio = apenas atribuição manual." }, "assigned_to": { "name": "Atribuída a", "description": "Lista de IDs de crianças (vazio = todas)" }, "notify_on_earn": { "name": "Notificar ao ganhar", "description": "Enviar uma notificação quando a conquista é ganha" } } }, "update_badge": { "name": "Atualizar conquista", "description": "Atualizar uma conquista existente. Para as integradas, apenas point_bonus, tier, assigned_to, enabled e notify_on_earn são editáveis.", "fields": { "badge_id": { "name": "ID da conquista", "description": "O ID da conquista a atualizar" }, "name": { "name": "Nome", "description": "Novo nome de exibição da conquista" }, "description": { "name": "Descrição", "description": "Nova descrição da conquista" }, "icon": { "name": "Ícone", "description": "Novo ícone da conquista" }, "tier": { "name": "Nível", "description": "Nível da conquista: bronze, prata, ouro ou platina" }, "point_bonus": { "name": "Bônus de pontos", "description": "Pontos creditados à criança quando a conquista é ganha" }, "criteria": { "name": "Critérios", "description": "Lista de dicionários metric / operator / value. Vazio = apenas atribuição manual." }, "assigned_to": { "name": "Atribuída a", "description": "Lista de IDs de crianças (vazio = todas)" }, "enabled": { "name": "Ativada", "description": "Se a conquista está ativa" }, "notify_on_earn": { "name": "Notificar ao ganhar", "description": "Enviar uma notificação quando a conquista é ganha" } } }, "remove_badge": { "name": "Remover conquista", "description": "Remover uma conquista personalizada. As integradas não podem ser removidas.", "fields": { "badge_id": { "name": "ID da conquista", "description": "O ID da conquista a remover" } } }, "award_badge_manually": { "name": "Atribuir conquista manualmente", "description": "Atribuir manualmente uma conquista a uma criança.", "fields": { "badge_id": { "name": "ID da conquista", "description": "O ID da conquista a atribuir" }, "child_id": { "name": "ID da criança", "description": "O ID da criança que recebe a conquista" } } }, "revoke_badge": { "name": "Revogar conquista", "description": "Revogar uma conquista atribuída. Se um bônus de pontos foi creditado, ele é revertido.", "fields": { "awarded_badge_id": { "name": "ID da conquista atribuída", "description": "O ID da conquista atribuída a revogar" } } }, "rebuild_badges": { "name": "Reconstruir conquistas", "description": "Reavaliar todas as conquistas de todas as crianças silenciosamente (sem notificações nem bônus de pontos)." }, "apply_mandatory_penalty": { "name": "Aplicar penalidade obrigatória", "description": "Deduz os pontos de penalidade configurados por uma tarefa obrigatória perdida e remove o item de revisão.", "fields": { "miss_id": { "name": "ID da falha", "description": "O ID do item de revisão da tarefa obrigatória perdida" } } }, "choose_avatar": { "name": "Escolher avatar", "description": "Uma criança muda para um avatar que desbloqueou.", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança" }, "icon": { "name": "Ícone do avatar", "description": "O ícone mdi de um avatar do catálogo desbloqueado (ex.: mdi:rocket-launch)." } } }, "dismiss_mandatory_chore": { "name": "Dispensar tarefa obrigatória", "description": "Remove o item de revisão de uma tarefa obrigatória perdida sem penalidade.", "fields": { "miss_id": { "name": "ID da falha", "description": "O ID do item de revisão da tarefa obrigatória perdida" } } }, "gift_points": { "name": "Presentear pontos", "description": "Transfere pontos disponíveis de uma criança para outra (controlado pelos pais).", "fields": { "from_child_id": { "name": "ID da criança de origem", "description": "O ID da criança que envia os pontos" }, "to_child_id": { "name": "ID da criança de destino", "description": "O ID da criança que recebe os pontos" }, "points": { "name": "Pontos", "description": "O número de pontos a transferir" } } }, "postpone_mandatory_chore": { "name": "Adiar tarefa obrigatória", "description": "Dá a uma tarefa obrigatória perdida outro período (ou amanhã) sem penalidade e remove o item de revisão.", "fields": { "miss_id": { "name": "ID da falha", "description": "O ID do item de revisão da tarefa obrigatória perdida" } } }, "request_swap": { "name": "Solicitar troca de tarefa", "description": "Uma criança pede para assumir a atribuição de rodízio de hoje de uma tarefa (sujeito a aprovação dos pais).", "fields": { "chore_id": { "name": "ID da tarefa", "description": "O ID da tarefa a assumir" }, "requester_id": { "name": "ID da criança solicitante", "description": "O ID da criança que pede a troca" } } }, "test_notification": { "name": "Notificação de teste", "description": "Envia uma notificação de exemplo do tipo indicado aos destinatários ativados (ignora o interruptor principal para que o roteamento possa ser verificado).", "fields": { "type_id": { "name": "Tipo de notificação", "description": "ID do tipo de notificação, ex.: pending_chore_approval, badge_earned, streak_milestone" } } }, "record_allowance_payout": { "name": "Registrar pagamento de mesada", "description": "Deduzir pontos e registrar um pagamento de mesada real no histórico (taxa de conversão fixa; controlado pelos pais).", "fields": { "child_id": { "name": "ID da criança", "description": "O ID da criança que recebe o pagamento" }, "points": { "name": "Pontos", "description": "Pontos a converter em dinheiro e deduzir" } } } }, "entity": { "sensor": { "child_stats": { "unit_of_measurement": "tarefas" }, "child_badges": { "unit_of_measurement": "medalhas" } }, "number": { "weekend_multiplier": { "name": "Multiplicador de fim de semana" }, "perfect_week_bonus": { "name": "Bônus de semana perfeita" } }, "select": { "streak_reset_mode": { "name": "Modo de redefinição de sequência" }, "card_design": { "name": "Design do cartão" } } } }