5b4192acb5
What she says when a capability ran, refused, or could not be reached. Around forty literals across ecosystem_acts.go, actions_act.go and smarthome.go. "It ran", "it was refused", "the ecosystem is down" and "I could not work out what you meant" keep four entries. One variant set across them would let a failure report itself as a success, which is the only failure mode this family has. The lines that report an act as done are fixed rather than varied. A success report that rewords itself is harder to trust when he is listening for it, and the confirmations are fixed for the same reason: they carry an instruction. internal/smarthome/ha.go keeps its own "готово". It is a device driver, and wiring the copy deck into one is the wrong dependency — the daemon relays that word, it does not speak it.
115 lines
5.3 KiB
JSON
115 lines
5.3 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"name": "russian act and smart-home replies v1",
|
|
"notes": [
|
|
"What she says when a capability ran, refused, or could not be reached. Edit the wording here, no Go changes needed.",
|
|
"Rules: she is feminine about herself, he is a man addressed as ты. Never вы/вас/ваш, never он/его about him. No pet names.",
|
|
"\"it ran\", \"it was refused\", \"the ecosystem is down\" and \"I could not work out what you meant\" are four different truths. They keep four entries, because one variant set would let a failure report itself as a success.",
|
|
"Placeholders: {name} an entity or capability the caller resolved, {out} the command's own output, {items} a joined list, {count} a number. Entity names and capability ids are interpolated Go-side.",
|
|
"fixed: true means exactly one variant and no picking. Used where the wording carries an instruction he has to act on — a confirmation, a pointer at /tools — and for the two lines that report an act as done, because a success report that reworded itself is harder to trust and harder to test."
|
|
],
|
|
"entries": {
|
|
"act_done": {
|
|
"fixed": true,
|
|
"variants": ["готово."]
|
|
},
|
|
"act_done_out": {
|
|
"variants": ["готово: {out}", "сделала: {out}"]
|
|
},
|
|
"act_done_entity": {
|
|
"fixed": true,
|
|
"variants": ["команда выполнена для {name}."]
|
|
},
|
|
"act_confirm": {
|
|
"fixed": true,
|
|
"variants": ["выполнить «{name}»? скажи «да» или «нет»."]
|
|
},
|
|
"act_confirm_entity": {
|
|
"fixed": true,
|
|
"variants": ["выполнить «{name}» для {entity}? скажи «да» или «нет»."]
|
|
},
|
|
"act_which": {
|
|
"variants": ["какую команду для {name}: {items}?"]
|
|
},
|
|
"act_fail": {
|
|
"variants": ["не получилось выполнить команду.", "команда не выполнилась."]
|
|
},
|
|
"act_fail_out": {
|
|
"variants": ["не получилось выполнить команду: {out}"]
|
|
},
|
|
"act_fail_entity": {
|
|
"variants": ["не получилось выполнить команду для {name}.", "команда для {name} не выполнилась."]
|
|
},
|
|
"act_server_down": {
|
|
"variants": ["этот инструмент включён, но сервер, который его выполняет, сейчас не подключён."]
|
|
},
|
|
"act_withdrawn": {
|
|
"fixed": true,
|
|
"variants": ["сервер больше не предлагает этот инструмент — я сняла его с разрешённых, посмотри на /tools."]
|
|
},
|
|
"act_needs_args": {
|
|
"variants": ["этому инструменту нужны аргументы, которые я из голоса не соберу — я не буду угадывать."]
|
|
},
|
|
"eco_denied": {
|
|
"variants": ["экосистема отклоняет доступ, проверь токен."]
|
|
},
|
|
"eco_down": {
|
|
"variants": ["экосистема недоступна, попробуй ещё раз.", "экосистема не отвечает, попробуй ещё раз."]
|
|
},
|
|
"eco_ambiguous": {
|
|
"variants": ["уточни, что именно: {items}?", "что именно из этого: {items}?"]
|
|
},
|
|
"eco_unknown_entity": {
|
|
"variants": ["не знаю такой сущности.", "такой сущности у меня нет."]
|
|
},
|
|
"eco_no_nexus": {
|
|
"variants": ["не могу связать это с сущностью — Nexus не настроен."]
|
|
},
|
|
"eco_about_what": {
|
|
"variants": ["про что именно спросить?", "про что спросить?"]
|
|
},
|
|
"eco_recall": {
|
|
"variants": ["я помню: {items}"]
|
|
},
|
|
"attention_none": {
|
|
"variants": ["ничего не требует внимания.", "внимания сейчас ничего не требует."]
|
|
},
|
|
"attention_list": {
|
|
"variants": ["требует внимания: {items}"]
|
|
},
|
|
"attention_fail": {
|
|
"variants": ["не могу сейчас узнать, что требует внимания."]
|
|
},
|
|
"attention_none_entity": {
|
|
"variants": ["по «{name}» ничего нет.", "по «{name}» пока пусто."]
|
|
},
|
|
"attention_list_entity": {
|
|
"variants": ["по «{name}»: {items}"]
|
|
},
|
|
"attention_fail_entity": {
|
|
"variants": ["не могу сейчас узнать, что требует внимания по «{name}»."]
|
|
},
|
|
"changes_none": {
|
|
"variants": ["нет изменений.", "изменений нет."]
|
|
},
|
|
"changes_list": {
|
|
"variants": ["изменения: {items}"]
|
|
},
|
|
"changes_fail": {
|
|
"variants": ["не могу сейчас узнать об изменениях."]
|
|
},
|
|
"home_unreachable": {
|
|
"variants": ["не смогла достучаться до дома.", "дом не отвечает."]
|
|
},
|
|
"home_empty": {
|
|
"variants": ["дом ничего не отдаёт.", "дом молчит."]
|
|
},
|
|
"home_on": {
|
|
"variants": ["включено: {items}"]
|
|
},
|
|
"home_dark": {
|
|
"variants": ["дом молчит: {count} {word} не отвечают."]
|
|
}
|
|
}
|
|
}
|