{ "badge": { "artifact_tip": "{n} anomalias detectadas (por exemplo, porta aberta a meio do ciclo) – abra para as ver no gráfico", "auto": "(detectado automaticamente)", "built_in_tag": "incorporado", "declining": "↘ a declinar", "energy_low": "Energia abaixo do habitual", "energy_spike": "Energia acima do habitual", "fair_fit": "qualidade aceitável", "fair_fit_tip": "Consistência de correspondência moderada – alguns ciclos atribuídos a este perfil têm pontuações de confiança mais baixas. Rotule mais ciclos ou re-grave o perfil para melhorar a precisão.", "feedback_requested": "Feedback solicitado", "golden_cycle": "Ciclo de referência gravado", "improving": "↗ a melhorar", "manual": "(seleccionado manualmente)", "needs_review": "Precisa de revisão", "overrun": "Demorou mais do que o habitual", "poor_fit": "qualidade fraca", "poor_fit_tip": "Histórico de correspondência inconsistente – considere reconstruir este perfil", "restart_gap_tip": "{n} lacuna de reinício do HA: o traçado de potência tem uma lacuna", "reviewed": "Revisto", "steady": "→ estável", "underrun": "Terminou mais rápido do que o habitual", "using_defaults": "A usar predefinições", "using_tuned": "A usar pesos ajustados", "overrun_ratio": "({x}x o esperado)", "underrun_ratio": "({pct}% do esperado)", "awaiting_tip": "A aguardar aprovação da comunidade", "awaiting_n": "A aguardar aprovação · {n} confirmados", "approved": "Aprovado", "awaiting": "A aguardar aprovação", "imported_tip": "Importado da loja da comunidade. Usado apenas para correspondência, não contabilizado nas estatísticas.", "not_importable": "n/d aqui", "exists": "já existe" }, "btn": { "add_device": "+ Adicionar dispositivo", "add_device_tip": "Adicionar outro dispositivo WashData", "add_maintenance": "Adicionar evento de manutenção", "add_phase": "+ Adicionar fase", "add_timer": "+ Adicionar temporizador", "apply_all": "Aplicar todos", "apply_label": "Aplicar rótulo", "apply_set_b": "Aplicar conjunto B", "apply_split": "Aplicar divisão", "apply_trim": "Aplicar corte", "auto_detect_split": "Detectar automaticamente", "auto_label_cycles": "Rotular ciclos automaticamente", "auto_label_cycles_tip": "Atribuir automaticamente nomes de perfil a ciclos sem rótulo cuja confiança de correspondência ultrapasse o limiar", "cancel": "Cancelar", "clear_debug": "Limpar dados de depuração", "clear_splits": "Limpar", "close": "Fechar", "compare": "Comparar", "confirm": "Confirmar", "convert_to_automation": "Converter em automatização", "correct": "Corrigir…", "create": "Criar", "create_from_cluster": "Criar perfil a partir de {count} ciclos", "create_profile": "+ Criar perfil", "delete": "Eliminar", "delete_group": "Eliminar grupo", "delete_group_tip": "Eliminar apenas este grupo – os perfis dos membros são mantidos", "delete_profile": "Eliminar perfil", "discard": "Descartar", "discard_tip": "Descartar o traço gravado sem guardar", "dismiss": "Dispensar", "done": "Concluído", "edit": "Editar", "export": "Exportar", "export_json": "Exportar para JSON", "force_stop": "Forçar paragem", "force_stop_tip": "Terminar imediatamente o ciclo atual e marcá-lo como parado forçosamente", "from_template": "A partir de modelo ▾", "ignore": "Ignorar", "import_json": "Importar de JSON", "import_overwrite": "Importar (substitui dados)", "inspect": "Inspecionar", "label": "Rotular", "load": "Carregar", "load_more": "Carregar mais", "manage": "Gerir", "merge": "Combinar", "new_automation": "+ Nova automatização", "new_group": "+ Novo grupo", "new_group_tip": "Agrupar perfis quase idênticos (mesma forma/duração, temperatura ou centrifugação diferentes) para que o comparador os distinga de forma fiável", "new_phase": "+ Nova fase", "new_profile": "+ Novo perfil", "new_profile_tip": "Criar um novo perfil de programa a partir de um ciclo rotulado existente ou de uma gravação", "on_cycle_finished": "Ao terminar o ciclo", "on_cycle_started": "Ao iniciar o ciclo", "pause_cycle": "Pausar", "pause_cycle_tip": "Pausar o ciclo em curso – o aparelho retomará onde parou", "pg_apply_device": "Aplicar ao dispositivo", "pg_autofill": "Preenchimento automático", "play": "Reproduzir", "process": "Processar", "process_history": "Processar agora", "process_recording": "Guardar gravação", "process_tip": "Guardar o traço gravado como um perfil novo ou existente", "rebuild": "Reconstruir envelopes", "rebuild_envelope": "Reconstruir envelope", "rebuild_tip": "Recalcular o envelope de potência esperado (banda mín/máx) para todos os perfis a partir dos seus ciclos rotulados – executar após rotular novos ciclos ou corrigir os existentes", "rec_start_tip": "Iniciar a gravação do traço de potência do aparelho – iniciar imediatamente antes de executar um ciclo", "rec_stop": "Parar", "rec_stop_tip": "Parar a gravação e manter o traço capturado para revisão", "record": "Iniciar gravação", "refresh": "Actualizar", "refresh_diag_tip": "Recarregar estatísticas de armazenamento", "refresh_logs_tip": "Recarregar os registos de log mais recentes", "refresh_settings_tip": "Recarregar as definições do servidor", "relabel": "Reetiquetar ({count})", "remove": "Remover", "remove_timer": "Remover temporizador", "reset": "Repor", "reset_ml_models_tip": "Descartar os modelos ajustados e voltar aos incorporados. O WashData pode reaprendê-los mais tarde.", "reset_to_builtin": "Repor modelos incorporados", "reset_to_defaults": "Repor predefinições", "resume_cycle": "Retomar ciclo", "resume_cycle_tip": "Retomar o ciclo em pausa", "revert_settings": "Descartar alterações", "revert_settings_tip": "Restaurar as definições anteriores ao último guardado", "revert_settings_tip_none": "Guarde primeiro para ativar a opção de desfazer", "revert": "Reverter", "revert_to_previous": "Reverter esta definição para o valor anterior", "review": "Avaliar", "run": "Executar", "run_analysis": "🔍 Executar análise de sugestões", "run_analysis_tip": "Analisar os ciclos gravados agora e actualizar as sugestões de ajuste", "run_auto_label": "Executar rotulagem automática", "run_both": "Executar A vs B", "run_simulation": "Executar simulação", "save": "Guardar", "save_access_control": "Guardar controlo de acesso", "save_group": "Guardar grupo", "save_panel_settings": "Guardar definições do painel", "save_phases": "Guardar fases", "save_preferences": "Guardar preferências", "save_reminders": "Guardar lembretes", "save_review": "Guardar revisão", "save_settings": "Guardar definições", "select": "Seleccionar", "select_all": "Selecionar tudo", "select_last20": "Últimos 20", "select_none": "Limpar", "show_only": "Mostrar apenas", "skip_setup": "Ignorar configuração", "split": "Dividir", "stop": "Parar", "submit_correction": "Submeter correcção", "train_now": "Treinar agora", "trim": "Cortar", "trim_split": "Cortar / Dividir", "undo": "Anular", "use": "Usar", "wipe_all": "Apagar todos os dados", "delete_selected": "Eliminar selecionados ({n})", "group_suggest": "Grupo {n}: {members}", "pg_apply_best": "Aplicar melhor", "pg_apply_to_settings": "Guardar nas definições", "pg_apply_to_settings_tip": "Copiar os valores que editou aqui para as definições ativas deste dispositivo", "search": "Pesquisar", "import": "Importar", "disconnect": "Desconectar", "connect_github": "Conectar GitHub", "save_appliance": "Guardar electrodoméstico", "share_to_store": "Partilhar na loja", "share": "Partilhar", "confirm_appliance": "Confirmar este electrodoméstico", "confirmed": "Confirmado", "browse_community_setups": "Explorar configurações da comunidade", "download_device": "Transferir esta configuração", "share_device": "⬆ Partilhar este dispositivo", "share_device_tip": "Partilhar este electrodoméstico e os seus ciclos de referência gravados na loja da comunidade para que outros utilizadores com o mesmo aparelho os possam adotar", "share_n": "Partilhar {n} ciclo(s)", "export_selected": "Exportar (escolher dados)", "export_all": "Exportar tudo rapidamente", "import_raw": "Avançado: substituir tudo a partir de JSON", "download_export": "Transferir exportação", "analyze_import": "Analisar ficheiro", "import_selected": "Importar seleção", "back": "Voltar" }, "conflict": { "anti_wrinkle_exit": { "exit": "Deve ser inferior ao Limiar de paragem ({stop} W); caso contrário, a potência de saída anti-vincos é ignorada", "stop": "Deve ser superior à Potência de saída anti-vincos ({exit} W)" }, "anti_wrinkle_max": { "max": "Deve ser superior ao Limiar de arranque ({start} W); caso contrário, o limite de duração anti-vincos é ignorado", "start": "Deve ser inferior à Potência máxima anti-vincos ({max} W)" }, "attn_sub": "Corrija os conflitos antes de guardar", "attn_title": "{n} conflito{s} de definições", "settings_banner": "{n} conflito{s} de definições – verifique as secções realçadas e corrija antes de guardar.", "settings_banner_btn": "Ir para o primeiro", "confidence": { "auto": "Deve ser superior ou igual ao Limiar de correspondência ({match})", "learning": "Deve ser inferior ou igual ao Limiar de correspondência ({match})", "match_for_auto": "Deve ser inferior ou igual à Confiança de etiquetagem automática ({alc})", "match_for_learning": "Deve ser superior ou igual à Confiança de aprendizagem ({lc})" }, "duration_ratio": { "max": "Deve ser superior ao Rácio de duração mínimo ({min})", "min": "Deve ser inferior ao Rácio de duração máximo ({max})" }, "hysteresis": { "start": "Deve ser superior ao Limiar de paragem ({stop} W)", "stop": "Deve ser inferior ao Limiar de arranque ({start} W)" }, "min_power": { "min_power": "Deve ser inferior ou igual ao Limiar de paragem ({stop} W)", "stop": "Deve ser superior ou igual à Potência mínima ({min} W)" }, "no_update_timeout": { "timeout": "Deve ser maior que o Intervalo watchdog ({wi} s)", "watchdog": "Deve ser menor que o Tempo de espera sem actualização ({to} s)" }, "off_delay": { "gap": "A Lacuna mínima deve ser pelo menos igual ao Atraso de paragem ({delay} s)", "off_delay": "O Atraso de paragem ({off_delay} s) excede a Lacuna mínima entre ciclos ({gap} s); ciclos consecutivos podem fundir-se" }, "power_off": { "stop": "Deve ser superior ao Limiar de desligamento ({pot} W)", "threshold": "Deve ser inferior ao Limiar de paragem ({stop} W) para ter efeito" }, "pump_stuck": { "duration": "Deve ser inferior ao Tempo de espera sem actualização ({to} s) para que o alarme de bomba encravada dispare antes do watchdog terminar o ciclo", "timeout": "Deve exceder a Duração de bomba encravada ({ps} s) para que o alarme dispare antes de o ciclo ser forçado a parar" }, "start_dur": { "sampling": "O Intervalo de amostragem excede a Duração de arranque ({sdt} s); picos de amostra única podem abrir um ciclo", "threshold": "Deve ser pelo menos um Intervalo de amostragem ({si} s) para evitar falsos arranques de amostra única" }, "unmatch": { "match": "Deve ser superior ao Limiar de não correspondência ({un})", "unmatch": "Deve ser inferior ao Limiar de correspondência ({match}); caso contrário, uma correspondência confirmada é imediatamente anulada" }, "cascade_toast": "Também foram aplicados {n} ajuste{s} por consistência.", "suggestion_resolves": "Aplique a sugestão pendente ({val}) abaixo para corrigir este conflito", "use_fix": "Usar {val}", "watchdog": { "interval": "Deve ser pelo menos 2x o Intervalo de amostragem ({si} s)", "sampling": "O Intervalo de amostragem deve ser no máximo metade do Intervalo watchdog ({wi} s)" } }, "hdr": { "ab_comparison": "Comparação de definições A/B", "access_control": "Controlo de acesso", "add_maintenance": "Adicionar evento de manutenção", "automation_delete": "Eliminar esta automatização", "automation_needs_review": "Este ciclo precisa de revisão", "automation_open": "Abrir no editor de automatizações", "automation_review_this_cycle": "Rever este ciclo", "automations": "Automatizações", "clear_debug": "Limpar traços de depuração", "cycle_simulator": "Simulador de ciclos", "diagnostics_pref": "Diagnósticos", "display": "Visualização", "dtw_inspector": "Inspetor DTW", "export_import": "Exportar / Importar", "getting_started": "Introdução", "live_power": "Potência em tempo real", "logs": "Registos", "logs_diagnostics": "Diagnósticos", "maintenance": "Acções de manutenção", "maintenance_log": "Registo de manutenção", "maintenance_reminders": "Lembretes de manutenção", "manual_recording": "Gravação manual", "manual_recording_tip": "Execute um ciclo intencionalmente enquanto o WashData regista o traço de potência. Inicie imediatamente antes de o aparelho arrancar, Pare quando terminar, depois Processe para o guardar como um perfil com nome.", "ml_learned": "O que o WashData aprendeu", "ml_matching_tuning": "Ajuste fino da correspondência de programas", "ml_settings_card": "Definições", "ml_smart_learning": "Aprendizagem inteligente", "my_preferences": "As minhas preferências", "no_automations": "Ainda não há automatizações que referenciem este dispositivo.", "panel_settings": "Definições do painel", "param_sweep": "Varrimento de parâmetro", "phase_catalog": "Catálogo de fases", "playground": "Área de testes", "process_history": "Histórico de processamento", "settings_history": "Histórico de definições", "status": "Estado", "status_graph": "Gráfico de estado", "storage_stats": "Estatísticas de armazenamento", "test_history": "Testar no histórico", "toggle_sidebar": "Alternar barra lateral do Home Assistant", "tools_and_data": "Ferramentas e dados", "wipe_history": "Apagar histórico", "recommendations": "Recomendações ({n})", "pg_detection_params": "Definições de deteção", "pg_timeline": "Cronologia de eventos", "pg_outcome": "Resultado da simulação", "pg_across_cycles": "Em todos os seus ciclos", "community_store": "Loja da comunidade", "online_account": "Loja da comunidade e funcionalidades online" }, "health": { "fair": "Qualidade de perfil aceitável", "good": "✓ Boa qualidade de perfil", "poor": "⚠ Qualidade de perfil fraca" }, "lbl": { "actions": "Acções", "activity": "Actividade", "administrators": "Administradores", "aria_compare_chart": "Gráfico de comparação de ciclos", "aria_cycle_chart": "Curva de potência do ciclo", "aria_envelope_chart": "Envelope de potência do perfil", "aria_phase_chart": "Gráfico do editor de fases", "aria_playground_chart": "Curva de potência do ciclo com limiares de deteção arrastáveis", "aria_power_chart": "Gráfico de potência", "aria_spaghetti_chart": "Curvas de potência de ciclos sobrepostas", "aria_sweep_chart": "Gráfico de resultados do varrimento de parâmetros", "artifact_anomaly": "Anomalia", "artifact_high_power": "Potência elevada", "artifact_interruption": "Interrupção", "artifact_low_power": "Potência baixa", "auto_detect": "Deteção automática", "auto_fine_tune_off": "ajuste fino automático desactivado", "auto_fine_tune_on": "ajuste fino automático ativo (por volta das {hour}:00)", "avg_cost": "Custo médio", "change": "Alteração", "clock_time": "Hora do relógio", "cohesion_good": "coesão {pct}%", "cohesion_low": "⚠ coesão baixa {pct}%", "compare_profiles": "Comparar com perfis", "concurrency": "Concorrência", "confidence": "Confiança", "confidence_threshold": "Limiar de confiança", "correct_duration": "Duração corrigida (min, opcional)", "correct_profile": "Perfil correcto", "correlation": "Correlação", "cost": "Custo", "create_new_profile": "+ Criar novo perfil…", "current_phase": "Fase atual", "curves": "Curvas", "cycle": "Ciclo", "cycle_date_display": "Apresentação da data do ciclo", "cycle_health": "Saúde do ciclo", "cycle_index": "índice do ciclo →", "cycles": "Ciclos", "cycles_count": "Ciclos", "cycles_lc": "ciclos", "dashed": "tracejada", "date": "Data", "debug_traces": "Traços de depuração", "default": "Predefinição", "default_access_level": "Nível predefinido para utilizadores não listados abaixo", "default_other": "Predefinição (outros dispositivos)", "default_tab": "Separador predefinido ao abrir o painel", "delta": "Δ", "description": "Descrição", "dtw_blend_w": "Peso de mistura", "dtw_blended": "Pontuação combinada", "dtw_ddtw": "Pontuação DDTW", "dtw_l1": "Pontuação L1", "dtw_matched_profile": "(perfil correspondente do ciclo)", "duration": "Duração", "duration_agreement": "Concordância de duração", "emphasis": "Destaque", "enable_access_control": "Activar controlo de acesso por utilizador", "energy": "Energia", "energy_agreement": "Concordância de energia", "event_timeline": "Cronologia de eventos", "event_type": "Tipo de evento", "expected": "Esperado", "expected_duration": "Duração esperada (min)", "file_kb": "Ficheiro (kB)", "final_score": "Pontuação final", "from": "De", "gap_s": "Intervalo (s)", "group_name": "Nome do grupo", "head_trim": "Corte inicial (s)", "health": "Saúde", "hide_tabs": "Ocultar separadores para não administradores", "in_use": "Em uso", "json_data": "Dados JSON", "label": "Programa correspondente", "last": "Últimos", "last_checked": "Última verificação:", "load_from_file": "Carregar de ficheiro", "mae_score": "Pontuação MAE", "manual_duration": "Duração manual (min, opcional)", "match": "Correspondência", "members": "Membros", "metric": "Métrica", "mode_existing_profile": "Adicionar a perfil existente", "mode_new_profile": "Criar novo perfil", "models_fine_tuned": "({count} modelo{plural} ajustado{plural})", "n_classic_suggestions": "{n} clássico", "n_ml_suggestions": "{n} ML", "n_selected": "{n} selecionados", "n_tuning_suggestions": "{n} sugestão de ajuste", "na": "n/d", "new_profile_name": "Nome do novo perfil", "notes": "Notas", "of": "de", "outcome": "Resultado", "panel_default_tab": "Separador predefinido", "panel_language": "Idioma do painel", "per_cycle_short": "ciclo", "pg_anti_wrinkle": "Anti-vincos", "pg_autofill_tip": "Preencher automaticamente o intervalo a partir do valor atual ({lo}–{hi})", "pg_best_value": "Melhor valor encontrado", "pg_current_value": "Valor atual:", "pg_drag_hint": "Arraste a linha no gráfico", "pg_dtw": "DTW", "pg_ev_ending": "A terminar", "pg_ev_running": "Em execução", "pg_group_advanced": "Casos extremos", "pg_group_detection": "Acionadores de deteção", "pg_group_timing": "Regras de temporização", "pg_idle": "Inactivo", "pg_last_run": "Última execução: {date}", "pg_match_score": "Pontuação de correspondência", "pg_pct_of": "{p}% de {total}", "pg_poor_match": "Correspondência má", "pg_strong_match": "Correspondência forte", "pg_tile_ambiguous": "Ambíguo", "pg_tile_ambiguous_tip": "Ciclos com um quase empate entre dois programas", "pg_tile_detected": "Detetado", "pg_tile_detected_tip": "Ciclos em que a potência ultrapassou o limiar de início tempo suficiente para ser registada como em execução", "pg_tile_matched": "Reconhecido", "pg_tile_matched_tip": "Ciclos corretamente atribuídos a um programa conhecido", "pg_time_left": "Tempo restante", "pg_weak_match": "Correspondência fraca", "phase_name": "Nome", "phase_timeline": "Cronologia de fases", "power": "Potência", "profile": "Perfil", "profile_index": "índice do perfil →", "profile_name": "Nome do perfil", "program": "Programa", "program_tip": "Substitua o perfil correspondido ao ciclo atual. A deteção automática permite que a integração escolha a melhor correspondência automaticamente. Fixe um programa específico para forçar a correspondência quando a deteção automática está errada ou quando sabe o que está em execução.", "progress": "Progresso", "raw_socket": "Socket bruto", "read_only": "Só de leitura", "ref_cycle": "Ciclo de referência (opcional)", "refresh_interval": "Intervalo de actualização (s)", "remaining": "Restante", "reminder_every": "Lembrar a cada (ciclos)", "remove_label": "- Remover rótulo -", "rename_profile": "Renomear perfil", "replay_duration": "Reprodução", "resulting_profile": "Perfil resultante", "save_mode": "Modo de gravação", "score": "Pontuação", "score_breakdown": "Detalhe da pontuação", "seconds_from_start": "Segundos desde o início", "select_profile": "Seleccionar perfil", "setting": "Definição", "settings_a": "Definições A (atuais)", "settings_a_short": "A", "settings_advanced": "Avançado", "settings_b": "Definições B (teste)", "settings_b_short": "B", "settings_basic": "Básico", "settings_detail_level": "Nível de detalhe das definições", "settings_overrides": "Substituições de definições", "show_debug": "Mostrar cartão de depuração de correspondência ao vivo na página de Estado (confiança, ambiguidade, principais candidatos)", "show_expected": "Mostrar sobreposição da curva esperada (perfil correspondente, laranja)", "show_raw": "Mostrar o interruptor de sinal bruto da tomada no gráfico de potência em tempo real", "sparkline": "Tendência recente da duração dos ciclos", "stage2": "Etapa 2 – semelhança principal", "stage3": "Etapa 3 – DTW", "stage4": "Etapa 4 – concordância", "status": "Estado", "tail_trim": "Corte final (s)", "timer_auto_pause": "Pausa automática", "timer_min": "min", "timer_msg_placeholder": "Mensagem (opcional, {device}/{program}/{minutes})", "to": "Até", "ungrouped": "Sem grupo", "unlabelled": "Sem rótulo", "unlabelled_paren": "(sem rótulo)", "warp_path": "Caminho de alinhamento", "input": "Entrada:", "start": "Início", "end": "Fim", "unit_s": "(s)", "reviewed_on": "revisto em {date}", "unknown": "Desconhecido", "quality": "Qualidade", "tags": "Etiquetas", "at": "às", "pct_match_confidence": "{pct}% de confiança de correspondência", "ha_restarted": "HA reiniciado", "from_start": "Desde o início", "to_end": "Até ao fim", "click_to_select": "clique para selecionar", "envelope": "Envelope", "zoom_hint": "deslocar para ampliar · duplo clique para repor", "loading_paren": "(a carregar…)", "time_remaining": "~{v} restante", "no_duration": "sem duração", "duration_avg": "~{v}m méd.", "name_placeholder": "(nome)", "n_shown": ", {n} mostrados", "cycles_title": "Ciclos ({n})", "pg_detecting": "A detetar", "pg_best_marker": "Melhor: {v}", "pg_time_left_model": "Tempo restante (modelo)", "pg_time_left_model_tip": "Tempo restante estimado pelo modelo (estimador de fase + combinação de ML), não uma contagem decrescente fixa", "phase": "Fase", "pg_mode_simulate": "Simular", "pg_mode_history": "Testar no histórico", "pg_mode_sweep": "Varrimento", "pg_ev_detected": "Detetado", "pg_ev_match": "Correspondência confirmada", "pg_ev_match_changed": "Correspondência alterada", "pg_ev_ambiguous": "Ambíguo", "pg_ev_unmatched": "Sem correspondência", "pg_ev_notify_start": "Notificação de início", "pg_ev_notify_pre": "Notificação de pré-conclusão", "pg_ev_notify_finish": "Notificação de fim", "pg_ev_notify_milestone": "Notificação de marco", "pg_ev_notify_held": "Notificação retida (horas de silêncio)", "pg_ev_finished": "Terminado", "pg_ended": "Fim", "pg_proj_energy": "Energia proj.", "pg_alert_overrun": "Demasiado longo", "pg_alert_underrun": "Demasiado curto", "pg_alert_did_not_finish": "Não terminou", "pg_alert_false_end": "Dividido em vários ciclos", "pg_alert_unmatched": "Sem correspondência", "pg_alert_ambiguous": "Correspondência ambígua", "pg_alert_energy": "Anomalia de energia", "pg_alert_stress_cap": "Limite de segurança atingido", "pg_alert_stress_ok": "Terminação em repouso: ciclo parado", "pg_alert_stress_warn": "Consumo em repouso acima do limiar de paragem", "pg_newly_correct": "agora correto", "pg_regressed": "regrediu", "pg_end_timing_changed": "momento do fim alterado", "pg_vs_current": "vs atual", "pg_fixed": "corrigido", "pg_broke": "estragou", "pg_sweep_param": "Parâmetro", "pg_objective": "Objetivo", "pg_steps": "Passos", "pg_stress_group": "Teste de terminação em repouso", "pg_stress_idle_auto": "Auto", "pg_stress_idle_w": "Nível em repouso (W)", "pg_stress_idle_w_desc": "Substitui o piso de repouso detectado automaticamente (deixe em branco para automático).", "pg_stress_toggle": "Testar terminação em repouso", "pg_stress_toggle_desc": "Simula o electrodoméstico mantido no seu consumo em repouso após o fim da gravação – mostra se e quando o WashData para o ciclo.", "pg_sweep_2d": "Mapa de calor 2D", "pg_sweep_param_y": "2.º parâmetro", "pg_obj_match": "Precisão de correspondência", "pg_obj_endtiming": "Precisão do momento de fim", "pg_obj_falseend": "Taxa de fins falsos", "pg_obj_overrun": "Desvio de duração", "pg_obj_ambiguity": "Taxa de ambiguidade", "pg_best_combo": "melhor combinação", "pg_mode_optimize": "Otimizar", "pg_group_matching": "Correspondência de programa", "pg_zoom_hint": "faça duplo clique para repor o zoom", "aria_playground_chart2": "Gráfico interativo da potência do ciclo: passe o cursor para ler tempo/potência, percorra para ampliar, arraste para deslocar", "pg_alert_timeout_end": "Terminado por tempo limite, não por previsão", "pg_alert_indefinite": "Funcionaria indefinidamente", "task_pg_history": "Testar no histórico", "task_pg_sweep": "Otimizar", "task_reprocess": "Reprocessamento", "task_ml_training": "Aprendizagem", "eta_secs": "~{n} s restantes", "eta_mins": "~{n} min restantes", "pg_recent_runs": "Execuções recentes", "pg_load_run": "Recarregar esta execução", "pg_match_confidence": "Confiança da correspondência", "pg_envelope_fit": "Ajuste ao envelope", "pg_envelope_fit_tip": "Até que ponto o ciclo se mantém dentro do envelope de potência guardado deste perfil, uma perspetiva diferente da confiança da correspondência.", "n_imported_note": ", {n} importados", "enable_online": "Ativar funcionalidades online", "store_brand": "Marca do electrodoméstico", "store_model": "Modelo do electrodoméstico", "anonymous": "Anónimo", "rate_quality": "Avaliar a qualidade", "rate_n": "{n} estrelas", "approved_only": "Apenas aprovados", "adopt_settings": "Adotar também as definições", "flags": "Indicadores", "include_phase_map": "Incluir mapa de fases", "include_settings": "Incluir definições de deteção e reconhecimento", "show_contributor": "Mostrar nomes dos colaboradores", "task_pg_detail": "Simular ciclo", "task_split": "A dividir o ciclo", "task_trim": "A recortar o ciclo", "task_merge": "A combinar ciclos", "task_rebuild": "A reconstruir envelopes", "cat_profiles": "Perfis (programas)", "cat_real_cycles": "Ciclos (histórico de utilização)", "cat_reference_cycles": "Ciclos de referência (importados)", "cat_custom_phases": "Fases personalizadas", "cat_profile_groups": "Grupos de perfis", "cat_settings": "Definições de deteção e reconhecimento", "cat_matching_config": "Ajuste do reconhecimento", "cat_ml_models": "Modelos de ML", "cat_feedback": "Comentários e etiquetas de revisão", "cat_suggestions": "Sugestões", "cat_maintenance_log": "Registo de manutenção", "cat_history_logs": "Histórico e registos de alterações", "cat_lifetime_stats": "Totais acumulados", "cycles_short": "ciclos", "import_mode": "Como combinar", "mode_merge": "Combinar (manter os meus)", "mode_replace": "Substituir seleção", "cycle_destination": "Para onde devem ir os ciclos importados?", "dest_reference": "Referência (apenas forma)", "dest_real_history": "Histórico real (conta nas estatísticas)", "conflict_resolution": "Conflitos de nomes", "conflict_import_copy": "Importar como cópia", "conflict_keep_mine": "Manter o meu", "conflict_overwrite": "Substituir" }, "log": { "all_levels": "Todos os níveis", "all_devices": "Todos os dispositivos", "all_components": "Todos os componentes", "search_ph": "Pesquisar registos…" }, "ml": { "builtin_models": "● A usar modelos incorporados", "fit_fair": "Aceitável", "fit_good": "Bom", "fit_slight": "Ligeiro", "fit_strong": "Forte", "fit_weak": "Fraco", "fit_word": "ajuste", "personalized": "● Personalizado para esta máquina", "better_than_baseline": "{pct}% melhor do que a estimativa de referência ({metric})", "trend_improving_tip": "O ajuste deste modelo melhorou ao longo das verificações recentes.", "trend_declining_tip": "O ajuste deste modelo piorou ao longo das verificações recentes: rever mais ciclos pode ajudá-lo a reaprender.", "trend_steady_tip": "O ajuste deste modelo manteve-se praticamente estável ao longo das verificações recentes.", "cap_blurb": { "end": "Saber quando um ciclo terminou realmente", "live_match": "Identificar mais cedo o programa em curso", "quality": "Detetar ciclos mal detetados ou corrompidos", "remaining_time": "Prever quanto tempo falta", "total_energy": "Prever a energia total e o custo" }, "cap_label": { "end": "Deteção de fim de ciclo", "live_match": "Reconhecimento do programa", "quality": "Verificação da qualidade do ciclo", "remaining_time": "Estimativa do tempo restante", "total_energy": "Estimativa da energia" }, "metric_auc": "AUC {auc} em dados de validação", "metric_mae": "erro {model} vs. referência {baseline}" }, "modal": { "auto_label": "Rotulagem automática de ciclos", "correct_feedback": "Corrigir feedback", "create_profile": "Criar perfil", "cycle": "Ciclo", "edit_group": "Editar grupo de perfis", "edit_phase": "Editar fase", "import_config": "Importar configuração", "label_cycle": "Rotular ciclo", "merge_cycles": "Combinar {n} ciclos", "new_group": "Novo grupo de perfis", "new_phase": "Nova fase", "process_history_msg": "Reexecute a correspondência, atualize as sugestões, retreine os modelos ML (se ativados) e recalcule o estado de todos os ciclos armazenados. Isto pode demorar algum tempo.", "process_history_ok": "Processar", "process_history_title": "Processar histórico", "process_recording": "Processar gravação", "delete_maintenance_msg": "Eliminar este registo de manutenção? Esta ação não pode ser anulada.", "delete_maintenance_title": "Eliminar evento de manutenção", "relabel_cycles": "Reetiquetar {count} ciclos", "delete_automation_title": "Eliminar automação", "delete_automation_msg": "Eliminar a automação \"{name}\" do Home Assistant? Esta ação não pode ser anulada.", "remove_legacy_title": "Remover ações antigas", "remove_legacy_msg": "Remover as ações personalizadas antigas? Deixarão de ser acionadas nos eventos de ciclo. Esta ação não pode ser anulada a partir do painel.", "discard_recording_title": "Descartar a gravação", "discard_recording_msg": "Descartar a gravação guardada? Esta ação não pode ser anulada.", "dismiss_all_title": "Dispensar todos os feedbacks", "dismiss_all_msg": "Dispensar todos os {count} pedidos de feedback pendentes?", "dismiss_all_ok": "Dispensar tudo", "delete_phase_title": "Eliminar fase", "delete_phase_msg": "Eliminar a fase \"{name}\"?", "clear_debug_title": "Limpar dados de depuração", "clear_debug_msg": "Eliminar todos os rastreios de depuração armazenados?", "wipe_all_title": "Apagar todos os dados", "wipe_all_msg": "⚠️ Isto elimina permanentemente TODOS os ciclos e perfis. Esta ação não pode ser anulada.", "wipe_all_ok": "Apagar tudo", "force_stop_title": "Forçar paragem do ciclo", "force_stop_msg": "Forçar a paragem do ciclo ativo agora? O ciclo será guardado como interrompido.", "store_import": "Importar ciclo de referência", "store_share": "Partilhar na loja da comunidade", "store_share_device": "Partilhar este dispositivo", "export_select": "Exportar - escolher dados", "import_wizard": "Importar - escolher dados" }, "msg": { "appliance_monitor": "Monitor de electrodoméstico", "artifact_dip_detail": "Caiu abaixo da banda de potência habitual durante ~{n}s.", "artifact_footer": "Realçadas no gráfico acima. São artefactos transitórios (por exemplo, a porta foi aberta a meio do ciclo), não necessariamente problemas.", "artifact_header": "{n} anomalias detectadas durante este ciclo", "artifact_pause_detail": "A potência caiu quase a zero durante ~{n}s e depois retomou – provavelmente a porta foi aberta a meio do ciclo ou o ciclo foi pausado.", "artifact_spike_detail": "Ultrapassou a banda de potência habitual durante ~{n}s.", "auto_label_intro": "Atribua perfis a ciclos sem rótulo cuja confiança de correspondência ultrapasse o limiar.", "automations_intro": "O WashData dispara os eventos {start} / {end} e expõe entidades, por isso as notificações e ações são melhor criadas como automatizações normais do Home Assistant. As automatizações que utilizam este dispositivo aparecem abaixo.", "cleanup_intro": "Todos os ciclos rotulados sobrepostos. Assinale os valores aberrantes e elimine para limpar o perfil.", "clear_debug_hint": "Remova os dados de depuração armazenados para libertar espaço.", "collecting_data": "A recolher dados - mais {need} ciclo{plural} antes de o ajuste fino poder começar ({current}/{min}).", "compare_overlay_profiles": "Sobrepor perfis (ténue)", "compare_profiles_tip": "Sobreponha outros envelopes de perfil no gráfico acima para ver qual deles melhor se adequa a este ciclo.", "compare_selected_cycles": "Ciclos seleccionados (sólido) – mostrar / ocultar", "consider_new_profile": "Considere criar um novo perfil.", "coverage_gap": "os ciclos recentes não têm perfil correspondente ({pct}% dos últimos 30).", "coverage_gap_similar_cycles": "{count} ciclos semelhantes sem rótulo encontrados – crie um perfil para começar a correspondê-los.", "cycles_deleted": "{count} ciclo(s) eliminado(s)", "enough_data": "Dados suficientes para aprender ({current}/{min} ciclos).", "export_description": "Escolha exatamente que perfis, ciclos, definições e mais exportar para JSON, ou analise um ficheiro e importe apenas as partes que quiser.", "feedback_cycles_pending": "{n} ciclo{s} para rever", "feedback_prompt": "Confirme que estava correcto, corrija o programa ou ignore.", "feedback_relabel_hint": "Voltar a rotular este ciclo também o resolve.", "filter_by_profile": "Filtrar por perfil…", "group_modal_help": "Agrupe programas com a mesma forma que diferem em temperatura/centrifugação (as durações podem variar). A correspondência pontua o grupo como um candidato e, em seguida, escolhe o membro mais adequado. Escolha pelo menos 2; a sobreposição mostra o grau de semelhança.", "group_not_cohesive": "Estes perfis não são suficientemente semelhantes para serem agrupados de forma fiável, pelo que a correspondência os trata individualmente até remover o valor aberrante ou dividir o grupo.", "group_preview_hint": "Selecione 2 ou mais membros para pré-visualizar e comparar as suas curvas de potência.", "import_intro": "Carregue um ficheiro exportado ou cole um payload JSON abaixo.", "legacy_actions_title": "{count} acção personalizada legada ainda em execução", "live_chart_loading": "O gráfico de potência ao vivo aparece à medida que chegam leituras.", "loading": "A carregar…", "loading_curve": "A carregar curva…", "loading_settings": "A carregar definições…", "log_buffer_hint": "O mais recente primeiro · guarda em memória os últimos 500 registos ha_washdata desde o reinício · arraste a margem inferior para redimensionar.", "maintenance_advisory": "O aumento da duração/energia pode indicar a necessidade de manutenção do electrodoméstico (por exemplo, descalcificação, limpeza do filtro).", "maintenance_due": "Manutenção pendente: {items}", "maintenance_intro": "Registe as manutenções que efetua neste eletrodoméstico e receba lembretes quando cada tarefa voltar a estar em falta.", "maintenance_load_error": "Não foi possível carregar os dados de manutenção: {error}", "maintenance_requires_access": "A manutenção e a exportação/importação requerem acesso total.", "manual_duration_hint": "A duração média/esperada do ciclo do perfil, usada para estimativas de tempo restante. Edite para a definir; deixá-la inalterada mantém o valor actual.", "matching_tuning_intro": "Durante a aprendizagem, o WashData também ajusta o peso dado à forma em relação à duração e energia na correspondência de programas.", "merge_intro": "Os ciclos seleccionados são combinados num só (por ordem cronológica; as lacunas são preenchidas com 0 W). Escolha o perfil resultante.", "ml_intro": "O WashData é fornecido com modelos inteligentes que funcionam imediatamente.", "ml_learned_intro": "Modelos ajustados a esta máquina.", "ml_loading": "a carregar ML…", "ml_settings_intro": "Dois comutadores independentes: um aplica os modelos durante um ciclo, o outro permite ao WashData ajustá-los à sua máquina ao longo do tempo.", "name_first_program": "Já tem ciclos suficientes – atribua um nome ao seu primeiro programa para começar a corresponder.", "near_duplicate_cluster": "cluster de perfis quase duplicados detectado. O agrupamento permite que a correspondência escolha de forma fiável entre perfis semelhantes (por exemplo, o mesmo programa a diferentes temperaturas/centrifugações).", "no_cycles_match": "Nenhum ciclo corresponde ao filtro actual.", "no_cycles_profile": "Nenhum ciclo para este perfil.", "no_cycles_selected": "Selecione primeiro pelo menos um ciclo.", "no_cycles_yet": "Nenhum ciclo gravado ainda.", "no_device_selected": "Nenhum dispositivo seleccionado.", "no_devices": "Nenhum dispositivo WashData configurado ainda.", "no_envelope": "Nenhum envelope ainda – reconstrua após rotular os ciclos.", "no_envelope_overlay": "Nenhum envelope disponível para sobrepor.", "no_fine_tuned": "Nada ajustado ainda – o WashData está a usar os seus modelos incorporados.", "no_logs": "Nenhum registo em memória ainda.", "no_maintenance": "Ainda não há manutenções registadas.", "no_match_yet": "Nenhuma tentativa de correspondência ainda – isto é preenchido durante um ciclo em execução.", "no_other_users": "Nenhum outro utilizador do Home Assistant encontrado.", "no_phases": "Nenhuma fase definida.", "no_phases_assigned": "Nenhuma fase atribuída.", "no_profiles_compare": "Nenhum perfil para comparar.", "no_profiles_overlay": "Nenhum perfil para sobrepor.", "no_profiles_yet": "Nenhum perfil ainda. Crie um a partir de um ciclo rotulado.", "no_profiles_yet_short": "Nenhum perfil ainda.", "no_settings_match": "Nenhuma definição corresponde a \"{q}\"", "no_split_points": "Nenhum ponto de divisão ainda.", "no_suggestions": "Nenhuma sugestão activa.", "notify_services_hint": "Use os IDs de serviço {entity} (separados por vírgulas para múltiplos). Variáveis de modelo: {vars}.", "old_actions_warning": "Configurado com o antigo editor de acções (agora removido). Ainda são accionadas em eventos de ciclo, mas já não podem ser editadas aqui. Converta-as numa automatização normal ou remova-as.", "onboarding_progress": "{n} / 3 ciclos observados", "onboarding_watching": "Utilize o eletrodoméstico normalmente – o WashData está a observar. Após 3 ciclos, a correspondência de programas terá início.", "pending_feedback": "Feedback de detecção pendente", "performance_trend": "Tendência de desempenho ({n} ciclos)", "pg_analysis_empty": "Carregue um ciclo para ver a análise de correspondência.", "pg_apply_confirm": "Aplicar o melhor valor: {label} = {value}?", "pg_canvas_empty": "Selecione um ciclo acima e, em seguida, prima Carregar para ver a sua curva de potência.", "pg_chart_caption": "Taxa de deteção/correspondência ao longo dos valores de {param}", "pg_match_rate": "{pct}% de taxa de correspondência em {total} ciclos", "pg_restart_note": "Reinicie o Home Assistant para ativar as ferramentas de simulação.", "pg_sim_progress": "{done} / {total} ciclos", "pg_starting": "A iniciar…", "pg_stress_synthetic": "a simulação de repouso começa aqui", "pg_sweep_intro": "E se {param} fosse diferente? Teste {steps} valores nos seus últimos {cycles} ciclos para encontrar a definição em que mais ciclos são reconhecidos corretamente.", "pg_sweep_step": "Passo {done} / {total}", "pg_undetected": "{n} ciclo{s} não detetado{s}", "pg_verdict_bad": "Requer atenção: muitos ciclos não são detetados.", "pg_verdict_good": "Bem afinado: a maioria dos ciclos é identificada e reconhecida corretamente.", "pg_verdict_ok": "Aceitável: alguns ciclos não foram detetados. Tente baixar o limiar de início.", "phase_catalog_intro": "Segmentos nomeados de um ciclo (Pré-lavagem, Aquecimento, Centrifugação…). Atribua-os a um perfil a partir do seu painel de controlo.", "phase_ranges_intro": "Intervalos de fase (minutos desde o início do ciclo) sobrepostos na curva média. Edite os valores para pré-visualizar em tempo real.", "playground_intro": "Um ambiente seguro para reproduzir ciclos anteriores com definições diferentes, comparar duas configurações lado a lado e ver como um ciclo se alinha a um perfil. Nada aqui altera os seus dados ativos até que o aplique explicitamente.", "playground_needs_restart": "Reinicie o Home Assistant para ativar as ferramentas da Área de testes.", "preferences_admin": "Preferências, painel e controlo de acesso", "preferences_adv": "Preferências", "prefs_personal": "Aplicam-se apenas à sua conta do Home Assistant.", "process_history_hint": "Reexecute a correspondência em todos os ciclos armazenados, atualize as sugestões de ajuste, retreine os modelos ML (se ativados) e recalcule o estado dos ciclos. Execute após um lote de revisões.", "profile_deleted": "Perfil eliminado", "profile_poor_health_detail": "Os ciclos atribuídos a este perfil têm formas inconsistentes ou baixa confiança. Considere reconstruir o envelope ou rever os ciclos rotulados.", "profiles_intro": "Clique num perfil para ver estatísticas, fases e limpeza. Agrupe programas quase idênticos (mesma forma/duração, temperatura ou centrifugação diferentes) para que a correspondência escolha de forma fiável entre eles.", "rbac_hint": "Quando desactivado, todos os utilizadores do Home Assistant têm acesso total (predefinição). Os administradores têm sempre acesso total e podem gerir todos.", "recent_logs": "Registos ha_washdata recentes", "recording_in_progress": "Gravação em curso", "reminders_intro": "Mostrar um lembrete no painel este número de ciclos após a última manutenção. Deixe em branco ou 0 para desativar um lembrete.", "restart_gap_footer": "Destacado no gráfico. Dados de potência estão em falta para estes intervalos; a correspondência usou apenas leituras reais.", "restart_gap_header": "{n} lacuna de reinício do HA durante este ciclo", "restart_gap_item": "{dur} lacuna", "review_confirm_help": "Confirme se este ciclo foi detectado correctamente. As suas revisões treinam o modelo na sua máquina – quanto mais ciclos confirmar, melhor ficam a correspondência e a pontuação de saúde. Um Bom/Mau rápido é suficiente.", "review_in_settings": "Rever nas Definições", "review_notes_placeholder": "Notas (opcional)", "review_notes_tip": "Notas em texto livre para sua referência pessoal. Não são usadas pela correspondência ou pelo treino.", "review_profile_tip": "O programa com que este ciclo está rotulado. Se o programa detectado automaticamente estava errado, corrija-o aqui – a rotulagem ensina a correspondência para ciclos futuros.", "review_quality_tip": "A qualidade deste ciclo. Bom = um exemplo perfeito deste programa; Mau = detectado mas ruidoso ou atípico; Inutilizável = detectado incorrectamente (combinado, truncado ou espúrio). Determina a pontuação de saúde e quais os ciclos permitidos para treinar o modelo.", "review_recorded_tip": "Marque este ciclo como referência escolhida a dedo para o seu programa – o mesmo papel de um ciclo gravado manualmente. Os ciclos de referência são sempre mantidos, semeiam o modelo de correspondência e nunca são removidos pela limpeza. (Esta é a bandeira \"dourada\"/gravada; ambas são a mesma coisa.)", "review_tags_tip": "Etiquetas opcionais que descrevem o que correu mal com este ciclo, para que o treino e a limpeza possam ter isso em conta.", "review_to_cycles": "Abrir a fila de revisão de Ciclos", "saving_triggers_reload": "Guardar desencadeia um recarregamento da integração. As entidades HA podem ficar brevemente indisponíveis.", "search_placeholder": "Pesquisar definições…", "see_recorder": "Veja o widget de gravação abaixo", "setting_changed": "Alterado de {old} para {new} em {date}", "settings_basic_note": "A mostrar as definições essenciais. Mude para Avançado para ver a lista completa.", "shape_drift_advisory": "⚠ Desvio de forma", "shape_drift_detail": "O padrão de potência para este perfil mudou ao longo do tempo – possível desgaste do electrodoméstico ou manutenção necessária (por exemplo, descalcificação, limpeza do filtro).", "show_all_settings": "Mostrar todas as definições", "showing_suggestions": "A mostrar a definição {count} com sugestões.", "split_intro": "Clique no gráfico para adicionar ou remover um ponto de divisão, ou detecte automaticamente por intervalos de inactividade. Cada segmento resultante pode ter o seu próprio perfil.", "storage_diagnostics": "Estatísticas de armazenamento, manutenção, exportação/importação", "sug_staged": "Definido {key} = {val}. Guarde para aplicar.", "toast_auto_detect_enabled": "Deteção automática ativada", "toast_auto_label_complete": "Rotulagem automática concluída", "toast_auto_label_failed": "Rotulagem automática falhou: {error}", "toast_automation_failed": "Não foi possível criar a automatização: {error}", "toast_automation_migrated": "Ações migradas para uma automatização; a abrir o editor", "toast_convert_failed": "Conversão falhou: {error}", "toast_create_failed": "Criação falhou: {error}", "toast_delete_failed": "Eliminação falhou: {error}", "toast_error": "Erro: {error}", "toast_failed": "Falhou: {error}", "toast_force_stop_failed": "Paragem forçada falhou: {error}", "toast_name_required": "Nome obrigatório", "toast_no_automation": "Não é possível criar automatização aqui", "toast_profile_name_required": "O nome do perfil é obrigatório", "toast_program_set": "Programa definido: {program}", "toast_rebuild_failed": "Reconstrução falhou: {error}", "toast_resume_failed": "Retomar falhou: {error}", "toast_revert_failed": "Reversão falhou: {error}", "toast_reverted": "{key} revertido", "toast_save_failed": "Guardar falhou: {error}", "trend_duration_longer": "Duração com tendência crescente ({pct}%/ciclo) – média recente {avg}", "trend_duration_shorter": "Duração com tendência decrescente ({pct}%/ciclo) – média recente {avg}", "trend_energy_down": "Energia com tendência decrescente ({pct}%/ciclo)", "trend_energy_up": "Energia com tendência crescente ({pct}%/ciclo) – média recente {avg}", "trim_intro": "Arraste os puxadores vermelhos ou introduza valores. Tudo o que estiver fora da janela é removido.", "tuning_suggestions_available": "{count} sugestão de ajuste disponível a partir dos ciclos observados. Aparecem junto dos campos relevantes.", "unsure_detected_prefix": "O WashData não tem a certeza de que detectou", "updated": "Actualizado", "warmup_badge": "Ainda a aprender ({done}/{needed} ciclos)", "warmup_detail": "Este perfil precisa de {needed} ciclos rotulados antes de a correspondência automática começar. Cada ciclo confirmado ajuda-o a aprender.", "wipe_history_warning": "Eliminar permanentemente todos os ciclos e perfis. Não é possível desfazer.", "compare_overlay_tip": "Sobreponha os envelopes dos perfis aprendidos para ver a que programa cada ciclo se assemelha.", "duration_trend_up_tip": "Duração a aumentar ({pct}%/ciclo)", "duration_trend_down_tip": "Duração a diminuir ({pct}%/ciclo)", "energy_trend_up_tip": "Energia a aumentar ({pct}%/ciclo)", "energy_trend_down_tip": "Energia a diminuir ({pct}%/ciclo)", "performance_trending": "Tendência de desempenho", "pg_select_cycle_hint": "Selecione um ciclo e clique em ↺ para carregar", "pg_sweep_progress": "Passo {done} / {total}", "pg_analysis_hint": "Selecione um ciclo e clique em ↺ para carregar a análise.", "diagnostics_load_failed": "Não foi possível carregar os diagnósticos: {error}", "manual_duration_ref_hint": "Usado apenas quando nenhum ciclo de referência está selecionado. Um ciclo de referência define a duração a partir do seu próprio comprimento.", "toast_convert_rolled_back": "A conversão falhou e foi revertida (não foi deixada nenhuma automatização): {error}", "toast_convert_orphan": "A automatização foi criada, mas a limpeza das ações antigas falhou. Não tente novamente: remova as ações antigas manualmente para evitar uma automatização duplicada.", "advisory_duration_trend_up": "Os ciclos de '{name}' estão a demorar cada vez mais (cerca de +{pct}% por ciclo). Se o comportamento do aparelho mudou, volte a gravar ou reconstrua este perfil.", "advisory_energy_trend_up": "'{name}' está a consumir cada vez mais energia (cerca de +{pct}% por ciclo) - vale a pena verificar o aparelho se isso for inesperado.", "advisory_poor_health": "'{name}' tem uma pontuação de correspondência baixa - os ciclos recentes variam muito ou correspondem fracamente. Reveja os ciclos ou volte a gravar o perfil para que o reconhecimento e as estimativas de tempo se mantenham precisos.", "advisory_shape_drift": "'{name}' afastou-se significativamente da sua curva de potência original. O aparelho pode ter alterado o comportamento ao longo do tempo (por ex. calcário, desgaste). Considere voltar a gravar este perfil com ciclos recentes.", "advisory_shape_drift_corr": "'{name}' afastou-se significativamente da sua curva de potência original (correlação {corr}). O aparelho pode ter alterado o comportamento ao longo do tempo (por ex. calcário, desgaste). Considere voltar a gravar este perfil com ciclos recentes.", "pg_no_alerts": "Nenhum problema detetado nesta execução.", "pg_override_active": "A usar as suas definições editadas vs. as atuais", "pg_history_intro": "Reproduza os seus ciclos recentes com o detetor e o comparador reais. Edite primeiro uma definição de deteção em Simular para ver aqui uma comparação antes/depois.", "pg_history_empty": "Prima Executar para reproduzir os seus ciclos.", "pg_history_summary": "{detected}/{total} detetados · {correct} reconhecidos corretamente", "pg_sweep_no_metric": "Dados insuficientes para pontuar este objetivo.", "pg_sweep_intro2": "Encontre a definição que melhor cumpre um objetivo nos seus ciclos recentes. Nada muda até a aplicar.", "pg_running_history": "A reproduzir os seus ciclos…", "pg_running_sweep": "A testar valores em todos os seus ciclos…", "pg_row_load_hint": "Carregar este ciclo no gráfico acima", "pg_history_intro2": "Reproduza os seus ciclos recentes através do detetor e do sistema de correspondência reais com as definições acima. Clique numa linha para carregar esse ciclo no gráfico; edite uma definição para ver uma comparação antes/depois.", "pg_simulating": "A simular o ciclo…", "pg_canvas_empty2": "Escolha um ciclo acima e prima Executar para o simular. Depois passe o cursor para ler os valores, percorra para ampliar e arraste para deslocar.", "pg_apply_settings_confirm": "Guardar estas {n} definição(ões) neste dispositivo? {list}", "pg_stress_terminated_detail": "Estabilizou em ~{idle}W em repouso -- o ciclo terminou {h}h {m}m depois através de {reason}.", "pg_stress_above_threshold_detail": "O consumo em repouso ~{idle}W é igual ou superior ao limiar de paragem efetivo ({stop}W) -- o ciclo nunca foi considerado inativo. Aumente stop_threshold_w para corrigir.", "pg_stress_hit_cap_detail": "O ciclo durou {h}h {m}m sem parar -- parado à força pelo limite de segurança. Consumo em repouso {idle}W face ao limiar de paragem {stop}W.", "no_logs_match": "Nenhum registo corresponde a estes filtros.", "pg_analysis_hint2": "Selecione um ciclo e prima Executar para carregar a análise de correspondência.", "pg_analysis_empty2": "Prima Executar para ver a análise de correspondência.", "imported_readonly": "Importado da loja da comunidade. Mostrado para referência e correspondência. Não é contabilizado nas suas estatísticas e não pode ser editado.", "merge_no_imports": "As gravações importadas não podem ser combinadas com um ciclo real. Desmarque-as para combinar.", "store_enable_hint": "Ative as funcionalidades online nas Definições para explorar e importar ciclos de referência da comunidade.", "online_intro": "Partilhe e transfira ciclos de referência com outros utilizadores do WashData. Todas as funcionalidades online são opcionais e estão desativadas por predefinição.", "store_share_intro": "Carregue este ciclo de referência para que outras pessoas com o mesmo electrodoméstico o possam usar. É revisto antes de aparecer publicamente.", "online_intro_global": "Explore e partilhe gravações de referência com outros utilizadores do WashData e confirme entradas de electrodomésticos. Uma única ligação aplica-se a toda a sua integração WashData; a marca e o modelo do electrodoméstico definem-se por dispositivo em Básico. Todas as funcionalidades online são opcionais e estão desativadas por predefinição.", "online_unavailable": "As funcionalidades online não estão disponíveis neste servidor.", "store_picker_offline": "Ative as funcionalidades online no ícone de definições para escolher do catálogo da comunidade.", "pick_brand_first": "Escolha primeiro uma marca de electrodoméstico.", "model_not_found": "Ainda não está no catálogo.", "connect_to_confirm": "Conecte-se no ícone de definições para confirmar ou avaliar.", "adopt_settings_hint": "Substituir os limiares de deteção e reconhecimento deste dispositivo pelos partilhados. As suas notificações, entidades e preço de energia nunca são alterados.", "include_settings_hint": "Partilhar os limiares de reconhecimento e correspondência deste dispositivo (não as suas notificações, entidades ou preço de energia). Quem adotar escolhe se os aplica.", "onboard_download": "Dispositivo novo? Adote uma configuração pronta (programas, ciclos de referência e fases) de outro utilizador WashData com o mesmo electrodoméstico.", "share_consent": "Confirmo que estes ciclos correram até à conclusão normal sem interrupções", "share_device_none": "Ainda não há ciclos partilháveis. Marque primeiro um ciclo gravado ou selecionado a dedo como ciclo de referência (⭐) no separador Ciclos.", "share_guideline_naming": "Dê a cada perfil exatamente o nome apresentado no mostrador ou ecrã do aparelho (ex. 'Cotton 40', 'Eco 60').", "share_guideline_quality": "Partilhe apenas ciclos que terminaram normalmente -- sem interrupções a meio do ciclo, eventos de abertura da porta ou falhas de corrente.", "share_guideline_review": "O seu carregamento começa como pendente e aparece publicamente quando membros suficientes da comunidade o confirmam.", "share_guidelines_title": "Antes de partilhar", "store_download_device_intro": "Adotar todos os programas partilhados e os seus ciclos de referência neste dispositivo. Os seus ciclos gravados e estatísticas não são afetados.", "store_share_device_intro": "Carregar {brand} {model} com os ciclos de referência que selecionar. Outros utilizadores com o mesmo electrodoméstico podem adotar os seus programas. As entradas são revistas antes de aparecerem publicamente.", "share_profile_no_cycles": "Sem ciclos de referência -- marque um ciclo como ⭐ no separador Ciclos para incluir este perfil", "advisory_phase_inconsistent": "'{name}' parece misturar diferentes programas ou temperaturas - os seus ciclos aquecem durante períodos de tempo muito diferentes. Dividi-lo em perfis separados (p. ex. por temperatura) melhorará a correspondência e as estimativas de tempo.", "advisory_phase_inconsistent_title": "⚠ Possíveis programas misturados", "export_select_intro": "Marque exatamente o que incluir. Selecionar perfis sem os seus ciclos exporta na mesma um programa reconhecível (a forma aprendida vai junto).", "import_analyze_hint": "Carregue um ficheiro exportado (ou cole o seu JSON). O WashData analisa-o e mostra exatamente o que pode ser importado antes de qualquer alteração.", "analyzing": "A analisar…", "device_type_mismatch_warn": "Esta exportação é de um tipo de eletrodoméstico diferente ({src} em vez de {local}). Os programas e ciclos ainda podem ser importados como dados de referência, mas as definições específicas do dispositivo e a importação para o histórico real estão desativadas.", "merge_hint": "Os itens importados são adicionados; nada local é perdido. Os conflitos de nomes são resolvidos abaixo.", "replace_warn": "Cada categoria marcada é apagada e substituída pelo conteúdo do ficheiro. As categorias não marcadas ficam intactas.", "dest_reference_hint": "Os ciclos importados só melhoram o reconhecimento de programas e nunca afetam as estatísticas de utilização/energia.", "dest_real_history_hint": "Os ciclos importados contam como histórico próprio deste dispositivo e alimentam as estatísticas de energia/utilização. Use para mover um eletrodoméstico para uma nova instalação." }, "pg_desc": { "anti_wrinkle_enabled": "Absorver os pulsos de rotação após a fase principal em vez de os ler como novos ciclos", "anti_wrinkle_exit_power": "A potência deve descer abaixo deste valor entre pulsos para que o modo anti-vincos permaneça ativo", "anti_wrinkle_idle_timeout": "Tempo de silêncio permitido entre dois pulsos de rotação antes de o modo anti-vincos terminar", "anti_wrinkle_max_duration": "Um pulso mais longo do que isto termina o modo anti-vincos e abre um novo ciclo", "anti_wrinkle_max_power": "Um pulso acima disto termina o modo anti-vincos e abre um novo ciclo", "completion_min_seconds": "Execução mais curta que conta como um ciclo real", "end_repeat_count": "Leituras baixas consecutivas antes de terminar", "interrupted_min_seconds": "Ciclos curtos marcados como interrompidos", "min_off_gap": "Intervalo necessário para separar dois ciclos", "off_delay": "Segundos de baixa potência antes de o ciclo terminar", "start_duration_threshold": "Segundos acima do limiar para confirmar o início", "start_threshold_w": "Watts mínimos para contar como iniciado", "stop_threshold_w": "Abaixo disto, a máquina conta como desligada", "dtw_bandwidth": "Fase 3: banda de deformação Sakoe-Chiba (0 = DTW desativado; predefinição 0,2 = 20% do comprimento do ciclo)", "corr_weight": "Fase 2: equilíbrio entre a forma da curva (correlação) e o nível de potência (MAE); predefinição 0,45", "duration_weight": "Fase 4: o quanto a concordância de duração afeta a pontuação final (predefinição 0,22)", "energy_weight": "Fase 4: o quanto a concordância de energia afeta a pontuação final (predefinição 0,22)", "profile_match_min_duration_ratio": "Fase 1: duração mínima do ciclo como fração da duração do perfil; predefinição 0,1 (10%)", "profile_match_max_duration_ratio": "Fase 1: duração máxima do ciclo como fração da duração do perfil; predefinição 1,5 (150%)", "keep_min_score": "Fase 2: pontuação mínima para permanecer em jogo; a predefinição 0,1 admite candidatos fracos, as fases seguintes escolhem o melhor", "dtw_blend": "Fase 3: 0 = apenas pontuação central, 1 = apenas pontuação DTW, 0,5 = mistura equilibrada (predefinição)", "dtw_ensemble_w": "Fase 3 (modo ensemble): peso em L1 escalado vs DTW derivativo; a predefinição 0,7 favorece a sensibilidade ao nível", "dtw_ddtw_scale": "Fase 3: distância de semissaturação DDTW; menor = maior sensibilidade à forma (predefinição 30)", "dtw_refine_top_n": "Fase 3: candidatos reavaliados pelo DTW; aumente para 7-9 se o perfil correto se classificar em 4.º-5.º (predefinição 5)", "duration_scale": "Fase 4: log-razão em que a concordância de duração é reduzida a metade; menor = penalidade mais severa (predefinição 0,175)", "energy_scale": "Fase 4: log-razão em que a concordância de energia é reduzida a metade; menor = penalidade mais severa (predefinição 0,25)" }, "phase_desc": { "anti_crease": "Rotações curtas ocasionais após a conclusão para reduzir vincos.", "anti_wrinkle": "Rotação periódica pós-ciclo para reduzir vincos.", "cool_down": "Rotação sem calor perto do fim do ciclo.", "drain_and_switch": "Período de transição do modo de lavagem para o modo de secagem.", "dry": "Fase de secagem com aquecedor e/ou calor residual.", "drying": "Período principal de rotação com calor.", "heat_up": "Aquecimento inicial do aquecedor antes do início da secagem completa.", "pre_rinse": "Pulverização inicial antes da lavagem com detergente.", "pre_wash": "Imersão inicial ou pré-tratamento antes da lavagem principal.", "rinse": "Fase de enxagúe com água limpa. Esta fase pode repetir-se várias vezes.", "sanitize": "Fase de limpeza a alta temperatura para programas de higienização.", "sensor_check": "Pausa curta de baixa potência enquanto a secura é medida.", "soak": "Período de imersão de baixa actividade entre as fases de lavagem activa.", "soak_dw": "Período de imersão prolongado para sujidade intensa.", "spin": "Extracção a alta velocidade para remover água da carga.", "spin_wd": "Extracção a alta velocidade antes da transição para secagem.", "wash": "Ciclo de lavagem principal com movimento do tambor e aquecimento opcional.", "wash_dw": "Lavagem principal com detergente e aquecimento." }, "placeholder": { "add": "adicionar…", "group_name": "ex. Algodão 2:47", "json_buttons": "[{\"action\":\"ID\",\"title\":\"Label\"}]", "notify": "adicionar um serviço de notificação…", "notify_services_list": "notify.mobile_app_phone, ...", "person": "adicionar uma pessoa…", "phase_name": "ex. Pré-lavagem", "profile_name": "ex. Algodão 40°C", "maintenance_notes": "ex. filtro substituído, vedante da porta limpo", "store_brand": "p. ex. Bosch", "store_model": "p. ex. WAT28401" }, "pref": { "date_absolute": "Absoluta (ex.: 14:32 a 2 de Jul)", "date_relative": "Relativa (ex.: há 2 horas)", "lang_auto": "Padrão do sistema ({lang})", "lang_en": "Inglês", "use_panel_default": "(padrão do painel)" }, "quality": { "bad": "Mau", "good": "Bom", "unusable": "Inutilizável" }, "section": { "anti_wrinkle": { "intro": "O modo anti-vincos detecta pulsos de rotação a baixa potência após a fase principal e mantém-nos ligados ao ciclo terminado.", "label": "Anti-Vincos" }, "basic": { "intro": "Identidade central e os essenciais para a maioria das configurações.", "label": "Básico" }, "delay": { "intro": "A detecção de início retardado identifica quando um electrodoméstico está ligado mas ainda não iniciou o ciclo.", "label": "Início Retardado" }, "detection": { "intro": "Como um ciclo é detectado como a iniciar, a decorrer e a terminar.", "label": "Detecção" }, "matching": { "intro": "Como os ciclos terminados são correspondidos a perfis aprendidos e rotulados.", "label": "Correspondência" }, "ml_training": { "intro": "Calendário de retreino de aprendizagem automática no dispositivo e definições de dados.", "label": "Treino ML" }, "notifications": { "intro": "Quando e como é notificado sobre eventos de ciclo.", "label": "Notificações" }, "timing": { "intro": "Cadência de fundo, o watchdog offline e a manutenção.", "label": "Temporização e Watchdog" }, "triggers": { "intro": "Sinais externos opcionais: um gatilho de fim, um sensor de porta, um interruptor de pausa e o lembrete de descarga.", "label": "Gatilhos e Portas" }, "phase_eta": { "label": "Tempo restante", "intro": "Tempo restante com base nas fases, para máquinas cuja duração do ciclo depende da temperatura ou da centrifugação." } }, "setting": { "anti_wrinkle_enabled": { "doc": "Reconheça os pulsos curtos de baixa potência que uma secadora emite após a fase de aquecimento principal e mantenha-os anexados ao ciclo finalizado, em vez de lê-los como novos ciclos.", "label": "Activar Detecção Anti-Vincos" }, "anti_wrinkle_exit_power": { "doc": "A potência deve cair abaixo disso entre os pulsos para que o modo antirrugas permaneça ativo.", "label": "Limiar de Saída de Potência" }, "anti_wrinkle_idle_timeout": { "doc": "Durante quanto tempo a máquina pode permanecer em silêncio entre dois pulsos de rotação antes de o modo anti-vincos terminar. Defina-o acima do intervalo mais longo que a sua secadora deixa entre pulsos, caso contrário cada pulso posterior é lido como um falso arranque.", "label": "Intervalo Máximo Entre Pulsos" }, "anti_wrinkle_max_duration": { "doc": "Pulsos mais longos do que isso são tratados como um ciclo real, e não como uma queda anti-rugas.", "label": "Duração Máxima" }, "anti_wrinkle_max_power": { "doc": "Uma pulsação acima dessa potência é tratada como um verdadeiro novo ciclo, e não como um tombo antirrugas. Defina logo acima da potência do pulso de queda.", "label": "Potência Máxima Anti-Vincos" }, "auto_label_confidence": { "doc": "Se a pontuação da partida no final do ciclo for igual ou superior a isso, o programa será rotulado automaticamente sem qualquer solicitação de confirmação. Aumente-o para exigir maior certeza antes da rotulagem automática; abaixe-o para automatizar mais. Funciona em conjunto com Learning Confidence abaixo dele.", "label": "Confiança de Rotulagem Automática" }, "auto_maintenance": { "doc": "Execute a limpeza noturna: recrie envelopes de perfil, recalcule a integridade do ciclo, remova rastros de depuração e retenha os ciclos mais recentes.", "label": "Manutenção Automática (limpeza nocturna)" }, "completion_min_seconds": { "doc": "Ciclos mais curtos que isso são descartados como ciclos fantasmas (testes, abertura da porta para adicionar uma meia).", "label": "Duração Mínima do Ciclo" }, "delay_confirm_seconds": { "doc": "A energia deve permanecer na faixa de espera por esse tempo antes que o aparelho seja tratado como aguardando para iniciar, em vez de funcionar.", "label": "Segundos de Confirmação" }, "delay_start_detect_enabled": { "doc": "Detecta quando o aparelho está ligado e aguardando (início retardado/standby), mas ainda não iniciou seu ciclo, para que o standby não seja confundido com um ciclo em execução.", "label": "Activar Detecção de Início Retardado" }, "delay_timeout_hours": { "doc": "Pare de esperar no modo de partida retardada após tantas horas e retorne ao modo inativo, para que uma máquina deixada ligada, mas nunca iniciada, não espere para sempre.", "label": "Horas de Timeout" }, "device_type": { "doc": "Classe de eletrodomésticos. Define padrões de detecção sensatos (limites, atraso de desativação, tratamento final) ajustados para esse tipo de dispositivo; altere-o apenas se o dispositivo tiver sido originalmente configurado como o tipo errado.", "label": "Tipo de Dispositivo" }, "door_sensor_entity": { "doc": "Sensor binário de porta opcional. Usado para detectar quando o aparelho foi aberto/descarregado após um ciclo.", "label": "Entidade do Sensor de Porta" }, "duration_tolerance": { "doc": "Tolerância para estimativas de tempo restante (feedback de aprendizagem, não correspondência). Se a duração real estiver dentro de +/-X% da estimativa, isso será considerado uma boa correspondência.", "label": "Tolerância de Estimativa" }, "enable_ml_models": { "doc": "Enquanto um ciclo é executado, deixe os modelos refinarem os resultados em tempo real: uma estimativa de tempo restante e de energia/custo mais estável, e uma proteção anti-parada prematura na detecção de final (ela só pode atrasar um término, nunca terminar um mais cedo e é limitada). Usa seus modelos ajustados quando disponíveis, caso contrário, os integrados. Desligado = apenas a lógica clássica baseada em energia (ainda confiável).", "label": "Aplicar modelos inteligentes durante um ciclo" }, "end_energy_threshold": { "doc": "Durante a contagem regressiva do atraso de desligamento, a energia acumulada (watts x tempo) é comparada a esse limite. Se excedido, a contagem regressiva é reiniciada - mantendo os rolos anti-rugas e os restos de secagem da máquina de lavar louça presos ao ciclo, em vez de cortá-los. Aumente se os ciclos terminarem muito cedo durante o resfriamento; abaixe-o se a detecção for lenta.", "label": "Energia de Fim" }, "end_repeat_count": { "doc": "Número de leituras consecutivas abaixo do limite de parada necessárias antes do término do ciclo. 1 é adequado para a maioria dos plugues. Aumente para 2-3 se o seu plugue inteligente ocasionalmente relatar uma amostra de falso zero no meio do ciclo e seus ciclos estiverem terminando prematuramente.", "label": "Contagem de Repetições de Fim" }, "energy_price_entity": { "doc": "Sensor com o preço atual da eletricidade por kWh (por exemplo, uma tarifa dinâmica). Tem precedência sobre o preço estático abaixo. Cada ciclo congela o preço em vigor quando termina.", "label": "Entidade de Preço de Energia" }, "energy_price_static": { "doc": "Preço fixo por kWh usado para valores de custos quando nenhuma entidade de preço real é definida acima.", "label": "Preço Estático de Energia (por kWh)" }, "energy_sensor": { "doc": "Contador de energia cumulativo opcional (total_increasing em kWh/Wh, por ex. o contador de consumo total da própria tomada). Quando definido, a energia indicada de cada ciclo é obtida a partir da diferença deste contador entre o início e o fim, o que evita a subcontagem resultante da integração de um sensor de potência que reporta lentamente. Recorre ao valor integrado se a leitura estiver em falta, se a sua unidade for desconhecida ou se o delta não for positivo. Deixe em branco para continuar a integrar o sensor de potência.", "label": "Entidade do Contador de Energia" }, "expose_debug_entities": { "doc": "Publique entidades de HA de diagnóstico extras (confiança de correspondência, ambiguidade, estados internos). Off mantém a lista de entidades limpa para uso normal.", "label": "Expor Entidades de Depuração" }, "external_end_trigger": { "doc": "Sensor binário cuja mudança de estado marca o fim do ciclo (por exemplo, um contato \"terminado\" do aparelho ou uma integração complementar).", "label": "Entidade do Gatilho Externo" }, "external_end_trigger_enabled": { "doc": "Deixe um sensor binário externo sinalizar o fim de um ciclo, além da detecção integrada baseada em energia.", "label": "Activar Gatilho de Fim Externo" }, "external_end_trigger_inverted": { "doc": "Trate o sensor de disparo desligado (em vez de ligado) como o sinal de fim de ciclo.", "label": "Inverter Gatilho Externo (activar em DESLIGADO)" }, "learning_confidence": { "doc": "Se a pontuação de correspondência estiver entre este valor e a Confiança do rótulo automático, uma notificação de feedback solicitará que você verifique o programa identificado. Abaixo desta pontuação, a partida é muito incerta para surgir. Deve ser mantido abaixo da Confiança da Etiqueta Automática.", "label": "Confiança de Aprendizagem" }, "linked_device": { "doc": "Opcionalmente, aninhe este dispositivo WashData em outro dispositivo (por exemplo, o plugue inteligente) no registro do dispositivo HA, mostrado como \"Conectado via ...\".", "label": "Agrupar sob Dispositivo" }, "min_off_gap": { "doc": "Se a máquina desligar por menos que esse tempo, a sequência liga/desliga/liga é tratada como um ciclo contínuo. Evita que os programas de imersão (a máquina desliga durante vários minutos a meio da lavagem) sejam divididos em dois ciclos separados. Defina-o mais curto do que o intervalo entre as cargas consecutivas se quiser que elas sejam contadas como ciclos separados. Os padrões de tipo de dispositivo protegem a pausa intra-ciclo típica para cada dispositivo.", "label": "Intervalo Mínimo de Desligamento" }, "min_power": { "doc": "Potência mínima absoluta considerada ativa. As leituras abaixo disso são tratadas como 0 W (standby), filtrando a carga fantasma de plugues inteligentes e LEDs de standby.", "label": "Potência Mínima" }, "ml_training_enabled": { "doc": "Estude periodicamente seus ciclos revisados ​​durante a noite e ajuste os modelos para esta máquina específica. Uma mudança só é mantida quando realmente obtém resultados melhores em ciclos prolongados, portanto, isso só pode ajudar ou permanecer igual - nunca regredir.", "label": "Aprender com esta máquina" }, "ml_training_hour": { "doc": "Hora local do dia (0-23) para fazer o ajuste fino noturno. Escolha um horário tranquilo, como 2 (02:00).", "label": "Aprender às horas" }, "ml_training_interval_days": { "doc": "Verifique novamente se há melhorias no máximo uma vez a cada um desses dias.", "label": "Verificar no máximo de" }, "ml_training_min_cycles": { "doc": "Espere até que pelo menos esse número de ciclos tenha sido registrado antes do ajuste fino, para que haja o suficiente para aprender.", "label": "Ciclos necessários primeiro" }, "name": { "doc": "Nome de exibição mostrado na lista de integrações de alta disponibilidade e no registro do dispositivo.", "label": "Nome do Dispositivo" }, "no_update_active_timeout": { "doc": "Se nenhuma atualização de energia chegar por tanto tempo durante a execução, presuma que o plugue caiu off-line e force a parada para evitar um ciclo zumbi. O padrão de 600 s permite atraso na nuvem ou na malha.", "label": "Timeout Sem Actualização" }, "notify_before_end_minutes": { "doc": "Envie um alerta Quase concluído quando o tempo restante estimado cair abaixo disso. 0 o desativa.", "label": "Alerta Pré-Fim" }, "notify_channel": { "doc": "Nome do canal de notificação do Android para mensagens iniciais/ao vivo (controla o som e a prioridade por canal no aplicativo móvel). Em branco usa o aplicativo complementar padrão.", "label": "Canal Android (início/tempo real)" }, "notify_cycle_timers": { "doc": "Notificações em minutos específicos de um ciclo (por exemplo, para adicionar amaciante). A mensagem suporta {device}, {program}, {minutes}. Ative a pausa automática para pausar nesse ponto e receber uma notificação interativa com um botão Continuar; retomar por meio do painel, do serviço de pausa/retomada ou da ação de notificação.", "label": "Temporizadores de Ciclo" }, "notify_finish_channel": { "doc": "Nome do canal de notificação do Android para a mensagem final. Em branco reutiliza o canal inicial/ao vivo.", "label": "Canal Android (fim)" }, "notify_finish_message": { "doc": "Corpo enviado quando um ciclo termina. Variáveis do modelo: {device}, {duration}, {minutes}, {program}, {energy_kwh}, {cost}, {time_finished}, {vs_typical}, {cycle_count}. {time_finished} e {vs_typical} são os mais úteis aqui.", "label": "Mensagem de Fim" }, "notify_finish_services": { "doc": "notify.* serviços chamados quando um ciclo termina. Adicione um por alvo; deixe em branco para nenhuma notificação de conclusão.", "label": "Serviços de Fim" }, "notify_fire_events": { "doc": "Também dispare eventos ha_washdata_* no início/término do ciclo para que você possa construir suas próprias automações.", "label": "Disparar Eventos HA para Notificações" }, "notify_icon": { "doc": "Ícone mdi opcional para a notificação (por exemplo, mdi:máquina de lavar). Deixe em branco para o padrão da plataforma.", "label": "Ícone da Notificação" }, "notify_live_chronometer": { "doc": "Mostre um cronômetro de contagem regressiva com atualização ao vivo na notificação (em plataformas que o suportam) em vez de uma estimativa estática.", "label": "Usar Cronómetro em Tempo Real" }, "notify_live_interval_seconds": { "doc": "Com que frequência as notificações de progresso ao vivo são atualizadas enquanto um ciclo é executado.", "label": "Intervalo de Actualização em Tempo Real" }, "notify_live_overrun_percent": { "doc": "Se um ciclo ultrapassar sua estimativa em mais do que essa porcentagem, envie um alerta de ultrapassagem.", "label": "% de Sobrecarga Antes do Alerta" }, "notify_live_services": { "doc": "notify.* serviços chamados para atualizações de progresso ao vivo enquanto um ciclo é executado. Deixe em branco para desativar as notificações de progresso ao vivo.", "label": "Serviços de Progresso em Tempo Real" }, "notify_only_when_home": { "doc": "Envie notificações apenas quando pelo menos uma das pessoas vinculadas (acima) estiver em casa.", "label": "Notificar Apenas Quando em Casa" }, "notify_people": { "doc": "person.* entidades usadas por \"Notify Only When Home\" para decidir se alguém está em casa.", "label": "Pessoas (para Apenas Quando em Casa)" }, "notify_pre_complete_message": { "doc": "Corpo do alerta de pré-fim / quase concluído. Variáveis do modelo: {device}, {duration}, {minutes}, {program}, {energy_kwh}, {cost}, {time_finished}, {vs_typical}, {cycle_count}.", "label": "Mensagem Pré-Conclusão" }, "notify_reminder_message": { "doc": "Corpo do lembrete de que a roupa continua à espera de ser retirada. Em branco usa a predefinição incorporada. Variáveis do modelo: {device}, {duration}, {minutes}, {program}, {energy_kwh}, {cost}, {time_finished}, {vs_typical}, {cycle_count}.", "label": "Mensagem de Lembrete" }, "notify_start_message": { "doc": "Corpo enviado quando um ciclo começa. Variáveis do modelo: {device}, {duration}, {minutes}, {program}, {energy_kwh}, {cost}, {time_finished}, {vs_typical}, {cycle_count}.", "label": "Mensagem de Início" }, "notify_start_services": { "doc": "notify.* serviços chamados quando um ciclo é iniciado. Adicione um por destino (telefone, painel, etc.); deixe em branco para nenhuma notificação de início.", "label": "Serviços de Início" }, "notify_timeout_seconds": { "doc": "Ignore automaticamente a notificação após esses segundos (em plataformas que a suportam). 0 o mantém até ser descartado manualmente.", "label": "Dispensar Automaticamente Após" }, "notify_title": { "doc": "Título da notificação. Variáveis ​​de modelo: {device}, {program}, {duration}, {energy}, {cost}, {date}, {time}, {minutes}.", "label": "Título da Notificação" }, "notify_unload_delay_minutes": { "doc": "Minutos após o término de um ciclo, antes de enviar o lembrete de \"descarregar a máquina\" ainda em espera. Defina 0 para desativar o lembrete.", "label": "Atraso de Lembrete de Descarga" }, "off_delay": { "doc": "Tempo de espera após a queda de energia antes de declarar o término do ciclo. Se a energia for retomada dentro desta janela, o ciclo continua perfeitamente - isso faz a ponte entre as etapas de lavagem. As máquinas de lavar louça têm longas fases de secagem (desligadas por 20-60 minutos), portanto o atraso no desligamento deve exceder esse valor para manter toda a lavagem + secagem em um único ciclo.", "label": "Atraso de Desligamento" }, "pause_cuts_power": { "doc": "Quando um ciclo for pausado, desligue também a Entidade Switch abaixo. Apenas para aparelhos cuja ficha possa ser cortada com segurança a meio do ciclo.", "label": "Pausa Também Corta Energia (via switch)" }, "power_off_delay": { "doc": "Durante quanto tempo a potência deve manter-se abaixo do Limiar de Desligamento após o fim de um ciclo antes de o estado voltar a Desligado. Só é usado quando o Limiar de Desligamento é superior a 0. É verificado segundo a cadência em segundo plano, pelo que o atraso efetivo é arredondado para cima até ao próximo tick de expiração de estado.", "label": "Atraso de Desligamento" }, "power_off_threshold_w": { "doc": "Deteção opcional do estado Desligado com base na potência. Quando superior a 0, assim que um ciclo termina e a potência se mantém abaixo deste nível durante o Atraso de Desligamento, a máquina é considerada desligada e o estado volta a Desligado. Deixe em 0 para desativar (predefinição). Defina-o acima do consumo real com a máquina desligada e abaixo do Limiar de Paragem e do consumo em espera da sua máquina (concluída mas ainda ligada); se não for inferior ao Limiar de Paragem, é ignorado. Quando ativado, substitui o Atraso de Reposição de Progresso para o regresso a Desligado, pelo que uma máquina concluída permanece em Concluído/Limpar até ser efetivamente desligada.", "label": "Limiar de Desligamento" }, "power_sensor": { "doc": "A entidade do sensor que relata a potência ativa em watts para este aparelho (por exemplo, sensor.washer_power). Toda a detecção de ciclo é baseada neste sinal.", "label": "Sensor de Potência" }, "profile_duration_tolerance": { "doc": "A banda +/- em torno da duração média de um perfil usada durante a correspondência. 0,25 significa que um perfil de 60 minutos corresponde a ciclos de 45 a 75 minutos.", "label": "Tolerância de Duração do Perfil" }, "profile_match_interval": { "doc": "Com que frequência tentar a correspondência de perfil durante um ciclo de execução. O padrão de 300 s (5 minutos) equilibra a velocidade de detecção e a CPU.", "label": "Intervalo de Correspondência" }, "profile_match_max_duration_ratio": { "doc": "Duração máxima do ciclo em relação ao perfil. 1.3 significa que um ciclo deve ter menos de 130% da duração do perfil para corresponder.", "label": "Rácio de Duração Máxima" }, "profile_match_min_duration_ratio": { "doc": "Duração mínima do ciclo em relação ao perfil. 0,9 significa que um ciclo deve ter pelo menos 90% da duração do perfil para corresponder.", "label": "Rácio de Duração Mínima" }, "profile_match_threshold": { "doc": "Pontuação mínima de similaridade (0-1) exigida no final do ciclo para aceitar a identificação do programa. Aumente-o para reduzir identificações erradas; abaixe-o se os programas da sua máquina não estiverem correspondendo. O padrão 0,4 é um ponto de partida conservador.", "label": "Limiar de Correspondência" }, "profile_unmatch_threshold": { "doc": "Se uma partida ao vivo no meio do ciclo cair abaixo dessa pontuação, a identificação provisória será apagada. Mantenha-o um pouco abaixo do Limite de Correspondência para que uma breve queda na similaridade não reverta a exibição para incomparável.", "label": "Limiar de Não Correspondência" }, "progress_reset_delay": { "doc": "Depois de terminar, mantenha o progresso em 100% por esse tempo para que Concluído fique visível nos painéis antes de redefinir para Inativo.", "label": "Atraso de Reposição de Progresso" }, "pump_stuck_duration": { "doc": "Segundos, uma bomba pode funcionar continuamente antes de ser sinalizada como possivelmente travada (dispara o evento de bomba travada).", "label": "Duração de Bomba Presa" }, "running_dead_zone": { "doc": "Após o início de um ciclo, as quedas de energia nesta janela são ignoradas. As máquinas de lavar enchem com água fria (caindo perto de 0 W antes do aquecimento) - sem esta proteção, a fase de enchimento parece um fim de ciclo. Isto NÃO ignora dados: o traço de potência total é registrado a partir de T=0. O mecanismo de sugestão mede o padrão de inicialização real da sua máquina e o dimensiona automaticamente.", "label": "Zona Morta em Execução" }, "sampling_interval": { "doc": "Tempo esperado entre as leituras do sensor - usado para dimensionar a janela de suavização e iniciar o debounce corretamente. Cada atualização do sensor é capturada independentemente deste valor; ele apenas calibra os cálculos posteriores. O mecanismo de sugestão mede a cadência real do seu sensor em ciclos anteriores e define isso automaticamente.", "label": "Intervalo de Amostragem" }, "save_debug_traces": { "doc": "Armazene o rastreamento de energia completo e os dados de depuração correspondentes para cada ciclo. Útil para solução de problemas, mas aumenta o tamanho do armazenamento.", "label": "Guardar Traços de Depuração" }, "smoothing_window": { "doc": "Quanto o sinal de potência bruta é suavizado. Baixo (2) é responsivo, mas barulhento; alto (5) suaviza os picos, mas adiciona atraso.", "label": "Janela de Suavização" }, "start_duration_threshold": { "doc": "A energia deve permanecer acima do limite de partida por tanto tempo para confirmar uma partida real, evitando que interruptores liga/desliga em frações de segundo iniciem um ciclo.", "label": "Duração de Início" }, "start_energy_threshold": { "doc": "Energia (potência x tempo) que o aparelho deve consumir antes de FUNCIONAR. Um breve pico de alta potência tem energia muito baixa e é ignorado, evitando falsas partidas.", "label": "Energia de Início" }, "start_threshold_w": { "doc": "A potência deve subir acima deste nível para confirmar que um ciclo foi iniciado. Definir um valor muito baixo causa falsas partidas na energia de espera; programas muito altos e de início lento (enchimento a frio) são perdidos. O mecanismo de sugestão define isso logo acima da potência ativa mais baixa observada pela máquina.", "label": "Limiar de Início" }, "stop_threshold_w": { "doc": "A energia deve cair abaixo deste nível antes que a contagem regressiva do atraso de desligamento comece. Defina-o abaixo do limite inicial - a lacuna entre eles é a banda de histerese que evita oscilações. Se definido para um valor demasiado elevado, as fases de baixa potência (paragens de enxaguamento, anti-rugas) acionam falsamente a sequência final.", "label": "Limiar de Paragem" }, "switch_entity": { "doc": "Interruptor opcional desligado na pausa e ligado novamente ao reiniciar, usado junto com \"Pausa também corta energia\".", "label": "Entidade do Switch" }, "watchdog_interval": { "doc": "Com que frequência o watchdog em segundo plano verifica sensores paralisados ​​e tempos limite decorridos. Padrão 30 seg.", "label": "Intervalo do Watchdog" }, "notify_milestone_message": { "doc": "Mensagem para a notificação de marco. Variáveis do modelo: {device}, {cycle_count}.", "label": "Mensagem de marco" }, "notify_milestones": { "doc": "Contagens de ciclos separadas por vírgulas que acionam uma notificação de celebração única quando são atingidas (ex. 50, 100, 500, 1000). Em branco desativa as notificações de marcos.", "label": "Marcos de ciclos" }, "notify_quiet_end_hour": { "doc": "Fim da janela de não incomodar (0-23). As notificações retidas são entregues a esta hora. Deixe em branco para desativar.", "label": "Fim das horas de silêncio" }, "notify_quiet_start_hour": { "doc": "Início de uma janela de não incomodar (0-23). As notificações de conclusão, lembretes e de roupa lavada que ocorreriam durante as horas de silêncio são retidas e entregues quando a janela termina. Deixe em branco para desativar. Suporta janelas que cruzam a meia-noite (ex. início 22, fim 7).", "label": "Início das horas de silêncio" }, "peak_rate_message": { "doc": "Texto personalizado opcional para a dica de tarifa de pico anexada à notificação de início. Variáveis do modelo: {device}, {price}. Em branco usa a predefinição incorporada.", "label": "Mensagem de tarifa de pico" }, "peak_rate_threshold": { "doc": "Quando um ciclo começa e o preço atual por kWh é igual ou superior a este valor, é anexada uma dica de tarifa de pico à notificação de início. 0 ou em branco desativa a dica.", "label": "Limite de tarifa de pico (por kWh)" }, "dtw_bandwidth": { "label": "Tolerância de correspondência de forma", "doc": "Quanta deformação temporal o sistema de correspondência pode aplicar a um ciclo para o ajustar à forma de um programa guardado. Um valor mais alto tolera maior variação de velocidade; demasiado alto corre o risco de corresponder ao programa errado." }, "corr_weight": { "label": "Peso da forma face ao nível", "doc": "Equilíbrio entre a forma da curva e o nível de potência absoluto ao pontuar uma correspondência. Um valor mais alto privilegia a forma; um mais baixo privilegia a correspondência do nível de potência." }, "duration_weight": { "label": "Peso da duração", "doc": "Com que intensidade é preferido um programa cuja duração habitual corresponde a este ciclo." }, "energy_weight": { "label": "Peso da energia", "doc": "Com que intensidade é preferido um programa cujo consumo de energia habitual corresponde a este ciclo." }, "store_brand": { "label": "Marca do electrodoméstico", "doc": "Opcional. A marca do electrodoméstico, escolhida do catálogo da comunidade. Usada para encontrar e partilhar gravações de referência correspondentes. Deixe em branco se não usar as funcionalidades online." }, "store_model": { "label": "Modelo do electrodoméstico", "doc": "Opcional. O modelo do electrodoméstico, escolhido do catálogo da comunidade depois de definida a marca. Se o seu modelo não estiver listado, pode adicioná-lo ao catálogo." }, "show_contributor": { "doc": "Mostrar a atribuição \"por \" nos electrodomésticos da comunidade e nos ciclos de referência." }, "enable_phase_matching": { "label": "Tempo restante com base nas fases", "doc": "Divide cada ciclo em curso em fases (aquecimento, lavagem, centrifugação) e distribui o tempo restante por fase, combinado com a estimativa clássica - apoiando-se na repartição por fases no início do ciclo e na estimativa clássica perto do fim. Isto personaliza a contagem decrescente de acordo com o tempo que a sua máquina realmente aquece e funciona, o que é mais percetível na primeira metade de um ciclo. Desativado = apenas a estimativa clássica. Apenas a apresentação do tempo restante é afetada; a correspondência de programas e a deteção de ciclos permanecem inalteradas." }, "keep_min_score": { "label": "Score mín de correspondência", "doc": "Pontuação de similaridade mínima que um candidato precisa para permanecer em jogo. A predefinição 0,1 é deliberadamente permissiva - admite mesmo candidatos fracos e depende das fases seguintes para encontrar a melhor correspondência. Aumente para eliminar perfis improváveis mais cedo; reduza para ampliar o pool inicial de candidatos." }, "dtw_blend": { "label": "Fusão Warp", "doc": "O quanto o score de alinhamento por deformação temporal (DTW) substitui o score central da fase 2. 0 = usar apenas o score da fase 2, 1 = usar apenas o score DTW, 0,5 (predefinição) = mistura equilibrada. Aumente para confiar mais no alinhamento Warp quando os programas têm níveis de potência semelhantes mas padrões temporais diferentes." }, "dtw_ensemble_w": { "label": "Mix ensemble Warp", "doc": "No modo DTW ensemble (a predefinição), o peso em L1 escalado versus DTW derivativo (DDTW). 1,0 = apenas L1 escalado, 0 = apenas DDTW, 0,7 = predefinição. A variante L1 escalada compara os níveis de potência; a variante derivativa reage a como a potência muda ao longo do tempo. Ensemble combina ambos." }, "dtw_ddtw_scale": { "label": "Escala Warp derivativa", "doc": "Distância de semissaturação para a pontuação DTW derivativa. A pontuação é reduzida a metade quando a distância DDTW é igual a este valor. Menor = mais sensível às diferenças de forma. A predefinição 30 está calibrada para traços de potência típicos de eletrodomésticos. Afeta apenas os modos DTW ensemble e ddtw." }, "dtw_refine_top_n": { "label": "Contagem de refinamento Warp", "doc": "Quantos candidatos principais da fase 2 são reavaliados pelo DTW. O DTW é mais dispendioso, por isso é aplicado apenas aos N melhores candidatos. Predefinição 5. Aumente (para 7-9) se o perfil correto às vezes só chega ao 4.º ou 5.º lugar após a fase 2 - o DTW pode recuperá-lo. Reduzir acelera ligeiramente a correspondência." }, "duration_scale": { "label": "Nitidez de duração", "doc": "Precisão da penalidade de concordância de duração na fase 4. Este é o log-razão em que o score de concordância é reduzido a metade. Menor = mais rigoroso: uma discordância de duração penaliza mais. A predefinição 0,175 corresponde a cerca de 18% de tolerância de duração a meio peso. Use em conjunto com o Peso de duração." }, "energy_scale": { "label": "Nitidez de energia", "doc": "Precisão da penalidade de concordância de energia. Menor = mais rigoroso: uma discordância de energia penaliza mais. A predefinição 0,25 é intencionalmente mais permissiva do que a Precisão de duração, porque a energia varia com a carga. Use em conjunto com o Peso de energia." } }, "setting_group": { "auto_labeling": { "label": "Rotulagem Automática" }, "cycle_end": { "label": "Fim do Ciclo" }, "cycle_start": { "label": "Início do Ciclo" }, "cycle_timers": { "label": "Temporizadores de Ciclo" }, "data_management": { "label": "Gestão de Dados" }, "debug": { "label": "Depuração" }, "dishwasher_end": { "label": "Fim da Máquina de Lavar Louça" }, "door_pause": { "label": "Porta e Pausa" }, "dtw_refinement": { "label": "Refinamento DTW" }, "duration_gates": { "label": "Portas de Duração" }, "energy": { "label": "Energia" }, "external_end_trigger": { "label": "Gatilho de Fim Externo" }, "housekeeping": { "label": "Manutenção" }, "match_scoring": { "label": "Pontuação de Correspondência" }, "messages": { "label": "Mensagens" }, "power_off": { "label": "Desligamento" }, "predictive_end": { "label": "Fim Preditivo" }, "schedule": { "label": "Calendário" }, "services": { "label": "Serviços" }, "signal_processing": { "label": "Processamento de Sinal" }, "thresholds_gap": { "label": "Limiares e Intervalo" }, "timing": { "label": "Temporização" }, "unload_reminder": { "label": "Lembrete de Descarga" }, "watchdog": { "label": "Watchdog" }, "quiet_hours_milestones": { "label": "Horas de silêncio e marcos" }, "device_info": { "label": "Informações do dispositivo" }, "basic_configuration": { "label": "Configuração básica" } }, "status": { "active": "Activo", "all_statuses": "Todos os estados", "ambiguous": "Ambíguo", "auto_detect": "Detectar automaticamente", "clear": "Limpar", "completed": "Concluído", "fine_tuning": "a ajustar…", "force_stopped": "Parado forçosamente", "idle": "Inactivo", "interrupted": "Interrompido", "ready": "Pronto para processar", "recording": "A gravar", "training": "A treinar…", "saving": "A guardar…", "rebuilding": "A reconstruir…", "analyzing": "A analisar…", "resetting": "A repor…", "reverting": "A reverter…", "trimming": "A cortar…", "splitting": "A dividir…", "deleting": "A eliminar…", "imported": "Importado" }, "tab": { "advanced": "Avançado", "diagnostics": "Diagnósticos", "history": "Ciclos", "ml": "Treino ML", "pp_cleanup": "Limpeza", "pp_manage": "Gerir", "pp_overview": "Visão geral", "pp_phases": "Fases", "profiles": "Perfis", "settings": "Definições", "status": "Visão geral", "subtab_phase_catalog": "Catálogo de fases", "subtab_profiles": "Perfis", "maintenance": "Manutenção", "playground": "Área de testes", "store": "Loja" }, "tag": { "early_end": "Fim antecipado", "late_start": "Início tardio", "merged": "Ciclos combinados", "noise": "Ruído", "sensor_gap": "Falha do sensor", "split": "Ciclo dividido", "wrong_profile": "Perfil errado" }, "toast": { "access_saved": "Controlo de acesso guardado", "all_wiped": "Todos os dados apagados", "analysis_complete_none": "Análise concluída: sem novas sugestões", "auto_label_complete": "Rotulagem automática concluída", "automation_deleted": "Automatização eliminada", "correction_submitted": "Correcção submetida", "cycle_deleted": "Ciclo eliminado", "cycle_force_stopped": "Ciclo parado forçosamente", "cycle_labelled": "Ciclo rotulado", "cycle_paused": "Ciclo em pausa", "cycle_resumed": "Ciclo retomado", "cycle_trimmed": "Ciclo cortado", "cycles_merged": "Ciclos combinados", "envelope_rebuilt": "Envelope reconstruído", "envelopes_rebuilt": "Envelopes reconstruídos", "export_downloaded": "Exportação transferida", "feedback_all_dismissed": "Todos os feedbacks dispensados", "feedback_confirmed": "Feedback confirmado", "feedback_dismissed": "Feedback dispensado", "group_deleted": "Grupo eliminado", "group_name_required": "O nome do grupo é obrigatório", "group_saved": "Grupo guardado", "import_successful": "Importação bem-sucedida; a integração está a recarregar", "json_required": "Os dados JSON são obrigatórios", "legacy_removed": "Acções legadas removidas", "logs_exported": "Registos exportados", "matching_reverted": "Pesos de correspondência repostos para as predefinições", "min_2_profiles": "Seleccione pelo menos 2 perfis para um grupo", "ml_training_no_improvement": "Treino concluído: base mantida (sem melhoria)", "models_reverted": "Modelos no dispositivo revertidos para a base", "name_required": "Nome obrigatório", "no_split_found": "Nenhum intervalo de inactividade encontrado para dividir", "panel_settings_saved": "Definições do painel guardadas", "phase_name_required": "O nome da fase é obrigatório", "phase_updated": "Fase actualizada", "phases_saved": "Fases guardadas", "preferences_saved": "Preferências guardadas", "processed": "Processado {bits}", "processed_cycles": "{n} ciclos", "processed_models": "{n} modelos promovidos", "processed_suggestions": "{n} sugestões", "profile_name_required": "O nome do perfil é obrigatório", "profile_renamed": "Perfil renomeado", "recording_discarded": "Gravação descartada", "recording_saved": "Gravação guardada no perfil", "recording_started": "Gravação iniciada", "recording_stopped": "Gravação parada", "review_saved": "Revisão guardada", "settings_conflicts": "Corrija os conflitos de definições destacados antes de guardar.", "settings_reverted": "Definições revertidas; a integração está a recarregar", "settings_saved": "Definições guardadas; a integração está a recarregar", "suggestions_applied": "Sugestões aplicadas; a integração está a recarregar", "suggestions_dismissed": "Sugestões dispensadas", "apply_failed": "Falha ao aplicar: {error}", "delete_failed": "Falha ao eliminar: {error}", "load_more_failed": "Não foi possível carregar mais: {error}", "maint_add_failed": "Não foi possível adicionar o evento: {error}", "maint_added": "Evento de manutenção adicionado", "maint_delete_failed": "Não foi possível eliminar o evento: {error}", "maint_deleted": "Evento de manutenção eliminado", "relabel_done": "{count} ciclo(s) reetiquetado(s)", "relabel_failed": "Falha ao reetiquetar: {error}", "reminders_save_failed": "Não foi possível guardar os lembretes: {error}", "reminders_saved": "Lembretes de manutenção guardados", "pause_no_cycle": "Nenhum ciclo ativo para pausar", "resume_no_cycle": "Nenhum ciclo em pausa para retomar", "delete_partial_failed": "Não foi possível eliminar alguns itens e foram restaurados", "pg_run_gone": "Essa execução já não está disponível.", "task_cancelled": "Cancelado.", "store_search_failed": "Falha na pesquisa: {error}", "store_connect_failed": "Falha ao conectar: {error}", "store_connected": "Conectado à loja da comunidade", "store_disconnected": "Desconectado da loja da comunidade", "store_error": "Erro: {error}", "store_unavailable": "A loja da comunidade não está disponível.", "store_pick_profile": "Escolha um perfil onde combinar", "store_name_required": "Introduza um nome de perfil", "store_import_failed": "Falha na importação: {error}", "store_imported": "Importado para {profile}", "store_program_required": "Introduza um nome de programa", "store_no_appliance": "Defina primeiro a marca e o modelo do seu electrodoméstico nas Definições.", "store_share_failed": "Falha na partilha: {error}", "store_shared": "Partilhado na loja da comunidade, a aguardar revisão.", "appliance_added": "Electrodoméstico adicionado, a aguardar aprovação", "thanks_confirming": "Obrigado por confirmar", "device_approved": "Aprovado pela comunidade", "rating_saved": "Avaliação de qualidade guardada", "brand_added": "Marca adicionada, a aguardar aprovação", "profile_added": "Perfil adicionado, a aguardar aprovação", "saved_except_conflicts": "Guardado. Corrija os conflitos assinalados para guardar o restante.", "share_device_none_sel": "Selecione pelo menos um ciclo para partilhar", "store_device_downloaded": "{p} programa(s), {c} gravação(ões) adicionados", "store_device_downloaded_phases": "{p} programa(s), {c} gravação(ões), {ph} mapa(s) de fases adicionados", "store_device_downloaded_settings": "{p} programa(s), {c} gravação(ões), {ph} mapa(s) de fases, {s} definição(ões) adicionados", "store_device_shared": "{n} ciclo(s) partilhado(s) na loja da comunidade -- pendente de revisão.", "store_device_shared_all_dup": "Todos os {n} ciclo(s) já estavam na loja da comunidade.", "store_device_shared_partial": "{n} ciclo(s) partilhado(s); {failed} não puderam ser carregados.", "store_device_shared_some_dup": "{created} ciclo(s) partilhado(s); {dup} já estavam na loja.", "store_download_failed": "Falha na transferência: {error}", "store_download_nothing": "Nada de novo para transferir -- esta configuração já está no seu dispositivo.", "export_selective_done": "Exportação transferida", "import_selective_done": "Importados {profiles} perfil(is) e {cycles} ciclo(s)" }, "suggestion": { "both_agree": "WashData recomenda", "calibrated_label": "Calibrado", "observed_label": "Observado", "impact": { "auto_label_confidence": { "higher": "Etiqueta menos ciclos automaticamente; mais vão para revisão", "lower": "Etiqueta mais ciclos automaticamente; alguns podem ser mal identificados" }, "duration_tolerance": { "higher": "Aceita um intervalo de duração mais amplo – correspondência mais flexível", "lower": "Exige duração mais próxima – mais rigoroso, pode rejeitar ciclos invulgares" }, "end_energy_threshold": { "higher": "Fecha apenas ciclos que consumiram energia substancial", "lower": "Também fecha ciclos curtos ou de baixa energia" }, "end_repeat_count": { "higher": "Exige que o sinal de fim se repita mais vezes – mais robusto, ligeiramente mais lento", "lower": "Termina após menos repetições – deteção mais rápida, maior risco de fim falso" }, "learning_confidence": { "higher": "Aprende apenas com correspondências muito confiantes – mais lento mas mais fiável", "lower": "Aprende com mais ciclos; o modelo pode ser menos preciso" }, "min_off_gap": { "higher": "Requer mais tempo inativo antes de iniciar um novo ciclo", "lower": "Um breve repouso inicia um novo ciclo – execuções consecutivas podem ser divididas" }, "min_power": { "higher": "Menos sensível ao consumo em repouso; pode não detetar programas muito silenciosos", "lower": "Mais sensível; pode registar consumo em standby como atividade" }, "no_update_active_timeout": { "higher": "Mais tempo antes de declarar um ciclo bloqueado", "lower": "Para um ciclo bloqueado mais cedo" }, "off_delay": { "higher": "Mais tempo para pausas do aparelho – gere fases longas de molho ou secagem", "lower": "Deteção de fim mais rápida – adequado para aparelhos com ligação/desligação limpa" }, "profile_match_threshold": { "higher": "Confirma apenas correspondências de alta confiança; mais ciclos ficam sem etiqueta", "lower": "Corresponde a mais ciclos; alguns podem estar ligeiramente errados" }, "running_dead_zone": { "higher": "Ignora breves picos de potência em repouso – menos sensível ao ruído", "lower": "Responde a impulsos mais curtos – deteta atividade transitória rápida" }, "start_threshold_w": { "higher": "Evita arranques falsos por breves picos de potência", "lower": "Deteta programas de baixa potência; pode ser ativado por ruído" }, "stop_threshold_w": { "higher": "Termina o ciclo mais cedo – pode fechar durante uma pausa", "lower": "Aguarda mais para terminar – menos conclusões prematuras" }, "watchdog_interval": { "higher": "Fases silenciosas mais longas permitidas; menos paragens forçadas falsas", "lower": "Deteta ciclos bloqueados de forma mais agressiva" } }, "reason": { "auto_label_confidence": "Confiança no percentil 15 de {cycles} rótulos automáticos que o utilizador nunca corrigiu ({p15}).", "completion_min_seconds": "Metade da duração p05 dos ciclos limpos ({minutes} min) ao longo de {cycles} ciclos; filtra os ciclos fantasma.{excl}", "dead_zone_batch": "Mantido curto (janela mediana de instabilidade no arranque ao longo de {cycles} ciclos = {s}s) para que um fim real seja detetado rapidamente.", "dead_zone_from_dip": "Com base numa queda de potência precoce detetada aos {s}s.", "end_energy_default": "Valor de referência recomendado por predefinição para o limiar de ruído no fim do ciclo.", "end_energy_false": "Energia p95 dos fins falsos ({p95}Wh) ao longo de {cycles} ciclos, com um mínimo de 0.2% da energia mediana do ciclo ({floor}Wh).", "end_energy_no_false": "Sem fins falsos ao longo de {cycles} ciclos; com um mínimo de 0.2% da energia mediana do ciclo ({floor}Wh).", "end_repeat_count": "{false}/{total} ciclos limpos ({pct}%) tiveram uma pausa interna >60s que foi retomada; exigir {val} confirmação(ões) de fim.", "learning_confidence": "Confiança p05 de {cycles} ciclos rotulados pelo utilizador ({p05}); abaixo disto, é pedida uma verificação.", "match_interval": "Com base na cadência de atualização observada (mediana={median}s) * 10.", "max_duration_ratio": "Com base nas durações dos ciclos rotulados (p95={p95}).", "min_active": "Com base na potência ativa mínima ({min}W) observada no último ciclo.", "min_duration_ratio": "Mantido o mais baixo possível para que um programa seja reconhecido cedo no ciclo; os limiares de confiança e ambiguidade evitam decisões prematuras.", "min_off_gap": "Com base em {gaps} intervalos entre ciclos observados (p05={p05}s). Mínimo do dispositivo: {floor}s.", "min_power": "40% da potência ativa mais baixa no p05 ({p05}W) ao longo de {cycles} ciclos limpos, mantendo o limiar de desligamento abaixo do consumo real.{excl}", "ml_auto_label": "Confiança mais baixa que o modelo de qualidade ainda classificou como limpa (p10 de {cycles} ciclos limpos = {p10}).", "ml_end_repeat": "{false}/{total} ciclos ({pct}%) tiveram uma pausa que o detetor de fim pontuou >50%; exigir {val} confirmação(ões) de fim.", "ml_off_delay": "Pausas confirmadas pelo detetor de fim: p95 {p95}s + 60s de margem, a partir de {pauses} pausas verificadas pelo modelo ao longo de {cycles} ciclos (mínimo {floor}s).", "no_update_timeout": "Com base na cadência de atualização observada (p95={p95}s) * 20 (mín. 60s).", "off_delay_cadence": "Com base na cadência de atualização observada (p95={p95}s) * 5", "off_delay_device_floor": "Utilizado o mínimo seguro específico do dispositivo para {device} ({floor}s).", "off_delay_generic_floor": "Utilizado o mínimo seguro genérico ({floor}s).", "off_delay_pauses": "Dimensionado para durar mais do que as pausas reais: pausa intraciclo p95 {p95}s + 60s de margem, a partir de {pauses} pausas ao longo de {cycles} ciclos limpos (mínimo {floor}s).", "profile_match_threshold": "Confiança p10 de {cycles} rótulos automáticos corretos ({p10}); mínimo seguro para confirmação em direto.", "sampling_interval": "Intervalo de atualização mediano observado ao longo de {cycles} ciclos limpos ({si}s).{excl}", "smoothing_window": "Dimensionado para suavizar ~30s de leituras com uma amostragem de {si}s ({samples} amostras).", "start_duration": "Mantido curto (~um intervalo de amostragem de {si}s) para que a deteção comece o mais cedo possível, ignorando ainda assim os picos de uma única amostra.", "thr_batch": "Mantido logo acima da potência ativa mais baixa no p05 ao longo de {cycles} ciclos ({p05}W) para que um arranque seja captado o mais cedo possível e o limiar de paragem se mantenha abaixo da potência de funcionamento mais baixa da máquina.", "tol_per_profile": "p75 da variância de duração por perfil em {profiles} perfis ({cycles} ciclos); os perfis restritos não são penalizados.", "tol_pooled": "Com base na variância de duração agrupada de {cycles} ciclos rotulados recentes (desvio p95={dev}).", "watchdog": "Mantido o mais baixo que é seguro (3x o intervalo de atualização p95 de {p95}s, mín. 30s) para detetar rapidamente os bloqueios sem paragens falsas." }, "exclusions": { "summary": "Excluído(s) {total} ciclo(s) mal detetado(s): {parts}.", "reason": { "force_stopped": "parados forçosamente", "interrupted": "interrompidos", "incomplete": "incompletos", "noise": "ruído", "unlabeled": "sem etiqueta", "no_trace_short": "demasiado curtos para inspecionar", "high_start": "iniciados com potência elevada", "abrupt_end": "terminados abruptamente", "mid_restart": "reinício a meio do ciclo", "no_power": "sem energia", "no_active_power": "sem energia ativa" } } }, "trend": { "down": "Tendência descendente", "up": "Tendência ascendente" }, "maint": { "bearing_service": "Manutenção de rolamentos", "descale": "Descalcificar", "drum_clean": "Limpar o tambor", "filter_clean": "Limpar o filtro", "other": "Outro" }, "col": { "profile_tip": "Nome do programa correspondente. Sem rótulo significa que nenhum perfil correspondeu no fim do ciclo.", "status_tip": "Resultado do ciclo: Concluído (fim natural), Interrompido (queda abrupta de potência), Parado forçosamente (manual) ou Precisa de revisão (feedback pendente).", "date_tip": "Data e hora de início do ciclo.", "duration_tip": "Tempo total de execução do ciclo, do início ao fim.", "energy_tip": "Energia total consumida (kWh). Calculada integrando a potência ao longo do tempo.", "cost_tip": "Custo de energia deste ciclo, fixado na conclusão usando o preço então em vigor (energia x preço por kWh). Defina um preço nas Definições para o preencher.", "confidence_tip": "Confiança de correspondência do perfil (0-100%). Quão próxima a curva de potência do ciclo correspondeu ao programa identificado.", "health_tip": "Saúde do ciclo por ML (mais alto = melhor). Clique num ciclo para o inspecionar e rever.", "flags_tip": "Indicadores de revisão, anomalia e origem do ciclo. Passe o cursor sobre um ícone para ver o detalhe." }, "stat": { "avg": "méd.", "min": "mín {v}", "max": "máx {v}", "consistency": "consistência ±{v}", "total": "total {v}", "last_run": "última exec. {v}", "score": "pontuação {pct}%", "duration_cv": "CV de duração {pct}%", "avg_confidence": "confiança méd. {pct}%" }, "pg_evd": { "detected": "O detetor reconheceu que um ciclo tinha começado.", "match_commit": "O comparador escolheu um programa com confiança suficiente.", "match_changed": "O programa principal mudou à medida que se observava mais parte do ciclo.", "match_ambiguous": "Dois programas obtiveram pontuações muito próximas, pelo que a correspondência foi incerta.", "unmatched": "Nenhum programa guardado correspondia a este ciclo.", "notify_start": "Seria enviada uma notificação de início.", "notify_pre_complete": "Seria enviada uma notificação de quase concluído.", "notify_finish": "Seria enviada uma notificação de conclusão.", "notify_milestone": "Seria enviada uma notificação de etapa.", "notify_held": "Uma notificação foi retida durante as horas de silêncio.", "finished": "O ciclo atingiu um estado final e terminou." }, "store": { "browse": "Explorar", "device": "Dispositivo", "favorites": "Favoritos", "search_ph": "Pesquisar por marca ou modelo…", "no_results": "Não foram encontrados electrodomésticos correspondentes. Tente outra pesquisa.", "n_programs": "{n} programas", "n_cycles": "{n} ciclos", "no_programs": "Ainda não há programas partilhados para este electrodoméstico.", "no_cycles": "Ainda não foram partilhados ciclos de referência para este programa.", "anon": "anónimo", "uploaded_by": "Partilhado por {name}", "connected_as": "Conectado como {name}", "not_connected": "Não conectado. Conecte uma conta GitHub para partilhar os seus próprios ciclos.", "import_new": "Novo perfil", "import_merge": "Combinar com existente", "merge_target": "Combinar com o perfil", "description": "Descrição (opcional)", "contributed_by": "por {name}", "rating_summary": "★ {avg} ({n})", "no_ratings": "Ainda sem avaliações", "website": "Site da loja ↗", "website_tip": "Abrir o site da loja da comunidade" }, "settings": { "gear": { "title": "Definições" } }, "link": { "manual": "Manual ↗", "add_appliance": "Adicione o seu electrodoméstico" }, "tip": { "add_brand": "Marca não listada? Adicione-a ao catálogo da comunidade", "add_appliance": "Modelo não listado? Adicione o seu electrodoméstico ao catálogo da comunidade", "add_profile": "Adicione um perfil para este electrodoméstico no site da comunidade" }, "task": { "reprocess": { "matching": "Reprocessamento: correspondência de ciclos", "golden": "Reprocessamento: marcação de ciclos de referência", "suggestions": "Reprocessamento: sugestões", "ml_training": "Reprocessamento: treino de ML", "health": "Reprocessamento: saúde dos ciclos" }, "pg_sweep": { "optimize": "Otimizar: {param}" }, "pg_detail": { "simulate": "Simular ciclo" }, "split": { "apply": "A dividir o ciclo" }, "trim": { "apply": "A recortar o ciclo" }, "merge": { "apply": "A combinar ciclos" }, "rebuild": { "envelopes": "A reconstruir envelopes" }, "cancelling": "A cancelar..." }, "setup": { "hdr": { "card": "Configuração do dispositivo", "healthy_chip": "Configuração concluída" }, "phase0": { "washer": "O WashData já está a detectar os seus ciclos. Grave o primeiro ciclo para activar os nomes dos programas e as estimativas de tempo.", "dishwasher": "O WashData está a monitorizar. As máquinas de lavar louça têm ciclos complexos – recomenda-se vivamente gravar o primeiro ciclo. Se um ciclo detectado demorar demasiado, utilize o editor de ciclos para o cortar antes de o guardar como perfil.", "generic": "O WashData está a monitorizar. Grave ou rotule um ciclo detectado para começar a criar perfis." }, "phase1a": { "labelled": "Bom começo – o seu primeiro programa está guardado. Para dados mais precisos, considere gravar o próximo ciclo com o widget de gravação." }, "phase1b": { "recorded": "A sua gravação foi guardada como {profile_name}. Agora grave ou rotule os outros programas que utiliza habitualmente para aumentar a cobertura." }, "phase1c": { "verify": "Tem {count} programas da comunidade. Execute um ciclo para verificar se o WashData os reconhece correctamente – a correspondência melhorará à medida que o dispositivo acumula o seu próprio histórico." }, "phase2": { "cluster": "O WashData detectou {count} ciclos que não correspondem a nenhum programa guardado – parecem-se entre si. Quer criar um novo perfil para eles?", "unmatched": "O seu último ciclo não correspondeu a nenhum programa guardado. É um novo programa?" }, "phase3": { "suggestions": "O WashData tem recomendações de definições baseadas no histórico de ciclos – reveja-as para melhorar a precisão de detecção.", "groups": "Alguns dos seus perfis parecem o mesmo programa a temperaturas diferentes. Organize-os num grupo para uma melhor correspondência.", "phases": "Adicione fases de programa a {profile_name} para estimativas mais precisas do tempo restante." }, "phase4": { "healthy": "Este dispositivo está totalmente configurado ({profile_count} perfis)." }, "cta": { "start_recording": "Iniciar gravação", "label_detected_cycle": "Já tenho um ciclo detectado – rotulá-lo em vez disso", "browse_cycles": "Explorar ciclos para rotular outro", "view_profiles": "Ver os seus perfis", "create_from_cluster": "Criar perfil a partir destes ciclos", "create_profile": "Criar um perfil para este programa", "review_suggestions": "Rever sugestões", "organise_profiles": "Organizar perfis", "configure_phases": "Configurar fases", "skip_step": "Ignorar este passo", "skip_forever": "Não voltar a mostrar", "hide_guidance": "Ocultar guia", "show_guidance": "Mostrar guia" } } }