浏览代码

Merge pull request #5583 from open-webui/dev

refac
Timothy Jaeryang Baek 7 月之前
父节点
当前提交
54d63ece6f
共有 47 个文件被更改,包括 78 次插入71 次删除
  1. 6 1
      backend/open_webui/apps/openai/main.py
  2. 6 5
      src/lib/components/chat/Chat.svelte
  3. 5 4
      src/lib/components/chat/ChatControls.svelte
  4. 2 2
      src/lib/components/chat/MessageInput/CallOverlay.svelte
  5. 2 2
      src/lib/components/chat/Messages/ResponseMessage.svelte
  6. 6 6
      src/lib/components/chat/Settings/Audio.svelte
  7. 1 1
      src/lib/i18n/locales/ar-BH/translation.json
  8. 1 1
      src/lib/i18n/locales/bg-BG/translation.json
  9. 1 1
      src/lib/i18n/locales/bn-BD/translation.json
  10. 11 11
      src/lib/i18n/locales/ca-ES/translation.json
  11. 1 1
      src/lib/i18n/locales/ceb-PH/translation.json
  12. 1 1
      src/lib/i18n/locales/de-DE/translation.json
  13. 1 1
      src/lib/i18n/locales/dg-DG/translation.json
  14. 1 1
      src/lib/i18n/locales/en-GB/translation.json
  15. 1 1
      src/lib/i18n/locales/en-US/translation.json
  16. 1 1
      src/lib/i18n/locales/es-ES/translation.json
  17. 1 1
      src/lib/i18n/locales/fa-IR/translation.json
  18. 1 1
      src/lib/i18n/locales/fi-FI/translation.json
  19. 1 1
      src/lib/i18n/locales/fr-CA/translation.json
  20. 1 1
      src/lib/i18n/locales/fr-FR/translation.json
  21. 1 1
      src/lib/i18n/locales/he-IL/translation.json
  22. 1 1
      src/lib/i18n/locales/hi-IN/translation.json
  23. 1 1
      src/lib/i18n/locales/hr-HR/translation.json
  24. 1 1
      src/lib/i18n/locales/id-ID/translation.json
  25. 1 1
      src/lib/i18n/locales/it-IT/translation.json
  26. 1 1
      src/lib/i18n/locales/ja-JP/translation.json
  27. 1 1
      src/lib/i18n/locales/ka-GE/translation.json
  28. 1 1
      src/lib/i18n/locales/ko-KR/translation.json
  29. 1 1
      src/lib/i18n/locales/lt-LT/translation.json
  30. 1 1
      src/lib/i18n/locales/ms-MY/translation.json
  31. 1 1
      src/lib/i18n/locales/nb-NO/translation.json
  32. 1 1
      src/lib/i18n/locales/nl-NL/translation.json
  33. 1 1
      src/lib/i18n/locales/pa-IN/translation.json
  34. 1 1
      src/lib/i18n/locales/pl-PL/translation.json
  35. 1 1
      src/lib/i18n/locales/pt-BR/translation.json
  36. 1 1
      src/lib/i18n/locales/pt-PT/translation.json
  37. 1 1
      src/lib/i18n/locales/ro-RO/translation.json
  38. 1 1
      src/lib/i18n/locales/ru-RU/translation.json
  39. 1 1
      src/lib/i18n/locales/sr-RS/translation.json
  40. 1 1
      src/lib/i18n/locales/sv-SE/translation.json
  41. 1 1
      src/lib/i18n/locales/th-TH/translation.json
  42. 1 1
      src/lib/i18n/locales/tk-TW/translation.json
  43. 1 1
      src/lib/i18n/locales/tr-TR/translation.json
  44. 1 1
      src/lib/i18n/locales/uk-UA/translation.json
  45. 1 1
      src/lib/i18n/locales/vi-VN/translation.json
  46. 1 1
      src/lib/i18n/locales/zh-CN/translation.json
  47. 1 1
      src/lib/i18n/locales/zh-TW/translation.json

+ 6 - 1
backend/open_webui/apps/openai/main.py

@@ -411,7 +411,12 @@ async def generate_chat_completion(
     # Change max_completion_tokens to max_tokens (Backward compatible)
     if "api.openai.com" not in url and not payload["model"].lower().startswith("o1-"):
         if "max_completion_tokens" in payload:
-            payload["max_tokens"] = payload.pop("max_completion_tokens")
+            # Remove "max_completion_tokens" from the payload
+            payload["max_tokens"] = payload["max_completion_tokens"]
+            del payload["max_completion_tokens"]
+    else:
+        if "max_tokens" in payload and "max_completion_tokens" in payload:
+            del payload["max_tokens"]
 
     # Convert the modified body back to JSON
     payload = json.dumps(payload)

+ 6 - 5
src/lib/components/chat/Chat.svelte

@@ -289,11 +289,12 @@
 			if (controlPane && !$mobile) {
 				try {
 					if (value) {
-						controlPane.resize(
-							parseInt(localStorage.getItem('chat-controls-size') || '35')
-								? parseInt(localStorage.getItem('chat-controls-size') || '35')
-								: 35
-						);
+						const currentSize = controlPane.getSize();
+
+						if (currentSize === 0) {
+							const size = parseInt(localStorage?.chatControlsSize ?? '30');
+							controlPane.resize(size ? size : 30);
+						}
 					} else {
 						controlPane.resize(0);
 					}

+ 5 - 4
src/lib/components/chat/ChatControls.svelte

@@ -123,18 +123,19 @@
 		<Pane
 			bind:pane
 			defaultSize={$showControls
-				? parseInt(localStorage.getItem('chat-controls-size') || '35')
-					? parseInt(localStorage.getItem('chat-controls-size') || '35')
-					: 35
+				? parseInt(localStorage?.chatControlsSize ?? '30')
+					? parseInt(localStorage?.chatControlsSize ?? '30')
+					: 30
 				: 0}
 			onResize={(size) => {
+				console.log(size);
 				if (size === 0) {
 					showControls.set(false);
 				} else {
 					if (!$showControls) {
 						showControls.set(true);
 					}
-					localStorage.setItem('chat-controls-size', size);
+					localStorage.chatControlsSize = size;
 				}
 			}}
 		>

+ 2 - 2
src/lib/components/chat/MessageInput/CallOverlay.svelte

@@ -361,7 +361,7 @@
 								?.at(0) ?? undefined;
 
 						currentUtterance = new SpeechSynthesisUtterance(content);
-						currentUtterance.rate = $settings.audio?.tts?.speedRate ?? 1;
+						currentUtterance.rate = $settings.audio?.tts?.playbackRate ?? 1;
 
 						if (voice) {
 							currentUtterance.voice = voice;
@@ -388,7 +388,7 @@
 				if (audioElement) {
 					audioElement.src = audio.src;
 					audioElement.muted = true;
-					audioElement.playbackRate = $settings.audio?.tts?.speedRate ?? 1;
+					audioElement.playbackRate = $settings.audio?.tts?.playbackRate ?? 1;
 
 					audioElement
 						.play()

+ 2 - 2
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -204,7 +204,7 @@
 					const blob = await res.blob();
 					const blobUrl = URL.createObjectURL(blob);
 					const audio = new Audio(blobUrl);
-					audio.playbackRate = $settings.audio?.tts?.speedRate ?? 1;
+					audio.playbackRate = $settings.audio?.tts?.playbackRate ?? 1;
 
 					audioParts[idx] = audio;
 					loadingSpeech = false;
@@ -228,7 +228,7 @@
 					console.log(voice);
 
 					const speak = new SpeechSynthesisUtterance(message.content);
-					speak.rate = $settings.audio?.tts?.speedRate ?? 1;
+					speak.rate = $settings.audio?.tts?.playbackRate ?? 1;
 
 					console.log(speak);
 

+ 6 - 6
src/lib/components/chat/Settings/Audio.svelte

@@ -24,7 +24,7 @@
 	let voice = '';
 
 	// Audio speed control
-	let speechRate = 1;
+	let playbackRate = 1;
 	const speedOptions = [2, 1.75, 1.5, 1.25, 1, 0.75, 0.5];
 
 	const getVoices = async () => {
@@ -60,7 +60,7 @@
 	};
 
 	onMount(async () => {
-		speechRate = $settings.audio?.tts?.speedRate ?? 1;
+		playbackRate = $settings.audio?.tts?.playbackRate ?? 1;
 		conversationMode = $settings.conversationMode ?? false;
 		speechAutoSend = $settings.speechAutoSend ?? false;
 		responseAutoPlayback = $settings.responseAutoPlayback ?? false;
@@ -88,7 +88,7 @@
 					engine: STTEngine !== '' ? STTEngine : undefined
 				},
 				tts: {
-					speedRate: speechRate,
+					playbackRate: playbackRate,
 					voice: voice !== '' ? voice : undefined,
 					defaultVoice: $config?.audio?.tts?.voice ?? '',
 					nonLocalVoices: $config.audio.tts.engine === '' ? nonLocalVoices : undefined
@@ -161,15 +161,15 @@
 			</div>
 
 			<div class=" py-0.5 flex w-full justify-between">
-				<div class=" self-center text-xs font-medium">{$i18n.t('Speed Rate')}</div>
+				<div class=" self-center text-xs font-medium">{$i18n.t('Speech Playback Speed')}</div>
 
 				<div class="flex items-center relative">
 					<select
 						class="dark:bg-gray-900 w-fit pr-8 rounded px-2 p-1 text-xs bg-transparent outline-none text-right"
-						bind:value={speechRate}
+						bind:value={playbackRate}
 					>
 						{#each speedOptions as option}
-							<option value={option} selected={speechRate === option}>{option}x</option>
+							<option value={option} selected={playbackRate === option}>{option}x</option>
 						{/each}
 					</select>
 				</div>

+ 1 - 1
src/lib/i18n/locales/ar-BH/translation.json

@@ -619,9 +619,9 @@
 	"Sign up": "تسجيل",
 	"Signing in": "جاري الدخول",
 	"Source": "المصدر",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "{{error}} خطأ في التعرف على الكلام",
 	"Speech-to-Text Engine": "محرك تحويل الكلام إلى نص",
-	"Speed Rate": "",
 	"Stop Sequence": "وقف التسلسل",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/bg-BG/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Регистрация",
 	"Signing in": "Вписване",
 	"Source": "Източник",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Speech recognition error: {{error}}",
 	"Speech-to-Text Engine": "Speech-to-Text Engine",
-	"Speed Rate": "",
 	"Stop Sequence": "Stop Sequence",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/bn-BD/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "সাইন আপ",
 	"Signing in": "সাইন ইন",
 	"Source": "উৎস",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "স্পিচ রিকগনিশনে সমস্যা: {{error}}",
 	"Speech-to-Text Engine": "স্পিচ-টু-টেক্সট ইঞ্জিন",
-	"Speed Rate": "",
 	"Stop Sequence": "সিকোয়েন্স থামান",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 11 - 11
src/lib/i18n/locales/ca-ES/translation.json

@@ -73,10 +73,10 @@
 	"AUTOMATIC1111 Api Auth String": "Cadena d'autenticació de l'API d'AUTOMATIC1111",
 	"AUTOMATIC1111 Base URL": "URL Base d'AUTOMATIC1111",
 	"AUTOMATIC1111 Base URL is required.": "Es requereix l'URL Base d'AUTOMATIC1111.",
-	"Available list": "",
+	"Available list": "Llista de disponibles",
 	"available!": "disponible!",
-	"Azure AI Speech": "",
-	"Azure Region": "",
+	"Azure AI Speech": "Azure AI Speech",
+	"Azure Region": "Regió d'Azure",
 	"Back": "Enrere",
 	"Bad Response": "Resposta errònia",
 	"Banners": "Banners",
@@ -97,7 +97,7 @@
 	"Chat Bubble UI": "Chat Bubble UI",
 	"Chat Controls": "Controls de xat",
 	"Chat direction": "Direcció del xat",
-	"Chat Overview": "",
+	"Chat Overview": "Vista general del xat",
 	"Chats": "Xats",
 	"Check Again": "Comprovar-ho de nou",
 	"Check for updates": "Comprovar si hi ha actualitzacions",
@@ -415,7 +415,7 @@
 	"Model {{modelId}} not found": "No s'ha trobat el model {{modelId}}",
 	"Model {{modelName}} is not vision capable": "El model {{modelName}} no és capaç de visió",
 	"Model {{name}} is now {{status}}": "El model {{name}} ara és {{status}}",
-	"Model {{name}} is now at the top": "",
+	"Model {{name}} is now at the top": "El model {{name}} està ara a dalt de tot",
 	"Model accepts image inputs": "El model accepta entrades d'imatge",
 	"Model created successfully!": "Model creat correctament",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "S'ha detectat el camí del sistema de fitxers del model. És necessari un nom curt del model per actualitzar, no es pot continuar.",
@@ -428,7 +428,7 @@
 	"Modelfile Content": "Contingut del Modelfile",
 	"Models": "Models",
 	"More": "Més",
-	"Move to Top": "",
+	"Move to Top": "Moure a dalt de tot",
 	"Name": "Nom",
 	"Name Tag": "Etiqueta de nom",
 	"Name your model": "Posa un nom al teu model",
@@ -474,8 +474,8 @@
 	"OpenAI URL/Key required.": "URL/Clau d'OpenAI requerides.",
 	"or": "o",
 	"Other": "Altres",
-	"Output format": "",
-	"Overview": "",
+	"Output format": "Format de sortida",
+	"Overview": "Vista general",
 	"Password": "Contrasenya",
 	"PDF document (.pdf)": "Document PDF (.pdf)",
 	"PDF Extract Images (OCR)": "Extreu imatges del PDF (OCR)",
@@ -538,7 +538,7 @@
 	"Save": "Desar",
 	"Save & Create": "Desar i crear",
 	"Save & Update": "Desar i actualitzar",
-	"Save As Copy": "",
+	"Save As Copy": "Desar com a còpia",
 	"Save Tag": "Desar l'etiqueta",
 	"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Desar els registres de xat directament a l'emmagatzematge del teu navegador ja no està suportat. Si us plau, descarregr i elimina els registres de xat fent clic al botó de sota. No et preocupis, pots tornar a importar fàcilment els teus registres de xat al backend a través de",
 	"Scan": "Escanejar",
@@ -616,11 +616,11 @@
 	"Sign up": "Registrar-se",
 	"Signing in": "Iniciant sessió",
 	"Source": "Font",
+	"Speech Playback Speed": "Velocitat de la parla",
 	"Speech recognition error: {{error}}": "Error de reconeixement de veu: {{error}}",
 	"Speech-to-Text Engine": "Motor de veu a text",
-	"Speed Rate": "",
 	"Stop Sequence": "Atura la seqüència",
-	"Stream Chat Response": "",
+	"Stream Chat Response": "Fer streaming de la resposta del xat",
 	"STT Model": "Model SST",
 	"STT Settings": "Preferències de STT",
 	"Submit": "Enviar",

+ 1 - 1
src/lib/i18n/locales/ceb-PH/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Pagrehistro",
 	"Signing in": "",
 	"Source": "Tinubdan",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Sayop sa pag-ila sa tingog: {{error}}",
 	"Speech-to-Text Engine": "Engine sa pag-ila sa tingog",
-	"Speed Rate": "",
 	"Stop Sequence": "Pagkasunod-sunod sa pagsira",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/de-DE/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Registrieren",
 	"Signing in": "Anmeldung",
 	"Source": "Quelle",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Spracherkennungsfehler: {{error}}",
 	"Speech-to-Text Engine": "Sprache-zu-Text-Engine",
-	"Speed Rate": "",
 	"Stop Sequence": "Stop-Sequenz",
 	"Stream Chat Response": "",
 	"STT Model": "STT-Modell",

+ 1 - 1
src/lib/i18n/locales/dg-DG/translation.json

@@ -617,9 +617,9 @@
 	"Sign up": "Sign up much join",
 	"Signing in": "",
 	"Source": "Source",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Speech recognition error: {{error}} so error",
 	"Speech-to-Text Engine": "Speech-to-Text Engine much speak",
-	"Speed Rate": "",
 	"Stop Sequence": "Stop Sequence much stop",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/en-GB/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "",
 	"Signing in": "",
 	"Source": "",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "",
 	"Speech-to-Text Engine": "",
-	"Speed Rate": "",
 	"Stop Sequence": "",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/en-US/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "",
 	"Signing in": "",
 	"Source": "",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "",
 	"Speech-to-Text Engine": "",
-	"Speed Rate": "",
 	"Stop Sequence": "",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/es-ES/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Crear una cuenta",
 	"Signing in": "Iniciando sesión",
 	"Source": "Fuente",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Error de reconocimiento de voz: {{error}}",
 	"Speech-to-Text Engine": "Motor de voz a texto",
-	"Speed Rate": "",
 	"Stop Sequence": "Detener secuencia",
 	"Stream Chat Response": "",
 	"STT Model": "Modelo STT",

+ 1 - 1
src/lib/i18n/locales/fa-IR/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "ثبت نام",
 	"Signing in": "ورود",
 	"Source": "منبع",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "خطای تشخیص گفتار: {{error}}",
 	"Speech-to-Text Engine": "موتور گفتار به متن",
-	"Speed Rate": "",
 	"Stop Sequence": "توالی توقف",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/fi-FI/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Rekisteröidy",
 	"Signing in": "Kirjaudutaan sisään",
 	"Source": "Lähde",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Puheentunnistusvirhe: {{error}}",
 	"Speech-to-Text Engine": "Puheentunnistusmoottori",
-	"Speed Rate": "",
 	"Stop Sequence": "Lopetussekvenssi",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/fr-CA/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Inscrivez-vous",
 	"Signing in": "Connexion en cours",
 	"Source": "Source",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale\u00a0: {{error}}",
 	"Speech-to-Text Engine": "Moteur de reconnaissance vocale",
-	"Speed Rate": "",
 	"Stop Sequence": "Séquence d'arrêt",
 	"Stream Chat Response": "",
 	"STT Model": "Modèle de STT",

+ 1 - 1
src/lib/i18n/locales/fr-FR/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Inscrivez-vous",
 	"Signing in": "Connexion en cours",
 	"Source": "Source",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale\u00a0: {{error}}",
 	"Speech-to-Text Engine": "Moteur de reconnaissance vocale",
-	"Speed Rate": "",
 	"Stop Sequence": "Séquence d'arrêt",
 	"Stream Chat Response": "",
 	"STT Model": "Modèle de Speech-to-Text",

+ 1 - 1
src/lib/i18n/locales/he-IL/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "הרשמה",
 	"Signing in": "כניסה",
 	"Source": "מקור",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "שגיאת תחקור שמע: {{error}}",
 	"Speech-to-Text Engine": "מנוע תחקור שמע",
-	"Speed Rate": "",
 	"Stop Sequence": "סידור עצירה",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/hi-IN/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "साइन अप",
 	"Signing in": "साइन इन हो रहा है",
 	"Source": "स्रोत",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "वाक् पहचान त्रुटि: {{error}}",
 	"Speech-to-Text Engine": "वाक्-से-पाठ इंजन",
-	"Speed Rate": "",
 	"Stop Sequence": "अनुक्रम रोकें",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/hr-HR/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Registracija",
 	"Signing in": "Prijava",
 	"Source": "Izvor",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Pogreška prepoznavanja govora: {{error}}",
 	"Speech-to-Text Engine": "Stroj za prepoznavanje govora",
-	"Speed Rate": "",
 	"Stop Sequence": "Zaustavi sekvencu",
 	"Stream Chat Response": "",
 	"STT Model": "STT model",

+ 1 - 1
src/lib/i18n/locales/id-ID/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Daftar",
 	"Signing in": "Masuk",
 	"Source": "Sumber",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Kesalahan pengenalan suara: {{error}}",
 	"Speech-to-Text Engine": "Mesin Pengenal Ucapan ke Teks",
-	"Speed Rate": "",
 	"Stop Sequence": "Hentikan Urutan",
 	"Stream Chat Response": "",
 	"STT Model": "Model STT",

+ 1 - 1
src/lib/i18n/locales/it-IT/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Registrati",
 	"Signing in": "Accesso in corso",
 	"Source": "Fonte",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Errore di riconoscimento vocale: {{error}}",
 	"Speech-to-Text Engine": "Motore da voce a testo",
-	"Speed Rate": "",
 	"Stop Sequence": "Sequenza di arresto",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/ja-JP/translation.json

@@ -614,9 +614,9 @@
 	"Sign up": "サインアップ",
 	"Signing in": "サインイン中",
 	"Source": "ソース",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "音声認識エラー: {{error}}",
 	"Speech-to-Text Engine": "音声テキスト変換エンジン",
-	"Speed Rate": "",
 	"Stop Sequence": "ストップシーケンス",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/ka-GE/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "რეგისტრაცია",
 	"Signing in": "ავტორიზაცია",
 	"Source": "წყარო",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "მეტყველების ამოცნობის შეცდომა: {{error}}",
 	"Speech-to-Text Engine": "ხმოვან-ტექსტური ძრავი",
-	"Speed Rate": "",
 	"Stop Sequence": "შეჩერების თანმიმდევრობა",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/ko-KR/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "가입",
 	"Signing in": "로그인 중",
 	"Source": "출처",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "음성 인식 오류: {{error}}",
 	"Speech-to-Text Engine": "음성-텍스트 변환 엔진",
-	"Speed Rate": "",
 	"Stop Sequence": "중지 시퀀스",
 	"Stream Chat Response": "",
 	"STT Model": "STT 모델",

+ 1 - 1
src/lib/i18n/locales/lt-LT/translation.json

@@ -617,9 +617,9 @@
 	"Sign up": "Sukurti paskyrą",
 	"Signing in": "Prisijungiama",
 	"Source": "Šaltinis",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Balso atpažinimo problema: {{error}}",
 	"Speech-to-Text Engine": "Balso atpažinimo modelis",
-	"Speed Rate": "",
 	"Stop Sequence": "Baigt sekvenciją",
 	"Stream Chat Response": "",
 	"STT Model": "STT modelis",

+ 1 - 1
src/lib/i18n/locales/ms-MY/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Daftar",
 	"Signing in": "Sedang Mendaftar",
 	"Source": "Sumber",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Ralat pengecaman pertuturan: {{error}}",
 	"Speech-to-Text Engine": "Enjin Ucapan-ke-Teks",
-	"Speed Rate": "",
 	"Stop Sequence": "Jujukan Henti",
 	"Stream Chat Response": "",
 	"STT Model": "Model STT",

+ 1 - 1
src/lib/i18n/locales/nb-NO/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Registrer deg",
 	"Signing in": "Logger inn",
 	"Source": "Kilde",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Feil ved talegjenkjenning: {{error}}",
 	"Speech-to-Text Engine": "Tale-til-tekst-motor",
-	"Speed Rate": "",
 	"Stop Sequence": "Stoppsekvens",
 	"Stream Chat Response": "",
 	"STT Model": "STT-modell",

+ 1 - 1
src/lib/i18n/locales/nl-NL/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Registreren",
 	"Signing in": "Aanmelden",
 	"Source": "Bron",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Spraakherkenning fout: {{error}}",
 	"Speech-to-Text Engine": "Spraak-naar-tekst Engine",
-	"Speed Rate": "",
 	"Stop Sequence": "Stop Sequentie",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/pa-IN/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "ਰਜਿਸਟਰ ਕਰੋ",
 	"Signing in": "ਸਾਈਨ ਇਨ ਕਰ ਰਿਹਾ ਹੈ",
 	"Source": "ਸਰੋਤ",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "ਬੋਲ ਪਛਾਣ ਗਲਤੀ: {{error}}",
 	"Speech-to-Text Engine": "ਬੋਲ-ਤੋਂ-ਪਾਠ ਇੰਜਣ",
-	"Speed Rate": "",
 	"Stop Sequence": "ਰੋਕੋ ਕ੍ਰਮ",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/pl-PL/translation.json

@@ -617,9 +617,9 @@
 	"Sign up": "Zarejestruj się",
 	"Signing in": "Zalogowanie",
 	"Source": "Źródło",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Błąd rozpoznawania mowy: {{error}}",
 	"Speech-to-Text Engine": "Silnik mowy na tekst",
-	"Speed Rate": "",
 	"Stop Sequence": "Zatrzymaj sekwencję",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/pt-BR/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Inscrever-se",
 	"Signing in": "Entrando",
 	"Source": "Fonte",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
 	"Speech-to-Text Engine": "Motor de Transcrição de Fala",
-	"Speed Rate": "",
 	"Stop Sequence": "Sequência de Parada",
 	"Stream Chat Response": "",
 	"STT Model": "Modelo STT",

+ 1 - 1
src/lib/i18n/locales/pt-PT/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Inscrever-se",
 	"Signing in": "A entrar",
 	"Source": "Fonte",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
 	"Speech-to-Text Engine": "Motor de Fala para Texto",
-	"Speed Rate": "",
 	"Stop Sequence": "Sequência de Paragem",
 	"Stream Chat Response": "",
 	"STT Model": "Modelo STT",

+ 1 - 1
src/lib/i18n/locales/ro-RO/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Înregistrare",
 	"Signing in": "Autentificare",
 	"Source": "Sursă",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Eroare de recunoaștere vocală: {{error}}",
 	"Speech-to-Text Engine": "Motor de Conversie a Vocii în Text",
-	"Speed Rate": "",
 	"Stop Sequence": "Oprește Secvența",
 	"Stream Chat Response": "",
 	"STT Model": "Model STT",

+ 1 - 1
src/lib/i18n/locales/ru-RU/translation.json

@@ -617,9 +617,9 @@
 	"Sign up": "Зарегистрироваться",
 	"Signing in": "Вход в систему",
 	"Source": "Источник",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Ошибка распознавания речи: {{error}}",
 	"Speech-to-Text Engine": "Система распознавания речи",
-	"Speed Rate": "",
 	"Stop Sequence": "Последовательность остановки",
 	"Stream Chat Response": "",
 	"STT Model": "Модель распознавания речи",

+ 1 - 1
src/lib/i18n/locales/sr-RS/translation.json

@@ -616,9 +616,9 @@
 	"Sign up": "Региструј се",
 	"Signing in": "Пријављивање",
 	"Source": "Извор",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Грешка у препознавању говора: {{error}}",
 	"Speech-to-Text Engine": "Мотор за говор у текст",
-	"Speed Rate": "",
 	"Stop Sequence": "Секвенца заустављања",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/sv-SE/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Registrera dig",
 	"Signing in": "Loggar in",
 	"Source": "Källa",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}",
 	"Speech-to-Text Engine": "Tal-till-text-motor",
-	"Speed Rate": "",
 	"Stop Sequence": "Stoppsekvens",
 	"Stream Chat Response": "",
 	"STT Model": "Tal-till-text-modell",

+ 1 - 1
src/lib/i18n/locales/th-TH/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "สมัครสมาชิก",
 	"Signing in": "กำลังลงชื่อเข้าใช้",
 	"Source": "แหล่งที่มา",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "ข้อผิดพลาดในการรู้จำเสียง: {{error}}",
 	"Speech-to-Text Engine": "เครื่องมือแปลงเสียงเป็นข้อความ",
-	"Speed Rate": "",
 	"Stop Sequence": "หยุดลำดับ",
 	"Stream Chat Response": "",
 	"STT Model": "โมเดลแปลงเสียงเป็นข้อความ",

+ 1 - 1
src/lib/i18n/locales/tk-TW/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "",
 	"Signing in": "",
 	"Source": "",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "",
 	"Speech-to-Text Engine": "",
-	"Speed Rate": "",
 	"Stop Sequence": "",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/tr-TR/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "Kaydol",
 	"Signing in": "Oturum açma",
 	"Source": "Kaynak",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Konuşma tanıma hatası: {{error}}",
 	"Speech-to-Text Engine": "Konuşmadan Metne Motoru",
-	"Speed Rate": "",
 	"Stop Sequence": "Diziyi Durdur",
 	"Stream Chat Response": "",
 	"STT Model": "STT Modeli",

+ 1 - 1
src/lib/i18n/locales/uk-UA/translation.json

@@ -617,9 +617,9 @@
 	"Sign up": "Зареєструватися",
 	"Signing in": "Увійдіть в систему",
 	"Source": "Джерело",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Помилка розпізнавання мови: {{error}}",
 	"Speech-to-Text Engine": "Система розпізнавання мови",
-	"Speed Rate": "",
 	"Stop Sequence": "Символ зупинки",
 	"Stream Chat Response": "",
 	"STT Model": "Модель STT ",

+ 1 - 1
src/lib/i18n/locales/vi-VN/translation.json

@@ -614,9 +614,9 @@
 	"Sign up": "Đăng ký",
 	"Signing in": "Đăng nhập",
 	"Source": "Nguồn",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "Lỗi nhận dạng giọng nói: {{error}}",
 	"Speech-to-Text Engine": "Công cụ Nhận dạng Giọng nói",
-	"Speed Rate": "",
 	"Stop Sequence": "Trình tự Dừng",
 	"Stream Chat Response": "",
 	"STT Model": "",

+ 1 - 1
src/lib/i18n/locales/zh-CN/translation.json

@@ -614,9 +614,9 @@
 	"Sign up": "注册",
 	"Signing in": "正在登录",
 	"Source": "来源",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
 	"Speech-to-Text Engine": "语音转文本引擎",
-	"Speed Rate": "速率",
 	"Stop Sequence": "停止序列 (Stop Sequence)",
 	"Stream Chat Response": "以流式返回对话响应",
 	"STT Model": "语音转文本模型",

+ 1 - 1
src/lib/i18n/locales/zh-TW/translation.json

@@ -615,9 +615,9 @@
 	"Sign up": "註冊",
 	"Signing in": "正在登入",
 	"Source": "來源",
+	"Speech Playback Speed": "",
 	"Speech recognition error: {{error}}": "語音辨識錯誤:{{error}}",
 	"Speech-to-Text Engine": "語音轉文字 (STT) 引擎",
-	"Speed Rate": "",
 	"Stop Sequence": "停止序列",
 	"Stream Chat Response": "",
 	"STT Model": "語音轉文字 (STT) 模型",