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/nl.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.": "Een geactiveerde timer/alarm blijft rinkelen (het geluid wordt herhaald) gedurende een bepaalde tijd, of totdat u 'stop'/'halt'/'aufhören'/'cancel' zegt (of de status 'stopRinging' schrijft). 0 = het geluid één keer afspelen.",
|
|
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.": "Een zin die een lijst met acties uitvoert: \"Gute Nacht\" schakelt vijf dingen uit en antwoordt één keer. Zinnen: meerdere, gescheiden door komma's (overal in de zin herkend, hoofdletters/kleine letters en umlauts maken niet uit). Acties als JSON, in dezelfde vorm als een trigger: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Antwoord: wat de assistent antwoordt (leeg laten om stil te blijven). Wordt gecontroleerd vóór de offline regel-engine en vóór het LLM, zodat een routine nooit anders wordt geïnterpreteerd.",
|
|
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.": "Een geslaagd schakelcommando wordt bevestigd met een korte toon op de satelliet in plaats van een gesproken zin - direct, terwijl spreken een text-to-speech-aanroep kost. Vragen, fouten en de tekstkanalen worden niet beïnvloed.",
|
|
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.": "Een trigger bewaakt states of de klok en spreekt dan, schrijft een state of stelt je een vraag en handelt naar je antwoord. Schakel afzonderlijke triggers tijdens het draaien uit met triggers.items.<id>.enabled, test er één met de fire-knop en allemaal met triggers.enabled.",
|
|
3
6
|
"API key": "API-sleutel",
|
|
4
7
|
"API password (usually empty)": "API-wachtwoord (meestal leeg)",
|
|
5
8
|
"API-key credential": "API-sleutelreferentie",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "AWS geheime toegangssleutel",
|
|
13
16
|
"AWS speech": "AWS-toespraak",
|
|
14
17
|
"Access / permissions": "Toegang / machtigingen",
|
|
18
|
+
"Actions (JSON)": "Acties (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Adres (IP of hostnaam)",
|
|
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.": "Na een schakelcommando tot 2 seconden wachten tot het apparaat de nieuwe waarde bevestigt (ack:true) en \"reageerde niet\" melden als dat nooit gebeurt. Laat dit uit voor apparaten die nooit bevestigen (MQTT, scripts, 0_userdata) - anders lijkt elk commando mislukt.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Alarmgeluid (mp3/wav, optioneel)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Het is toegestaan om objecten en bestanden te wijzigen (gevaarlijk).",
|
|
18
23
|
"Allow controlling states": "Sta controlerende staten toe",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Ook ESPHome-spraaksatellieten aansturen",
|
|
27
32
|
"Announce when a timer expires": "Kondig aan wanneer een timer afloopt.",
|
|
28
33
|
"Announce when an alarm goes off": "Kondig aan wanneer een alarm afgaat",
|
|
34
|
+
"Announcement targets (groups and people)": "Omroepdoelen (groepen en personen)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Beantwoord eenvoudige opdrachten lokaal (snel, offline).",
|
|
30
36
|
"Anthropic (Claude)": "Antropisch (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Elk object (get_object/search_objects)",
|
|
38
|
+
"Ask": "Vraag",
|
|
32
39
|
"Azure Speech": "Azure Speech",
|
|
33
40
|
"Azure credential": "Azure-referenties",
|
|
34
41
|
"Azure region": "Azure-regio",
|
|
35
42
|
"Azure subscription key": "Azure-abonnementssleutel",
|
|
36
43
|
"Azure voice (optional)": "Azure Voice (optioneel)",
|
|
37
44
|
"Base URL (optional)": "Basis-URL (optioneel)",
|
|
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.": "Voordat een trigger spreekt, herformuleert het model de tekst zodat herhaalde aankondigingen niet ingeblikt klinken. Kost één kleine LLM-aanroep per aankondiging; als dat mislukt, wordt de originele tekst gebruikt.",
|
|
38
46
|
"Bind address": "Bindadres",
|
|
39
47
|
"Canonical term": "Canonieke term",
|
|
40
48
|
"Central credential store": "Centrale opslagplaats voor inloggegevens",
|
|
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).": "Voorwaarde als JSON: {\"state\":\"javascript.0.window\",\"value\":true} of {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; voeg \"also\"/\"unless\" toe voor extra of blokkerende voorwaarden, of gebruik een lijst voor alternatieven. Say = aankondiging, Ask = vraag (heeft antwoordregels nodig, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Extra acties als JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Vertraging wacht vóór het uitvoeren (90s/30m/5h), cooldown is de minimale tijd tussen twee activeringen in seconden (standaard 3600).",
|
|
50
|
+
"Confirm switch commands with a beep": "Schakelcommando's bevestigen met een piep",
|
|
51
|
+
"Cooldown (s)": "Cooldown (s)",
|
|
41
52
|
"Credential mode": "Referentiemodus",
|
|
42
53
|
"DeepSeek": "Diepzoeken",
|
|
54
|
+
"Delay": "Vertraging",
|
|
43
55
|
"Devices": "Apparaten",
|
|
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.": "Directe URL van een GGUF-model. Laat dit veld leeg voor de standaardversie (Qwen2.5-1.5B-Instruct). Kleine modellen worden aanbevolen voor 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.": "Downloadt de engine en het model (enkele honderden MB). De voortgang wordt hieronder weergegeven.",
|
|
46
58
|
"ESPHome satellites": "ESPHome-satellieten",
|
|
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.": "ESPHome-satellieten krijgen het antwoord niet via hun API-socket — ze halen het op als URL. Dit is de poort waarop die kleine HTTP-server luistert.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Leeg = tts-1. Ook: tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Schakel de spraakserver (satellieten) in.",
|
|
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.": "Maakt spraakherkenning/synthese mogelijk. ioBroker-native satellieten bereiken deze via de berichtenbus — er is geen poort nodig. Schakel de onderstaande UDP-server alleen in voor ESP/Hannah-satellieten.",
|
|
53
65
|
"End of speech after (ms of silence)": "Einde spraak na (ms stilte)",
|
|
66
|
+
"Extra actions (JSON)": "Extra acties (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.": "Geef een set satellieten een naam, zodat een aankondiging, een vraag of een trigger die kan aanspreken: een groep kamers (\"Boven\") of de speakers van één persoon (\"Denis\", zodat \"zeg Denis dat het eten klaar is\" daar aankomt). Leden: satelliet-ids, kamernamen of apparaatnamen, gescheiden door komma's. Soort: leeg of group, of person. Een echte satelliet of kamer met dezelfde naam gaat altijd voor, dus een groep kan een speaker nooit onbereikbaar maken.",
|
|
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 spraakapparaten kunnen via het Wyoming-protocol naar deze adapter streamen.",
|
|
70
|
+
"Home value (empty = auto)": "Waarde voor thuis (leeg = automatisch)",
|
|
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 waarvan de satellieten de audio moeten ophalen. Leeg = automatisch het adres van elke apparaatverbinding; alleen instellen als de apparaten deze machine via een ander adres bereiken (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Als deze optie is uitgeschakeld, kan de assistent alleen statussen uitlezen, niet instellen.",
|
|
58
74
|
"Install local model": "Installeer het lokale model",
|
|
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 waarop de UDP-spraakserver luistert. 0.0.0.0 = alle interfaces; kies een specifiek host-IP-adres zodat satellieten op het LAN deze kunnen bereiken.",
|
|
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 waarop de spraakserver luistert. 0.0.0.0 = alle interfaces; kies een specifiek host-IP-adres zodat satellieten op het LAN deze kunnen bereiken.",
|
|
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.": "Bewaar de laatste paar beurten per bron (chat, telegram, satelliet) een paar minuten, zodat vervolgacties zoals 'en de keuken ook' werken. Alleen in het geheugen.",
|
|
78
|
+
"Kind (group/person)": "Soort (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Soort (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "LLM-assistent",
|
|
63
81
|
"Language (empty = all)": "Taal (leeg = alles)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Taal voor spraakherkenning en het gesproken antwoord.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Laat dit veld leeg om de hoofd-API-sleutel opnieuw te gebruiken wanneer de LLM-aanbieder OpenAI is; anders is het verplicht.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Triggerteksten laten herformuleren door het 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.": "Hiermee kan de assistent feiten die u hem vertelt (namen, voorkeuren, waar dingen zich bevinden) permanent onthouden en ze in latere gesprekken gebruiken. Opgeslagen in het geheugen.* statussen; de LLM krijgt hulpmiddelen om te onthouden/vergeten.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Geladen vanuit Azure (instantie moet actief zijn); leeg = selecteren op taal. bijv. de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Geladen vanuit Polly (instantie moet actief zijn); leeg = standaardwaarde per taal. bijv. Vicki, Tatyana.",
|
|
@@ -77,6 +96,7 @@
|
|
|
77
96
|
"Model": "Model",
|
|
78
97
|
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Modelnaam van alphacephei.com/vosk/models, bijvoorbeeld vosk-model-small-de-0.15. Leeg = kleine standaard per taal.",
|
|
79
98
|
"No sound": "Geen geluid",
|
|
99
|
+
"None": "Geen",
|
|
80
100
|
"Object read access": "Object leestoegang",
|
|
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.": "Eén rij per apparaat. Poort leeg = 6053. De ruimte is die waarin de assistent de satelliet plaatst. Laat het wachtwoord leeg tenzij het apparaat echt een API-wachtwoord heeft — tabelwaarden worden onversleuteld opgeslagen.",
|
|
82
102
|
"Only devices, rooms, functions": "Alleen apparaten, kamers, functies",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "OpenAI-compatibel (aangepast)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Opent een UDP-poort voor het streamen van microfoonsatellieten (Hannah-compatibel / ESP). Niet nodig voor ioBroker-native satellieten.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Overschrijf het eindpunt, bijvoorbeeld https://api.groq.com/openai/v1 voor Groq. Laat dit veld leeg voor de standaardprovider.",
|
|
113
|
+
"Phrases (comma separated)": "Zinnen (gescheiden door komma's)",
|
|
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.": "Kies een geïnstalleerde weeradapter om weervragen te beantwoorden (Open-Meteo, Weather Underground en OpenWeatherMap worden volledig herkend; andere worden zo goed mogelijk gelezen). Start die adapter eenmaal, zodat de gegevens/locaties hier verschijnen.",
|
|
94
115
|
"Piper (local)": "Piper (lokaal)",
|
|
95
116
|
"Piper voice (optional)": "Piper-stem (optioneel)",
|
|
96
117
|
"Play": "Toneelstuk",
|
|
97
118
|
"Port": "Poort",
|
|
119
|
+
"Presence": "Aanwezigheid",
|
|
120
|
+
"Proactive triggers": "Proactieve triggers",
|
|
98
121
|
"Provider": "Aanbieder",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Onthoud het gesprek (vervolgvragen)",
|
|
123
|
+
"Reply": "Antwoord",
|
|
124
|
+
"Response rules (JSON)": "Antwoordregels (JSON)",
|
|
125
|
+
"Reword system notifications": "Systeemmeldingen herformuleren",
|
|
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.": "Herschrijf gesproken of getypte varianten naar de namen van uw apparaten/ruimtes voordat u lokale overeenkomsten zoekt, bijvoorbeeld \"TV\" naar \"Fernseher\". Laat het taalveld leeg om dit op alle talen toe te passen. Ook gebruikt voor tekstkanalen.",
|
|
101
127
|
"Ring duration (seconds)": "Belduur (seconden)",
|
|
102
128
|
"Room": "Ruimte",
|
|
129
|
+
"Routines": "Routines",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Start de UDP-spraakserver (ESP/Hannah-satellieten).",
|
|
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.": "Voert een klein lokaal model (node-llama-cpp) uit voor algemene vragen; schakelt over naar het cloudgebaseerde LLM-model wanneer live apparaatgegevens nodig zijn. Installeer het via de onderstaande knop.",
|
|
105
132
|
"Said or typed": "Gezegd of getypt",
|
|
106
133
|
"Satellites": "Satellieten",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satellieten, kamers of apparaten (gescheiden door komma's)",
|
|
135
|
+
"Say": "Aankondiging",
|
|
107
136
|
"Settings": "Instellingen",
|
|
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.": "Spreek een aankondiging uit via de satelliet waarop een afteltimer is ingesteld (of op alle satellieten) wanneer deze afloopt. Timers worden altijd gespiegeld in de timers.*-statussen voor scripts en visualisatie.",
|
|
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.": "Spreek een aankondiging uit wanneer een alarm op een vast tijdstip afgaat. Alarmen worden altijd gespiegeld in de alarms.*-statussen voor scripts en visualisatie.",
|
|
110
139
|
"Speech credential mode": "Spraakaccreditatiemodus",
|
|
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.": "Spraak-naar-tekst en tekst-naar-spraak maken gebruik van OpenAI. Laat dit veld leeg om de hoofd-API-sleutel opnieuw te gebruiken wanneer de provider OpenAI is; vereist wanneer de LLM-provider Anthropic of een aangepaste provider is.",
|
|
141
|
+
"Speech-to-text fallback": "Reserve spraak-naar-tekst",
|
|
112
142
|
"Speech-to-text provider": "Spraak-naar-tekst-aanbieder",
|
|
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.": "Gesproken systeemmeldingen (notify.text / de ioBroker-meldingenbeheerder) worden eerst door het LLM herschreven tot één natuurlijke zin - de ruwe teksten zijn geschreven voor een logweergave. Kost één kleine LLM-aanroep per melding; als dat mislukt, wordt de originele tekst uitgesproken. Dringende meldingen (notify.alert) worden ook omgeroepen als Niet storen aan staat.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Start een UDP-server voor microfoonsatellieten (Hannah-compatibel protocol).",
|
|
145
|
+
"State id": "State-id",
|
|
114
146
|
"Store key in adapter": "Bewaar de sleutel in de adapter.",
|
|
115
147
|
"Store keys in adapter": "Bewaar de sleutels in de adapter.",
|
|
116
148
|
"Synonym dictionary": "Synoniemenwoordenboek",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "Systeemprompt",
|
|
119
151
|
"TTS voice": "TTS-stem",
|
|
120
152
|
"Test connection": "Testverbinding",
|
|
153
|
+
"Text-to-speech fallback": "Reserve tekst-naar-spraak",
|
|
121
154
|
"Text-to-speech provider": "Tekst-naar-spraak-aanbieder",
|
|
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.": "Deze apparaten streamen tot de server ze stopt, dus de adapter bepaalt wanneer je klaar bent met praten. Verhoog dit als het antwoord je afkapt, verlaag het als de assistent te lang wacht.",
|
|
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. Deze apparaten luisteren op TCP 6053 en de adapter belt ze zelf aan, dus voor de audio zelf wordt geen poort geopend — alleen de mediaserver hieronder, waar ze het gesproken antwoord ophalen.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Timergeluid (mp3/wav, optioneel)",
|
|
158
|
+
"Triggers": "Triggers",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Probeer eerst de ingebouwde, op regels gebaseerde intentievergelijking voor aan/uitzetten, dimmen en status voordat u de LLM aanroept.",
|
|
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.": "Er zijn twee standaardgeluiden (timer.wav, alarm.wav) vooraf geïnstalleerd. Kies er hieronder een of upload uw eigen mp3/wav-bestand. Het geselecteerde geluid wordt afgespeeld vóór de gesproken aankondiging. FFmpeg is vereist op de host en op ten minste één satelliet.",
|
|
127
161
|
"UDP port": "UDP-poort",
|
|
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.": "Upload hieronder mp3/wav-jingles; het geselecteerde geluid wordt afgespeeld vóór de gesproken aankondiging. FFmpeg moet geïnstalleerd zijn op de host en op ten minste één satelliet.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Gebruik een lokale LLM vóór de cloud (installatie op aanvraag).",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Wordt gebruikt als de bovenstaande provider faalt (storing, verlopen sleutel, tegoed op). Een lokale engine houdt spraakbediening werkend zonder internet.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Wordt gebruikt als de bovenstaande provider faalt. Met Piper blijft de assistent spreken zonder internet.",
|
|
166
|
+
"Verify device feedback": "Terugmelding van apparaat controleren",
|
|
130
167
|
"Voice": "Stem",
|
|
131
168
|
"Voice language": "Spraaktaal",
|
|
132
169
|
"Voice satellites": "Spraaksatellieten",
|
|
@@ -134,6 +171,8 @@
|
|
|
134
171
|
"Vosk (local)": "Vosk (lokaal)",
|
|
135
172
|
"Vosk model (optional)": "Vosk-model (optioneel)",
|
|
136
173
|
"Weather source": "Weerbron",
|
|
174
|
+
"When (JSON)": "Wanneer (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.": "Welke states de assistent vertellen wie er thuis is - één rij per persoon. Elke state werkt: de residents-adapter, een telefoon-ping zoals ping.0.phone-denis.alive, een clientstate van de router of een eigen vlag. Soort: leeg of person, guest, pet (een huisdier maakt het huis nooit bewoond). Waarde voor thuis: leeg laten voor de gebruikelijke vormen (true, 1, \"home\", \"anwesend\"), of de exacte waarde invullen die thuis betekent. Wordt gebruikt om het LLM te vertellen wie er is, om aankondigingen in een leeg huis tegen te houden (notify met onlyWhenHome) en als triggerbron via presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Wyoming TCP-poort",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "bijv. Vicki (de), Tatyana (ru), Joanna (nl). Leeg = standaard per taal.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "bijv. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Leeg = selecteren op taal.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "bijv. gpt-4o-mini, gpt-4o, claude-sonnet-4-6",
|
|
143
182
|
"e.g. westeurope": "bijv. West-Europa",
|
|
144
183
|
"None (local only)": "Geen (alleen lokaal)",
|
|
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.": "Zonder LLM-provider antwoorden alleen de lokale niveaus: de op regels gebaseerde opdrachten, routines, timers en wekkers, en het lokale model indien ingeschakeld. Al het andere krijgt een kort \"Dat kan ik niet\"-antwoord."
|
|
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.": "Zonder LLM-provider antwoorden alleen de lokale niveaus: de op regels gebaseerde opdrachten, routines, timers en wekkers, en het lokale model indien ingeschakeld. Al het andere krijgt een kort \"Dat kan ik niet\"-antwoord.",
|
|
185
|
+
"Chat": "Chat"
|
|
146
186
|
}
|
package/admin/i18n/pl.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.": "Uruchomiony timer/alarm dzwoni (odtwarza dźwięk w pętli) przez maksymalnie podany czas lub do momentu, aż powiesz „stop”/„halt”/„aufhören”/„cancel” (lub wpiszesz stan stopRinging). 0 = dźwięk zostanie odtworzony jeden raz.",
|
|
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.": "Fraza, która uruchamia listę akcji: \"Gute Nacht\" wyłącza pięć rzeczy i odpowiada jeden raz. Frazy: kilka oddzielonych przecinkami (rozpoznawane w dowolnym miejscu zdania, wielkość liter i umlauty nie mają znaczenia). Akcje w formacie JSON, w tej samej postaci co wyzwalacz: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Odpowiedź: co odpowiada asystent (zostaw puste, aby nic nie mówił). Sprawdzane przed silnikiem reguł offline i przed LLM, więc rutyna nigdy nie zostanie zinterpretowana inaczej.",
|
|
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.": "Udane polecenie przełączenia jest potwierdzane krótkim sygnałem na satelicie zamiast wypowiedzianego zdania - natychmiast, podczas gdy mówienie kosztuje wywołanie syntezy mowy. Nie dotyczy to pytań, błędów ani kanałów tekstowych.",
|
|
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.": "Wyzwalacz obserwuje stany lub zegar, a następnie mówi, zapisuje stan albo zadaje ci pytanie i działa zgodnie z twoją odpowiedzią. Pojedyncze wyzwalacze wyłączysz w trakcie działania przez triggers.items.<id>.enabled, przetestujesz przyciskiem fire, a wszystkie naraz przez triggers.enabled.",
|
|
3
6
|
"API key": "Klucz API",
|
|
4
7
|
"API password (usually empty)": "Hasło API (zwykle puste)",
|
|
5
8
|
"API-key credential": "Poświadczenie klucza API",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "Tajny klucz dostępu AWS",
|
|
13
16
|
"AWS speech": "Przemówienie AWS",
|
|
14
17
|
"Access / permissions": "Dostęp / uprawnienia",
|
|
18
|
+
"Actions (JSON)": "Akcje (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Adres (IP lub nazwa hosta)",
|
|
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.": "Po poleceniu przełączenia czekaj do 2 sekund, aż urządzenie potwierdzi nową wartość (ack:true), i zgłoś \"nie odpowiedziało\", jeśli tego nie zrobi. Zostaw wyłączone dla urządzeń, które nigdy nie potwierdzają (MQTT, skrypty, 0_userdata) - inaczej każde polecenie wyglądałoby na nieudane.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Dźwięk alarmu (mp3/wav, opcjonalnie)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Zezwalaj na zmianę obiektów i plików (niebezpieczne)",
|
|
18
23
|
"Allow controlling states": "Zezwól na kontrolowanie stanów",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Obsługuj też satelity głosowe ESPHome",
|
|
27
32
|
"Announce when a timer expires": "Powiadom o upływie czasu licznika",
|
|
28
33
|
"Announce when an alarm goes off": "Powiadom o włączeniu alarmu",
|
|
34
|
+
"Announcement targets (groups and people)": "Cele komunikatów (grupy i osoby)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Odpowiadaj na proste polecenia lokalnie (szybko, offline)",
|
|
30
36
|
"Anthropic (Claude)": "Antropiczny (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Dowolny obiekt (get_object/search_objects)",
|
|
38
|
+
"Ask": "Pytanie",
|
|
32
39
|
"Azure Speech": "Mowa Azure",
|
|
33
40
|
"Azure credential": "Poświadczenia Azure",
|
|
34
41
|
"Azure region": "Region Azure",
|
|
35
42
|
"Azure subscription key": "Klucz subskrypcji platformy Azure",
|
|
36
43
|
"Azure voice (optional)": "Głos Azure (opcjonalnie)",
|
|
37
44
|
"Base URL (optional)": "Adres URL bazowy (opcjonalnie)",
|
|
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.": "Zanim wyzwalacz przemówi, model przeformułowuje jego tekst, aby powtarzające się komunikaty nie brzmiały szablonowo. Kosztuje jedno małe wywołanie LLM na komunikat; w razie błędu używany jest oryginalny tekst.",
|
|
38
46
|
"Bind address": "Adres wiążący",
|
|
39
47
|
"Canonical term": "Termin kanoniczny",
|
|
40
48
|
"Central credential store": "Centralny magazyn danych uwierzytelniających",
|
|
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).": "Warunek jako JSON: {\"state\":\"javascript.0.window\",\"value\":true} lub {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; dodaj \"also\"/\"unless\" dla dodatkowych lub blokujących warunków albo użyj listy dla alternatyw. Say = komunikat, Ask = pytanie (wymaga reguł odpowiedzi, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Dodatkowe akcje jako JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. Opóźnienie czeka przed wykonaniem (90s/30m/5h), czas karencji to minimalny odstęp między dwoma wyzwoleniami w sekundach (domyślnie 3600).",
|
|
50
|
+
"Confirm switch commands with a beep": "Potwierdzaj polecenia przełączenia sygnałem dźwiękowym",
|
|
51
|
+
"Cooldown (s)": "Czas karencji (s)",
|
|
41
52
|
"Credential mode": "Tryb poświadczeń",
|
|
42
53
|
"DeepSeek": "Głębokie poszukiwania",
|
|
54
|
+
"Delay": "Opóźnienie",
|
|
43
55
|
"Devices": "Urządzenia",
|
|
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.": "Bezpośredni adres URL modelu GGUF. Pozostaw puste dla wartości domyślnej (Qwen2.5-1.5B-Instruct). Zalecane są małe modele na 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.": "Pobiera silnik i model (kilkaset MB). Postęp jest wyświetlany poniżej.",
|
|
46
58
|
"ESPHome satellites": "Satelity 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.": "Satelity ESPHome nie odbierają odpowiedzi przez swoje gniazdo API — pobierają ją jako URL. To port, na którym nasłuchuje ten mały serwer HTTP.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Pusty = tts-1. Również: tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Włącz serwer głosowy (satelity)",
|
|
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.": "Umożliwia rozpoznawanie/syntezę mowy. Satelity natywne dla ioBroker osiągają go przez magistralę komunikatów — nie jest potrzebny żaden port. Włącz serwer UDP poniżej tylko dla satelitów ESP/Hannah.",
|
|
53
65
|
"End of speech after (ms of silence)": "Koniec mowy po (ms ciszy)",
|
|
66
|
+
"Extra actions (JSON)": "Dodatkowe akcje (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.": "Nadaj nazwę zestawowi satelitów, aby komunikat, pytanie lub wyzwalacz mógł się do niego zwrócić: grupa pomieszczeń (\"Piętro\") lub głośniki należące do jednej osoby (\"Denis\", aby \"powiedz Denisowi, że obiad gotowy\" do nich dotarło). Członkowie: identyfikatory satelitów, nazwy pomieszczeń lub urządzeń, oddzielone przecinkami. Rodzaj: puste lub group, albo person. Prawdziwy satelita lub pomieszczenie o tej samej nazwie zawsze ma pierwszeństwo, więc grupa nigdy nie uczyni głośnika nieosiągalnym.",
|
|
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.": "Urządzenia głosowe Home Assistant Voice PE / wyoming-satellite / ESPHome mogą przesyłać strumieniowo dane do tego adaptera za pośrednictwem protokołu Wyoming.",
|
|
70
|
+
"Home value (empty = auto)": "Wartość \"w domu\" (puste = automatycznie)",
|
|
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, z którego satelity mają pobierać dźwięk. Puste = automatycznie adres danego połączenia z urządzeniem; ustaw tylko, jeśli urządzenia osiągają tę maszynę pod innym adresem (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Jeśli wyłączone, asystent może tylko odczytywać stany, a nie ustawiać stanu (set_state).",
|
|
58
74
|
"Install local model": "Zainstaluj model lokalny",
|
|
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.": "Interfejs, na którym nasłuchuje serwer głosowy UDP. 0.0.0.0 = wszystkie interfejsy; wybierz konkretny adres IP hosta, aby satelity w sieci LAN mogły do niego dotrzeć.",
|
|
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.": "Interfejs, na którym nasłuchuje serwer głosowy. 0.0.0.0 = wszystkie interfejsy; wybierz konkretny adres IP hosta, aby satelity w sieci LAN mogły do niego dotrzeć.",
|
|
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.": "Zachowaj ostatnie kilka tur dla każdego źródła (czat, telegram, satelita) na kilka minut, aby dopełnienia w rodzaju „i kuchnia też” zadziałały. Tylko w pamięci.",
|
|
78
|
+
"Kind (group/person)": "Rodzaj (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Rodzaj (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "Asystent LLM",
|
|
63
81
|
"Language (empty = all)": "Język (pusty = wszystko)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Język rozpoznawania mowy i odpowiedzi mówionej.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Pozostaw puste, aby ponownie wykorzystać główny klucz API, gdy dostawcą LLM jest OpenAI; w przeciwnym razie wymagane.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Pozwól LLM przeformułowywać teksty wyzwalaczy",
|
|
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.": "Pozwala asystentowi na trwałe zapamiętanie podanych przez Ciebie informacji (imion, preferencji, lokalizacji przedmiotów) i wykorzystanie ich w późniejszych rozmowach. Informacje te są przechowywane w stanach pamięci.*; LLM otrzymuje narzędzia do zapamiętywania/zapominania.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Załadowano z Azure (instancja musi działać); puste = wybierz według języka. np. de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Załadowano z Polly (instancja musi działać); puste = wartość domyślna dla danego języka. np. Vicki, Tatyana.",
|
|
@@ -77,6 +96,7 @@
|
|
|
77
96
|
"Model": "Model",
|
|
78
97
|
"Model name from alphacephei.com/vosk/models, e.g. vosk-model-small-de-0.15. Empty = small default per language.": "Nazwa modelu z alphacephei.com/vosk/models, np. vosk-model-small-de-0.15. Puste = wartość domyślna dla danego języka to „small”.",
|
|
79
98
|
"No sound": "Brak dźwięku",
|
|
99
|
+
"None": "Brak",
|
|
80
100
|
"Object read access": "Dostęp do odczytu obiektu",
|
|
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.": "Jeden wiersz na urządzenie. Pusty port = 6053. Pokój to ten, w którym asystent umieszcza satelitę. Hasło wypełnij tylko wtedy, gdy urządzenie naprawdę ma ustawione hasło API — wartości tabeli są zapisywane bez szyfrowania.",
|
|
82
102
|
"Only devices, rooms, functions": "Tylko urządzenia, pomieszczenia, funkcje",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "Zgodny z OpenAI (niestandardowy)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Otwiera port UDP dla strumieniowego przesyłania danych z satelitów mikrofonowych (kompatybilnych z Hannah / ESP). Nie jest wymagany w przypadku satelitów natywnych dla ioBroker.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Nadpisz punkt końcowy, np. https://api.groq.com/openai/v1 dla Groq. Pozostaw puste, jeśli używasz domyślnego dostawcy.",
|
|
113
|
+
"Phrases (comma separated)": "Frazy (oddzielone przecinkami)",
|
|
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.": "Wybierz zainstalowany adapter pogodowy, aby uzyskać odpowiedzi na pytania dotyczące pogody (Open-Meteo, Weather Underground, OpenWeatherMap są w pełni zrozumiałe; pozostałe są odczytywane z najwyższą starannością). Uruchom ten adapter raz, aby jego dane/lokalizacje pojawiły się tutaj.",
|
|
94
115
|
"Piper (local)": "Piper (lokalny)",
|
|
95
116
|
"Piper voice (optional)": "Głos Piper (opcjonalnie)",
|
|
96
117
|
"Play": "Grać",
|
|
97
118
|
"Port": "Port",
|
|
119
|
+
"Presence": "Obecność",
|
|
120
|
+
"Proactive triggers": "Proaktywne wyzwalacze",
|
|
98
121
|
"Provider": "Dostawca",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Zapamiętaj rozmowę (pytania uzupełniające)",
|
|
123
|
+
"Reply": "Odpowiedź",
|
|
124
|
+
"Response rules (JSON)": "Reguły odpowiedzi (JSON)",
|
|
125
|
+
"Reword system notifications": "Przeformułowuj powiadomienia systemowe",
|
|
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.": "Przepisz mówione lub pisane warianty nazw urządzeń/pomieszczeń przed dopasowaniem lokalnym, np. „TV” na „Fernseher”. Pozostaw pole języka puste, aby zastosować je do wszystkich języków. Używane również w kanałach tekstowych.",
|
|
101
127
|
"Ring duration (seconds)": "Czas trwania dzwonka (sekundy)",
|
|
102
128
|
"Room": "Pokój",
|
|
129
|
+
"Routines": "Rutyny",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Uruchom serwer głosowy UDP (satelity 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.": "Uruchamia mały model lokalny (node-llama-cpp) w przypadku pytań ogólnych; eskaluje do chmurowego LLM, gdy potrzebuje danych z urządzenia na żywo. Zainstaluj go, klikając poniższy przycisk.",
|
|
105
132
|
"Said or typed": "Powiedziałeś lub napisałeś",
|
|
106
133
|
"Satellites": "Satelity",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satelity, pomieszczenia lub urządzenia (oddzielone przecinkami)",
|
|
135
|
+
"Say": "Komunikat",
|
|
107
136
|
"Settings": "Ustawienia",
|
|
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.": "Wypowiedz komunikat na satelicie, z którego ustawiono odliczanie (lub na wszystkich satelitach), gdy czas się skończy. Liczniki są zawsze odzwierciedlane w stanach timers.* w skryptach i wizualizacjach.",
|
|
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.": "Wypowiedz komunikat, gdy alarm uruchomi się o ustalonej godzinie. Alarmy są zawsze odzwierciedlane w stanach alarms.* na potrzeby skryptów i wizualizacji.",
|
|
110
139
|
"Speech credential mode": "Tryb uwierzytelniania mowy",
|
|
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.": "Funkcje zamiany mowy na tekst i tekstu na mowę korzystają z OpenAI. Pozostaw puste, aby ponownie użyć głównego klucza API, gdy dostawcą jest OpenAI; wymagane, gdy dostawcą LLM jest Anthropic lub niestandardowy.",
|
|
141
|
+
"Speech-to-text fallback": "Zapasowe rozpoznawanie mowy",
|
|
112
142
|
"Speech-to-text provider": "Dostawca mowy na tekst",
|
|
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.": "Wypowiadane powiadomienia systemowe (notify.text / menedżer powiadomień ioBroker) są najpierw przeformułowywane przez LLM w jedno naturalne zdanie - ich surowe teksty są pisane z myślą o podglądzie logów. Kosztuje jedno małe wywołanie LLM na powiadomienie; w razie błędu wypowiadany jest oryginalny tekst. Pilne (notify.alert) są ogłaszane nawet przy włączonym trybie Nie przeszkadzać.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Uruchamia serwer UDP dla satelitów mikrofonowych (protokół zgodny z Hannah).",
|
|
145
|
+
"State id": "Id stanu",
|
|
114
146
|
"Store key in adapter": "Przechowuj klucz w adapterze",
|
|
115
147
|
"Store keys in adapter": "Przechowuj klucze w adapterze",
|
|
116
148
|
"Synonym dictionary": "Słownik synonimów",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "Monit systemowy",
|
|
119
151
|
"TTS voice": "Głos TTS",
|
|
120
152
|
"Test connection": "Połączenie testowe",
|
|
153
|
+
"Text-to-speech fallback": "Zapasowa synteza mowy",
|
|
121
154
|
"Text-to-speech provider": "Dostawca tekstu na mowę",
|
|
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.": "Te urządzenia transmitują, dopóki serwer ich nie zatrzyma, więc to adapter decyduje, kiedy skończyłeś mówić. Zwiększ, jeśli odpowiedź ci przerywa; zmniejsz, jeśli asystent czeka zbyt długo.",
|
|
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. Te urządzenia nasłuchują na TCP 6053 i to adapter nawiązuje z nimi połączenie, więc dla samego dźwięku nie jest otwierany żaden port — tylko serwer multimediów poniżej, z którego pobierają wypowiedzianą odpowiedź.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Dźwięk timera (mp3/wav, opcjonalnie)",
|
|
158
|
+
"Triggers": "Wyzwalacze",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Przed wywołaniem LLM wypróbuj wbudowaną funkcję dopasowywania intencji opartą na regułach dotyczącą włączania/wyłączania, przyciemniania i stanu.",
|
|
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.": "Dwa domyślne dźwięki (timer.wav, alarm.wav) są preinstalowane — wybierz jeden z poniższych lub prześlij własny plik mp3/wav. Wybrany dźwięk odtwarza się przed komunikatem głosowym. Wymagany jest ffmpeg na hoście i co najmniej jeden satelita.",
|
|
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.": "Prześlij poniżej dżingle w formacie mp3/wav; wybrany dźwięk będzie odtwarzany przed komunikatem głosowym. Wymagany jest zainstalowany ffmpeg na hoście i co najmniej jednym satelicie.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Użyj lokalnego LLM przed chmurą (instalowanego na żądanie)",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Używane, gdy powyższy dostawca zawiedzie (awaria, wygasły klucz, wyczerpany limit). Lokalny silnik utrzymuje sterowanie głosowe bez internetu.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Używane, gdy powyższy dostawca zawiedzie. Piper pozwala asystentowi mówić bez internetu.",
|
|
166
|
+
"Verify device feedback": "Sprawdzaj potwierdzenie z urządzenia",
|
|
130
167
|
"Voice": "Głos",
|
|
131
168
|
"Voice language": "Język głosu",
|
|
132
169
|
"Voice satellites": "Satelity głosowe",
|
|
@@ -134,6 +171,8 @@
|
|
|
134
171
|
"Vosk (local)": "Vosk (lokalny)",
|
|
135
172
|
"Vosk model (optional)": "Model Vosk (opcjonalnie)",
|
|
136
173
|
"Weather source": "Źródło pogody",
|
|
174
|
+
"When (JSON)": "Kiedy (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.": "Które stany mówią asystentowi, kto jest w domu - jeden wiersz na osobę. Działa dowolny stan: adapter residents, ping telefonu, np. ping.0.phone-denis.alive, stan klienta routera lub własna flaga. Rodzaj: puste lub person, guest, pet (zwierzę nigdy nie sprawia, że dom jest zajęty). Wartość \"w domu\": zostaw puste dla typowych form (true, 1, \"home\", \"anwesend\") lub wpisz dokładną wartość oznaczającą obecność w domu. Służy do informowania LLM, kto jest w pobliżu, do wstrzymywania komunikatów w pustym domu (notify z onlyWhenHome) oraz jako źródło wyzwalaczy przez presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Port TCP w Wyoming",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "np. Vicki (de), Tatyana (ru), Joanna (en). Pusty = domyślny dla każdego języka.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "np. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Puste = wybierz według języka.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "np. gpt-4o-mini, gpt-4o, claude-sonnet-4-6",
|
|
143
182
|
"e.g. westeurope": "np. zachodnia Europa",
|
|
144
183
|
"None (local only)": "Brak (tylko lokalnie)",
|
|
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.": "Bez dostawcy LLM odpowiadają tylko poziomy lokalne: polecenia oparte na regułach, rutyny, minutniki i budziki oraz model lokalny, jeśli jest włączony. Na wszystko inne pada krótka odpowiedź „Nie potrafię tego”."
|
|
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.": "Bez dostawcy LLM odpowiadają tylko poziomy lokalne: polecenia oparte na regułach, rutyny, minutniki i budziki oraz model lokalny, jeśli jest włączony. Na wszystko inne pada krótka odpowiedź „Nie potrafię tego”.",
|
|
185
|
+
"Chat": "Czat"
|
|
146
186
|
}
|
package/admin/i18n/pt.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.": "Um temporizador/alarme disparado continua tocando (repetindo o som) por até este período, ou até que você diga 'parar'/'interromper'/'ouvir'/'cancelar' (ou escreva o estado stopRinging). 0 = reproduzir o som uma 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.": "Uma frase que executa uma lista de ações: \"Gute Nacht\" desliga cinco coisas e responde uma única vez. Frases: várias separadas por vírgulas (reconhecidas em qualquer parte da frase, maiúsculas/minúsculas e tremas não importam). Ações em JSON, no mesmo formato de um gatilho: [{\"setState\":{\"id\":\"hm-rpc.0.ABC.1.STATE\",\"value\":false}},{\"say\":\"Schlaf gut\",\"room\":\"Schlafzimmer\"}]. Resposta: o que o assistente responde (deixe vazio para ficar em silêncio). Verificado antes do motor de regras offline e antes do LLM, para que uma rotina nunca seja reinterpretada.",
|
|
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.": "Um comando de comutação bem-sucedido é confirmado por um tom curto no satélite em vez de uma frase falada - instantâneo, enquanto falar custa uma chamada de texto para fala. Perguntas, erros e os canais de texto não são afetados.",
|
|
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.": "Um gatilho observa estados ou o relógio e então fala, escreve um estado ou faz uma pergunta e age de acordo com a sua resposta. Desative gatilhos individuais em tempo de execução com triggers.items.<id>.enabled, teste um com o botão fire e todos com triggers.enabled.",
|
|
3
6
|
"API key": "Chave de API",
|
|
4
7
|
"API password (usually empty)": "Palavra-passe da API (normalmente vazia)",
|
|
5
8
|
"API-key credential": "Credencial de chave de API",
|
|
@@ -12,7 +15,9 @@
|
|
|
12
15
|
"AWS secret access key": "chave de acesso secreta da AWS",
|
|
13
16
|
"AWS speech": "Discurso da AWS",
|
|
14
17
|
"Access / permissions": "Acesso/permissões",
|
|
18
|
+
"Actions (JSON)": "Ações (JSON)",
|
|
15
19
|
"Address (IP or host name)": "Endereço (IP ou nome 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.": "Após um comando de comutação, aguardar até 2 segundos para que o dispositivo confirme o novo valor (ack:true) e informar \"não respondeu\" caso nunca confirme. Deixe desativado para dispositivos que nunca confirmam (MQTT, scripts, 0_userdata) - caso contrário, todo comando pareceria ter falhado.",
|
|
16
21
|
"Alarm sound (mp3/wav, optional)": "Som de alarme (mp3/wav, opcional)",
|
|
17
22
|
"Allow changing objects and files (dangerous)": "Permitir a alteração de objetos e arquivos (perigoso)",
|
|
18
23
|
"Allow controlling states": "Permitir estados de controle",
|
|
@@ -26,23 +31,30 @@
|
|
|
26
31
|
"Also drive ESPHome voice satellites": "Controlar também satélites de voz ESPHome",
|
|
27
32
|
"Announce when a timer expires": "Anuncie quando o cronômetro expirar.",
|
|
28
33
|
"Announce when an alarm goes off": "Anuncie quando um alarme tocar.",
|
|
34
|
+
"Announcement targets (groups and people)": "Destinos de anúncios (grupos e pessoas)",
|
|
29
35
|
"Answer simple commands locally (fast, offline)": "Responda a comandos simples localmente (rapidamente, offline)",
|
|
30
36
|
"Anthropic (Claude)": "Antrópico (Claude)",
|
|
31
37
|
"Any object (get_object/search_objects)": "Qualquer objeto (get_object/search_objects)",
|
|
38
|
+
"Ask": "Pergunta",
|
|
32
39
|
"Azure Speech": "Fala do Azure",
|
|
33
40
|
"Azure credential": "Credencial do Azure",
|
|
34
41
|
"Azure region": "Região do Azure",
|
|
35
42
|
"Azure subscription key": "chave de assinatura do Azure",
|
|
36
43
|
"Azure voice (optional)": "Voz do 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 um gatilho falar, o modelo reformula o texto para que anúncios repetidos não soem mecânicos. Custa uma pequena chamada ao LLM por anúncio; se falhar, o texto original é usado.",
|
|
38
46
|
"Bind address": "Endereço de vinculação",
|
|
39
47
|
"Canonical term": "Termo canônico",
|
|
40
48
|
"Central credential store": "Armazenamento central de credenciais",
|
|
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).": "Condição em JSON: {\"state\":\"javascript.0.window\",\"value\":true} ou {\"time\":\"23:00\",\"days\":[1,2,3,4,5]}; adicione \"also\"/\"unless\" para condições extras ou de bloqueio, ou use uma lista para alternativas. Say = anúncio, Ask = pergunta (requer regras de resposta, JSON: [{\"match\":\"agreement\",\"say\":\"Okay\",\"setState\":{\"id\":\"...\",\"value\":false}}]). Ações extras em JSON: [{\"setState\":{\"id\":\"...\",\"value\":false}}]. O atraso espera antes de agir (90s/30m/5h), o intervalo mínimo é o tempo mínimo entre dois disparos em segundos (padrão 3600).",
|
|
50
|
+
"Confirm switch commands with a beep": "Confirmar comandos de comutação com um bipe",
|
|
51
|
+
"Cooldown (s)": "Intervalo mínimo (s)",
|
|
41
52
|
"Credential mode": "Modo de credenciais",
|
|
42
53
|
"DeepSeek": "DeepSeek",
|
|
54
|
+
"Delay": "Atraso",
|
|
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 direta de um modelo GGUF. Deixe em branco para o padrão (Qwen2.5-1.5B-Instruct). Modelos pequenos são recomendados 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.": "Baixa o motor e o modelo (várias centenas de MB). O progresso é exibido abaixo.",
|
|
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.": "Os satélites ESPHome não recebem a resposta pelo seu socket de API — buscam-na como URL. Esta é a porta em que esse pequeno servidor HTTP escuta.",
|
|
48
60
|
"Empty = tts-1. Also: tts-1-hd, gpt-4o-mini-tts.": "Vazio = tts-1. Também: tts-1-hd, gpt-4o-mini-tts.",
|
|
@@ -51,18 +63,25 @@
|
|
|
51
63
|
"Enable voice server (satellites)": "Ativar 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.": "Habilita o reconhecimento/síntese de voz. Os satélites nativos do ioBroker acessam o servidor através do barramento de mensagens — sem necessidade de porta. Ative o servidor UDP abaixo apenas para satélites ESP/Hannah.",
|
|
53
65
|
"End of speech after (ms of silence)": "Fim da fala após (ms de silêncio)",
|
|
66
|
+
"Extra actions (JSON)": "Ações extras (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.": "Dê um nome a um conjunto de satélites para que um anúncio, uma pergunta ou um gatilho possa se dirigir a ele: um grupo de cômodos (\"Andar de cima\") ou os alto-falantes de uma pessoa (\"Denis\", para que \"diga ao Denis que o jantar está pronto\" chegue até eles). Membros: ids de satélites, nomes de cômodos ou de dispositivos, separados por vírgulas. Tipo: vazio ou group, ou person. Um satélite ou cômodo real com o mesmo nome sempre tem prioridade, então um grupo nunca pode tornar um alto-falante inacessível.",
|
|
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.": "Dispositivos de voz Home Assistant PE / wyoming-satellite / ESPHome podem transmitir áudio para este adaptador através do protocolo Wyoming.",
|
|
70
|
+
"Home value (empty = auto)": "Valor \"em casa\" (vazio = 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 de onde os satélites devem buscar o áudio. Vazio = usar automaticamente o endereço de cada ligação; defina apenas se os dispositivos alcançarem esta máquina noutro endereço (NAT, Docker, VLAN).",
|
|
72
|
+
"Id": "Id",
|
|
57
73
|
"If off, the assistant can only read states, not set_state.": "Se estiver desativado, o assistente só pode ler estados, não definir 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.": "Interface na qual o servidor de voz UDP escuta. 0.0.0.0 = todas as interfaces; escolha um endereço IP específico para que os satélites na LAN possam alcançá-lo.",
|
|
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 na qual o servidor de voz escuta. 0.0.0.0 = todas as interfaces; escolha um endereço IP específico para que os satélites na LAN possam alcançá-lo.",
|
|
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.": "Guarde as últimas mensagens de cada fonte (chat, telegrama, satélite) por alguns minutos para que frases de acompanhamento como \"e a cozinha também\" funcionem. Apenas na memória.",
|
|
78
|
+
"Kind (group/person)": "Tipo (group/person)",
|
|
79
|
+
"Kind (person/guest/pet)": "Tipo (person/guest/pet)",
|
|
62
80
|
"LLM assistant": "Assistente de mestrado em Direito",
|
|
63
81
|
"Language (empty = all)": "Idioma (vazio = tudo)",
|
|
64
82
|
"Language for speech recognition and the spoken reply.": "Linguagem para reconhecimento de fala e resposta falada.",
|
|
65
83
|
"Leave empty to reuse the main API key when the LLM provider is OpenAI; required otherwise.": "Deixe em branco para reutilizar a chave de API principal quando o provedor LLM for o OpenAI; caso contrário, é obrigatório.",
|
|
84
|
+
"Let the LLM reword trigger texts": "Deixar o LLM reformular os textos dos gatilhos",
|
|
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 o assistente memorize de forma duradoura os fatos que você lhe informa (nomes, preferências, localização de objetos) e os utilize em conversas posteriores. Armazenado nos estados de memória*; o LLM obtém ferramentas de lembrar/esquecer.",
|
|
67
86
|
"Loaded from Azure (instance must run); empty = pick by language. e.g. de-DE-KatjaNeural.": "Carregado do Azure (a instância deve estar em execução); vazio = escolha por idioma. Ex.: de-DE-KatjaNeural.",
|
|
68
87
|
"Loaded from Polly (instance must run); empty = default per language. e.g. Vicki, Tatyana.": "Carregado do Polly (a instância deve estar em execução); vazio = padrão por idioma. Ex.: 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.": "Nome do modelo retirado de alphacephei.com/vosk/models, por exemplo, vosk-model-small-de-0.15. Vazio = tamanho padrão pequeno por idioma.",
|
|
79
98
|
"No sound": "Sem som",
|
|
99
|
+
"None": "Nenhum",
|
|
80
100
|
"Object read access": "Acesso de leitura ao 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.": "Uma linha por dispositivo. Porta vazia = 6053. A divisão é aquela em que o assistente situa o satélite. Deixe a palavra-passe vazia a menos que o dispositivo tenha mesmo uma palavra-passe de API — os valores de tabela são guardados sem cifra.",
|
|
82
102
|
"Only devices, rooms, functions": "Apenas dispositivos, salas, funções",
|
|
@@ -90,27 +110,39 @@
|
|
|
90
110
|
"OpenAI-compatible (custom)": "Compatível com OpenAI (personalizado)",
|
|
91
111
|
"Opens a UDP port for streaming microphone satellites (Hannah-compatible / ESP). Not needed for ioBroker-native satellites.": "Abre uma porta UDP para satélites de microfone de streaming (compatíveis com Hannah / ESP). Não é necessário para satélites nativos do ioBroker.",
|
|
92
112
|
"Override the endpoint, e.g. https://api.groq.com/openai/v1 for Groq. Leave empty for the provider default.": "Substitua o endpoint, por exemplo, https://api.groq.com/openai/v1 para o Groq. Deixe em branco para o provedor padrão.",
|
|
113
|
+
"Phrases (comma separated)": "Frases (separadas por vírgulas)",
|
|
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.": "Selecione um adaptador meteorológico instalado para responder às perguntas sobre o clima (OpenMeteo, Weather Underground e OpenWeatherMap são totalmente compreendidos; outros são lidos com o máximo empenho). Inicie esse adaptador uma vez para que seus dados/localizações apareçam aqui.",
|
|
94
115
|
"Piper (local)": "Piper (local)",
|
|
95
116
|
"Piper voice (optional)": "Voz de gaiteiro (opcional)",
|
|
96
117
|
"Play": "Jogar",
|
|
97
118
|
"Port": "Porta",
|
|
119
|
+
"Presence": "Presença",
|
|
120
|
+
"Proactive triggers": "Gatilhos proativos",
|
|
98
121
|
"Provider": "Fornecedor",
|
|
99
122
|
"Remember the conversation (follow-up questions)": "Lembre-se da conversa (perguntas de acompanhamento)",
|
|
123
|
+
"Reply": "Resposta",
|
|
124
|
+
"Response rules (JSON)": "Regras de resposta (JSON)",
|
|
125
|
+
"Reword system notifications": "Reformular notificações do 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.": "Reescreva as variantes faladas ou digitadas para os nomes do seu dispositivo/sala antes da correspondência local, por exemplo, \"TV\" para \"Fernseher\". Deixe o campo de idioma vazio para aplicar a todos os idiomas. Também usado para os canais de texto.",
|
|
101
127
|
"Ring duration (seconds)": "Duração do toque (segundos)",
|
|
102
128
|
"Room": "Divisão",
|
|
129
|
+
"Routines": "Rotinas",
|
|
103
130
|
"Run the UDP voice server (ESP / Hannah satellites)": "Execute o servidor de voz UDP (ESP / satélites 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.": "Executa um pequeno modelo local (node-llama-cpp) para perguntas gerais; recorre ao LLM na nuvem quando precisa de dados de dispositivos em tempo real. Instale-o com o botão abaixo.",
|
|
105
132
|
"Said or typed": "Dito ou digitado",
|
|
106
133
|
"Satellites": "Satélites",
|
|
134
|
+
"Satellites, rooms or devices (comma separated)": "Satélites, cômodos ou dispositivos (separados por vírgulas)",
|
|
135
|
+
"Say": "Anúncio",
|
|
107
136
|
"Settings": "Configurações",
|
|
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.": "Um anúncio será transmitido pelo satélite quando um cronômetro de contagem regressiva for ativado (ou em todos os satélites) e o tempo decorrido for atingido. Os cronômetros são sempre replicados nos estados `timers.*` para scripts e visualização.",
|
|
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.": "Emita um anúncio quando um alarme disparar em um horário fixo. Os alarmes são sempre replicados nos estados `alarms.*` para scripts e visualização.",
|
|
110
139
|
"Speech credential mode": "modo de credencial 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.": "A conversão de fala em texto e de texto em fala utiliza o OpenAI. Deixe em branco para reutilizar a chave da API principal quando o provedor for o OpenAI; obrigatório quando o provedor LLM for o Anthropic ou personalizado.",
|
|
141
|
+
"Speech-to-text fallback": "Reconhecimento de voz de reserva",
|
|
112
142
|
"Speech-to-text provider": "provedor de conversão de voz em 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.": "As notificações do sistema faladas (notify.text / o gerenciador de notificações do ioBroker) são primeiro reformuladas pelo LLM em uma frase natural - seus textos brutos são escritos para um visualizador de log. Custa uma pequena chamada ao LLM por notificação; se falhar, o texto original é falado. As urgentes (notify.alert) são anunciadas mesmo com o modo Não perturbe ativado.",
|
|
113
144
|
"Starts a UDP server for microphone satellites (Hannah-compatible protocol).": "Inicia um servidor UDP para satélites de microfone (protocolo compatível com Hannah).",
|
|
145
|
+
"State id": "Id do estado",
|
|
114
146
|
"Store key in adapter": "Guarde a chave no adaptador.",
|
|
115
147
|
"Store keys in adapter": "Guarde as chaves no adaptador.",
|
|
116
148
|
"Synonym dictionary": "Dicionário de sinônimos",
|
|
@@ -118,15 +150,20 @@
|
|
|
118
150
|
"System prompt": "Mensagem do sistema",
|
|
119
151
|
"TTS voice": "Voz TTS",
|
|
120
152
|
"Test connection": "Teste de conexão",
|
|
153
|
+
"Text-to-speech fallback": "Síntese de voz de reserva",
|
|
121
154
|
"Text-to-speech provider": "provedor de texto para 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.": "Estes dispositivos transmitem até o servidor os parar, por isso é o adaptador que decide quando terminou de falar. Aumente se a resposta o interromper; reduza se o assistente esperar 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. Estes dispositivos escutam na TCP 6053 e é o adaptador que os contacta, por isso não é aberta nenhuma porta para o áudio em si — apenas o servidor de media abaixo, de onde eles buscam a resposta falada.",
|
|
124
157
|
"Timer sound (mp3/wav, optional)": "Som do temporizador (mp3/wav, opcional)",
|
|
158
|
+
"Triggers": "Gatilhos",
|
|
125
159
|
"Try the built-in rule-based intent matching for turn on/off, dimming and status before calling the LLM.": "Antes de chamar o LLM, experimente a correspondência de intenções baseada em regras integrada para ligar/desligar, ajustar a intensidade da luz e verificar o status.",
|
|
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.": "Dois sons padrão (timer.wav, alarm.wav) estão pré-instalados — escolha um abaixo ou carregue seu próprio arquivo mp3/wav. O som selecionado é reproduzido antes do anúncio falado. Requer o ffmpeg instalado no host e em pelo menos um satélite.",
|
|
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.": "Faça o upload de jingles em MP3/WAV abaixo; o som selecionado será reproduzido antes do anúncio falado. É necessário ter o ffmpeg instalado no servidor e em pelo menos um satélite.",
|
|
129
163
|
"Use a local LLM before the cloud (installed on demand)": "Utilize um LLM local antes da nuvem (instalado sob demanda).",
|
|
164
|
+
"Used when the provider above fails (outage, expired key, empty quota). A local engine keeps voice working without the internet.": "Usado quando o provedor acima falha (interrupção, chave expirada, cota esgotada). Um motor local mantém o controle por voz funcionando sem internet.",
|
|
165
|
+
"Used when the provider above fails. Piper keeps the assistant speaking without the internet.": "Usado quando o provedor acima falha. O Piper mantém o assistente falando sem internet.",
|
|
166
|
+
"Verify device feedback": "Verificar a resposta do dispositivo",
|
|
130
167
|
"Voice": "Voz",
|
|
131
168
|
"Voice language": "Idioma da 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": "Fonte meteorológica",
|
|
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.": "Quais estados informam ao assistente quem está em casa - uma linha por pessoa. Qualquer estado serve: o adaptador residents, um ping do telefone como ping.0.phone-denis.alive, um estado de cliente do roteador ou um sinalizador próprio. Tipo: vazio ou person, guest, pet (um animal de estimação nunca torna a casa ocupada). Valor \"em casa\": deixe vazio para as formas usuais (true, 1, \"home\", \"anwesend\") ou insira o valor exato que significa em casa. Usado para informar ao LLM quem está por perto, para reter anúncios numa casa vazia (notify com onlyWhenHome) e como fonte de gatilho via presence.anyoneHome.",
|
|
137
176
|
"Wyoming TCP port": "Porta TCP do Wyoming",
|
|
138
177
|
"e.g. Vicki (de), Tatyana (ru), Joanna (en). Empty = default per language.": "por exemplo Vicki (de), Tatyana (ru), Joanna (en). Vazio = padrão por idioma.",
|
|
139
178
|
"e.g. de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Empty = pick by language.": "Exemplo: de-DE-KatjaNeural, ru-RU-SvetlanaNeural. Vazio = escolha por idioma.",
|
|
@@ -142,5 +181,6 @@
|
|
|
142
181
|
"e.g. gpt-4o-mini, gpt-4o, claude-sonnet-4-6": "por exemplo gpt-4o-mini, gpt-4o, claude-soneto-4-6",
|
|
143
182
|
"e.g. westeurope": "por exemplo, Europa Ocidental",
|
|
144
183
|
"None (local only)": "Nenhum (apenas 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.": "Sem fornecedor de LLM, apenas os níveis locais respondem: os comandos baseados em regras, as rotinas, os temporizadores e alarmes e o modelo local, se ativado. Tudo o resto recebe uma breve resposta «Não consigo fazer isso»."
|
|
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.": "Sem fornecedor de LLM, apenas os níveis locais respondem: os comandos baseados em regras, as rotinas, os temporizadores e alarmes e o modelo local, se ativado. Tudo o resto recebe uma breve resposta «Não consigo fazer isso».",
|
|
185
|
+
"Chat": "Chat"
|
|
146
186
|
}
|