feat(transcription): add shared voice input support (#4232)
* feat(webui): add voice transcription input * feat(webui): render ANSI output in code blocks * refactor(webui): isolate voice recorder logic * refactor(transcription): keep websocket ingress thin * refactor(transcription): resolve channel audio settings on demand * style(webui): neutralize voice waveform color * feat(webui): add voice input tooltip * feat(webui): add voice input keyboard shortcut * fix(webui): distinguish voice shortcut platforms * fix(webui): place voice button after model selector * refactor(webui): share voice hold recording helpers * fix(desktop): allow microphone voice input * fix(webui): stabilize token usage month labels * feat(webui): show voice input on settings overview * fix(webui): label voice capability as recognition * fix(webui): align capability overview status * refactor(webui): isolate transcription socket handling * fix(webui): soften silent voice waveform * refactor(audio): clarify transcription service location * docs(transcription): clarify audio and provider boundaries * fix(exec): reduce session output polling flake
This commit is contained in:
@@ -73,6 +73,7 @@
|
||||
"models": "Model",
|
||||
"providers": "Penyedia",
|
||||
"image": "Gambar",
|
||||
"voice": "Suara",
|
||||
"browser": "Internet",
|
||||
"runtime": "Sistem",
|
||||
"advanced": "Keamanan",
|
||||
@@ -99,7 +100,8 @@
|
||||
"mcp": "Layanan MCP",
|
||||
"apps": "Aplikasi",
|
||||
"nativeHost": "Host native",
|
||||
"hostSafety": "Keamanan aplikasi"
|
||||
"hostSafety": "Keamanan aplikasi",
|
||||
"voiceInput": "Input suara"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "Tema",
|
||||
@@ -142,7 +144,13 @@
|
||||
"engine": "Mesin",
|
||||
"logs": "Log",
|
||||
"diagnostics": "Diagnostik",
|
||||
"contextWindow": "Jendela konteks"
|
||||
"contextWindow": "Jendela konteks",
|
||||
"transcription": "Transkripsi",
|
||||
"transcriptionProvider": "Penyedia",
|
||||
"transcriptionProviderStatus": "Status penyedia",
|
||||
"transcriptionModel": "Model",
|
||||
"transcriptionLanguage": "Bahasa",
|
||||
"voiceLimits": "Batas"
|
||||
},
|
||||
"help": {
|
||||
"theme": "Beralih antara tampilan terang dan gelap.",
|
||||
@@ -181,7 +189,12 @@
|
||||
"diagnostics": "Exporta un pequeño informe de runtime para soporte.",
|
||||
"localServiceAccessNative": "Permite que comandos shell con Full Access alcancen servicios en este Mac.",
|
||||
"webuiDefaultAccessNative": "Usado por chats nativos sin permiso específico de proyecto.",
|
||||
"contextWindow": "Pilih anggaran konteks default untuk konfigurasi model ini."
|
||||
"contextWindow": "Pilih anggaran konteks default untuk konfigurasi model ini.",
|
||||
"transcription": "Transkripsikan input mikrofon sebelum dikirim. Pesan suara channel memakai pengaturan yang sama.",
|
||||
"transcriptionProvider": "Menggunakan kredensial penyedia yang sesuai dari Providers.",
|
||||
"transcriptionProviderStatus": "API key tetap berada di providers, bukan di pengaturan transkripsi.",
|
||||
"transcriptionModel": "Biarkan memakai default yang teresolusi kecuali penyedia membutuhkan id model khusus.",
|
||||
"transcriptionLanguage": "Petunjuk ISO-639 opsional, seperti en, zh, ja, atau ko."
|
||||
},
|
||||
"values": {
|
||||
"light": "Terang",
|
||||
@@ -283,6 +296,7 @@
|
||||
"totalProviders": "{{count}} tersedia",
|
||||
"webSearch": "Pencarian web",
|
||||
"imageGeneration": "Pembuatan gambar",
|
||||
"voiceInput": "Input suara",
|
||||
"workspace": "Ruang kerja"
|
||||
},
|
||||
"usage": {
|
||||
@@ -486,6 +500,11 @@
|
||||
"rawInstructions": "SKILL.md mentah",
|
||||
"rawInstructionsEmpty": "Tidak ada instruksi mentah.",
|
||||
"detailDescription": "Detail untuk {{name}}."
|
||||
},
|
||||
"voice": {
|
||||
"selectProvider": "Pilih penyedia",
|
||||
"configureProvider": "Konfigurasi penyedia",
|
||||
"languageAuto": "Auto"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
@@ -678,6 +697,21 @@
|
||||
"deepResearch": "Riset mendalam",
|
||||
"voice": "Input suara"
|
||||
},
|
||||
"voice": {
|
||||
"hint": "Klik untuk mendikte atau tahan",
|
||||
"stop": "Hentikan rekaman",
|
||||
"transcribing": "Mentranskripsi...",
|
||||
"recordingStatus": "Merekam {{time}}"
|
||||
},
|
||||
"voiceErrors": {
|
||||
"unsupported": "Input suara tidak didukung di browser ini.",
|
||||
"permission": "Izin mikrofon diperlukan.",
|
||||
"notConfigured": "Konfigurasikan penyedia transkripsi terlebih dahulu.",
|
||||
"tooLong": "Rekaman terlalu panjang.",
|
||||
"tooShort": "Tahan sedikit lebih lama untuk merekam suara.",
|
||||
"noInput": "Tidak ada input mikrofon yang terdeteksi.",
|
||||
"failed": "Tidak dapat mentranskripsi audio."
|
||||
},
|
||||
"slash": {
|
||||
"ariaLabel": "Perintah slash",
|
||||
"label": "perintah",
|
||||
|
||||
Reference in New Issue
Block a user