feat: i18n 11 languages + website update + fix #139 #140 #141

i18n:
- Add 9 new locale files (ja/ko/de/es/fr/pt/ru/vi/zh-TW)
- Add multilingual README files for all 11 languages
- Add locale helper, index, and modular translation system
- Add translation generation scripts

Website (docs/index.html):
- Replace 公益AI接口 branding with 晴辰云AI接口
- Remove OpenClaw 独立安装包 promotion block
- Update SEO meta tags (description, keywords, OG, Twitter, JSON-LD)
- Add 11-language README links to footer
- Update 元宝派 link to new URL

Bug fixes:
- fix(cron): delivery format mode:'push' → mode:'announce', remove invalid 'to' field (fixes #141)
- fix(cron): allow single-channel users to select delivery channel
- fix(cron): preserve delivery field in job state for editing
- fix(models): add 'ollama' as recognized API type, prevent overwriting native ollama config (fixes #140)
- fix(models): skip /v1 append for ollama native API baseUrl
- fix(assistant): normalize 'google-generative-ai' consistently, add ollama hints
- fix(version): use CLI path classification for source detection on Windows (fixes #139)
- fix(version): default to 'official' instead of 'chinese' when source unknown
- fix(version): reorder npm global package check based on active CLI
This commit is contained in:
晴天
2026-03-24 22:31:11 +08:00
parent f8af3bea4a
commit 985d263dc6
261 changed files with 26760 additions and 175 deletions

View File

@@ -0,0 +1,46 @@
{
"title": "정보",
"desc": "ClawPanel 버전 및 프로젝트 정보",
"subtitle": "OpenClaw 비주얼 관리 패널",
"sectionCommunity": "커뮤니티",
"sectionProjects": "관련 프로젝트",
"sectionContribute": "기여하기",
"sectionLinks": "링크",
"sectionAboutUs": "소개",
"checkingUpdate": "업데이트 확인 중...",
"official": "공식",
"chinese": "중국어판",
"notInstalled": "미설치",
"recommendedStable": "권장 안정 버전: {ver}",
"switchVersion": "버전 전환",
"installOpenclaw": "OpenClaw 설치",
"uninstall": "제거",
"installPath": "설치 경로",
"configExists": "설정 파일 있음",
"configNotFound": "설정 파일을 찾을 수 없음",
"versionLabel": "버전",
"selectVersion": "버전 선택",
"tagRecommended": "(권장 안정판)",
"noVersions": "사용 가능한 버전 없음",
"recommended": "권장",
"current": "현재",
"operationDone": "작업 완료",
"reloadApp": "앱 새로고침",
"newVersion": "새 버전",
"hotUpdate": "핫 업데이트",
"downloading": "다운로드 중...",
"downloadFailed": "다운로드 실패: ",
"retry": "재시도",
"upToDate": "최신 상태",
"checkUpdateFailed": "업데이트 확인 실패",
"joinDiscord": "Discord 참여",
"discordDesc": "국제 커뮤니티",
"communityWelcome": "OpenClaw 커뮤니티에 오신 것을 환영합니다! 문제가 있으면 언제든 피드백해 주세요. 함께 AI Agent를 더 좋게 만들어요.",
"communityWelcomeIntl": "Welcome to the OpenClaw community! Share ideas, get help, and build amazing AI agents together.",
"contributeDesc": "ClawPanel은 오픈소스 프로젝트입니다. Issue와 PR을 환영합니다!",
"submitIssue": "Issue 제출",
"submitPR": "PR 제출",
"contributeGuide": "기여 가이드",
"officialWebsite": "공식 사이트",
"openSourceRepo": "오픈소스 저장소"
}

View File

@@ -0,0 +1,44 @@
{
"title": "Agent 관리",
"desc": "OpenClaw Agent 생성 및 관리, ID·모델·워크스페이스 설정",
"addAgent": "+ 새 Agent",
"noAgents": "Agent 없음",
"loadFailed": "로드 실패",
"loadListFailed": "Agent 목록 로드 실패",
"noDesc": "설명 없음",
"default": "기본",
"backup": "백업",
"edit": "편집",
"delete": "삭제",
"labelName": "이름:",
"labelModel": "모델:",
"labelWorkspace": "워크스페이스:",
"labelBindings": "바인딩 채널:",
"notSet": "미설정",
"noBinding": "채널 미바인딩",
"addModelsFirst": "먼저 모델 설정 페이지에서 모델을 추가하세요",
"addTitle": "새 Agent",
"agentId": "Agent ID",
"agentIdPlaceholder": "예: translator (소문자, 숫자, 밑줄, 하이픈)",
"agentName": "이름",
"agentNamePlaceholder": "예: 번역 도우미",
"agentEmoji": "Emoji",
"agentEmojiPlaceholder": "예: 🌐 (선택)",
"agentModel": "모델",
"agentWorkspace": "워크스페이스 경로",
"agentWorkspacePlaceholder": "비워두면 자동 생성 (선택, 절대 경로)",
"idRequired": "Agent ID를 입력하세요",
"idInvalid": "Agent ID는 소문자, 숫자, 밑줄, 하이픈만 사용 가능합니다",
"created": "Agent 생성됨",
"createFailed": "생성 실패",
"editTitle": "Agent 편집 — {id}",
"workspaceReadonly": "생성 시 설정, 변경 불가",
"updated": "업데이트됨",
"updateFailed": "업데이트 실패",
"confirmDelete": "Agent「{id}」를 삭제하시겠습니까?\\n\\n이 Agent의 모든 데이터와 대화가 삭제됩니다.",
"deleted": "삭제됨",
"deleteFailed": "삭제 실패",
"backingUp": "Agent「{id}」 백업 중...",
"backupDone": "백업 완료: {file}",
"backupFailed": "백업 실패"
}

View File

@@ -0,0 +1,77 @@
{
"modeChat": "채팅",
"modeChatDesc": "대화만, 도구 미사용",
"modePlan": "플래닝",
"modePlanDesc": "AI 읽기 전용 분석, 도구는 조회만",
"modeExecute": "실행",
"modeExecuteDesc": "명령 실행 및 파일 변경 허용",
"modeUnlimited": "무제한",
"modeUnlimitedDesc": "위험 확인 건너뛰기, 완전 자동 실행",
"defaultName": "AI 어시스턴트",
"welcomeText": "안녕하세요! AI 어시스턴트입니다. 무엇을 도와드릴까요?",
"loading": "로딩 중...",
"settings": "설정",
"settingsTitle": "어시스턴트 설정",
"settingsSaved": "설정 저장됨",
"settingsTabApi": "API 설정",
"settingsTabTools": "도구",
"settingsTabPersona": "페르소나",
"settingsTabKnowledge": "지식 베이스",
"apiType": "API 유형",
"model": "모델",
"temperature": "온도",
"quickSelect": "빠른 선택",
"visitSite": "사이트 방문",
"notConfigured": "미설정",
"testConnTitle": "연결 테스트",
"testSuccess": "연결 성공",
"testFailed": "연결 실패",
"testing": "테스트 중...",
"testBtn": "연결 테스트",
"fetching": "가져오는 중...",
"fetchModelsTitle": "모델 목록 가져오기",
"fetchBtn": "목록 가져오기",
"noModelsFound": "사용 가능한 모델 없음",
"modelsFound": "{count}개 모델 발견",
"personaSource": "페르소나 소스",
"personaDefault": "기본",
"personaOpenClaw": "OpenClaw Agent",
"personaName": "어시스턴트 이름",
"personaPersonality": "어시스턴트 성격",
"personaSelectAgent": "Agent 선택",
"kbDesc": "사용자 정의 지식 베이스, AI 응답 시 참조됩니다",
"kbEmpty": "지식 베이스 항목 없음",
"kbSave": "저장",
"toolFilterAll": "전체",
"toolNoDesc": "설명 없음",
"toolExecuting": "실행 중...",
"toolDone": "실행 완료",
"toolDenied": "사용자가 실행 거부",
"toolExecFail": "실행 실패",
"toolRejected": "사용자가 이 작업을 거부했습니다",
"confirmRunCmd": "다음 명령을 실행합니다",
"confirmCwd": "작업 디렉토리",
"confirmWriteFile": "다음 파일에 쓰기",
"confirmAllow": "실행 허용",
"aiThinking": "생각 중...",
"aiProcessingRound": "{round}라운드 처리 중...",
"toolLoopQuestion": "AI가 {round}라운드의 도구 호출을 실행했습니다. 계속하시겠습니까?",
"toolLoopContinue": "추가 {rounds}라운드 자동 실행",
"toolLoopStop": "실행 중지",
"send": "전송",
"inputPlaceholder": "문제를 설명하거나 로그/스크린샷을 붙여넣으세요...",
"stopped": "중지됨",
"retry": "재시도",
"copyText": "텍스트 복사",
"copyMd": "Markdown 복사",
"copiedText": "텍스트 복사됨",
"copiedMd": "Markdown 복사됨",
"uploadImage": "이미지 업로드",
"newSession": "새 세션",
"deleteSession": "세션 삭제",
"noSessions": "세션 없음",
"confirmDeleteSession": "이 세션을 삭제하시겠습니까?",
"sessionList": "세션 목록",
"errConfigFirst": "먼저 설정에서 API를 설정하세요",
"errTimeout": "요청 타임아웃"
}

View File

@@ -0,0 +1,64 @@
{
"title": "채널",
"desc": "메시지 채널 관리 및 플랫폼 연결",
"addChannel": "+ 채널 추가",
"noChannels": "채널 없음",
"channelName": "채널명",
"platform": "플랫폼",
"status": "상태",
"connected": "연결됨",
"disconnected": "미연결",
"edit": "편집",
"delete": "삭제",
"enable": "활성화",
"disable": "비활성화",
"save": "저장",
"saving": "저장 중...",
"saved": "저장됨",
"saveFailed": "저장 실패",
"confirmDelete": "채널「{name}」을 삭제하시겠습니까?",
"deleted": "삭제됨",
"deleteFailed": "삭제 실패",
"loadFailed": "채널 로드 실패",
"testConnection": "연결 테스트",
"testing": "테스트 중...",
"testSuccess": "연결 성공",
"testFailed": "연결 실패",
"nameRequired": "채널명을 입력하세요",
"bindAgent": "Agent 바인딩",
"selectAgent": "Agent 선택",
"noAgentBound": "Agent 미바인딩",
"pairingTitle": "페어링",
"pairingCode": "페어링 코드",
"approve": "승인",
"approvePairing": "페어링 승인",
"approved": "승인됨",
"approveFailed": "승인 실패",
"configTitle": "채널 설정",
"guideTitle": "설정 가이드",
"step": "단계",
"pluginRequired": "플러그인 필요",
"installPlugin": "플러그인 설치",
"installing": "설치 중...",
"installSuccess": "설치 성공",
"installFailed": "설치 실패",
"restartRequired": "변경 사항을 적용하려면 Gateway 재시작이 필요합니다",
"restartGateway": "Gateway 재시작",
"advanced": "고급 설정",
"basicConfig": "기본 설정",
"qqTitle": "QQ",
"dingtalkTitle": "DingTalk",
"feishuTitle": "Feishu",
"telegramTitle": "Telegram",
"discordTitle": "Discord",
"slackTitle": "Slack",
"wechatTitle": "WeChat",
"teamsTitle": "MS Teams",
"signalTitle": "Signal",
"matrixTitle": "Matrix",
"botToken": "Bot 토큰",
"appId": "App ID",
"appSecret": "App Secret",
"webhookUrl": "Webhook URL",
"groupId": "그룹 ID"
}

View File

@@ -0,0 +1,54 @@
{
"title": "실시간 채팅",
"desc": "Agent와 실시간 대화",
"noAgent": "Agent를 찾을 수 없습니다",
"selectAgent": "Agent 선택",
"connecting": "연결 중...",
"connected": "연결됨",
"disconnected": "연결 끊김",
"reconnecting": "재연결 중...",
"send": "전송",
"sending": "전송 중...",
"inputPlaceholder": "메시지를 입력하세요...",
"noMessages": "메시지 없음",
"clearChat": "채팅 기록 삭제",
"confirmClear": "채팅 기록을 삭제하시겠습니까?",
"cleared": "채팅 기록 삭제됨",
"newSession": "새 세션",
"deleteSession": "세션 삭제",
"sessionList": "세션 목록",
"noSessions": "세션 없음",
"copyMessage": "메시지 복사",
"retryMessage": "재시도",
"connectionLost": "연결이 끊어졌습니다",
"connectionRestored": "연결이 복원되었습니다",
"wsConnecting": "WebSocket 연결 중...",
"wsConnected": "WebSocket 연결됨",
"wsDisconnected": "WebSocket 연결 끊김",
"wsError": "WebSocket 오류",
"modelSelect": "모델 선택",
"loadingModels": "모델 로딩 중...",
"modelChanged": "모델을 {model}(으)로 변경했습니다",
"sendFailed": "전송 실패",
"scrollToBottom": "맨 아래로 스크롤",
"unreadMessages": "{count}건의 읽지 않은 메시지",
"online": "온라인",
"offline": "오프라인",
"thinking": "생각 중...",
"generating": "생성 중...",
"stopped": "중지됨",
"stop": "중지",
"regenerate": "다시 생성",
"exportChat": "채팅 내보내기",
"copyCode": "코드 복사",
"agentInfo": "Agent 정보",
"sessionInfo": "세션 정보",
"createdAt": "생성일시",
"messageCount": "{count}개 메시지",
"tokenUsage": "토큰 사용량",
"sidebarOpen": "사이드바 열기",
"sidebarClose": "사이드바 닫기",
"gatewayNotRunning": "Gateway가 실행 중이 아닙니다",
"startGateway": "Gateway 시작",
"pairFirst": "먼저 디바이스 페어링을 진행하세요"
}

View File

@@ -0,0 +1,28 @@
{
"title": "시스템 진단",
"desc": "WebSocket 연결 진단 및 네트워크 디버그",
"wsStatus": "WebSocket 상태",
"wsConnect": "연결",
"wsDisconnect": "연결 끊기",
"wsReconnect": "재연결",
"wsConnected": "연결됨",
"wsDisconnected": "미연결",
"wsConnecting": "연결 중...",
"wsHandshakeOk": "핸드셰이크 성공!",
"wsHandshakeFailed": "핸드셰이크 실패",
"wsError": "WebSocket 오류",
"wsClosed": "연결 종료",
"networkLogTitle": "네트워크 요청 로그 (최근 100건)",
"noRequests": "요청 기록 없음",
"totalRequests": "총 요청",
"cacheHit": "캐시 히트",
"avgDuration": "평균 소요 시간",
"colTime": "시간",
"colCommand": "명령",
"colDuration": "소요 시간",
"colCache": "캐시",
"fixStarting": "수리 시작...",
"fixGwStarted": "Gateway 시작됨",
"fixPairSuccess": "핸드셰이크 성공! 페어링 문제가 수리되었습니다!",
"fixFailed": "수리 실패"
}

View File

@@ -0,0 +1,42 @@
{
"save": "저장",
"cancel": "취소",
"confirm": "확인",
"delete": "삭제",
"edit": "편집",
"add": "추가",
"close": "닫기",
"loading": "로딩 중...",
"retry": "재시도",
"copy": "복사",
"copied": "복사됨",
"search": "검색",
"refresh": "새로고침",
"back": "뒤로",
"submit": "제출",
"reset": "초기화",
"enabled": "활성화됨",
"disabled": "비활성화됨",
"unknown": "알 수 없음",
"none": "없음",
"yes": "예",
"no": "아니오",
"online": "온라인",
"offline": "오프라인",
"running": "실행 중",
"stopped": "중지됨",
"error": "오류",
"success": "성공",
"warning": "경고",
"info": "알림",
"loadFailed": "로드 실패",
"saveFailed": "저장 실패",
"saveSuccess": "저장 완료",
"operationFailed": "작업 실패",
"operationSuccess": "작업 성공",
"noData": "데이터 없음",
"unit": "개",
"survivalRate": "가동률",
"settings": "설정",
"update": "업데이트"
}

View File

@@ -0,0 +1,38 @@
{
"title": "통신 및 자동화",
"desc": "알림 채널 및 자동화 규칙 설정",
"notifyTitle": "알림 채널",
"automationTitle": "자동화 규칙",
"addChannel": "+ 채널 추가",
"addRule": "+ 규칙 추가",
"noChannels": "알림 채널 없음",
"noRules": "자동화 규칙 없음",
"channelType": "채널 유형",
"webhook": "Webhook",
"email": "이메일",
"channelName": "채널명",
"enabled": "활성화",
"disabled": "비활성화",
"test": "테스트 발송",
"testing": "테스트 중...",
"testSuccess": "테스트 발송 성공",
"testFailed": "테스트 발송 실패",
"save": "저장",
"saving": "저장 중...",
"saved": "저장됨",
"saveFailed": "저장 실패",
"delete": "삭제",
"confirmDelete": "{name}을 삭제하시겠습니까?",
"deleted": "삭제됨",
"deleteFailed": "삭제 실패",
"loadFailed": "로드 실패",
"trigger": "트리거",
"action": "작업",
"noAgentBound": "Agent 미바인딩",
"bindAgent": "Agent 바인딩",
"selectAgent": "Agent 선택",
"pairingTitle": "페어링 승인",
"approve": "승인",
"reject": "거부",
"approved": "승인됨"
}

View File

@@ -0,0 +1,50 @@
{
"title": "예약 작업",
"desc": "OpenClaw 정기 작업 관리",
"addTask": "+ 작업 추가",
"noTasks": "작업 없음",
"taskName": "작업명",
"schedule": "스케줄",
"lastRun": "마지막 실행",
"nextRun": "다음 실행",
"status": "상태",
"active": "활성",
"inactive": "비활성",
"edit": "편집",
"delete": "삭제",
"enable": "활성화",
"disable": "비활성화",
"runNow": "지금 실행",
"running": "실행 중...",
"addTitle": "작업 추가",
"editTitle": "작업 편집",
"cronExpression": "Cron 표현식",
"command": "명령",
"targetAgent": "대상 Agent",
"allAgents": "모든 Agent",
"nameRequired": "작업명을 입력하세요",
"created": "작업 생성됨",
"createFailed": "작업 생성 실패",
"updated": "작업 업데이트됨",
"updateFailed": "작업 업데이트 실패",
"confirmDelete": "작업「{name}」을 삭제하시겠습니까?",
"deleted": "작업 삭제됨",
"deleteFailed": "작업 삭제 실패",
"enabled": "작업 활성화됨",
"disabled": "작업 비활성화됨",
"loadFailed": "작업 로드 실패",
"everyMinute": "매분",
"everyHour": "매시",
"everyDay": "매일",
"everyWeek": "매주",
"everyMonth": "매월",
"custom": "사용자 정의",
"timezone": "시간대",
"description": "설명",
"history": "실행 이력",
"noHistory": "실행 이력 없음",
"success": "성공",
"failed": "실패",
"duration": "소요 시간",
"output": "출력"
}

View File

@@ -0,0 +1,80 @@
{
"title": "대시보드",
"desc": "OpenClaw 실행 상태 개요",
"gateway": "Gateway",
"portDetect": "포트 감지",
"notStarted": "미시작",
"versionLabel": "버전",
"versionOfficial": "공식",
"versionChinese": "중국어판",
"versionUnknown": "버전 정보 없음",
"versionAhead": "현재 버전이 권장 안정 버전 {version}보다 높아 불안정할 수 있습니다",
"versionStable": "안정 버전 {version}",
"versionRecommend": "권장 안정 버전 {version}",
"versionLatest": "최신 업스트림 {version}",
"agentFleet": "Agent 함대",
"defaultAgent": "기본",
"modelPool": "모델 풀",
"basedOnProviders": "{count}개 프로바이더 기반",
"baseServices": "기본 서비스",
"controlUI": "Control UI",
"controlUIDesc": "OpenClaw 네이티브 패널",
"controlUIClick": "브라우저에서 열기",
"controlUINotRunning": "Gateway 미실행",
"restartGw": "Gateway 재시작",
"checkUpdate": "업데이트 확인",
"createBackup": "백업 생성",
"recentLogs": "최근 로그",
"cliPath": "CLI 경로",
"cliSource": "설치 출처",
"cliSourceStandalone": "독립 설치판",
"cliSourceNpmZh": "npm 중국어판",
"cliSourceNpmOfficial": "npm 공식판",
"cliSourceNpmGlobal": "npm 전역",
"cliSourceUnknown": "알 수 없음",
"multiInstall": "여러 설치가 감지됨",
"multiInstallHint": "설정에서 사용할 설치를 선택할 수 있습니다",
"installCount": "{count}개 설치",
"retry": "재시도",
"servicesLoadFail": "서비스 상태 로드 실패",
"versionLoadFail": "버전 정보 로드 실패",
"notSet": "미설정",
"port": "포트",
"startBtn": "시작",
"stopBtn": "중지",
"restartBtn": "재시작",
"primaryModel": "기본 모델",
"maxConcurrent": "최대 동시 실행",
"mcpTools": "MCP 도구",
"mountedExtensions": "마운트된 확장",
"recentBackup": "최근 백업",
"noBackup": "백업 없음",
"backupCount": "{count}개 백업 파일",
"workspaceCount": "{count}개 워크스페이스",
"runtimeVersion": "런타임 버전",
"remaining": "남은",
"activeSessions": "활성 세션",
"defaultModel": "기본 모델",
"context": "컨텍스트",
"noLogs": "로그 없음",
"openControlUIFail": "Control UI 열기 실패",
"starting": "시작 중...",
"gwStartSent": "Gateway 시작 명령 전송됨",
"startFail": "시작 실패",
"stopping": "중지 중...",
"gwStopped": "Gateway 중지됨",
"stopFail": "중지 실패",
"restarting": "재시작 중...",
"gwRestartSent": "Gateway 재시작 명령 전송됨",
"restartFail": "재시작 실패",
"gwRestarted": "Gateway 재시작됨 (PID: {pid})",
"restartTimeout": "재시작 타임아웃, Gateway가 아직 시작 중일 수 있습니다",
"checking": "확인 중...",
"versionAheadWarn": "로컬 버전 {current}이 권장 안정 버전 {recommended}보다 높아 호환성 위험이 있을 수 있습니다",
"updateAvailable": "권장 안정 버전 사용 가능: {version}",
"upToDate": "권장 안정 버전과 일치",
"checkUpdateFail": "업데이트 확인 실패",
"backingUp": "백업 중...",
"backupDone": "백업 완료: {name}",
"backupFail": "백업 실패"
}

View File

@@ -0,0 +1,34 @@
{
"title": "확장 도구",
"desc": "cftunnel 터널링 및 ClawApp 모바일 클라이언트 관리",
"cftunnelTitle": "cftunnel 터널링",
"cftunnelDesc": "Cloudflare Tunnel로 로컬 서비스를 공개. 공인 IP나 포트 매핑 불필요.",
"clawappTitle": "ClawApp 모바일 클라이언트",
"clawappDesc": "H5 모바일 채팅 클라이언트, 프록시 서버를 통해 Gateway에 연결.",
"cftunnelNotInstalled": "cftunnel 미설치",
"clawappNotInstalled": "ClawApp 미설치",
"installBtn": "원클릭 설치",
"viewDocs": "문서 보기",
"status": "상태",
"running": "실행 중",
"stopped": "중지됨",
"version": "버전",
"unknown": "알 수 없음",
"routes": "라우트",
"noRoutes": "라우트 없음",
"startTunnel": "터널 시작",
"stopTunnel": "터널 중지",
"viewLogs": "로그 보기",
"refresh": "새로고침",
"port": "포트",
"accessUrl": "접속 URL",
"publicUrl": "공개",
"openClawapp": "ClawApp 열기",
"start": "시작",
"stop": "중지",
"installing": "설치 중...",
"installDone": "설치 완료",
"installSuccess": "{name} 설치 성공",
"installFailed": "설치 실패",
"error": "오류"
}

View File

@@ -0,0 +1,24 @@
{
"title": "Gateway",
"desc": "OpenClaw Gateway 서비스 설정 및 관리",
"status": "상태",
"running": "실행 중",
"stopped": "중지됨",
"port": "포트",
"host": "호스트",
"authMode": "인증 모드",
"controlUI": "Control UI",
"saveConfig": "설정 저장",
"saving": "저장 중...",
"saved": "Gateway 설정 저장됨",
"saveFailed": "저장 실패",
"restartRequired": "변경 사항을 적용하려면 Gateway 재시작이 필요합니다",
"restartNow": "지금 재시작",
"configLoadFail": "Gateway 설정 로드 실패",
"pairingTitle": "디바이스 페어링",
"pairedDevices": "페어링된 디바이스",
"noPairedDevices": "페어링된 디바이스 없음",
"removePairing": "페어링 해제",
"pairingRemoved": "페어링 해제됨",
"refreshPairing": "새로고침"
}

View File

@@ -0,0 +1,19 @@
{
"local": "로컬",
"remote": "원격",
"docker": "Docker",
"switchHint": "전환 후 모델 설정, Agent 등의 페이지에서 해당 인스턴스를 관리합니다",
"addInstance": "인스턴스 추가",
"addRemote": "원격 인스턴스 추가",
"namePlaceholder": "원격 서버",
"nameLabel": "이름",
"endpointLabel": "패널 주소",
"gwPortLabel": "Gateway 포트 (선택)",
"nameRequired": "이름과 패널 주소를 입력하세요",
"endpointExists": "이 엔드포인트는 이미 존재합니다",
"adding": "추가 중...",
"switchedTo": "{name}(으)로 전환됨",
"current": "현재",
"remoteHint": "원격 서버에서 ClawPanel (serve.js)이 실행 중이어야 합니다.",
"example": "예시"
}

View File

@@ -0,0 +1,17 @@
{
"title": "로그",
"desc": "OpenClaw 서비스 로그 보기",
"tabGateway": "Gateway 로그",
"tabGatewayErr": "Gateway 오류",
"tabGuardian": "가디언",
"tabBackup": "백업 로그",
"tabAudit": "감사 로그",
"searchPlaceholder": "로그 검색...",
"refresh": "새로고침",
"autoScroll": "자동 스크롤",
"loading": "로그 로딩 중...",
"empty": "로그 없음",
"loadFailed": "로그 로드 실패",
"noResults": "일치하는 결과 없음",
"searchFailed": "검색 실패"
}

View File

@@ -0,0 +1,24 @@
{
"title": "메모리",
"desc": "Agent 메모리 파일 관리",
"noFiles": "메모리 파일 없음",
"fileName": "파일명",
"fileSize": "크기",
"lastModified": "최종 수정",
"view": "보기",
"download": "다운로드",
"delete": "삭제",
"upload": "업로드",
"uploading": "업로드 중...",
"uploaded": "업로드 완료",
"uploadFailed": "업로드 실패",
"confirmDelete": "메모리 파일「{name}」을 삭제하시겠습니까?",
"deleted": "삭제됨",
"deleteFailed": "삭제 실패",
"loadFailed": "메모리 파일 로드 실패",
"selectAgent": "Agent 선택",
"allAgents": "모든 Agent",
"searchPlaceholder": "파일명 검색...",
"totalFiles": "총 {count}개 파일",
"totalSize": "총 크기: {size}"
}

View File

@@ -0,0 +1,5 @@
{
"confirmTitle": "작업 확인",
"confirmOk": "확인",
"confirmCancel": "취소"
}

View File

@@ -0,0 +1,64 @@
{
"title": "모델 설정",
"desc": "AI 모델 프로바이더 및 모델 관리",
"addProvider": "+ 프로바이더 추가",
"noProviders": "프로바이더 없음",
"providerName": "프로바이더명",
"baseUrl": "Base URL",
"apiKey": "API Key",
"models": "모델",
"addModel": "모델 추가",
"removeModel": "삭제",
"editProvider": "프로바이더 편집",
"deleteProvider": "프로바이더 삭제",
"saveProvider": "저장",
"testConnection": "연결 테스트",
"testing": "테스트 중...",
"testSuccess": "연결 성공",
"testFailed": "연결 실패",
"fetchModels": "모델 목록 가져오기",
"fetching": "가져오는 중...",
"fetchSuccess": "{count}개 모델 발견",
"fetchFailed": "모델 목록 가져오기 실패",
"noModelsFound": "사용 가능한 모델 없음",
"selectAll": "모두 선택",
"deselectAll": "모두 해제",
"providerSaved": "프로바이더 저장됨",
"providerDeleted": "프로바이더 삭제됨",
"saveFailed": "저장 실패",
"deleteFailed": "삭제 실패",
"confirmDelete": "프로바이더「{name}」을 삭제하시겠습니까? 모든 관련 모델 설정이 사라집니다.",
"loadFailed": "모델 설정 로드 실패",
"nameRequired": "프로바이더명을 입력하세요",
"urlRequired": "Base URL을 입력하세요",
"keyRequired": "API Key를 입력하세요",
"primaryModel": "기본 모델",
"primaryModelHint": "기본으로 사용되는 모델",
"setPrimary": "기본으로 설정",
"isPrimary": "기본 모델",
"noPrimary": "기본 모델 미설정",
"primarySet": "기본 모델 설정됨",
"modelCount": "{count}개 모델",
"enabled": "활성화",
"disabled": "비활성화",
"toggleModel": "모델 전환",
"duplicate": "중복된 프로바이더명",
"temperature": "온도",
"maxTokens": "최대 토큰",
"advancedSettings": "고급 설정",
"resetDefaults": "기본값으로 복원",
"timeout": "타임아웃 (초)",
"importConfig": "설정 가져오기",
"exportConfig": "설정 내보내기",
"imported": "설정 가져오기 완료",
"exported": "설정을 클립보드에 복사했습니다",
"qtcoolTitle": "칭천클라우드",
"qtcoolBadge": "공식",
"qtcoolDesc": "GPT-5 / Codex 전 시리즈, 공식가의 2~3할",
"qtcoolSetup": "원클릭 설정",
"presetTitle": "프리셋",
"searchProviders": "프로바이더 검색...",
"noResults": "일치하는 프로바이더 없음",
"totalModels": "총 {count}개 모델",
"activeModels": "활성 {count}개"
}

View File

@@ -0,0 +1,20 @@
{
"title": "보안",
"desc": "OpenClaw 보안 설정 관리",
"toolPermissions": "도구 권한",
"toolPermDesc": "Agent가 사용할 수 있는 도구 카테고리 제어",
"permAll": "모두 허용",
"permSafe": "안전한 것만",
"permNone": "모두 거부",
"permCustom": "사용자 정의",
"fileSystem": "파일 시스템",
"network": "네트워크",
"process": "프로세스",
"shell": "셸",
"enableAll": "모두 활성화",
"disableAll": "모두 비활성화",
"savePermissions": "권한 저장",
"permSaved": "도구 권한 저장됨",
"permSaveFail": "권한 저장 실패",
"loadFailed": "보안 설정 로드 실패"
}

View File

@@ -0,0 +1,65 @@
{
"title": "서비스 관리",
"desc": "OpenClaw 서비스 시작·중지·모니터링",
"gatewayTitle": "Gateway 서비스",
"guardianTitle": "Guardian 서비스",
"status": "상태",
"pid": "PID",
"uptime": "가동 시간",
"port": "포트",
"host": "호스트",
"actions": "작업",
"start": "시작",
"stop": "중지",
"restart": "재시작",
"forceKill": "강제 종료",
"viewLogs": "로그 보기",
"starting": "시작 중...",
"stopping": "중지 중...",
"restarting": "재시작 중...",
"killing": "강제 종료 중...",
"startSent": "시작 명령 전송됨",
"stopSent": "중지 명령 전송됨",
"restartSent": "재시작 명령 전송됨",
"killSent": "강제 종료 명령 전송됨",
"startFail": "시작 실패",
"stopFail": "중지 실패",
"restartFail": "재시작 실패",
"killFail": "강제 종료 실패",
"gwStarted": "Gateway 시작됨 (PID: {pid})",
"gwStopped": "Gateway 중지됨",
"gwRestarted": "Gateway 재시작됨 (PID: {pid})",
"gwKilled": "Gateway 프로세스 강제 종료됨",
"guardianStarted": "Guardian 시작됨",
"guardianStopped": "Guardian 중지됨",
"gwRestartTimeout": "재시작 타임아웃",
"loadFail": "서비스 상태 로드 실패",
"confirmStop": "Gateway를 중지하시겠습니까? 모든 활성 연결이 끊어집니다.",
"confirmKill": "Gateway 프로세스를 강제 종료하시겠습니까? 이것은 최후의 수단입니다.",
"portOpen": "포트 {port} 열려 있음",
"portClosed": "포트 {port} 닫혀 있음",
"portCheckFail": "포트 확인 실패",
"autoRefresh": "자동 새로고침",
"processInfo": "프로세스 정보",
"noProcess": "프로세스 없음",
"memory": "메모리",
"cpu": "CPU",
"configFile": "설정 파일",
"configPath": "경로",
"logsHint": "「로그」 페이지에서 자세히 확인",
"quickActions": "빠른 작업",
"healthCheck": "상태 확인",
"healthOk": "정상 작동 중",
"healthFail": "응답 없음",
"checkingHealth": "상태 확인 중...",
"lastChecked": "마지막 확인",
"environment": "환경",
"nodeVersion": "Node.js 버전",
"platform": "플랫폼",
"arch": "아키텍처",
"homeDir": "홈 디렉토리",
"configDir": "설정 디렉토리",
"gwNotRunning": "Gateway 실행 중이 아닙니다",
"guardianNotRunning": "Guardian 실행 중이 아닙니다",
"guardianDesc": "Gateway 자동 재시작을 관리하는 워치독 프로세스"
}

View File

@@ -0,0 +1,38 @@
{
"title": "패널 설정",
"desc": "ClawPanel 네트워크, 프록시 및 다운로드 소스 설정 관리",
"networkProxy": "네트워크 프록시",
"modelProxy": "모델 요청 프록시",
"npmRegistry": "npm 레지스트리",
"openclawDir": "OpenClaw 설치 경로",
"openclawCli": "OpenClaw CLI 바인딩",
"cliAutoDetect": "자동 감지 (권장)",
"cliBindHint": "패널이 사용할 OpenClaw CLI 선택, 여러 버전 공존 시 유용",
"cliCurrent": "현재 사용 중",
"cliBound": "바인딩됨",
"cliActive": "활성",
"cliVersion": "버전",
"language": "표시 언어",
"languageHint": "인터페이스 언어를 전환합니다. 일부 콘텐츠는 원래 언어로 표시될 수 있습니다.",
"testProxy": "연결 테스트",
"clearProxy": "프록시 비활성화",
"registryTaobao": "Taobao 미러 (중국 권장)",
"registryNpm": "npm 공식",
"registryHuawei": "Huawei Cloud 미러",
"registryCustom": "사용자 정의",
"registryEmpty": "레지스트리 URL을 입력하세요",
"registrySaved": "npm 레지스트리 저장됨",
"configExists": "설정 파일 있음",
"configMissing": "설정 파일을 찾을 수 없음",
"currentPath": "현재 경로",
"customBadge": "사용자 정의",
"resetDefault": "기본값으로 복원",
"customPathSaved": "사용자 정의 경로 저장됨",
"defaultRestored": "기본 경로로 복원됨",
"restarting": "재시작 중...",
"proxyOk": "프록시 연결됨 (HTTP {status}, {ms}ms) → {target}",
"proxySaved": "네트워크 프록시 저장됨",
"proxyCleared": "네트워크 프록시 비활성화됨",
"modelProxyOn": "모델 요청이 프록시를 사용합니다",
"modelProxyOff": "모델 요청 프록시 비활성화됨"
}

View File

@@ -0,0 +1,34 @@
{
"title": "초기 설정",
"desc": "OpenClaw 설치 및 설정",
"headerTitle": "ClawPanel에 오신 것을 환영합니다",
"headerDesc": "OpenClaw AI Agent 프레임워크의 데스크톱 관리 패널",
"recheck": "재감지",
"stepNode": "Node.js 환경",
"installed": "설치됨",
"downloadNode": "Node.js 다운로드",
"scanNodeBtn": "자동 스캔",
"stepGit": "Git 버전 관리",
"autoInstallGitBtn": "Git 원클릭 설치",
"manualDownload": "수동 다운로드",
"stepConfig": "설정 파일",
"configMissing": "설정 파일이 존재하지 않습니다",
"initConfigLabel": "설정 원클릭 초기화",
"customDirTitle": "사용자 정의 OpenClaw 설치 경로",
"saveBtn": "저장",
"resetDefaultBtn": "기본값으로 복원",
"aiAssistant": "AI 어시스턴트",
"openAiAssistant": "AI 어시스턴트 열기",
"nextStepsTitle": "다음 단계",
"nextStep1": "「모델 설정」에서 최소 1개 모델 추가 및 기본 모델 설정",
"nextStep2": "「Gateway」에서 서비스가 시작되었는지 확인",
"nextStep3": "Feishu, DingTalk, QQ 등의 채널이 필요하면「채널」에서 설정",
"configModels": "모델 설정",
"gatewaySetup": "Gateway 설정",
"messageChannels": "채널",
"enterPanel": "패널 진입",
"installBtn": "원클릭 설치",
"installOpenclaw": "OpenClaw 설치",
"installComplete": "설치 완료",
"installSuccess": "OpenClaw 설치 성공"
}

View File

@@ -0,0 +1,29 @@
{
"collapse": "접기/펼치기",
"closeMenu": "메뉴 닫기",
"themeLight": "라이트 모드",
"themeDark": "다크 모드",
"sectionMonitor": "모니터링",
"sectionConfig": "설정",
"sectionData": "데이터",
"sectionExtension": "확장",
"dashboard": "대시보드",
"assistant": "어시스턴트",
"chat": "실시간 채팅",
"services": "서비스 관리",
"logs": "로그",
"models": "모델 설정",
"agents": "Agent 관리",
"gateway": "Gateway",
"channels": "채널",
"communication": "통신 및 자동화",
"security": "보안 설정",
"memory": "메모리",
"cron": "예약 작업",
"usage": "사용 현황",
"skills": "Skills",
"settings": "패널 설정",
"chatDebug": "시스템 진단",
"about": "정보",
"setup": "초기 설정"
}

View File

@@ -0,0 +1,39 @@
{
"title": "Skills",
"desc": "OpenClaw Skills 관리 및 설치",
"installed": "설치됨",
"available": "사용 가능",
"noSkills": "Skills 없음",
"skillName": "스킬명",
"version": "버전",
"author": "작성자",
"install": "설치",
"uninstall": "제거",
"update": "업데이트",
"search": "Skills 검색...",
"searching": "검색 중...",
"installing": "설치 중...",
"uninstalling": "제거 중...",
"updating": "업데이트 중...",
"installSuccess": "스킬 설치됨",
"installFailed": "설치 실패",
"uninstallSuccess": "스킬 제거됨",
"uninstallFailed": "제거 실패",
"updateSuccess": "스킬 업데이트됨",
"updateFailed": "업데이트 실패",
"confirmUninstall": "스킬「{name}」을 제거하시겠습니까?",
"loadFailed": "Skills 로드 실패",
"noResults": "일치하는 스킬 없음",
"description": "설명",
"homepage": "홈페이지",
"license": "라이선스",
"tags": "태그",
"category": "카테고리",
"searchHub": "ClawHub 검색",
"installFromUrl": "URL에서 설치",
"refreshList": "목록 새로고침",
"checkUpdates": "업데이트 확인",
"noUpdates": "모두 최신입니다",
"updatesAvailable": "{count}건의 업데이트 사용 가능",
"updateAll": "모두 업데이트"
}

View File

@@ -0,0 +1,4 @@
{
"copySuccess": "클립보드에 복사됨",
"copyFailed": "복사 실패"
}

View File

@@ -0,0 +1,27 @@
{
"title": "사용 현황",
"desc": "모델 사용량 및 토큰 통계 보기",
"totalTokens": "총 토큰",
"totalRequests": "총 요청",
"totalCost": "총 비용",
"period": "기간",
"today": "오늘",
"week": "이번 주",
"month": "이번 달",
"all": "전체",
"noData": "사용 데이터 없음",
"model": "모델",
"tokens": "토큰",
"requests": "요청",
"cost": "비용",
"inputTokens": "입력 토큰",
"outputTokens": "출력 토큰",
"lastUsed": "마지막 사용",
"loadFailed": "사용 데이터 로드 실패",
"byModel": "모델별",
"byAgent": "Agent별",
"byDate": "날짜별",
"export": "내보내기",
"chart": "차트",
"table": "테이블"
}