- Block deletion of a model provider when it is referenced by any agent, returning an error that lists the agent names so the user knows what to unlink first - When a provider's api_url or api_key is updated, automatically propagate the new credentials to all dependent agents: updates env_json in the database and patches on-disk config files (Claude Code settings.json, Gemini settings.json, Codex auth.json + config.toml, OpenCode auth.json) using the same field names and structure as the agent settings UI - Fix error message display in provider dialogs for both Tauri and web transports, which throw plain objects rather than Error instances Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1859 lines
86 KiB
JSON
1859 lines
86 KiB
JSON
{
|
|
"Language": {
|
|
"followSystem": "시스템 설정 따름",
|
|
"english": "영어",
|
|
"simplifiedChinese": "简体中文",
|
|
"traditionalChinese": "繁體中文",
|
|
"japanese": "일본어",
|
|
"korean": "한국어",
|
|
"spanish": "스페인어",
|
|
"german": "독일어",
|
|
"french": "프랑스어",
|
|
"portuguese": "포르투갈어",
|
|
"arabic": "아랍어"
|
|
},
|
|
"WelcomePage": {
|
|
"title": "Codeg에 오신 것을 환영합니다",
|
|
"openSettings": "설정 열기",
|
|
"searchPlaceholder": "폴더 검색...",
|
|
"loading": "로딩 중...",
|
|
"emptyFolders": "폴더가 없습니다",
|
|
"removeFromHistory": "기록에서 제거",
|
|
"openFolder": "폴더 열기",
|
|
"cloneRepository": "저장소 클론",
|
|
"projectBoot": "프로젝트 부트",
|
|
"softwareVersion": "버전 {version}",
|
|
"toasts": {
|
|
"loadFolderHistoryFailed": "폴더 기록을 불러오지 못했습니다",
|
|
"openFolderFailed": "폴더를 열지 못했습니다",
|
|
"removeFromHistoryFailed": "기록에서 제거하지 못했습니다",
|
|
"openSettingsFailed": "설정을 열지 못했습니다",
|
|
"cloneFailed": "저장소 클론에 실패했습니다",
|
|
"openProjectBootFailed": "프로젝트 부트를 열지 못했습니다"
|
|
},
|
|
"errors": {
|
|
"unknown": "예기치 않은 오류가 발생했습니다",
|
|
"invalidInput": "잘못된 입력입니다.",
|
|
"notFound": "리소스를 찾을 수 없습니다.",
|
|
"alreadyExists": "리소스가 이미 존재합니다.",
|
|
"dependencyMissing": "필수 의존성이 누락되었습니다.",
|
|
"databaseError": "데이터베이스 작업에 실패했습니다.",
|
|
"ioError": "파일 작업에 실패했습니다.",
|
|
"externalCommandFailed": "외부 명령 실행에 실패했습니다.",
|
|
"windowOperationFailed": "창 작업에 실패했습니다.",
|
|
"gitNotInstalled": "Git이 설치되어 있지 않습니다. 먼저 Git을 설치하세요.",
|
|
"targetDirectoryNotEmpty": "대상 디렉터리가 이미 존재하며 비어 있지 않습니다.",
|
|
"repositoryNotFound": "저장소를 찾을 수 없습니다. URL 및 접근 권한을 확인하세요.",
|
|
"networkUnavailable": "네트워크를 사용할 수 없습니다. 연결을 확인한 뒤 다시 시도하세요.",
|
|
"authenticationFailed": "인증에 실패했습니다. 자격 증명 또는 SSH 키를 확인하세요.",
|
|
"permissionDenied": "권한이 없습니다. 디렉터리 권한을 확인하세요."
|
|
},
|
|
"cloneDialog": {
|
|
"title": "저장소 클론",
|
|
"repositoryUrl": "저장소 URL",
|
|
"repositoryUrlPlaceholder": "https://github.com/user/repo.git",
|
|
"directory": "디렉터리",
|
|
"directoryPlaceholder": "대상 디렉터리 선택...",
|
|
"browseDirectory": "디렉터리 찾아보기",
|
|
"cancel": "취소",
|
|
"clone": "클론",
|
|
"clonePath": "클론 경로: {path}"
|
|
}
|
|
},
|
|
"GitCredentialDialog": {
|
|
"title": "인증 필요",
|
|
"description": "원격 서버에서 자격 증명을 요구합니다. 사용자 이름과 비밀번호(또는 개인 액세스 토큰)를 입력하세요.",
|
|
"username": "사용자 이름",
|
|
"usernamePlaceholder": "사용자 이름 또는 이메일",
|
|
"password": "비밀번호 / 토큰",
|
|
"passwordPlaceholder": "비밀번호 또는 개인 액세스 토큰",
|
|
"passwordHint": "서버의 사용자 이름과 비밀번호를 입력하세요.",
|
|
"cancel": "취소",
|
|
"authenticate": "인증",
|
|
"authenticating": "인증 중...",
|
|
"invalidCredentials": "자격 증명이 유효하지 않습니다. 다시 시도하세요.",
|
|
"saveCredentials": "향후 작업을 위해 자격 증명 저장",
|
|
"githubTitle": "GitHub 인증",
|
|
"githubDescription": "개인 액세스 토큰을 입력하여 GitHub에 연결합니다. 토큰 확인 후 계정에 자동으로 저장됩니다.",
|
|
"githubToken": "개인 액세스 토큰",
|
|
"githubTokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"githubTokenHint": "GitHub → Settings → Developer settings → Personal access tokens에서 토큰을 생성하세요.",
|
|
"githubAuthenticate": "확인 및 연결",
|
|
"generateToken": "토큰 생성"
|
|
},
|
|
"SettingsShell": {
|
|
"title": "설정",
|
|
"preferences": "환경설정",
|
|
"nav": {
|
|
"appearance": "외관",
|
|
"agents": "에이전트",
|
|
"mcp": "MCP",
|
|
"skills": "Skills",
|
|
"shortcuts": "단축키",
|
|
"version_control": "버전 관리",
|
|
"system": "시스템",
|
|
"chat_channels": "채팅 채널",
|
|
"web_service": "웹 서비스",
|
|
"model_providers": "모델 제공업체"
|
|
}
|
|
},
|
|
"AppearanceSettings": {
|
|
"sectionTitle": "테마 모양",
|
|
"sectionDescription": "라이트, 다크 또는 시스템 설정을 선택할 수 있습니다. 설정은 자동으로 저장됩니다.",
|
|
"themeMode": "테마 모드",
|
|
"placeholder": "테마 모드 선택",
|
|
"system": "시스템 설정 따름",
|
|
"light": "라이트",
|
|
"dark": "다크",
|
|
"currentTheme": "현재 적용된 테마: {theme}",
|
|
"resolvedTheme": {
|
|
"light": "라이트",
|
|
"dark": "다크",
|
|
"unknown": "--"
|
|
}
|
|
},
|
|
"SystemSettings": {
|
|
"loading": "로딩 중...",
|
|
"sectionTitle": "시스템 관리",
|
|
"sectionDescription": "네트워크 프록시, 앱 업데이트, 언어 설정을 관리합니다.",
|
|
"proxyTitle": "네트워크 프록시",
|
|
"proxyDescription": "활성화하면 이후 네트워크 요청에서 이 프록시를 우선 사용합니다(ACP 채팅, 에이전트 설치, Git 원격 작업 포함).",
|
|
"loadFailed": "불러오기 실패: {message}",
|
|
"enableProxy": "시스템 프록시 활성화",
|
|
"proxyAddress": "프록시 주소",
|
|
"proxyHint": "http(s)/socks5 지원, 예: {example}. 시스템 프록시를 활성화한 경우에만 적용됩니다.",
|
|
"save": "저장",
|
|
"saving": "저장 중...",
|
|
"proxyRequired": "프록시를 활성화하면 프록시 URL이 필요합니다",
|
|
"saveSuccess": "시스템 프록시 설정이 저장되었습니다",
|
|
"saveFailed": "저장 실패: {message}",
|
|
"languageTitle": "언어",
|
|
"languageDescription": "앱 언어를 설정합니다. 시스템 언어를 따를 때 지원되지 않는 언어는 영어로 대체됩니다.",
|
|
"appLanguage": "앱 언어",
|
|
"languageSaveSuccess": "언어 설정이 저장되었습니다",
|
|
"languageSaveFailed": "언어 설정 저장 실패: {message}",
|
|
"updateTitle": "앱 업데이트",
|
|
"versionTitle": "소프트웨어 업데이트",
|
|
"updateDescription": "설정된 릴리스 소스에서 새 버전을 확인하고 가능하면 바로 설치합니다.",
|
|
"currentVersion": "현재 버전",
|
|
"upgradableVersion": "최신 버전",
|
|
"none": "없음",
|
|
"lastChecked": "마지막 확인: {time}",
|
|
"updateError": "업데이트 오류: {message}",
|
|
"checking": "확인 중...",
|
|
"checkUpdate": "업데이트 확인",
|
|
"updating": "설치 중...",
|
|
"upgradeTo": "v{version}로 업그레이드",
|
|
"foundUpdate": "새 버전 v{version}을 찾았습니다",
|
|
"alreadyLatest": "이미 최신 버전입니다",
|
|
"checkUpdateFailed": "업데이트 확인 실패: {message}",
|
|
"installSuccess": "업데이트가 설치되었습니다. 앱을 다시 시작합니다.",
|
|
"installFailed": "업데이트 실패: {message}",
|
|
"updateErrors": {
|
|
"sourceUnavailable": "업데이트 소스에 연결할 수 없습니다. 네트워크 또는 프록시를 확인한 뒤 다시 시도하세요.",
|
|
"network": "네트워크 연결에 실패했습니다. 네트워크 또는 프록시를 확인한 뒤 다시 시도하세요.",
|
|
"downloadFailed": "업데이트 패키지 다운로드에 실패했습니다. 잠시 후 다시 시도하세요.",
|
|
"installFailed": "업데이트 설치에 실패했습니다. 앱을 종료한 뒤 다시 시도하세요.",
|
|
"unknown": "업데이트에 실패했습니다. 잠시 후 다시 시도하세요."
|
|
}
|
|
},
|
|
"VersionControlSettings": {
|
|
"loading": "로딩 중...",
|
|
"sectionTitle": "버전 관리",
|
|
"sectionDescription": "Git 실행 파일을 설정하고 GitHub 계정을 관리합니다.",
|
|
"gitTitle": "Git 설정",
|
|
"gitDescription": "애플리케이션에서 사용할 Git 실행 파일을 설정합니다.",
|
|
"gitDetected": "Git이 감지되었습니다",
|
|
"gitNotFound": "시스템에서 Git을 찾을 수 없습니다",
|
|
"gitVersion": "버전",
|
|
"gitPath": "경로",
|
|
"customGitPath": "사용자 지정 Git 경로",
|
|
"customGitPathPlaceholder": "/usr/bin/git",
|
|
"customGitPathHint": "비워두면 자동 감지된 경로를 사용합니다.",
|
|
"test": "테스트",
|
|
"testing": "테스트 중...",
|
|
"testSuccess": "Git 실행 파일이 유효합니다.",
|
|
"testFailed": "Git 테스트 실패: {message}",
|
|
"save": "저장",
|
|
"saving": "저장 중...",
|
|
"saveSuccess": "Git 설정이 저장되었습니다.",
|
|
"saveFailed": "저장 실패: {message}",
|
|
"githubTitle": "GitHub 계정",
|
|
"githubDescription": "인증용 GitHub 계정을 관리합니다. 토큰은 로컬에 저장됩니다.",
|
|
"noAccounts": "설정된 GitHub 계정이 없습니다.",
|
|
"addAccount": "계정 추가",
|
|
"serverUrl": "서버 URL",
|
|
"serverUrlPlaceholder": "https://github.com",
|
|
"token": "개인 액세스 토큰",
|
|
"tokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"generateToken": "토큰 생성",
|
|
"tokenHint": "GitHub → Settings → Developer settings → Personal access tokens에서 토큰을 생성하세요.",
|
|
"validateAndAdd": "검증 및 추가",
|
|
"validating": "검증 중...",
|
|
"addSuccess": "계정 {username}이(가) 추가되었습니다.",
|
|
"addFailed": "계정 추가 실패: {message}",
|
|
"testConnection": "테스트",
|
|
"connectionSuccess": "연결 성공.",
|
|
"connectionFailed": "연결 실패: {message}",
|
|
"setDefault": "기본값으로 설정",
|
|
"defaultLabel": "기본",
|
|
"defaultSet": "기본 계정이 업데이트되었습니다.",
|
|
"removeAccount": "삭제",
|
|
"removeConfirmTitle": "계정 삭제",
|
|
"removeConfirmMessage": "계정 \"{username}\"을(를) 삭제하시겠습니까?",
|
|
"removeConfirm": "삭제",
|
|
"removeCancel": "취소",
|
|
"removeSuccess": "계정이 삭제되었습니다.",
|
|
"scopes": "범위",
|
|
"loadFailed": "설정 로드 실패: {message}",
|
|
"gitAccount": {
|
|
"sectionTitle": "Git 서버 계정",
|
|
"sectionDescription": "GitHub 이외의 Git 서버 자격 증명을 관리합니다 (GitLab, Bitbucket, 자체 호스팅 등).",
|
|
"noAccounts": "설정된 Git 서버 계정이 없습니다.",
|
|
"addAccount": "계정 추가",
|
|
"addTitle": "Git 계정 추가",
|
|
"addDescription": "서버 주소, 사용자 이름, 비밀번호 또는 액세스 토큰을 입력하세요.",
|
|
"serverUrl": "서버 URL",
|
|
"serverUrlPlaceholder": "https://gitlab.example.com",
|
|
"username": "사용자 이름",
|
|
"usernamePlaceholder": "사용자 이름 또는 이메일",
|
|
"password": "비밀번호 / 토큰",
|
|
"passwordPlaceholder": "비밀번호 또는 액세스 토큰",
|
|
"passwordHint": "서버의 비밀번호 또는 액세스 토큰을 입력하세요.",
|
|
"add": "추가",
|
|
"serverRequired": "서버 URL을 입력하세요.",
|
|
"usernameRequired": "사용자 이름을 입력하세요.",
|
|
"passwordRequired": "비밀번호를 입력하세요."
|
|
}
|
|
},
|
|
"ShortcutSettings": {
|
|
"sectionTitle": "단축키",
|
|
"resetDefault": "기본값으로 재설정",
|
|
"recordInstruction": "오른쪽 버튼을 클릭한 다음 키 조합을 누르세요. Ctrl/Cmd, Alt, Shift를 사용할 수 있습니다. Esc를 누르면 기록을 취소합니다.",
|
|
"recording": "단축키 입력...",
|
|
"toasts": {
|
|
"conflict": "단축키가 이미 \"{title}\"에서 사용 중입니다",
|
|
"updated": "단축키가 업데이트되었습니다",
|
|
"invalid": "유효하지 않은 단축키입니다. 다시 시도하세요",
|
|
"reset": "기본 단축키를 복원했습니다"
|
|
},
|
|
"actions": {
|
|
"toggle_search": {
|
|
"title": "검색 열기",
|
|
"description": "대화 검색 패널을 표시하거나 숨깁니다"
|
|
},
|
|
"toggle_sidebar": {
|
|
"title": "왼쪽 사이드바 전환",
|
|
"description": "대화 목록 사이드바를 표시하거나 숨깁니다"
|
|
},
|
|
"toggle_terminal": {
|
|
"title": "터미널 전환",
|
|
"description": "하단 터미널 패널을 표시하거나 숨깁니다"
|
|
},
|
|
"new_terminal_tab": {
|
|
"title": "새 터미널",
|
|
"description": "터미널에 포커스가 있을 때 새 터미널 탭을 만듭니다"
|
|
},
|
|
"close_current_terminal_tab": {
|
|
"title": "현재 터미널 닫기",
|
|
"description": "터미널에 포커스가 있을 때 현재 터미널 탭을 닫습니다"
|
|
},
|
|
"toggle_aux_panel": {
|
|
"title": "오른쪽 패널 전환",
|
|
"description": "보조 정보 패널을 표시하거나 숨깁니다"
|
|
},
|
|
"new_conversation": {
|
|
"title": "새 대화",
|
|
"description": "현재 폴더에 새 대화 탭을 만듭니다"
|
|
},
|
|
"open_folder": {
|
|
"title": "폴더 열기",
|
|
"description": "폴더 선택기를 열고 새 창에서 엽니다"
|
|
},
|
|
"open_settings": {
|
|
"title": "설정 열기",
|
|
"description": "설정 창을 엽니다"
|
|
},
|
|
"close_current_tab": {
|
|
"title": "현재 탭 닫기",
|
|
"description": "현재 대화 또는 파일 탭을 닫습니다"
|
|
},
|
|
"close_all_file_tabs": {
|
|
"title": "모든 파일 탭 닫기",
|
|
"description": "파일 모드에서만 모든 파일 탭을 닫습니다"
|
|
},
|
|
"send_message": {
|
|
"title": "메시지 보내기",
|
|
"description": "입력창에서 현재 메시지를 전송"
|
|
},
|
|
"newline_in_message": {
|
|
"title": "메시지 줄바꿈",
|
|
"description": "입력창에 줄바꿈을 삽입"
|
|
}
|
|
}
|
|
},
|
|
"SkillsSettings": {
|
|
"title": "Skills",
|
|
"description": "왼쪽에서 Skill을 선택하세요. 오른쪽은 기본적으로 Markdown 미리보기이며, 편집으로 전환해 수정 후 저장할 수 있습니다.",
|
|
"loadingAgents": "Skill을 지원하는 에이전트를 불러오는 중...",
|
|
"emptyNoManageableAgents": "Skill을 관리할 수 있는 에이전트가 없습니다.",
|
|
"managedTarget": "관리 대상",
|
|
"selectAgentPlaceholder": "에이전트 선택",
|
|
"searchPlaceholder": "이름 / ID / 경로로 검색...",
|
|
"skillsList": "Skill 목록",
|
|
"loadingSkills": "Skill 불러오는 중...",
|
|
"agentNotSupported": "현재 에이전트는 Skill 관리를 지원하지 않습니다.",
|
|
"emptySkills": "아직 Skill이 없습니다. \"새 Skill\"을 클릭해 생성하세요.",
|
|
"newSkillTitle": "새 Skill",
|
|
"skillInfo": "Skill 정보",
|
|
"skillIdPlaceholder": "skill-id(영문/숫자/-/_/.)",
|
|
"skillsDirectoryWithPath": "Skill 디렉터리: {path}",
|
|
"skillsDirectoryNeedId": "Skill 디렉터리: Skill ID를 입력하면 전체 경로를 생성합니다",
|
|
"markdownContent": "Markdown 내용",
|
|
"editingStatus": "편집 중",
|
|
"previewStatus": "미리보기 중",
|
|
"contentPlaceholder": "Skill Markdown 내용을 입력하세요...",
|
|
"metadataTitle": "Skill 메타데이터",
|
|
"onlyYamlMetadata": "이 Skill에는 YAML 메타데이터만 포함되어 있습니다.",
|
|
"emptyContentHint": "아직 내용이 없습니다. \"편집\"을 눌러 시작하세요.",
|
|
"loadingSkill": "Skill 불러오는 중...",
|
|
"emptyNoAgents": "사용 가능한 에이전트가 없습니다.",
|
|
"actions": {
|
|
"preview": "미리보기",
|
|
"edit": "편집",
|
|
"openInWindow": "새 창에서 열기",
|
|
"delete": "삭제",
|
|
"deleting": "삭제 중...",
|
|
"refresh": "새로고침",
|
|
"newSkill": "새 Skill",
|
|
"reset": "초기화",
|
|
"save": "저장",
|
|
"saving": "저장 중...",
|
|
"cancel": "취소"
|
|
},
|
|
"deleteDialog": {
|
|
"title": "Skill 삭제",
|
|
"confirm": "현재 Skill을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
|
|
"confirmWithNamePrefix": "Skill",
|
|
"confirmWithNameSuffix": "을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
|
|
},
|
|
"toasts": {
|
|
"loadFailed": "Skill을 불러오지 못했습니다",
|
|
"openFolderFailed": "폴더를 열지 못했습니다",
|
|
"noSkillDirectory": "현재 에이전트에서 사용할 수 있는 Skill 디렉터리를 찾지 못했습니다",
|
|
"nameRequired": "Skill 이름은 비워둘 수 없습니다",
|
|
"updated": "Skill이 업데이트되었습니다",
|
|
"created": "Skill이 생성되었습니다",
|
|
"saveFailed": "Skill 저장에 실패했습니다",
|
|
"deleted": "Skill이 삭제되었습니다",
|
|
"deleteFailed": "Skill 삭제에 실패했습니다"
|
|
},
|
|
"templates": {
|
|
"gemini": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Skill Name\n\nInstructions for the agent when this skill is active.\n\n## Workflow\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openCode": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Steps\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openClaw": "---\nname: example-skill\ndescription: Describe when this skill should be used.\nuser-invocable: true\ndisable-model-invocation: false\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n",
|
|
"default": "# Skill: example-skill\n\n## When to use\n\n- Describe trigger conditions.\n\n## Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n"
|
|
}
|
|
},
|
|
"McpSettings": {
|
|
"loading": "로딩 중...",
|
|
"summary": {
|
|
"missingCommand": "(명령 없음)",
|
|
"missingUrl": "(URL 없음)"
|
|
},
|
|
"protocol": {
|
|
"stdio": "Stdio"
|
|
},
|
|
"errors": {
|
|
"selectInstallProtocol": "설치 프로토콜을 선택하세요",
|
|
"fieldRequired": "{field}은(는) 필수입니다",
|
|
"fieldNeedsBoolean": "{field}은(는) true 또는 false여야 합니다",
|
|
"fieldNeedsNumber": "{field}은(는) 숫자여야 합니다",
|
|
"fieldNeedsInteger": "{field}은(는) 정수여야 합니다",
|
|
"fieldInvalidJson": "{field}의 JSON이 잘못되었습니다: {message}",
|
|
"fieldOutOfRange": "{field} 값이 허용 범위를 벗어났습니다",
|
|
"jsonEmpty": "{name}은(는) 비워둘 수 없습니다",
|
|
"jsonInvalid": "{name}은(는) 유효한 JSON이 아닙니다: {message}",
|
|
"jsonMustBeObject": "{name}은(는) JSON 객체여야 합니다"
|
|
},
|
|
"jsonNames": {
|
|
"localConfig": "MCP 구성",
|
|
"installConfig": "설치 구성"
|
|
},
|
|
"toasts": {
|
|
"uninstalled": "MCP가 제거되었습니다",
|
|
"uninstallFailed": "제거 실패: {message}",
|
|
"selectAtLeastOneApp": "대상 앱을 최소 하나 선택하세요",
|
|
"saveSuccess": "저장됨",
|
|
"saveFailed": "저장 실패: {message}",
|
|
"installed": "{name} 설치됨",
|
|
"installFailed": "설치 실패: {message}"
|
|
},
|
|
"installDialog": {
|
|
"title": "MCP 설치 확인",
|
|
"descriptionWithName": "{name}을(를) 로컬 구성에 설치합니다.",
|
|
"description": "설치할 대상 앱을 선택하세요.",
|
|
"protocol": "프로토콜",
|
|
"selectProtocol": "프로토콜 선택",
|
|
"parameters": "구성 매개변수",
|
|
"booleanPlaceholder": "true/false를 선택하세요",
|
|
"selectOneValue": "값 선택",
|
|
"targetApps": "대상 앱"
|
|
},
|
|
"actions": {
|
|
"cancel": "취소",
|
|
"confirmInstall": "설치 확인",
|
|
"installing": "설치 중",
|
|
"uninstall": "제거",
|
|
"uninstalling": "제거 중",
|
|
"viewDetails": "상세 보기",
|
|
"save": "저장",
|
|
"saving": "저장 중",
|
|
"install": "설치"
|
|
},
|
|
"tabs": {
|
|
"local": "로컬 MCP",
|
|
"market": "MCP 마켓플레이스"
|
|
},
|
|
"local": {
|
|
"filterPlaceholder": "로컬 MCP 필터...",
|
|
"loadFailed": "로드 실패: {message}",
|
|
"empty": "감지된 로컬 MCP가 없습니다.",
|
|
"description": "로컬 MCP 구성은 직접 수정하고 저장할 수 있습니다.",
|
|
"enabledApps": "활성화된 앱",
|
|
"configJson": "MCP 구성 (JSON)"
|
|
},
|
|
"market": {
|
|
"selectMarketplace": "마켓플레이스 선택",
|
|
"searchPlaceholder": "MCP 검색...",
|
|
"searchFailed": "검색 실패: {message}",
|
|
"loadingList": "MCP 목록을 불러오는 중...",
|
|
"empty": "MCP 검색 결과가 없습니다.",
|
|
"loadingDetail": "마켓플레이스 상세 정보를 불러오는 중...",
|
|
"detailLoadFailed": "상세 정보를 불러오지 못했습니다: {message}",
|
|
"owner": "소유자: {owner}",
|
|
"namespace": "네임스페이스: {namespace}",
|
|
"defaultInstallProtocol": "기본 설치 프로토콜",
|
|
"currentOptionParameterCount": "현재 옵션의 매개변수 수: {count}",
|
|
"installConfigDescription": "설치 구성 (JSON, 설치 전에 편집 가능; 편집 내용은 프로토콜/매개변수 폼을 덮어씁니다)",
|
|
"selectLeftToView": "상세 정보를 보려면 왼쪽에서 마켓플레이스 MCP를 선택하세요."
|
|
},
|
|
"badges": {
|
|
"verified": "검증됨",
|
|
"remote": "원격",
|
|
"hasHomepage": "홈페이지 있음",
|
|
"uses": "{count}회 사용",
|
|
"deployed": "배포됨",
|
|
"notDeployed": "미배포"
|
|
},
|
|
"selectLeftMcp": "왼쪽에서 MCP를 선택하세요."
|
|
},
|
|
"AcpAgentSettings": {
|
|
"title": "Agent SDK 관리",
|
|
"description": "Agent SDK 연결, 활성화 상태, 환경 변수, 구성 관리, 버전 사전 점검 정보를 한곳에서 관리합니다.",
|
|
"loadingAgents": "에이전트 목록 불러오는 중...",
|
|
"agentList": "에이전트 목록",
|
|
"emptyNoAgent": "사용 가능한 에이전트가 없습니다.",
|
|
"configManagement": "구성 관리",
|
|
"envVars": "환경 변수",
|
|
"nativeJsonConfig": "네이티브 JSON 구성",
|
|
"modelHintDefault": "비워두면 시스템 기본 모델을 사용합니다.",
|
|
"generalConfigDescriptionClaude": "API URL, API Key, Claude 모델을 빠르게 설정하고 네이티브 JSON 구성과 동기화합니다.",
|
|
"generalConfigDescriptionDefault": "주요 구성 입력(API URL, API Key, Model)과 네이티브 JSON 구성 관리를 지원합니다.",
|
|
"actions": {
|
|
"dragSort": "드래그하여 순서 변경",
|
|
"dragSortAgent": "{name} 순서 변경",
|
|
"refreshCheck": "다시 확인",
|
|
"refreshCheckAgent": "{name} 다시 확인",
|
|
"clickEnable": "{name} 활성화",
|
|
"clickDisable": "{name} 비활성화",
|
|
"install": "설치",
|
|
"upgrade": "업그레이드",
|
|
"uninstall": "제거",
|
|
"uninstalling": "제거 중...",
|
|
"saveEnvVars": "환경 변수 저장",
|
|
"saving": "저장 중...",
|
|
"saveCodexConfig": "Codex 설정 저장",
|
|
"saveGeminiConfig": "Gemini 설정 저장",
|
|
"saveOpenCodeConfig": "OpenCode 설정 저장",
|
|
"saveOpenClawConfig": "OpenClaw 설정 저장",
|
|
"saveConfigManagement": "구성 관리 저장",
|
|
"saveCurrentProvider": "현재 Provider 저장",
|
|
"showApiKey": "API 키 보기",
|
|
"hideApiKey": "API 키 숨기기",
|
|
"showKey": "키 보기",
|
|
"hideKey": "키 숨기기",
|
|
"showToken": "토큰 보기",
|
|
"hideToken": "토큰 숨기기",
|
|
"cancel": "취소",
|
|
"delete": "삭제",
|
|
"deleting": "삭제 중...",
|
|
"confirmDelete": "삭제 확인",
|
|
"confirmUninstall": "제거 확인",
|
|
"saveClineConfig": "Cline 설정 저장"
|
|
},
|
|
"status": {
|
|
"enabled": "활성화됨",
|
|
"disabled": "비활성화됨",
|
|
"unchecked": "확인 안 됨",
|
|
"agentEnabledAria": "{name} 활성화됨",
|
|
"agentEnabledSwitch": "{name} 활성화 스위치"
|
|
},
|
|
"preflight": {
|
|
"count": "사전 점검 항목: {count}",
|
|
"notRun": "점검이 아직 실행되지 않았습니다."
|
|
},
|
|
"codex": {
|
|
"configDescription": "API URL, API Key, 모델 이름, reasoning effort를 빠르게 설정하고 `auth.json` / `config.toml`과 동기화합니다.",
|
|
"authMode": "인증 방식",
|
|
"chatgptSubscription": "공식 구독",
|
|
"chatgptSubscriptionHint": "ChatGPT 공식 구독으로 로그인, API Key 불필요",
|
|
"apiKeyHint": "API Key로 OpenAI 또는 호환 API 서비스에 연결",
|
|
"selectProvider": "Provider 선택",
|
|
"modelName": "모델 이름",
|
|
"selectReasoningEffort": "Reasoning Effort 선택",
|
|
"enableWebsocket": "WebSocket 활성화",
|
|
"enableWebsocketAria": "Codex Provider용 WebSocket 활성화",
|
|
"authJsonNative": "auth.json (네이티브)",
|
|
"configTomlNative": "config.toml (네이티브)"
|
|
},
|
|
"gemini": {
|
|
"authConfig": "Gemini 인증 설정",
|
|
"authConfigDescription": "Gemini CLI 인증 문서와 정렬되며, 커스텀 엔드포인트, Google 로그인, Gemini API Key, Vertex AI(ADC / 서비스 계정 / API Key)를 지원합니다.",
|
|
"authMode": "인증 모드",
|
|
"selectAuthMode": "인증 모드 선택",
|
|
"viewAuthDoc": "인증 문서 보기",
|
|
"mode": {
|
|
"custom": "커스텀 엔드포인트",
|
|
"loginGoogle": "Google 로그인 (OAuth)",
|
|
"vertexServiceAccount": "Vertex AI (서비스 계정)"
|
|
},
|
|
"hint": {
|
|
"custom": "API URL, API Key, Model을 입력하세요. GOOGLE_GEMINI_BASE_URL / GEMINI_API_KEY / GEMINI_MODEL에 매핑됩니다.",
|
|
"loginGoogle": "먼저 터미널에서 gemini를 실행해 Google 로그인을 완료하세요. API key는 필요하지 않습니다.",
|
|
"geminiApiKey": "Gemini API 사용 시 GEMINI_API_KEY를 입력하세요.",
|
|
"vertexAdc": "gcloud ADC를 사용합니다. GOOGLE_CLOUD_PROJECT와 GOOGLE_CLOUD_LOCATION 설정을 권장합니다.",
|
|
"vertexServiceAccount": "서비스 계정 JSON 경로를 GOOGLE_APPLICATION_CREDENTIALS에 설정하세요.",
|
|
"vertexApiKey": "Vertex AI API key 사용 시 GOOGLE_API_KEY를 입력하세요."
|
|
}
|
|
},
|
|
"openCode": {
|
|
"configManagement": "OpenCode 구성 관리",
|
|
"configDescription": "OpenCode `provider` 스키마에 맞추어 다중 Provider 관리와 네이티브 JSON 파일 양방향 동기화를 지원합니다.",
|
|
"providerManagement": "Provider 관리",
|
|
"providerCount": "Provider {count}개",
|
|
"addProvider": "Provider 추가",
|
|
"emptyProvider": "아직 Provider가 없습니다. ID를 입력한 뒤 \"Provider 추가\"를 클릭하세요.",
|
|
"providerEnabledState": "{providerId} 활성 상태",
|
|
"selectProviderNpm": "provider.npm 선택",
|
|
"notSet": "설정 안 됨",
|
|
"modelManagement": "모델 관리",
|
|
"modelCount": "모델 {count}개",
|
|
"modelDescription": "OpenCode `provider.models`와 정렬됩니다. 빠른 관리는 현재 `name` / `id`를 지원하며, 기타 고급 필드는 유지되고 아래 네이티브 JSON에서 편집할 수 있습니다.",
|
|
"addModel": "모델 추가",
|
|
"emptyModel": "아직 모델이 없습니다. model id를 입력한 뒤 \"모델 추가\"를 클릭하세요.",
|
|
"modelId": "모델 ID",
|
|
"modelName": "모델 이름",
|
|
"deleteModel": "모델 {modelId} 삭제",
|
|
"nativeJsonConfig": "OpenCode 네이티브 JSON 구성"
|
|
},
|
|
"openClaw": {
|
|
"gatewayConfig": "Gateway 구성",
|
|
"gatewayDescription": "OpenClaw Gateway 연결을 구성합니다. 로컬 또는 원격 gateway를 지원합니다.",
|
|
"gatewayUrlHint": "비워두면 로컬 openclaw 설정의 gateway.remote.url을 사용합니다.",
|
|
"gatewayTokenPlaceholder": "Gateway 인증 토큰",
|
|
"gatewayTokenHint": "가능하면 평문 토큰 대신 token-file을 사용하세요. openclaw CLI로 설정하세요.",
|
|
"sessionKeyHint": "선택 사항입니다. gateway 세션 키를 지정합니다. 비워두면 격리된 세션이 자동 할당됩니다."
|
|
},
|
|
"authModeOfficialSubscription": "공식 구독",
|
|
"authModeCustomEndpoint": "사용자 정의 엔드포인트",
|
|
"authModeCustomEndpointHint": "API URL과 API Key를 수동으로 구성하여 사용자 정의 엔드포인트에 연결합니다.",
|
|
"authModeModelProvider": "모델 공급자",
|
|
"modelProvider": "모델 공급자",
|
|
"modelProviderHint": "구성된 모델 공급자의 API URL 및 API Key를 사용합니다.",
|
|
"selectModelProvider": "모델 공급자 선택",
|
|
"noModelProviderAvailable": "이 에이전트에 구성된 모델 공급자가 없습니다. 모델 공급자 설정에서 추가하세요.",
|
|
"claude": {
|
|
"authMode": "인증 방식",
|
|
"officialSubscription": "공식 구독",
|
|
"officialSubscriptionHint": "Anthropic 공식 구독 사용, API Key 불필요.",
|
|
"mainModel": "메인 모델",
|
|
"reasoningModel": "추론 모델 (thinking)",
|
|
"haikuDefaultModel": "기본 Haiku 모델",
|
|
"sonnetDefaultModel": "기본 Sonnet 모델",
|
|
"opusDefaultModel": "기본 Opus 모델"
|
|
},
|
|
"dialogs": {
|
|
"confirmDeleteProvider": "Provider {providerId}를 삭제하시겠습니까?",
|
|
"confirmDeleteProviderDescription": "OpenCode config와 auth JSON이 함께 업데이트됩니다. 이 작업은 되돌릴 수 없습니다.",
|
|
"confirmUninstall": "{name}을(를) 제거하시겠습니까?",
|
|
"confirmUninstallDescription": "로컬 설치 버전을 제거합니다. 나중에 다시 설치할 수 있습니다."
|
|
},
|
|
"errors": {
|
|
"nativeJsonMustBeObject": "네이티브 JSON 구성은 객체여야 합니다",
|
|
"nativeJsonInvalid": "네이티브 JSON 구성 형식 오류: {message}",
|
|
"openCodeAuthMustBeObject": "OpenCode auth.json은 JSON 객체여야 합니다",
|
|
"openCodeAuthInvalid": "OpenCode auth.json 형식 오류: {message}",
|
|
"authMustBeObject": "auth.json은 JSON 객체여야 합니다",
|
|
"authInvalid": "auth.json 형식 오류: {message}",
|
|
"providerIdPattern": "Provider ID는 문자, 숫자, 밑줄, 점, 하이픈만 지원합니다",
|
|
"providerExists": "Provider '{providerId}'가 이미 존재합니다",
|
|
"modelIdPattern": "Model ID는 문자, 숫자, 밑줄, 점, 콜론, 하이픈만 지원합니다",
|
|
"modelExists": "Model '{modelId}'가 이미 존재합니다"
|
|
},
|
|
"warnings": {
|
|
"nativeJsonRecoveredStructured": "네이티브 JSON 구성이 잘못되어 구조화 구성으로 재설정했습니다",
|
|
"nativeJsonRecoveredOpenCode": "네이티브 JSON 구성이 잘못되어 OpenCode 구조화 구성으로 재설정했습니다",
|
|
"openCodeAuthRecovered": "OpenCode auth.json이 잘못되어 기본 구성으로 재설정했습니다",
|
|
"authRecoveredStructured": "auth.json이 잘못되어 구조화 구성으로 재설정했습니다"
|
|
},
|
|
"toasts": {
|
|
"agentActionCompleted": "{name} {action} 완료",
|
|
"agentActionFailed": "{name} {action} 실패",
|
|
"localVersion": "로컬 버전: {version}",
|
|
"installCompletedVersionLater": "설치가 완료되었습니다. 버전은 다음 확인 시 업데이트됩니다",
|
|
"uninstallCompleted": "{name} 제거 완료",
|
|
"uninstallFailed": "{name} 제거 실패",
|
|
"localVersionRemoved": "로컬 버전이 제거되었습니다",
|
|
"saveAgentOrderFailed": "Agent 순서 저장 실패",
|
|
"saveAgentSwitchFailed": "Agent 스위치 저장 실패",
|
|
"saveEnvFailed": "환경 변수 저장 실패",
|
|
"codexSaved": "Codex 설정 저장됨",
|
|
"saveCodexNativeFailed": "Codex 네이티브 구성 저장 실패",
|
|
"geminiSaved": "Gemini 설정 저장됨",
|
|
"saveGeminiFailed": "Gemini 설정 저장 실패",
|
|
"providerDeleted": "Provider {providerId} 삭제됨",
|
|
"providerDeleteFailed": "Provider {providerId} 삭제 실패",
|
|
"providerSaved": "Provider {providerId} 저장됨",
|
|
"saveProviderFailed": "Provider {providerId} 저장 실패",
|
|
"openCodeConfigSynced": "OpenCode config와 auth JSON이 동기화되었습니다.",
|
|
"openCodeSaved": "OpenCode 설정 저장됨",
|
|
"saveOpenCodeFailed": "OpenCode 설정 저장 실패",
|
|
"openClawSaved": "OpenClaw 설정 저장됨",
|
|
"saveOpenClawFailed": "OpenClaw 설정 저장 실패",
|
|
"configSaved": "구성이 저장되었습니다",
|
|
"configSavedHint": "기존 세션은 다시 열어야 적용됩니다",
|
|
"saveConfigManagementFailed": "구성 관리 저장 실패",
|
|
"clineSaved": "Cline 설정 저장됨",
|
|
"saveClineFailed": "Cline 설정 저장 실패",
|
|
"modelProviderRequired": "저장하기 전에 모델 공급자를 선택하세요."
|
|
},
|
|
"version": {
|
|
"statusLabel": "버전 상태",
|
|
"notInstalled": "설치되지 않음",
|
|
"remoteLocal": "원격: {remoteVersion} · 로컬: {localVersion}",
|
|
"platformUnsupported": "{versionText}. 현재 플랫폼에서는 이 에이전트를 지원하지 않습니다.",
|
|
"clickInstall": "{versionText}. 오른쪽의 설치를 클릭하세요.",
|
|
"localUnrecognized": "{versionText}. 로컬 버전을 비교할 수 없습니다. 덮어쓰기 설치를 위해 업그레이드를 시도하세요.",
|
|
"upgradeAvailable": "{versionText}. 업그레이드가 가능합니다.",
|
|
"remoteUnavailable": "{versionText}. 현재 원격 버전을 사용할 수 없습니다.",
|
|
"latest": "{versionText}. 이미 최신입니다."
|
|
},
|
|
"cline": {
|
|
"configDescription": "Cline API 제공자와 자격 증명을 구성합니다. 설정은 ~/.cline/data/에 저장됩니다."
|
|
}
|
|
},
|
|
"SettingsPages": {
|
|
"agentsLoading": "에이전트 설정을 불러오는 중..."
|
|
},
|
|
"CommitPage": {
|
|
"title": "커밋",
|
|
"invalidFolderId": "유효하지 않은 폴더 ID",
|
|
"loadingRepo": "저장소를 불러오는 중..."
|
|
},
|
|
"MergePage": {
|
|
"title": "충돌 해결",
|
|
"invalidFolderId": "잘못된 폴더 ID",
|
|
"loadingRepo": "저장소 로딩 중...",
|
|
"localVersion": "로컬 (우리 쪽)",
|
|
"result": "결과",
|
|
"remoteVersion": "원격 (상대 쪽)",
|
|
"acceptLocal": "로컬 적용",
|
|
"acceptRemote": "원격 적용",
|
|
"markResolved": "해결됨으로 표시",
|
|
"abortMerge": "중단",
|
|
"completeMerge": "병합 완료",
|
|
"unresolvedConflicts": "파일에 아직 해결되지 않은 충돌 마커가 있습니다",
|
|
"fileResolved": "파일이 해결되었습니다",
|
|
"allResolved": "모든 충돌이 해결되었습니다",
|
|
"conflictFiles": "충돌 파일",
|
|
"loadingFile": "파일 로딩 중...",
|
|
"preparingMerge": "병합 준비 중...",
|
|
"selectFile": "해결할 파일을 선택하세요",
|
|
"noConflicts": "충돌 파일 없음",
|
|
"skipFile": "건너뛰기",
|
|
"abortSuccess": "작업이 중단되었습니다",
|
|
"applyAllNonConflicting": "충돌하지 않는 모든 변경 적용",
|
|
"applyLeftNonConflicting": "로컬 적용",
|
|
"applyRightNonConflicting": "원격 적용"
|
|
},
|
|
"Folder": {
|
|
"common": {
|
|
"all": "전체",
|
|
"cancel": "취소",
|
|
"close": "닫기",
|
|
"closeOthers": "다른 항목 닫기",
|
|
"closeAll": "모두 닫기",
|
|
"confirm": "확인",
|
|
"save": "저장",
|
|
"delete": "삭제",
|
|
"rename": "이름 변경",
|
|
"loading": "로딩 중...",
|
|
"refresh": "새로고침",
|
|
"refreshing": "새로고침 중...",
|
|
"create": "생성",
|
|
"createAndSwitch": "생성 후 전환",
|
|
"openFile": "파일 열기",
|
|
"viewDiff": "Diff 보기",
|
|
"push": "푸시..."
|
|
},
|
|
"modes": {
|
|
"conversation": "대화 모드",
|
|
"fusion": "퓨전 모드",
|
|
"files": "파일 모드",
|
|
"workspaceModesAria": "워크스페이스 모드"
|
|
},
|
|
"statusLabels": {
|
|
"in_progress": "진행 중",
|
|
"pending_review": "검토",
|
|
"completed": "완료",
|
|
"cancelled": "취소됨"
|
|
},
|
|
"sidebar": {
|
|
"title": "대화",
|
|
"locateActiveConversation": "활성 대화 찾기",
|
|
"expandAllGroups": "모든 그룹 펼치기",
|
|
"collapseAllGroups": "모든 그룹 접기",
|
|
"newConversation": "새 대화",
|
|
"noConversationsFound": "대화를 찾을 수 없습니다.",
|
|
"importLocalSessions": "로컬 세션 가져오기",
|
|
"importing": "가져오는 중...",
|
|
"error": "오류: {message}",
|
|
"completeAllSessions": "모든 세션 완료 처리",
|
|
"completeAllReviewTitle": "모든 검토 세션을 완료 처리할까요?",
|
|
"completeAllReviewDescription": "검토 상태의 {count, plural, one {#개 세션} other {#개 세션}}을 모두 완료로 표시합니다.",
|
|
"completing": "완료 처리 중...",
|
|
"toasts": {
|
|
"importedSessions": "{imported, plural, one {#개 세션} other {#개 세션}}을 가져오고 {skipped}개를 건너뛰었습니다",
|
|
"noNewSessionsFound": "새 세션이 없습니다 ({skipped}개 건너뜀)",
|
|
"importFailed": "가져오기 실패: {message}",
|
|
"reviewCompleted": "{count, plural, one {#개 검토 세션} other {#개 검토 세션}}을 완료로 표시했습니다",
|
|
"completeReviewFailed": "검토 세션 완료 처리 실패: {message}"
|
|
}
|
|
},
|
|
"conversation": {
|
|
"reloadFailed": "대화 다시 불러오기 실패: {message}",
|
|
"reloaded": "대화를 다시 불러왔습니다",
|
|
"reload": "다시 불러오기",
|
|
"newConversation": "새 대화",
|
|
"closeConversation": "대화 닫기",
|
|
"forkSession": "세션 포크",
|
|
"forkSessionSuccess": "세션 포크 성공",
|
|
"forkSessionFailed": "세션 포크 실패: {error}",
|
|
"exportConversation": "대화 내보내기",
|
|
"exportImage": "이미지",
|
|
"exportMarkdown": "Markdown",
|
|
"exportHtml": "HTML",
|
|
"exportSuccess": "대화를 내보냈습니다",
|
|
"exportFailed": "내보내기 실패",
|
|
"exportImageTooLong": "대화가 너무 길어 이미지로 내보낼 수 없습니다",
|
|
"exportLabels": {
|
|
"untitledConversation": "제목 없는 대화",
|
|
"agent": "에이전트",
|
|
"model": "모델",
|
|
"status": "상태",
|
|
"started": "시작",
|
|
"updated": "업데이트",
|
|
"tokens": "토큰 통계",
|
|
"duration": "소요 시간",
|
|
"inputTokens": "입력",
|
|
"outputTokens": "출력",
|
|
"cacheRead": "캐시 읽기",
|
|
"cacheWrite": "캐시 쓰기",
|
|
"user": "사용자",
|
|
"assistant": "어시스턴트",
|
|
"system": "시스템",
|
|
"toolResult": "결과",
|
|
"toolError": "오류"
|
|
}
|
|
},
|
|
"conversationCard": {
|
|
"untitledConversation": "제목 없는 대화",
|
|
"newConversation": "새 대화",
|
|
"rename": "이름 변경",
|
|
"status": "상태",
|
|
"delete": "삭제",
|
|
"importLocalSessions": "로컬 세션 가져오기",
|
|
"importing": "가져오는 중...",
|
|
"renameConversation": "대화 이름 변경",
|
|
"deleteConversationTitle": "대화를 삭제할까요?",
|
|
"deleteConversationDescription": "\"{title}\"을(를) 삭제합니다. 이 작업은 되돌릴 수 없습니다.",
|
|
"cancel": "취소",
|
|
"save": "저장"
|
|
},
|
|
"search": {
|
|
"dialogTitle": "검색",
|
|
"tabConversations": "대화",
|
|
"tabFiles": "파일",
|
|
"placeholder": "대화 검색...",
|
|
"filePlaceholder": "파일 또는 디렉토리 검색...",
|
|
"allAgents": "전체",
|
|
"searching": "검색 중...",
|
|
"typeToSearch": "입력하여 대화를 검색하세요",
|
|
"typeToSearchFiles": "입력하여 파일 또는 디렉토리를 검색하세요",
|
|
"noResults": "검색 결과가 없습니다.",
|
|
"untitledConversation": "제목 없는 대화"
|
|
},
|
|
"folderTitleBar": {
|
|
"showSidebar": "사이드바 표시",
|
|
"hideSidebar": "사이드바 숨기기",
|
|
"toggleTerminal": "터미널 전환",
|
|
"toggleAuxPanel": "보조 패널 전환",
|
|
"search": "검색",
|
|
"openSettings": "설정 열기",
|
|
"withShortcut": "{label} ({shortcut} 단축키)"
|
|
},
|
|
"statusBar": {
|
|
"connection": {
|
|
"connected": "연결됨",
|
|
"connecting": "연결 중...",
|
|
"downloading": "다운로드 중...",
|
|
"prompting": "응답 중...",
|
|
"error": "연결 오류",
|
|
"disconnected": "연결 끊김",
|
|
"tooltip": "{agent}: {status}",
|
|
"tooltipError": "{agent}: {error}"
|
|
},
|
|
"tasks": {
|
|
"title": "작업"
|
|
},
|
|
"alerts": {
|
|
"title": "알림",
|
|
"empty": "알림 없음"
|
|
},
|
|
"stats": {
|
|
"conversations": "{count}개 대화",
|
|
"summary": "{conversations}개 대화 / {messages}개 메시지"
|
|
},
|
|
"tokens": {
|
|
"contextWindowUsageAria": "컨텍스트 윈도우 사용량",
|
|
"contextWindow": "컨텍스트 윈도우",
|
|
"usedMax": "사용 / 최대",
|
|
"tokenUsage": "토큰 사용량",
|
|
"input": "입력",
|
|
"output": "출력",
|
|
"cacheRead": "캐시 읽기",
|
|
"cacheWrite": "캐시 쓰기",
|
|
"total": "합계"
|
|
}
|
|
},
|
|
"auxPanel": {
|
|
"tabs": {
|
|
"diff": "차이",
|
|
"files": "파일",
|
|
"changes": "변경사항",
|
|
"commits": "커밋"
|
|
}
|
|
},
|
|
"windowControls": {
|
|
"minimizeWindow": "창 최소화",
|
|
"minimize": "최소화",
|
|
"maximizeWindow": "창 최대화",
|
|
"maximize": "최대화",
|
|
"restoreWindow": "창 복원",
|
|
"restore": "복원",
|
|
"closeWindow": "창 닫기",
|
|
"close": "닫기"
|
|
},
|
|
"tabs": {
|
|
"closeConversationTab": "대화 탭 닫기",
|
|
"close": "닫기",
|
|
"closeOthers": "다른 항목 닫기",
|
|
"closeAll": "모두 닫기",
|
|
"tileDisplay": "타일 표시",
|
|
"untileDisplay": "타일 해제"
|
|
},
|
|
"fileWorkspace": {
|
|
"files": "파일",
|
|
"closeFileTab": "파일 탭 닫기",
|
|
"close": "닫기",
|
|
"closeOthers": "다른 항목 닫기",
|
|
"closeAll": "모두 닫기",
|
|
"preview": "미리보기",
|
|
"editSource": "소스 편집"
|
|
},
|
|
"terminal": {
|
|
"rename": "이름 변경",
|
|
"close": "닫기",
|
|
"closeOthers": "다른 항목 닫기",
|
|
"closeAll": "모두 닫기",
|
|
"hideTerminal": "터미널 숨기기 ({shortcut})"
|
|
},
|
|
"sessionFiles": {
|
|
"currentResponse": "현재 응답",
|
|
"noDiffDataAvailable": "{filePath}에 대한 diff 데이터가 없습니다",
|
|
"loading": "로딩 중...",
|
|
"noFileChangesInConversation": "이 대화에서 파일 변경을 찾을 수 없습니다",
|
|
"openConversationToSeeChanges": "대화를 열어 파일 변경을 확인하세요",
|
|
"remove": "제거",
|
|
"changeCount": "{count, plural, one {#개 변경} other {#개 변경}}",
|
|
"fileCount": "{count, plural, one {#개 파일} other {#개 파일}}"
|
|
},
|
|
"folderNameDropdown": {
|
|
"fallbackFolderName": "폴더",
|
|
"openFolder": "폴더 열기",
|
|
"cloneRepository": "리포지토리 클론",
|
|
"projectBoot": "프로젝트 부트",
|
|
"opened": "열린 항목",
|
|
"recentOpen": "최근 연 항목"
|
|
},
|
|
"fileWorkspacePanel": {
|
|
"viewDiff": "Diff 보기",
|
|
"openFile": "파일 열기",
|
|
"fileCount": "{count, plural, one {#개 파일} other {#개 파일}}",
|
|
"openFileOrDiff": "오른쪽 패널에서 파일 또는 diff를 여세요",
|
|
"disk": "디스크",
|
|
"head": "HEAD",
|
|
"unsaved": "저장되지 않음",
|
|
"workingTree": "작업 트리",
|
|
"loading": "로딩 중...",
|
|
"compareWithBranch": "{path} · {branch}와 비교",
|
|
"hunkCount": "{count, plural, one {#개 hunk} other {#개 hunks}}",
|
|
"prev": "이전",
|
|
"next": "다음",
|
|
"jumpToLine": "{line}행으로 이동",
|
|
"noParsedDiffSections": "파싱된 diff 섹션이 없습니다",
|
|
"loadingEditor": "에디터 로딩 중...",
|
|
"imageZoomIn": "확대",
|
|
"imageZoomOut": "축소",
|
|
"imageZoomReset": "확대/축소 초기화"
|
|
},
|
|
"branchDropdown": {
|
|
"toasts": {
|
|
"commitCodeCompleted": "코드 커밋이 완료되었습니다",
|
|
"pushCodeCompleted": "코드 푸시가 완료되었습니다",
|
|
"committedFiles": "{count, plural, one {#개 파일 커밋됨} other {#개 파일 커밋됨}}",
|
|
"taskCompleted": "{label} 완료",
|
|
"taskFailed": "{label} 실패",
|
|
"mergeNoNewCommits": "{branchName}에는 새 커밋이 없습니다",
|
|
"mergedCommits": "{count, plural, one {#개 커밋 병합됨} other {#개 커밋 병합됨}}",
|
|
"allFilesUpToDate": "모든 파일이 최신 상태입니다",
|
|
"updatedFiles": "{count, plural, one {#개 파일 업데이트됨} other {#개 파일 업데이트됨}}",
|
|
"openCommitWindowFailed": "커밋 창을 열지 못했습니다",
|
|
"openPushWindowFailed": "푸시 창 열기 실패",
|
|
"upstreamSet": "업스트림 브랜치가 설정되었습니다",
|
|
"upstreamSetAndPushed": "업스트림 브랜치를 설정하고 {count, plural, one {#개 커밋} other {#개 커밋}}을 푸시했습니다",
|
|
"noCommitsToPush": "푸시할 커밋이 없습니다",
|
|
"pushedCommits": "{count, plural, one {#개 커밋 푸시됨} other {#개 커밋 푸시됨}}"
|
|
},
|
|
"tasks": {
|
|
"newBranch": "브랜치 {name} 생성",
|
|
"newWorktree": "워크트리 {name} 생성",
|
|
"checkoutTo": "{branchName}(으)로 체크아웃",
|
|
"mergeBranch": "{branchName} 병합",
|
|
"rebaseTo": "{branchName}로 리베이스",
|
|
"deleteBranch": "브랜치 {branchName} 삭제",
|
|
"deleteRemoteBranch": "원격 브랜치 {branchName} 삭제",
|
|
"initGitRepo": "Git 저장소 초기화",
|
|
"pullCode": "코드 pull",
|
|
"fetchInfo": "정보 fetch",
|
|
"pushCode": "코드 push",
|
|
"stashChanges": "변경 사항 stash",
|
|
"stashPop": "stash pop"
|
|
},
|
|
"confirm": {
|
|
"mergeTitle": "브랜치 병합",
|
|
"rebaseTitle": "브랜치 리베이스",
|
|
"deleteTitle": "브랜치 삭제",
|
|
"mergeDescription": "{branchName}을(를) 현재 브랜치 {currentBranch}에 병합할까요?",
|
|
"rebaseDescription": "현재 브랜치 {currentBranch}를 {branchName} 위로 리베이스할까요?",
|
|
"deleteDescription": "브랜치 {branchName}을(를) 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
|
|
"forceDeleteTitle": "브랜치 강제 삭제",
|
|
"forceDeleteDescription": "브랜치 {branchName}가 완전히 병합되지 않았습니다. 강제 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
|
|
"deleteRemoteTitle": "원격 브랜치 삭제",
|
|
"deleteRemoteDescription": "원격 브랜치 {branchName}을(를) 삭제하시겠습니까? 이 작업은 원격 저장소에서 브랜치를 제거하며 되돌릴 수 없습니다."
|
|
},
|
|
"current": "현재",
|
|
"switchToBranch": "이 브랜치로 전환",
|
|
"mergeBranchIntoCurrent": "{branchName}을(를) {currentBranch}에 병합",
|
|
"rebaseCurrentToBranch": "{currentBranch}를 {branchName}로 리베이스",
|
|
"deleteBranch": "브랜치 삭제",
|
|
"versionControl": "버전 관리",
|
|
"initGitRepo": "Git 저장소 초기화",
|
|
"pullCode": "코드 pull",
|
|
"fetchRemoteBranches": "원격 브랜치 가져오기",
|
|
"openCommitWindow": "코드 커밋...",
|
|
"pushCode": "푸시...",
|
|
"newBranch": "새 브랜치...",
|
|
"newWorktree": "새 워크트리...",
|
|
"stashChanges": "스태시...",
|
|
"stashPop": "stash pop...",
|
|
"manageRemotes": "원격 관리...",
|
|
"localBranches": "로컬 브랜치 ({count, plural, one {#} other {#}})",
|
|
"noLocalBranches": "로컬 브랜치가 없습니다",
|
|
"remoteBranches": "원격 브랜치 ({count, plural, one {#} other {#}})",
|
|
"noRemoteBranches": "원격 브랜치가 없습니다",
|
|
"parentBranchHint": "현재 브랜치는 {parentBranch}에서 생성되었습니다. 클릭하여 {parentBranch}를 현재 브랜치에 병합하세요.",
|
|
"dialogs": {
|
|
"newBranchTitle": "새 브랜치",
|
|
"newBranchDescription": "현재 브랜치 {branch}에서 새 브랜치를 만듭니다",
|
|
"branchNamePlaceholder": "브랜치 이름",
|
|
"newWorktreeTitle": "새 워크트리",
|
|
"newWorktreeDescription": "현재 브랜치 {branch}에서 새 워크트리를 만듭니다",
|
|
"branchNameLabel": "브랜치 이름",
|
|
"worktreePathLabel": "워크트리 경로",
|
|
"worktreePathPlaceholder": "워크트리 경로",
|
|
"manageRemotesTitle": "원격 관리",
|
|
"manageRemotesEmpty": "구성된 원격이 없습니다",
|
|
"remoteNamePlaceholder": "원격 이름",
|
|
"remoteUrlPlaceholder": "원격 URL",
|
|
"addRemote": "추가",
|
|
"savingRemotes": "저장 중..."
|
|
},
|
|
"conflict": {
|
|
"title": "병합 충돌",
|
|
"description": "다음 파일에 충돌이 있어 해결이 필요합니다:",
|
|
"abort": "병합 중단",
|
|
"openMergeTool": "병합 도구 열기",
|
|
"completeMerge": "병합 완료",
|
|
"abortSuccess": "병합이 중단되었습니다",
|
|
"completeSuccess": "병합이 완료되었습니다"
|
|
},
|
|
"stashDialog": {
|
|
"title": "변경 사항 스태시",
|
|
"description": "현재 변경 사항을 스태시에 저장",
|
|
"messageLabel": "메시지",
|
|
"messagePlaceholder": "스태시 메시지 (선택사항)",
|
|
"keepIndex": "인덱스 유지 (스테이지된 변경 사항 유지)",
|
|
"cancel": "취소",
|
|
"stash": "스태시",
|
|
"success": "변경 사항이 스태시되었습니다",
|
|
"error": "스태시 실패"
|
|
},
|
|
"unstashDialog": {
|
|
"title": "스태시 적용",
|
|
"noStashes": "스태시가 없습니다",
|
|
"selectFile": "파일을 선택하여 차이 보기",
|
|
"viewDiff": "차이 보기",
|
|
"original": "원본",
|
|
"modified": "수정됨",
|
|
"apply": "적용",
|
|
"drop": "삭제",
|
|
"applySuccess": "스태시가 적용되었습니다",
|
|
"dropSuccess": "스태시가 삭제되었습니다",
|
|
"confirmApply": "스태시 {ref}을(를) 작업 디렉토리에 적용하시겠습니까?",
|
|
"cancel": "취소"
|
|
}
|
|
},
|
|
"commitDialog": {
|
|
"toasts": {
|
|
"commitCompleted": "코드 커밋이 완료되었습니다",
|
|
"pushFailed": "푸시 실패",
|
|
"committedFiles": "{count, plural, one {#개 파일 커밋됨} other {#개 파일 커밋됨}}",
|
|
"addedToVcs": "VCS에 추가되었습니다",
|
|
"addToVcsFailed": "VCS에 추가하지 못했습니다",
|
|
"fileDeleted": "파일이 삭제되었습니다",
|
|
"deleteFailed": "삭제에 실패했습니다",
|
|
"fileRolledBack": "파일이 롤백되었습니다",
|
|
"rollbackFailed": "롤백에 실패했습니다",
|
|
"dirRolledBack": "디렉토리가 롤백되었습니다",
|
|
"dirDeleted": "디렉토리가 삭제되었습니다"
|
|
},
|
|
"confirm": {
|
|
"deleteTitle": "삭제 확인",
|
|
"deleteDescription": "파일 \"{file}\"을(를) 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
|
|
"rollbackTitle": "롤백 확인",
|
|
"rollbackDescription": "파일 \"{file}\"을(를) HEAD로 롤백할까요? 저장되지 않은 변경 사항은 사라집니다.",
|
|
"rollbackDirDescription": "디렉토리 \"{dir}\"를 HEAD로 롤백하시겠습니까? 저장되지 않은 변경 사항이 손실됩니다.",
|
|
"deleteDirDescription": "디렉토리 \"{dir}\"를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
|
|
},
|
|
"actions": {
|
|
"select": "선택",
|
|
"unselect": "선택 해제",
|
|
"rollback": "롤백",
|
|
"addToVcs": "VCS에 추가"
|
|
},
|
|
"aria": {
|
|
"selectFile": "{action}: {path}",
|
|
"unselectAllFiles": "모든 파일 선택 해제",
|
|
"selectAllFiles": "모든 파일 선택",
|
|
"unselectTracked": "추적된 변경 선택 해제",
|
|
"selectTracked": "추적된 변경 선택",
|
|
"unselectUntracked": "추적되지 않은 파일 선택 해제",
|
|
"selectUntracked": "추적되지 않은 파일 선택"
|
|
},
|
|
"loading": "로딩 중...",
|
|
"selectionCount": "{selected} / {total}개 파일",
|
|
"emptyFiles": "변경된 파일이 없습니다",
|
|
"trackedChanges": "추적된 변경 ({count})",
|
|
"untrackedFiles": "추적되지 않은 파일 ({count})",
|
|
"commitMessage": "커밋 메시지",
|
|
"commitMessagePlaceholder": "커밋 메시지 입력...",
|
|
"commitButton": "커밋 ({count})",
|
|
"commitAndPushButton": "커밋 후 푸시 ({count})",
|
|
"head": "HEAD",
|
|
"workingTree": "작업 트리",
|
|
"clickFileToDiff": "파일 이름을 클릭해 diff를 확인하세요",
|
|
"loadingDiff": "diff 로딩 중..."
|
|
},
|
|
"pushWindow": {
|
|
"title": "코드 푸시",
|
|
"noUnpushedCommits": "푸시되지 않은 커밋이 없습니다",
|
|
"noRemoteConfigured": "Git 원격이 구성되지 않았습니다\n「원격 관리」에서 원격을 추가하세요",
|
|
"newBranchNoPushedCommits": "새 브랜치 — 푸시하여 원격 추적 브랜치 생성",
|
|
"unpushed": "미푸시",
|
|
"selectFileToViewDiff": "파일을 선택하여 차이 보기",
|
|
"before": "변경 전",
|
|
"after": "변경 후",
|
|
"push": "푸시",
|
|
"toasts": {
|
|
"pushSuccess": "푸시 성공",
|
|
"pushFailed": "푸시 실패",
|
|
"upstreamSet": "원격 추적 브랜치가 설정되었습니다",
|
|
"upstreamSetAndPushed": "원격 추적 브랜치 설정 및 {count}개 커밋 푸시 완료",
|
|
"noCommitsToPush": "푸시할 커밋이 없습니다",
|
|
"pushedCommits": "{count}개 커밋 푸시 완료"
|
|
}
|
|
},
|
|
"gitLogTab": {
|
|
"filesTitle": "파일",
|
|
"expandAllFiles": "모든 파일 펼치기",
|
|
"collapseAllFiles": "모든 파일 접기",
|
|
"workspace": "작업 공간",
|
|
"retry": "다시 시도",
|
|
"noCommitsFound": "커밋을 찾을 수 없습니다",
|
|
"hash": "해시",
|
|
"copyHash": "해시 복사",
|
|
"copyMessage": "메시지 복사",
|
|
"author": "작성자",
|
|
"noFileChangeDetails": "파일 변경 상세 정보가 없습니다.",
|
|
"branchesTitle": "브랜치",
|
|
"loadingBranches": "브랜치 로딩 중...",
|
|
"noContainingBranches": "포함하는 브랜치를 찾을 수 없습니다.",
|
|
"newBranch": "새 브랜치...",
|
|
"viewCommitDiffAria": "커밋 {hash}의 diff 보기",
|
|
"copyFullCommitHashAria": "전체 커밋 해시 {hash} 복사",
|
|
"pushStatus": {
|
|
"pushed": "원격에 푸시됨",
|
|
"notPushed": "원격에 푸시되지 않음",
|
|
"unknown": "푸시 상태 알 수 없음 (upstream 미설정)"
|
|
},
|
|
"time": {
|
|
"monthsAgo": "{count, plural, one {#개월 전} other {#개월 전}}",
|
|
"daysAgo": "{count, plural, one {#일 전} other {#일 전}}",
|
|
"hoursAgo": "{count, plural, one {#시간 전} other {#시간 전}}",
|
|
"minsAgo": "{count, plural, one {#분 전} other {#분 전}}",
|
|
"justNow": "방금 전"
|
|
},
|
|
"toasts": {
|
|
"createdAndSwitchedNewBranch": "새 브랜치를 생성하고 전환했습니다",
|
|
"newBranchFromCommit": "{name} ({shortHash}에서 생성)",
|
|
"createBranchFailed": "브랜치 생성에 실패했습니다",
|
|
"openPushWindowFailed": "푸시 창을 열지 못했습니다"
|
|
},
|
|
"branchSelector": {
|
|
"selectBranchPlaceholder": "브랜치 선택...",
|
|
"localBranches": "로컬 브랜치",
|
|
"current": "현재",
|
|
"remoteBranches": "원격 브랜치",
|
|
"refreshCommitHistory": "커밋 히스토리 새로고침"
|
|
},
|
|
"dialogs": {
|
|
"newBranchTitle": "새 브랜치",
|
|
"newBranchDescription": "커밋 {shortHash}를 최신 커밋으로 하여 새 브랜치를 생성합니다.",
|
|
"branchNamePlaceholder": "브랜치 이름"
|
|
}
|
|
},
|
|
"gitChangesTab": {
|
|
"workspace": "작업 공간",
|
|
"noChanges": "로컬 변경 사항이 없습니다",
|
|
"trackedChanges": "추적된 변경 ({count})",
|
|
"untrackedFiles": "추적되지 않은 파일 ({count})",
|
|
"expandTracked": "추적된 변경 펼치기",
|
|
"collapseTracked": "추적된 변경 접기",
|
|
"expandUntracked": "추적되지 않은 파일 펼치기",
|
|
"collapseUntracked": "추적되지 않은 파일 접기",
|
|
"actions": {
|
|
"commitCode": "코드 커밋",
|
|
"rollback": "롤백",
|
|
"addToVcs": "VCS에 추가",
|
|
"delete": "삭제"
|
|
},
|
|
"toasts": {
|
|
"noAddableFilesInDir": "이 디렉터리에는 VCS에 추가할 수 있는 변경 파일이 없습니다",
|
|
"noRollbackFilesInDir": "이 디렉터리에는 롤백할 수 있는 변경 파일이 없습니다",
|
|
"addedToVcs": "{name}을(를) VCS에 추가했습니다",
|
|
"addToVcsFailed": "VCS에 추가하지 못했습니다",
|
|
"openCommitWindowFailed": "커밋 창을 열지 못했습니다",
|
|
"rolledBack": "{name}을(를) 롤백했습니다",
|
|
"rollbackFailed": "롤백에 실패했습니다",
|
|
"addedFilesToVcs": "{count, plural, one {#개 파일을 VCS에 추가} other {#개 파일을 VCS에 추가}}",
|
|
"rolledBackFiles": "{count, plural, one {#개 파일 롤백} other {#개 파일 롤백}}",
|
|
"deleted": "{name}이(가) 삭제되었습니다",
|
|
"deleteFailed": "삭제에 실패했습니다",
|
|
"deletedFiles": "{count}개 파일을 삭제했습니다",
|
|
"noDeletableFilesInDir": "이 디렉터리에서 삭제할 수 있는 변경된 파일이 없습니다"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "디렉터리 {path} 아래에서 VCS에 추가할 파일을 선택하세요.",
|
|
"descriptionRollback": "디렉터리 {path} 아래에서 롤백할 파일을 선택하세요.",
|
|
"descriptionDelete": "디렉터리 {path} 아래에서 삭제할 파일을 선택하세요. 이 작업은 되돌릴 수 없습니다.",
|
|
"descriptionFallback": "계속 진행할 파일을 선택하세요.",
|
|
"selectionCount": "{selected} / {total} 선택됨",
|
|
"selectAll": "모두 선택",
|
|
"unselectAll": "모두 선택 해제",
|
|
"loadingCandidates": "디렉터리 변경 사항 로딩 중...",
|
|
"noOperableFiles": "작업 가능한 파일이 없습니다"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "롤백 확인",
|
|
"descriptionWithTarget": "{kind} \"{name}\"의 로컬 변경 사항을 롤백할까요?",
|
|
"descriptionFallback": "로컬 변경 사항을 롤백할까요?",
|
|
"kindDirectory": "디렉터리",
|
|
"kindFile": "파일"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "삭제 확인",
|
|
"descriptionWithTarget": "{kind} \"{name}\"을(를) 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
|
|
"descriptionFallback": "이 작업은 되돌릴 수 없습니다.",
|
|
"kindDirectory": "디렉터리",
|
|
"kindFile": "파일"
|
|
}
|
|
},
|
|
"tabContext": {
|
|
"loadingConversation": "로딩 중...",
|
|
"untitledConversation": "제목 없는 대화",
|
|
"newConversation": "새 대화"
|
|
},
|
|
"fileTreeTab": {
|
|
"workspace": "작업 공간",
|
|
"retry": "다시 시도",
|
|
"git": "Git",
|
|
"openInFileManager": "파일 관리자에서 열기",
|
|
"openInFinder": "Finder에서 열기",
|
|
"openInExplorer": "Explorer에서 열기",
|
|
"attachToCurrentSession": "현재 세션에 연결",
|
|
"compareWithBranch": "브랜치와 비교...",
|
|
"reloadFromDisk": "디스크에서 다시 불러오기",
|
|
"new": "새로 만들기",
|
|
"newFile": "파일",
|
|
"newDirectory": "디렉터리",
|
|
"openIn": "열기",
|
|
"openInTerminal": "터미널에서 열기",
|
|
"actions": {
|
|
"select": "선택",
|
|
"unselect": "선택 해제",
|
|
"commitCode": "코드 커밋",
|
|
"rollback": "롤백",
|
|
"addToVcs": "VCS에 추가"
|
|
},
|
|
"aria": {
|
|
"selectPath": "{action}: {path}"
|
|
},
|
|
"toasts": {
|
|
"openDirectoryFailed": "디렉터리를 열지 못했습니다",
|
|
"openBuiltinTerminalFailed": "내장 터미널을 열 수 없습니다",
|
|
"openCommitWindowFailed": "커밋 창을 열지 못했습니다",
|
|
"noAddableFilesInDir": "이 디렉터리에는 VCS에 추가할 수 있는 변경 파일이 없습니다",
|
|
"noRollbackFilesInDir": "이 디렉터리에는 롤백할 수 있는 변경 파일이 없습니다",
|
|
"addedToVcs": "{name}을(를) VCS에 추가했습니다",
|
|
"addToVcsFailed": "VCS에 추가하지 못했습니다",
|
|
"loadBranchesFailed": "브랜치를 불러오지 못했습니다",
|
|
"renameFailed": "이름 변경에 실패했습니다",
|
|
"deleteFailed": "삭제에 실패했습니다",
|
|
"rolledBack": "{name}을(를) 롤백했습니다",
|
|
"rollbackFailed": "롤백에 실패했습니다",
|
|
"addedFilesToVcs": "{count, plural, one {#개 파일을 VCS에 추가했습니다} other {#개 파일을 VCS에 추가했습니다}}",
|
|
"rolledBackFiles": "{count, plural, one {#개 파일을 롤백했습니다} other {#개 파일을 롤백했습니다}}",
|
|
"savedAsCopy": "사본으로 저장했습니다",
|
|
"saveCopyFailed": "사본으로 저장하지 못했습니다",
|
|
"watchStartFailed": "파일 감시 시작에 실패했습니다",
|
|
"createFailed": "생성 실패"
|
|
},
|
|
"createDialog": {
|
|
"newFile": "새 파일",
|
|
"newDirectory": "새 디렉터리",
|
|
"description": "새 {kind}의 이름을 입력하세요.",
|
|
"placeholderFile": "file-name.ext",
|
|
"placeholderDirectory": "folder-name"
|
|
},
|
|
"renameDialog": {
|
|
"renameDirectory": "디렉터리 이름 변경",
|
|
"renameFile": "파일 이름 변경",
|
|
"description": "새 이름을 입력하세요(이름만, 경로 제외).",
|
|
"placeholderDirectory": "새-폴더-이름",
|
|
"placeholderFile": "새-파일-이름.ext"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "디렉터리 {path} 아래에서 VCS에 추가할 파일을 선택하세요.",
|
|
"descriptionRollback": "디렉터리 {path} 아래에서 롤백할 파일을 선택하세요.",
|
|
"descriptionFallback": "계속할 파일을 선택하세요.",
|
|
"selectionCount": "{selected} / {total}개 파일 선택됨",
|
|
"selectAll": "모두 선택",
|
|
"unselectAll": "모두 선택 해제",
|
|
"loadingCandidates": "디렉터리 변경 사항을 불러오는 중...",
|
|
"noOperableFiles": "작업 가능한 파일이 없습니다"
|
|
},
|
|
"compareDialog": {
|
|
"title": "브랜치와 비교",
|
|
"descriptionWithTarget": "브랜치를 선택하고 {kind} {path}와(과) 비교하세요",
|
|
"descriptionFallback": "비교할 브랜치를 선택하세요.",
|
|
"kindDirectory": "디렉터리",
|
|
"kindFile": "파일",
|
|
"filterPlaceholder": "브랜치 필터링 (예: main / origin/main)",
|
|
"singleClickHint": "브랜치를 클릭하면 바로 비교합니다",
|
|
"loadingBranches": "브랜치를 불러오는 중...",
|
|
"recentBranches": "최근 브랜치 ({count})",
|
|
"noCurrentBranch": "현재 브랜치 없음",
|
|
"localBranches": "로컬 브랜치 ({count})",
|
|
"remoteBranches": "원격 브랜치 ({count})",
|
|
"noMatchingBranches": "일치하는 브랜치가 없습니다"
|
|
},
|
|
"externalConflictDialog": {
|
|
"title": "외부 파일 변경 감지됨",
|
|
"descriptionWithPath": "파일 {path} 이(가) 디스크에서 변경되었고 현재 편집 내용은 저장되지 않았습니다.",
|
|
"descriptionFallback": "현재 파일이 디스크에서 변경되었고 현재 편집 내용은 저장되지 않았습니다.",
|
|
"compare": "비교",
|
|
"savingCopy": "사본 저장 중...",
|
|
"saveAsCopy": "사본으로 저장",
|
|
"reload": "다시 불러오기"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "삭제 확인",
|
|
"descriptionWithTarget": "{kind} \"{name}\"을(를) 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
|
|
"descriptionFallback": "이 작업은 되돌릴 수 없습니다.",
|
|
"kindDirectory": "디렉터리",
|
|
"kindFile": "파일"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "롤백 확인",
|
|
"descriptionWithTarget": "파일 \"{name}\"의 로컬 변경 사항을 롤백할까요?",
|
|
"descriptionFallback": "이 파일의 로컬 변경 사항을 롤백할까요?"
|
|
},
|
|
"terminalTitle": "터미널 · {name}"
|
|
},
|
|
"commandDropdown": {
|
|
"loading": "로딩 중...",
|
|
"addCommand": "명령 추가",
|
|
"manageCommands": "명령 관리...",
|
|
"runCommandTitle": "실행: {command}",
|
|
"stopCommandTitle": "중지: {command}",
|
|
"manageDialog": {
|
|
"title": "명령 관리",
|
|
"empty": "아직 명령이 없습니다",
|
|
"namePlaceholder": "이름",
|
|
"commandPlaceholder": "명령",
|
|
"add": "추가",
|
|
"saving": "저장 중..."
|
|
}
|
|
},
|
|
"workspaceContext": {
|
|
"confirmCloseDirtyTab": "저장하지 않고 \"{title}\" 탭을 닫을까요?",
|
|
"confirmCloseOtherDirtyTabs": "저장되지 않은 변경 사항이 있는 다른 탭을 닫을까요?",
|
|
"confirmCloseAllDirtyTabs": "저장되지 않은 변경 사항이 있는 모든 탭을 닫을까요?",
|
|
"unableLoadContent": "콘텐츠를 불러올 수 없습니다.\n\n{message}",
|
|
"previewRequestTimedOut": "미리보기 요청 시간이 초과되었습니다",
|
|
"diffRequestTimedOut": "Diff 요청 시간이 초과되었습니다",
|
|
"branchCompareRequestTimedOut": "브랜치 비교 요청 시간이 초과되었습니다",
|
|
"commitDiffRequestTimedOut": "커밋 Diff 요청 시간이 초과되었습니다",
|
|
"saveRequestTimedOut": "저장 요청 시간이 초과되었습니다",
|
|
"reloadRequestTimedOut": "다시 불러오기 요청 시간이 초과되었습니다",
|
|
"noChanges": "변경 사항이 없습니다.",
|
|
"noDiffOutput": "Diff 출력이 없습니다.",
|
|
"diffTitleWorkspace": "Diff · 워크스페이스",
|
|
"diffDescriptionWorkingTree": "작업 트리 (HEAD)",
|
|
"diffTitleFile": "차이 · {name}",
|
|
"compareTitleFile": "비교 · {name}",
|
|
"compareTitleBranch": "비교 · {branch}",
|
|
"compareDescriptionPath": "{path} · {branch}와 비교",
|
|
"compareDescriptionBranch": "{branch}와 비교",
|
|
"diffTitleCommitFile": "차이 · {name} @ {hash}",
|
|
"diffTitleCommit": "차이 · {hash}",
|
|
"diffDescriptionCommitPath": "{path} · 커밋 {commit}",
|
|
"diffDescriptionCommit": "커밋 {commit}",
|
|
"diffTitleConflictFile": "충돌 · {name}",
|
|
"diffDescriptionConflict": "{path} · 디스크 vs 저장되지 않음"
|
|
},
|
|
"chat": {
|
|
"acpConnections": {
|
|
"actions": {
|
|
"openAgentsSettings": "에이전트 설정 열기",
|
|
"retry": "다시 시도"
|
|
},
|
|
"agentsSetupHint": "설정 > 에이전트를 열어 설치를 관리하세요.",
|
|
"withSetupHint": "{message}\n{hint}",
|
|
"blocked": {
|
|
"missingConfig": "현재 에이전트 구성을 읽을 수 없습니다.",
|
|
"disabled": "{agent}은(는) 에이전트 설정에서 비활성화되어 있습니다. 연결 전에 활성화하세요.",
|
|
"unavailable": "{agent}은(는) 현재 플랫폼에서 사용할 수 없습니다.",
|
|
"sdkMissing": "{agent} SDK가 설치되어 있지 않습니다"
|
|
},
|
|
"unableReadAgentConfig": "에이전트 구성을 읽을 수 없습니다: {message}",
|
|
"autoLinkFailedTitle": "{agent} 자동 연결 실패",
|
|
"preflightCheckFailedDefault": "사전 점검에 실패했습니다. 에이전트 설정을 확인하세요.",
|
|
"preflightFailedTitle": "{agent} 사전 점검 실패",
|
|
"autoLinkPreflightFailed": "자동 연결 사전 점검 실패: {message}",
|
|
"connectFailedTitle": "{agent} 연결 실패",
|
|
"toolFallbackTitle": "도구",
|
|
"eventErrorTitle": "에이전트 오류",
|
|
"notificationTurnComplete": "{agent} 응답이 완료되었습니다",
|
|
"notificationError": "{agent} 오류: {message}"
|
|
},
|
|
"connectionLifecycle": {
|
|
"tasks": {
|
|
"connectingTitle": "{agent}에 연결 중",
|
|
"connectingDescription": "연결을 설정하는 중",
|
|
"loadingSelectorsTitle": "{agent} 선택자 불러오는 중",
|
|
"loadingSelectorsDescription": "모드 및 세션 구성 옵션을 가져오는 중",
|
|
"initSessionTitle": "{agent} 세션 초기화 중",
|
|
"initSessionDescription": "세션 생성 및 설정 불러오는 중"
|
|
},
|
|
"errors": {
|
|
"connectionFailed": "연결 실패"
|
|
}
|
|
},
|
|
"shared": {
|
|
"attachedResources": "첨부된 리소스",
|
|
"toolCallFailed": "도구 호출 실패"
|
|
},
|
|
"messageThread": {
|
|
"emptyTitle": "아직 메시지가 없습니다",
|
|
"emptyDescription": "대화를 시작하면 여기에서 메시지를 볼 수 있습니다"
|
|
},
|
|
"chatInput": {
|
|
"connecting": "연결 중...",
|
|
"agentResponding": "{agent} 응답 중...",
|
|
"sendMessage": "메시지 보내기..."
|
|
},
|
|
"messageInput": {
|
|
"askAnything": "무엇이든 물어보세요...",
|
|
"removeAttachmentAria": "{name} 제거",
|
|
"attachFiles": "파일 첨부",
|
|
"dropFilesToAttach": "파일을 놓아 첨부",
|
|
"loadingSettings": "설정 불러오는 중...",
|
|
"loadingMode": "모드 불러오는 중...",
|
|
"cancel": "취소",
|
|
"send": "보내기",
|
|
"forkAndSend": "포크 & 전송",
|
|
"slashCommands": "슬래시 명령"
|
|
},
|
|
"messageQueue": {
|
|
"addToQueue": "대기열에 추가",
|
|
"saveEdit": "저장",
|
|
"cancelEdit": "편집 취소",
|
|
"editItem": "편집",
|
|
"deleteItem": "삭제"
|
|
},
|
|
"welcomeInputPanel": {
|
|
"agentsSettingsPath": "설정 > 에이전트",
|
|
"autoConnectFallback": "{path}을(를) 열어 설치를 관리하세요.",
|
|
"autoConnectAppend": "{message}. {path}을(를) 열어 설치를 관리하세요.",
|
|
"enableAgentFirstPlaceholder": "세션을 시작하기 전에 최소 한 개의 에이전트를 활성화하세요...",
|
|
"askAnythingPlaceholder": "무엇이든 물어보세요..."
|
|
},
|
|
"agentSelector": {
|
|
"noEnabledAgents": "활성화된 에이전트가 없습니다",
|
|
"openAgentsSettings": "에이전트 설정 열기"
|
|
},
|
|
"agentPlanOverlay": {
|
|
"title": "에이전트 계획",
|
|
"collapsePlanAria": "계획 접기",
|
|
"collapsedSummary": "계획 {completed}/{total}",
|
|
"status": {
|
|
"completed": "완료",
|
|
"inProgress": "진행 중",
|
|
"pending": "대기",
|
|
"unknown": "알 수 없음"
|
|
},
|
|
"priority": {
|
|
"high": "높음",
|
|
"medium": "중간",
|
|
"low": "낮음",
|
|
"unknown": "알 수 없음"
|
|
}
|
|
},
|
|
"permissionDialog": {
|
|
"subtitle": "에이전트가 이 턴을 계속하기 위한 권한을 요청합니다.",
|
|
"kindFallbackTool": "도구",
|
|
"command": "명령",
|
|
"cwd": "작업 디렉터리: {cwd}",
|
|
"filesSummary": "파일: {count}",
|
|
"moreFiles": "+{count}개 파일 더",
|
|
"plan": "계획",
|
|
"allowedActions": "허용된 작업",
|
|
"targetMode": "대상 모드: {mode}"
|
|
},
|
|
"questionDialog": {
|
|
"title": "에이전트가 질문하고 있습니다",
|
|
"placeholder": "답변을 입력하세요...",
|
|
"send": "전송"
|
|
},
|
|
"messageBranch": {
|
|
"previousBranchAria": "이전 브랜치",
|
|
"nextBranchAria": "다음 브랜치",
|
|
"pageOf": "{current} / {total}"
|
|
},
|
|
"terminal": {
|
|
"title": "터미널",
|
|
"running": "실행 중"
|
|
},
|
|
"reasoning": {
|
|
"thinking": "생각 중",
|
|
"thoughtForFewSeconds": "생각함",
|
|
"thoughtForSeconds": "생각함"
|
|
},
|
|
"messageList": {
|
|
"attachedResources": "첨부된 리소스",
|
|
"loading": "불러오는 중...",
|
|
"error": "오류: {message}",
|
|
"emptyConversation": "이 대화에는 메시지가 없습니다.",
|
|
"systemMessage": "시스템 메시지",
|
|
"copyMessage": "복사",
|
|
"copied": "복사됨"
|
|
},
|
|
"liveTurnStats": {
|
|
"thinking": "생각 중...",
|
|
"streaming": "스트리밍 중",
|
|
"elapsedHours": "{value}시간",
|
|
"elapsedMinutes": "{value}분",
|
|
"elapsedSeconds": "{value}초",
|
|
"toolUseCount": "{count}개 도구 {count, plural, one {use} other {uses}}"
|
|
},
|
|
"tool": {
|
|
"parameters": "매개변수",
|
|
"error": "오류",
|
|
"result": "결과",
|
|
"status": {
|
|
"approvalRequested": "승인 대기 중",
|
|
"approvalResponded": "응답됨",
|
|
"inputAvailable": "실행 중",
|
|
"inputStreaming": "대기 중",
|
|
"outputAvailable": "완료",
|
|
"outputDenied": "거부됨",
|
|
"outputError": "오류"
|
|
}
|
|
},
|
|
"toolCallBlock": {
|
|
"tool": "도구",
|
|
"error": "오류",
|
|
"result": "결과"
|
|
},
|
|
"contentParts": {
|
|
"showingTailOutput": "성능을 위해 스트리밍 중에는 출력의 끝부분만 표시합니다.",
|
|
"result": "결과",
|
|
"unknown": "알 수 없음",
|
|
"inputTruncated": "입력이 잘렸습니다 — diff가 불완전할 수 있습니다.",
|
|
"replaceAll": "모두 바꾸기",
|
|
"filesCount": "파일: {count}",
|
|
"update": "업데이트",
|
|
"moreFiles": "+{count}개 파일 더",
|
|
"timeoutMs": "시간 초과: {timeout}ms",
|
|
"backgroundTrue": "백그라운드: true",
|
|
"offset": "오프셋: {offset}",
|
|
"limit": "제한: {limit}",
|
|
"pages": "페이지: {pages}",
|
|
"mode": "모드: {mode}",
|
|
"cell": "셀: {cell}",
|
|
"pathLabel": "경로:",
|
|
"globLabel": "Glob 패턴:",
|
|
"typeLabel": "유형:",
|
|
"outputLabel": "출력:",
|
|
"caseInsensitive": "대소문자 구분 안 함",
|
|
"multiline": "여러 줄",
|
|
"promptLabel": "프롬프트",
|
|
"subjectLabel": "제목",
|
|
"taskLabel": "작업",
|
|
"nameLabel": "이름:",
|
|
"field": {
|
|
"file": "파일",
|
|
"notebook": "노트북",
|
|
"command": "명령",
|
|
"old": "이전",
|
|
"new": "새",
|
|
"pattern": "패턴",
|
|
"path": "경로",
|
|
"query": "쿼리",
|
|
"url": "URL:",
|
|
"description": "설명",
|
|
"content": "내용",
|
|
"source": "소스",
|
|
"prompt": "프롬프트",
|
|
"subject": "제목",
|
|
"taskId": "작업 ID",
|
|
"status": "상태",
|
|
"skill": "Skill",
|
|
"args": "인자",
|
|
"offset": "오프셋",
|
|
"limit": "제한",
|
|
"glob": "Glob 패턴",
|
|
"type": "유형",
|
|
"output": "출력",
|
|
"replaceAll": "모두 바꾸기",
|
|
"language": "언어",
|
|
"timeout": "시간 초과",
|
|
"background": "백그라운드",
|
|
"agentType": "에이전트 유형",
|
|
"library": "라이브러리",
|
|
"libraryId": "라이브러리 ID"
|
|
},
|
|
"title": {
|
|
"edit": "편집",
|
|
"command": "명령",
|
|
"todoWrite": "TodoWrite(할 일 업데이트)",
|
|
"read": "읽기",
|
|
"write": "쓰기",
|
|
"notebookEdit": "NotebookEdit(노트북 편집)",
|
|
"editFiles": "편집 ({count}개 파일)",
|
|
"editWithTarget": "{target} 편집",
|
|
"readWithTarget": "{target} 읽기",
|
|
"writeWithTarget": "{target} 쓰기",
|
|
"notebookEditWithTarget": "NotebookEdit({target})",
|
|
"globWithPattern": "Glob 패턴 {pattern}",
|
|
"grepWithPattern": "Grep 패턴 {pattern}",
|
|
"taskCreateWithSubject": "작업 생성: {subject}",
|
|
"taskUpdateWithStatus": "작업 업데이트 #{id} -> {status}",
|
|
"taskUpdate": "작업 업데이트 #{id}",
|
|
"webFetchWithUrl": "WebFetch ({url})",
|
|
"webSearchWithQuery": "WebSearch ({query})",
|
|
"todosProgress": "할 일 ({done}/{total})",
|
|
"skillWithName": "Skill: {name}",
|
|
"genericWithContext": "{tool} ({context})"
|
|
}
|
|
}
|
|
},
|
|
"diffPreview": {
|
|
"mode": {
|
|
"added": "추가됨",
|
|
"deleted": "삭제됨",
|
|
"renamed": "이름 변경됨",
|
|
"modified": "수정됨"
|
|
},
|
|
"hunkLabel": "청크 {index}",
|
|
"loadingHunk": "Hunk 로딩 중...",
|
|
"noDiffData": "Diff 데이터 없음"
|
|
}
|
|
},
|
|
"ProjectBoot": {
|
|
"title": "프로젝트 부트",
|
|
"tabs": {
|
|
"shadcn": "shadcn"
|
|
},
|
|
"config": {
|
|
"base": "베이스",
|
|
"style": "스타일",
|
|
"baseColor": "베이스 색상",
|
|
"theme": "테마",
|
|
"chartColor": "차트 색상",
|
|
"iconLibrary": "아이콘 라이브러리",
|
|
"font": "글꼴",
|
|
"fontHeading": "제목 글꼴",
|
|
"menuAccent": "메뉴 강조",
|
|
"menuColor": "메뉴 색상",
|
|
"radius": "둥글기",
|
|
"template": "템플릿",
|
|
"createProject": "프로젝트 만들기",
|
|
"sectionStyle": "스타일",
|
|
"sectionColors": "색상",
|
|
"sectionTypography": "타이포그래피",
|
|
"sectionInterface": "인터페이스"
|
|
},
|
|
"preview": {
|
|
"loading": "미리보기 로딩 중..."
|
|
},
|
|
"createDialog": {
|
|
"title": "프로젝트 만들기",
|
|
"projectName": "프로젝트 이름",
|
|
"projectNamePlaceholder": "my-app",
|
|
"frameworkTemplate": "프레임워크 템플릿",
|
|
"packageManager": "패키지 매니저",
|
|
"saveDirectory": "저장 디렉토리",
|
|
"saveDirectoryPlaceholder": "디렉토리 선택...",
|
|
"browseDirectory": "찾아보기",
|
|
"projectPath": "프로젝트 생성 위치: {path}",
|
|
"advancedOptions": "고급 옵션",
|
|
"base": "기본 라이브러리",
|
|
"enableRtl": "RTL 지원 활성화",
|
|
"enableRtlDescription": "오른쪽에서 왼쪽으로 쓰는 언어(예: 아랍어, 히브리어)의 레이아웃 지원 활성화",
|
|
"pmChecking": "확인 중...",
|
|
"pmNotInstalled": "설치되지 않음",
|
|
"cancel": "취소",
|
|
"create": "만들기",
|
|
"creating": "프로젝트 생성 중..."
|
|
},
|
|
"toasts": {
|
|
"createFailed": "프로젝트 생성에 실패했습니다",
|
|
"createSuccess": "프로젝트가 성공적으로 생성되었습니다"
|
|
},
|
|
"errors": {
|
|
"directoryExists": "대상 디렉터리가 이미 존재합니다",
|
|
"commandFailed": "프로젝트 생성 명령이 실패했습니다."
|
|
}
|
|
},
|
|
"WebServiceSettings": {
|
|
"sectionTitle": "웹 서비스",
|
|
"sectionDescription": "활성화하면 브라우저를 통해 Codeg에 원격으로 접속할 수 있습니다",
|
|
"port": "포트",
|
|
"status": "상태",
|
|
"running": "실행 중",
|
|
"stopped": "중지됨",
|
|
"processing": "처리 중...",
|
|
"start": "시작",
|
|
"stop": "중지",
|
|
"startFailed": "시작 실패",
|
|
"stopFailed": "중지 실패",
|
|
"open": "열기",
|
|
"hide": "숨기기",
|
|
"show": "표시",
|
|
"copy": "복사",
|
|
"addressLabel": "접속 주소",
|
|
"tokenLabel": "접속 토큰",
|
|
"tokenHint": "웹 클라이언트 첫 접속 시 이 토큰을 입력하세요"
|
|
},
|
|
"DirectoryBrowser": {
|
|
"title": "디렉토리 찾아보기",
|
|
"pathPlaceholder": "디렉토리 경로 입력...",
|
|
"goHome": "홈 디렉토리로 이동",
|
|
"navigateUp": "상위 디렉토리로 이동",
|
|
"select": "선택",
|
|
"cancel": "취소",
|
|
"loading": "로딩 중...",
|
|
"emptyDirectory": "이 디렉토리는 비어 있습니다",
|
|
"errorLoadingDir": "디렉토리 로딩 실패",
|
|
"permissionDenied": "권한이 없습니다"
|
|
},
|
|
"ChatChannelSettings": {
|
|
"loading": "로딩 중...",
|
|
"sectionTitle": "채팅 채널",
|
|
"sectionDescription": "IM 봇을 설정하여 이벤트 알림을 수신하고 코딩 활동을 조회합니다.",
|
|
"addChannel": "채널 추가",
|
|
"noChannels": "설정된 채팅 채널이 없습니다.",
|
|
"channelName": "이름",
|
|
"channelNamePlaceholder": "내 Telegram 봇",
|
|
"channelType": "채널 유형",
|
|
"lark": "Lark (飛書)",
|
|
"weixin": "WeChat",
|
|
"dailyReport": "일일 리포트",
|
|
"dailyReportTime": "발송 시간",
|
|
"nameRequired": "채널 이름을 입력하세요.",
|
|
"tokenRequired": "토큰을 입력하세요.",
|
|
"chatIdRequired": "Chat ID를 입력하세요.",
|
|
"loadFailed": "채널 로딩에 실패했습니다.",
|
|
"saveFailed": "저장에 실패했습니다.",
|
|
"connectSuccess": "채널이 연결되었습니다.",
|
|
"connectFailed": "연결에 실패했습니다",
|
|
"disconnectSuccess": "채널이 연결 해제되었습니다.",
|
|
"disconnectFailed": "연결 해제에 실패했습니다.",
|
|
"testSuccess": "연결 테스트를 통과했습니다.",
|
|
"testFailed": "연결 테스트에 실패했습니다",
|
|
"deleteSuccess": "채널이 삭제되었습니다.",
|
|
"deleteFailed": "채널 삭제에 실패했습니다.",
|
|
"deleteConfirmTitle": "채널 삭제",
|
|
"deleteConfirmMessage": "이 채널과 메시지 기록이 영구 삭제됩니다. 계속하시겠습니까?",
|
|
"cancel": "취소",
|
|
"delete": "삭제",
|
|
"create": "생성",
|
|
"save": "저장",
|
|
"channelListTitle": "설정된 채널",
|
|
"channelListDescription": "활성화된 채널은 서비스 시작 시 자동으로 연결됩니다.",
|
|
"editChannel": "채널 편집",
|
|
"editSuccess": "채널이 업데이트되었습니다.",
|
|
"tokenPlaceholderKeep": "비워두면 현재 값 유지",
|
|
"weixinScanTitle": "QR 코드 스캔",
|
|
"weixinScanDescription": "WeChat을 열고 QR 코드를 스캔하여 연결하세요.",
|
|
"weixinQrcodeExpired": "QR 코드가 만료되었습니다.",
|
|
"weixinRefreshQrcode": "새로고침",
|
|
"weixinWaitingScan": "스캔 대기 중...",
|
|
"weixinPollError": "연결이 불안정합니다. 재시도 중...",
|
|
"connect": "연결",
|
|
"disconnect": "연결 해제",
|
|
"test": "연결 테스트",
|
|
"tabs": {
|
|
"channels": "채널",
|
|
"commands": "명령어",
|
|
"events": "이벤트",
|
|
"other": "기타"
|
|
},
|
|
"commands": {
|
|
"title": "내장 명령어",
|
|
"description": "채팅 채널에서 사용 가능한 Bot 명령어입니다. 그룹 채팅에서는 메시지를 처리하려면 @Bot이 필요합니다.",
|
|
"prefixLabel": "명령어 접두사",
|
|
"prefixDescription": "Bot 명령어를 실행하는 접두사, 1-3개의 영숫자가 아닌 문자 (기본값 /).",
|
|
"prefixSaved": "명령어 접두사가 저장되었습니다.",
|
|
"prefixSaveFailed": "명령어 접두사 저장에 실패했습니다.",
|
|
"prefixInvalid": "접두사는 1-3개의 영숫자가 아닌 문자여야 합니다.",
|
|
"save": "저장",
|
|
"folderDesc": "작업 폴더 선택",
|
|
"agentDesc": "AI 에이전트 선택",
|
|
"taskDesc": "세션 생성 및 작업 실행",
|
|
"sessionsDesc": "폴더 내 활성 세션 목록",
|
|
"resumeDesc": "최근 대화 / 세션 재개",
|
|
"cancelDesc": "현재 작업 취소",
|
|
"approveDesc": "에이전트 권한 요청 승인",
|
|
"denyDesc": "에이전트 권한 요청 거부",
|
|
"searchDesc": "키워드로 대화 검색",
|
|
"todayDesc": "오늘의 활동 요약",
|
|
"statusDesc": "채널 연결 상태",
|
|
"helpDesc": "도움말 표시"
|
|
},
|
|
"events": {
|
|
"title": "이벤트 알림",
|
|
"description": "이벤트를 활성화하면, 트리거 시 채널로 푸시됩니다.",
|
|
"turnComplete": "턴 완료",
|
|
"turnCompleteDesc": "에이전트 턴이 종료될 때",
|
|
"error": "에이전트 오류",
|
|
"errorDesc": "에이전트에 오류가 발생했을 때",
|
|
"saved": "이벤트 필터가 업데이트되었습니다.",
|
|
"saveFailed": "이벤트 필터 저장에 실패했습니다."
|
|
},
|
|
"language": {
|
|
"title": "메시지 언어",
|
|
"description": "이벤트 알림, 명령 응답, 일일 보고서를 채팅 채널로 전송할 때 사용하는 언어입니다.",
|
|
"saved": "메시지 언어가 저장되었습니다.",
|
|
"saveFailed": "메시지 언어 저장에 실패했습니다.",
|
|
"en": "영어",
|
|
"zh-cn": "중국어 간체",
|
|
"zh-tw": "중국어 번체",
|
|
"ja": "일본어",
|
|
"ko": "한국어",
|
|
"es": "스페인어",
|
|
"de": "독일어",
|
|
"fr": "프랑스어",
|
|
"pt": "포르투갈어",
|
|
"ar": "아랍어"
|
|
}
|
|
},
|
|
"ModelProviderSettings": {
|
|
"sectionTitle": "모델 제공업체",
|
|
"sectionDescription": "에이전트의 API 제공업체 자격 증명을 관리합니다.",
|
|
"filterAll": "전체",
|
|
"providerListTitle": "구성된 제공업체",
|
|
"addProvider": "제공업체 추가",
|
|
"editProvider": "제공업체 편집",
|
|
"noProviders": "아직 구성된 모델 제공업체가 없습니다.",
|
|
"providerName": "이름",
|
|
"providerNamePlaceholder": "예: OpenAI, Anthropic",
|
|
"apiUrl": "API URL",
|
|
"apiUrlPlaceholder": "https://api.openai.com/v1",
|
|
"apiKey": "API 키",
|
|
"apiKeyPlaceholder": "sk-...",
|
|
"apiKeyKeepCurrent": "현재 값을 유지하려면 비워두세요",
|
|
"agentTypes": "에이전트 유형",
|
|
"agentTypesRequired": "최소 하나의 에이전트 유형을 선택하세요.",
|
|
"nameRequired": "제공업체 이름은 필수입니다.",
|
|
"apiUrlRequired": "API URL은 필수입니다.",
|
|
"apiKeyRequired": "API 키는 필수입니다.",
|
|
"loadFailed": "제공업체를 불러오지 못했습니다.",
|
|
"saveFailed": "변경 사항을 저장하지 못했습니다.",
|
|
"createSuccess": "제공업체가 생성되었습니다.",
|
|
"editSuccess": "제공업체가 업데이트되었습니다.",
|
|
"deleteSuccess": "제공업체가 삭제되었습니다.",
|
|
"deleteConfirmTitle": "제공업체 삭제",
|
|
"deleteConfirmMessage": "제공업체 \"{name}\"을(를) 영구적으로 삭제하시겠습니까?",
|
|
"deleteBlockedByAgent": "{agents}이(가) 이 공급자를 사용 중입니다. 삭제하기 전에 연결을 해제해 주세요.",
|
|
"cancel": "취소",
|
|
"delete": "삭제",
|
|
"create": "생성",
|
|
"save": "저장"
|
|
}
|
|
}
|