mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-01 23:56:39 +08:00
chore: wip
This commit is contained in:
parent
d7eee52a44
commit
5999604df4
@ -10,7 +10,8 @@ import React, {
|
||||
} from "react";
|
||||
|
||||
import SendWhiteIcon from "../icons/send-white.svg";
|
||||
import VoiceWhiteIcon from "../icons/voice-white.svg";
|
||||
import VoiceOpenIcon from "../icons/vioce-open.svg";
|
||||
import VoiceCloseIcon from "../icons/vioce-close.svg";
|
||||
import BrainIcon from "../icons/brain.svg";
|
||||
import RenameIcon from "../icons/rename.svg";
|
||||
import ExportIcon from "../icons/share.svg";
|
||||
@ -830,7 +831,7 @@ export function ChatActions(props: {
|
||||
isListening ? await stopListening() : await startListening()
|
||||
}
|
||||
text={isListening ? Locale.Chat.StopSpeak : Locale.Chat.StartSpeak}
|
||||
icon={<VoiceWhiteIcon />}
|
||||
icon={isListening ? <VoiceOpenIcon /> : <VoiceCloseIcon />}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@ import { STTConfig, STTConfigValidator } from "../store";
|
||||
|
||||
import Locale from "../locales";
|
||||
import { ListItem, Select } from "./ui-lib";
|
||||
import { DEFAULT_STT_ENGINES } from "../constant";
|
||||
import { DEFAULT_STT_ENGINES, DEFAULT_STT_LANGUAGES } from "../constant";
|
||||
import { isFirefox } from "../utils";
|
||||
|
||||
export function STTConfigList(props: {
|
||||
@ -25,20 +25,44 @@ export function STTConfigList(props: {
|
||||
}
|
||||
></input>
|
||||
</ListItem>
|
||||
{!isFirefox() && (
|
||||
<ListItem title={Locale.Settings.STT.Engine.Title}>
|
||||
<ListItem title={Locale.Settings.STT.Engine.Title}>
|
||||
<Select
|
||||
value={props.sttConfig.engine}
|
||||
onChange={(e) => {
|
||||
props.updateConfig(
|
||||
(config) =>
|
||||
(config.engine = STTConfigValidator.engine(
|
||||
e.currentTarget.value,
|
||||
)),
|
||||
);
|
||||
}}
|
||||
>
|
||||
{isFirefox()
|
||||
? DEFAULT_STT_ENGINES.filter((v) => v !== "Web Speech API").map(
|
||||
(v, i) => (
|
||||
<option value={v} key={i}>
|
||||
{v}
|
||||
</option>
|
||||
),
|
||||
)
|
||||
: DEFAULT_STT_ENGINES.map((v, i) => (
|
||||
<option value={v} key={i}>
|
||||
{v}
|
||||
</option>
|
||||
))}
|
||||
</Select>
|
||||
</ListItem>
|
||||
{props.sttConfig.engine === "Web Speech API" && !isFirefox() && (
|
||||
<ListItem title="语言选择">
|
||||
<Select
|
||||
value={props.sttConfig.engine}
|
||||
value={props.sttConfig.language}
|
||||
onChange={(e) => {
|
||||
props.updateConfig(
|
||||
(config) =>
|
||||
(config.engine = STTConfigValidator.engine(
|
||||
e.currentTarget.value,
|
||||
)),
|
||||
(config) => (config.language = e.currentTarget.value),
|
||||
);
|
||||
}}
|
||||
>
|
||||
{DEFAULT_STT_ENGINES.map((v, i) => (
|
||||
{DEFAULT_STT_LANGUAGES.map((v, i) => (
|
||||
<option value={v} key={i}>
|
||||
{v}
|
||||
</option>
|
||||
|
@ -271,8 +271,22 @@ export const DEFAULT_TTS_VOICES = [
|
||||
"shimmer",
|
||||
];
|
||||
|
||||
export const DEFAULT_STT_ENGINE = "WebAPI";
|
||||
export const DEFAULT_STT_ENGINES = ["WebAPI", "OpenAI Whisper"];
|
||||
export const DEFAULT_STT_ENGINE = "Web Speech API";
|
||||
export const DEFAULT_STT_ENGINES = ["Web Speech API", "OpenAI Whisper"];
|
||||
export const DEFAULT_STT_LANGUAGE = "zh-CN";
|
||||
export const DEFAULT_STT_LANGUAGES = [
|
||||
"zh-CN", // 中文(简体)
|
||||
"en-US", // 英文
|
||||
"fr-FR", // 法文
|
||||
"de-DE", // 德文
|
||||
"es-ES", // 西班牙文
|
||||
"it-IT", // 意大利文
|
||||
"ja-JP", // 日文
|
||||
"ko-KR", // 韩文
|
||||
"ru-RU", // 俄文
|
||||
"pt-BR", // 葡萄牙文(巴西)
|
||||
"ar-SA", // 阿拉伯文
|
||||
];
|
||||
export const FIREFOX_DEFAULT_STT_ENGINE = "OpenAI Whisper";
|
||||
|
||||
const openaiModels = [
|
||||
|
1
app/icons/vioce-close.svg
Normal file
1
app/icons/vioce-close.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M7 8a5 5 0 0 1 10 0v3a5 5 0 0 1-10 0z"/><path stroke-linecap="round" d="M11 8h2m-3 3h4m6-1v1a8 8 0 1 1-16 0v-1m8 9v3"/></g></svg>
|
After Width: | Height: | Size: 277 B |
1
app/icons/vioce-open.svg
Normal file
1
app/icons/vioce-open.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><g fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"><path d="M4 9a.75.75 0 0 1 .75.75v1a7.25 7.25 0 1 0 14.5 0v-1a.75.75 0 0 1 1.5 0v1a8.75 8.75 0 0 1-8 8.718v2.282a.75.75 0 0 1-1.5 0v-2.282a8.75 8.75 0 0 1-8-8.718v-1A.75.75 0 0 1 4 9"/><path d="M12 2a5.75 5.75 0 0 0-5.75 5.75v3a5.75 5.75 0 0 0 11.5 0v-3A5.75 5.75 0 0 0 12 2m2 9.5a.75.75 0 0 0 0-1.5h-4a.75.75 0 0 0 0 1.5zm-.25-3.75a.75.75 0 0 1-.75.75h-2A.75.75 0 0 1 11 7h2a.75.75 0 0 1 .75.75"/></g></svg>
|
After Width: | Height: | Size: 554 B |
@ -7,6 +7,7 @@ import {
|
||||
DEFAULT_SIDEBAR_WIDTH,
|
||||
DEFAULT_STT_ENGINE,
|
||||
DEFAULT_STT_ENGINES,
|
||||
DEFAULT_STT_LANGUAGE,
|
||||
DEFAULT_TTS_ENGINE,
|
||||
DEFAULT_TTS_ENGINES,
|
||||
DEFAULT_TTS_MODEL,
|
||||
@ -94,6 +95,7 @@ export const DEFAULT_CONFIG = {
|
||||
sttConfig: {
|
||||
enable: true,
|
||||
engine: DEFAULT_STT_ENGINE,
|
||||
language: DEFAULT_STT_LANGUAGE,
|
||||
},
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user