Align i18n locale coverage (#878)

This commit is contained in:
ekko
2026-05-20 17:13:32 +08:00
committed by GitHub
parent 6578873d9e
commit cd77e5ba2e
8 changed files with 1843 additions and 537 deletions
+299 -87
View File
@@ -63,6 +63,9 @@ export default {
confirm: '확인',
expand: '펼치기',
collapse: '접기',
stop: '중지',
start: '시작',
expired: '만료됨',
},
// 사이드바
@@ -105,6 +108,12 @@ export default {
nodeVersionWarning: 'Node.js v{version}이 감지되었습니다. 버전 23 이상으로 업그레이드하세요.',
changelog: '변경 이력',
noChangelog: '변경 이력이 없습니다',
kanban: '칸반',
groupTools: '도구',
groupPlatform: '플랫폼',
gateways: '게이트웨이',
expand: '메뉴 펼치기',
collapse: '메뉴 접기',
},
// 서랍
@@ -210,7 +219,7 @@ export default {
arguments: '인수',
result: '결과',
truncated: '... (잘림)',
executionDuration: 'Execution time', thinkingLabel: '사고 과정',
executionDuration: '실행 시간', thinkingLabel: '사고 과정',
thinkingInProgress: '사고 중…',
thinkingShow: '사고 과정 펼치기',
thinkingHide: '사고 과정 접기',
@@ -224,6 +233,32 @@ export default {
resumeSpeech: '재개',
stopSpeech: '중지',
speechNotSupported: '이 브라우저는 음성 재생을 지원하지 않습니다',
searchEnterHint: 'Enter로 열기 · Esc로 닫기',
searchHint: 'Cmd/Ctrl+K',
searchScope: '검색 범위: Web UI 로컬 세션 DB만 포함하며 읽기 전용 Hermes 기록 세션은 포함하지 않습니다.',
searchFailed: '세션 검색 실패',
searchNoSnippet: '표시할 요약이 없습니다',
searchNoResults: '일치하는 세션이 없습니다',
searchRecent: '최근 세션',
searchEmpty: '최근 세션',
searchPlaceholder: '세션 검색...',
searchSubtitle: '제목 또는 메시지 내용으로 검색',
searchTitle: '세션 검색',
stopGateway: 'Gateway 중지',
start: '시작',
workspaceSetFailed: 'Workspace 설정 실패',
workspaceSet: 'Workspace가 설정되었습니다',
workspacePlaceholder: '프로젝트 경로 입력, 예: /home/user/project',
workspace: '작업 공간',
setWorkspaceTitle: '세션 Workspace 설정',
setWorkspace: 'Workspace 설정',
modelSetFailed: '모델 설정 실패',
modelSet: '모델이 설정되었습니다',
setModelTitle: '세션 모델 설정',
setModel: '모델 설정',
newCliChat: '새 CLI',
cliEmptyState: 'CLI 채팅 시작',
autoPlaySpeech: '음성 자동 재생',
},
// 예약 작업
@@ -251,7 +286,7 @@ export default {
origin: '출처',
local: '로컬',
repeatCount: '반복 횟수 (선택)',
modelPlaceholder: 'Default model',
modelPlaceholder: '기본 모델',
repeatPlaceholder: '비워두면 무한 반복',
jobCreated: '작업이 생성되었습니다',
jobUpdated: '작업이 업데이트되었습니다',
@@ -261,7 +296,7 @@ export default {
jobPaused: '작업이 일시 정지되었습니다',
jobResumed: '작업이 재개되었습니다',
jobTriggered: '작업이 실행되었습니다',
modelUpdated: 'Model updated',
modelUpdated: '모델이 업데이트되었습니다',
jobDeleted: '작업이 삭제되었습니다',
status: {
running: '실행 중',
@@ -270,8 +305,8 @@ export default {
scheduled: '예약됨',
},
info: {
model: 'Model',
schedule: 'Schedule',
model: '모델',
schedule: '일정',
lastRun: '마지막 실행',
nextRun: '다음 실행',
deliver: '전송',
@@ -377,9 +412,9 @@ export default {
env: '{count} env',
},
metadata: {
agentRoot: 'Agent root',
agentRoot: '에이전트 루트',
python: 'Python',
scanCwd: 'Scan cwd',
scanCwd: 'cwd 스캔',
projectPlugins: '프로젝트 플러그인',
},
},
@@ -465,7 +500,7 @@ export default {
defaultShort: '기본값',
builtIn: '내장',
customType: '사용자 지정',
provider: 'Provider',
provider: '공급자',
contextLength: '컨텍스트 길이',
contextLengthPlaceholder: '예: 200000 (선택사항)',
local: '로컬 ({host})',
@@ -477,6 +512,35 @@ export default {
unexpectedFormat: '예상치 못한 응답 형식입니다',
foundModels: '{count}개의 모델을 찾았습니다',
fetchFailed: '모델을 가져오지 못했습니다',
xaiWaiting: '열린 xAI 페이지에서 인증을 완료하세요. 승인되면 창이 자동으로 닫힙니다.',
xaiOpenLink: 'xAI 인증 페이지 열기',
xaiLoginTitle: 'xAI Grok OAuth 로그인',
xaiExpired: '인증 링크가 만료되었습니다. 다시 시도하세요.',
xaiCopyLink: '인증 링크 복사',
xaiApproved: '로그인 성공!',
visibilitySelectOne: '최소 하나의 표시 모델을 유지하세요',
visibilitySaved: '표시 모델이 저장되었습니다',
visibilitySaveFailed: '표시 모델 저장 실패',
visibilityHint: 'Web UI의 모델 선택기와 모델 페이지 표시에만 영향을 줍니다. Hermes CLI의 provider/model 설정은 변경되지 않으며 실제 호출은 원본 모델 ID를 사용합니다.',
showAllModels: '모든 모델 표시',
searchPlaceholder: '모델 검색...',
removeCustomModel: '목록에 없는 이 모델 제거',
more: '개 더',
models: '모델 목록',
manageVisibleModelsFor: '{name} 표시 모델 관리',
manageVisibleModels: '표시 모델 관리',
getApiKey: 'API Key 가져오기',
count: '개 모델',
aliasUseOriginal: '원본 ID로 복원',
aliasTitleFor: '{model}의 표시 이름',
aliasTitle: '모델 표시 이름',
aliasSaveFailed: '표시 이름 저장 실패',
aliasPlaceholder: '비워두면 원본 모델 ID 사용',
aliasManageFor: '{provider}의 표시 이름',
aliasManage: '표시 이름',
aliasHint: 'Web UI 표시 이름만 변경합니다. Hermes에는 여전히 원본 모델 ID가 전달됩니다.',
aliasEdit: '이름 변경',
aliasCanonical: '원본 ID: {model}',
},
// 프로필
@@ -522,25 +586,42 @@ export default {
model: '모델',
gateway: '게이트웨이',
alias: '별칭',
provider: 'Provider',
provider: '공급자',
path: '경로',
skills: '스킬',
hasEnv: '.env 있음',
hasSoulMd: 'soul.md 있음',
noProfiles: '프로필이 없습니다. 새로 만들어 시작하세요.',
avatar: {
title: 'Custom Avatar',
customize: 'Avatar',
upload: 'Upload Image',
random: 'Randomize',
reset: 'Use Default',
hint: 'PNG, JPEG, or WebP. Max 1MB.',
invalidType: 'Please choose a PNG, JPEG, or WebP image',
tooLarge: 'Avatar image must be 1MB or smaller',
saveSuccess: 'Avatar saved',
saveFailed: 'Failed to save avatar',
resetSuccess: 'Default avatar restored',
resetFailed: 'Failed to restore default avatar',
title: '사용자 지정 아바타',
customize: '아바타',
upload: '이미지 업로드',
random: '무작위 생성',
reset: '기본값 복원',
hint: 'PNG, JPEG, WebP 지원, 최대 1MB',
invalidType: 'PNG, JPEG 또는 WebP 이미지를 선택하세요',
tooLarge: '아바타 이미지는 1MB를 초과할 수 없습니다',
saveSuccess: '아바타가 저장되었습니다',
saveFailed: '아바타 저장 실패',
resetSuccess: '기본 아바타로 복원되었습니다',
resetFailed: '기본 아바타 복원 실패',
},
runtime: {
activeProfile: '현재: {name}',
bridgeWorker: 'Bridge 상태',
gateway: '게이트웨이',
active: '활성',
activeTag: '현재',
idle: '대기 중',
running: '실행 중',
stopped: '중지됨',
restartGateway: 'Gateway 재시작',
restartProfile: '프로필 재시작',
switchProfile: '프로필 전환',
gatewayRestarted: 'Gateway가 재시작되었습니다: {name}',
gatewayRestartFailed: 'Gateway 재시작 실패',
profileRestarted: '프로필이 재시작되었습니다: {name}',
profileRestartFailed: '프로필 재시작 실패',
},
},
@@ -749,6 +830,14 @@ export default {
unlocked: 'IP 잠금 해제됨',
allUnlocked: '{count}개 IP 잠금 해제됨',
},
models: {
apiKey: 'API Key',
apiKeyPlaceholder: 'API Key 입력',
noProviders: '구성된 공급자가 없습니다',
save: '저장',
saveFailed: '저장 실패',
saved: '저장됨',
},
},
// 플랫폼 채널 설정
@@ -784,7 +873,7 @@ export default {
botToken: 'Bot Token',
botTokenHint: '개발자 포털에서 발급받은 Bot Token',
accessToken: 'Access Token',
accessTokenHint: 'Matrix Access Token',
accessTokenHint: 'Matrix 액세스 토큰',
homeserver: 'Homeserver URL',
homeserverHint: 'Matrix 홈서버 URL',
appId: 'App ID',
@@ -809,6 +898,19 @@ export default {
qrFetching: 'QR 코드를 가져오는 중...',
qrScanHint: 'WeChat으로 QR 코드를 스캔하여 로그인',
qrScanedHint: '스캔됨, 휴대폰에서 확인해 주세요...',
qqSandboxHint: '샌드박스 환경 활성화(테스트용)',
qqSandbox: '샌드박스 모드',
qqQrScanHint: 'QQ로 위 QR 코드를 스캔하거나 휴대폰에서 링크를 열어 바인딩을 완료하세요',
qqMarkdownHint: 'Markdown 형식 메시지 활성화(일부 클라이언트는 지원하지 않을 수 있음)',
qqMarkdown: 'Markdown 지원',
qqAppSecretHint: 'QQ Open Platform Bot App Secret',
qqAppSecret: 'App Secret',
qqAppIdHint: 'QQ Open Platform Bot App ID',
qqAppId: 'App ID',
allowedUsersHint: '사용자 ID 또는 OpenID 허용 목록, 쉼표로 구분',
allowedUsers: '허용 사용자',
allowAllUsersHint: '모든 사용자의 메시지를 허용합니다. 끄면 허용 목록을 사용합니다',
allowAllUsers: '모든 사용자 허용',
},
// 언어
@@ -826,6 +928,10 @@ export default {
closeSession: '이 세션을 닫으시겠습니까?',
sessionExited: '종료됨',
processExited: '프로세스가 종료되었습니다 (코드 {code})',
noSessions: '터미널 세션이 없습니다',
connectionFailed: '터미널에 연결하지 못했습니다',
connectionError: '연결 오류',
connectionClosed: '연결이 닫혔습니다',
},
// 사용량
@@ -902,64 +1008,64 @@ export default {
new_0_5_17_24: '기록 페이지에 Cron 세션 기록 표시',
new_0_5_17_25: '접힌 사이드바에서 언어 전환 및 테마 아이콘이 눌리는 문제 수정',
new_0_5_18_1: 'Add Skills Usage monitoring page with daily trend chart and top skills statistics',
new_0_5_18_2: 'Add CLI chat session bridge with Python agent bridge for WebSocket-based sessions',
new_0_5_18_3: 'Add Ollama Cloud provider preset with dynamic model catalog',
new_0_5_18_4: 'Support model display name renaming (aliases)',
new_0_5_18_5: 'Support model visibility management in Web UI',
new_0_5_18_6: 'Enhance usage analytics dashboard',
new_0_5_18_7: 'Docker single-container deployment with docker-compose and gateway startup fixes',
new_0_5_18_8: 'Fix plugins page HERMES_HOME fallback warning for non-default profiles',
new_0_5_18_9: 'Fix gateway stability across dev restarts and improve Windows compatibility',
new_0_5_22_1: 'Fix Hermes session list API reading the Web UI local session store instead of the Hermes profile database',
new_0_5_23_1: 'Add bridge-only chat slash commands with localized command suggestions',
new_0_5_23_2: 'Persist command history for session replay without polluting model context, usage, or compression',
new_0_5_23_3: 'Isolate gateway profile environment variables to prevent credentials leaking across profiles',
new_0_5_23_4: 'Reserve the Web UI port during gateway allocation to avoid startup conflicts',
new_0_5_23_5: 'Fix self-update restart handling so successful helper exits are not reported as failures',
new_0_5_24_1: 'Align Bridge chat with API Server handling for multimodal input, system prompt, and workspace context',
new_0_5_25_1: 'Add group chat room reset and clone actions',
new_0_5_25_2: 'Make the Web UI state directory configurable for custom deployment layouts',
new_0_5_25_3: 'Add MiMo as a TTS provider in voice settings',
new_0_5_25_4: 'Fetch custom provider model lists through the backend to avoid browser CORS failures',
new_0_5_25_5: 'Fix tool approval flow for bridge sessions',
new_0_5_25_6: 'Remove the forced CLI platform hint from bridge prompts so custom media/file instructions are preserved',
new_0_5_25_7: 'Show base64 image content correctly in user message history',
new_0_5_25_8: 'Add Playwright browser tests, chat streaming contract coverage, provider model coverage, and coverage baseline',
new_0_5_26_1: 'Support Windows and local Markdown media paths in chat history and rendered messages',
new_0_5_26_2: 'Filter empty assistant history and clear stale compression status when a new run starts',
new_0_5_26_3: 'Add locked file writes for config and profile updates to reduce concurrent write corruption',
new_0_5_26_4: 'Add QQBot and DingTalk channel settings',
new_0_5_26_5: 'Make CLI port detection portable and improve mobile terminal drawer sizing',
new_0_5_26_6: 'Isolate Bridge profile environments and fix Hermes plugin discovery across Python environments',
new_0_5_26_7: 'Explain stopped gateway states with Web UI diagnostics and keep log loading state stable',
new_0_5_26_8: 'Fix session reset mode options, custom provider base URL handling, and dynamic deliver targets',
new_0_5_26_9: 'Add a local tool-call trace visibility toggle in the chat input bar',
new_0_5_26_10: 'Support Hermes Agent package installs when no source checkout is available',
new_0_5_26_11: 'Add xAI Grok OAuth login for SuperGrok subscription users and update Grok model presets',
new_0_5_26_12: 'Expand browser, chat streaming, provider, gateway, config, plugin, and Bridge test coverage',
new_0_5_27_1: 'Add session-level model settings for Bridge chats, with independent provider and model saved per session',
new_0_5_27_2: 'Right-click a Bridge session and choose Set Model to switch the model for that session',
new_0_5_27_3: 'Runs now validate the session model and fall back to the current default model when the saved model is unavailable',
new_0_5_27_4: 'Context compression now follows the current Profile default selected model by default',
new_0_5_30_1: 'Bridge chat now preserves structured history, fixing intermittent no-response and skipped tool execution caused by text-flattened tool history',
new_0_5_30_2: 'Group chat mention routing is more reliable for multiple agents, removes each agents own mention before delivery, and keeps user display names bound after refresh',
new_0_5_30_3: 'Model pages, chat model dropdowns, and session model selection now scope providers and models to the active Profile with accurate default markers',
new_0_5_30_4: 'Gateway management is simplified: the standalone Gateway page is removed, each Profile is checked for platform configuration before starting the needed gateway, and a lightweight gateway runner handles starts and restarts',
new_0_5_30_5: 'Improve Gateway startup across Docker, Termux, and Windows with runtime-lock handling, port-conflict cleanup, background execution, and restart support',
new_0_5_30_6: 'Harden Windows compatibility for path detection, file downloads, and job/update subprocesses so they no longer flash terminal windows',
new_0_5_30_7: 'Fix config writes and provider presets: validate .env keys, route FUN-Codex through the Responses API, and refresh Z.AI/GLM model lists',
new_0_5_30_8: 'Polish frontend details including collapsed sidebar layout, short group labels, sidebar divider, and conversation outline styling',
new_0_5_30_9: 'Context compression now follows Profile compression settings and hardens stale snapshots by reusing previous summaries with a safe tail instead of recompressing full history',
new_0_5_31_1: "Harden Bridge broker restarts, fix final group-chat stream rendering, and add {'@'}all routing for group chat",
new_0_5_31_2: 'File manager can copy absolute paths, and the mobile session drawer overlay no longer falls behind chat content',
new_0_5_31_3: 'Profile selector now shows avatars, custom avatar uploads, runtime status modal, and gateway/profile restart actions',
new_0_5_31_4: 'Profile avatars now appear in single chat, group chat, and collapsed sidebar, with Web UI profile metadata storage and Windows-safe paths',
new_0_5_31_5: 'Improve Docker, Termux, and Windows gateway detection and restart checks by using gateway_state/gateway.pid for managed gateway liveness',
new_0_5_31_6: 'Add APIKEY.FUN image-generation media endpoint and bundled apikey-image-gen skill for text-to-image, image-to-image, and image editing via the active Profile fun-codex provider',
new_0_4_8_2: 'Fix nested markdown fence rendering truncation',
new_0_4_8_3: 'Fix compressed session lineage projection and search',
new_0_4_8_4: 'Optimize session list N+1 queries and fix search 500 on non-CJK input',
new_0_5_18_1: '일별 추세 차트와 상위 스킬 통계를 포함한 Skills Usage 모니터링 페이지 추가',
new_0_5_18_2: 'WebSocket 기반 세션을 위한 Python agent bridge 기반 CLI 채팅 세션 Bridge 추가',
new_0_5_18_3: '동적 모델 카탈로그가 포함된 Ollama Cloud 공급자 프리셋 추가',
new_0_5_18_4: '모델 표시 이름 변경(별칭) 지원',
new_0_5_18_5: 'Web UI에서 모델 표시 여부 관리 지원',
new_0_5_18_6: '사용량 분석 대시보드 개선',
new_0_5_18_7: 'docker-compose 기반 Docker 단일 컨테이너 배포와 gateway 시작 수정',
new_0_5_18_8: '기본값이 아닌 Profile에서 plugins 페이지 HERMES_HOME fallback 경고 수정',
new_0_5_18_9: '개발 재시작 시 gateway 안정성 수정 및 Windows 호환성 개선',
new_0_5_22_1: 'Hermes 세션 목록 API가 Web UI 로컬 세션 저장소 대신 Profile 데이터베이스를 읽도록 수정',
new_0_5_23_1: 'Bridge 전용 채팅 슬래시 명령과 지역화된 명령 제안 추가',
new_0_5_23_2: '모델 컨텍스트, 사용량, 압축을 오염시키지 않고 세션 재생용 명령 기록 저장',
new_0_5_23_3: '자격 증명이 Profile 간에 새지 않도록 gateway Profile 환경 변수 격리',
new_0_5_23_4: '시작 충돌 방지를 위해 gateway 할당 중 Web UI 포트 예약',
new_0_5_23_5: 'self-update 재시작에서 성공한 helper 종료를 실패로 보고하지 않도록 수정',
new_0_5_24_1: 'Bridge 채팅을 API Server의 멀티모달 입력, 시스템 프롬프트, workspace 컨텍스트 처리와 정렬',
new_0_5_25_1: '그룹 채팅 룸 재설정 및 복제 액션 추가',
new_0_5_25_2: '사용자 지정 배포 레이아웃을 위해 Web UI 상태 디렉터리 설정 가능',
new_0_5_25_3: '음성 설정에 MiMo TTS 공급자 추가',
new_0_5_25_4: '브라우저 CORS 실패 방지를 위해 사용자 지정 공급자 모델 목록을 백엔드에서 가져오도록 변경',
new_0_5_25_5: 'Bridge 세션의 도구 승인 흐름 수정',
new_0_5_25_6: '사용자 지정 미디어/파일 지침 보존을 위해 Bridge 프롬프트의 강제 CLI 플랫폼 힌트 제거',
new_0_5_25_7: '사용자 메시지 기록에서 base64 이미지 콘텐츠를 올바르게 표시',
new_0_5_25_8: 'Playwright 브라우저 테스트, 채팅 스트리밍 계약 커버리지, 공급자 모델 커버리지 및 커버리지 기준선 추가',
new_0_5_26_1: '채팅 기록과 렌더링된 메시지에서 Windows 및 로컬 Markdown 미디어 경로 지원',
new_0_5_26_2: '빈 assistant 기록을 필터링하고 새 실행 시작 시 오래된 압축 상태 정리',
new_0_5_26_3: '동시 쓰기 손상을 줄이기 위해 config 및 Profile 업데이트에 잠금 쓰기 추가',
new_0_5_26_4: 'QQBot DingTalk 채널 설정 추가',
new_0_5_26_5: 'CLI 포트 감지를 이식 가능하게 만들고 모바일 터미널 드로어 크기 개선',
new_0_5_26_6: 'Bridge Profile 환경 격리 및 Python 환경 간 Hermes plugin 발견 수정',
new_0_5_26_7: '중지된 gateway 상태를 Web UI 진단으로 설명하고 로그 로딩 상태 안정화',
new_0_5_26_8: '세션 재설정 모드 옵션, 사용자 지정 공급자 base URL 처리, 동적 전달 대상 수정',
new_0_5_26_9: '채팅 입력 바에 로컬 도구 호출 추적 표시 토글 추가',
new_0_5_26_10: '소스 checkout이 없을 때 Hermes Agent 패키지 설치 지원',
new_0_5_26_11: 'SuperGrok 구독자를 위한 xAI Grok OAuth 로그인 추가 및 Grok 모델 프리셋 업데이트',
new_0_5_26_12: '브라우저, 채팅 스트리밍, 공급자, gateway, config, plugin, Bridge 테스트 커버리지 확장',
new_0_5_27_1: 'Bridge 채팅에 세션별 모델 설정 추가, 각 세션에서 provider model 독립 저장',
new_0_5_27_2: 'Bridge 세션을 우클릭하고 모델 설정을 선택해 해당 세션의 모델 전환',
new_0_5_27_3: '실행 시 세션 모델을 검증하고 저장된 모델을 사용할 수 없으면 현재 기본 모델로 fallback',
new_0_5_27_4: '컨텍스트 압축은 기본적으로 현재 Profile의 기본 선택 모델을 따름',
new_0_5_30_1: 'Bridge 채팅이 구조화된 기록을 보존하여 평탄화된 도구 기록으로 인한 간헐적 무응답과 도구 실행 누락 수정',
new_0_5_30_2: '여러 agent의 그룹 채팅 mention 라우팅을 개선하고 전달 전 각 agent 자신의 @ mention 제거 및 새로고침 후 표시 이름 유지',
new_0_5_30_3: '모델 페이지, 채팅 모델 드롭다운, 세션 모델 선택을 active Profile 범위로 제한하고 기본 표시 정확도 개선',
new_0_5_30_4: 'Gateway 관리 단순화: 독립 Gateway 페이지 제거, 각 Profile 플랫폼 설정 확인 후 필요한 gateway 시작, 경량 runner로 시작/재시작 관리',
new_0_5_30_5: 'Docker, Termux, Windows의 gateway 시작 개선: runtime lock 처리, 포트 충돌 정리, 백그라운드 실행, 재시작 지원',
new_0_5_30_6: 'Windows 호환성 강화: 경로 감지, 파일 다운로드, job/update 하위 프로세스에서 터미널 창이 깜박이지 않음',
new_0_5_30_7: 'config 쓰기와 provider preset 수정: .env 키 검증, FUN-Codex를 Responses API로 라우팅, Z.AI/GLM 모델 목록 갱신',
new_0_5_30_8: '접힌 사이드바 레이아웃, 짧은 그룹 라벨, 사이드바 구분선, 대화 outline 스타일 등 프론트엔드 세부 개선',
new_0_5_30_9: '컨텍스트 압축이 Profile 압축 설정을 따르고, 오래된 snapshot은 전체 재압축 대신 이전 요약과 안전한 tail 재사용',
new_0_5_31_1: 'Bridge broker 재시작 안정화, 그룹 채팅 최종 스트림 렌더링 수정, 그룹 채팅 {\'@\'}all 라우팅 추가',
new_0_5_31_2: '파일 관리자가 절대 경로를 복사할 수 있고 모바일 세션 드로어가 채팅 콘텐츠 뒤로 가지 않음',
new_0_5_31_3: 'Profile 선택기에 아바타, 사용자 지정 아바타 업로드, 런타임 상태 모달, gateway/Profile 재시작 액션 추가',
new_0_5_31_4: 'Profile 아바타가 단일 채팅, 그룹 채팅, 접힌 사이드바에 표시되며 Web UI 메타데이터 저장과 Windows 안전 경로 지원',
new_0_5_31_5: 'Docker, Termux, Windows gateway 감지 및 재시작 확인을 개선하고 managed gateway liveness 판단에 gateway_state/gateway.pid 사용',
new_0_5_31_6: 'APIKEY.FUN 이미지 생성 미디어 endpoint와 내장 apikey-image-gen skill 추가, active Profile fun-codex provider로 텍스트-이미지, 이미지-이미지, 이미지 편집 지원',
new_0_4_8_2: '중첩 Markdown 코드 블록 렌더링 잘림 수정',
new_0_4_8_3: '압축 세션 계보 투영 및 검색 수정',
new_0_4_8_4: '세션 목록 N+1 쿼리를 최적화하고 비 CJK 입력 검색 500 오류 수정',
new_0_4_8_5: 'Fix forced scroll to bottom when switching back from other tabs',
new_0_4_8_6: 'Smooth session switch with loading transition overlay',
new_0_4_8_7: 'Fix login token validation using Hermes session endpoint',
@@ -978,18 +1084,23 @@ export default {
new_0_4_7_10: '내장 프로바이더 삭제 시 .env에서 base_url_env 정리',
new_0_4_7_11: '그룹 채팅 방 사이드바 배경을 세션 목록과 맞추기',
new_0_4_5_1: 'Add group chat with multi-agent rooms, mention routing, and typing status recovery',
new_0_4_5_2: 'Rewrite model-context config to use YAML with context_length setting',
new_0_4_5_3: 'Add gpt-5.5 to OpenAI Codex model list',
new_0_4_5_4: 'Replace jobs proxy with local controller and optimize model loading',
new_0_4_5_5: 'Add i18n support for custom model feature in ModelSelector',
new_0_4_5_6: 'Fix sidebar i18n missing key warnings',
new_0_4_5_7: 'Clear all localStorage on logout',
new_0_4_5_8: 'Add periodic log rotation to prevent unbounded log growth',
new_0_4_5_2: '모델 컨텍스트 설정을 context_length 옵션이 있는 YAML로 변경',
new_0_4_5_3: 'OpenAI Codex 모델 목록에 gpt-5.5 추가',
new_0_4_5_4: '작업 프록시를 로컬 컨트롤러로 교체하고 모델 로딩 최적화',
new_0_4_5_5: 'ModelSelector의 사용자 지정 모델 기능에 i18n 지원 추가',
new_0_4_5_6: '사이드바 i18n 누락 키 경고 수정',
new_0_4_5_7: '로그아웃 시 모든 localStorage 정리',
new_0_4_5_8: '로그가 무제한 증가하지 않도록 주기적 로그 로테이션 추가',
new_0_4_2_1: '토큰 사용량 추적 및 동적 컨텍스트 길이 추가',
new_0_4_2_2: '세션 검색 모달 추가',
new_0_4_2_3: 'Socket.IO 및 SQLite로 그룹 채팅 시스템 복원',
new_0_4_2_4: '채팅 페이지에 고정 세션 및 라이브 모니터 추가',
new_0_4_2_5: '내장 프로바이더 감지 및 모델 매칭 수정',
new_0_4_4_5: '특수 문자 검색 시 500 오류 발생 문제 수정',
new_0_4_4_4: 'StepFun 및 Nous Portal Provider 지원 추가',
new_0_4_4_3: '활성 채팅 세션에 실시간 상태 배지 추가',
new_0_4_4_2: '채팅 메시지 첨부 파일 다운로드 추가',
new_0_4_4_1: '다중 백엔드(local/Docker/SSH/Singularity)를 지원하는 파일 브라우저 추가',
},
// 파일
@@ -1040,6 +1151,7 @@ export default {
closeEditor: '편집기 닫기',
closePreview: '닫기',
saveFile: '저장',
fileTree: '파일 트리',
},
// 그룹 채팅
@@ -1109,4 +1221,104 @@ export default {
download: '다운로드',
downloadFile: '파일 다운로드',
},
gateways: {
title: '게이트웨이',
running: '실행 중',
stopped: '중지됨',
started: '시작됨',
startFailed: 'Gateway 시작 실패',
stopFailed: 'Gateway 중지 실패',
},
kanban: {
title: 'Kanban 보드',
createTask: '새 작업',
noTasks: '작업 없음',
allStatuses: '모든 상태',
allAssignees: '모든 담당자',
columns: {
triage: '분류 대기',
todo: '할 일',
ready: '준비됨',
running: '진행 중',
blocked: '차단됨',
done: '완료됨',
archived: '보관됨',
},
card: {
assigneeTooltip: '담당자',
priority: {
low: '낮음',
medium: '보통',
high: '높음',
},
timeAgo: {
justNow: '방금',
minutes: '{count}분 전',
hours: '{count}시간 전',
days: '{count}일 전',
},
},
board: {
create: '새 보드',
archive: '보드 보관',
archiveConfirm: '현재 보드를 보관하시겠습니까?',
archived: '보드가 보관되었습니다',
created: '보드가 생성되었습니다',
slugPlaceholder: '보드 식별자, 예: project-a',
namePlaceholder: '표시 이름 (선택)',
slugRequired: '보드 식별자는 필수입니다',
},
form: {
title: '제목',
titlePlaceholder: '작업 제목',
titleRequired: '제목은 필수입니다',
body: '설명',
bodyPlaceholder: '작업 설명 (선택)',
assignee: '담당자',
selectAssignee: '담당자 선택...',
priority: '우선순위',
selectPriority: '우선순위 선택...',
},
detail: {
status: '상태',
priority: '우선순위',
assignee: '담당자',
tenant: '테넌트',
createdAt: '생성 시간',
startedAt: '시작 시간',
completedAt: '완료 시간',
comments: '댓글',
events: '이벤트',
runs: '실행 기록',
artifacts: '산출 파일',
result: '완료 결과',
highlights: '핵심 정보',
sources: '데이터 소스',
sessions: '관련 세션',
sessionMessages: '세션 기록',
noSessions: '관련 세션을 찾을 수 없습니다.',
},
action: {
title: '작업',
assign: '할당',
assignTo: '할당 대상...',
block: '차단',
blockReason: '차단 이유',
unblock: '차단 해제',
complete: '완료',
completeSummary: '완료 요약 (선택)',
},
message: {
loadFailed: '작업 로드 실패',
taskCreated: '작업이 생성되었습니다',
taskAssigned: '작업이 할당되었습니다',
taskBlocked: '작업이 차단되었습니다',
taskUnblocked: '작업 차단이 해제되었습니다',
taskCompleted: '작업이 완료되었습니다',
},
stats: {
total: '합계',
tasks: '작업 수',
},
},
}