347 lines
18 KiB
JSON
347 lines
18 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "Conectar a la impresora Creality",
|
|
"description": "Introduce la dirección IP de tu impresora Creality de la serie K. La impresora debe estar desbloqueada (no se requiere acceso de superusuario) y en la misma red.",
|
|
"data": {
|
|
"host": "Dirección IP",
|
|
"name": "Nombre descriptivo"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"cannot_connect": "Error al conectar con la impresora. Asegúrate de que la dirección IP sea correcta y de que la impresora esté encendida.",
|
|
"not_K": "Conexión rechazada o no es una impresora Creality de la serie K compatible.",
|
|
"already_configured": "Esta impresora ya está configurada."
|
|
},
|
|
"abort": {
|
|
"already_configured": "El dispositivo ya está configurado",
|
|
"cannot_connect": "Error de conexión",
|
|
"not_K": "No es una impresora de la serie K"
|
|
}
|
|
},
|
|
"common": {
|
|
"title_fallback": "Impresora Creality",
|
|
"channel_live": "Impresión 3D",
|
|
"channel_finished": "Impresión 3D finalizada",
|
|
"channel_alerts": "Alertas de impresión 3D",
|
|
"channel_soon": "Impresión 3D a punto de finalizar",
|
|
"action_pause": "Pausar",
|
|
"action_resume": "Reanudar",
|
|
"action_stop": "Detener",
|
|
"action_dismiss": "Ocultar",
|
|
"status_starting": "Iniciando",
|
|
"status_paused": "En pausa",
|
|
"status_finishing": "Finalizando",
|
|
"body_progress": "{progress}%",
|
|
"body_paused": "En pausa al {progress}%",
|
|
"body_paused_unknown": "En pausa",
|
|
"body_layer": "{layer}/{total_layers}",
|
|
"body_time_left": "{duration}",
|
|
"body_fallback": "Imprimiendo",
|
|
"duration_hours_minutes": "{hours} h {minutes} min",
|
|
"duration_minutes": "{minutes} min",
|
|
"duration_seconds": "{seconds} s",
|
|
"filament_length": "{metres} m",
|
|
"completed": "{device} ha terminado.",
|
|
"stopped": "{device} se ha detenido al {progress}%",
|
|
"completed_detailed": "{device} ha terminado. Filamento consumido: {filament}.",
|
|
"error": "Error de {device} - {key} [{code}]",
|
|
"filament_runout": "{device} se ha quedado sin filamento. Estado de la impresión: {state}. Cambia el filamento.",
|
|
"finishing_soon": "{device} terminará en {minutes} minutos."
|
|
},
|
|
"exceptions": {
|
|
"unsupported_ha_version": {
|
|
"message": "Esta versión de la integración Creality WebSocket necesita Home Assistant {minimum} o posterior, pero este sistema ejecuta la versión {running}. Actualiza Home Assistant o instala en su lugar la versión 0.9.7 de la integración."
|
|
}
|
|
},
|
|
"selector": {
|
|
"camera_mode": {
|
|
"options": {
|
|
"auto": "Auto (detectar por modelo)",
|
|
"mjpeg": "MJPEG (familia K1)",
|
|
"webrtc": "WebRTC a través de go2rtc (familia K2)",
|
|
"webrtc_direct": "WebRTC directo, sin go2rtc (alternativa)",
|
|
"custom": "URL de cámara personalizada (MJPEG / RTSP)"
|
|
}
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "Configuración de la impresora",
|
|
"description": "Elige un grupo de ajustes para editar. Cada grupo se abre en su propia página, y al enviar esa página se guarda y se aplica de inmediato. No hay nada que confirmar después: cierra este diálogo cuando hayas terminado.",
|
|
"menu_options": {
|
|
"camera": "Cámara",
|
|
"notifications": "Notificaciones",
|
|
"power": "Interruptor de encendido",
|
|
"connection": "Conexión y rendimiento"
|
|
}
|
|
},
|
|
"camera": {
|
|
"title": "Cámara",
|
|
"description": "Modo de transmisión de la cámara. «Auto» lo detecta a partir del modelo de impresora. WebRTC a través de go2rtc es la opción predeterminada en las impresoras de la familia K2; WebRTC directo es una alternativa que hace la señalización contra la propia impresora (sin go2rtc): pruébala si la predeterminada no funciona, por ejemplo en firmware reciente de la K1C. El modo personalizado permite apuntar a cualquier URL http(s) MJPEG/snapshot o a un flujo rtsp:// (servido a través de go2rtc). Deja el puerto RTSP de go2rtc en 0 salvo que HLS o camera.record necesiten un puerto distinto del predeterminado. Al enviar el formulario se guarda esta página y vuelves al menú.",
|
|
"data": {
|
|
"camera_mode": "Modo de transmisión de la cámara",
|
|
"go2rtc_url": "Servidor o dirección externa de go2rtc (si es necesario)",
|
|
"go2rtc_port": "Puerto externo de go2rtc",
|
|
"go2rtc_rtsp_port": "Puerto RTSP de go2rtc (0 = auto: 18554 integrado, 8554 externo)",
|
|
"custom_camera_url": "URL de cámara personalizada (MJPEG/snapshot http(s) o rtsp://)"
|
|
}
|
|
},
|
|
"notifications": {
|
|
"title": "Notificaciones",
|
|
"description": "Elige a dónde van las notificaciones y, después, de qué quieres que te avisen. Al enviar el formulario se guarda esta página y se aplica de inmediato.",
|
|
"data": {
|
|
"notify_targets": "Destinos de notificación"
|
|
},
|
|
"data_description": {
|
|
"notify_targets": "Elige uno o varios. Solo los destinos de la aplicación complementaria de Home Assistant pueden mostrar la tarjeta de impresión en vivo, la vista previa del G-code o los botones; el resto de plataformas de notificación reciben solo el título y el mensaje."
|
|
},
|
|
"sections": {
|
|
"events": {
|
|
"name": "De qué quiero que me avisen",
|
|
"description": "La tarjeta de impresión en vivo requiere Home Assistant 2026.7 o posterior, además de iOS 17.2+ o Android 16+; en impresiones muy largas, iOS la cierra al cabo de 8 horas.",
|
|
"data": {
|
|
"notify_live": "Tarjeta de impresión en vivo",
|
|
"notify_completed": "Cuando termina una impresión",
|
|
"notify_error": "Errores y filamento agotado",
|
|
"notify_minutes_to_end": "Poco antes de que termine una impresión",
|
|
"minutes_to_end_value": "Con cuánta antelación"
|
|
},
|
|
"data_description": {
|
|
"notify_live": "Una sola notificación para toda la impresión que se actualiza en su sitio, con una barra de progreso y una cuenta atrás que avanza en el teléfono.",
|
|
"notify_completed": "Cubre los dos finales: una impresión que ha terminado y otra que se ha detenido, ya sea desde la impresora, la aplicación de Creality o Home Assistant.",
|
|
"notify_error": "Un error de la impresora o una bobina que se ha agotado.",
|
|
"notify_minutes_to_end": "Un aviso para ir a ver las últimas capas, por separado para que la tarjeta en vivo no pueda sustituirlo."
|
|
}
|
|
},
|
|
"extras": {
|
|
"name": "Botones, imágenes y pulsaciones",
|
|
"description": "Todo esto necesita un destino de la aplicación complementaria y el resto de plataformas de notificación lo ignoran.",
|
|
"data": {
|
|
"notify_actions": "Botones Pausar, Reanudar y Detener",
|
|
"notify_preview_image": "Vista previa del G-code como icono",
|
|
"notify_camera_snapshot": "Captura de la cámara al terminar la impresión",
|
|
"notify_tap_path": "Ruta del panel que se abre al pulsar"
|
|
},
|
|
"data_description": {
|
|
"notify_actions": "«Detener» pide autenticación en el dispositivo, así que una pulsación accidental en la pantalla de bloqueo no puede acabar con una impresión larga.",
|
|
"notify_preview_image": "Se omite cuando la impresora no tiene ninguna vista previa que ofrecer, en lugar de enviar un recuadro gris vacío.",
|
|
"notify_camera_snapshot": "El aspecto real de la cama. Se omite en impresoras cuya cámara no puede tomar una imagen fija.",
|
|
"notify_tap_path": "P. ej. /lovelace/printer. Si se deja vacía, en Android la pulsación abre la cámara de la impresora y en iOS abre la aplicación; es la única forma de que en iOS la pulsación lleve a una vista concreta."
|
|
}
|
|
},
|
|
"text": {
|
|
"name": "Texto personalizado",
|
|
"description": "Escribe tu propio texto, o deja un campo vacío para conservar el texto integrado y ya traducido. Un marcador de posición cuyo valor no haya comunicado la impresora no muestra nada, así que encierra entre corchetes todo lo que sea opcional: la parte entre corchetes desaparece por completo mientras su valor sea desconocido, como en {example}. Los corchetes en sí son la sintaxis y no se muestran; duplícalos ([[ y ]]) cuando quieras conservar un corchete literal. El título es siempre el nombre de la impresora: en Android el título de la tarjeta en vivo se fija al crearse la tarjeta y ya no puede cambiarse.",
|
|
"data": {
|
|
"notify_template_live": "Tarjeta de impresión en vivo",
|
|
"notify_template_completed": "Impresión terminada",
|
|
"notify_template_stopped": "Impresión detenida",
|
|
"notify_template_soon": "Poco antes del final",
|
|
"notify_template_error": "Error de la impresora",
|
|
"notify_template_runout": "Filamento agotado"
|
|
},
|
|
"data_description": {
|
|
"notify_template_live": "Marcadores de posición: {fields_live}",
|
|
"notify_template_completed": "Marcadores de posición: {fields_completed}",
|
|
"notify_template_stopped": "Marcadores de posición: {fields_stopped}. Menos que en los demás: cuando se detecta una detención, la impresora ya ha reiniciado el progreso, el cronómetro del trabajo y la capa, así que solo se ofrece lo que sobrevive a ello.",
|
|
"notify_template_soon": "Marcadores de posición: {fields_finishing_soon}",
|
|
"notify_template_error": "Marcadores de posición: {fields_error}",
|
|
"notify_template_runout": "Marcadores de posición: {fields_filament_runout}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"power": {
|
|
"title": "Interruptor de encendido",
|
|
"description": "ID de entidad opcional de un interruptor de encendido (p. ej. switch.smart_plug_name) para detectar con precisión el estado «Apagada».",
|
|
"data": {
|
|
"power_switch_enabled": "Activar la detección del interruptor de encendido",
|
|
"power_switch": "Entidad del interruptor de encendido"
|
|
}
|
|
},
|
|
"connection": {
|
|
"title": "Conexión y rendimiento",
|
|
"data": {
|
|
"host": "Dirección IP de la impresora",
|
|
"polling_rate": "Frecuencia de actualización (segundos, 0 = tiempo real)"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"invalid_camera_url": "Introduce una URL completa incluyendo el esquema, p. ej. http://192.168.1.50:8080/?action=stream o rtsp://192.168.1.50:554/stream.",
|
|
"unknown_placeholder": "Ese no es un marcador de posición que esta integración pueda rellenar. Consulta la lista que aparece en la descripción de arriba y comprueba que esté bien escrito."
|
|
}
|
|
},
|
|
"entity": {
|
|
"sensor": {
|
|
"bed_temperature": { "name": "Temperatura de la cama" },
|
|
"chamber_temperature": { "name": "Temperatura de la cámara" },
|
|
"nozzle_temperature": { "name": "Temperatura de la boquilla" },
|
|
"print_progress": { "name": "Progreso de impresión" },
|
|
"total_layers": { "name": "Capas totales" },
|
|
"current_layer": { "name": "Capa actual" },
|
|
"position_x": { "name": "Posición X" },
|
|
"position_y": { "name": "Posición Y" },
|
|
"position_z": { "name": "Posición Z" },
|
|
"feedrate_pct": { "name": "Velocidad de impresión" },
|
|
"flowrate_pct": { "name": "Tasa de flujo" },
|
|
"model_info": { "name": "Modelo" },
|
|
"filament_status": {
|
|
"name": "Estado del filamento",
|
|
"state": {
|
|
"normal": "Normal",
|
|
"runout": "Filamento agotado",
|
|
"unknown": "Desconocido"
|
|
}
|
|
},
|
|
"print_status": {
|
|
"name": "Estado de impresión",
|
|
"state": {
|
|
"off": "Apagada",
|
|
"unknown": "Desconocido",
|
|
"error": "Error",
|
|
"self-testing": "Autocomprobación",
|
|
"completed": "Completada",
|
|
"paused": "En pausa",
|
|
"stopped": "Detenida",
|
|
"printing": "Imprimiendo",
|
|
"processing": "Procesando",
|
|
"idle": "En reposo"
|
|
}
|
|
},
|
|
"used_material_length": { "name": "Material usado" },
|
|
"expected_material_length": { "name": "Material estimado" },
|
|
"expected_material_weight": { "name": "Peso estimado del material" },
|
|
"filament_consumption": { "name": "Consumo de filamento" },
|
|
"print_job_time": { "name": "Tiempo de trabajo de impresión" },
|
|
"print_left_time": { "name": "Tiempo restante de impresión" },
|
|
"real_time_flow": { "name": "Flujo en tiempo real" },
|
|
"current_object": { "name": "Objeto actual" },
|
|
"object_count": { "name": "Cantidad de objetos" },
|
|
"print_control": {
|
|
"name": "Control de impresión",
|
|
"state": {
|
|
"queued": "En cola",
|
|
"ok": "OK",
|
|
"unknown": "Desconocido"
|
|
}
|
|
},
|
|
"max_nozzle_temp": { "name": "Temperatura máxima de la boquilla" },
|
|
"max_bed_temp": { "name": "Temperatura máxima de la cama" },
|
|
"max_chamber_temp": { "name": "Temperatura máxima de la cámara" },
|
|
"active_filament_slot": { "name": "Ranura de filamento activa" },
|
|
"cfs_box_temp": { "name": "Temperatura de la caja CFS {box_id}" },
|
|
"cfs_box_humidity": { "name": "Humedad de la caja CFS {box_id}" },
|
|
"cfs_slot_filament": { "name": "Filamento (caja CFS {box_id}, ranura {slot})" },
|
|
"cfs_slot_color": { "name": "Color (caja CFS {box_id}, ranura {slot})" },
|
|
"cfs_slot_percent": { "name": "Restante (caja CFS {box_id}, ranura {slot})" },
|
|
"cfs_ext_filament": { "name": "Filamento externo CFS" },
|
|
"cfs_ext_color": { "name": "Color externo CFS" },
|
|
"cfs_ext_percent": { "name": "Restante externo CFS" }
|
|
},
|
|
"button": {
|
|
"home_xyz": { "name": "Inicio (XY y luego Z)" },
|
|
"pause_print": { "name": "Pausar la impresión" },
|
|
"resume_print": { "name": "Reanudar la impresión" },
|
|
"stop_print": { "name": "Detener la impresión" },
|
|
"reconnect": { "name": "Reconectar" }
|
|
},
|
|
"number": {
|
|
"print_tuning_pct": { "name": "Ajuste de impresión" },
|
|
"nozzle_target": { "name": "Objetivo de la boquilla" },
|
|
"bed_target": { "name": "Objetivo de la cama" },
|
|
"chamber_target": { "name": "Objetivo de la cámara" }
|
|
},
|
|
"fan": {
|
|
"model_fan": { "name": "Ventilador del modelo" },
|
|
"case_fan": { "name": "Ventilador de la carcasa" },
|
|
"side_fan": { "name": "Ventilador lateral" }
|
|
},
|
|
"light": {
|
|
"light": { "name": "Luz" }
|
|
},
|
|
"camera": {
|
|
"printer_camera": { "name": "Cámara de la impresora" }
|
|
},
|
|
"image": {
|
|
"current_print_preview": { "name": "Vista previa de la impresión actual" }
|
|
}
|
|
},
|
|
"services": {
|
|
"diagnostic_dump": {
|
|
"name": "Volcado de diagnóstico",
|
|
"description": "Vuelca todos los datos de telemetría WebSocket de las impresoras Creality conectadas en formato JSON para resolución de problemas y análisis.",
|
|
"fields": {
|
|
"include_sensitive_data": {
|
|
"name": "Incluir datos sensibles",
|
|
"description": "Si se deben incluir datos potencialmente sensibles en la salida de diagnóstico (actualmente sin uso, reservado para uso futuro)"
|
|
}
|
|
}
|
|
},
|
|
"request_cfs_info": {
|
|
"name": "Solicitar información del CFS",
|
|
"description": "Solicita manualmente a la impresora que envíe la última información del CFS (sistema multifilamento), incluyendo temperaturas, humedad y detalles del filamento.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Dispositivo",
|
|
"description": "La(s) impresora(s) a las que solicitar información. Si se omite, se consultarán todas las impresoras conectadas."
|
|
}
|
|
}
|
|
},
|
|
"set_cfs_material": {
|
|
"name": "Establecer material CFS",
|
|
"description": "Escribe los ajustes de filamento en una ranura del CFS. Solo se cambian los campos que indiques; omite un campo para conservar el valor que ya tiene la impresora. El tipo de material es obligatorio y no puede ir vacío, y el color, si lo indicas, debe tener seis dígitos hexadecimales.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Dispositivo",
|
|
"description": "La(s) impresora(s) en las que escribir."
|
|
},
|
|
"box_id": {
|
|
"name": "ID de caja",
|
|
"description": "El id de la caja tal como lo indica la impresora. Consulta el atributo box_id del sensor de la ranura; normalmente es 1 para la primera unidad CFS."
|
|
},
|
|
"slot_id": {
|
|
"name": "ID de ranura",
|
|
"description": "Número de ranura dentro de la caja, empezando en 0."
|
|
},
|
|
"type": {
|
|
"name": "Tipo de material",
|
|
"description": "Tipo de filamento, por ejemplo PLA, PETG, ABS o TPU."
|
|
},
|
|
"name": {
|
|
"name": "Nombre del material",
|
|
"description": "Nombre comercial del filamento, por ejemplo Hyper PLA."
|
|
},
|
|
"vendor": {
|
|
"name": "Fabricante",
|
|
"description": "Fabricante o marca."
|
|
},
|
|
"color": {
|
|
"name": "Color",
|
|
"description": "Color en seis dígitos hexadecimales, por ejemplo #06c84f. Si la bobina es multicolor, omite este campo en lugar de enviarlo vacío; los demás campos sí se escriben."
|
|
},
|
|
"min_temp": {
|
|
"name": "Temperatura mínima",
|
|
"description": "Temperatura mínima de impresión, en °C."
|
|
},
|
|
"max_temp": {
|
|
"name": "Temperatura máxima",
|
|
"description": "Temperatura máxima de impresión, en °C. No puede ser inferior a la mínima."
|
|
},
|
|
"pressure": {
|
|
"name": "Avance de presión",
|
|
"description": "Valor de avance de presión, entre 0 y 1."
|
|
},
|
|
"rfid": {
|
|
"name": "RFID",
|
|
"description": "El id de material de la impresora. Si lo dejas vacío, el campo se omite y se conserva la asociación de etiqueta existente."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|