fix(webui): stabilize streaming output and settings i18n
This commit is contained in:
@@ -65,14 +65,14 @@
|
||||
"nav": {
|
||||
"general": "일반",
|
||||
"byok": "BYOK",
|
||||
"overview": "Overview",
|
||||
"appearance": "Appearance",
|
||||
"models": "Models",
|
||||
"providers": "Providers",
|
||||
"image": "Image",
|
||||
"browser": "Web",
|
||||
"overview": "개요",
|
||||
"appearance": "외관",
|
||||
"models": "모델",
|
||||
"providers": "제공자",
|
||||
"image": "이미지",
|
||||
"browser": "웹",
|
||||
"runtime": "시스템",
|
||||
"advanced": "Security",
|
||||
"advanced": "보안",
|
||||
"cliApps": "CLI 앱",
|
||||
"mcp": "MCP",
|
||||
"apps": "앱"
|
||||
@@ -81,21 +81,21 @@
|
||||
"interface": "인터페이스",
|
||||
"ai": "AI",
|
||||
"system": "시스템",
|
||||
"status": "Status",
|
||||
"localPreferences": "Local preferences",
|
||||
"presets": "Presets",
|
||||
"status": "상태",
|
||||
"localPreferences": "로컬 환경설정",
|
||||
"presets": "프리셋",
|
||||
"imageGeneration": "이미지 생성",
|
||||
"imageDefaults": "기본값",
|
||||
"webSearch": "Web search",
|
||||
"webBehavior": "Behavior",
|
||||
"identity": "Identity",
|
||||
"webuiSafety": "Web safety",
|
||||
"webSearch": "웹 검색",
|
||||
"webBehavior": "동작",
|
||||
"identity": "ID",
|
||||
"webuiSafety": "WebUI 보안",
|
||||
"capabilities": "기능",
|
||||
"cliApps": "CLI 앱",
|
||||
"mcp": "MCP 서비스",
|
||||
"apps": "앱",
|
||||
"nativeHost": "App",
|
||||
"hostSafety": "App safety"
|
||||
"nativeHost": "네이티브 호스트",
|
||||
"hostSafety": "앱 보안"
|
||||
},
|
||||
"rows": {
|
||||
"theme": "테마",
|
||||
@@ -104,118 +104,118 @@
|
||||
"model": "모델",
|
||||
"restart": "nanobot 재시작",
|
||||
"configPath": "설정 경로",
|
||||
"activePreset": "Active preset",
|
||||
"gateway": "Gateway",
|
||||
"restartState": "Restart state",
|
||||
"pendingChanges": "대기 중인 변경 사항",
|
||||
"selectedPreset": "Selected preset",
|
||||
"presetModel": "Preset model",
|
||||
"density": "Density",
|
||||
"activityMode": "Activity detail",
|
||||
"codeWrap": "Code wrapping",
|
||||
"maxResults": "Max results",
|
||||
"timeout": "Timeout",
|
||||
"jinaReader": "Jina reader",
|
||||
"activePreset": "활성 프리셋",
|
||||
"gateway": "게이트웨이",
|
||||
"restartState": "재시작 상태",
|
||||
"pendingChanges": "대기 중인 변경",
|
||||
"selectedPreset": "선택한 프리셋",
|
||||
"presetModel": "프리셋 모델",
|
||||
"density": "밀도",
|
||||
"activityMode": "활동 상세",
|
||||
"codeWrap": "코드 줄바꿈",
|
||||
"maxResults": "최대 결과 수",
|
||||
"timeout": "타임아웃",
|
||||
"jinaReader": "Jina 리더",
|
||||
"imageGeneration": "이미지 생성",
|
||||
"imageProvider": "이미지 제공자",
|
||||
"imageProviderStatus": "제공자 상태",
|
||||
"imageProviderBase": "제공자 기준 주소",
|
||||
"imageProviderBase": "제공자 주소",
|
||||
"imageModel": "이미지 모델",
|
||||
"defaultAspectRatio": "기본 비율",
|
||||
"defaultImageSize": "기본 크기",
|
||||
"maxImagesPerTurn": "턴당 최대 이미지 수",
|
||||
"imageSaveDir": "저장 디렉터리",
|
||||
"botName": "Bot name",
|
||||
"botIcon": "Bot icon",
|
||||
"timezone": "Timezone",
|
||||
"botName": "Bot 이름",
|
||||
"botIcon": "Bot 아이콘",
|
||||
"timezone": "시간대",
|
||||
"workspacePath": "기본 작업공간",
|
||||
"localServiceAccess": "Local services",
|
||||
"webuiDefaultAccess": "Default access",
|
||||
"localServiceAccess": "로컬 서비스",
|
||||
"webuiDefaultAccess": "기본 권한",
|
||||
"currentModel": "현재 구성",
|
||||
"brandLogos": "브랜드 로고",
|
||||
"cliAppsCatalog": "CLI 앱 카탈로그",
|
||||
"cliAppsFilter": "CLI 앱 필터",
|
||||
"cliAppsCatalog": "카탈로그",
|
||||
"cliAppsFilter": "필터",
|
||||
"engine": "엔진",
|
||||
"logs": "로그",
|
||||
"diagnostics": "진단",
|
||||
"contextWindow": "Context window"
|
||||
"contextWindow": "컨텍스트 창"
|
||||
},
|
||||
"help": {
|
||||
"theme": "밝은 모드와 어두운 모드를 전환합니다.",
|
||||
"language": "WebUI에서 사용할 언어를 선택합니다.",
|
||||
"provider": "새 모델 요청에 사용할 제공자를 선택합니다.",
|
||||
"provider": "새 모델 요청을 처리할 제공자를 선택합니다.",
|
||||
"model": "nanobot이 기본으로 사용할 모델 이름을 설정합니다.",
|
||||
"configPath": "현재 게이트웨이가 사용하는 설정 파일입니다.",
|
||||
"selectedPreset": "Named presets are read-only here; edit them in config.json.",
|
||||
"presetModel": "Switch to Default to edit model and provider from the WebUI.",
|
||||
"density": "Stored only in this browser.",
|
||||
"activityMode": "Choose how much agent activity chrome to show by default.",
|
||||
"codeWrap": "Keep long code lines readable on smaller screens.",
|
||||
"maxResults": "Results returned by each web_search call.",
|
||||
"timeout": "Seconds before a search provider request times out.",
|
||||
"jinaReader": "Use Jina Reader for web_fetch when available.",
|
||||
"imageGeneration": "구성된 이미지 제공자를 사용할 수 있을 때 채팅에서 generate_image를 노출합니다.",
|
||||
"imageProvider": "generate_image가 사용할 레지스트리 제공자를 선택합니다.",
|
||||
"imageProviderStatus": "이미지 생성은 Providers의 제공자 자격 증명을 재사용합니다.",
|
||||
"selectedPreset": "이름 있는 프리셋은 여기서 읽기 전용입니다. config.json에서 편집하세요.",
|
||||
"presetModel": "Default로 전환하면 WebUI에서 모델과 제공자를 편집할 수 있습니다.",
|
||||
"density": "이 브라우저에만 저장됩니다.",
|
||||
"activityMode": "기본으로 표시할 agent 활동 세부 수준을 선택합니다.",
|
||||
"codeWrap": "작은 화면에서도 긴 코드 줄을 읽기 쉽게 유지합니다.",
|
||||
"maxResults": "각 web_search 호출에서 반환되는 결과 수입니다.",
|
||||
"timeout": "검색 제공자 요청이 타임아웃되기 전의 초입니다.",
|
||||
"jinaReader": "가능할 때 web_fetch에 Jina Reader를 사용합니다.",
|
||||
"imageGeneration": "구성된 이미지 제공자가 있을 때 채팅에서 generate_image를 노출합니다.",
|
||||
"imageProvider": "generate_image에 사용할 등록 제공자를 선택합니다.",
|
||||
"imageProviderStatus": "이미지 생성은 제공자 자격 증명을 재사용합니다.",
|
||||
"imageModel": "선택한 이미지 제공자에 보낼 모델 이름입니다.",
|
||||
"defaultAspectRatio": "프롬프트에서 가로세로 비율을 선택하지 않았을 때 사용됩니다.",
|
||||
"defaultImageSize": "지원하는 제공자에게 보내는 크기 힌트입니다.",
|
||||
"maxImagesPerTurn": "한 번의 generate_image 요청에 대한 상한입니다.",
|
||||
"botName": "nanobot이 표시 이름을 쓰는 곳에 표시됩니다.",
|
||||
"defaultAspectRatio": "프롬프트가 비율을 선택하지 않을 때 사용됩니다.",
|
||||
"defaultImageSize": "지원하는 제공자에 보낼 크기 힌트입니다.",
|
||||
"maxImagesPerTurn": "한 번의 generate_image 요청에서 생성할 수 있는 이미지 상한입니다.",
|
||||
"botName": "nanobot이 표시 이름을 사용하는 곳에 표시됩니다.",
|
||||
"botIcon": "Bot 이름 옆에 표시할 짧은 emoji 또는 텍스트입니다.",
|
||||
"timezone": "예약과 시간 인식 답변에 사용됩니다.",
|
||||
"localServiceAccess": "Allow Full Access shell commands to reach localhost services.",
|
||||
"webuiDefaultAccess": "Used by web chats without a project-specific permission.",
|
||||
"securityManagedControls": "Web fetches always protect local, private, and metadata services. Core channel safety stays in config.json.",
|
||||
"currentModel": "nanobot이 새 답변에 사용할 모델 구성을 선택합니다.",
|
||||
"selectedModelProvider": "선택한 모델에서 설정됩니다.",
|
||||
"selectedModelValue": "선택한 모델에서 설정됩니다.",
|
||||
"brandLogos": "로고는 브랜드 도메인에서 불러오며, 실패하면 로컬 아이콘을 사용합니다.",
|
||||
"cliAppsCatalog": "nanobot이 로컬에서 실행할 수 있는 앱 CLI를 살펴봅니다.",
|
||||
"timezone": "일정과 시간 인식 답변에 사용됩니다.",
|
||||
"localServiceAccess": "Full Access shell 명령이 localhost 서비스에 접근할 수 있게 합니다.",
|
||||
"webuiDefaultAccess": "프로젝트별 권한이 없는 Web 채팅에 사용됩니다.",
|
||||
"securityManagedControls": "웹 가져오기는 항상 로컬, 사설, 메타데이터 서비스를 보호합니다. 핵심 채널 보안은 config.json에서 관리됩니다.",
|
||||
"currentModel": "새 응답에 사용됩니다.",
|
||||
"selectedModelProvider": "선택한 모델에 의해 설정됩니다.",
|
||||
"selectedModelValue": "선택한 모델에 의해 설정됩니다.",
|
||||
"brandLogos": "설정에서 타사 제공자와 CLI 로고를 표시합니다.",
|
||||
"cliAppsCatalog": "nanobot이 로컬에서 실행할 수 있는 앱 CLI 어댑터만 설치합니다. 네이티브 앱은 변경하지 않습니다.",
|
||||
"cliAppsFilter": "앱, 카테고리 또는 기능으로 검색합니다.",
|
||||
"logs": "App 엔진 로그 폴더를 엽니다.",
|
||||
"logs": "네이티브 엔진 로그 폴더를 엽니다.",
|
||||
"diagnostics": "지원용 작은 런타임 보고서를 내보냅니다.",
|
||||
"localServiceAccessNative": "Allow Full Access shell commands to reach services on this Mac.",
|
||||
"webuiDefaultAccessNative": "Used by native chats without a project-specific permission.",
|
||||
"contextWindow": "Choose the default context budget for this model configuration."
|
||||
"localServiceAccessNative": "Full Access shell 명령이 이 Mac의 서비스에 접근할 수 있게 합니다.",
|
||||
"webuiDefaultAccessNative": "프로젝트별 권한이 없는 네이티브 채팅에 사용됩니다.",
|
||||
"contextWindow": "이 모델 구성의 기본 컨텍스트 예산을 선택합니다."
|
||||
},
|
||||
"values": {
|
||||
"light": "라이트",
|
||||
"dark": "다크",
|
||||
"notAvailable": "사용할 수 없음",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"restartPending": "재시작 대기 중",
|
||||
"notAvailable": "사용 불가",
|
||||
"enabled": "활성화됨",
|
||||
"disabled": "비활성화됨",
|
||||
"restartPending": "재시작 대기",
|
||||
"ready": "준비됨",
|
||||
"comfortable": "Comfortable",
|
||||
"compact": "Compact",
|
||||
"auto": "Auto",
|
||||
"expanded": "Expanded",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"defaultPermission": "Default Permission",
|
||||
"fullAccess": "Full Access",
|
||||
"configured": "Configured",
|
||||
"notConfigured": "Not configured",
|
||||
"comfortable": "편안함",
|
||||
"compact": "컴팩트",
|
||||
"auto": "자동",
|
||||
"expanded": "펼침",
|
||||
"on": "켜짐",
|
||||
"off": "꺼짐",
|
||||
"defaultPermission": "기본 권한",
|
||||
"fullAccess": "전체 접근",
|
||||
"configured": "구성됨",
|
||||
"notConfigured": "미구성",
|
||||
"pending": "대기 중",
|
||||
"restartingEngine": "다시 시작 중"
|
||||
"restartingEngine": "재시작 중"
|
||||
},
|
||||
"status": {
|
||||
"loading": "설정을 불러오는 중...",
|
||||
"loadError": "설정을 불러올 수 없습니다",
|
||||
"unsaved": "저장되지 않은 변경 사항이 있습니다.",
|
||||
"upToDate": "최신 상태입니다.",
|
||||
"savedRestart": "저장되었습니다. 적용하려면 nanobot을 재시작하세요.",
|
||||
"savedRestart": "저장했습니다. 적용하려면 nanobot을 재시작하세요.",
|
||||
"restartAfterSaving": "변경 사항을 저장한 뒤 준비되면 재시작하세요.",
|
||||
"savedRestartApply": "저장되었습니다. 준비되면 재시작하세요.",
|
||||
"imageProviderRestart": "이미지 제공자 변경 사항이 저장되었습니다. 준비되면 재시작하세요.",
|
||||
"hostRestartAfterSaving": "저장하면 nanobot이 엔진을 다시 시작합니다.",
|
||||
"hostRestartPending": "저장되었습니다. 준비되면 엔진을 다시 시작합니다.",
|
||||
"hostApiUnavailable": "Host actions are only available inside the native app.",
|
||||
"logsOpened": "Opened logs folder.",
|
||||
"logsOpenFailed": "Could not open logs folder.",
|
||||
"diagnosticsExported": "Diagnostics exported to {{path}}.",
|
||||
"diagnosticsExportFailed": "Could not export diagnostics."
|
||||
"savedRestartApply": "저장했습니다. 준비되면 재시작하세요.",
|
||||
"imageProviderRestart": "이미지 제공자 변경 사항을 저장했습니다. 준비되면 재시작하세요.",
|
||||
"hostRestartAfterSaving": "저장하면 nanobot이 엔진을 재시작합니다.",
|
||||
"hostRestartPending": "저장했습니다. 준비되면 엔진을 재시작합니다.",
|
||||
"hostApiUnavailable": "호스트 작업은 네이티브 앱 안에서만 사용할 수 있습니다.",
|
||||
"logsOpened": "로그 폴더를 열었습니다.",
|
||||
"logsOpenFailed": "로그 폴더를 열 수 없습니다.",
|
||||
"diagnosticsExported": "진단을 {{path}}에 내보냈습니다.",
|
||||
"diagnosticsExportFailed": "진단을 내보낼 수 없습니다."
|
||||
},
|
||||
"actions": {
|
||||
"save": "저장",
|
||||
@@ -224,8 +224,8 @@
|
||||
"cancel": "취소",
|
||||
"open": "열기",
|
||||
"export": "내보내기",
|
||||
"opening": "Opening...",
|
||||
"exporting": "Exporting..."
|
||||
"opening": "여는 중...",
|
||||
"exporting": "내보내는 중..."
|
||||
},
|
||||
"byok": {
|
||||
"description": "직접 provider 키를 가져옵니다. Nanobot은 현재 config에서 값을 읽고, 설정된 provider만 일반 설정에서 선택할 수 있습니다.",
|
||||
@@ -250,7 +250,7 @@
|
||||
"tabs": {
|
||||
"ariaLabel": "BYOK 자격 증명 유형",
|
||||
"llm": "LLM",
|
||||
"webSearch": "Web Search"
|
||||
"webSearch": "웹 검색"
|
||||
},
|
||||
"webSearch": {
|
||||
"provider": "검색 provider",
|
||||
@@ -270,17 +270,17 @@
|
||||
}
|
||||
},
|
||||
"overview": {
|
||||
"model": "Current model",
|
||||
"providers": "Providers",
|
||||
"configuredCount": "{{count}} configured",
|
||||
"totalProviders": "{{count}} available",
|
||||
"webSearch": "Web search",
|
||||
"model": "현재 모델",
|
||||
"providers": "제공자",
|
||||
"configuredCount": "{{count}}개 구성됨",
|
||||
"totalProviders": "{{count}}개 사용 가능",
|
||||
"webSearch": "웹 검색",
|
||||
"imageGeneration": "이미지 생성",
|
||||
"workspace": "Workspace"
|
||||
"workspace": "작업공간"
|
||||
},
|
||||
"providers": {
|
||||
"searchPlaceholder": "Search providers",
|
||||
"noMatches": "No providers match this search.",
|
||||
"searchPlaceholder": "제공자 검색",
|
||||
"noMatches": "일치하는 제공자가 없습니다.",
|
||||
"saveProvider": "제공자 저장"
|
||||
},
|
||||
"image": {
|
||||
@@ -294,15 +294,15 @@
|
||||
"selectModel": "모델 선택",
|
||||
"addConfiguration": "구성 추가",
|
||||
"newConfiguration": "새 모델 구성",
|
||||
"newConfigurationHelp": "제공자와 모델을 한 번에 선택할 수 있는 옵션으로 저장합니다.",
|
||||
"newConfigurationHelp": "제공자와 모델을 원클릭 옵션으로 저장합니다.",
|
||||
"configurationName": "구성 이름",
|
||||
"configurationNameHelp": "저장된 모델 구성의 이름을 변경합니다.",
|
||||
"configurationNamePlaceholder": "빠른 글쓰기",
|
||||
"searchModels": "검색하거나 모델 ID 입력",
|
||||
"configurationNamePlaceholder": "빠른 작성",
|
||||
"searchModels": "모델 ID 검색 또는 입력",
|
||||
"useCustomModel": "사용",
|
||||
"loadingModels": "모델을 불러오는 중...",
|
||||
"searchCatalog": "제공자 카탈로그를 검색해 모델을 선택하세요.",
|
||||
"modelsAvailable": "개 사용 가능",
|
||||
"loadingModels": "모델 불러오는 중...",
|
||||
"searchCatalog": "제공자 카탈로그에서 모델을 선택합니다.",
|
||||
"modelsAvailable": "사용 가능",
|
||||
"noModelResults": "일치하는 모델이 없습니다.",
|
||||
"loadFailed": "모델 목록을 사용할 수 없습니다.",
|
||||
"unsupportedModelList": "모델 ID를 직접 입력하세요.",
|
||||
@@ -402,31 +402,31 @@
|
||||
"thirdPartyBrands": "제품 이름, 로고 및 브랜드는 각 소유자의 자산입니다. 사용은 식별 목적일 뿐 보증이나 제휴를 의미하지 않습니다."
|
||||
},
|
||||
"apps": {
|
||||
"description": "채팅에서 nanobot이 사용할 수 있는 앱 CLI와 MCP 서비스를 추가합니다.",
|
||||
"description": "nanobot이 채팅에서 사용할 수 있는 App CLI와 MCP 서비스를 추가합니다.",
|
||||
"cliLabel": "CLI",
|
||||
"mcpLabel": "MCP",
|
||||
"filterAll": "전체",
|
||||
"filterCli": "CLI 앱",
|
||||
"filterMcp": "MCP 서비스",
|
||||
"enabledSummary": "{{count}}개 활성화됨",
|
||||
"caption": "{{cli}} CLI · {{mcp}} MCP",
|
||||
"caption": "CLI {{cli}}개 · MCP {{mcp}}개",
|
||||
"searchPlaceholder": "앱 검색",
|
||||
"featured": "추천",
|
||||
"loading": "앱 불러오는 중...",
|
||||
"empty": "이 필터와 일치하는 앱이 없습니다."
|
||||
"loading": "앱을 불러오는 중...",
|
||||
"empty": "일치하는 앱이 없습니다."
|
||||
},
|
||||
"oauth": {
|
||||
"authentication": "OAuth authentication",
|
||||
"signIn": "Sign in",
|
||||
"signingIn": "Signing in...",
|
||||
"signInAgain": "Sign in again",
|
||||
"signOut": "Sign out",
|
||||
"signedInAs": "Signed in as {{account}}",
|
||||
"signInHelp": "Sign in from this device; no API key is stored in config.",
|
||||
"signInRequired": "Sign in required",
|
||||
"signInBeforeSaving": "Sign in before saving this OAuth provider as the active model provider.",
|
||||
"signedIn": "Signed in",
|
||||
"notSignedIn": "Not signed in"
|
||||
"authentication": "OAuth 인증",
|
||||
"signIn": "로그인",
|
||||
"signingIn": "로그인 중...",
|
||||
"signInAgain": "다시 로그인",
|
||||
"signOut": "로그아웃",
|
||||
"signedInAs": "{{account}}로 로그인됨",
|
||||
"signInHelp": "이 기기에서 로그인합니다. API key는 config에 저장되지 않습니다.",
|
||||
"signInRequired": "로그인이 필요합니다",
|
||||
"signInBeforeSaving": "이 OAuth 제공자를 활성 모델 제공자로 저장하기 전에 로그인하세요.",
|
||||
"signedIn": "로그인됨",
|
||||
"notSignedIn": "로그인 안 됨"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
|
||||
Reference in New Issue
Block a user