iobroker.assistant 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/admin/custom/.vite/manifest.json +18 -18
- package/admin/custom/assets/Components-7BDDNrGP.js +1 -0
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-DcAGnE2z.js +1 -0
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-rncPQw0c.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-CMv8bcyA.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__loadShare__shared-CY-9JaDr.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__loadShare__shared-3mzaJWDF.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-O-DuGvHy.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__198531368674860__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DS8oaQQt.js} +3 -3
- package/admin/custom/assets/{hostInit-YwaHm9Ht.js → hostInit-MshDicd1.js} +1 -1
- package/admin/custom/assets/{lib-mwVfdt2u.js → lib-DjwHKtRi.js} +1 -1
- package/admin/custom/assets/{mf-entry-bootstrap-0-0e37a5a4.js → mf-entry-bootstrap-0-7c1ddf47.js} +2 -2
- package/admin/custom/assets/{pendingShares-Bs_RxVcM.js → pendingShares-CaJDCKLB.js} +1 -1
- package/admin/custom/customComponents.js +2 -2
- package/admin/custom/i18n/es.json +1 -1
- package/admin/custom/i18n/fr.json +1 -1
- package/admin/custom/i18n/it.json +1 -1
- package/admin/custom/i18n/nl.json +1 -1
- package/admin/custom/i18n/pl.json +1 -1
- package/admin/custom/i18n/pt.json +1 -1
- package/admin/custom/i18n/ru.json +1 -1
- package/admin/custom/i18n/uk.json +1 -1
- package/admin/custom/i18n/zh-cn.json +1 -1
- package/admin/custom/index.html +2 -2
- package/admin/custom/mf-manifest.json +1 -1
- package/admin/custom/mf-stats.json +1 -1
- package/admin/i18n/de.json +3 -2
- package/admin/i18n/en.json +3 -2
- package/admin/i18n/es.json +42 -2
- package/admin/i18n/fr.json +42 -2
- package/admin/i18n/it.json +42 -2
- package/admin/i18n/nl.json +42 -2
- package/admin/i18n/pl.json +42 -2
- package/admin/i18n/pt.json +42 -2
- package/admin/i18n/ru.json +42 -2
- package/admin/i18n/uk.json +42 -2
- package/admin/i18n/zh-cn.json +42 -2
- package/admin/jsonConfig.json +371 -83
- package/build/main.js +25 -0
- package/build/main.js.map +1 -1
- package/io-package.json +26 -26
- package/package.json +5 -5
- package/admin/custom/assets/Components-B9RaGibX.js +0 -1
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-CyY-cfOD.js +0 -1
package/admin/i18n/es.json
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"A fired timer/alarm keeps ringing (looping the sound) for up to this long, or until you say 'stop'/'halt'/'aufhören'/'cancel' (or write the stopRinging state). 0 = play the sound once.": "Un temporizador/alarma activado sigue sonando (repitiendo el sonido) durante este tiempo, o hasta que digas \"stop\"/\"halt\"/\"aufhören\"/\"cancel\" (o escribas el estado stopRing). 0 = reproducir el sonido una vez.",
|
|
3
|
+
"A phrase that runs a list of actions: \"Gute Nacht\" switches off five things and answers once. Phrases: several separated by commas (matched anywhere in the sentence, upper/lower case and umlauts do not matter). Actions as JSON, same shape as a trigger: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Reply: what the assistant answers (leave empty to stay silent). Matched before the offline rule engine and before the LLM, so a routine is never reinterpreted.": "Una frase que ejecuta una lista de acciones: \"Gute Nacht\" apaga cinco cosas y responde una sola vez. Frases: varias separadas por comas (se reconocen en cualquier parte de la oración; mayúsculas/minúsculas y diéresis no importan). Acciones en JSON, con el mismo formato que un disparador: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Respuesta: lo que contesta el asistente (déjalo vacío para no decir nada). Se comprueba antes del motor de reglas sin conexión y antes del LLM, así que una rutina nunca se reinterpreta.",
|
|
4
|
+
"A successful switch command is confirmed by a short tone on the satellite instead of a spoken sentence - instant, where speaking costs a text-to-speech call. Questions, errors and the text channels are unaffected.": "Un comando de conmutación exitoso se confirma con un tono breve en el satélite en lugar de una frase hablada - al instante, mientras que hablar cuesta una llamada de texto a voz. Las preguntas, los errores y los canales de texto no se ven afectados.",
|
|
5
|
+
"A trigger watches states or the clock and then speaks, writes a state, or asks you a question and acts on your answer. Switch single triggers off at runtime with triggers.items.<id>.enabled, test one with its fire button, and all of them with triggers.enabled.": "Un disparador vigila estados o el reloj y luego habla, escribe un estado o te hace una pregunta y actúa según tu respuesta. Desactiva disparadores individuales en tiempo de ejecución con triggers.items.<id>.enabled, prueba uno con su botón fire y todos a la vez con triggers.enabled.",
|
|
3
6
|
"API key": "clave API",
|
|
4
7
|
"API password (usually empty)": "Contraseña de API (normalmente vacía)",
|
|
5
8
|
"API-key credential": "Credencial de clave API",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "clave de acceso secreta de AWS",
|
|
13
16
|
"AWS speech": "Discurso de AWS",
|
|
14
17
|
"Access / permissions": "Acceso / permisos",
|
|
18
|
+
"Actions (JSON)": "Acciones (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Dirección (IP o nombre de host)",
|
|
20
|
+
"After a switch command, wait up to 2 seconds for the device to acknowledge the new value (ack:true) and report \"did not respond\" if it never does. Leave this off for devices that never acknowledge (MQTT, scripts, 0_userdata) - every command would look failed.": "Tras un comando de conmutación, esperar hasta 2 segundos a que el dispositivo confirme el nuevo valor (ack:true) e informar \"no respondió\" si nunca lo hace. Déjalo desactivado para dispositivos que nunca confirman (MQTT, scripts, 0_userdata) - de lo contrario, todos los comandos parecerían fallidos.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Sonido de alarma (mp3/wav, opcional)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Permitir la modificación de objetos y archivos (peligroso)",
|
|
18
23
|
"Allow controlling states": "Permitir el control de los estados",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Controlar también satélites de voz ESPHome",
|
|
27
32
|
"Announce when a timer expires": "Anunciar cuando expire un temporizador",
|
|
28
33
|
"Announce when an alarm goes off": "Anunciar cuando suene una alarma",
|
|
34
|
+
"Announcement targets (groups and people)": "Destinos de anuncios (grupos y personas)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Responde a comandos sencillos localmente (rápido, sin conexión).",
|
|
30
36
|
"Anthropic (Claude)": "Antrópico (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Cualquier objeto (get_object/search_objects)",
|
|
38
|
+
"Ask": "Pregunta",
|
|
32
39
|
"Azure Speech": "Discurso de Azure",
|
|
33
40
|
"Azure credential": "Credencial de Azure",
|
|
34
41
|
"Azure region": "Región de Azure",
|
|
35
42
|
"Azure subscription key": "clave de suscripción de Azure",
|
|
36
43
|
"Azure voice (optional)": "Voz de Azure (opcional)",
|
|
37
44
|
"Base URL (optional)": "URL base (opcional)",
|
|
45
|
+
"Before a trigger speaks, the model rewords its text so repeated announcements do not sound canned. Costs one small LLM call per announcement; the original text is used if it fails.": "Antes de que un disparador hable, el modelo reformula su texto para que los anuncios repetidos no suenen enlatados. Cuesta una pequeña llamada al LLM por anuncio; si falla, se usa el texto original.",
|
|
38
46
|
"Bind address": "Dirección de enlace",
|
|
39
47
|
"Canonical term": "Término canónico",
|
|
40
48
|
"Central credential store": "Almacén central de credenciales",
|
|
49
|
+
"Condition as JSON: {\"state\":\"javascript.0.window\",\"value\":true} or {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; add \"also\"/\"unless\" for extra or blocking conditions, or use a list for alternatives. Say = announcement, Ask = question (needs response rules, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Extra actions as JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Delay waits before acting (90s/30m/5h), cooldown is the minimum gap between two firings in seconds (default 3600).": "Condición en JSON: {\"state\":\"javascript.0.window\",\"value\":true} o {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; añade \"also\"/\"unless\" para condiciones adicionales o de bloqueo, o usa una lista para alternativas. Say = anuncio, Ask = pregunta (requiere reglas de respuesta, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Acciones adicionales en JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. El retardo espera antes de actuar (90s/30m/5h), el tiempo de espera es el intervalo mínimo entre dos activaciones en segundos (por defecto 3600).",
|
|
50
|
+
"Confirm switch commands with a beep": "Confirmar comandos de conmutación con un pitido",
|
|
51
|
+
"Cooldown (s)": "Tiempo de espera (s)",
|
|
41
52
|
"Credential mode": "Modo de credenciales",
|
|
42
53
|
"DeepSeek": "Búsqueda profunda",
|
|
54
|
+
"Delay": "Retardo",
|
|
43
55
|
"Devices": "Dispositivos",
|
|
44
56
|
"Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.": "URL directa de un modelo GGUF. Déjelo en blanco para usar el valor predeterminado (Qwen2.5-1.5B-Instruct). Se recomiendan modelos pequeños para Raspberry Pi / arm64.",
|
|
45
|
-
"Downloads the engine and model (several hundred MB).
|
|
57
|
+
"Downloads the engine and model (several hundred MB). Progress is shown below.": "Descarga el motor y el modelo (varios cientos de MB). El progreso se muestra abajo.",
|
|
46
58
|
"ESPHome satellites": "Satélites ESPHome",
|
|
47
59
|
"ESPHome satellites do not get the reply over their API socket — they fetch it as a URL. This is the port that small HTTP server listens on.": "Los satélites ESPHome no reciben la respuesta por su socket de API: la descargan como URL. Este es el puerto en el que escucha ese pequeño servidor HTTP.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Vacío = tts-1. También: tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Habilitar servidor de voz (satélites)",
|
|
52
64
|
"Enables speech recognition/synthesis. ioBroker-native satellites reach it over the message bus — no port needed. Turn on the UDP server below only for ESP / Hannah satellites.": "Permite el reconocimiento/síntesis de voz. Los satélites nativos de ioBroker se conectan a través del bus de mensajes; no se necesita ningún puerto. Active el servidor UDP que se indica a continuación solo para los satélites ESP/Hannah.",
|
|
53
65
|
"End of speech after (ms of silence)": "Fin del habla tras (ms de silencio)",
|
|
66
|
+
"Extra actions (JSON)": "Acciones adicionales (JSON)",
|
|
67
|
+
"Give a set of satellites a name, so an announcement, a question or a trigger can address it: a group of rooms (\"Upstairs\") or the speakers that belong to one person (\"Denis\", so \"tell Denis dinner is ready\" reaches them). Members: satellite ids, room names or device names, separated by commas. Kind: empty or group, or person. A real satellite or room of the same name always wins, so a group can never make a speaker unreachable.": "Dale un nombre a un conjunto de satélites para que un anuncio, una pregunta o un disparador pueda dirigirse a él: un grupo de habitaciones (\"Planta alta\") o los altavoces de una persona (\"Denis\", para que \"dile a Denis que la cena está lista\" llegue a ellos). Miembros: ids de satélites, nombres de habitaciones o de dispositivos, separados por comas. Tipo: vacío o group, o person. Un satélite o una habitación real con el mismo nombre siempre tiene prioridad, así que un grupo nunca puede dejar un altavoz inaccesible.",
|
|
54
68
|
"Google Gemini": "Google Gemini",
|
|
55
69
|
"Home Assistant Voice PE / wyoming-satellite / ESPHome voice devices can stream to this adapter over the Wyoming protocol.": "Home Assistant Voice PE / wyoming-satellite / ESPHome Los dispositivos de voz pueden transmitir a este adaptador a través del protocolo Wyoming.",
|
|
70
|
+
"Home value (empty = auto)": "Valor \"en casa\" (vacío = automático)",
|
|
56
71
|
"Host the satellites should fetch the audio from. Empty = use the address of each device connection automatically; set it only if the devices reach this machine under a different address (NAT, Docker, VLAN).": "Host del que los satélites deben descargar el audio. Vacío = usar automáticamente la dirección de cada conexión; indícalo solo si los dispositivos alcanzan esta máquina por otra dirección (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Si está desactivado, el asistente solo puede leer estados, no establecer_estado.",
|
|
58
74
|
"Install local model": "Instalar modelo local",
|
|
59
75
|
"Interface the UDP voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interfaz en la que escucha el servidor de voz UDP. 0.0.0.0 = todas las interfaces; seleccione una IP de host específica para que los satélites de la LAN puedan alcanzarla.",
|
|
60
76
|
"Interface the voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interfaz en la que escucha el servidor de voz. 0.0.0.0 = todas las interfaces; seleccione una IP de host específica para que los satélites de la LAN puedan alcanzarla.",
|
|
61
77
|
"Keep the last few turns per source (chat, telegram, satellite) for a few minutes so follow-ups like 'and the kitchen too' work. In-memory only.": "Conserva los últimos turnos de cada fuente (chat, telegrama, satélite) durante unos minutos para que funcionen las respuestas como «y la cocina también». Solo en memoria.",
|
|
78
|
+
"Kind (group/person)": "Tipo (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Tipo (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "Asistente de LLM",
|
|
63
81
|
"Language (empty = all)": "Idioma (vacío = todos)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Lenguaje para el reconocimiento de voz y la respuesta hablada.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Déjelo en blanco para reutilizar la clave API principal cuando el proveedor LLM sea OpenAI; de lo contrario, es obligatorio.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Dejar que el LLM reformule los textos de los disparadores",
|
|
66
85
|
"Lets the assistant durably remember facts you tell it (names, preferences, where things are) and use them in later conversations. Stored in the memory.* states; the LLM gets remember/forget tools.": "Permite que el asistente recuerde de forma duradera los datos que le proporcionas (nombres, preferencias, ubicación de objetos) y los utilice en conversaciones posteriores. Almacenado en la memoria.* estados; el LLM obtiene herramientas de recordar/olvidar.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Cargado desde Azure (la instancia debe estar en ejecución); vacío = selección por idioma. Por ejemplo, de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Cargado desde Polly (la instancia debe estar en ejecución); vacío = valor predeterminado por idioma. Por ejemplo: Vicki, Tatyana.",
|
|
@@ -77,6 +96,7 @@
|
|
|
77
96
|
"Model": "Modelo",
|
|
78
97
|
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Nombre del modelo de alphacephei.com/vosk/models, por ejemplo, vosk-model-small-de-0.15. Vacío = tamaño pequeño predeterminado por idioma.",
|
|
79
98
|
"No sound": "No hay sonido",
|
|
99
|
+
"None": "Ninguno",
|
|
80
100
|
"Object read access": "Acceso de lectura al objeto",
|
|
81
101
|
"One row per device. Port empty = 6053. The room is what the assistant treats the satellite as being in. Leave the password empty unless the device really has an API password set — table values are stored unencrypted.": "Una fila por dispositivo. Puerto vacío = 6053. La habitación es aquella en la que el asistente sitúa el satélite. Deja la contraseña vacía salvo que el dispositivo tenga realmente una contraseña de API — los valores de tabla se guardan sin cifrar.",
|
|
82
102
|
"Only devices, rooms, functions": "Solo dispositivos, habitaciones, funciones",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "Compatible con OpenAI (personalizado)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Abre un puerto UDP para la transmisión de audio a través de satélites de micrófono (compatible con Hannah / ESP). No es necesario para los satélites nativos de ioBroker.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Sobrescriba el punto final, por ejemplo, https://api.groq.com/openai/v1 para Groq. Déjelo vacío para usar el valor predeterminado del proveedor.",
|
|
113
|
+
"Phrases (comma separated)": "Frases (separadas por comas)",
|
|
93
114
|
"Pick an installed weather adapter to answer weather questions from (Open-Meteo, Weather Underground, OpenWeatherMap are fully understood; others are read best-effort). Start that adapter once so its data/locations appear here.": "Seleccione un adaptador meteorológico instalado para responder a las preguntas sobre el clima (OpenMeteo, Weather Underground y OpenWeatherMap son totalmente compatibles; otros se leerán lo mejor posible). Inicie ese adaptador una vez para que sus datos/ubicaciones aparezcan aquí.",
|
|
94
115
|
"Piper (local)": "Piper (local)",
|
|
95
116
|
"Piper voice (optional)": "Voz de Piper (opcional)",
|
|
96
117
|
"Play": "Jugar",
|
|
97
118
|
"Port": "Puerto",
|
|
119
|
+
"Presence": "Presencia",
|
|
120
|
+
"Proactive triggers": "Disparadores proactivos",
|
|
98
121
|
"Provider": "Proveedor",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Recuerda la conversación (preguntas de seguimiento).",
|
|
123
|
+
"Reply": "Respuesta",
|
|
124
|
+
"Response rules (JSON)": "Reglas de respuesta (JSON)",
|
|
125
|
+
"Reword system notifications": "Reformular notificaciones del sistema",
|
|
100
126
|
"Rewrite spoken or typed variants to your device/room names before local matching, e.g. \"TV\" to \"Fernseher\". Leave the language empty to apply to all languages. Also used for the text channels.": "Antes de la coincidencia local, transcriba las variantes habladas o escritas a los nombres de su dispositivo o sala; por ejemplo, \"TV\" a \"Fernseher\". Deje el campo de idioma vacío para aplicarlo a todos los idiomas. También se utiliza para los canales de texto.",
|
|
101
127
|
"Ring duration (seconds)": "Duración del timbre (segundos)",
|
|
102
128
|
"Room": "Habitación",
|
|
129
|
+
"Routines": "Rutinas",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Ejecutar el servidor de voz UDP (satélites ESP/Hannah)",
|
|
104
131
|
"Runs a small local model (node-llama-cpp) for general questions; escalates to the cloud LLM when it needs live device data. Install it with the button below.": "Ejecuta un pequeño modelo local (node-llama-cpp) para consultas generales; recurre al modelo LLM en la nube cuando necesita datos de dispositivos en tiempo real. Instálalo con el botón de abajo.",
|
|
105
132
|
"Said or typed": "Dicho o escrito",
|
|
106
133
|
"Satellites": "satélites",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satélites, habitaciones o dispositivos (separados por comas)",
|
|
135
|
+
"Say": "Anuncio",
|
|
107
136
|
"Settings": "Ajustes",
|
|
108
137
|
"Speak an announcement on the satellite a countdown timer was set from (or on all satellites) when it runs out. Timers are always mirrored into the timers.* states for scripts and visualization.": "Se emitirá un anuncio en el satélite desde el cual se configuró un temporizador de cuenta regresiva (o en todos los satélites) cuando este finalice. Los temporizadores siempre se reflejan en los estados timers.* para los scripts y la visualización.",
|
|
109
138
|
"Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.": "Se emitirá un anuncio cuando suene una alarma a una hora fija. Las alarmas siempre se reflejan en los estados alarms.* para los scripts y la visualización.",
|
|
110
139
|
"Speech credential mode": "Modo de credenciales de voz",
|
|
111
140
|
"Speech-to-text and text-to-speech use OpenAI. Leave empty to reuse the main API key when the provider is OpenAI; required when the LLM provider is Anthropic or custom.": "Las funciones de conversión de voz a texto y de texto a voz utilizan OpenAI. Déjelo en blanco para reutilizar la clave API principal cuando el proveedor sea OpenAI; es obligatorio cuando el proveedor de LLM sea Anthropic o personalizado.",
|
|
141
|
+
"Speech-to-text fallback": "Voz a texto de respaldo",
|
|
112
142
|
"Speech-to-text provider": "Proveedor de conversión de voz a texto",
|
|
143
|
+
"Spoken system notifications (notify.text / the ioBroker notification manager) are reworded by the LLM into one natural sentence first - their raw texts are written for a log viewer. Costs one small LLM call per notification; the original text is spoken if it fails. Urgent ones (notify.alert) are announced even when Do-Not-Disturb is on.": "Las notificaciones del sistema habladas (notify.text / el gestor de notificaciones de ioBroker) primero las reformula el LLM en una sola frase natural - sus textos originales están pensados para un visor de registros. Cuesta una pequeña llamada al LLM por notificación; si falla, se pronuncia el texto original. Las urgentes (notify.alert) se anuncian incluso con No molestar activado.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Inicia un servidor UDP para satélites de micrófono (protocolo compatible con Hannah).",
|
|
145
|
+
"State id": "Id del estado",
|
|
114
146
|
"Store key in adapter": "Almacenar la clave en el adaptador",
|
|
115
147
|
"Store keys in adapter": "Almacenar las claves en el adaptador",
|
|
116
148
|
"Synonym dictionary": "Diccionario de sinónimos",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "Mensaje del sistema",
|
|
119
151
|
"TTS voice": "Voz TTS",
|
|
120
152
|
"Test connection": "Probar la conexión",
|
|
153
|
+
"Text-to-speech fallback": "Texto a voz de respaldo",
|
|
121
154
|
"Text-to-speech provider": "Proveedor de conversión de texto a voz",
|
|
122
155
|
"These devices stream until the server stops them, so the adapter decides when you stopped talking. Raise it if replies cut you off, lower it if the assistant waits too long.": "Estos dispositivos transmiten hasta que el servidor los detiene, así que el adaptador decide cuándo has dejado de hablar. Súbelo si la respuesta te corta; bájalo si el asistente espera demasiado.",
|
|
123
156
|
"ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. These devices listen on TCP 6053 and the adapter dials them, so no port is opened for the audio itself — only the media server below, which they fetch the spoken reply from.": "ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. Estos dispositivos escuchan en TCP 6053 y es el adaptador quien los llama, así que no se abre ningún puerto para el audio en sí, solo el servidor multimedia de abajo, del que descargan la respuesta hablada.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Sonido del temporizador (mp3/wav, opcional)",
|
|
158
|
+
"Triggers": "Disparadores",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Pruebe la coincidencia de intenciones basada en reglas integrada para encender/apagar, atenuar y estado antes de llamar al LLM.",
|
|
126
160
|
"Two default sounds (timer.wav, alarm.wav) are preinstalled — pick one below or upload your own mp3/wav. The selected sound plays before the spoken announcement. Needs ffmpeg on the host and at least one satellite.": "Se incluyen dos sonidos predeterminados (timer.wav, alarm.wav): seleccione uno a continuación o suba su propio archivo mp3/wav. El sonido seleccionado se reproduce antes del anuncio hablado. Requiere ffmpeg en el host y al menos un satélite.",
|
|
127
161
|
"UDP port": "puerto UDP",
|
|
128
162
|
"Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.": "Sube tus jingles en formato MP3/WAV a continuación; el sonido seleccionado se reproducirá antes del anuncio hablado. Se requiere tener ffmpeg instalado en el host y al menos un satélite.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Utilice un LLM local antes de la nube (instalado bajo demanda).",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Se usa cuando falla el proveedor de arriba (caída, clave caducada, cuota agotada). Un motor local mantiene el control por voz funcionando sin internet.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Se usa cuando falla el proveedor de arriba. Piper mantiene al asistente hablando sin internet.",
|
|
166
|
+
"Verify device feedback": "Verificar la respuesta del dispositivo",
|
|
130
167
|
"Voice": "Voz",
|
|
131
168
|
"Voice language": "Lenguaje de voz",
|
|
132
169
|
"Voice satellites": "Satélites de voz",
|
|
@@ -134,6 +171,8 @@
|
|
|
134
171
|
"Vosk (local)": "Vosk (local)",
|
|
135
172
|
"Vosk model (optional)": "Modelo Vosk (opcional)",
|
|
136
173
|
"Weather source": "Fuente meteorológica",
|
|
174
|
+
"When (JSON)": "Cuándo (JSON)",
|
|
175
|
+
"Which states tell the assistant who is at home - one row per person. Any state works: the residents adapter, a phone ping like ping.0.phone-denis.alive, a router client state or your own flag. Kind: empty or person, guest, pet (a pet never makes the house occupied). Home value: leave empty for the usual forms (true, 1, \"home\", \"anwesend\"), or enter the exact value that means at home. Used to tell the LLM who is around, to hold back announcements to an empty house (notify with onlyWhenHome) and as a trigger source via presence.anyoneHome.": "Qué estados le indican al asistente quién está en casa - una fila por persona. Sirve cualquier estado: el adaptador residents, un ping del teléfono como ping.0.phone-denis.alive, un estado de cliente del router o un indicador propio. Tipo: vacío o person, guest, pet (una mascota nunca hace que la casa esté ocupada). Valor \"en casa\": déjalo vacío para las formas habituales (true, 1, \"home\", \"anwesend\"), o introduce el valor exacto que significa en casa. Se usa para decirle al LLM quién está, para retener anuncios cuando la casa está vacía (notify con onlyWhenHome) y como fuente de disparadores mediante presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Puerto TCP de Wyoming",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "p.ej. Vicki (de), Tatyana (ru), Joanna (en). Vacío = valor predeterminado por idioma.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "p. ej. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Vacío = seleccionar por idioma.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "p.ej. gpt-4o-mini, gpt-4o, claude-soneto-4-6",
|
|
143
182
|
"e.g. westeurope": "p. ej. Europa occidental",
|
|
144
183
|
"None (local only)": "Ninguno (solo local)",
|
|
145
|
-
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Sin proveedor de LLM solo responden los niveles locales: los comandos basados en reglas, las rutinas, los temporizadores y alarmas, y el modelo local si está activado. Todo lo demás recibe una breve respuesta de «No puedo hacerlo»."
|
|
184
|
+
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Sin proveedor de LLM solo responden los niveles locales: los comandos basados en reglas, las rutinas, los temporizadores y alarmas, y el modelo local si está activado. Todo lo demás recibe una breve respuesta de «No puedo hacerlo».",
|
|
185
|
+
"Chat": "Chat"
|
|
146
186
|
}
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"A fired timer/alarm keeps ringing (looping the sound) for up to this long, or until you say 'stop'/'halt'/'aufhören'/'cancel' (or write the stopRinging state). 0 = play the sound once.": "Une alarme/minuterie déclenchée continue de sonner (en boucle) pendant une durée maximale, ou jusqu'à ce que vous disiez « stop », « halt », « aufhören » ou « cancel » (ou que vous écriviez l'état stopRinging). 0 = le son est joué une seule fois.",
|
|
3
|
+
"A phrase that runs a list of actions: \"Gute Nacht\" switches off five things and answers once. Phrases: several separated by commas (matched anywhere in the sentence, upper/lower case and umlauts do not matter). Actions as JSON, same shape as a trigger: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Reply: what the assistant answers (leave empty to stay silent). Matched before the offline rule engine and before the LLM, so a routine is never reinterpreted.": "Une phrase qui exécute une liste d'actions : \"Gute Nacht\" éteint cinq appareils et répond une seule fois. Phrases : plusieurs, séparées par des virgules (reconnues n'importe où dans la phrase, majuscules/minuscules et trémas sans importance). Actions en JSON, même format qu'un déclencheur : [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Réponse : ce que répond l'assistant (laisser vide pour rester silencieux). Vérifiée avant le moteur de règles hors ligne et avant le LLM, une routine n'est donc jamais réinterprétée.",
|
|
4
|
+
"A successful switch command is confirmed by a short tone on the satellite instead of a spoken sentence - instant, where speaking costs a text-to-speech call. Questions, errors and the text channels are unaffected.": "Une commande de commutation réussie est confirmée par un bref signal sonore sur le satellite au lieu d'une phrase parlée - instantané, alors que parler coûte un appel de synthèse vocale. Les questions, les erreurs et les canaux texte ne sont pas concernés.",
|
|
5
|
+
"A trigger watches states or the clock and then speaks, writes a state, or asks you a question and acts on your answer. Switch single triggers off at runtime with triggers.items.<id>.enabled, test one with its fire button, and all of them with triggers.enabled.": "Un déclencheur surveille des états ou l'horloge, puis parle, écrit un état ou vous pose une question et agit selon votre réponse. Désactivez un déclencheur pendant l'exécution avec triggers.items.<id>.enabled, testez-le avec son bouton fire, et tous à la fois avec triggers.enabled.",
|
|
3
6
|
"API key": "Clé API",
|
|
4
7
|
"API password (usually empty)": "Mot de passe API (généralement vide)",
|
|
5
8
|
"API-key credential": "identifiant de clé API",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "Clé d'accès secrète AWS",
|
|
13
16
|
"AWS speech": "Discours AWS",
|
|
14
17
|
"Access / permissions": "Accès / permissions",
|
|
18
|
+
"Actions (JSON)": "Actions (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Adresse (IP ou nom d’hôte)",
|
|
20
|
+
"After a switch command, wait up to 2 seconds for the device to acknowledge the new value (ack:true) and report \"did not respond\" if it never does. Leave this off for devices that never acknowledge (MQTT, scripts, 0_userdata) - every command would look failed.": "Après une commande de commutation, attendre jusqu'à 2 secondes que l'appareil confirme la nouvelle valeur (ack:true) et signaler « n'a pas répondu » s'il ne le fait jamais. Laissez désactivé pour les appareils qui ne confirment jamais (MQTT, scripts, 0_userdata) - sinon chaque commande semblerait échouer.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Sonnerie d'alarme (mp3/wav, optionnel)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Autoriser la modification des objets et des fichiers (dangereux)",
|
|
18
23
|
"Allow controlling states": "Autoriser les états de contrôle",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Piloter aussi les satellites vocaux ESPHome",
|
|
27
32
|
"Announce when a timer expires": "Annoncez l'expiration du minuteur",
|
|
28
33
|
"Announce when an alarm goes off": "Annoncez lorsqu'une alarme se déclenche.",
|
|
34
|
+
"Announcement targets (groups and people)": "Cibles des annonces (groupes et personnes)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Répondre à des commandes simples en local (rapide, hors ligne)",
|
|
30
36
|
"Anthropic (Claude)": "Anthropique (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Tout objet (get_object/search_objects)",
|
|
38
|
+
"Ask": "Question",
|
|
32
39
|
"Azure Speech": "Discours azur",
|
|
33
40
|
"Azure credential": "Identifiants Azure",
|
|
34
41
|
"Azure region": "Région Azure",
|
|
35
42
|
"Azure subscription key": "Clé d'abonnement Azure",
|
|
36
43
|
"Azure voice (optional)": "Voix Azure (facultatif)",
|
|
37
44
|
"Base URL (optional)": "URL de base (facultatif)",
|
|
45
|
+
"Before a trigger speaks, the model rewords its text so repeated announcements do not sound canned. Costs one small LLM call per announcement; the original text is used if it fails.": "Avant qu'un déclencheur ne parle, le modèle reformule son texte pour que les annonces répétées ne sonnent pas mécaniques. Coûte un petit appel au LLM par annonce ; en cas d'échec, le texte d'origine est utilisé.",
|
|
38
46
|
"Bind address": "Adresse de liaison",
|
|
39
47
|
"Canonical term": "Terme canonique",
|
|
40
48
|
"Central credential store": "Magasin central d'accréditation",
|
|
49
|
+
"Condition as JSON: {\"state\":\"javascript.0.window\",\"value\":true} or {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; add \"also\"/\"unless\" for extra or blocking conditions, or use a list for alternatives. Say = announcement, Ask = question (needs response rules, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Extra actions as JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Delay waits before acting (90s/30m/5h), cooldown is the minimum gap between two firings in seconds (default 3600).": "Condition en JSON : {\"state\":\"javascript.0.window\",\"value\":true} ou {\"time\":\"23:00\",\"days\":[1,2,3,4,5]} ; ajoutez \"also\"/\"unless\" pour des conditions supplémentaires ou bloquantes, ou utilisez une liste pour des alternatives. Say = annonce, Ask = question (nécessite des règles de réponse, JSON : [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Actions supplémentaires en JSON : [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Le délai attend avant d'agir (90s/30m/5h), le temps de repos est l'écart minimal entre deux déclenchements en secondes (3600 par défaut).",
|
|
50
|
+
"Confirm switch commands with a beep": "Confirmer les commandes de commutation par un bip",
|
|
51
|
+
"Cooldown (s)": "Temps de repos (s)",
|
|
41
52
|
"Credential mode": "Mode d'authentification",
|
|
42
53
|
"DeepSeek": "DeepSeek",
|
|
54
|
+
"Delay": "Délai",
|
|
43
55
|
"Devices": "Appareils",
|
|
44
56
|
"Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.": "URL directe d'un modèle GGUF. Laisser vide pour la valeur par défaut (Qwen2.5-1.5B-Instruct). Modèles légers recommandés pour Raspberry Pi / arm64.",
|
|
45
|
-
"Downloads the engine and model (several hundred MB).
|
|
57
|
+
"Downloads the engine and model (several hundred MB). Progress is shown below.": "Télécharge le moteur et le modèle (plusieurs centaines de Mo). La progression s'affiche ci-dessous.",
|
|
46
58
|
"ESPHome satellites": "Satellites ESPHome",
|
|
47
59
|
"ESPHome satellites do not get the reply over their API socket — they fetch it as a URL. This is the port that small HTTP server listens on.": "Les satellites ESPHome ne reçoivent pas la réponse par leur socket API : ils la récupèrent via une URL. C’est le port sur lequel écoute ce petit serveur HTTP.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Vide = tts-1. Également : tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Activer le serveur vocal (satellites)",
|
|
52
64
|
"Enables speech recognition/synthesis. ioBroker-native satellites reach it over the message bus — no port needed. Turn on the UDP server below only for ESP / Hannah satellites.": "Permet la reconnaissance et la synthèse vocales. Les satellites natifs d'ioBroker y accèdent via le bus de messages ; aucun port n'est nécessaire. Activez le serveur UDP ci-dessous uniquement pour les satellites ESP/Hannah.",
|
|
53
65
|
"End of speech after (ms of silence)": "Fin de parole après (ms de silence)",
|
|
66
|
+
"Extra actions (JSON)": "Actions supplémentaires (JSON)",
|
|
67
|
+
"Give a set of satellites a name, so an announcement, a question or a trigger can address it: a group of rooms (\"Upstairs\") or the speakers that belong to one person (\"Denis\", so \"tell Denis dinner is ready\" reaches them). Members: satellite ids, room names or device names, separated by commas. Kind: empty or group, or person. A real satellite or room of the same name always wins, so a group can never make a speaker unreachable.": "Donnez un nom à un ensemble de satellites pour qu'une annonce, une question ou un déclencheur puisse s'y adresser : un groupe de pièces (\"À l'étage\") ou les haut-parleurs d'une personne (\"Denis\", pour que « dis à Denis que le dîner est prêt » lui parvienne). Membres : ids de satellites, noms de pièces ou d'appareils, séparés par des virgules. Type : vide ou group, ou person. Un vrai satellite ou une vraie pièce du même nom l'emporte toujours, un groupe ne peut donc jamais rendre un haut-parleur injoignable.",
|
|
54
68
|
"Google Gemini": "Google Gemini",
|
|
55
69
|
"Home Assistant Voice PE / wyoming-satellite / ESPHome voice devices can stream to this adapter over the Wyoming protocol.": "Les appareils vocaux Home Assistant Voice PE / wyoming-satellite / ESPHome peuvent diffuser du contenu vers cet adaptateur via le protocole Wyoming.",
|
|
70
|
+
"Home value (empty = auto)": "Valeur « à la maison » (vide = auto)",
|
|
56
71
|
"Host the satellites should fetch the audio from. Empty = use the address of each device connection automatically; set it only if the devices reach this machine under a different address (NAT, Docker, VLAN).": "Hôte depuis lequel les satellites doivent récupérer l’audio. Vide = utiliser automatiquement l’adresse de chaque connexion ; à renseigner uniquement si les appareils atteignent cette machine par une autre adresse (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Si la fonction est désactivée, l'assistant peut uniquement lire les états, et non pas définir l'état.",
|
|
58
74
|
"Install local model": "Installer le modèle local",
|
|
59
75
|
"Interface the UDP voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interface sur laquelle le serveur vocal UDP écoute. 0.0.0.0 = toutes les interfaces ; choisissez une adresse IP hôte spécifique pour que les satellites du réseau local puissent l'atteindre.",
|
|
60
76
|
"Interface the voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interface sur laquelle le serveur vocal écoute. 0.0.0.0 = toutes les interfaces ; choisissez une adresse IP hôte spécifique pour que les satellites du réseau local puissent y accéder.",
|
|
61
77
|
"Keep the last few turns per source (chat, telegram, satellite) for a few minutes so follow-ups like 'and the kitchen too' work. In-memory only.": "Conservez les derniers échanges par source (chat, télégramme, satellite) pendant quelques minutes afin que les suites de phrases comme « et la cuisine aussi » fonctionnent. Uniquement en mémoire.",
|
|
78
|
+
"Kind (group/person)": "Type (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Type (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "assistant de maîtrise en droit",
|
|
63
81
|
"Language (empty = all)": "Langue (vide = tout)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Langage pour la reconnaissance vocale et la réponse orale.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Laisser vide pour réutiliser la clé API principale lorsque le fournisseur LLM est OpenAI ; obligatoire dans le cas contraire.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Laisser le LLM reformuler les textes des déclencheurs",
|
|
66
85
|
"Lets the assistant durably remember facts you tell it (names, preferences, where things are) and use them in later conversations. Stored in the memory.* states; the LLM gets remember/forget tools.": "Permet à l'assistant de mémoriser durablement les informations que vous lui fournissez (noms, préférences, emplacement des objets) et de les utiliser lors de conversations ultérieures. Ces informations sont stockées dans la mémoire.* L'assistant dispose d'outils de mémorisation/oubli.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Chargé depuis Azure (l'instance doit être en cours d'exécution) ; vide = choisir par langue. Par exemple : de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Chargé depuis Polly (l'instance doit être en cours d'exécution) ; vide = valeur par défaut pour chaque langue. Ex. : Vicki, Tatyana.",
|
|
@@ -77,6 +96,7 @@
|
|
|
77
96
|
"Model": "Modèle",
|
|
78
97
|
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Nom du modèle provenant de alphacephei.com/vosk/models, par exemple vosk-model-small-de-0.15. Vide = petite valeur par défaut pour chaque langue.",
|
|
79
98
|
"No sound": "Aucun son",
|
|
99
|
+
"None": "Aucun",
|
|
80
100
|
"Object read access": "accès en lecture aux objets",
|
|
81
101
|
"One row per device. Port empty = 6053. The room is what the assistant treats the satellite as being in. Leave the password empty unless the device really has an API password set — table values are stored unencrypted.": "Une ligne par appareil. Port vide = 6053. La pièce est celle dans laquelle l’assistant situe le satellite. Laissez le mot de passe vide sauf si l’appareil a réellement un mot de passe API — les valeurs de tableau sont stockées en clair.",
|
|
82
102
|
"Only devices, rooms, functions": "Seuls les appareils, les chambres et les fonctions",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "Compatible avec OpenAI (personnalisé)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Ouvre un port UDP pour la diffusion des signaux des microphones satellites (compatibles Hannah/ESP). Non nécessaire pour les satellites natifs d'ioBroker.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Modifiez le point de terminaison, par exemple https://api.groq.com/openai/v1 pour Groq. Laissez ce champ vide pour utiliser la valeur par défaut du fournisseur.",
|
|
113
|
+
"Phrases (comma separated)": "Phrases (séparées par des virgules)",
|
|
93
114
|
"Pick an installed weather adapter to answer weather questions from (Open-Meteo, Weather Underground, OpenWeatherMap are fully understood; others are read best-effort). Start that adapter once so its data/locations appear here.": "Choisissez un adaptateur météo installé pour répondre aux questions météo (OpenMeteo, Weather Underground et OpenWeatherMap sont entièrement reconnus ; les autres sont lus au mieux). Lancez cet adaptateur une fois pour que ses données/localisations s’affichent ici.",
|
|
94
115
|
"Piper (local)": "Piper (local)",
|
|
95
116
|
"Piper voice (optional)": "Voix de cornemuseur (facultatif)",
|
|
96
117
|
"Play": "Jouer",
|
|
97
118
|
"Port": "Port",
|
|
119
|
+
"Presence": "Présence",
|
|
120
|
+
"Proactive triggers": "Déclencheurs proactifs",
|
|
98
121
|
"Provider": "Fournisseur",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Rappelez-vous la conversation (questions de suivi)",
|
|
123
|
+
"Reply": "Réponse",
|
|
124
|
+
"Response rules (JSON)": "Règles de réponse (JSON)",
|
|
125
|
+
"Reword system notifications": "Reformuler les notifications système",
|
|
100
126
|
"Rewrite spoken or typed variants to your device/room names before local matching, e.g. \"TV\" to \"Fernseher\". Leave the language empty to apply to all languages. Also used for the text channels.": "Réécrivez les variantes orales ou écrites en utilisant le nom de votre appareil/salle avant la correspondance locale, par exemple « TV » devient « Fernseher ». Laissez le champ « langue » vide pour appliquer cette méthode à toutes les langues. Cette méthode s'applique également aux chaînes textuelles.",
|
|
101
127
|
"Ring duration (seconds)": "Durée de la sonnerie (secondes)",
|
|
102
128
|
"Room": "Pièce",
|
|
129
|
+
"Routines": "Routines",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Lancer le serveur vocal UDP (satellites ESP / Hannah)",
|
|
104
131
|
"Runs a small local model (node-llama-cpp) for general questions; escalates to the cloud LLM when it needs live device data. Install it with the button below.": "Exécute un petit modèle local (node-llama-cpp) pour les requêtes générales ; bascule vers le modèle LLM cloud lorsqu'il a besoin de données en direct de l'appareil. Installez-le avec le bouton ci-dessous.",
|
|
105
132
|
"Said or typed": "dit ou tapé",
|
|
106
133
|
"Satellites": "Satellites",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satellites, pièces ou appareils (séparés par des virgules)",
|
|
135
|
+
"Say": "Annonce",
|
|
107
136
|
"Settings": "Paramètres",
|
|
108
137
|
"Speak an announcement on the satellite a countdown timer was set from (or on all satellites) when it runs out. Timers are always mirrored into the timers.* states for scripts and visualization.": "Diffusez une annonce sur le satellite à partir duquel le compte à rebours a été lancé (ou sur tous les satellites) lorsque celui-ci arrive à échéance. Les minuteurs sont toujours répliqués dans les états des minuteurs pour les scripts et la visualisation.",
|
|
109
138
|
"Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.": "Annoncez une alarme lorsqu'elle se déclenche à une heure fixe. Les alarmes sont toujours répliquées dans les états alarms.* pour les scripts et la visualisation.",
|
|
110
139
|
"Speech credential mode": "Mode d'authentification vocale",
|
|
111
140
|
"Speech-to-text and text-to-speech use OpenAI. Leave empty to reuse the main API key when the provider is OpenAI; required when the LLM provider is Anthropic or custom.": "La transcription vocale et la synthèse vocale utilisent OpenAI. Laissez ce champ vide pour réutiliser la clé API principale si le fournisseur est OpenAI ; ce champ est obligatoire si le fournisseur LLM est Anthropic ou personnalisé.",
|
|
141
|
+
"Speech-to-text fallback": "Reconnaissance vocale de secours",
|
|
112
142
|
"Speech-to-text provider": "Fournisseur de transcription vocale",
|
|
143
|
+
"Spoken system notifications (notify.text / the ioBroker notification manager) are reworded by the LLM into one natural sentence first - their raw texts are written for a log viewer. Costs one small LLM call per notification; the original text is spoken if it fails. Urgent ones (notify.alert) are announced even when Do-Not-Disturb is on.": "Les notifications système parlées (notify.text / le gestionnaire de notifications d'ioBroker) sont d'abord reformulées par le LLM en une phrase naturelle - leurs textes bruts sont écrits pour un visualiseur de journaux. Coûte un petit appel au LLM par notification ; en cas d'échec, le texte d'origine est prononcé. Les notifications urgentes (notify.alert) sont annoncées même lorsque le mode Ne pas déranger est activé.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Démarre un serveur UDP pour les satellites de microphone (protocole compatible Hannah).",
|
|
145
|
+
"State id": "Id de l'état",
|
|
114
146
|
"Store key in adapter": "Rangez la clé dans l'adaptateur",
|
|
115
147
|
"Store keys in adapter": "Rangez les clés dans l'adaptateur",
|
|
116
148
|
"Synonym dictionary": "Dictionnaire des synonymes",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "invite système",
|
|
119
151
|
"TTS voice": "Voix TTS",
|
|
120
152
|
"Test connection": "Test de connexion",
|
|
153
|
+
"Text-to-speech fallback": "Synthèse vocale de secours",
|
|
121
154
|
"Text-to-speech provider": "fournisseur de synthèse vocale",
|
|
122
155
|
"These devices stream until the server stops them, so the adapter decides when you stopped talking. Raise it if replies cut you off, lower it if the assistant waits too long.": "Ces appareils émettent jusqu’à ce que le serveur les arrête : c’est donc l’adaptateur qui décide quand vous avez fini de parler. Augmentez si la réponse vous coupe, diminuez si l’assistant attend trop longtemps.",
|
|
123
156
|
"ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. These devices listen on TCP 6053 and the adapter dials them, so no port is opened for the audio itself — only the media server below, which they fetch the spoken reply from.": "ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. Ces appareils écoutent sur le TCP 6053 et c’est l’adaptateur qui les appelle : aucun port n’est donc ouvert pour l’audio lui-même, seulement le serveur multimédia ci-dessous, d’où ils récupèrent la réponse parlée.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Son de minuterie (mp3/wav, optionnel)",
|
|
158
|
+
"Triggers": "Déclencheurs",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Essayez la correspondance d'intentions basée sur des règles intégrées pour l'allumage/l'extinction, la variation d'intensité et l'état avant d'appeler le LLM.",
|
|
126
160
|
"Two default sounds (timer.wav, alarm.wav) are preinstalled — pick one below or upload your own mp3/wav. The selected sound plays before the spoken announcement. Needs ffmpeg on the host and at least one satellite.": "Deux sons par défaut (timer.wav, alarm.wav) sont préinstallés ; choisissez-en un ci-dessous ou téléchargez votre propre fichier mp3/wav. Le son sélectionné sera diffusé avant l’annonce vocale. Nécessite ffmpeg sur l’hôte et au moins un satellite.",
|
|
127
161
|
"UDP port": "port UDP",
|
|
128
162
|
"Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.": "Téléversez vos jingles MP3/WAV ci-dessous ; le son sélectionné sera diffusé avant l’annonce vocale. ffmpeg doit être installé sur le serveur hôte et au moins un satellite est requis.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Utilisez un LLM local avant le cloud (installé à la demande)",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Utilisé lorsque le fournisseur ci-dessus échoue (panne, clé expirée, quota épuisé). Un moteur local permet à la commande vocale de fonctionner sans Internet.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Utilisé lorsque le fournisseur ci-dessus échoue. Piper permet à l'assistant de continuer à parler sans Internet.",
|
|
166
|
+
"Verify device feedback": "Vérifier le retour de l'appareil",
|
|
130
167
|
"Voice": "Voix",
|
|
131
168
|
"Voice language": "Langue vocale",
|
|
132
169
|
"Voice satellites": "satellites vocaux",
|
|
@@ -134,6 +171,8 @@
|
|
|
134
171
|
"Vosk (local)": "Vosk (local)",
|
|
135
172
|
"Vosk model (optional)": "Modèle Vosk (en option)",
|
|
136
173
|
"Weather source": "Source météorologique",
|
|
174
|
+
"When (JSON)": "Quand (JSON)",
|
|
175
|
+
"Which states tell the assistant who is at home - one row per person. Any state works: the residents adapter, a phone ping like ping.0.phone-denis.alive, a router client state or your own flag. Kind: empty or person, guest, pet (a pet never makes the house occupied). Home value: leave empty for the usual forms (true, 1, \"home\", \"anwesend\"), or enter the exact value that means at home. Used to tell the LLM who is around, to hold back announcements to an empty house (notify with onlyWhenHome) and as a trigger source via presence.anyoneHome.": "Quels états indiquent à l'assistant qui est à la maison - une ligne par personne. N'importe quel état convient : l'adaptateur residents, un ping du téléphone comme ping.0.phone-denis.alive, un état client du routeur ou votre propre indicateur. Type : vide ou person, guest, pet (un animal ne rend jamais la maison occupée). Valeur « à la maison » : laissez vide pour les formes habituelles (true, 1, \"home\", \"anwesend\"), ou saisissez la valeur exacte qui signifie à la maison. Sert à indiquer au LLM qui est présent, à retenir les annonces dans une maison vide (notify avec onlyWhenHome) et comme source de déclenchement via presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Port TCP du Wyoming",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "par ex. Vicki (de), Tatyana (ru), Joanna (en). Vide = valeur par défaut par langue.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "Ex. : de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Vide = choisir par langue.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "par ex. gpt-4o-mini, gpt-4o, claude-sonnet-4-6",
|
|
143
182
|
"e.g. westeurope": "par exemple, l'Europe de l'Ouest",
|
|
144
183
|
"None (local only)": "Aucun (local uniquement)",
|
|
145
|
-
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Sans fournisseur LLM, seuls les niveaux locaux répondent : les commandes à base de règles, les routines, les minuteurs et alarmes, ainsi que le modèle local s'il est activé. Tout le reste reçoit une courte réponse « Je ne peux pas faire ça »."
|
|
184
|
+
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Sans fournisseur LLM, seuls les niveaux locaux répondent : les commandes à base de règles, les routines, les minuteurs et alarmes, ainsi que le modèle local s'il est activé. Tout le reste reçoit une courte réponse « Je ne peux pas faire ça ».",
|
|
185
|
+
"Chat": "Chat"
|
|
146
186
|
}
|
package/admin/i18n/it.json
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"A fired timer/alarm keeps ringing (looping the sound) for up to this long, or until you say 'stop'/'halt'/'aufhören'/'cancel' (or write the stopRinging state). 0 = play the sound once.": "Un timer/allarme attivato continua a suonare (il suono si ripete ciclicamente) per un periodo massimo di tempo definito, oppure finché non si pronuncia 'stop'/'halt'/'aufhören'/'cancel' (o non si imposta lo stato stopRinging). 0 = il suono viene riprodotto una sola volta.",
|
|
3
|
+
"A phrase that runs a list of actions: \"Gute Nacht\" switches off five things and answers once. Phrases: several separated by commas (matched anywhere in the sentence, upper/lower case and umlauts do not matter). Actions as JSON, same shape as a trigger: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Reply: what the assistant answers (leave empty to stay silent). Matched before the offline rule engine and before the LLM, so a routine is never reinterpreted.": "Una frase che esegue un elenco di azioni: \"Gute Nacht\" spegne cinque cose e risponde una volta sola. Frasi: più frasi separate da virgole (riconosciute in qualsiasi punto della frase, maiuscole/minuscole e dieresi non contano). Azioni in JSON, stesso formato di un trigger: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Risposta: cosa risponde l'assistente (lascia vuoto per non dire nulla). Verificata prima del motore di regole offline e prima dell'LLM, quindi una routine non viene mai reinterpretata.",
|
|
4
|
+
"A successful switch command is confirmed by a short tone on the satellite instead of a spoken sentence - instant, where speaking costs a text-to-speech call. Questions, errors and the text channels are unaffected.": "Un comando di commutazione riuscito viene confermato con un breve tono sul satellite invece che con una frase parlata - istantaneo, mentre parlare costa una chiamata di sintesi vocale. Domande, errori e canali di testo non sono interessati.",
|
|
5
|
+
"A trigger watches states or the clock and then speaks, writes a state, or asks you a question and acts on your answer. Switch single triggers off at runtime with triggers.items.<id>.enabled, test one with its fire button, and all of them with triggers.enabled.": "Un trigger osserva stati o l'orologio e poi parla, scrive uno stato o ti fa una domanda e agisce in base alla tua risposta. Disattiva i singoli trigger durante l'esecuzione con triggers.items.<id>.enabled, provane uno con il suo pulsante fire e tutti insieme con triggers.enabled.",
|
|
3
6
|
"API key": "Chiave API",
|
|
4
7
|
"API password (usually empty)": "Password API (di norma vuota)",
|
|
5
8
|
"API-key credential": "Credenziali della chiave API",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "Chiave di accesso segreta AWS",
|
|
13
16
|
"AWS speech": "Discorso AWS",
|
|
14
17
|
"Access / permissions": "Accesso / autorizzazioni",
|
|
18
|
+
"Actions (JSON)": "Azioni (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Indirizzo (IP o nome host)",
|
|
20
|
+
"After a switch command, wait up to 2 seconds for the device to acknowledge the new value (ack:true) and report \"did not respond\" if it never does. Leave this off for devices that never acknowledge (MQTT, scripts, 0_userdata) - every command would look failed.": "Dopo un comando di commutazione, attendi fino a 2 secondi che il dispositivo confermi il nuovo valore (ack:true) e segnala \"non ha risposto\" se non lo fa mai. Lascia disattivato per i dispositivi che non confermano mai (MQTT, script, 0_userdata) - altrimenti ogni comando sembrerebbe fallito.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Suono di allarme (mp3/wav, facoltativo)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Consenti la modifica di oggetti e file (pericoloso)",
|
|
18
23
|
"Allow controlling states": "Consentire agli stati di controllo",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Pilota anche i satelliti vocali ESPHome",
|
|
27
32
|
"Announce when a timer expires": "Avvisa quando un timer scade",
|
|
28
33
|
"Announce when an alarm goes off": "Avvisa quando suona un allarme",
|
|
34
|
+
"Announcement targets (groups and people)": "Destinatari degli annunci (gruppi e persone)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Rispondi a semplici comandi in locale (velocemente, offline)",
|
|
30
36
|
"Anthropic (Claude)": "Antropico (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Qualsiasi oggetto (get_object/search_objects)",
|
|
38
|
+
"Ask": "Domanda",
|
|
32
39
|
"Azure Speech": "Discorso Azure",
|
|
33
40
|
"Azure credential": "Credenziali Azure",
|
|
34
41
|
"Azure region": "regione Azure",
|
|
35
42
|
"Azure subscription key": "Chiave di sottoscrizione di Azure",
|
|
36
43
|
"Azure voice (optional)": "Voce di Azure (facoltativo)",
|
|
37
44
|
"Base URL (optional)": "URL di base (facoltativo)",
|
|
45
|
+
"Before a trigger speaks, the model rewords its text so repeated announcements do not sound canned. Costs one small LLM call per announcement; the original text is used if it fails.": "Prima che un trigger parli, il modello riformula il testo in modo che gli annunci ripetuti non suonino preconfezionati. Costa una piccola chiamata all'LLM per annuncio; se fallisce, viene usato il testo originale.",
|
|
38
46
|
"Bind address": "Indirizzo di collegamento",
|
|
39
47
|
"Canonical term": "Termine canonico",
|
|
40
48
|
"Central credential store": "Archivio centrale delle credenziali",
|
|
49
|
+
"Condition as JSON: {\"state\":\"javascript.0.window\",\"value\":true} or {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; add \"also\"/\"unless\" for extra or blocking conditions, or use a list for alternatives. Say = announcement, Ask = question (needs response rules, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Extra actions as JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Delay waits before acting (90s/30m/5h), cooldown is the minimum gap between two firings in seconds (default 3600).": "Condizione in JSON: {\"state\":\"javascript.0.window\",\"value\":true} oppure {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; aggiungi \"also\"/\"unless\" per condizioni aggiuntive o bloccanti, oppure usa un elenco per le alternative. Say = annuncio, Ask = domanda (richiede regole di risposta, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Azioni aggiuntive in JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Il ritardo attende prima di agire (90s/30m/5h), il cooldown è l'intervallo minimo tra due attivazioni in secondi (predefinito 3600).",
|
|
50
|
+
"Confirm switch commands with a beep": "Conferma i comandi di commutazione con un bip",
|
|
51
|
+
"Cooldown (s)": "Cooldown (s)",
|
|
41
52
|
"Credential mode": "Modalità credenziali",
|
|
42
53
|
"DeepSeek": "Ricerca profonda",
|
|
54
|
+
"Delay": "Ritardo",
|
|
43
55
|
"Devices": "Dispositivi",
|
|
44
56
|
"Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.": "URL diretto di un modello GGUF. Lasciare vuoto per utilizzare il valore predefinito (Qwen2.5-1.5B-Instruct). Si consigliano modelli di piccole dimensioni su Raspberry Pi / arm64.",
|
|
45
|
-
"Downloads the engine and model (several hundred MB).
|
|
57
|
+
"Downloads the engine and model (several hundred MB). Progress is shown below.": "Scarica il motore e il modello (diverse centinaia di MB). L'avanzamento è mostrato qui sotto.",
|
|
46
58
|
"ESPHome satellites": "Satelliti ESPHome",
|
|
47
59
|
"ESPHome satellites do not get the reply over their API socket — they fetch it as a URL. This is the port that small HTTP server listens on.": "I satelliti ESPHome non ricevono la risposta dal loro socket API: la scaricano come URL. Questa è la porta su cui ascolta quel piccolo server HTTP.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Vuoto = tts-1. Anche: tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Abilita il server vocale (satelliti)",
|
|
52
64
|
"Enables speech recognition/synthesis. ioBroker-native satellites reach it over the message bus — no port needed. Turn on the UDP server below only for ESP / Hannah satellites.": "Abilita il riconoscimento/sintesi vocale. I satelliti nativi di ioBroker lo raggiungono tramite il bus di messaggi, senza bisogno di porte. Attivare il server UDP qui sotto solo per i satelliti ESP/Hannah.",
|
|
53
65
|
"End of speech after (ms of silence)": "Fine del parlato dopo (ms di silenzio)",
|
|
66
|
+
"Extra actions (JSON)": "Azioni aggiuntive (JSON)",
|
|
67
|
+
"Give a set of satellites a name, so an announcement, a question or a trigger can address it: a group of rooms (\"Upstairs\") or the speakers that belong to one person (\"Denis\", so \"tell Denis dinner is ready\" reaches them). Members: satellite ids, room names or device names, separated by commas. Kind: empty or group, or person. A real satellite or room of the same name always wins, so a group can never make a speaker unreachable.": "Dai un nome a un insieme di satelliti, così un annuncio, una domanda o un trigger può rivolgersi a esso: un gruppo di stanze (\"Piano di sopra\") o gli altoparlanti di una persona (\"Denis\", così \"di' a Denis che la cena è pronta\" arriva a loro). Membri: id dei satelliti, nomi delle stanze o dei dispositivi, separati da virgole. Tipo: vuoto o group, oppure person. Un satellite o una stanza reale con lo stesso nome ha sempre la precedenza, quindi un gruppo non può mai rendere irraggiungibile un altoparlante.",
|
|
54
68
|
"Google Gemini": "Google Gemini",
|
|
55
69
|
"Home Assistant Voice PE / wyoming-satellite / ESPHome voice devices can stream to this adapter over the Wyoming protocol.": "I dispositivi vocali Home Assistant Voice PE / wyoming-satellite / ESPHome possono trasmettere in streaming a questo adattatore tramite il protocollo Wyoming.",
|
|
70
|
+
"Home value (empty = auto)": "Valore \"a casa\" (vuoto = automatico)",
|
|
56
71
|
"Host the satellites should fetch the audio from. Empty = use the address of each device connection automatically; set it only if the devices reach this machine under a different address (NAT, Docker, VLAN).": "Host da cui i satelliti devono scaricare l’audio. Vuoto = usa automaticamente l’indirizzo di ogni connessione; impostalo solo se i dispositivi raggiungono questa macchina a un indirizzo diverso (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Se disattivato, l'assistente può solo leggere gli stati, non impostare lo stato.",
|
|
58
74
|
"Install local model": "Installa il modello locale",
|
|
59
75
|
"Interface the UDP voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interfaccia su cui il server vocale UDP è in ascolto. 0.0.0.0 = tutte le interfacce; selezionare un indirizzo IP host specifico in modo che i dispositivi satellite sulla LAN possano raggiungerlo.",
|
|
60
76
|
"Interface the voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.": "Interfaccia su cui il server vocale è in ascolto. 0.0.0.0 = tutte le interfacce; selezionare un indirizzo IP host specifico in modo che i satelliti sulla LAN possano raggiungerlo.",
|
|
61
77
|
"Keep the last few turns per source (chat, telegram, satellite) for a few minutes so follow-ups like 'and the kitchen too' work. In-memory only.": "Mantieni gli ultimi turni per ogni fonte (chat, telegramma, satellite) per alcuni minuti in modo che i successivi come \"e anche la cucina\" funzionino. Solo in memoria.",
|
|
78
|
+
"Kind (group/person)": "Tipo (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Tipo (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "Assistente LLM",
|
|
63
81
|
"Language (empty = all)": "Lingua (vuoto = tutto)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Linguaggio per il riconoscimento vocale e la risposta vocale.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Lasciare vuoto per riutilizzare la chiave API principale quando il provider LLM è OpenAI; altrimenti è obbligatorio.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Fai riformulare i testi dei trigger all'LLM",
|
|
66
85
|
"Lets the assistant durably remember facts you tell it (names, preferences, where things are) and use them in later conversations. Stored in the memory.* states; the LLM gets remember/forget tools.": "Consente all'assistente di ricordare in modo permanente le informazioni che gli fornisci (nomi, preferenze, posizione degli oggetti) e di utilizzarle nelle conversazioni successive. Memorizzato nella memoria.* stati; LLM ottiene strumenti di memorizzazione/dimenticanza.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Caricato da Azure (l'istanza deve essere in esecuzione); vuoto = seleziona in base alla lingua. Ad esempio de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Caricato da Polly (l'istanza deve essere in esecuzione); vuoto = valore predefinito per lingua. Ad esempio, Vicki, Tatyana.",
|
|
@@ -77,6 +96,7 @@
|
|
|
77
96
|
"Model": "Modello",
|
|
78
97
|
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Nome del modello da alphacephei.com/vosk/models, ad esempio vosk-model-small-de-0.15. Vuoto = modello piccolo predefinito per ogni lingua.",
|
|
79
98
|
"No sound": "Nessun suono",
|
|
99
|
+
"None": "Nessuno",
|
|
80
100
|
"Object read access": "accesso in lettura all'oggetto",
|
|
81
101
|
"One row per device. Port empty = 6053. The room is what the assistant treats the satellite as being in. Leave the password empty unless the device really has an API password set — table values are stored unencrypted.": "Una riga per dispositivo. Porta vuota = 6053. La stanza è quella in cui l’assistente colloca il satellite. Lascia vuota la password a meno che il dispositivo non abbia davvero una password API — i valori di tabella sono salvati in chiaro.",
|
|
82
102
|
"Only devices, rooms, functions": "Solo dispositivi, stanze, funzioni",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "Compatibile con OpenAI (personalizzato)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Apre una porta UDP per i satelliti del microfono in streaming (compatibili con Hannah / ESP). Non necessario per i satelliti nativi di ioBroker.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Sovrascrivi l'endpoint, ad esempio https://api.groq.com/openai/v1 per Groq. Lascia vuoto il campo predefinito del provider.",
|
|
113
|
+
"Phrases (comma separated)": "Frasi (separate da virgole)",
|
|
93
114
|
"Pick an installed weather adapter to answer weather questions from (Open-Meteo, Weather Underground, OpenWeatherMap are fully understood; others are read best-effort). Start that adapter once so its data/locations appear here.": "Seleziona un adattatore meteo installato per rispondere alle domande sul meteo (Open-Meteo, Weather Underground e OpenWeatherMap sono supportati a pieno; per gli altri, la lettura è al meglio delle possibilità). Avvia l'adattatore una volta in modo che i suoi dati/posizioni vengano visualizzati qui.",
|
|
94
115
|
"Piper (local)": "Piper (locale)",
|
|
95
116
|
"Piper voice (optional)": "Voce da suonatore di cornamusa (facoltativa)",
|
|
96
117
|
"Play": "Giocare",
|
|
97
118
|
"Port": "Porta",
|
|
119
|
+
"Presence": "Presenza",
|
|
120
|
+
"Proactive triggers": "Trigger proattivi",
|
|
98
121
|
"Provider": "Fornitore",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Ricorda la conversazione (domande di approfondimento)",
|
|
123
|
+
"Reply": "Risposta",
|
|
124
|
+
"Response rules (JSON)": "Regole di risposta (JSON)",
|
|
125
|
+
"Reword system notifications": "Riformula le notifiche di sistema",
|
|
100
126
|
"Rewrite spoken or typed variants to your device/room names before local matching, e.g. \"TV\" to \"Fernseher\". Leave the language empty to apply to all languages. Also used for the text channels.": "Riscrivi le varianti vocali o digitate con i nomi del tuo dispositivo/stanza prima della corrispondenza locale, ad esempio \"TV\" in \"Fernseher\". Lascia vuoto il campo della lingua per applicare la funzione a tutte le lingue. Utilizzato anche per i canali di testo.",
|
|
101
127
|
"Ring duration (seconds)": "Durata dello squillo (secondi)",
|
|
102
128
|
"Room": "Stanza",
|
|
129
|
+
"Routines": "Routine",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Avviare il server vocale UDP (satelliti ESP/Hannah)",
|
|
104
131
|
"Runs a small local model (node-llama-cpp) for general questions; escalates to the cloud LLM when it needs live device data. Install it with the button below.": "Esegue un piccolo modello locale (node-llama-cpp) per domande generiche; passa al modello LLM cloud quando necessita di dati in tempo reale dal dispositivo. Installalo tramite il pulsante qui sotto.",
|
|
105
132
|
"Said or typed": "Detto o digitato",
|
|
106
133
|
"Satellites": "Satelliti",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satelliti, stanze o dispositivi (separati da virgole)",
|
|
135
|
+
"Say": "Annuncio",
|
|
107
136
|
"Settings": "Impostazioni",
|
|
108
137
|
"Speak an announcement on the satellite a countdown timer was set from (or on all satellites) when it runs out. Timers are always mirrored into the timers.* states for scripts and visualization.": "Pronuncia un annuncio sul satellite da cui è stato impostato un timer per il conto alla rovescia (o su tutti i satelliti) quando scade. I timer sono sempre replicati negli stati timers.* per script e visualizzazione.",
|
|
109
138
|
"Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.": "Pronuncia un annuncio quando si attiva un allarme a un orario prestabilito. Gli allarmi vengono sempre replicati negli stati alarms.* per script e visualizzazione.",
|
|
110
139
|
"Speech credential mode": "Modalità credenziali vocali",
|
|
111
140
|
"Speech-to-text and text-to-speech use OpenAI. Leave empty to reuse the main API key when the provider is OpenAI; required when the LLM provider is Anthropic or custom.": "La conversione da parlato a testo e da testo a parlato utilizza OpenAI. Lasciare vuoto per riutilizzare la chiave API principale quando il provider è OpenAI; obbligatorio quando il provider LLM è Anthropic o personalizzato.",
|
|
141
|
+
"Speech-to-text fallback": "Riconoscimento vocale di riserva",
|
|
112
142
|
"Speech-to-text provider": "Fornitore di servizi di riconoscimento vocale",
|
|
143
|
+
"Spoken system notifications (notify.text / the ioBroker notification manager) are reworded by the LLM into one natural sentence first - their raw texts are written for a log viewer. Costs one small LLM call per notification; the original text is spoken if it fails. Urgent ones (notify.alert) are announced even when Do-Not-Disturb is on.": "Le notifiche di sistema pronunciate (notify.text / il gestore notifiche di ioBroker) vengono prima riformulate dall'LLM in un'unica frase naturale - i loro testi grezzi sono scritti per un visualizzatore di log. Costa una piccola chiamata all'LLM per notifica; se fallisce, viene pronunciato il testo originale. Quelle urgenti (notify.alert) vengono annunciate anche con Non disturbare attivo.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Avvia un server UDP per i satelliti del microfono (protocollo compatibile con Hannah).",
|
|
145
|
+
"State id": "Id dello stato",
|
|
114
146
|
"Store key in adapter": "Conservare la chiave nell'adattatore",
|
|
115
147
|
"Store keys in adapter": "Conserva le chiavi nell'adattatore",
|
|
116
148
|
"Synonym dictionary": "Dizionario dei sinonimi",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "Richiesta di sistema",
|
|
119
151
|
"TTS voice": "Sintesi vocale",
|
|
120
152
|
"Test connection": "Verifica la connessione",
|
|
153
|
+
"Text-to-speech fallback": "Sintesi vocale di riserva",
|
|
121
154
|
"Text-to-speech provider": "Fornitore di sintesi vocale",
|
|
122
155
|
"These devices stream until the server stops them, so the adapter decides when you stopped talking. Raise it if replies cut you off, lower it if the assistant waits too long.": "Questi dispositivi trasmettono finché il server non li ferma, quindi è l’adapter a decidere quando hai smesso di parlare. Aumenta se la risposta ti interrompe, riduci se l’assistente attende troppo.",
|
|
123
156
|
"ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. These devices listen on TCP 6053 and the adapter dials them, so no port is opened for the audio itself — only the media server below, which they fetch the spoken reply from.": "ThirdReality Voice & Music Assistant, Home Assistant Voice PE, linux-voice-assistant. Questi dispositivi ascoltano sulla TCP 6053 ed è l’adapter a contattarli, quindi per l’audio non viene aperta alcuna porta: solo il media server qui sotto, da cui scaricano la risposta parlata.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Suono del timer (mp3/wav, facoltativo)",
|
|
158
|
+
"Triggers": "Trigger",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Prima di chiamare LLM, prova la corrispondenza degli intenti basata su regole integrate per accensione/spegnimento, attenuazione e stato.",
|
|
126
160
|
"Two default sounds (timer.wav, alarm.wav) are preinstalled — pick one below or upload your own mp3/wav. The selected sound plays before the spoken announcement. Needs ffmpeg on the host and at least one satellite.": "Sono preinstallati due suoni predefiniti (timer.wav, alarm.wav): scegline uno qui sotto oppure carica il tuo file mp3/wav. Il suono selezionato verrà riprodotto prima dell'annuncio vocale. Richiede ffmpeg sul computer host e su almeno un satellite.",
|
|
127
161
|
"UDP port": "porta UDP",
|
|
128
162
|
"Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.": "Carica i jingle in formato mp3/wav qui sotto; il suono selezionato verrà riprodotto prima dell'annuncio vocale. È necessario che ffmpeg sia installato sul computer host e su almeno un satellite.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Utilizzare un LLM locale prima del cloud (installato su richiesta).",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Usato quando il provider sopra non funziona (interruzione, chiave scaduta, credito esaurito). Un motore locale mantiene attivo il controllo vocale senza internet.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Usato quando il provider sopra non funziona. Piper fa parlare l'assistente anche senza internet.",
|
|
166
|
+
"Verify device feedback": "Verifica il riscontro del dispositivo",
|
|
130
167
|
"Voice": "Voce",
|
|
131
168
|
"Voice language": "Lingua vocale",
|
|
132
169
|
"Voice satellites": "Satelliti vocali",
|
|
@@ -134,6 +171,8 @@
|
|
|
134
171
|
"Vosk (local)": "Vosk (locale)",
|
|
135
172
|
"Vosk model (optional)": "Modello Vosk (opzionale)",
|
|
136
173
|
"Weather source": "Fonte meteo",
|
|
174
|
+
"When (JSON)": "Quando (JSON)",
|
|
175
|
+
"Which states tell the assistant who is at home - one row per person. Any state works: the residents adapter, a phone ping like ping.0.phone-denis.alive, a router client state or your own flag. Kind: empty or person, guest, pet (a pet never makes the house occupied). Home value: leave empty for the usual forms (true, 1, \"home\", \"anwesend\"), or enter the exact value that means at home. Used to tell the LLM who is around, to hold back announcements to an empty house (notify with onlyWhenHome) and as a trigger source via presence.anyoneHome.": "Quali stati dicono all'assistente chi è a casa - una riga per persona. Va bene qualsiasi stato: l'adattatore residents, un ping del telefono come ping.0.phone-denis.alive, uno stato client del router o un tuo flag. Tipo: vuoto o person, guest, pet (un animale domestico non rende mai la casa occupata). Valore \"a casa\": lascia vuoto per le forme usuali (true, 1, \"home\", \"anwesend\"), oppure inserisci il valore esatto che significa a casa. Serve a dire all'LLM chi c'è, a trattenere gli annunci quando la casa è vuota (notify con onlyWhenHome) e come sorgente di trigger tramite presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Porta TCP del Wyoming",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "per esempio. Vicki (de), Tatyana (ru), Joanna (en). Vuoto = predefinito per lingua.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "ad esempio de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Vuoto = seleziona in base alla lingua.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "per esempio. gpt-4o-mini, gpt-4o, claude-sonetto-4-6",
|
|
143
182
|
"e.g. westeurope": "ad esempio l'Europa occidentale",
|
|
144
183
|
"None (local only)": "Nessuno (solo locale)",
|
|
145
|
-
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Senza un provider LLM rispondono solo i livelli locali: i comandi basati su regole, le routine, i timer e le sveglie e il modello locale, se attivato. Tutto il resto riceve una breve risposta «Non posso farlo»."
|
|
184
|
+
"Without an LLM provider only the local tiers answer: the rule-based commands, routines, timers and alarms, and the local model if enabled. Anything else gets a short \"I can't do that\" reply.": "Senza un provider LLM rispondono solo i livelli locali: i comandi basati su regole, le routine, i timer e le sveglie e il modello locale, se attivato. Tutto il resto riceve una breve risposta «Non posso farlo».",
|
|
185
|
+
"Chat": "Chat"
|
|
146
186
|
}
|