feat(web): voice input — record, check the recognised text, send
CI / ruff · pytest (pull_request) Successful in 2m24s
CI / ruff · pytest (pull_request) Successful in 2m24s
Microphone button in the chat composer and in free-text steps. The browser
records 16 kHz mono WAV (no server-side ffmpeg), /me/{token}/stt transcribes,
the text lands in the field for the patient to check and edit — never sent
automatically, so safety and scrub() apply on send. Hidden when the server has
voice input off or the browser lacks a microphone API. nginx: 4 MB body limit.
Refs #117
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -251,6 +251,19 @@ export const ru = {
|
||||
drinksLead: "Посчитайте, сколько порций выходит в обычный день, когда вы выпиваете.",
|
||||
noticeTitle: "Опрос приостановлен",
|
||||
},
|
||||
voice: {
|
||||
start: "Сказать голосом",
|
||||
stop: "Остановить запись",
|
||||
cancel: "Отменить",
|
||||
recording: "Говорите — запись идёт",
|
||||
transcribing: "Распознаём речь…",
|
||||
check: "Проверьте распознанный текст — его можно исправить перед отправкой.",
|
||||
privacy: "Запись не сохраняется: её видит только система распознавания, текст — специалисты вашей программы.",
|
||||
noMic: "Нет доступа к микрофону. Разрешите его в настройках браузера или напишите текстом.",
|
||||
noSpeech: "Не удалось разобрать речь. Попробуйте ещё раз или напишите текстом.",
|
||||
failed: "Распознавание сейчас недоступно. Напишите, пожалуйста, текстом.",
|
||||
tooLong: "Запись слишком длинная — до минуты за раз.",
|
||||
},
|
||||
messages: {
|
||||
typing: "Помощник печатает",
|
||||
title: "Сообщения",
|
||||
|
||||
Reference in New Issue
Block a user