Files
Home-Assistant/custom_components/ha_washdata/translations/ca.json
T
2026-06-14 02:01:49 -04:00

1342 lines
78 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"config": {
"step": {
"user": {
"title": "Configuració de WashData",
"description": "Configura la teva rentadora o un altre aparell.\n\nCal un sensor de potència.\n\n**A continuació, se us demanarà si voleu crear el vostre primer perfil.**",
"data": {
"name": "Nom del dispositiu",
"device_type": "Tipus de dispositiu",
"power_sensor": "Sensor de potència",
"min_power": "Llindar de potència mínima (W)"
},
"data_description": {
"name": "Un nom senzill per a aquest dispositiu (p. ex., \"Rentadora\", \"Rentaplats\").",
"device_type": "Quin tipus d'aparell és aquest? Ajuda a personalitzar la detecció i l'etiquetatge.",
"power_sensor": "L'entitat sensora que informa del consum d'energia en temps real (en watts) des del vostre connector intel·ligent.",
"min_power": "Les lectures de potència per sobre d'aquest llindar (en watts) indiquen que l'aparell està en funcionament. Comenceu amb 2 W per a la majoria de dispositius."
}
},
"first_profile": {
"title": "Crea el primer perfil",
"description": "Un **cicle** és una execució completa del vostre electrodomèstic (p. ex., una càrrega de roba). Un **perfil** agrupa aquests cicles per tipus (p. ex., \"Cotó\", \"rentat ràpid\"). La creació d'un perfil ara ajuda a estimar la durada de la integració immediatament.\n\nPodeu seleccionar aquest perfil manualment als controls del dispositiu si no es detecta automàticament.\n\n**Deixa el \"Nom del perfil\" en blanc per ometre aquest pas.**",
"data": {
"profile_name": "Nom del perfil (opcional)",
"manual_duration": "Durada estimada (minuts)"
}
}
},
"error": {
"cannot_connect": "No s'ha pogut connectar",
"invalid_auth": "Autenticació no vàlida",
"unknown": "Error inesperat"
},
"abort": {
"already_configured": "El dispositiu ja està configurat"
}
},
"options": {
"step": {
"init": {
"menu_options": {
"learning_feedbacks": "Revisar els comentaris d'aprenentatge",
"settings": "Configuració",
"notifications": "Notificacions",
"manage_cycles": "Gestionar cicles",
"manage_profiles": "Gestionar perfils",
"manage_phase_catalog": "Gestionar el catàleg de fases",
"record_cycle": "Cicle de gravació (manual)",
"diagnostics": "Diagnòstic i Manteniment"
}
},
"apply_suggestions": {
"title": "Copia els valors suggerits",
"description": "Això copiarà els valors actuals suggerits a la configuració desada. Aquesta és una acció única i no activa la sobreescritura automàtica.\n\nValors suggerits per copiar:\n{suggested}",
"data": {
"confirm": "Confirmeu l'acció de còpia"
}
},
"apply_suggestions_confirm": {
"title": "Reviseu els canvis suggerits",
"description": "WashData ha trobat **{pending_count}** valors suggerits per aplicar.\n\nCanvis:\n{changes}\n\n✅ Marqueu la casella de sota i feu clic a **Envia** per aplicar i desar aquests canvis immediatament.\n❌ Deixeu-lo sense marcar i feu clic a **Envia** per cancel·lar-lo i tornar enrere.",
"data": {
"confirm_apply_suggestions": "Apliqueu i deseu aquests canvis"
}
},
"settings": {
"title": "Configuració",
"description": "{deprecation_warning}Ajusta els llindars de detecció, l'aprenentatge i el comportament avançat. Els valors predeterminats funcionen bé per a la majoria de configuracions.\n\nConfiguració suggerida disponible actualment: {suggestions_count}.\nSi és superior a 0, obre la Configuració avançada i usa 'Aplica els valors suggerits' per revisar les recomanacions.",
"data": {
"apply_suggestions": "Aplicar els valors suggerits",
"device_type": "Tipus de dispositiu",
"power_sensor": "Entitat del sensor de potència",
"min_power": "Potència mínima (W)",
"off_delay": "Retard de finalització de cicle (s)",
"notify_actions": "Accions de notificació",
"notify_people": "Endarrerir el lliurament fins que aquestes persones siguin a casa",
"notify_only_when_home": "Retarda les notificacions fins que la persona seleccionada sigui a casa",
"notify_fire_events": "Activar esdeveniments d'automatització",
"notify_start_services": "Inici del cicle - Objectius de notificació",
"notify_finish_services": "Finalització del cicle: objectius de notificació",
"notify_live_services": "Progrés en directe: objectius de notificació",
"notify_before_end_minutes": "Notificació prèvia a la finalització (minuts abans del final)",
"notify_title": "Títol de la notificació",
"notify_icon": "Icona de notificació",
"notify_start_message": "Inicieu el format del missatge",
"notify_finish_message": "Finalitza el format del missatge",
"notify_pre_complete_message": "Format de missatge previ a la finalització",
"show_advanced": "Edita la configuració avançada (pas següent)"
},
"data_description": {
"apply_suggestions": "Marqueu aquesta casella per copiar els valors suggerits per l'algoritme d'aprenentatge al formulari. Revisa abans de desar.\n\nSuggerit (de l'aprenentatge):\n- min_power: {suggested_min_power} W\n- off_delay: {suggested_off_delay} s\n- watchdog_interval: {suggested_watchdog_interval} s\n- no_update_active_timeout: {suggested_no_update_active_timeout} s\n- profile_match_interval: {suggested_profile_match_interval} s\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} W\n- stop_threshold_w: {suggested_stop_threshold_w} W\n- end_energy_threshold: {suggested_end_energy_threshold} Wh\n- running_dead_zone: {suggested_running_dead_zone} s\n{suggested_reason}",
"device_type": "Seleccioneu el tipus d'aparell (rentadora, assecadora, rentavaixelles, cafetera, EV). Aquesta etiqueta s'emmagatzema amb cada cicle per a una millor organització.",
"power_sensor": "L'entitat sensora que informa de la potència en temps real (en watts). Podeu canviar-ho en qualsevol moment sense perdre les dades històriques; és útil si substituïu un connector intel·ligent.",
"min_power": "Les lectures de potència per sobre d'aquest llindar (en watts) indiquen que l'aparell està en funcionament. Comenceu amb 2 W per a la majoria de dispositius.",
"off_delay": "En segons, la potència suavitzada s'ha de mantenir per sota del llindar d'aturada per marcar la finalització. Per defecte: 120 s.",
"notify_actions": "Seqüència d'accions de Home Assistant opcional per executar-se per a les notificacions (scripts, notificació, TTS, etc.). Si s'estableix, les accions s'executen abans del servei de notificació alternativa.",
"notify_people": "Entitats de persones que s'utilitzen per al control de presència. Quan està activat, l'entrega de notificacions es retarda fins que almenys una persona seleccionada és a casa.",
"notify_only_when_home": "Si està activat, retarda les notificacions fins que almenys una persona seleccionada sigui a casa.",
"notify_fire_events": "Si està activat, activa els esdeveniments de Home Assistant per a l'inici i el final del cicle (ha_washdata_cycle_started i ha_washdata_cycle_ended) per impulsar les automatitzacions.",
"notify_start_services": "Un o més serveis de notificació per avisar quan comença un cicle. Deixa en blanc per saltar les notificacions d'inici.",
"notify_finish_services": "Un o més serveis de notificació per avisar quan un cicle acaba o s'apropa a la seva finalització. Deixa en blanc per saltar les notificacions de finalització.",
"notify_live_services": "Un o més serveis de notificació per rebre actualitzacions de progrés en directe mentre s'executa el cicle (només l'aplicació mòbil complementària). Deixeu el camp buit per saltar les actualitzacions en directe.",
"notify_before_end_minutes": "Minuts abans del final estimat del cicle per activar una notificació. Establiu a 0 per desactivar. Per defecte: 0.",
"notify_title": "Títol personalitzat per a les notificacions. Admet {device} marcador de posició.",
"notify_icon": "Icona per utilitzar per a les notificacions (p. ex. mdi:washing-machine). Deixeu-lo en blanc per enviar sense icona.",
"notify_start_message": "Missatge enviat quan comença un cicle. Admet {device} marcador de posició.",
"notify_finish_message": "Missatge enviat quan acaba un cicle. Admet marcadors de posició {device}, {duration}, {program}, {energy_kwh}, {cost}.",
"notify_pre_complete_message": "El text de les actualitzacions recurrents de progrés en directe mentre s'executa el cicle. Admet marcadors de posició {device}, {minutes}, {program}."
}
},
"notifications": {
"title": "Notificacions",
"description": "Configura canals de notificació, plantilles i actualitzacions opcionals de progrés mòbils en directe.",
"data": {
"notify_actions": "Accions de notificació",
"notify_people": "Endarrerir el lliurament fins que aquestes persones siguin a casa",
"notify_only_when_home": "Retarda les notificacions fins que la persona seleccionada sigui a casa",
"notify_fire_events": "Activar esdeveniments d'automatització",
"notify_start_services": "Inici del cicle - Objectius de notificació",
"notify_finish_services": "Finalització del cicle: objectius de notificació",
"notify_live_services": "Progrés en directe: objectius de notificació",
"notify_before_end_minutes": "Notificació prèvia a la finalització (minuts abans del final)",
"notify_live_interval_seconds": "Interval d'actualització en directe (segons)",
"notify_live_overrun_percent": "Marge de seguretat per a sobrecàrrega d'actualitzacions en directe (%)",
"notify_live_chronometer": "Temporitzador de compte enrere del cronòmetre",
"notify_title": "Títol de la notificació",
"notify_icon": "Icona de notificació",
"notify_start_message": "Inicieu el format del missatge",
"notify_finish_message": "Finalitza el format del missatge",
"notify_pre_complete_message": "Format de missatge previ a la finalització",
"energy_price_entity": "Preu de l'energia - Entitat (opcional)",
"energy_price_static": "Preu de l'energia: valor estàtic (opcional)",
"go_back": "Torna enrere sense desar",
"notify_reminder_message": "Format de missatge de recordatori",
"notify_timeout_seconds": "Auto-ismes després (segons)",
"notify_channel": "Canal de notificació (estat/ viu/reminder)",
"notify_finish_channel": "Canal de notificació finalitzada"
},
"data_description": {
"go_back": "Marqueu això i feu clic a Envia per descartar qualsevol canvi anterior i tornar al menú principal.",
"notify_actions": "Seqüència d'accions de Home Assistant opcional per executar-se per a les notificacions (scripts, notificació, TTS, etc.). Si s'estableix, les accions s'executen abans del servei de notificació alternativa.",
"notify_people": "Entitats de persones que s'utilitzen per al control de presència. Quan està activat, l'entrega de notificacions es retarda fins que almenys una persona seleccionada és a casa.",
"notify_only_when_home": "Si està activat, retarda les notificacions fins que almenys una persona seleccionada sigui a casa.",
"notify_fire_events": "Si està activat, activa els esdeveniments de Home Assistant per a l'inici i el final del cicle (ha_washdata_cycle_started i ha_washdata_cycle_ended) per impulsar les automatitzacions.",
"notify_start_services": "Un o més serveis de notificació per avisar quan comença un cicle (p. ex., notify.mobile_app_my_phone). Deixa en blanc per saltar les notificacions d'inici.",
"notify_finish_services": "Un o més serveis de notificació per avisar quan un cicle acaba o s'apropa a la seva finalització. Deixa en blanc per saltar les notificacions de finalització.",
"notify_live_services": "Un o més serveis de notificació per rebre actualitzacions de progrés en directe mentre s'executa el cicle (només l'aplicació mòbil complementària). Deixeu el camp buit per saltar les actualitzacions en directe.",
"notify_before_end_minutes": "Minuts abans del final estimat del cicle per activar una notificació. Establiu a 0 per desactivar. Per defecte: 0.",
"notify_live_interval_seconds": "Amb quina freqüència s'envien les actualitzacions de progrés mentre s'executen. Els valors més baixos són més sensibles, però consumeixen més notificacions. S'aplica un mínim de 30 segons: els valors inferiors a 30 s s'arrodoneixen automàticament a 30 s.",
"notify_live_overrun_percent": "Marge de seguretat per sobre del recompte d'actualitzacions estimat per a cicles llargs/excedits (per exemple, el 20% permet actualitzacions 1,2 vegades estimades).",
"notify_live_chronometer": "Quan està activat, cada actualització en directe inclou un compte enrere del cronòmetre fins a l'hora d'acabament estimada. El temporitzador de notificacions s'activa automàticament al dispositiu entre les actualitzacions (només l'aplicació complementària d'Android).",
"notify_title": "Títol personalitzat per a les notificacions. Admet {device} marcador de posició.",
"notify_icon": "Icona per utilitzar per a les notificacions (p. ex. mdi:washing-machine). Deixeu-lo en blanc per enviar sense icona.",
"notify_start_message": "Missatge enviat quan comença un cicle. Admet {device} marcador de posició.",
"notify_finish_message": "Missatge enviat quan acaba un cicle. Admet marcadors de posició {device}, {duration}, {program}, {energy_kwh}, {cost}.",
"energy_price_entity": "Seleccioneu una entitat numèrica que contingui el preu actual de l'electricitat (p. ex., sensor.electricity_price, input_number.energy_rate). Quan s'estableix, activa el marcador de posició {cost}. Té prioritat sobre el valor estàtic si tots dos estan configurats.",
"energy_price_static": "Preu fix de l'electricitat per kWh. Quan s'estableix, activa el marcador de posició {cost}. S'ignora si una entitat està configurada més amunt. Afegiu el vostre símbol de moneda a la plantilla del missatge, p. ex. {cost} €.",
"notify_reminder_message": "Text del recordatori d' una vegada enviat el nombre de minuts configurats abans del final estimat. Discinta des de les actualitzacions de la vida recurrent a dalt. Implementació {device}, {minutes}, variable {program}.",
"notify_timeout_seconds": "Mostra automàticament les notificacions després d' aquests molts segons (reprodueix- les com a 'timeout' del company). Posa a 0 per a mantenir-los fins que es desconnectin. Omissió: 0.",
"notify_channel": "Canal de notificació Android per a l' estat, progrés i notificacions de recordatori. El so i la importància d' un canal estan configurats en l' aplicació del company la primera vegada que s' usa el nom del canal - RenshData només estableix el nom del canal. Deixa buit per omissió l' aplicació.",
"notify_finish_channel": "Separa el canal Android per a l' alerta finalitzada (també usat pel recordatori i l' expulsió de la roba) per tal que pugui tenir el seu propi so. Deixa buit per a tornar a utilitzar el canal de dalt.",
"notify_pre_complete_message": "El text de les actualitzacions recurrents de progrés en directe mentre s'executa el cicle. Admet marcadors de posició {device}, {minutes}, {program}."
}
},
"advanced_settings": {
"title": "Configuració avançada",
"description": "Ajusta els llindars de detecció, l'aprenentatge i el comportament avançat. Els valors predeterminats funcionen bé per a la majoria de configuracions.",
"sections": {
"suggestions_section": {
"name": "Configuració suggerida",
"description": "{suggestions_count} suggeriments apresos disponibles. Marqueu Aplica els valors suggerits per revisar els canvis proposats abans de desar.",
"data": {
"apply_suggestions": "Aplicar els valors suggerits"
},
"data_description": {
"apply_suggestions": "Marqueu aquesta casella per obrir un pas de revisió dels valors suggerits de l'algoritme d'aprenentatge. No es desa res automàticament.\n\nSuggerit (de l'aprenentatge):\n- min_power: {suggested_min_power} W\n- off_delay: {suggested_off_delay} s\n- watchdog_interval: {suggested_watchdog_interval} s\n- no_update_active_timeout: {suggested_no_update_active_timeout} s\n- profile_match_interval: {suggested_profile_match_interval} s\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} W\n- stop_threshold_w: {suggested_stop_threshold_w} W\n- end_energy_threshold: {suggested_end_energy_threshold} Wh\n- running_dead_zone: {suggested_running_dead_zone} s\n{suggested_reason}"
}
},
"detection_section": {
"name": "Detecció i llindars de potència",
"description": "Quan l'aparell es considera ENCÈS o APAGAT, llindars d'energia i temporització per a les transicions d'estat.",
"data": {
"start_duration_threshold": "Durada d'inici de rebot (s)",
"start_energy_threshold": "Inici Energy Gate (Wh)",
"completion_min_seconds": "Temps d'execució mínim de finalització (segons)",
"start_threshold_w": "Llindar inicial (W)",
"stop_threshold_w": "Llindar d'aturada (W)",
"end_energy_threshold": "Porta d'energia final (Wh)",
"running_dead_zone": "Running Dead Zone (segons)",
"end_repeat_count": "Finalitza el recompte de repeticions",
"min_off_gap": "Bretxa mínima entre cicles (s)",
"sampling_interval": "Interval (s) de mostreig"
},
"data_description": {
"start_duration_threshold": "Ignoreu pics de potència breus més curts que aquesta durada (segons). Filtra els pics d'arrencada (p. ex., 60 W durant 2 segons) abans que comenci el cicle real. Per defecte: 5 s.",
"start_energy_threshold": "El cicle ha d'acumular almenys aquesta quantitat d'energia (Wh) durant la fase d'arrencada per confirmar-se. Per defecte: 0,005 Wh.",
"completion_min_seconds": "Els cicles més curts que aquest es marcaran com a \"interromputs\", encara que acabin de manera natural. Per defecte: 600 s.",
"start_threshold_w": "La potència ha de pujar per sobre d'aquest llindar per iniciar un cicle. Estableix una potència superior a la teva en espera. Per defecte: min_power + 1 W.",
"stop_threshold_w": "L'energia ha de baixar per sota d'aquest llindar per FINALITZAR un cicle. Establiu just per sobre de zero per evitar que el soroll provoqui finals falsos. Per defecte: 0,6 * min_power.",
"end_energy_threshold": "El cicle acaba només si l'energia de l'última finestra de retard d'apagada està per sota d'aquest valor (Wh). Impedeix finals falsos si la potència fluctua prop de zero. Per defecte: 0,05 Wh.",
"running_dead_zone": "Després d'iniciar el cicle, ignoreu les caigudes de potència durant aquests segons per evitar la detecció de finals falsos durant la fase inicial d'engegada. Establiu a 0 per desactivar. Per defecte: 0 s.",
"end_repeat_count": "Nombre de vegades que la condició final (potència per sota del llindar per off_delay) s'ha de complir consecutivament abans d'acabar el cicle. Els valors més alts eviten finals falsos durant les pauses. Per defecte: 1.",
"min_off_gap": "Si un cicle s'inicia en tants segons des de la finalització de l'anterior, es FUSIONARÀ en un sol cicle.",
"sampling_interval": "Interval mínim de mostreig en segons. Les actualitzacions més ràpides que aquesta velocitat s'ignoraran. Per defecte: 30 s (2 s per a rentadores, rentadores-assecadores i rentavaixelles)."
}
},
"matching_section": {
"name": "Coincidència de perfils i aprenentatge",
"description": "Com d'agressivament WashData fa coincidir els cicles en execució amb els perfils apresos i quan demanar comentaris.",
"data": {
"profile_match_min_duration_ratio": "Relació de durada mínima de la coincidència del perfil (0,1-1,0)",
"profile_match_interval": "Interval de concordança del perfil (segons)",
"profile_match_threshold": "Llindar de concordança del perfil",
"profile_unmatch_threshold": "Llindar de no coincidència del perfil",
"auto_label_confidence": "Confiança de l'etiqueta automàtica (0-1)",
"learning_confidence": "Confiança de la sol·licitud de comentaris (0-1)",
"suppress_feedback_notifications": "Suprimeix les notificacions de comentaris",
"duration_tolerance": "Tolerància a la durada (0-0,5)",
"smoothing_window": "Finestra de suavització (mostres)",
"profile_duration_tolerance": "Tolerància a la durada de la coincidència del perfil (0-0,5)"
},
"data_description": {
"profile_match_min_duration_ratio": "Relació de durada mínima per a la concordança del perfil. El cicle d'execució ha de ser com a mínim aquesta fracció de la durada del perfil perquè coincideixi. Inferior = coincidència anterior. Per defecte: 0,50 (50%).",
"profile_match_interval": "Amb quina freqüència (en segons) intentar la concordança del perfil durant un cicle. Els valors més baixos proporcionen una detecció més ràpida, però utilitzen més CPU. Per defecte: 300 s (5 minuts).",
"profile_match_threshold": "La puntuació mínima de similitud DTW (0,01,0) necessària per considerar un perfil com a coincidència. Major = concordança més estricta, menys falsos positius. Per defecte: 0,4.",
"profile_unmatch_threshold": "Puntuació de similitud DTW (0,01,0) per sota de la qual es rebutja un perfil coincident anteriorment. Hauria de ser inferior al llindar de coincidència per evitar el parpelleig. Per defecte: 0,35.",
"auto_label_confidence": "Etiqueteu automàticament els cicles amb aquesta confiança o per sobre en finalitzar (0,0-1,0).",
"learning_confidence": "Confiança mínima per sol·licitar la verificació de l'usuari mitjançant un esdeveniment (0,01,0).",
"suppress_feedback_notifications": "Quan està activat, WashData seguirà fent un seguiment i sol·licitant comentaris internament, però no mostrarà notificacions persistents que us demanin que confirmeu els cicles. Útil quan els cicles sempre es detecten correctament i trobeu que les indicacions distreuen.",
"duration_tolerance": "Tolerància per a les estimacions del temps restant durant una carrera (0,0-0,5 correspon al 0-50%).",
"smoothing_window": "Nombre de lectures de potència recents utilitzades per a la suavització de mitjana mòbil.",
"profile_duration_tolerance": "Tolerància utilitzada per la concordança de perfils per a la variació de la durada total (0,0-0,5). Comportament per defecte: ±25%."
}
},
"timing_section": {
"name": "Temporització, manteniment i depuració",
"description": "Watchdog, reinici del progrés, manteniment automàtic i exposició d'entitats de depuració.",
"data": {
"watchdog_interval": "Interval de control (segons)",
"no_update_active_timeout": "Temps d'espera sense actualització (s)",
"progress_reset_delay": "Retard de restabliment del progrés (segons)",
"auto_maintenance": "Activa el manteniment automàtic",
"expose_debug_entities": "Exposa entitats de depuració",
"save_debug_traces": "Desa les traces de depuració"
},
"data_description": {
"watchdog_interval": "Segons entre comprovacions del gos vigilant mentre s'executa. Per defecte: 5 s. ADVERTÈNCIA: assegureu-vos que sigui SUPERIOR que l'interval d'actualització del vostre sensor per evitar falses parades (p. ex., si el sensor s'actualitza cada 60 s, utilitzeu 65 s o més).",
"no_update_active_timeout": "Per als sensors de publicació al canvi: només s'ha de forçar la finalització d'un cicle ACTIV si no arriben actualitzacions durant tants segons. La finalització de baix consum encara utilitza el retard d'apagat.",
"progress_reset_delay": "Un cop finalitzat un cicle (100%), espereu aquests segons d'inactivitat abans de restablir el progrés al 0%. Per defecte: 300 s.",
"auto_maintenance": "Habiliteu el manteniment automàtic (repareu mostres, fusioneu fragments).",
"expose_debug_entities": "Mostra sensors avançats (confiança, fase, ambigüitat) per a la depuració.",
"save_debug_traces": "Emmagatzema dades detallades de classificació i traça de potència a l'historial (augmenta l'ús d'emmagatzematge)."
}
},
"anti_wrinkle_section": {
"name": "Escut antiarrugues (assecadores)",
"description": "Ignora les rotacions del tambor després del cicle per evitar cicles fantasma. Només assecadora / rentadora-assecadora.",
"data": {
"anti_wrinkle_enabled": "Escut antiarrugues (només assecador)",
"anti_wrinkle_max_power": "Potència màxima antiarrugues (W)",
"anti_wrinkle_max_duration": "Durada màxima anti-arrugues (s)",
"anti_wrinkle_exit_power": "Potència de sortida anti-arrugues (W)"
},
"data_description": {
"anti_wrinkle_enabled": "Ignoreu les rotacions curtes de tambor de baixa potència després d'acabar un cicle per evitar cicles fantasma (només assecadora/rentadora-assecadora).",
"anti_wrinkle_max_power": "Les ràfegues amb aquesta potència o per sota es tracten com a rotacions anti-arrugues en lloc de nous cicles. Només s'aplica quan l'escut antiarrugues està activat.",
"anti_wrinkle_max_duration": "Longitud màxima de l'esclat per tractar-se com a rotació anti-arrugues. Només s'aplica quan l'escut antiarrugues està activat.",
"anti_wrinkle_exit_power": "Si la potència cau per sota d'aquest nivell, sortiu de l'antiarrugues immediatament (apagat veritablement). Només s'aplica quan l'escut antiarrugues està activat."
}
},
"delay_start_section": {
"name": "Detecció d'inici diferit",
"description": "Tracta l'espera sostinguda de baixa potència com a 'En espera per començar' fins que el cicle comenci realment.",
"data": {
"delay_start_detect_enabled": "Activa la detecció d'inici retardat",
"delay_confirm_seconds": "Inici diferit: temps de confirmació d'espera (s)",
"delay_timeout_hours": "Inici retardat: temps d'espera màxim (h)"
},
"data_description": {
"delay_start_detect_enabled": "Quan està activat, es detecta un augment de drenatge breu de baixa potència seguit d'una potència en espera sostinguda com a inici retardat. El sensor d'estat mostra \"Esperant per començar\" durant el retard. No es fa un seguiment del temps ni del progrés del programa fins que el cicle comença realment. Requereix que start_threshold_w s'estableixi per sobre de la potència del pic de drenatge.",
"delay_confirm_seconds": "La potència ha de romandre entre el Llindar d'aturada (W) i el Llindar d'inici (W) durant aquest nombre de segons abans que WashData entri a 'En espera per començar'. Filtra els pics breus de navegació pels menús. Per defecte: 60 s.",
"delay_timeout_hours": "Temps d'espera de seguretat: si la màquina encara està en \"Esperant per iniciar\" després d'aquestes moltes hores, WashData es restableix a Off. Per defecte: 8 h."
}
},
"external_triggers_section": {
"name": "Activadors externs, porta i pausa",
"description": "Sensor extern opcional de fi de cicle, sensor de porta per a la detecció de pausa/net i interruptor de tall d'alimentació en pausar.",
"data": {
"external_end_trigger_enabled": "Activa l'activador de final de cicle extern",
"external_end_trigger": "Sensor de final de cicle extern",
"external_end_trigger_inverted": "Inverteix la lògica de l'activació (disparador desactivat)",
"door_sensor_entity": "Sensor de porta",
"pause_cuts_power": "Talleu l'alimentació quan feu una pausa",
"switch_entity": "Canvia d'entitat (per a la pausa del tall d'alimentació)",
"notify_unload_delay_minutes": "Retard de notificació d'espera de bugaderia (min)"
},
"data_description": {
"external_end_trigger_enabled": "Habiliteu la supervisió d'un sensor binari extern per activar la finalització del cicle.",
"external_end_trigger": "Seleccioneu una entitat de sensor binari. Quan aquest sensor s'activa, el cicle actual finalitzarà amb l'estat \"complet\".",
"external_end_trigger_inverted": "De manera predeterminada, el disparador s'activa quan el sensor s'activa. Marqueu aquesta casella per activar-se quan el sensor s'apagui.",
"door_sensor_entity": "Sensor binari opcional per a la porta de la màquina (encesa = oberta, apagada = tancada). Quan la porta s'obre durant un cicle actiu, WashData confirmarà el cicle com a pausa intencionada. Un cop finalitza el cicle, si la porta encara està tancada, l'estat canvia a \"Neteja\" fins que la porta s'obre. Nota: el tancament de la porta NO reprèn automàticament un cicle en pausa; el reinici s'ha d'activar manualment mitjançant el botó o el servei Reprèn el cicle.",
"pause_cuts_power": "Quan feu una pausa mitjançant el botó o el servei de pausa del cicle, també desactiveu l'entitat de commutació configurada. Només té efecte si es configura una entitat de commutació per a aquest dispositiu.",
"switch_entity": "L'entitat de commutació per alternar quan s'atura o es reprèn. Necessari quan l'opció \"Tallar l'alimentació en pausa\" està activada.",
"notify_unload_delay_minutes": "Envieu una notificació a través del canal de notificació d'acabament un cop finalitzi el cicle i la porta no s'hagi obert durant tants minuts (requereix el sensor de la porta). Establiu a 0 per desactivar. Per defecte: 60 min."
}
},
"pump_section": {
"name": "Monitor de bomba",
"description": "Només per al tipus de dispositiu bomba. Dispara un esdeveniment si un cicle de bomba supera aquesta durada.",
"data": {
"pump_stuck_duration": "Llindar (s) d'alerta de bomba bloquejada (només bomba)"
},
"data_description": {
"pump_stuck_duration": "Si un cicle de bomba encara s'està executant després d'aquests segons, s'activa un esdeveniment ha_washdata_pump_stuck. Utilitzeu-ho per detectar un motor encallat (el funcionament típic de la bomba de carter és inferior a 60 s). Per defecte: 1800 s (30 min). Només tipus de dispositiu de bomba."
}
},
"device_link_section": {
"name": "Enllaç de dispositiu",
"description": "Enllaç opcional aquest dispositiu RenshData a un dispositiu Home Assistant existent (per exemple el connector intel· ligent o el mateix aparell). El dispositiu RenshData es mostra llavors com \"Connectat via\" aquest dispositiu. Deixa buit per mantenir RenshData com a un dispositiu independent.",
"data": {
"linked_device": "Dispositiu enllaçat"
},
"data_description": {
"linked_device": "Seleccioneu el dispositiu a on connectar RenshData. Això afegeix una 'Connectada via' referència al registre del dispositiu; RenshData manté la seva pròpia targeta de dispositiu i entitats. Neteja la selecció per eliminar l' enllaç."
}
}
}
},
"diagnostics": {
"title": "Diagnòstic i Manteniment",
"description": "Executeu accions de manteniment, com ara combinar cicles fragmentats o migrar les dades emmagatzemades.\n\n**Ús d'emmagatzematge**\n\n- Mida del fitxer: {file_size_kb} KB\n- Cicles: {cycle_count}\n- Perfils: {profile_count}\n- Traces de depuració: {debug_count}",
"menu_options": {
"reprocess_history": "Manteniment: reprocessament i optimització de dades",
"clear_debug_data": "Esborra les dades de depuració (allibera espai)",
"wipe_history": "Esborra TOTES les dades d'aquest dispositiu (irreversible)",
"export_import": "Exportar/Importar JSON amb la configuració (copiar/enganxar)",
"menu_back": "← Enrere"
}
},
"clear_debug_data": {
"title": "Esborra les dades de depuració",
"description": "Esteu segur que voleu suprimir tots els rastres de depuració emmagatzemats? Això alliberarà espai però eliminarà la informació detallada de la classificació dels cicles anteriors."
},
"manage_cycles": {
"title": "Gestionar cicles",
"description": "Cicles recents:\n{recent_cycles}",
"menu_options": {
"auto_label_cycles": "Etiqueta automàtica de cicles antics",
"select_cycle_to_label": "Cicle específic de l'etiqueta",
"select_cycle_to_delete": "Suprimeix el cicle",
"interactive_editor": "Combinar/dividir Editor interactiu",
"trim_cycle_select": "Dades del cicle de retallada",
"menu_back": "← Enrere"
}
},
"manage_cycles_empty": {
"title": "Gestionar cicles",
"description": "Encara no s'han registrat cicles.",
"menu_options": {
"auto_label_cycles": "Etiqueta automàtica de cicles antics",
"menu_back": "← Enrere"
}
},
"manage_profiles": {
"title": "Gestionar perfils",
"description": "Resum del perfil:\n{profile_summary}",
"menu_options": {
"create_profile": "Crea un perfil nou",
"edit_profile": "Edita/canvia el nom del perfil",
"delete_profile_select": "Suprimeix el perfil",
"profile_stats": "Estadístiques de perfil",
"cleanup_profile": "Neteja l'historial: gràfic i suprimir",
"assign_profile_phases_select": "Assignar intervals de fase",
"menu_back": "← Enrere"
}
},
"manage_profiles_empty": {
"title": "Gestionar perfils",
"description": "Encara no s'ha creat cap perfil.",
"menu_options": {
"create_profile": "Crea un perfil nou",
"menu_back": "← Enrere"
}
},
"manage_phase_catalog": {
"title": "Gestionar el catàleg de fases",
"description": "Catàleg de fases (valors per defecte per a aquest dispositiu + fases personalitzades):\n{phase_summary}",
"menu_options": {
"phase_catalog_create": "Crea una nova fase",
"phase_catalog_edit_select": "Fase d'edició",
"phase_catalog_delete": "Suprimeix la fase",
"menu_back": "← Enrere"
}
},
"phase_catalog_create": {
"title": "Crea una fase personalitzada",
"description": "Creeu un nom i una descripció de fase personalitzats i trieu a quin tipus de dispositiu s'aplica.",
"data": {
"target_device_type": "Tipus de dispositiu objectiu",
"phase_name": "Nom de la fase",
"phase_description": "Descripció de la fase"
}
},
"phase_catalog_edit_select": {
"title": "Edita la fase personalitzada",
"description": "Seleccioneu una fase personalitzada per editar.",
"data": {
"phase_name": "Fase personalitzada"
}
},
"phase_catalog_edit": {
"title": "Edita la fase personalitzada",
"description": "Fase d'edició: {phase_name}",
"data": {
"phase_name": "Nom de la fase",
"phase_description": "Descripció de la fase"
}
},
"phase_catalog_delete": {
"title": "Suprimeix la fase personalitzada",
"description": "Seleccioneu una fase personalitzada per suprimir. Tots els intervals assignats que utilitzin aquesta fase s'eliminaran.",
"data": {
"phase_name": "Fase personalitzada"
}
},
"assign_profile_phases": {
"title": "Assignar intervals de fase",
"description": "Fase de previsualització del perfil: **{profile_name}**\n\n{timeline_svg}\n\n**Intervals actuals:**\n{current_ranges}\n\nFeu servir les accions següents per afegir, editar, suprimir o desar intervals.",
"menu_options": {
"assign_profile_phases_add": "Afegeix l'interval de fases",
"assign_profile_phases_edit_select": "Edita l'interval de fases",
"assign_profile_phases_delete": "Suprimeix l'interval de fases",
"phase_ranges_clear": "Esborra tots els intervals",
"assign_profile_phases_auto_detect": "Autodetecció de fases",
"phase_ranges_save": "Guarda i torna",
"menu_back": "← Enrere"
}
},
"assign_profile_phases_add": {
"title": "Afegeix l'interval de fases",
"description": "Afegiu un interval de fase a l'esborrany actual.",
"data": {
"phase_name": "Fase",
"start_min": "Minut d'inici",
"end_min": "Minut final"
}
},
"assign_profile_phases_edit_select": {
"title": "Edita l'interval de fases",
"description": "Seleccioneu un interval per editar.",
"data": {
"range_index": "Interval de fases"
}
},
"assign_profile_phases_edit": {
"title": "Edita l'interval de fases",
"description": "Actualitza l'interval de fase seleccionat.",
"data": {
"phase_name": "Fase",
"start_min": "Minut d'inici",
"end_min": "Minut final"
}
},
"assign_profile_phases_delete": {
"title": "Suprimeix l'interval de fases",
"description": "Seleccioneu un interval per eliminar-lo de l'esborrany.",
"data": {
"range_index": "Interval de fases"
}
},
"assign_profile_phases_auto_detect": {
"title": "Fases detectades automàticament",
"description": "Perfil: **{profile_name}**\n\n{timeline_svg}\n\n**S'han detectat {detected_count} fases automàticament.** Trieu una acció a continuació.",
"data": {
"action": "Acció"
}
},
"assign_profile_phases_auto_detect_name": {
"title": "Nom Fases detectades",
"description": "Perfil: **{profile_name}**\n\n**S'han detectat {detected_count} fases:**\n{ranges_summary}\n\nAssigna un nom a cada fase."
},
"assign_profile_phases_select": {
"title": "Assignar intervals de fase",
"description": "Seleccioneu un perfil per configurar els intervals de fase.",
"data": {
"profile": "Perfil"
}
},
"profile_stats": {
"title": "Estadístiques de perfil",
"description": "{stats_table}"
},
"create_profile": {
"title": "Crea un perfil nou",
"description": "Creeu un perfil nou manualment o a partir d'un cicle anterior.\n\nExemples de noms de perfil: \"Delicats\", \"Heavy Duty\", \"Quick Wash\"",
"data": {
"profile_name": "Nom del perfil",
"reference_cycle": "Cicle de referència (opcional)",
"manual_duration": "Durada manual (minuts)"
}
},
"edit_profile": {
"title": "Edita el perfil",
"description": "Seleccioneu un perfil per canviar el nom",
"data": {
"profile": "Perfil"
}
},
"rename_profile": {
"title": "Edita els detalls del perfil",
"description": "Perfil actual: {current_name}",
"data": {
"new_name": "Nom del perfil",
"manual_duration": "Durada manual (minuts)"
}
},
"delete_profile_select": {
"title": "Suprimeix el perfil",
"description": "Seleccioneu un perfil per suprimir",
"data": {
"profile": "Perfil"
}
},
"delete_profile_confirm": {
"title": "Confirmeu la supressió del perfil",
"description": "⚠️ Això suprimirà permanentment el perfil: {profile_name}",
"data": {
"unlabel_cycles": "Elimina l'etiqueta dels cicles amb aquest perfil"
}
},
"auto_label_cycles": {
"title": "Etiqueta automàtica de cicles antics",
"description": "S'han trobat {total_count} cicles totals. Perfils: {profiles}",
"data": {
"confidence_threshold": "Confiança mínima (0,50-0,95)"
}
},
"select_cycle_to_label": {
"title": "Seleccioneu Cicle per etiquetar",
"description": "✓ = completat, ⚠ = reprès, ✗ = interromput",
"data": {
"cycle_id": "Cicle"
}
},
"select_cycle_to_delete": {
"title": "Suprimeix el cicle",
"description": "⚠️ Això suprimirà permanentment el cicle seleccionat",
"data": {
"cycle_id": "Cicle per esborrar"
}
},
"label_cycle": {
"title": "Cicle d'etiquetes",
"description": "{cycle_info}",
"data": {
"profile_name": "Perfil",
"new_profile_name": "Nom del perfil nou (si s'està creant)"
}
},
"post_process": {
"title": "Historial de processos (fusionar/dividir)",
"description": "Netegeu l'historial de cicles combinant execucions fragmentades i dividint cicles combinats incorrectament dins d'una finestra de temps. Introduïu el nombre d'hores per mirar enrere (utilitza 999999 per a tots).",
"data": {
"time_range": "Finestra de consulta (hores)",
"gap_seconds": "Combinació/Divisió de la bretxa (segons)"
},
"data_description": {
"time_range": "Nombre d'hores per buscar cicles fragmentats per combinar-los. Utilitzeu 999999 per processar totes les dades històriques.",
"gap_seconds": "Llindar per decidir dividir o combinar. Els buits MÉS CURTS que aquest es combinen. Els buits MÉS LLARG que aquest es divideixen. Baixeu-ho per forçar una divisió en un cicle que s'ha fusionat incorrectament."
}
},
"cleanup_profile": {
"title": "Neteja l'historial: seleccioneu el perfil",
"description": "Seleccioneu un perfil per visualitzar. Això generarà un gràfic que mostra tots els cicles passats d'aquest perfil per ajudar a identificar els valors atípics.",
"data": {
"profile": "Perfil"
}
},
"cleanup_select": {
"title": "Neteja l'historial: gràfic i suprimir",
"description": "![Gràfic]({graph_url})\n\n**Visualització de {profile_name}**\n\nEl gràfic mostra els cicles individuals com a línies de colors. Identifiqueu els valors atípics (línies allunyades del grup) i feu coincidir el seu color a la llista següent per eliminar-los.\n\n**Seleccioneu els cicles per suprimir PERMANENTMENT:**",
"data": {
"cycles_to_delete": "Cicles per suprimir (comprova els colors coincidents)"
}
},
"interactive_editor": {
"title": "Combinar/dividir Editor interactiu",
"description": "Seleccioneu una acció manual per dur a terme al vostre historial de cicles.",
"menu_options": {
"editor_split": "Dividir un cicle (Trobar buits)",
"editor_merge": "Cicles de combinació (uneix fragments)",
"editor_delete": "Suprimeix cicles",
"menu_back": "← Enrere"
}
},
"editor_select": {
"title": "Seleccioneu Cicles",
"description": "Seleccioneu els cicles a processar.\n\n{info_text}",
"data": {
"selected_cycles": "Cicles"
}
},
"editor_configure": {
"title": "Configura i aplica",
"description": "{preview_md}",
"data": {
"confirm_action": "Acció",
"merged_profile": "Perfil resultant",
"new_profile_name": "Nom del perfil nou",
"confirm_commit": "Sí, confirmo aquesta acció",
"segment_0_profile": "Perfil del segment 1",
"segment_1_profile": "Perfil del segment 2",
"segment_2_profile": "Perfil del segment 3",
"segment_3_profile": "Perfil del segment 4",
"segment_4_profile": "Perfil del segment 5",
"segment_5_profile": "Perfil del segment 6",
"segment_6_profile": "Perfil del segment 7",
"segment_7_profile": "Perfil del segment 8",
"segment_8_profile": "Perfil del segment 9",
"segment_9_profile": "Perfil del segment 10"
}
},
"editor_split_params": {
"title": "Configuració dividida",
"description": "Ajusteu la sensibilitat per dividir aquest cicle. Qualsevol espai inactiu més llarg que això provocarà una divisió.",
"data": {
"split_mode": "Mètode de divisió"
}
},
"editor_split_auto_params": {
"title": "Configuració de divisió automàtica",
"description": "Ajusteu la sensibilitat per dividir aquest cicle. Qualsevol interval d'inactivitat més llarg que aquest provocarà una divisió.",
"data": {
"min_gap_seconds": "Llindar de l'interval de divisió (segons)"
}
},
"editor_split_manual_params": {
"title": "Marques horàries de divisió manual",
"description": "{preview_md}Finestra del cicle: **{cycle_start_wallclock} → {cycle_end_wallclock}** el {cycle_date}.\n\nIntroduïu una o més marques horàries de divisió (`HH:MM` o `HH:MM:SS`), una per línia. El cicle es tallarà a cada marca horària — N marques horàries produeixen N+1 segments.",
"data": {
"split_timestamps": "Marques horàries de divisió"
}
},
"reprocess_history": {
"title": "Manteniment: reprocessament i optimització de dades",
"description": "Realitza una neteja profunda de les dades històriques:\n1. Retalla les lectures de potència zero (silenci).\n2. Arregla el temps/durada del cicle.\n3. Recalcula tots els models estadístics (sobres).\n\n**Executa això per solucionar problemes de dades o aplicar algorismes nous.**"
},
"wipe_history": {
"title": "Esborra l'historial (només proves)",
"description": "⚠️ Això suprimirà permanentment TOTS els cicles i perfils emmagatzemats per a aquest dispositiu. Això no es pot desfer!"
},
"export_import": {
"title": "Exporta/Importa JSON",
"description": "Copieu/enganxeu cicles, perfils I configuració d'aquest dispositiu. Exporteu a continuació o enganxeu JSON per importar.",
"data": {
"mode": "Acció",
"json_payload": "Configuració completa JSON"
},
"data_description": {
"mode": "Trieu Exporta per copiar les dades i la configuració actuals, o Importa per enganxar les dades exportades des d'un altre dispositiu WashData.",
"json_payload": "Per a l'exportació: copieu aquest JSON (inclou cicles, perfils i tota la configuració ajustada). Per a la importació: enganxeu JSON exportat des de WashData."
}
},
"record_cycle": {
"title": "Cicle de gravació",
"description": "Enregistreu manualment un cicle per crear un perfil net sense interferències.\n\nEstat: **{status}**\nDurada: {duration} s\nMostres: {samples}",
"menu_options": {
"record_refresh": "Estat d'actualització",
"record_stop": "Atura la gravació (Desa i processa)",
"record_start": "Comença una nova gravació",
"record_process": "Processa l'últim enregistrament (retalla i desa)",
"record_discard": "Descarta l'última gravació",
"menu_back": "← Enrere"
}
},
"record_process": {
"title": "Enregistrament del procés",
"description": "![Gràfic]({graph_url})\n\n**El gràfic mostra l'enregistrament en brut.** Blau = Mantenir, Vermell = Retall proposat.\n*El gràfic és estàtic i no s'actualitza amb els canvis de formulari.*\n\nS'ha aturat la gravació. Els retalls s'alineen amb la freqüència de mostreig detectada (~{sampling_rate}s).\n\nDurada bruta: {duration} s\nMostres: {samples}",
"data": {
"head_trim": "Inici de retall (segons)",
"tail_trim": "Final de retall (segons)",
"save_mode": "Desa la destinació",
"profile_name": "Nom del perfil"
}
},
"learning_feedbacks": {
"title": "Feedbacks d'aprenentatge",
"description": "Comentaris pendents: {count}\n\n{pending_table}\n\nSeleccioneu una sol·licitud de revisió de cicle per processar.",
"menu_options": {
"learning_feedbacks_pick": "Revisa un comentari pendent",
"learning_feedbacks_dismiss_all": "Descarta tots els comentaris pendents",
"menu_back": "← Enrere"
}
},
"learning_feedbacks_pick": {
"title": "Trieu comentaris per revisar",
"description": "Seleccioneu una sol·licitud de revisió de cicle per obrir.",
"data": {
"selected_feedback": "Selecciona el cicle per revisar"
}
},
"learning_feedbacks_empty": {
"title": "Feedbacks d'aprenentatge",
"description": "No s'han trobat sol·licituds de comentaris pendents.",
"menu_options": {
"menu_back": "← Enrere"
}
},
"learning_feedbacks_dismiss_all": {
"title": "Descartar tots els comentaris pendents",
"description": "Esteu a punt de descartar **{count}** sol·licituds de comentaris pendents. Els cicles descartats continuaran a l'historial, però no aportaran cap senyal d'aprenentatge nou. Això no es pot desfer.\n\n✅ Marqueu la casella de sota i feu clic a **Envia** per descartar-ho tot.\n❌ Deixeu-la sense marcar i feu clic a **Envia** per cancel·lar i tornar enrere.",
"data": {
"confirm_dismiss_all": "Confirma: descarta totes les sol·licituds de comentaris pendents"
}
},
"resolve_feedback": {
"title": "Resol comentaris",
"description": "{comparison_img}{candidates_table}\n**Perfil detectat**: {detected_profile} ({confidence_pct}%)\n**Durada estimada**: {est_duration_min} min\n**Durada real**: {act_duration_min} min\n\n__Tria una acció a continuació:__",
"data": {
"action": "Què t'agradaria fer?",
"corrected_profile": "Programa correcte (si es corregeix)",
"corrected_duration": "Durada correcta en segons (si es corregeix)"
}
},
"trim_cycle_select": {
"title": "Cicle de retall: seleccioneu Cicle",
"description": "Seleccioneu un cicle per retallar. ✓ = completat, ⚠ = reprès, ✗ = interromput",
"data": {
"cycle_id": "Cicle"
}
},
"trim_cycle": {
"title": "Cicle de tall",
"description": "Finestra actual: {trim_summary}\n\n{trim_svg}",
"data": {
"action": "Acció"
}
},
"trim_cycle_start": {
"title": "Estableix Trim Start",
"description": "Finestra de cicle: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nInici actual: **{current_wallclock}** (+{current_offset_min} min des de l'inici del cicle)\n\nTrieu una nova hora d'inici utilitzant el selector de rellotges que hi ha a continuació.",
"data": {
"trim_start_time": "Nova hora d'inici",
"trim_start_min": "Nou inici (minuts des de l'inici del cicle)"
}
},
"trim_cycle_end": {
"title": "Estableix el final de retall",
"description": "Finestra de cicle: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nFinal actual: **{current_wallclock}** (+{current_offset_min} min des de l'inici del cicle)\n\nTrieu una nova hora de finalització amb el selector de rellotge que hi ha a continuació.",
"data": {
"trim_end_time": "Nova hora de finalització",
"trim_end_min": "Nou final (minuts des de l'inici del cicle)"
}
}
},
"error": {
"import_failed": "La importació ha fallat. Enganxeu un JSON d'exportació de WashData vàlid.",
"select_exactly_one": "Seleccioneu exactament un cicle per a aquesta acció.",
"select_at_least_one": "Seleccioneu almenys un cicle per a aquesta acció.",
"select_at_least_two": "Seleccioneu almenys dos cicles per a aquesta acció.",
"profile_exists": "Ja existeix un perfil amb aquest nom",
"rename_failed": "No s'ha pogut canviar el nom del perfil. És possible que el perfil no existeixi o que ja s'ha pres un nom nou.",
"assignment_failed": "No s'ha pogut assignar el perfil al cicle",
"duplicate_phase": "Ja existeix una fase amb aquest nom.",
"phase_not_found": "No s'ha trobat la fase seleccionada.",
"invalid_phase_name": "El nom de la fase no pot estar buit.",
"phase_name_too_long": "El nom de la fase és massa llarg.",
"invalid_phase_range": "L'interval de fases no és vàlid. El final ha de ser més gran que l'inici.",
"invalid_phase_timestamp": "La marca de temps no és vàlida. Utilitzeu el format AAAA-MM-DD HH:MM o HH:MM.",
"overlapping_phase_ranges": "Els intervals de fase es superposen. Ajusteu els intervals i torneu-ho a provar.",
"incomplete_phase_row": "Cada fila de fase ha d'incloure una fase més els valors d'inici i finalització complets per al mode seleccionat.",
"timestamp_mode_cycle_required": "Seleccioneu un cicle d'origen quan utilitzeu el mode de marca de temps.",
"no_phase_ranges": "Encara no hi ha rangs de fase disponibles per a aquesta acció.",
"feedback_notification_title": "WashData: verifica el cicle ({device})",
"feedback_notification_message": "**Dispositiu**: {device}\n**Programa**: {program} ({confidence}% de confiança)\n**Hora**: {time}\n\nWashData necessita la teva ajuda per verificar aquest cicle detectat.\n\nAneu a **Configuració > Dispositius i serveis > WashData > Configura > Comentaris d'aprenentatge** per confirmar o corregir aquest resultat.",
"suggestions_ready_notification_title": "WashData: configuracions suggerides a punt ({device})",
"suggestions_ready_notification_message": "El sensor de **Configuració suggerida** ara informa de **{count}** recomanacions accionables.\n\nPer revisar-los i aplicar-los: **Configuració > Dispositius i serveis > WashData > Configura > Configuració avançada > Aplica els valors suggerits**.\n\nEls suggeriments són opcionals i es mostren per revisar-los abans de desar-los.",
"trim_range_invalid": "L'inici ha de ser abans del final. Ajusteu els vostres punts de retallat.",
"trim_failed": "Ha fallat el retall. És possible que el cicle ja no existeixi o que la finestra estigui buida.",
"invalid_split_timestamp": "La marca horària no és vàlida o queda fora de la finestra del cicle. Feu servir HH:MM o HH:MM:SS dins de la finestra del cicle.",
"no_split_segments_found": "No s'han pogut produir segments vàlids a partir d'aquestes marques horàries. Assegureu-vos que cada marca horària és dins de la finestra del cicle i que els segments duren com a mínim 1 minut.",
"auto_tune_suggestion": "{device_type} {device_title} han detectat cicles fantasmes. Canvi de min_power suggerit: {current_min}W -> {new_min}W (no s'aplica automàticament).",
"auto_tune_title": "Sintonització automàtica de WashData",
"auto_tune_fallback": "{device_type} {device_title} han detectat cicles fantasmes. Canvi de min_power suggerit: {current_min}W -> {new_min}W (no s'aplica automàticament)."
},
"abort": {
"no_cycles_found": "No s'han trobat cicles",
"no_split_segments_found": "No s'han trobat segments divisibles al cicle seleccionat.",
"cycle_not_found": "No s'ha pogut carregar el cicle seleccionat.",
"no_power_data": "No hi ha dades de traça de potència disponibles per al cicle seleccionat.",
"no_profiles_found": "No s'han trobat perfils. Creeu primer un perfil.",
"no_profiles_for_matching": "No hi ha perfils disponibles per fer coincidir. Creeu perfils primer.",
"no_unlabeled_cycles": "Tots els cicles ja estan etiquetats",
"no_suggestions": "Encara no hi ha valors suggerits disponibles. Executeu uns quants cicles i torneu-ho a provar.",
"no_predictions": "Sense prediccions",
"no_custom_phases": "No s'han trobat fases personalitzades.",
"reprocess_success": "S'han reprocessat correctament {count} cicles.",
"debug_data_cleared": "S'han esborrat correctament les dades de depuració de {count} cicles."
}
},
"selector": {
"notify_events_option": {
"options": {
"cycle_start": "Inici del cicle",
"cycle_finish": "Finalització del cicle",
"cycle_live": "Progrés en viu"
}
},
"common_text": {
"options": {
"unlabeled": "(Sense etiquetar)",
"create_new_profile": "Crea un perfil nou",
"remove_label": "Elimina l'etiqueta",
"no_reference_cycle": "(Sense cicle de referència)",
"all_device_types": "Tots els tipus de dispositius",
"current_suffix": "(actual)",
"editor_select_info": "Seleccioneu 1 cicle per dividir o 2 o més cicles per combinar.",
"editor_select_info_split": "Seleccioneu 1 cicle per dividir.",
"editor_select_info_merge": "Seleccioneu 2 o més cicles per fusionar.",
"editor_select_info_delete": "Seleccioneu 1 o més cicles per eliminar.",
"no_cycles_recorded": "Encara no s'han registrat cicles.",
"profile_summary_line": "- **{name}**: {count} cicles, {avg}m de mitjana",
"no_profiles_created": "Encara no s'ha creat cap perfil.",
"phase_preview": "Fase de previsualització",
"phase_preview_no_curve": "La corba mitjana del perfil encara no està disponible. Executeu/etiqueteu més cicles per a aquest perfil.",
"average_power_curve": "Corba de potència mitjana",
"unit_min": "min",
"profile_option_fmt": "{name} ({count} cicles, ~{duration} m de mitjana)",
"profile_option_short_fmt": "{name} ({count} cicles, ~{duration} m)",
"deleted_cycles_from_profile": "S'han suprimit {count} cicles de {profile}.",
"not_enough_data_graph": "No hi ha prou dades per generar el gràfic.",
"no_profiles_found": "No s'han trobat perfils.",
"cycle_info_fmt": "Cicle: {start}, {duration}m, Actual: {label}",
"top_candidates_header": "### Principals candidats",
"tbl_profile": "Perfil",
"tbl_confidence": "Confiança",
"tbl_correlation": "Correlació",
"tbl_duration_match": "Coincidència de durada",
"detected_profile": "Perfil detectat",
"estimated_duration": "Durada estimada",
"actual_duration": "Durada real",
"choose_action": "__Tria una acció a continuació:__",
"tbl_count": "Recompte",
"tbl_avg": "Mitjana",
"tbl_min": "Min",
"tbl_max": "Màx",
"tbl_energy_avg": "Energia (mitjana)",
"tbl_energy_total": "Energia (total)",
"tbl_consistency": "Consistència",
"tbl_last_run": "Última execució",
"graph_legend_title": "Llegenda del gràfic",
"graph_legend_body": "La banda blava representa l'interval de consum de potència mínim i màxim observat. La línia mostra la corba de potència mitjana.",
"recording_preview": "Vista prèvia de la gravació",
"trim_start": "Inici de retall",
"trim_end": "Retalla final",
"split_preview_title": "Vista prèvia dividida",
"split_preview_found_fmt": "S'han trobat {count} segments.",
"split_preview_confirm_fmt": "Feu clic a Confirmar per dividir aquest cicle en {count} cicles separats.",
"merge_preview_title": "Vista prèvia de la combinació",
"merge_preview_joining_fmt": "S'està unint a {count} cicles. Els buits s'ompliran amb lectures de 0W.",
"editor_delete_preview_title": "Vista prèvia d'eliminació",
"editor_delete_preview_intro": "Els cicles seleccionats s'eliminaran permanentment:",
"editor_delete_preview_confirm": "Feu clic a Confirma per eliminar permanentment aquests registres de cicles.",
"no_power_preview": "*No hi ha dades de potència disponibles per a la vista prèvia.*",
"profile_comparison": "Comparació de perfils",
"actual_cycle_label": "Aquest cicle (real)",
"storage_usage_header": "Ús d'emmagatzematge",
"storage_file_size": "Mida del fitxer",
"storage_cycles": "Cicles",
"storage_profiles": "Perfils",
"storage_debug_traces": "Traces de depuració",
"overview_suffix": "Visió general",
"phase_preview_for_profile": "Fase de previsualització del perfil",
"current_ranges_header": "Intervals actuals",
"assign_phases_help": "Feu servir les accions següents per afegir, editar, suprimir o desar intervals.",
"profile_summary_header": "Resum del perfil",
"recent_cycles_header": "Cicles recents",
"trim_cycle_preview_title": "Previsualització retallat del cicle",
"trim_cycle_preview_no_data": "No hi ha dades de potència disponibles per a aquest cicle.",
"trim_cycle_preview_kept_suffix": "guardada",
"table_program": "Programa",
"table_when": "Quan",
"table_length": "Durada",
"table_match": "Coincidència",
"table_profile": "Perfil",
"table_cycles": "Cicles",
"table_avg_length": "Durada mitjana",
"table_last_run": "Última execució",
"table_avg_energy": "Energia mitjana",
"table_detected_program": "Programa detectat",
"table_confidence": "Confiança",
"table_reported": "Informat",
"phase_builtin_suffix": "(Incorporat)",
"phase_none_available": "No hi ha fases disponibles.",
"settings_deprecation_warning": "⚠️ **Tipus de dispositiu obsolet:** {device_type} està previst que s'elimini en una versió futura. El pipeline de concordança de WashData no produeix resultats fiables per a aquesta classe d'aparell. La vostra integració continua funcionant durant el període d'abandonament; per silenciar aquest avís, canvieu el **Tipus de dispositiu** a continuació a un dels tipus admesos (rentadora, assecadora, rentadora-assecadora combinada, rentavaixelles, fregidora d'aire, màquina de pa o bomba) o a **Altres (avançat)** si el vostre aparell no coincideix amb cap dels tipus admesos. **Altres (avançat)** inclou valors predeterminats genèrics intencionadament que no estan ajustats per a cap aparell específic, de manera que haureu de configurar vosaltres mateixos els llindars, els temps d'espera i els paràmetres coincidents; tots els vostres paràmetres existents es conserven quan canvieu.",
"phase_other_device_types": "Altres tipus de dispositius:"
}
},
"interactive_editor_action": {
"options": {
"split": "Dividir un cicle (Trobar buits)",
"merge": "Cicles de combinació (uneix fragments)",
"delete": "Suprimeix cicles"
}
},
"split_mode": {
"options": {
"auto": "Detecta automàticament els buits d'inactivitat",
"manual": "Marques horàries manuals"
}
},
"diagnostics_action": {
"options": {
"reprocess_history": "Manteniment: reprocessament i optimització de dades",
"clear_debug_data": "Esborra les dades de depuració (allibera espai)",
"wipe_history": "Esborra TOTES les dades d'aquest dispositiu (irreversible)",
"export_import": "Exportar/Importar JSON amb la configuració (copiar/enganxar)"
}
},
"export_import_mode": {
"options": {
"export": "Exporta totes les dades",
"import": "Importa/Combina dades"
}
},
"manage_cycles_action": {
"options": {
"auto_label_cycles": "Etiqueta automàtica de cicles antics",
"select_cycle_to_label": "Cicle específic de l'etiqueta",
"select_cycle_to_delete": "Suprimeix el cicle",
"interactive_editor": "Combinar/dividir Editor interactiu",
"trim_cycle": "Dades del cicle de retallada"
}
},
"manage_profiles_action": {
"options": {
"create_profile": "Crea un perfil nou",
"edit_profile": "Edita/canvia el nom del perfil",
"delete_profile": "Suprimeix el perfil",
"profile_stats": "Estadístiques de perfil",
"cleanup_profile": "Neteja l'historial: gràfic i suprimir",
"assign_phases": "Assignar intervals de fase"
}
},
"manage_phase_catalog_action": {
"options": {
"create_custom_phase": "Crea una nova fase",
"edit_custom_phase": "Fase d'edició",
"delete_custom_phase": "Suprimeix la fase"
}
},
"assign_profile_phases_action": {
"options": {
"add_range": "Afegeix l'interval de fases",
"edit_range": "Edita l'interval de fases",
"delete_range": "Suprimeix l'interval de fases",
"clear_ranges": "Esborra tots els intervals",
"auto_detect_ranges": "Autodetecció de fases",
"save_ranges": "Guarda i torna"
}
},
"record_cycle_action": {
"options": {
"refresh_status": "Estat d'actualització",
"stop_recording": "Atura la gravació (Desa i processa)",
"start_recording": "Comença una nova gravació",
"process_recording": "Processa l'últim enregistrament (retalla i desa)",
"discard_recording": "Descarta l'última gravació"
}
},
"record_process_save_mode": {
"options": {
"new_profile": "Crea un perfil nou",
"existing_profile": "Afegeix al perfil existent",
"discard": "Descarta la gravació"
}
},
"resolve_feedback_action": {
"options": {
"confirm": "Confirmar - Detecció correcta",
"correct": "Correcte: seleccioneu Programa/Durada",
"ignore": "Ignorar - Fals positiu/cicle sorollós",
"delete": "Suprimeix - Elimina de l'historial"
}
},
"assign_profile_phases_auto_detect_action": {
"options": {
"name_phases": "Anomena i aplica les fases",
"cancel": "Tornar enrere sense canvis"
}
},
"trim_cycle_action": {
"options": {
"set_start": "Estableix el punt d'inici",
"set_end": "Estableix el punt final",
"reset": "Restableix a la durada completa",
"apply": "Aplicar Trim",
"cancel": "Cancel·la"
}
},
"device_type": {
"options": {
"washing_machine": "Rentadora",
"dryer": "Assecador",
"washer_dryer": "Combo de rentadora-assecadora",
"dishwasher": "Rentaplats",
"coffee_machine": "Màquina de cafè (obsoleta)",
"ev": "Vehicle elèctric (obsolet)",
"air_fryer": "Fregidora d'aire",
"heat_pump": "Bomba de calor (obsoleta)",
"bread_maker": "Panificadora",
"pump": "Bomba / Bomba de sumidero",
"oven": "Forn (obsolet)",
"other": "Altres (avançat)"
}
}
},
"services": {
"label_cycle": {
"name": "Cicle d'etiquetes",
"description": "Assigna un perfil existent a un cicle anterior o elimina l'etiqueta.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora per etiquetar."
},
"cycle_id": {
"name": "ID del cicle",
"description": "L'identificador del cicle a etiquetar."
},
"profile_name": {
"name": "Nom del perfil",
"description": "El nom d'un perfil existent (creeu perfils al menú Gestiona perfils). Deixa en blanc per eliminar l'etiqueta."
}
}
},
"create_profile": {
"name": "Crea un perfil",
"description": "Creeu un perfil nou (autònom o basat en un cicle de referència).",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora."
},
"profile_name": {
"name": "Nom del perfil",
"description": "Nom per al perfil nou (p. ex., \"Heavy Duty\", \"Delicades\")."
},
"reference_cycle_id": {
"name": "ID del cicle de referència",
"description": "Identificador de cicle opcional per basar aquest perfil."
}
}
},
"delete_profile": {
"name": "Suprimeix el perfil",
"description": "Suprimiu un perfil i, opcionalment, desetiqueteu els cicles que el fan servir.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora."
},
"profile_name": {
"name": "Nom del perfil",
"description": "El perfil a esborrar."
},
"unlabel_cycles": {
"name": "Desetiquetar els cicles",
"description": "Elimina l'etiqueta del perfil dels cicles amb aquest perfil."
}
}
},
"auto_label_cycles": {
"name": "Etiqueta automàtica de cicles antics",
"description": "Etiqueta de manera retroactiva els cicles sense etiquetar mitjançant la concordança de perfils.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora."
},
"confidence_threshold": {
"name": "Llindar de confiança",
"description": "Confiança de coincidència mínima (0,50-0,95) per aplicar etiquetes."
}
}
},
"export_config": {
"name": "Exporta la configuració",
"description": "Exporta els perfils, els cicles i la configuració d'aquest dispositiu a un fitxer JSON (per dispositiu).",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora per exportar."
},
"path": {
"name": "Camí",
"description": "Ruta del fitxer absoluta opcional per escriure (per defecte és /config/ha_washdata_export_{entry}.json)."
}
}
},
"import_config": {
"name": "Importa la configuració",
"description": "Importa els perfils, els cicles i la configuració d'aquest dispositiu des d'un fitxer d'exportació JSON (la configuració es pot sobreescriure).",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora a on importar."
},
"path": {
"name": "Camí",
"description": "Camí absolut al fitxer JSON d'exportació per importar."
}
}
},
"submit_cycle_feedback": {
"name": "Enviar comentaris sobre el cicle",
"description": "Confirmeu o corregiu un programa detectat automàticament després d'un cicle completat. Proporcioneu `entry_id` (avançat) o `device_id` (recomanat).",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu WashData (recomanat en lloc d'entry_id)."
},
"entry_id": {
"name": "ID d'entrada",
"description": "L'identificador de l'entrada de configuració del dispositiu (alternativa a device_id)."
},
"cycle_id": {
"name": "ID del cicle",
"description": "L'identificador del cicle que es mostra a la notificació/registres de comentaris."
},
"user_confirmed": {
"name": "Confirmeu el programa detectat",
"description": "Establiu true si el programa detectat és correcte."
},
"corrected_profile": {
"name": "Perfil corregit",
"description": "Si no es confirma, proporcioneu el nom del perfil/programa correcte."
},
"corrected_duration": {
"name": "Durada corregida (segons)",
"description": "Durada corregida opcional en segons."
},
"notes": {
"name": "Notes",
"description": "Notes opcionals sobre aquest cicle."
}
}
},
"record_start": {
"name": "Inici del cicle de gravació",
"description": "Comenceu a gravar manualment un cicle de neteja (obvia tota la lògica coincident).",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora per gravar."
}
}
},
"record_stop": {
"name": "Parada del cicle de gravació",
"description": "Atura la gravació manual.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu de la rentadora per aturar la gravació."
}
}
},
"trim_cycle": {
"name": "Cicle de tall",
"description": "Retalla les dades de potència d'un cicle passat a una finestra de temps específica.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu WashData."
},
"cycle_id": {
"name": "ID del cicle",
"description": "L'ID del cicle a retallar."
},
"trim_start_s": {
"name": "Inici de retall (segons)",
"description": "Conserva les dades d'aquest desplaçament en segons. Per defecte 0."
},
"trim_end_s": {
"name": "Final de retalla (segons)",
"description": "Manteniu les dades amb aquest desplaçament en segons. Per defecte = durada completa."
}
}
},
"pause_cycle": {
"name": "Cicle de pausa",
"description": "Posa en pausa el cicle actiu d'un dispositiu WashData.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu WashData per posar en pausa."
}
}
},
"resume_cycle": {
"name": "Reprendre el cicle",
"description": "Reprèn un cicle en pausa per a un dispositiu WashData.",
"fields": {
"device_id": {
"name": "Dispositiu",
"description": "El dispositiu WashData per reprendre."
}
}
}
},
"entity": {
"binary_sensor": {
"running": {
"name": "Córrer"
},
"match_ambiguity": {
"name": "Ambigüitat de la coincidència"
}
},
"sensor": {
"washer_state": {
"name": "Estat",
"state": {
"off": "Apagat",
"idle": "Inactiu",
"starting": "Començant",
"running": "Córrer",
"paused": "En pausa",
"user_paused": "En pausa per l'usuari",
"ending": "Finalització",
"finished": "Acabat",
"anti_wrinkle": "Antiarrugues",
"delay_wait": "Esperant per començar",
"interrupted": "Interromput",
"force_stopped": "Força aturada",
"rinse": "Esbandida",
"unknown": "Desconegut",
"clean": "Neteja"
}
},
"washer_program": {
"name": "Programa"
},
"time_remaining": {
"name": "Temps restant"
},
"total_duration": {
"name": "Durada total"
},
"cycle_progress": {
"name": "Progrés"
},
"current_power": {
"name": "Potència actual"
},
"elapsed_time": {
"name": "Temps transcorregut"
},
"debug_info": {
"name": "Informació de depuració"
},
"match_confidence": {
"name": "Confiança de coincidència"
},
"top_candidates": {
"name": "Els millors candidats",
"state": {
"none": "Cap"
}
},
"current_phase": {
"name": "Fase actual"
},
"wash_phase": {
"name": "Fase"
},
"profile_cycle_count": {
"name": "Recompte del perfil {profile_name}",
"unit_of_measurement": "cicles"
},
"suggestions": {
"name": "Configuració suggerida"
},
"pump_runs_today": {
"name": "Funcionament de la bomba (últimes 24 h)"
},
"cycle_count": {
"name": "Recompte de cicles"
}
},
"select": {
"program_select": {
"name": "Programa del Cicle",
"state": {
"auto_detect": "Detecció automàtica"
}
}
},
"button": {
"force_end_cycle": {
"name": "Força final de cicle"
},
"pause_cycle": {
"name": "Cicle de pausa"
},
"resume_cycle": {
"name": "Reprendre el cicle"
}
}
},
"exceptions": {
"device_id_required": {
"message": "Cal un device_id vàlid."
},
"cycle_id_required": {
"message": "Es requereix un cycle_id vàlid."
},
"profile_name_required": {
"message": "Cal un profile_name vàlid."
},
"device_not_found": {
"message": "No s'ha trobat el dispositiu."
},
"no_config_entry": {
"message": "No s'ha trobat cap entrada de configuració per al dispositiu."
},
"integration_not_loaded": {
"message": "La integració no s'ha carregat per a aquest dispositiu."
},
"cycle_not_found_or_no_power": {
"message": "No s'ha trobat el cicle o no té dades de potència."
},
"trim_failed_empty_window": {
"message": "Error de retalla: no s'ha trobat el cicle, no hi ha dades d'energia o la finestra resultant està buida."
},
"trim_invalid_range": {
"message": "trim_end_s ha de ser més gran que trim_start_s."
}
}
}