iobroker.assistant 0.1.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/LICENSE +21 -0
- package/README.md +176 -0
- package/admin/assistant.svg +19 -0
- package/admin/custom/.vite/manifest.json +169 -0
- package/admin/custom/assets/Components-DcnuVFM6.js +1 -0
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-DogEjv3U.js +1 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js +1 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js +1 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js +1243 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js +1494 -0
- package/admin/custom/assets/hostInit-DKMI-sLp.js +1 -0
- package/admin/custom/assets/index-B8wW0kQx.js +1 -0
- package/admin/custom/assets/lib-DpE8sc4h.js +3 -0
- package/admin/custom/assets/mf-entry-bootstrap-0-e7fa582d.js +36 -0
- package/admin/custom/assets/rolldown-runtime-C0FnF6B9.js +1 -0
- package/admin/custom/assets/virtualExposes-DOTO22UK.js +1 -0
- package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomAssistant__customComponents_js-CQa59yVi.js +1 -0
- package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__ConfigCustomAssistant__customComponents_js-9g2Fj8tk.js +2 -0
- package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomAssistant__customComponents_js-BTUQTbYo.js +2 -0
- package/admin/custom/assets/vite-preload-helper-B7qeedMF.js +1 -0
- package/admin/custom/customComponents.js +1 -0
- package/admin/custom/customComponents.ssr.js +1 -0
- package/admin/custom/i18n/de.json +58 -0
- package/admin/custom/i18n/en.json +58 -0
- package/admin/custom/i18n/es.json +34 -0
- package/admin/custom/i18n/fr.json +34 -0
- package/admin/custom/i18n/it.json +34 -0
- package/admin/custom/i18n/nl.json +34 -0
- package/admin/custom/i18n/pl.json +34 -0
- package/admin/custom/i18n/pt.json +34 -0
- package/admin/custom/i18n/ru.json +34 -0
- package/admin/custom/i18n/uk.json +34 -0
- package/admin/custom/i18n/zh-cn.json +34 -0
- package/admin/custom/index.html +32 -0
- package/admin/custom/mf-manifest.json +1 -0
- package/admin/custom/mf-stats.json +1 -0
- package/admin/i18n/de.json +130 -0
- package/admin/i18n/en.json +130 -0
- package/admin/i18n/es.json +106 -0
- package/admin/i18n/fr.json +106 -0
- package/admin/i18n/it.json +106 -0
- package/admin/i18n/nl.json +106 -0
- package/admin/i18n/pl.json +106 -0
- package/admin/i18n/pt.json +106 -0
- package/admin/i18n/ru.json +106 -0
- package/admin/i18n/uk.json +106 -0
- package/admin/i18n/zh-cn.json +106 -0
- package/admin/jsonConfig.json +743 -0
- package/admin/sounds/alarm.wav +0 -0
- package/admin/sounds/timer.wav +0 -0
- package/build/lib/alarms.js +281 -0
- package/build/lib/alarms.js.map +1 -0
- package/build/lib/context.js +52 -0
- package/build/lib/context.js.map +1 -0
- package/build/lib/credentials.js +121 -0
- package/build/lib/credentials.js.map +1 -0
- package/build/lib/llm.js +303 -0
- package/build/lib/llm.js.map +1 -0
- package/build/lib/localLlm.js +221 -0
- package/build/lib/localLlm.js.map +1 -0
- package/build/lib/memory.js +190 -0
- package/build/lib/memory.js.map +1 -0
- package/build/lib/nlu.js +929 -0
- package/build/lib/nlu.js.map +1 -0
- package/build/lib/timers.js +245 -0
- package/build/lib/timers.js.map +1 -0
- package/build/lib/tools.js +299 -0
- package/build/lib/tools.js.map +1 -0
- package/build/lib/voice/aws.js +102 -0
- package/build/lib/voice/aws.js.map +1 -0
- package/build/lib/voice/azure.js +144 -0
- package/build/lib/voice/azure.js.map +1 -0
- package/build/lib/voice/download.js +76 -0
- package/build/lib/voice/download.js.map +1 -0
- package/build/lib/voice/engines.js +89 -0
- package/build/lib/voice/engines.js.map +1 -0
- package/build/lib/voice/lang.js +33 -0
- package/build/lib/voice/lang.js.map +1 -0
- package/build/lib/voice/piper.js +191 -0
- package/build/lib/voice/piper.js.map +1 -0
- package/build/lib/voice/protocol.js +35 -0
- package/build/lib/voice/protocol.js.map +1 -0
- package/build/lib/voice/stt.js +116 -0
- package/build/lib/voice/stt.js.map +1 -0
- package/build/lib/voice/tts.js +36 -0
- package/build/lib/voice/tts.js.map +1 -0
- package/build/lib/voice/voiceServer.js +249 -0
- package/build/lib/voice/voiceServer.js.map +1 -0
- package/build/lib/voice/vosk.js +260 -0
- package/build/lib/voice/vosk.js.map +1 -0
- package/build/lib/voice/wyoming.js +320 -0
- package/build/lib/voice/wyoming.js.map +1 -0
- package/build/lib/weather.js +423 -0
- package/build/lib/weather.js.map +1 -0
- package/build/main.js +3152 -0
- package/build/main.js.map +1 -0
- package/io-package.json +528 -0
- package/package.json +68 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"custom_assistant_Clear chat": "清晰聊天",
|
|
3
|
+
"custom_assistant_Device cache cleared.": "设备缓存已清除。",
|
|
4
|
+
"custom_assistant_Hide disabled": "隐藏已禁用",
|
|
5
|
+
"custom_assistant_Listening…": "正在听……",
|
|
6
|
+
"custom_assistant_Name language: %s": "名称语言:%s",
|
|
7
|
+
"custom_assistant_No devices detected. Assign states to rooms and functions in ioBroker.": "未检测到设备。请在ioBroker中为房间和功能分配状态。",
|
|
8
|
+
"custom_assistant_No messages yet. Type a question below.": "暂无消息。请在下方输入问题。",
|
|
9
|
+
"custom_assistant_Per-device permissions": "每个设备的权限",
|
|
10
|
+
"custom_assistant_Play answer (backend TTS)": "播放答案(后端 TTS)",
|
|
11
|
+
"custom_assistant_Read answers aloud": "大声朗读答案",
|
|
12
|
+
"custom_assistant_Refresh device cache": "刷新设备缓存",
|
|
13
|
+
"custom_assistant_Save the configuration (the instance will restart) before chatting.": "聊天前请保存配置(实例将重启)。",
|
|
14
|
+
"custom_assistant_Speak": "说话",
|
|
15
|
+
"custom_assistant_Start the assistant instance to chat.": "启动助手实例进行聊天。",
|
|
16
|
+
"custom_assistant_Start the assistant instance to load the device list.": "启动助手实例以加载设备列表。",
|
|
17
|
+
"custom_assistant_Stop listening": "别听了",
|
|
18
|
+
"custom_assistant_Stop reading answers aloud": "停止大声朗读答案",
|
|
19
|
+
"custom_assistant_Test chat": "测试聊天",
|
|
20
|
+
"custom_assistant_Thinking…": "思维…",
|
|
21
|
+
"custom_assistant_Translate all missing (%s)": "翻译所有缺失值(%s)",
|
|
22
|
+
"custom_assistant_Translate name into %s": "将名称翻译成 %s",
|
|
23
|
+
"custom_assistant_Type a message…": "输入消息…",
|
|
24
|
+
"custom_assistant_auto": "汽车",
|
|
25
|
+
"custom_assistant_change it on the Voice tab": "在“语音”选项卡上更改。",
|
|
26
|
+
"custom_assistant_device": "设备",
|
|
27
|
+
"custom_assistant_filter": "筛选",
|
|
28
|
+
"custom_assistant_hint": "取消勾选“读取”选项可将设备对语音助手隐藏,取消勾选“写入”选项可将其设置为只读(例如,锁定设备)。设备默认设置为完全允许访问。",
|
|
29
|
+
"custom_assistant_no name in %s (showing %s)": "“%s”中没有名称——显示“%s”",
|
|
30
|
+
"custom_assistant_read": "读",
|
|
31
|
+
"custom_assistant_room": "房间",
|
|
32
|
+
"custom_assistant_type": "类型",
|
|
33
|
+
"custom_assistant_write": "写"
|
|
34
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta
|
|
6
|
+
name="viewport"
|
|
7
|
+
content="width=device-width, initial-scale=1.0"
|
|
8
|
+
/>
|
|
9
|
+
<title>Admin App</title>
|
|
10
|
+
<script>
|
|
11
|
+
const script = document.createElement('script');
|
|
12
|
+
window.registerSocketOnLoad = function (cb) {
|
|
13
|
+
window.socketLoadedHandler = cb;
|
|
14
|
+
};
|
|
15
|
+
script.onload = function () {
|
|
16
|
+
typeof window.socketLoadedHandler === 'function' && window.socketLoadedHandler();
|
|
17
|
+
};
|
|
18
|
+
setTimeout(() => {
|
|
19
|
+
script.src =
|
|
20
|
+
window.location.port === '3000'
|
|
21
|
+
? `${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`
|
|
22
|
+
: '../../lib/js/socket.io.js';
|
|
23
|
+
}, 1000);
|
|
24
|
+
|
|
25
|
+
document.head.appendChild(script);
|
|
26
|
+
</script>
|
|
27
|
+
<script type="module" crossorigin src="./assets/mf-entry-bootstrap-0-e7fa582d.js"></script>
|
|
28
|
+
<link rel="modulepreload" crossorigin href="./assets/hostInit-DKMI-sLp.js"><link rel="modulepreload" crossorigin href="./assets/index-B8wW0kQx.js"><link rel="modulepreload" crossorigin href="./customComponents.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-DogEjv3U.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js"></head>
|
|
29
|
+
<body>
|
|
30
|
+
<div id="root"></div>
|
|
31
|
+
</body>
|
|
32
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"ConfigCustomAssistant","name":"ConfigCustomAssistant","metaData":{"name":"ConfigCustomAssistant","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"ConfigCustomAssistant"},"remoteEntry":{"name":"customComponents.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"customComponents.ssr.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"ConfigCustomAssistant","pluginVersion":"0.2.5","publicPath":"auto"},"shared":[{"id":"ConfigCustomAssistant:@emotion/react","name":"@emotion/react","version":"11.14.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@emotion/styled","name":"@emotion/styled","version":"11.14.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@iobroker/gui-components","name":"@iobroker/gui-components","version":"10.0.12","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@iobroker/json-config","name":"@iobroker/json-config","version":"9.0.16","singleton":true,"requiredVersion":"*","assets":{"js":{"async":["assets/lib-DpE8sc4h.js"],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@mui/icons-material","name":"@mui/icons-material","version":"9.2.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@mui/material","name":"@mui/material","version":"9.2.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react","name":"react","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react-dom","name":"react-dom","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react/jsx-runtime","name":"react/jsx-runtime","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[{"id":"ConfigCustomAssistant:Components","name":"Components","assets":{"js":{"async":["assets/lib-DpE8sc4h.js"],"sync":["assets/Components-DcnuVFM6.js"]},"css":{"async":[],"sync":[]}},"path":"./Components"}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"ConfigCustomAssistant","name":"ConfigCustomAssistant","metaData":{"name":"ConfigCustomAssistant","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"ConfigCustomAssistant"},"remoteEntry":{"name":"customComponents.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"customComponents.ssr.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"ConfigCustomAssistant","pluginVersion":"0.2.5","publicPath":"auto"},"shared":[{"id":"ConfigCustomAssistant:@emotion/react","name":"@emotion/react","version":"11.14.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@emotion/styled","name":"@emotion/styled","version":"11.14.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@iobroker/gui-components","name":"@iobroker/gui-components","version":"10.0.12","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@iobroker/json-config","name":"@iobroker/json-config","version":"9.0.16","singleton":true,"requiredVersion":"*","assets":{"js":{"async":["assets/lib-DpE8sc4h.js"],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@mui/icons-material","name":"@mui/icons-material","version":"9.2.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:@mui/material","name":"@mui/material","version":"9.2.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react","name":"react","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react-dom","name":"react-dom","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}},{"id":"ConfigCustomAssistant:react/jsx-runtime","name":"react/jsx-runtime","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[{"id":"ConfigCustomAssistant:Components","name":"Components","assets":{"js":{"async":["assets/lib-DpE8sc4h.js"],"sync":["assets/Components-DcnuVFM6.js"]},"css":{"async":[],"sync":[]}},"path":"./Components"}],"buildOutput":[{"fileName":"assets/Components-DcnuVFM6.js","type":"chunk","isEntry":true,"size":57776},{"fileName":"assets/hostInit-DKMI-sLp.js","type":"chunk","isEntry":false,"size":2673},{"fileName":"assets/index-B8wW0kQx.js","type":"chunk","isEntry":true,"size":878},{"fileName":"assets/virtualExposes-DOTO22UK.js","type":"chunk","isEntry":false,"size":133},{"fileName":"customComponents.js","type":"chunk","isEntry":false,"size":156},{"fileName":"customComponents.ssr.js","type":"chunk","isEntry":false,"size":1037},{"fileName":"assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-DogEjv3U.js","type":"chunk","isEntry":false,"size":5974},{"fileName":"assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js","type":"chunk","isEntry":false,"size":36698},{"fileName":"assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js","type":"chunk","isEntry":false,"size":9066},{"fileName":"assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js","type":"chunk","isEntry":false,"size":6995296},{"fileName":"assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js","type":"chunk","isEntry":false,"size":1380648},{"fileName":"assets/lib-DpE8sc4h.js","type":"chunk","isEntry":false,"size":23434},{"fileName":"assets/rolldown-runtime-C0FnF6B9.js","type":"chunk","isEntry":false,"size":1291},{"fileName":"assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomAssistant__customComponents_js-CQa59yVi.js","type":"chunk","isEntry":false,"size":15806},{"fileName":"assets/virtual_mf-exposes-ssr___mfe_internal__ConfigCustomAssistant__customComponents_js-9g2Fj8tk.js","type":"chunk","isEntry":false,"size":292},{"fileName":"assets/virtual_mf-exposes___mfe_internal__ConfigCustomAssistant__customComponents_js-BTUQTbYo.js","type":"chunk","isEntry":false,"size":989},{"fileName":"assets/vite-preload-helper-B7qeedMF.js","type":"chunk","isEntry":false,"size":1243},{"fileName":"index.html","type":"asset","isEntry":false,"size":2234},{"fileName":"assets/mf-entry-bootstrap-0-e7fa582d.js","type":"asset","isEntry":false,"size":1352}],"assetAnalysis":{"./src/Components.tsx":{"js":{"sync":["assets/Components-DcnuVFM6.js"],"async":["assets/lib-DpE8sc4h.js"]},"css":{"sync":[],"async":[]}},"react":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"],"async":[]},"css":{"sync":[],"async":[]}},"@emotion/react":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-Dw5TkU1t.js"],"async":[]},"css":{"sync":[],"async":[]}},"@emotion/styled":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BEFjTs9S.js"],"async":[]},"css":{"sync":[],"async":[]}},"react/jsx-runtime":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"],"async":[]},"css":{"sync":[],"async":[]}},"react-dom":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"],"async":[]},"css":{"sync":[],"async":[]}},"@mui/material":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"],"async":[]},"css":{"sync":[],"async":[]}},"@mui/icons-material":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"],"async":[]},"css":{"sync":[],"async":[]}},"@iobroker/gui-components":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-C4r3udVz.js"],"async":[]},"css":{"sync":[],"async":[]}},"@iobroker/json-config":{"js":{"sync":["assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DlOBHPL0.js"],"async":["assets/lib-DpE8sc4h.js"]},"css":{"sync":[],"async":[]}}}}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"API key": "API-Schlüssel",
|
|
3
|
+
"API-key credential": "API-Schlüssel-Zugangsdaten",
|
|
4
|
+
"AWS Polly": "AWS Polly",
|
|
5
|
+
"AWS Polly voice (optional)": "AWS-Polly-Stimme (optional)",
|
|
6
|
+
"AWS Transcribe": "AWS Transcribe",
|
|
7
|
+
"AWS access key id": "AWS Access Key ID",
|
|
8
|
+
"AWS credential": "AWS-Zugangsdaten",
|
|
9
|
+
"AWS region": "AWS-Region",
|
|
10
|
+
"AWS secret access key": "AWS Secret Access Key",
|
|
11
|
+
"AWS speech": "AWS Sprache",
|
|
12
|
+
"Access / permissions": "Zugriff / Berechtigungen",
|
|
13
|
+
"Allow changing objects and files (dangerous)": "Objekte und Dateien ändern erlauben (gefährlich)",
|
|
14
|
+
"Allow controlling states": "Steuern von States erlauben",
|
|
15
|
+
"Allow reading files": "Dateien lesen erlauben",
|
|
16
|
+
"Allow reading history": "Historie lesen erlauben",
|
|
17
|
+
"Allow reading logs": "Logs lesen erlauben",
|
|
18
|
+
"Allow system info (hosts, instances, adapters)": "Systeminfos erlauben (Hosts, Instanzen, Adapter)",
|
|
19
|
+
"Allow writing states (control devices)": "States schreiben erlauben (Geräte steuern)",
|
|
20
|
+
"Allow writing to the log": "Ins Log schreiben erlauben",
|
|
21
|
+
"Also accept Wyoming clients (TCP)": "Auch Wyoming-Clients akzeptieren (TCP)",
|
|
22
|
+
"Alarm sound (mp3/wav, optional)": "Wecker-Sound (mp3/wav, optional)",
|
|
23
|
+
"Announce when a timer expires": "Ansage, wenn ein Timer abläuft",
|
|
24
|
+
"Announce when an alarm goes off": "Ansage, wenn ein Wecker klingelt",
|
|
25
|
+
"No sound": "Kein Sound",
|
|
26
|
+
"Play": "Abspielen",
|
|
27
|
+
"Ring duration (seconds)": "Klingeldauer (Sekunden)",
|
|
28
|
+
"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.": "Ein abgelaufener Timer/Wecker klingelt (Sound in Schleife) bis zu so lange, oder bis du 'Stop'/'Halt'/'Aufhören'/'Cancel' sagst (oder den State stopRinging schreibst). 0 = Sound einmal abspielen.",
|
|
29
|
+
"Timer sound (mp3/wav, optional)": "Timer-Sound (mp3/wav, optional)",
|
|
30
|
+
"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.": "Zwei Standard-Sounds (timer.wav, alarm.wav) sind vorinstalliert — unten auswählen oder eigene mp3/wav hochladen. Der gewählte Sound wird vor der gesprochenen Ansage abgespielt. Benötigt ffmpeg auf dem Host und mindestens einen Satelliten.",
|
|
31
|
+
"Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.": "Lade unten mp3/wav-Jingles hoch; der gewählte Sound wird vor der gesprochenen Ansage abgespielt. Benötigt ffmpeg auf dem Host und mindestens einen Satelliten.",
|
|
32
|
+
"Answer simple commands locally (fast, offline)": "Einfache Befehle lokal beantworten (schnell, offline)",
|
|
33
|
+
"Synonym dictionary": "Synonym-Wörterbuch",
|
|
34
|
+
"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.": "Schreibt gesprochene oder getippte Varianten vor dem lokalen Abgleich auf deine Geräte-/Raumnamen um, z. B. \"TV\" zu \"Fernseher\". Sprache leer lassen = für alle Sprachen. Gilt auch für die Text-Kanäle.",
|
|
35
|
+
"Said or typed": "Gesagt oder getippt",
|
|
36
|
+
"Canonical term": "Kanonischer Begriff",
|
|
37
|
+
"Language (empty = all)": "Sprache (leer = alle)",
|
|
38
|
+
"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.": "Spricht beim Ablauf eines Timers eine Ansage auf dem Satelliten, auf dem er gestellt wurde (oder auf allen). Timer werden immer in die timers.*-States für Skripte und Visualisierung gespiegelt.",
|
|
39
|
+
"Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.": "Spricht eine Ansage, wenn ein Wecker zu einer festen Uhrzeit auslöst. Wecker werden immer in die alarms.*-States für Skripte und Visualisierung gespiegelt.",
|
|
40
|
+
"Anthropic (Claude)": "Anthropic (Claude)",
|
|
41
|
+
"Any object (get_object/search_objects)": "Beliebige Objekte (get_object/search_objects)",
|
|
42
|
+
"Azure Speech": "Azure Speech",
|
|
43
|
+
"Azure credential": "Azure-Zugangsdaten",
|
|
44
|
+
"Azure region": "Azure-Region",
|
|
45
|
+
"Azure subscription key": "Azure-Abonnementschlüssel",
|
|
46
|
+
"Azure voice (optional)": "Azure-Stimme (optional)",
|
|
47
|
+
"Base URL (optional)": "Basis-URL (optional)",
|
|
48
|
+
"Bind address": "Bind-Adresse",
|
|
49
|
+
"Central credential store": "Zentraler Zugangsdaten-Speicher",
|
|
50
|
+
"Credential mode": "Schlüssel-Quelle",
|
|
51
|
+
"DeepSeek": "DeepSeek",
|
|
52
|
+
"Devices": "Geräte",
|
|
53
|
+
"Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.": "Direkte URL einer GGUF-Modelldatei. Leer lassen für den Standard (Qwen2.5-1.5B-Instruct). Auf Raspberry Pi / arm64 kleine Modelle empfohlen.",
|
|
54
|
+
"Downloads the engine and model (several hundred MB). Watch the instance log for progress.": "Lädt Engine und Modell herunter (mehrere hundert MB). Fortschritt im Instanz-Log verfolgen.",
|
|
55
|
+
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Leer = tts-1. Auch: tts-1-hd, gpt-4o-mini-tts.",
|
|
56
|
+
"Empty = whisper-1. Also: gpt-4o-transcribe, gpt-4o-mini-transcribe.": "Leer = whisper-1. Auch: gpt-4o-transcribe, gpt-4o-mini-transcribe.",
|
|
57
|
+
"Enable voice (STT/TTS for satellites)": "Sprache aktivieren (STT/TTS für Satelliten)",
|
|
58
|
+
"Enable voice server (satellites)": "Sprach-Server aktivieren (Satelliten)",
|
|
59
|
+
"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.": "Aktiviert Spracherkennung/-synthese. ioBroker-native Satelliten erreichen sie über den Nachrichtenbus — kein Port nötig. Den UDP-Server unten nur für ESP-/Hannah-Satelliten einschalten.",
|
|
60
|
+
"Google Gemini": "Google Gemini",
|
|
61
|
+
"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-Voice-Geräte können per Wyoming-Protokoll an diesen Adapter streamen.",
|
|
62
|
+
"If off, the assistant can only read states, not set_state.": "Wenn deaktiviert, kann der Assistent States nur lesen, nicht schreiben (set_state).",
|
|
63
|
+
"Install local model": "Lokales Modell installieren",
|
|
64
|
+
"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.": "Schnittstelle, auf der der UDP-Sprach-Server lauscht. 0.0.0.0 = alle Schnittstellen; wähle eine bestimmte Host-IP, damit Satelliten im LAN ihn erreichen.",
|
|
65
|
+
"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.": "Schnittstelle, auf der der Voice-Server lauscht. 0.0.0.0 = alle Schnittstellen; wähle eine bestimmte Host-IP, damit Satelliten im LAN sie erreichen.",
|
|
66
|
+
"LLM assistant": "LLM-Assistent",
|
|
67
|
+
"Language for speech recognition and the spoken reply.": "Sprache für Spracherkennung und die vorgelesene Antwort.",
|
|
68
|
+
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Leer lassen, um den Haupt-API-Schlüssel zu verwenden, wenn der LLM-Anbieter OpenAI ist; sonst erforderlich.",
|
|
69
|
+
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Von Azure geladen (Instanz muss laufen); leer = nach Sprache wählen. z. B. de-DE-KatjaNeural.",
|
|
70
|
+
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Von Polly geladen (Instanz muss laufen); leer = Standard je Sprache. z. B. Vicki, Tatyana.",
|
|
71
|
+
"Loaded from the provider (instance must run); you can also type a model id.": "Vom Anbieter geladen (Instanz muss laufen); du kannst auch eine Modell-ID eingeben.",
|
|
72
|
+
"Loaded from the provider (instance must run); you can also type a voice id.": "Vom Anbieter geladen (Instanz muss laufen); du kannst auch eine Voice-ID eingeben.",
|
|
73
|
+
"Local model URL (GGUF, optional)": "URL des lokalen Modells (GGUF, optional)",
|
|
74
|
+
"Long-term memory (remember facts across sessions)": "Langzeitgedächtnis (Fakten über Sitzungen hinweg merken)",
|
|
75
|
+
"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.": "Lässt den Assistenten Fakten, die du ihm nennst (Namen, Vorlieben, wo etwas ist), dauerhaft merken und in späteren Gesprächen nutzen. Gespeichert in den memory.*-States; das LLM erhält remember/forget-Tools.",
|
|
76
|
+
"Local speech (no cloud)": "Lokale Sprache (keine Cloud)",
|
|
77
|
+
"Max tokens": "Maximale Tokens",
|
|
78
|
+
"Model": "Modell",
|
|
79
|
+
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Modellname von alphacephei.com/vosk/models, z. B. vosk-model-small-de-0.15. Leer = kleines Standardmodell je Sprache.",
|
|
80
|
+
"Object read access": "Objekt-Lesezugriff",
|
|
81
|
+
"Only devices, rooms, functions": "Nur Geräte, Räume, Funktionen",
|
|
82
|
+
"OpenAI": "OpenAI",
|
|
83
|
+
"OpenAI (Whisper)": "OpenAI (Whisper)",
|
|
84
|
+
"OpenAI STT model (optional)": "OpenAI-STT-Modell (optional)",
|
|
85
|
+
"OpenAI TTS model (optional)": "OpenAI-TTS-Modell (optional)",
|
|
86
|
+
"OpenAI credential": "OpenAI-Zugangsdaten",
|
|
87
|
+
"OpenAI key for speech (optional)": "OpenAI-Schlüssel für Sprache (optional)",
|
|
88
|
+
"OpenAI speech": "OpenAI Sprache",
|
|
89
|
+
"OpenAI-compatible (custom)": "OpenAI-kompatibel (benutzerdefiniert)",
|
|
90
|
+
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Öffnet einen UDP-Port für streamende Mikrofon-Satelliten (Hannah-kompatibel / ESP). Für ioBroker-native Satelliten nicht nötig.",
|
|
91
|
+
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Endpunkt überschreiben, z. B. https://api.groq.com/openai/v1 für Groq. Leer lassen für den Standard des Anbieters.",
|
|
92
|
+
"Piper (local)": "Piper (lokal)",
|
|
93
|
+
"Piper voice (optional)": "Piper-Stimme (optional)",
|
|
94
|
+
"Provider": "Anbieter",
|
|
95
|
+
"Remember the conversation (follow-up questions)": "Gespräch merken (Rückfragen)",
|
|
96
|
+
"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.": "Merkt sich pro Quelle (Chat, Telegram, Satellit) die letzten Turns für ein paar Minuten, damit Rückfragen wie 'und die Küche auch' funktionieren. Nur im Speicher.",
|
|
97
|
+
"Run the UDP voice server (ESP / Hannah satellites)": "UDP-Sprach-Server betreiben (ESP-/Hannah-Satelliten)",
|
|
98
|
+
"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.": "Führt ein kleines lokales Modell (node-llama-cpp) für allgemeine Fragen aus; eskaliert an das Cloud-LLM, wenn aktuelle Gerätedaten nötig sind. Über die Schaltfläche unten installieren.",
|
|
99
|
+
"Settings": "Einstellungen",
|
|
100
|
+
"Speech credential mode": "Sprach-Schlüssel-Quelle",
|
|
101
|
+
"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.": "Spracherkennung und Sprachausgabe nutzen OpenAI. Leer lassen, um den Haupt-API-Schlüssel zu verwenden, wenn der Anbieter OpenAI ist; erforderlich, wenn der LLM-Anbieter Anthropic oder benutzerdefiniert ist.",
|
|
102
|
+
"Speech-to-text provider": "Spracherkennungs-Anbieter",
|
|
103
|
+
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Startet einen UDP-Server für Mikrofon-Satelliten (Hannah-kompatibles Protokoll).",
|
|
104
|
+
"Store key in adapter": "Schlüssel im Adapter speichern",
|
|
105
|
+
"Store keys in adapter": "Schlüssel im Adapter speichern",
|
|
106
|
+
"System language": "Systemsprache",
|
|
107
|
+
"System prompt": "System-Prompt",
|
|
108
|
+
"TTS voice": "TTS-Stimme",
|
|
109
|
+
"Test connection": "Verbindung testen",
|
|
110
|
+
"Text-to-speech provider": "Sprachausgabe-Anbieter",
|
|
111
|
+
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Nutzt die eingebaute regelbasierte Erkennung für An/Aus, Dimmen und Status, bevor das LLM aufgerufen wird.",
|
|
112
|
+
"UDP port": "UDP-Port",
|
|
113
|
+
"Use a local LLM before the cloud (installed on demand)": "Lokales LLM vor der Cloud verwenden (bei Bedarf installiert)",
|
|
114
|
+
"Satellites": "Satelliten",
|
|
115
|
+
"Voice": "Sprache",
|
|
116
|
+
"Voice language": "Sprache (Stimme)",
|
|
117
|
+
"Voice satellites": "Sprach-Satelliten",
|
|
118
|
+
"Weather source": "Wetter-Quelle",
|
|
119
|
+
"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.": "Wähle einen installierten Wetter-Adapter, aus dem Wetterfragen beantwortet werden (Open-Meteo, Weather Underground, OpenWeatherMap werden vollständig verstanden; andere bestmöglich). Starte den Adapter einmal, damit seine Daten/Standorte hier erscheinen.",
|
|
120
|
+
"Vosk (STT) and Piper (TTS) run on this host. Models and the Piper binary are downloaded automatically on first use (needs internet, plus 'unzip'/'tar'). No API key required.": "Vosk (STT) und Piper (TTS) laufen auf diesem Host. Modelle und das Piper-Binary werden beim ersten Nutzen automatisch heruntergeladen (Internet nötig, plus 'unzip'/'tar'). Kein API-Schlüssel erforderlich.",
|
|
121
|
+
"Vosk (local)": "Vosk (lokal)",
|
|
122
|
+
"Vosk model (optional)": "Vosk-Modell (optional)",
|
|
123
|
+
"Wyoming TCP port": "Wyoming-TCP-Port",
|
|
124
|
+
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "z. B. Vicki (de), Tatyana (ru), Joanna (en). Leer = Standard je Sprache.",
|
|
125
|
+
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "z. B. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Leer = nach Sprache wählen.",
|
|
126
|
+
"e.g. de_DE-thorsten-medium, ru_RU-irina-medium. Empty = default per language.": "z. B. de_DE-thorsten-medium, ru_RU-irina-medium. Leer = Standard je Sprache.",
|
|
127
|
+
"e.g. eu-central-1": "z. B. eu-central-1",
|
|
128
|
+
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "z. B. gpt-4o-mini, gpt-4o, claude-sonnet-4-6",
|
|
129
|
+
"e.g. westeurope": "z. B. westeurope"
|
|
130
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"API key": "API key",
|
|
3
|
+
"API-key credential": "API-key credential",
|
|
4
|
+
"AWS Polly": "AWS Polly",
|
|
5
|
+
"AWS Polly voice (optional)": "AWS Polly voice (optional)",
|
|
6
|
+
"AWS Transcribe": "AWS Transcribe",
|
|
7
|
+
"AWS access key id": "AWS access key id",
|
|
8
|
+
"AWS credential": "AWS credential",
|
|
9
|
+
"AWS region": "AWS region",
|
|
10
|
+
"AWS secret access key": "AWS secret access key",
|
|
11
|
+
"AWS speech": "AWS speech",
|
|
12
|
+
"Access / permissions": "Access / permissions",
|
|
13
|
+
"Allow changing objects and files (dangerous)": "Allow changing objects and files (dangerous)",
|
|
14
|
+
"Allow controlling states": "Allow controlling states",
|
|
15
|
+
"Allow reading files": "Allow reading files",
|
|
16
|
+
"Allow reading history": "Allow reading history",
|
|
17
|
+
"Allow reading logs": "Allow reading logs",
|
|
18
|
+
"Allow system info (hosts, instances, adapters)": "Allow system info (hosts, instances, adapters)",
|
|
19
|
+
"Allow writing states (control devices)": "Allow writing states (control devices)",
|
|
20
|
+
"Allow writing to the log": "Allow writing to the log",
|
|
21
|
+
"Also accept Wyoming clients (TCP)": "Also accept Wyoming clients (TCP)",
|
|
22
|
+
"Alarm sound (mp3/wav, optional)": "Alarm sound (mp3/wav, optional)",
|
|
23
|
+
"Announce when a timer expires": "Announce when a timer expires",
|
|
24
|
+
"Announce when an alarm goes off": "Announce when an alarm goes off",
|
|
25
|
+
"No sound": "No sound",
|
|
26
|
+
"Play": "Play",
|
|
27
|
+
"Ring duration (seconds)": "Ring duration (seconds)",
|
|
28
|
+
"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.": "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.",
|
|
29
|
+
"Timer sound (mp3/wav, optional)": "Timer sound (mp3/wav, optional)",
|
|
30
|
+
"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.": "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.",
|
|
31
|
+
"Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.": "Upload mp3/wav jingles below; the selected sound plays before the spoken announcement. Needs ffmpeg installed on the host and at least one satellite.",
|
|
32
|
+
"Answer simple commands locally (fast, offline)": "Answer simple commands locally (fast, offline)",
|
|
33
|
+
"Synonym dictionary": "Synonym dictionary",
|
|
34
|
+
"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.": "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.",
|
|
35
|
+
"Said or typed": "Said or typed",
|
|
36
|
+
"Canonical term": "Canonical term",
|
|
37
|
+
"Language (empty = all)": "Language (empty = all)",
|
|
38
|
+
"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.": "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.",
|
|
39
|
+
"Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.": "Speak an announcement when an alarm at a fixed clock time fires. Alarms are always mirrored into the alarms.* states for scripts and visualization.",
|
|
40
|
+
"Anthropic (Claude)": "Anthropic (Claude)",
|
|
41
|
+
"Any object (get_object/search_objects)": "Any object (get_object/search_objects)",
|
|
42
|
+
"Azure Speech": "Azure Speech",
|
|
43
|
+
"Azure credential": "Azure credential",
|
|
44
|
+
"Azure region": "Azure region",
|
|
45
|
+
"Azure subscription key": "Azure subscription key",
|
|
46
|
+
"Azure voice (optional)": "Azure voice (optional)",
|
|
47
|
+
"Base URL (optional)": "Base URL (optional)",
|
|
48
|
+
"Bind address": "Bind address",
|
|
49
|
+
"Central credential store": "Central credential store",
|
|
50
|
+
"Credential mode": "Credential mode",
|
|
51
|
+
"DeepSeek": "DeepSeek",
|
|
52
|
+
"Devices": "Devices",
|
|
53
|
+
"Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.": "Direct URL of a GGUF model. Leave empty for the default (Qwen2.5-1.5B-Instruct). Small models recommended on Raspberry Pi / arm64.",
|
|
54
|
+
"Downloads the engine and model (several hundred MB). Watch the instance log for progress.": "Downloads the engine and model (several hundred MB). Watch the instance log for progress.",
|
|
55
|
+
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.",
|
|
56
|
+
"Empty = whisper-1. Also: gpt-4o-transcribe, gpt-4o-mini-transcribe.": "Empty = whisper-1. Also: gpt-4o-transcribe, gpt-4o-mini-transcribe.",
|
|
57
|
+
"Enable voice (STT/TTS for satellites)": "Enable voice (STT/TTS for satellites)",
|
|
58
|
+
"Enable voice server (satellites)": "Enable voice server (satellites)",
|
|
59
|
+
"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.": "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.",
|
|
60
|
+
"Google Gemini": "Google Gemini",
|
|
61
|
+
"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 voice devices can stream to this adapter over the Wyoming protocol.",
|
|
62
|
+
"If off, the assistant can only read states, not set_state.": "If off, the assistant can only read states, not set_state.",
|
|
63
|
+
"Install local model": "Install local model",
|
|
64
|
+
"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 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.",
|
|
65
|
+
"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 the voice server listens on. 0.0.0.0 = all interfaces; pick a specific host IP so satellites on the LAN can reach it.",
|
|
66
|
+
"LLM assistant": "LLM assistant",
|
|
67
|
+
"Language for speech recognition and the spoken reply.": "Language for speech recognition and the spoken reply.",
|
|
68
|
+
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.",
|
|
69
|
+
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.",
|
|
70
|
+
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.",
|
|
71
|
+
"Loaded from the provider (instance must run); you can also type a model id.": "Loaded from the provider (instance must run); you can also type a model id.",
|
|
72
|
+
"Loaded from the provider (instance must run); you can also type a voice id.": "Loaded from the provider (instance must run); you can also type a voice id.",
|
|
73
|
+
"Local model URL (GGUF, optional)": "Local model URL (GGUF, optional)",
|
|
74
|
+
"Long-term memory (remember facts across sessions)": "Long-term memory (remember facts across sessions)",
|
|
75
|
+
"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.": "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.",
|
|
76
|
+
"Local speech (no cloud)": "Local speech (no cloud)",
|
|
77
|
+
"Max tokens": "Max tokens",
|
|
78
|
+
"Model": "Model",
|
|
79
|
+
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.",
|
|
80
|
+
"Object read access": "Object read access",
|
|
81
|
+
"Only devices, rooms, functions": "Only devices, rooms, functions",
|
|
82
|
+
"OpenAI": "OpenAI",
|
|
83
|
+
"OpenAI (Whisper)": "OpenAI (Whisper)",
|
|
84
|
+
"OpenAI STT model (optional)": "OpenAI STT model (optional)",
|
|
85
|
+
"OpenAI TTS model (optional)": "OpenAI TTS model (optional)",
|
|
86
|
+
"OpenAI credential": "OpenAI credential",
|
|
87
|
+
"OpenAI key for speech (optional)": "OpenAI key for speech (optional)",
|
|
88
|
+
"OpenAI speech": "OpenAI speech",
|
|
89
|
+
"OpenAI-compatible (custom)": "OpenAI-compatible (custom)",
|
|
90
|
+
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.",
|
|
91
|
+
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.",
|
|
92
|
+
"Piper (local)": "Piper (local)",
|
|
93
|
+
"Piper voice (optional)": "Piper voice (optional)",
|
|
94
|
+
"Provider": "Provider",
|
|
95
|
+
"Remember the conversation (follow-up questions)": "Remember the conversation (follow-up questions)",
|
|
96
|
+
"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.": "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.",
|
|
97
|
+
"Run the UDP voice server (ESP / Hannah satellites)": "Run the UDP voice server (ESP / Hannah satellites)",
|
|
98
|
+
"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.": "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.",
|
|
99
|
+
"Settings": "Settings",
|
|
100
|
+
"Speech credential mode": "Speech credential mode",
|
|
101
|
+
"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.": "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.",
|
|
102
|
+
"Speech-to-text provider": "Speech-to-text provider",
|
|
103
|
+
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Starts a UDP server for microphone satellites (Hannah-compatible protocol).",
|
|
104
|
+
"Store key in adapter": "Store key in adapter",
|
|
105
|
+
"Store keys in adapter": "Store keys in adapter",
|
|
106
|
+
"System language": "System language",
|
|
107
|
+
"System prompt": "System prompt",
|
|
108
|
+
"TTS voice": "TTS voice",
|
|
109
|
+
"Test connection": "Test connection",
|
|
110
|
+
"Text-to-speech provider": "Text-to-speech provider",
|
|
111
|
+
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.",
|
|
112
|
+
"UDP port": "UDP port",
|
|
113
|
+
"Use a local LLM before the cloud (installed on demand)": "Use a local LLM before the cloud (installed on demand)",
|
|
114
|
+
"Satellites": "Satellites",
|
|
115
|
+
"Voice": "Voice",
|
|
116
|
+
"Voice language": "Voice language",
|
|
117
|
+
"Voice satellites": "Voice satellites",
|
|
118
|
+
"Weather source": "Weather source",
|
|
119
|
+
"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.": "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.",
|
|
120
|
+
"Vosk (STT) and Piper (TTS) run on this host. Models and the Piper binary are downloaded automatically on first use (needs internet, plus 'unzip'/'tar'). No API key required.": "Vosk (STT) and Piper (TTS) run on this host. Models and the Piper binary are downloaded automatically on first use (needs internet, plus 'unzip'/'tar'). No API key required.",
|
|
121
|
+
"Vosk (local)": "Vosk (local)",
|
|
122
|
+
"Vosk model (optional)": "Vosk model (optional)",
|
|
123
|
+
"Wyoming TCP port": "Wyoming TCP port",
|
|
124
|
+
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.",
|
|
125
|
+
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.",
|
|
126
|
+
"e.g. de_DE-thorsten-medium, ru_RU-irina-medium. Empty = default per language.": "e.g. de_DE-thorsten-medium, ru_RU-irina-medium. Empty = default per language.",
|
|
127
|
+
"e.g. eu-central-1": "e.g. eu-central-1",
|
|
128
|
+
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6",
|
|
129
|
+
"e.g. westeurope": "e.g. westeurope"
|
|
130
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"API key": "clave API",
|
|
3
|
+
"API-key credential": "Credencial de clave API",
|
|
4
|
+
"AWS Polly": "Polly de AWS",
|
|
5
|
+
"AWS Polly voice (optional)": "Voz de AWS Polly (opcional)",
|
|
6
|
+
"AWS Transcribe": "Transcribir AWS",
|
|
7
|
+
"AWS access key id": "ID de clave de acceso de AWS",
|
|
8
|
+
"AWS credential": "Credencial de AWS",
|
|
9
|
+
"AWS region": "Región de AWS",
|
|
10
|
+
"AWS secret access key": "clave de acceso secreta de AWS",
|
|
11
|
+
"AWS speech": "Discurso de AWS",
|
|
12
|
+
"Access / permissions": "Acceso / permisos",
|
|
13
|
+
"Allow changing objects and files (dangerous)": "Permitir la modificación de objetos y archivos (peligroso)",
|
|
14
|
+
"Allow controlling states": "Permitir el control de los estados",
|
|
15
|
+
"Allow reading files": "Permitir la lectura de archivos",
|
|
16
|
+
"Allow reading history": "Permitir la lectura del historial",
|
|
17
|
+
"Allow reading logs": "Permitir la lectura de registros",
|
|
18
|
+
"Allow system info (hosts, instances, adapters)": "Permitir información del sistema (hosts, instancias, adaptadores)",
|
|
19
|
+
"Allow writing states (control devices)": "Permitir la escritura de estados (dispositivos de control)",
|
|
20
|
+
"Allow writing to the log": "Permitir la escritura en el registro",
|
|
21
|
+
"Also accept Wyoming clients (TCP)": "También aceptamos clientes de Wyoming (TCP).",
|
|
22
|
+
"Answer simple commands locally (fast, offline)": "Responde a comandos sencillos localmente (rápido, sin conexión).",
|
|
23
|
+
"Anthropic (Claude)": "Antrópico (Claude)",
|
|
24
|
+
"Any object (get_object/search_objects)": "Cualquier objeto (get_object/search_objects)",
|
|
25
|
+
"Azure Speech": "Discurso de Azure",
|
|
26
|
+
"Azure credential": "Credencial de Azure",
|
|
27
|
+
"Azure region": "Región de Azure",
|
|
28
|
+
"Azure subscription key": "clave de suscripción de Azure",
|
|
29
|
+
"Azure voice (optional)": "Voz de Azure (opcional)",
|
|
30
|
+
"Base URL (optional)": "URL base (opcional)",
|
|
31
|
+
"Bind address": "Dirección de enlace",
|
|
32
|
+
"Central credential store": "Almacén central de credenciales",
|
|
33
|
+
"Credential mode": "Modo de credenciales",
|
|
34
|
+
"DeepSeek": "Búsqueda profunda",
|
|
35
|
+
"Devices": "Dispositivos",
|
|
36
|
+
"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.",
|
|
37
|
+
"Downloads the engine and model (several hundred MB). Watch the instance log for progress.": "Descarga el motor y el modelo (varios cientos de MB). Consulta el registro de la instancia para ver el progreso.",
|
|
38
|
+
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Vacío = tts-1. También: tts-1-hd, gpt-4o-mini-tts.",
|
|
39
|
+
"Empty = whisper-1. Also: gpt-4o-transcribe, gpt-4o-mini-transcribe.": "Vacío = whisper-1. También: gpt-4o-transcribe, gpt-4o-mini-transcribe.",
|
|
40
|
+
"Enable voice (STT/TTS for satellites)": "Habilitar la voz (STT/TTS para satélites)",
|
|
41
|
+
"Enable voice server (satellites)": "Habilitar servidor de voz (satélites)",
|
|
42
|
+
"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.",
|
|
43
|
+
"Google Gemini": "Google Gemini",
|
|
44
|
+
"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.",
|
|
45
|
+
"If off, the assistant can only read states, not set_state.": "Si está desactivado, el asistente solo puede leer estados, no establecer_estado.",
|
|
46
|
+
"Install local model": "Instalar modelo local",
|
|
47
|
+
"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.",
|
|
48
|
+
"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.",
|
|
49
|
+
"LLM assistant": "Asistente de LLM",
|
|
50
|
+
"Language for speech recognition and the spoken reply.": "Lenguaje para el reconocimiento de voz y la respuesta hablada.",
|
|
51
|
+
"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.",
|
|
52
|
+
"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.",
|
|
53
|
+
"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.",
|
|
54
|
+
"Loaded from the provider (instance must run); you can also type a model id.": "Cargado desde el proveedor (la instancia debe estar en ejecución); también puede escribir un ID de modelo.",
|
|
55
|
+
"Loaded from the provider (instance must run); you can also type a voice id.": "Cargado desde el proveedor (la instancia debe estar en ejecución); también puede escribir un identificador de voz.",
|
|
56
|
+
"Local model URL (GGUF, optional)": "URL del modelo local (GGUF, opcional)",
|
|
57
|
+
"Local speech (no cloud)": "Idioma local (sin nube)",
|
|
58
|
+
"Max tokens": "Fichas máximas",
|
|
59
|
+
"Model": "Modelo",
|
|
60
|
+
"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.",
|
|
61
|
+
"Object read access": "Acceso de lectura al objeto",
|
|
62
|
+
"Only devices, rooms, functions": "Solo dispositivos, habitaciones, funciones",
|
|
63
|
+
"OpenAI": "OpenAI",
|
|
64
|
+
"OpenAI (Whisper)": "OpenAI (Whisper)",
|
|
65
|
+
"OpenAI STT model (optional)": "Modelo STT de OpenAI (opcional)",
|
|
66
|
+
"OpenAI TTS model (optional)": "Modelo TTS de OpenAI (opcional)",
|
|
67
|
+
"OpenAI credential": "Credencial de OpenAI",
|
|
68
|
+
"OpenAI key for speech (optional)": "Clave de OpenAI para voz (opcional)",
|
|
69
|
+
"OpenAI speech": "Discurso de OpenAI",
|
|
70
|
+
"OpenAI-compatible (custom)": "Compatible con OpenAI (personalizado)",
|
|
71
|
+
"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.",
|
|
72
|
+
"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.",
|
|
73
|
+
"Piper (local)": "Piper (local)",
|
|
74
|
+
"Piper voice (optional)": "Voz de Piper (opcional)",
|
|
75
|
+
"Provider": "Proveedor",
|
|
76
|
+
"Run the UDP voice server (ESP / Hannah satellites)": "Ejecutar el servidor de voz UDP (satélites ESP/Hannah)",
|
|
77
|
+
"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.",
|
|
78
|
+
"Settings": "Ajustes",
|
|
79
|
+
"Speech credential mode": "Modo de credenciales de voz",
|
|
80
|
+
"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.",
|
|
81
|
+
"Speech-to-text provider": "Proveedor de conversión de voz a texto",
|
|
82
|
+
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Inicia un servidor UDP para satélites de micrófono (protocolo compatible con Hannah).",
|
|
83
|
+
"Store key in adapter": "Almacenar la clave en el adaptador",
|
|
84
|
+
"Store keys in adapter": "Almacenar las claves en el adaptador",
|
|
85
|
+
"System language": "Lenguaje del sistema",
|
|
86
|
+
"System prompt": "Mensaje del sistema",
|
|
87
|
+
"TTS voice": "Voz TTS",
|
|
88
|
+
"Test connection": "Probar la conexión",
|
|
89
|
+
"Text-to-speech provider": "Proveedor de conversión de texto a voz",
|
|
90
|
+
"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.",
|
|
91
|
+
"UDP port": "puerto UDP",
|
|
92
|
+
"Use a local LLM before the cloud (installed on demand)": "Utilice un LLM local antes de la nube (instalado bajo demanda).",
|
|
93
|
+
"Voice": "Voz",
|
|
94
|
+
"Voice language": "Lenguaje de voz",
|
|
95
|
+
"Voice satellites": "Satélites de voz",
|
|
96
|
+
"Vosk (STT) and Piper (TTS) run on this host. Models and the Piper binary are downloaded automatically on first use (needs internet, plus 'unzip'/'tar'). No API key required.": "Vosk (STT) y Piper (TTS) se ejecutan en este servidor. Los modelos y el binario de Piper se descargan automáticamente la primera vez que se usa (requiere conexión a internet y los programas 'unzip'/'tar'). No se requiere clave API.",
|
|
97
|
+
"Vosk (local)": "Vosk (local)",
|
|
98
|
+
"Vosk model (optional)": "Modelo Vosk (opcional)",
|
|
99
|
+
"Wyoming TCP port": "Puerto TCP de Wyoming",
|
|
100
|
+
"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.",
|
|
101
|
+
"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.",
|
|
102
|
+
"e.g. de_DE-thorsten-medium, ru_RU-irina-medium. Empty = default per language.": "p. ej. de_DE-thorsten-medium, ru_RU-irina-medium. Vacío = valor predeterminado por idioma.",
|
|
103
|
+
"e.g. eu-central-1": "p. ej. eu-central-1",
|
|
104
|
+
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "p.ej. gpt-4o-mini, gpt-4o, claude-soneto-4-6",
|
|
105
|
+
"e.g. westeurope": "p. ej. Europa occidental"
|
|
106
|
+
}
|