diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json
index 7d3f5229b6..fd89b97065 100644
--- a/src/renderer/src/i18n/locales/ja-jp.json
+++ b/src/renderer/src/i18n/locales/ja-jp.json
@@ -1458,7 +1458,9 @@
"stopped": "音声再生を停止しました",
"segmented": "分割",
"segmented_play": "分割再生",
- "segmented_playback": "分割再生"
+ "segmented_playback": "分割再生",
+ "filter.emojis": "[to be translated]:过滤表情符号",
+ "show_progress_bar": "[to be translated]:显示TTS进度条"
},
"asr": {
"title": "音声認識",
@@ -1508,8 +1510,7 @@
"browser_not_support": "ブラウザが音声認識をサポートしていません"
},
"auto_start_server": "アプリ起動時にサーバーを自動起動",
- "auto_start_server.help": "有効にすると、アプリ起動時に音声認識サーバーが自動的に起動します",
- "language": "認識言語"
+ "auto_start_server.help": "有効にすると、アプリ起動時に音声認識サーバーが自動的に起動します"
},
"voice": {
"title": "音声機能",
@@ -1532,8 +1533,7 @@
"reset": "リセット",
"saved": "プロンプトが保存されました",
"reset_done": "プロンプトがリセットされました",
- "info": "このプロンプトは音声通話モードでのAIの応答方法を指導します",
- "language_info": "リセットボタンをクリックすると、現在の言語のデフォルトプロンプトが取得されます"
+ "info": "このプロンプトは音声通話モードでのAIの応答方法を指導します"
},
"asr_tts_info": "音声通話は上記の音声認識(ASR)と音声合成(TTS)の設定を使用します",
"test": "音声通話テスト",
diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json
index c518d8aa73..1780e307c7 100644
--- a/src/renderer/src/i18n/locales/ru-ru.json
+++ b/src/renderer/src/i18n/locales/ru-ru.json
@@ -1458,7 +1458,9 @@
"stopped": "[to be translated]:已停止语音播放",
"segmented": "[to be translated]:分段",
"segmented_play": "[to be translated]:分段播放",
- "segmented_playback": "[to be translated]:分段播放"
+ "segmented_playback": "[to be translated]:分段播放",
+ "filter.emojis": "[to be translated]:过滤表情符号",
+ "show_progress_bar": "[to be translated]:显示TTS进度条"
},
"voice": {
"title": "[to be translated]:语音功能",
@@ -1530,12 +1532,12 @@
"reset": "Сбросить",
"saved": "Подсказка сохранена",
"reset_done": "Подсказка сброшена",
- "info": "Эта подсказка будет направлять ответы ИИ в режиме голосового вызова",
- "language_info": "Нажмите кнопку сброса, чтобы получить стандартную подсказку для текущего языка"
+ "info": "Эта подсказка будет направлять ответы ИИ в режиме голосового вызова"
},
"asr_tts_info": "Голосовой вызов использует настройки распознавания речи (ASR) и синтеза речи (TTS), указанные выше",
"test": "Тестировать голосовой вызов",
- "test_info": "Используйте кнопку голосового вызова справа от поля ввода для тестирования"
+ "test_info": "Используйте кнопку голосового вызова справа от поля ввода для тестирования",
+ "welcome_message": "[to be translated]:您好,我是您的AI助手,请长按说话按钮进行对话。"
}
},
"translate": {
diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json
index 339f938cf6..81d4a1355d 100644
--- a/src/renderer/src/i18n/locales/zh-tw.json
+++ b/src/renderer/src/i18n/locales/zh-tw.json
@@ -1458,7 +1458,9 @@
"stopped": "[to be translated]:已停止语音播放",
"segmented": "[to be translated]:分段",
"segmented_play": "[to be translated]:分段播放",
- "segmented_playback": "[to be translated]:分段播放"
+ "segmented_playback": "[to be translated]:分段播放",
+ "filter.emojis": "[to be translated]:过滤表情符号",
+ "show_progress_bar": "[to be translated]:显示TTS进度条"
},
"voice": {
"title": "[to be translated]:语音功能",
@@ -1530,12 +1532,12 @@
"reset": "重置",
"saved": "提示詞已保存",
"reset_done": "提示詞已重置",
- "info": "此提示詞將指導AI在語音通話模式下的回覆方式",
- "language_info": "點擊重置按鈕可獲取當前語言的預設提示詞"
+ "info": "此提示詞將指導AI在語音通話模式下的回覆方式"
},
"asr_tts_info": "語音通話使用上面的語音識別(ASR)和語音合成(TTS)設置",
"test": "測試通話",
- "test_info": "請使用輸入框右側的語音通話按鈕進行測試"
+ "test_info": "請使用輸入框右側的語音通話按鈕進行測試",
+ "welcome_message": "[to be translated]:您好,我是您的AI助手,请长按说话按钮进行对话。"
}
},
"translate": {
diff --git a/src/renderer/src/pages/settings/TTSSettings/TTSSettings.tsx b/src/renderer/src/pages/settings/TTSSettings/TTSSettings.tsx
index dcddbf0e94..a45f8ed69c 100644
--- a/src/renderer/src/pages/settings/TTSSettings/TTSSettings.tsx
+++ b/src/renderer/src/pages/settings/TTSSettings/TTSSettings.tsx
@@ -1043,7 +1043,11 @@ const TTSSettings: FC = () => {
/>
{t('settings.voice.help')}
-
+
{t('settings.voice.learn_more')}
diff --git a/src/renderer/src/pages/settings/TTSSettings/VoiceCallSettings.tsx b/src/renderer/src/pages/settings/TTSSettings/VoiceCallSettings.tsx
index dd24729eda..0b647824ac 100644
--- a/src/renderer/src/pages/settings/TTSSettings/VoiceCallSettings.tsx
+++ b/src/renderer/src/pages/settings/TTSSettings/VoiceCallSettings.tsx
@@ -66,7 +66,6 @@ const VoiceCallSettings: FC = () => {
-
{/* 模型选择 */}
@@ -75,7 +74,11 @@ const VoiceCallSettings: FC = () => {
disabled={!voiceCallEnabled}
icon={
voiceCallModel ? (
-
+
) : (
)
@@ -88,7 +91,6 @@ const VoiceCallSettings: FC = () => {
{t('settings.voice_call.model.info')}
-
{/* 提示词设置 */}
{
rows={8}
placeholder={t('settings.voice_call.prompt.placeholder')}
/>
+ {t('settings.voice_call.prompt.info')}
- {t('settings.voice_call.prompt.info')}
-
-
- {/* ASR 和 TTS 设置提示 */}
-
- {t('settings.voice_call.asr_tts_info')}
-
-
- {/* 测试按钮 */}
-
- }
- disabled={!voiceCallEnabled}
- onClick={() =>
- window.message.info({ content: t('settings.voice_call.test_info'), key: 'voice-call-test' })
- }>
- {t('settings.voice_call.test')}
-
@@ -142,39 +126,40 @@ const InfoText = styled.div`
`
const ModelIcon = styled.img`
- width: 16px;
- height: 16px;
- margin-right: 8px;
+ width: 20px;
+ height: 20px;
+ border-radius: 10px;
+ margin-top: 4px;
`
-const Alert = styled.div<{ type: 'info' | 'warning' | 'error' | 'success' }>`
- padding: 8px 12px;
- border-radius: 4px;
- background-color: ${(props) =>
- props.type === 'info'
- ? 'var(--color-info-bg)'
- : props.type === 'warning'
- ? 'var(--color-warning-bg)'
- : props.type === 'error'
- ? 'var(--color-error-bg)'
- : 'var(--color-success-bg)'};
- border: 1px solid
- ${(props) =>
- props.type === 'info'
- ? 'var(--color-info-border)'
- : props.type === 'warning'
- ? 'var(--color-warning-border)'
- : props.type === 'error'
- ? 'var(--color-error-border)'
- : 'var(--color-success-border)'};
- color: ${(props) =>
- props.type === 'info'
- ? 'var(--color-info-text)'
- : props.type === 'warning'
- ? 'var(--color-warning-text)'
- : props.type === 'error'
- ? 'var(--color-error-text)'
- : 'var(--color-success-text)'};
-`
+// const Alert = styled.div<{ type: 'info' | 'warning' | 'error' | 'success' }>`
+// padding: 8px 12px;
+// border-radius: 4px;
+// background-color: ${(props) =>
+// props.type === 'info'
+// ? 'var(--color-info-bg)'
+// : props.type === 'warning'
+// ? 'var(--color-warning-bg)'
+// : props.type === 'error'
+// ? 'var(--color-error-bg)'
+// : 'var(--color-success-bg)'};
+// border: 1px solid
+// ${(props) =>
+// props.type === 'info'
+// ? 'var(--color-info-border)'
+// : props.type === 'warning'
+// ? 'var(--color-warning-border)'
+// : props.type === 'error'
+// ? 'var(--color-error-border)'
+// : 'var(--color-success-border)'};
+// color: ${(props) =>
+// props.type === 'info'
+// ? 'var(--color-info-text)'
+// : props.type === 'warning'
+// ? 'var(--color-warning-text)'
+// : props.type === 'error'
+// ? 'var(--color-error-text)'
+// : 'var(--color-success-text)'};
+// `
export default VoiceCallSettings
diff --git a/yarn.lock b/yarn.lock
index cceefb5303..4bdda97931 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3946,7 +3946,6 @@ __metadata:
axios: "npm:^1.7.3"
babel-plugin-styled-components: "npm:^2.1.4"
browser-image-compression: "npm:^2.0.2"
- bufferutil: "npm:^4.0.9"
color: "npm:^5.0.0"
dayjs: "npm:^1.11.11"
dexie: "npm:^4.0.8"
@@ -4024,11 +4023,9 @@ __metadata:
turndown-plugin-gfm: "npm:^1.0.2"
typescript: "npm:^5.6.2"
undici: "npm:^7.4.0"
- utf-8-validate: "npm:^6.0.5"
uuid: "npm:^10.0.0"
vite: "npm:^5.0.12"
webdav: "npm:^5.8.0"
- ws: "npm:^8.18.1"
zipread: "npm:^1.3.3"
languageName: unknown
linkType: soft
@@ -4952,16 +4949,6 @@ __metadata:
languageName: node
linkType: hard
-"bufferutil@npm:^4.0.9":
- version: 4.0.9
- resolution: "bufferutil@npm:4.0.9"
- dependencies:
- node-gyp: "npm:latest"
- node-gyp-build: "npm:^4.3.0"
- checksum: 10c0/f8a93279fc9bdcf32b42eba97edc672b39ca0fe5c55a8596099886cffc76ea9dd78e0f6f51ecee3b5ee06d2d564aa587036b5d4ea39b8b5ac797262a363cdf7d
- languageName: node
- linkType: hard
-
"builder-util-runtime@npm:9.2.4":
version: 9.2.4
resolution: "builder-util-runtime@npm:9.2.4"
@@ -12140,17 +12127,6 @@ __metadata:
languageName: node
linkType: hard
-"node-gyp-build@npm:^4.3.0":
- version: 4.8.4
- resolution: "node-gyp-build@npm:4.8.4"
- bin:
- node-gyp-build: bin.js
- node-gyp-build-optional: optional.js
- node-gyp-build-test: build-test.js
- checksum: 10c0/444e189907ece2081fe60e75368784f7782cfddb554b60123743dfb89509df89f1f29c03bbfa16b3a3e0be3f48799a4783f487da6203245fa5bed239ba7407e1
- languageName: node
- linkType: hard
-
"node-gyp@npm:^9.1.0":
version: 9.4.1
resolution: "node-gyp@npm:9.4.1"
@@ -16679,16 +16655,6 @@ __metadata:
languageName: node
linkType: hard
-"utf-8-validate@npm:^6.0.5":
- version: 6.0.5
- resolution: "utf-8-validate@npm:6.0.5"
- dependencies:
- node-gyp: "npm:latest"
- node-gyp-build: "npm:^4.3.0"
- checksum: 10c0/6dc63c513adb001e47a51819072cdd414158430091c49c21d4947ea99f16df5167b671f680df8fb2b6f2ae6a7f30264b4ec111bd3e573720dfe371da1ab99a81
- languageName: node
- linkType: hard
-
"utf8-byte-length@npm:^1.0.1":
version: 1.0.5
resolution: "utf8-byte-length@npm:1.0.5"
@@ -17123,7 +17089,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:^8.13.0, ws@npm:^8.14.1, ws@npm:^8.18.0, ws@npm:^8.18.1":
+"ws@npm:^8.13.0, ws@npm:^8.14.1, ws@npm:^8.18.0":
version: 8.18.1
resolution: "ws@npm:8.18.1"
peerDependencies: