mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-07-02 02:22:55 +08:00
fix(chat): remove auto scroll quick setting
This commit is contained in:
@@ -18,7 +18,6 @@ interface UseChatSessionStateArgs {
|
|||||||
selectedSession: ProjectSession | null;
|
selectedSession: ProjectSession | null;
|
||||||
ws: WebSocket | null;
|
ws: WebSocket | null;
|
||||||
sendMessage: (message: unknown) => void;
|
sendMessage: (message: unknown) => void;
|
||||||
autoScrollToBottom?: boolean;
|
|
||||||
externalMessageUpdate?: number;
|
externalMessageUpdate?: number;
|
||||||
newSessionTrigger?: number;
|
newSessionTrigger?: number;
|
||||||
processingSessions?: SessionActivityMap;
|
processingSessions?: SessionActivityMap;
|
||||||
@@ -96,7 +95,6 @@ export function useChatSessionState({
|
|||||||
selectedSession,
|
selectedSession,
|
||||||
ws,
|
ws,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
autoScrollToBottom,
|
|
||||||
externalMessageUpdate,
|
externalMessageUpdate,
|
||||||
newSessionTrigger,
|
newSessionTrigger,
|
||||||
processingSessions,
|
processingSessions,
|
||||||
@@ -589,7 +587,7 @@ export function useChatSessionState({
|
|||||||
if (!isProcessing) {
|
if (!isProcessing) {
|
||||||
await sessionStore.refreshFromServer(selectedSession.id);
|
await sessionStore.refreshFromServer(selectedSession.id);
|
||||||
|
|
||||||
if (Boolean(autoScrollToBottom) && isNearBottom()) {
|
if (isNearBottom()) {
|
||||||
setTimeout(() => scrollToBottom(), 200);
|
setTimeout(() => scrollToBottom(), 200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -600,7 +598,6 @@ export function useChatSessionState({
|
|||||||
|
|
||||||
reloadExternalMessages();
|
reloadExternalMessages();
|
||||||
}, [
|
}, [
|
||||||
autoScrollToBottom,
|
|
||||||
externalMessageUpdate,
|
externalMessageUpdate,
|
||||||
isNearBottom,
|
isNearBottom,
|
||||||
scrollToBottom,
|
scrollToBottom,
|
||||||
@@ -732,10 +729,9 @@ export function useChatSessionState({
|
|||||||
}, [chatMessages, visibleMessageCount]);
|
}, [chatMessages, visibleMessageCount]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!autoScrollToBottom && scrollContainerRef.current) {
|
const container = scrollContainerRef.current;
|
||||||
const container = scrollContainerRef.current;
|
if (!container) return;
|
||||||
scrollPositionRef.current = { height: container.scrollHeight, top: container.scrollTop };
|
scrollPositionRef.current = { height: container.scrollHeight, top: container.scrollTop };
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -743,8 +739,8 @@ export function useChatSessionState({
|
|||||||
if (isLoadingMoreRef.current || isLoadingMoreMessages || pendingScrollRestoreRef.current) return;
|
if (isLoadingMoreRef.current || isLoadingMoreMessages || pendingScrollRestoreRef.current) return;
|
||||||
if (searchScrollActiveRef.current) return;
|
if (searchScrollActiveRef.current) return;
|
||||||
|
|
||||||
if (autoScrollToBottom) {
|
if (!isUserScrolledUp) {
|
||||||
if (!isUserScrolledUp) setTimeout(() => scrollToBottom(), 50);
|
setTimeout(() => scrollToBottom(), 50);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -754,7 +750,7 @@ export function useChatSessionState({
|
|||||||
const newHeight = container.scrollHeight;
|
const newHeight = container.scrollHeight;
|
||||||
const heightDiff = newHeight - prevHeight;
|
const heightDiff = newHeight - prevHeight;
|
||||||
if (heightDiff > 0 && prevTop > 0) container.scrollTop = prevTop + heightDiff;
|
if (heightDiff > 0 && prevTop > 0) container.scrollTop = prevTop + heightDiff;
|
||||||
}, [autoScrollToBottom, chatMessages.length, isLoadingMoreMessages, isUserScrolledUp, scrollToBottom]);
|
}, [chatMessages.length, isLoadingMoreMessages, isUserScrolledUp, scrollToBottom]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const container = scrollContainerRef.current;
|
const container = scrollContainerRef.current;
|
||||||
|
|||||||
@@ -129,7 +129,6 @@ export interface ChatInterfaceProps {
|
|||||||
autoExpandTools?: boolean;
|
autoExpandTools?: boolean;
|
||||||
showRawParameters?: boolean;
|
showRawParameters?: boolean;
|
||||||
showThinking?: boolean;
|
showThinking?: boolean;
|
||||||
autoScrollToBottom?: boolean;
|
|
||||||
sendByCtrlEnter?: boolean;
|
sendByCtrlEnter?: boolean;
|
||||||
externalMessageUpdate?: number;
|
externalMessageUpdate?: number;
|
||||||
newSessionTrigger?: number;
|
newSessionTrigger?: number;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ function ChatInterface({
|
|||||||
autoExpandTools,
|
autoExpandTools,
|
||||||
showRawParameters,
|
showRawParameters,
|
||||||
showThinking,
|
showThinking,
|
||||||
autoScrollToBottom,
|
|
||||||
sendByCtrlEnter,
|
sendByCtrlEnter,
|
||||||
externalMessageUpdate,
|
externalMessageUpdate,
|
||||||
newSessionTrigger,
|
newSessionTrigger,
|
||||||
@@ -125,7 +124,6 @@ function ChatInterface({
|
|||||||
selectedSession,
|
selectedSession,
|
||||||
ws,
|
ws,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
autoScrollToBottom,
|
|
||||||
externalMessageUpdate,
|
externalMessageUpdate,
|
||||||
newSessionTrigger,
|
newSessionTrigger,
|
||||||
processingSessions,
|
processingSessions,
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ function MainContent({
|
|||||||
newSessionTrigger,
|
newSessionTrigger,
|
||||||
}: MainContentProps) {
|
}: MainContentProps) {
|
||||||
const { preferences } = useUiPreferences();
|
const { preferences } = useUiPreferences();
|
||||||
const { autoExpandTools, showRawParameters, showThinking, autoScrollToBottom, sendByCtrlEnter } = preferences;
|
const { autoExpandTools, showRawParameters, showThinking, sendByCtrlEnter } = preferences;
|
||||||
|
|
||||||
const { currentProject, setCurrentProject } = useTaskMaster() as TaskMasterContextValue;
|
const { currentProject, setCurrentProject } = useTaskMaster() as TaskMasterContextValue;
|
||||||
const { tasksEnabled, isTaskMasterInstalled } = useTasksSettings() as TasksSettingsContextValue;
|
const { tasksEnabled, isTaskMasterInstalled } = useTasksSettings() as TasksSettingsContextValue;
|
||||||
@@ -173,7 +173,6 @@ function MainContent({
|
|||||||
autoExpandTools={autoExpandTools}
|
autoExpandTools={autoExpandTools}
|
||||||
showRawParameters={showRawParameters}
|
showRawParameters={showRawParameters}
|
||||||
showThinking={showThinking}
|
showThinking={showThinking}
|
||||||
autoScrollToBottom={autoScrollToBottom}
|
|
||||||
sendByCtrlEnter={sendByCtrlEnter}
|
sendByCtrlEnter={sendByCtrlEnter}
|
||||||
externalMessageUpdate={externalMessageUpdate}
|
externalMessageUpdate={externalMessageUpdate}
|
||||||
newSessionTrigger={newSessionTrigger}
|
newSessionTrigger={newSessionTrigger}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import {
|
import {
|
||||||
ArrowDown,
|
|
||||||
Brain,
|
Brain,
|
||||||
Eye,
|
Eye,
|
||||||
Languages,
|
Languages,
|
||||||
Maximize2,
|
Maximize2,
|
||||||
Mic,
|
Mic,
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
|
|
||||||
import type { PreferenceToggleItem } from './types';
|
import type { PreferenceToggleItem } from './types';
|
||||||
|
|
||||||
export const HANDLE_POSITION_STORAGE_KEY = 'quickSettingsHandlePosition';
|
export const HANDLE_POSITION_STORAGE_KEY = 'quickSettingsHandlePosition';
|
||||||
@@ -41,14 +41,6 @@ export const TOOL_DISPLAY_TOGGLES: PreferenceToggleItem[] = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const VIEW_OPTION_TOGGLES: PreferenceToggleItem[] = [
|
|
||||||
{
|
|
||||||
key: 'autoScrollToBottom',
|
|
||||||
labelKey: 'quickSettings.autoScrollToBottom',
|
|
||||||
icon: ArrowDown,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export const INPUT_SETTING_TOGGLES: PreferenceToggleItem[] = [
|
export const INPUT_SETTING_TOGGLES: PreferenceToggleItem[] = [
|
||||||
{
|
{
|
||||||
key: 'sendByCtrlEnter',
|
key: 'sendByCtrlEnter',
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ export type PreferenceToggleKey =
|
|||||||
| 'autoExpandTools'
|
| 'autoExpandTools'
|
||||||
| 'showRawParameters'
|
| 'showRawParameters'
|
||||||
| 'showThinking'
|
| 'showThinking'
|
||||||
| 'autoScrollToBottom'
|
|
||||||
| 'sendByCtrlEnter'
|
| 'sendByCtrlEnter'
|
||||||
| 'voiceEnabled';
|
| 'voiceEnabled';
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
import { Moon, Sun } from 'lucide-react';
|
import { Moon, Sun } from 'lucide-react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import { DarkModeToggle } from '../../../shared/view/ui';
|
import { DarkModeToggle } from '../../../shared/view/ui';
|
||||||
import LanguageSelector from '../../../shared/view/ui/LanguageSelector';
|
import LanguageSelector from '../../../shared/view/ui/LanguageSelector';
|
||||||
import {
|
import {
|
||||||
INPUT_SETTING_TOGGLES,
|
INPUT_SETTING_TOGGLES,
|
||||||
SETTING_ROW_CLASS,
|
SETTING_ROW_CLASS,
|
||||||
TOOL_DISPLAY_TOGGLES,
|
TOOL_DISPLAY_TOGGLES,
|
||||||
VIEW_OPTION_TOGGLES,
|
|
||||||
} from '../constants';
|
} from '../constants';
|
||||||
import type {
|
import type {
|
||||||
PreferenceToggleItem,
|
PreferenceToggleItem,
|
||||||
PreferenceToggleKey,
|
PreferenceToggleKey,
|
||||||
QuickSettingsPreferences,
|
QuickSettingsPreferences,
|
||||||
} from '../types';
|
} from '../types';
|
||||||
|
|
||||||
import QuickSettingsSection from './QuickSettingsSection';
|
import QuickSettingsSection from './QuickSettingsSection';
|
||||||
import QuickSettingsToggleRow from './QuickSettingsToggleRow';
|
import QuickSettingsToggleRow from './QuickSettingsToggleRow';
|
||||||
|
|
||||||
@@ -65,10 +66,6 @@ export default function QuickSettingsContent({
|
|||||||
{renderToggleRows(TOOL_DISPLAY_TOGGLES)}
|
{renderToggleRows(TOOL_DISPLAY_TOGGLES)}
|
||||||
</QuickSettingsSection>
|
</QuickSettingsSection>
|
||||||
|
|
||||||
<QuickSettingsSection title={t('quickSettings.sections.viewOptions')}>
|
|
||||||
{renderToggleRows(VIEW_OPTION_TOGGLES)}
|
|
||||||
</QuickSettingsSection>
|
|
||||||
|
|
||||||
<QuickSettingsSection title={t('quickSettings.sections.inputSettings')}>
|
<QuickSettingsSection title={t('quickSettings.sections.inputSettings')}>
|
||||||
{renderToggleRows(inputSettingToggles)}
|
{renderToggleRows(inputSettingToggles)}
|
||||||
<p className="ml-3 text-xs text-gray-500 dark:text-gray-400">
|
<p className="ml-3 text-xs text-gray-500 dark:text-gray-400">
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
import { useCallback, useMemo, useState } from 'react';
|
import { useCallback, useMemo, useState } from 'react';
|
||||||
import type { MouseEvent as ReactMouseEvent } from 'react';
|
import type { MouseEvent as ReactMouseEvent } from 'react';
|
||||||
|
|
||||||
import { useDeviceSettings } from '../../../hooks/useDeviceSettings';
|
import { useDeviceSettings } from '../../../hooks/useDeviceSettings';
|
||||||
import { useUiPreferences } from '../../../hooks/useUiPreferences';
|
import { useUiPreferences } from '../../../hooks/useUiPreferences';
|
||||||
import { useTheme } from '../../../contexts/ThemeContext';
|
import { useTheme } from '../../../contexts/ThemeContext';
|
||||||
import { useQuickSettingsDrag } from '../hooks/useQuickSettingsDrag';
|
import { useQuickSettingsDrag } from '../hooks/useQuickSettingsDrag';
|
||||||
import type { PreferenceToggleKey, QuickSettingsPreferences } from '../types';
|
import type { PreferenceToggleKey, QuickSettingsPreferences } from '../types';
|
||||||
|
|
||||||
import QuickSettingsContent from './QuickSettingsContent';
|
import QuickSettingsContent from './QuickSettingsContent';
|
||||||
import QuickSettingsHandle from './QuickSettingsHandle';
|
import QuickSettingsHandle from './QuickSettingsHandle';
|
||||||
import QuickSettingsPanelHeader from './QuickSettingsPanelHeader';
|
import QuickSettingsPanelHeader from './QuickSettingsPanelHeader';
|
||||||
@@ -25,12 +27,10 @@ export default function QuickSettingsPanelView() {
|
|||||||
autoExpandTools: preferences.autoExpandTools,
|
autoExpandTools: preferences.autoExpandTools,
|
||||||
showRawParameters: preferences.showRawParameters,
|
showRawParameters: preferences.showRawParameters,
|
||||||
showThinking: preferences.showThinking,
|
showThinking: preferences.showThinking,
|
||||||
autoScrollToBottom: preferences.autoScrollToBottom,
|
|
||||||
sendByCtrlEnter: preferences.sendByCtrlEnter,
|
sendByCtrlEnter: preferences.sendByCtrlEnter,
|
||||||
voiceEnabled: preferences.voiceEnabled,
|
voiceEnabled: preferences.voiceEnabled,
|
||||||
}), [
|
}), [
|
||||||
preferences.autoExpandTools,
|
preferences.autoExpandTools,
|
||||||
preferences.autoScrollToBottom,
|
|
||||||
preferences.sendByCtrlEnter,
|
preferences.sendByCtrlEnter,
|
||||||
preferences.showRawParameters,
|
preferences.showRawParameters,
|
||||||
preferences.showThinking,
|
preferences.showThinking,
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ type UiPreferences = {
|
|||||||
autoExpandTools: boolean;
|
autoExpandTools: boolean;
|
||||||
showRawParameters: boolean;
|
showRawParameters: boolean;
|
||||||
showThinking: boolean;
|
showThinking: boolean;
|
||||||
autoScrollToBottom: boolean;
|
|
||||||
sendByCtrlEnter: boolean;
|
sendByCtrlEnter: boolean;
|
||||||
sidebarVisible: boolean;
|
sidebarVisible: boolean;
|
||||||
voiceEnabled: boolean;
|
voiceEnabled: boolean;
|
||||||
@@ -37,7 +36,6 @@ const DEFAULTS: UiPreferences = {
|
|||||||
autoExpandTools: false,
|
autoExpandTools: false,
|
||||||
showRawParameters: false,
|
showRawParameters: false,
|
||||||
showThinking: true,
|
showThinking: true,
|
||||||
autoScrollToBottom: true,
|
|
||||||
sendByCtrlEnter: false,
|
sendByCtrlEnter: false,
|
||||||
sidebarVisible: true,
|
sidebarVisible: true,
|
||||||
voiceEnabled: false,
|
voiceEnabled: false,
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Darstellung",
|
"appearance": "Darstellung",
|
||||||
"toolDisplay": "Werkzeuganzeige",
|
"toolDisplay": "Werkzeuganzeige",
|
||||||
"viewOptions": "Anzeigeoptionen",
|
|
||||||
"inputSettings": "Eingabeeinstellungen"
|
"inputSettings": "Eingabeeinstellungen"
|
||||||
},
|
},
|
||||||
"darkMode": "Darkmode",
|
"darkMode": "Darkmode",
|
||||||
"autoExpandTools": "Werkzeuge automatisch erweitern",
|
"autoExpandTools": "Werkzeuge automatisch erweitern",
|
||||||
"showRawParameters": "Rohe Parameter anzeigen",
|
"showRawParameters": "Rohe Parameter anzeigen",
|
||||||
"showThinking": "Denken anzeigen",
|
"showThinking": "Denken anzeigen",
|
||||||
"autoScrollToBottom": "Automatisch nach unten scrollen",
|
|
||||||
"sendByCtrlEnter": "Mit Strg+Enter senden",
|
"sendByCtrlEnter": "Mit Strg+Enter senden",
|
||||||
"sendByCtrlEnterDescription": "Wenn aktiviert, sendet Strg+Enter die Nachricht anstelle von Enter. Dies ist nützlich für IME-Benutzer:innen, um versehentliches Senden zu vermeiden.",
|
"sendByCtrlEnterDescription": "Wenn aktiviert, sendet Strg+Enter die Nachricht anstelle von Enter. Dies ist nützlich für IME-Benutzer:innen, um versehentliches Senden zu vermeiden.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -70,14 +70,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Appearance",
|
"appearance": "Appearance",
|
||||||
"toolDisplay": "Tool Display",
|
"toolDisplay": "Tool Display",
|
||||||
"viewOptions": "View Options",
|
|
||||||
"inputSettings": "Input Settings"
|
"inputSettings": "Input Settings"
|
||||||
},
|
},
|
||||||
"darkMode": "Dark Mode",
|
"darkMode": "Dark Mode",
|
||||||
"autoExpandTools": "Auto-expand tools",
|
"autoExpandTools": "Auto-expand tools",
|
||||||
"showRawParameters": "Show raw parameters",
|
"showRawParameters": "Show raw parameters",
|
||||||
"showThinking": "Show thinking",
|
"showThinking": "Show thinking",
|
||||||
"autoScrollToBottom": "Auto-scroll to bottom",
|
|
||||||
"sendByCtrlEnter": "Send by Ctrl+Enter",
|
"sendByCtrlEnter": "Send by Ctrl+Enter",
|
||||||
"voiceEnabled": "Voice (mic + read aloud)",
|
"voiceEnabled": "Voice (mic + read aloud)",
|
||||||
"sendByCtrlEnterDescription": "When enabled, pressing Ctrl+Enter will send the message instead of just Enter. This is useful for IME users to avoid accidental sends.",
|
"sendByCtrlEnterDescription": "When enabled, pressing Ctrl+Enter will send the message instead of just Enter. This is useful for IME users to avoid accidental sends.",
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Apparence",
|
"appearance": "Apparence",
|
||||||
"toolDisplay": "Affichage des outils",
|
"toolDisplay": "Affichage des outils",
|
||||||
"viewOptions": "Options d'affichage",
|
|
||||||
"inputSettings": "Paramètres de saisie"
|
"inputSettings": "Paramètres de saisie"
|
||||||
},
|
},
|
||||||
"darkMode": "Mode sombre",
|
"darkMode": "Mode sombre",
|
||||||
"autoExpandTools": "Développer automatiquement les outils",
|
"autoExpandTools": "Développer automatiquement les outils",
|
||||||
"showRawParameters": "Afficher les paramètres bruts",
|
"showRawParameters": "Afficher les paramètres bruts",
|
||||||
"showThinking": "Afficher la réflexion",
|
"showThinking": "Afficher la réflexion",
|
||||||
"autoScrollToBottom": "Défilement automatique vers le bas",
|
|
||||||
"sendByCtrlEnter": "Envoyer avec Ctrl+Entrée",
|
"sendByCtrlEnter": "Envoyer avec Ctrl+Entrée",
|
||||||
"sendByCtrlEnterDescription": "Lorsqu'activé, appuyer sur Ctrl+Entrée envoie le message au lieu de simplement Entrée. Utile pour les utilisateurs IME pour éviter les envois accidentels.",
|
"sendByCtrlEnterDescription": "Lorsqu'activé, appuyer sur Ctrl+Entrée envoie le message au lieu de simplement Entrée. Utile pour les utilisateurs IME pour éviter les envois accidentels.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Aspetto",
|
"appearance": "Aspetto",
|
||||||
"toolDisplay": "Visualizzazione strumenti",
|
"toolDisplay": "Visualizzazione strumenti",
|
||||||
"viewOptions": "Opzioni visualizzazione",
|
|
||||||
"inputSettings": "Impostazioni input"
|
"inputSettings": "Impostazioni input"
|
||||||
},
|
},
|
||||||
"darkMode": "Modalità scura",
|
"darkMode": "Modalità scura",
|
||||||
"autoExpandTools": "Espandi strumenti automaticamente",
|
"autoExpandTools": "Espandi strumenti automaticamente",
|
||||||
"showRawParameters": "Mostra parametri grezzi",
|
"showRawParameters": "Mostra parametri grezzi",
|
||||||
"showThinking": "Mostra ragionamento",
|
"showThinking": "Mostra ragionamento",
|
||||||
"autoScrollToBottom": "Scorrimento automatico in basso",
|
|
||||||
"sendByCtrlEnter": "Invia con Ctrl+Invio",
|
"sendByCtrlEnter": "Invia con Ctrl+Invio",
|
||||||
"sendByCtrlEnterDescription": "Se abilitato, premere Ctrl+Invio invierà il messaggio invece di Invio. Utile per gli utenti IME per evitare invii accidentali.",
|
"sendByCtrlEnterDescription": "Se abilitato, premere Ctrl+Invio invierà il messaggio invece di Invio. Utile per gli utenti IME per evitare invii accidentali.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "外観",
|
"appearance": "外観",
|
||||||
"toolDisplay": "ツール表示",
|
"toolDisplay": "ツール表示",
|
||||||
"viewOptions": "表示オプション",
|
|
||||||
"inputSettings": "入力設定"
|
"inputSettings": "入力設定"
|
||||||
},
|
},
|
||||||
"darkMode": "ダークモード",
|
"darkMode": "ダークモード",
|
||||||
"autoExpandTools": "ツールを自動展開",
|
"autoExpandTools": "ツールを自動展開",
|
||||||
"showRawParameters": "生パラメータを表示",
|
"showRawParameters": "生パラメータを表示",
|
||||||
"showThinking": "思考を表示",
|
"showThinking": "思考を表示",
|
||||||
"autoScrollToBottom": "自動スクロール",
|
|
||||||
"sendByCtrlEnter": "Ctrl+Enterで送信",
|
"sendByCtrlEnter": "Ctrl+Enterで送信",
|
||||||
"sendByCtrlEnterDescription": "有効にすると、Enterではなく Ctrl+Enter でメッセージを送信します。IMEユーザーの誤送信防止に便利です。",
|
"sendByCtrlEnterDescription": "有効にすると、Enterではなく Ctrl+Enter でメッセージを送信します。IMEユーザーの誤送信防止に便利です。",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "외관",
|
"appearance": "외관",
|
||||||
"toolDisplay": "도구 표시",
|
"toolDisplay": "도구 표시",
|
||||||
"viewOptions": "보기 옵션",
|
|
||||||
"inputSettings": "입력 설정"
|
"inputSettings": "입력 설정"
|
||||||
},
|
},
|
||||||
"darkMode": "다크 모드",
|
"darkMode": "다크 모드",
|
||||||
"autoExpandTools": "도구 자동 펼치기",
|
"autoExpandTools": "도구 자동 펼치기",
|
||||||
"showRawParameters": "Raw 파라미터 표시",
|
"showRawParameters": "Raw 파라미터 표시",
|
||||||
"showThinking": "생각 과정 표시",
|
"showThinking": "생각 과정 표시",
|
||||||
"autoScrollToBottom": "자동 스크롤",
|
|
||||||
"sendByCtrlEnter": "Ctrl+Enter로 전송",
|
"sendByCtrlEnter": "Ctrl+Enter로 전송",
|
||||||
"sendByCtrlEnterDescription": "활성화하면 Enter 대신 Ctrl+Enter로 메시지를 전송합니다. IME 사용자가 실수로 전송하는 것을 방지하는 데 유용합니다.",
|
"sendByCtrlEnterDescription": "활성화하면 Enter 대신 Ctrl+Enter로 메시지를 전송합니다. IME 사용자가 실수로 전송하는 것을 방지하는 데 유용합니다.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Внешний вид",
|
"appearance": "Внешний вид",
|
||||||
"toolDisplay": "Отображение инструментов",
|
"toolDisplay": "Отображение инструментов",
|
||||||
"viewOptions": "Параметры просмотра",
|
|
||||||
"inputSettings": "Настройки ввода"
|
"inputSettings": "Настройки ввода"
|
||||||
},
|
},
|
||||||
"darkMode": "Темная тема",
|
"darkMode": "Темная тема",
|
||||||
"autoExpandTools": "Автоматически разворачивать инструменты",
|
"autoExpandTools": "Автоматически разворачивать инструменты",
|
||||||
"showRawParameters": "Показывать сырые параметры",
|
"showRawParameters": "Показывать сырые параметры",
|
||||||
"showThinking": "Показывать размышления",
|
"showThinking": "Показывать размышления",
|
||||||
"autoScrollToBottom": "Автопрокрутка вниз",
|
|
||||||
"sendByCtrlEnter": "Отправка по Ctrl+Enter",
|
"sendByCtrlEnter": "Отправка по Ctrl+Enter",
|
||||||
"sendByCtrlEnterDescription": "Когда включено, нажатие Ctrl+Enter будет отправлять сообщение вместо просто Enter. Это полезно для пользователей IME, чтобы избежать случайной отправки.",
|
"sendByCtrlEnterDescription": "Когда включено, нажатие Ctrl+Enter будет отправлять сообщение вместо просто Enter. Это полезно для пользователей IME, чтобы избежать случайной отправки.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "Görünüm",
|
"appearance": "Görünüm",
|
||||||
"toolDisplay": "Araç Gösterimi",
|
"toolDisplay": "Araç Gösterimi",
|
||||||
"viewOptions": "Görünüm Seçenekleri",
|
|
||||||
"inputSettings": "Girdi Ayarları"
|
"inputSettings": "Girdi Ayarları"
|
||||||
},
|
},
|
||||||
"darkMode": "Koyu Mod",
|
"darkMode": "Koyu Mod",
|
||||||
"autoExpandTools": "Araçları otomatik genişlet",
|
"autoExpandTools": "Araçları otomatik genişlet",
|
||||||
"showRawParameters": "Ham parametreleri göster",
|
"showRawParameters": "Ham parametreleri göster",
|
||||||
"showThinking": "Düşünmeyi göster",
|
"showThinking": "Düşünmeyi göster",
|
||||||
"autoScrollToBottom": "Otomatik en alta kaydır",
|
|
||||||
"sendByCtrlEnter": "Ctrl+Enter ile gönder",
|
"sendByCtrlEnter": "Ctrl+Enter ile gönder",
|
||||||
"sendByCtrlEnterDescription": "Etkinleştirildiğinde, Ctrl+Enter'a basmak yalnız Enter yerine mesajı gönderir. IME (girdi metot düzenleyici) kullananlar için yanlışlıkla göndermeyi önler.",
|
"sendByCtrlEnterDescription": "Etkinleştirildiğinde, Ctrl+Enter'a basmak yalnız Enter yerine mesajı gönderir. IME (girdi metot düzenleyici) kullananlar için yanlışlıkla göndermeyi önler.",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "外观",
|
"appearance": "外观",
|
||||||
"toolDisplay": "工具显示",
|
"toolDisplay": "工具显示",
|
||||||
"viewOptions": "视图选项",
|
|
||||||
"inputSettings": "输入设置"
|
"inputSettings": "输入设置"
|
||||||
},
|
},
|
||||||
"darkMode": "深色模式",
|
"darkMode": "深色模式",
|
||||||
"autoExpandTools": "自动展开工具",
|
"autoExpandTools": "自动展开工具",
|
||||||
"showRawParameters": "显示原始参数",
|
"showRawParameters": "显示原始参数",
|
||||||
"showThinking": "显示思考过程",
|
"showThinking": "显示思考过程",
|
||||||
"autoScrollToBottom": "自动滚动到底部",
|
|
||||||
"sendByCtrlEnter": "使用 Ctrl+Enter 发送",
|
"sendByCtrlEnter": "使用 Ctrl+Enter 发送",
|
||||||
"sendByCtrlEnterDescription": "启用后,按 Ctrl+Enter 发送消息,而不是仅按 Enter。这对于使用输入法的用户可以避免意外发送。",
|
"sendByCtrlEnterDescription": "启用后,按 Ctrl+Enter 发送消息,而不是仅按 Enter。这对于使用输入法的用户可以避免意外发送。",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
@@ -54,14 +54,12 @@
|
|||||||
"sections": {
|
"sections": {
|
||||||
"appearance": "外觀",
|
"appearance": "外觀",
|
||||||
"toolDisplay": "工具顯示",
|
"toolDisplay": "工具顯示",
|
||||||
"viewOptions": "檢視選項",
|
|
||||||
"inputSettings": "輸入設定"
|
"inputSettings": "輸入設定"
|
||||||
},
|
},
|
||||||
"darkMode": "深色模式",
|
"darkMode": "深色模式",
|
||||||
"autoExpandTools": "自動展開工具",
|
"autoExpandTools": "自動展開工具",
|
||||||
"showRawParameters": "顯示原始參數",
|
"showRawParameters": "顯示原始參數",
|
||||||
"showThinking": "顯示思考過程",
|
"showThinking": "顯示思考過程",
|
||||||
"autoScrollToBottom": "自動捲動到底部",
|
|
||||||
"sendByCtrlEnter": "使用 Ctrl+Enter 傳送",
|
"sendByCtrlEnter": "使用 Ctrl+Enter 傳送",
|
||||||
"sendByCtrlEnterDescription": "啟用後,按 Ctrl+Enter 傳送訊息,而不是僅按 Enter。這對於使用輸入法的使用者可以避免意外傳送。",
|
"sendByCtrlEnterDescription": "啟用後,按 Ctrl+Enter 傳送訊息,而不是僅按 Enter。這對於使用輸入法的使用者可以避免意外傳送。",
|
||||||
"dragHandle": {
|
"dragHandle": {
|
||||||
|
|||||||
Reference in New Issue
Block a user