* feat(agents): add active-turn steering Let users choose whether an immediate prompt interrupts or joins the active turn. The daemon owns exact-turn admission, provider delivery, safe fallback, and canonical timeline identity while queueing remains client-side. * fix(agents): stabilize steering history and replay QA * fix(agents): preserve steering timeline order * fix(agents): reconcile resumed provider history * fix(agents): serialize steering with cancellation * test(agents): prove Claude multi-tool steering * test(agents): force explicit history hydration * fix(agents): flush output before steer admission
2497 lines
102 KiB
TypeScript
2497 lines
102 KiB
TypeScript
import type { TranslationResources } from "./en";
|
|
import { pluginSettings } from "./plugin-settings";
|
|
|
|
export const ko: TranslationResources = {
|
|
common: {
|
|
back: "뒤로",
|
|
loading: "불러오는 중...",
|
|
actions: {
|
|
back: "뒤로",
|
|
cancel: "취소",
|
|
close: "닫기",
|
|
copy: "복사",
|
|
dismiss: "닫기",
|
|
retry: "다시 시도",
|
|
search: "검색",
|
|
select: "선택",
|
|
},
|
|
placeholders: {
|
|
search: "검색...",
|
|
},
|
|
empty: {
|
|
noResults: "결과가 없습니다",
|
|
noOptionsMatchSearch: "검색과 일치하는 옵션이 없습니다.",
|
|
},
|
|
states: {
|
|
loading: "불러오는 중...",
|
|
starting: "시작 중...",
|
|
copied: "복사됨",
|
|
copiedLabel: "{{label}} 복사됨",
|
|
downloadComplete: "다운로드 완료",
|
|
downloadFailed: "다운로드 실패",
|
|
},
|
|
errors: {
|
|
error: "오류",
|
|
unableToSave: "저장할 수 없습니다",
|
|
nameRequired: "이름을 입력하세요",
|
|
daemonUnavailable: "데몬을 사용할 수 없습니다",
|
|
daemonClientUnavailable: "데몬 클라이언트를 사용할 수 없습니다",
|
|
daemonClientDisconnected: "데몬 클라이언트 연결이 끊어졌습니다",
|
|
noFileFound: "{{token}}에 해당하는 파일을 찾을 수 없습니다",
|
|
unexpectedDictationError: "받아쓰기를 처리하는 중 예기치 않은 오류가 발생했습니다.",
|
|
},
|
|
connectionStatus: {
|
|
online: "온라인",
|
|
connecting: "연결 중",
|
|
offline: "오프라인",
|
|
error: "오류",
|
|
idle: "대기 중",
|
|
},
|
|
},
|
|
shell: {
|
|
menu: {
|
|
toggleSidebar: "사이드바 토글",
|
|
open: "메뉴 열기",
|
|
close: "메뉴 닫기",
|
|
},
|
|
commandCenter: {
|
|
placeholder: "명령, 파일, 워크스페이스 및 에이전트 검색...",
|
|
filePlaceholder: "파일 검색...",
|
|
searchingFiles: "파일 검색 중...",
|
|
noMatches: "일치 항목 없음",
|
|
actions: "작업",
|
|
files: "파일",
|
|
workspaces: "워크스페이스",
|
|
agents: "에이전트",
|
|
newAgent: "새 에이전트",
|
|
addProject: "프로젝트 추가",
|
|
home: "홈",
|
|
groupByProject: "프로젝트별 그룹화",
|
|
groupByStatus: "상태별 그룹화",
|
|
modelGroupLabel: "모델",
|
|
modelSearchKeywords: "모델 전환 모델 변경 모델 설정 모델 선택",
|
|
thinkingGroupLabel: "추론",
|
|
thinkingSearchKeywords: "추론 수준 사고 생각",
|
|
modeGroupLabel: "모드",
|
|
modeSearchKeywords: "접근 권한 승인 모드",
|
|
planModeGroupLabel: "계획 모드",
|
|
planModeSearchKeywords: "계획 플랜 계획 모드",
|
|
fastModeGroupLabel: "빠르게",
|
|
fastModeSearchKeywords: "빠르게 속도 낮은 지연 시간",
|
|
settingOn: "켜짐",
|
|
settingOff: "꺼짐",
|
|
},
|
|
},
|
|
composer: {
|
|
placeholders: {
|
|
desktop: "에이전트에게 메시지를 보내거나 @files 태그, /commands, /skills를 사용하세요",
|
|
mobile: "메시지, @files, /commands",
|
|
fallback: "메시지...",
|
|
terminal: "Prompt",
|
|
},
|
|
input: {
|
|
accessibilityLabel: "에이전트에게 메시지...",
|
|
terminalAccessibilityLabel: "Terminal prompt",
|
|
focusHint: "{{shortcut}}로 포커스",
|
|
addAttachment: "첨부 추가",
|
|
interruptAgent: "에이전트 중단",
|
|
queueMessage: "메시지 대기열에 추가",
|
|
sendAndInterrupt: "보내고 중단",
|
|
sendAndSteer: "보내고 지시 추가",
|
|
sendMessage: "메시지 보내기",
|
|
queue: "대기열",
|
|
send: "보내기",
|
|
},
|
|
cancel: {
|
|
cancelingAgent: "에이전트 취소 중",
|
|
stopAgent: "에이전트 중지",
|
|
interrupt: "중단",
|
|
},
|
|
voice: {
|
|
enableVoiceMode: "음성 모드 켜기",
|
|
voiceMode: "음성 모드",
|
|
unmuteVoiceMode: "음성 모드 음소거 해제",
|
|
muteVoiceMode: "음성 모드 음소거",
|
|
stopDictation: "받아쓰기 중지",
|
|
startDictation: "받아쓰기 시작",
|
|
unmuteVoice: "음성 음소거 해제",
|
|
muteVoice: "음성 음소거",
|
|
dictation: "받아쓰기",
|
|
interruptBeforeVoice: "음성 모드를 시작하기 전에 에이전트를 중단하세요",
|
|
},
|
|
attachments: {
|
|
addImage: "이미지 추가",
|
|
pasteImage: "이미지 붙여넣기",
|
|
addFile: "파일 업로드",
|
|
addIssueOrPr: "이슈 또는 PR 추가",
|
|
addIssueOrPr_mr: "이슈 또는 MR 추가",
|
|
dropImagesHere: "여기에 이미지를 끌어다 놓으세요",
|
|
dropFilesHere: "여기에 파일을 끌어다 놓으세요",
|
|
editQueuedMessage: "대기 중인 메시지 편집",
|
|
sendQueuedMessageNow: "대기 중인 메시지 지금 보내기",
|
|
openImage: "이미지 첨부 열기",
|
|
removeImage: "이미지 첨부 제거",
|
|
removeFile: "파일 첨부 제거",
|
|
openGithub: "{{kind}} {{number}} 열기",
|
|
removeGithub: "{{kind}} {{number}} 제거",
|
|
element: "요소",
|
|
openBrowserElement: "브라우저 요소 첨부 열기",
|
|
removeBrowserElement: "브라우저 요소 첨부 제거",
|
|
openReview: "리뷰 첨부 열기",
|
|
removeReview: "리뷰 첨부 제거",
|
|
},
|
|
errors: {
|
|
failedToSend: "메시지를 보내지 못했습니다",
|
|
failedToCreateAgent: "에이전트를 생성하지 못했습니다",
|
|
noHostSelected: "선택된 호스트가 없습니다",
|
|
initialPromptRequired: "초기 프롬프트가 필요합니다",
|
|
alreadyLoading: "이미 불러오는 중입니다",
|
|
uploadFailed: "파일을 업로드하지 못했습니다",
|
|
noClipboardImage: "클립보드에 이미지가 없습니다.",
|
|
pasteImageFailed: "이미지를 붙여넣지 못했습니다.",
|
|
fileTooLarge: "{{fileName}}이(가) 너무 큽니다 (최대 {{size}})",
|
|
},
|
|
clientCommands: {
|
|
archiveAgent: "현재 에이전트 보관",
|
|
freshDraft: "이 에이전트를 보관하고 새 초안을 시작합니다",
|
|
},
|
|
github: {
|
|
searching: "검색 중...",
|
|
noResults: "결과가 없습니다.",
|
|
searchPlaceholder: "이슈와 PR 검색...",
|
|
searchPlaceholder_mr: "이슈 및 MR 검색...",
|
|
title: "이슈 또는 PR 첨부",
|
|
title_mr: "이슈 또는 MR 첨부",
|
|
},
|
|
},
|
|
agentControls: {
|
|
provider: {
|
|
fallback: "프로바이더",
|
|
select: "에이전트 프로바이더 선택",
|
|
},
|
|
thinking: {
|
|
title: "사고",
|
|
unknown: "알 수 없음",
|
|
extraHigh: "매우 높음",
|
|
select: "사고 옵션 선택",
|
|
selectWithValue: "사고 옵션 선택 ({{value}})",
|
|
},
|
|
model: {
|
|
unknown: "알 수 없는 모델",
|
|
},
|
|
features: {
|
|
title: "기능",
|
|
open: "에이전트 기능 열기",
|
|
on: "켜짐",
|
|
off: "꺼짐",
|
|
},
|
|
mode: {
|
|
title: "모드",
|
|
searchPlaceholder: "모드 검색...",
|
|
selectWithValue: "에이전트 모드 선택 ({{value}})",
|
|
},
|
|
hints: {
|
|
thinking: "사고 모드",
|
|
model: "모델 변경",
|
|
mode: "모드 변경",
|
|
},
|
|
},
|
|
agentStream: {
|
|
empty: "이 에이전트와 대화를 시작하세요...",
|
|
scrollToBottom: "맨 아래로 스크롤",
|
|
historyLoadFailed: "에이전트 기록을 로드할 수 없습니다.",
|
|
permission: {
|
|
plan: "계획",
|
|
required: "권한 필요",
|
|
deny: "거부",
|
|
accept: "수락",
|
|
implement: "구현",
|
|
question: "어떻게 진행할까요?",
|
|
proposedPlan: "제안된 계획",
|
|
},
|
|
},
|
|
agentPanel: {
|
|
states: {
|
|
notFound: "에이전트를 찾을 수 없습니다",
|
|
failedToLoad: "에이전트를 불러오지 못했습니다",
|
|
reconnecting: "다시 연결하는 중",
|
|
timelineSyncFailed: "에이전트 기록을 새로고침할 수 없습니다. 재시도 중…",
|
|
archivingTitle: "에이전트 보관 중...",
|
|
archivingSubtitle: "이 에이전트를 보관하는 동안 잠시 기다려 주세요.",
|
|
},
|
|
unavailable: {
|
|
selectedHost: "선택된 호스트",
|
|
unknownHost:
|
|
"{{serverLabel}}이(가) 이 기기에 구성되어 있지 않아 이 에이전트를 열 수 없습니다.",
|
|
addHost: "계속하려면 설정에서 호스트를 추가하거나 구성된 서버에서 에이전트를 여세요.",
|
|
preparingSession: "{{serverLabel}} 세션 준비 중...",
|
|
connecting: "{{serverLabel}}에 연결하는 중...",
|
|
showSoon: "잠시 후 이 에이전트를 표시합니다.",
|
|
showWhenOnline: "호스트가 온라인 상태가 되면 이 에이전트를 표시합니다.",
|
|
reconnectingTo: "{{serverLabel}}에 다시 연결하는 중...",
|
|
showAgainWhenReachable: "호스트에 연결되는 즉시 이 에이전트를 다시 표시합니다.",
|
|
},
|
|
archived: {
|
|
callout: "이 에이전트는 보관되었습니다",
|
|
unarchive: "보관 해제",
|
|
},
|
|
},
|
|
sessions: {
|
|
title: "기록",
|
|
empty: "아직 세션이 없습니다",
|
|
noMatches: "일치하는 세션이 없습니다",
|
|
tooManyMatches: "일치 항목이 너무 많습니다 — 검색 범위를 좁히세요",
|
|
hostLoadFailed: "{{host}}: 기록을 불러오지 못했습니다",
|
|
searchPlaceholder: "기록 검색",
|
|
actions: {
|
|
loadMore: "더 불러오기",
|
|
clearSearch: "검색 지우기",
|
|
},
|
|
},
|
|
agentList: {
|
|
fallbackTitle: "새 세션",
|
|
dateSections: {
|
|
recent: "최근",
|
|
today: "오늘",
|
|
yesterday: "어제",
|
|
thisWeek: "이번 주",
|
|
thisMonth: "이번 달",
|
|
older: "이전",
|
|
},
|
|
status: {
|
|
initializing: "시작 중",
|
|
idle: "대기 중",
|
|
running: "실행 중",
|
|
error: "오류",
|
|
closed: "종료됨",
|
|
},
|
|
badges: {
|
|
archived: "보관됨",
|
|
pending: "대기 {{count}}개",
|
|
attention: "주의",
|
|
},
|
|
archiveSheet: {
|
|
hostOffline: "호스트 오프라인",
|
|
runningAgent: "이 에이전트는 아직 실행 중입니다. 보관하면 에이전트가 중지됩니다.",
|
|
archive: "보관",
|
|
},
|
|
},
|
|
message: {
|
|
diagram: {
|
|
diagram: "다이어그램",
|
|
zoomIn: "확대",
|
|
zoomOut: "축소",
|
|
resetZoom: "보기 초기화",
|
|
viewSource: "소스 보기",
|
|
viewDiagram: "다이어그램 보기",
|
|
},
|
|
actions: {
|
|
copyCode: "코드 복사",
|
|
copyTurn: "턴 복사",
|
|
copyMessage: "메시지 복사",
|
|
forkMenu: "여기에서 채팅 분기",
|
|
forkInNewTab: "새 탭으로 분기",
|
|
forkInNewWorkspace: "새 워크스페이스로 분기",
|
|
forkUnavailable: "이를 사용하려면 호스트를 업데이트하세요.",
|
|
forkMissingWorkspace: "이 에이전트는 워크스페이스에 속해 있지 않습니다.",
|
|
forkFailed: "채팅을 분기하지 못했습니다.",
|
|
openFile: "파일 열기",
|
|
copied: "복사됨",
|
|
},
|
|
attachments: {
|
|
dismissImage: "이미지 닫기",
|
|
closeImage: "이미지 닫기",
|
|
imageLoadFailed: "이미지를 불러올 수 없습니다",
|
|
imageUnavailable: "이미지를 사용할 수 없습니다",
|
|
imagePreviewUnavailable: "이미지 미리보기를 사용할 수 없습니다.",
|
|
imagePreviewLoadFailed: "이미지 미리보기를 불러올 수 없습니다.",
|
|
review: "리뷰",
|
|
commentsOne: "댓글 1개",
|
|
commentsMany: "댓글 {{count}}개",
|
|
textAttachment: "텍스트 첨부",
|
|
text: "텍스트",
|
|
file: "파일",
|
|
},
|
|
speak: {
|
|
header: "말함",
|
|
},
|
|
activity: {
|
|
details: "세부 정보",
|
|
},
|
|
dictation: {
|
|
start: "음성 받아쓰기 시작",
|
|
cancel: "받아쓰기 취소",
|
|
retry: "받아쓰기 다시 시도",
|
|
insert: "전사 삽입",
|
|
insertAndSend: "전사 삽입 후 보내기",
|
|
failed: "받아쓰기 실패: {{error}}",
|
|
failedRetry: "받아쓰기에 실패했습니다. 다시 시도하려면 누르세요.",
|
|
},
|
|
question: {
|
|
submit: "제출",
|
|
next: "다음",
|
|
answerPlaceholder: "답변을 입력하세요...",
|
|
otherPlaceholder: "기타...",
|
|
},
|
|
todo: {
|
|
title: "작업",
|
|
empty: "아직 작업이 없습니다.",
|
|
tasksProgress: "작업 {{completed}}/{{total}}개",
|
|
tasksProgressCurrent: "작업 {{completed}}/{{total}}개 · {{task}}",
|
|
activity: {
|
|
created: "작업 {{count}}개 생성",
|
|
added: "추가됨",
|
|
started: "시작됨",
|
|
completed: "완료됨",
|
|
reopened: "다시 열림",
|
|
},
|
|
},
|
|
compaction: {
|
|
loading: "압축하는 중...",
|
|
auto: "컨텍스트가 자동으로 압축되었습니다",
|
|
manual: "컨텍스트가 수동으로 압축되었습니다",
|
|
withTokens: "컨텍스트가 압축되었습니다 ({{tokens}}K 토큰)",
|
|
completed: "컨텍스트가 압축되었습니다",
|
|
},
|
|
},
|
|
importSession: {
|
|
title: "세션 가져오기",
|
|
filters: {
|
|
all: "전체",
|
|
},
|
|
status: {
|
|
connectHost: "세션을 가져오려면 호스트에 연결하세요",
|
|
updateHost: "세션을 가져오려면 호스트를 업데이트하세요.",
|
|
noProviders: "가져올 수 있는 프로바이더가 활성화되어 있지 않습니다.",
|
|
loading: "최근 세션을 불러오는 중...",
|
|
failedAll: "최근 세션을 불러올 수 없습니다.",
|
|
failedProviders: "{{providers}}의 세션을 불러올 수 없습니다.",
|
|
failedImport: "선택한 세션을 가져올 수 없습니다.",
|
|
},
|
|
actions: {
|
|
refresh: "세션 새로고침",
|
|
},
|
|
preview: {
|
|
untitledSession: "제목 없는 세션",
|
|
noPrompt: "프롬프트 미리보기 없음",
|
|
},
|
|
empty: {
|
|
noRecent: "가져올 최근 세션이 없습니다.",
|
|
alreadyImported: "최근 세션이 모두 이미 가져와졌습니다.",
|
|
noProviderSessions: "{{provider}} 세션을 찾을 수 없습니다.",
|
|
},
|
|
row: {
|
|
importing: "가져오는 중...",
|
|
},
|
|
},
|
|
workspace: {
|
|
route: {
|
|
loading: "워크스페이스 불러오는 중",
|
|
connecting: "연결 중",
|
|
hostOffline: "{{hostName}}이(가) 오프라인입니다",
|
|
cannotReachHost: "{{hostName}}에 연결할 수 없습니다",
|
|
hostStatus: "호스트 상태: {{status}}",
|
|
needsHostUpgrade: "이 워크스페이스를 복원하려면 호스트를 업데이트하세요.",
|
|
manageHost: "호스트 관리",
|
|
recovery: {
|
|
archivedTitle: "워크스페이스가 보관되었습니다",
|
|
restoreDescription:
|
|
"{{workspaceName}}가 보관되고 워크트리가 제거되었습니다. 다시 열려면 {{branch}} 브랜치를 복원하세요.",
|
|
unarchiveDescription: "{{workspaceName}}가 보관되었습니다. 다시 열려면 보관을 취소하세요.",
|
|
restoreAction: "복원",
|
|
unarchiveAction: "보관 취소",
|
|
restoringTitle: "워크스페이스 복원 중",
|
|
restoringAction: "복원 중...",
|
|
unavailableTitle: "워크스페이스를 사용할 수 없습니다",
|
|
checkFailedTitle: "워크스페이스를 확인하지 못했습니다",
|
|
},
|
|
},
|
|
hoverCard: {
|
|
scriptsAccessibility: "워크스페이스 스크립트",
|
|
copyPath: "경로 복사",
|
|
copyBranchName: "브랜치 이름 복사",
|
|
copied: "복사됨",
|
|
},
|
|
fileActions: {
|
|
openFile: "파일 열기",
|
|
copyPath: "경로 복사",
|
|
copyRelativePath: "상대 경로 복사",
|
|
revealIn: "{{target}}에서 보기",
|
|
download: "다운로드",
|
|
addToChat: "채팅에 추가",
|
|
moreActions: "추가 작업",
|
|
newFile: "새 파일",
|
|
newFolder: "새 폴더",
|
|
collapseFolder: "폴더 접기",
|
|
rename: "이름 바꾸기",
|
|
duplicate: "복제",
|
|
revert: "변경 사항 버리기",
|
|
delete: "삭제",
|
|
confirmDelete: {
|
|
fileTitle: "파일을 삭제할까요?",
|
|
folderTitle: "폴더를 삭제할까요?",
|
|
message: '"{{name}}"이(가) 영구적으로 삭제됩니다.',
|
|
confirm: "삭제",
|
|
cancel: "취소",
|
|
},
|
|
confirmRevert: {
|
|
title: "변경 사항을 버릴까요?",
|
|
message: '"{{name}}"의 변경 사항이 영구적으로 삭제됩니다.',
|
|
confirm: "버리기",
|
|
cancel: "취소",
|
|
failed: "변경 사항을 버리지 못했습니다",
|
|
},
|
|
},
|
|
fileExplorer: {
|
|
sort: {
|
|
name: "이름",
|
|
modified: "수정일",
|
|
size: "크기",
|
|
},
|
|
context: {
|
|
size: "크기",
|
|
modified: "수정일",
|
|
},
|
|
actions: {
|
|
back: "뒤로",
|
|
retry: "다시 시도",
|
|
refresh: "파일 새로고침",
|
|
refreshing: "파일 새로고침 중",
|
|
hideHiddenFiles: "숨겨진 파일 숨기기",
|
|
showHiddenFiles: "숨겨진 파일 표시",
|
|
},
|
|
empty: {
|
|
noFiles: "파일 없음",
|
|
noVisibleFiles: "표시되는 파일이 없습니다.",
|
|
},
|
|
states: {
|
|
unavailable: "워크스페이스를 사용할 수 없습니다",
|
|
loading: "파일 불러오는 중...",
|
|
},
|
|
errors: {
|
|
failedToListDirectory: "디렉터리 목록을 불러오지 못했습니다",
|
|
createFailed: "항목을 만들지 못했습니다",
|
|
renameFailed: "항목 이름을 바꾸지 못했습니다",
|
|
duplicateFailed: "항목을 복제하지 못했습니다",
|
|
revealFailed: "항목을 표시하지 못했습니다",
|
|
deleteFailed: "항목을 삭제하지 못했습니다",
|
|
},
|
|
draft: {
|
|
filePlaceholder: "파일 이름",
|
|
folderPlaceholder: "폴더 이름",
|
|
},
|
|
},
|
|
setup: {
|
|
descriptor: {
|
|
label: "설정",
|
|
completed: "설정 완료",
|
|
failed: "설정 실패",
|
|
workspace: "워크스페이스 설정",
|
|
},
|
|
status: {
|
|
running: "실행 중",
|
|
completed: "완료됨",
|
|
failed: "실패함",
|
|
waiting: "설정 출력을 기다리는 중",
|
|
},
|
|
waiting: "워크스페이스 설정 중...",
|
|
empty: {
|
|
noCommands: "이 워크스페이스에서 실행된 설정 명령이 없습니다.",
|
|
},
|
|
accessibility: {
|
|
noCommands: "이 워크스페이스에서 실행된 설정 명령이 없습니다",
|
|
log: "워크스페이스 설정 로그",
|
|
},
|
|
log: {
|
|
noOutput: "출력 없음",
|
|
},
|
|
},
|
|
browser: {
|
|
unavailable: {
|
|
title: "브라우저는 데스크톱 전용입니다",
|
|
subtitle: "내장 브라우저를 사용하려면 이 워크스페이스를 Electron에서 여세요.",
|
|
},
|
|
session: "브라우저 세션 {{browserId}}",
|
|
controls: {
|
|
back: "뒤로",
|
|
forward: "앞으로",
|
|
stopLoading: "로딩 중지",
|
|
refresh: "새로고침",
|
|
browserUrl: "브라우저 URL",
|
|
enterUrl: "URL 입력",
|
|
openDevTools: "브라우저 개발자 도구 열기",
|
|
cancelSelector: "요소 선택기 취소",
|
|
annotateElement: "요소에 주석 달기",
|
|
screenshotElement: "요소 스크린샷",
|
|
screenshotCopied: "스크린샷을 클립보드에 복사했습니다.",
|
|
elementCopied: "요소를 클립보드에 복사했습니다.",
|
|
screenshotFailed: "스크린샷을 복사할 수 없습니다.",
|
|
selectorLoading: "페이지 로딩이 끝날 때까지 기다려 주세요.",
|
|
selectorFailed: "요소 선택기를 시작할 수 없습니다.",
|
|
},
|
|
annotate: {
|
|
title: "요소에 주석 달기",
|
|
placeholder: "이 요소에 관해 에이전트에게 보낼 메시지…",
|
|
submit: "첨부",
|
|
cancel: "취소",
|
|
},
|
|
devices: {
|
|
label: "장치 크기",
|
|
responsive: "반응형",
|
|
},
|
|
errors: {
|
|
failedToLoad: "페이지를 불러오지 못했습니다",
|
|
invalidUrl: "잘못된 브라우저 URL",
|
|
unsupportedProtocol: "지원되지 않는 브라우저 URL을 차단했습니다: {{protocol}}",
|
|
},
|
|
},
|
|
terminal: {
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
updateHost: "기본 터미널 렌더러를 사용하도록 호스트를 업데이트합니다.",
|
|
unableToSubscribe: "터미널을 구독할 수 없습니다",
|
|
},
|
|
tabs: {
|
|
loading: "불러오는 중...",
|
|
modified: "저장되지 않은 변경사항",
|
|
loadingAgentTitle: "에이전트 제목 불러오는 중",
|
|
emptyPane: "이 창에 탭이 없습니다.",
|
|
fallback: {
|
|
newAgent: "새 에이전트",
|
|
setup: "설정",
|
|
workspaceSetup: "워크스페이스 설정",
|
|
terminal: "터미널",
|
|
browser: "브라우저",
|
|
agent: "에이전트",
|
|
workspace: "워크스페이스",
|
|
},
|
|
switcher: {
|
|
trigger: "탭 전환 ({{count}}개 열림)",
|
|
title: "탭 전환",
|
|
searchPlaceholder: "탭 검색",
|
|
},
|
|
menu: {
|
|
openFor: "{{label}}의 메뉴 열기",
|
|
copyResumeCommand: "재개 명령 복사",
|
|
copyAgentId: "에이전트 ID 복사",
|
|
copyTerminalId: "터미널 ID 복사",
|
|
copyFilePath: "파일 경로 복사",
|
|
rename: "이름 변경",
|
|
closeAbove: "위쪽 탭 닫기",
|
|
closeBelow: "아래쪽 탭 닫기",
|
|
closeLeft: "왼쪽 탭 닫기",
|
|
closeRight: "오른쪽 탭 닫기",
|
|
closeOthers: "다른 탭 닫기",
|
|
reloadAgent: "에이전트 다시 로드",
|
|
reloadAgentTooltip:
|
|
"스킬, MCP 또는 로그인 상태를 업데이트하려면 에이전트를 다시 로드하세요.",
|
|
close: "닫기",
|
|
renameTerminal: "터미널 이름 변경",
|
|
renameAgent: "에이전트 이름 변경",
|
|
},
|
|
actions: {
|
|
newAgent: "새 에이전트",
|
|
newTerminal: "새 터미널",
|
|
preparingTerminal: "터미널 탭 준비 중",
|
|
preparingTerminalTooltip: "터미널 준비 중...",
|
|
newBrowser: "새 브라우저",
|
|
exitFocusMode: "집중 모드 종료",
|
|
splitRight: "창을 오른쪽으로 분할",
|
|
splitDown: "창을 아래로 분할",
|
|
terminalProfilesMenu: "터미널 프로필",
|
|
editTerminalProfiles: "프로필 편집…",
|
|
pinTarget: "고정",
|
|
unpinTarget: "고정 해제",
|
|
},
|
|
explorer: {
|
|
open: "탐색기 열기",
|
|
close: "탐색기 닫기",
|
|
toggle: "탐색기 토글",
|
|
changes: "변경 사항",
|
|
files: "파일",
|
|
},
|
|
toasts: {
|
|
copyFailed: "복사 실패",
|
|
agentIdCopiedLabel: "에이전트 ID",
|
|
terminalIdCopiedLabel: "터미널 ID",
|
|
resumeCommandCopiedLabel: "재개 명령",
|
|
filePathCopiedLabel: "파일 경로",
|
|
resumeIdUnavailable: "재개 ID를 사용할 수 없습니다",
|
|
resumeCommandUnavailable: "재개 명령을 사용할 수 없습니다",
|
|
reloadingAgent: "에이전트 다시 로드 중...",
|
|
reloadedAgent: "에이전트를 다시 로드했습니다",
|
|
failedToReloadAgent: "에이전트를 다시 로드하지 못했습니다",
|
|
failedToCloseAgent: "에이전트를 닫지 못했습니다",
|
|
},
|
|
confirmations: {
|
|
close: "닫기",
|
|
cancel: "취소",
|
|
archive: "보관",
|
|
unsavedTitle: "저장되지 않은 변경사항",
|
|
unsavedMessage: "이 탭에는 저장되지 않은 변경사항이 있습니다. 닫으면 초안이 삭제됩니다.",
|
|
closeWithoutSaving: "저장하지 않고 닫기",
|
|
closePaneTitle: "창을 닫으시겠어요?",
|
|
bulkUnsaved:
|
|
"{{count}} 탭에 저장되지 않은 변경 사항이 있습니다. 종료하면 해당 초안이 삭제됩니다.",
|
|
closeTerminalTitle: "터미널을 닫을까요?",
|
|
closeTerminalMessage: "이 터미널에서 실행 중인 프로세스가 즉시 중지됩니다.",
|
|
archiveRunningAgentTitle: "실행 중인 에이전트를 보관할까요?",
|
|
archiveRunningAgentMessage:
|
|
"이 에이전트는 아직 실행 중입니다. 보관하면 에이전트가 중지되고 탭이 닫힙니다.",
|
|
closeTabsLeftTitle: "왼쪽 탭을 닫을까요?",
|
|
closeTabsRightTitle: "오른쪽 탭을 닫을까요?",
|
|
closeOtherTabsTitle: "다른 탭을 닫을까요?",
|
|
bulk: {
|
|
all: "에이전트 {{agents}}개를 보관하고, 터미널 {{terminals}}개를 닫고, 탭 {{tabs}}개를 닫습니다. 닫히는 터미널에서 실행 중인 프로세스는 즉시 중지됩니다.",
|
|
agentsAndTerminals:
|
|
"에이전트 {{agents}}개를 보관하고 터미널 {{terminals}}개를 닫습니다. 닫히는 터미널에서 실행 중인 프로세스는 즉시 중지됩니다.",
|
|
terminalsAndTabs:
|
|
"터미널 {{terminals}}개를 닫고 탭 {{tabs}}개를 닫습니다. 닫히는 터미널에서 실행 중인 프로세스는 즉시 중지됩니다.",
|
|
agentsAndTabs: "에이전트 {{agents}}개를 보관하고 탭 {{tabs}}개를 닫습니다.",
|
|
terminals:
|
|
"터미널 {{terminals}}개를 닫습니다. 닫히는 터미널에서 실행 중인 프로세스는 즉시 중지됩니다.",
|
|
tabs: "탭 {{tabs}}개를 닫습니다.",
|
|
agents: "에이전트 {{agents}}개를 보관합니다.",
|
|
},
|
|
},
|
|
},
|
|
header: {
|
|
actions: {
|
|
workspaceActions: "워크스페이스 작업",
|
|
newAgent: "새 에이전트",
|
|
newTerminal: "새 터미널",
|
|
newBrowser: "새 브라우저 탭",
|
|
importSession: "세션 가져오기",
|
|
copyPath: "워크스페이스 경로 복사",
|
|
copyBranchName: "브랜치 이름 복사",
|
|
showSetup: "설정 표시",
|
|
},
|
|
toasts: {
|
|
workspacePathUnavailable: "워크스페이스 경로를 아직 사용할 수 없습니다",
|
|
branchNameUnavailable: "브랜치 이름을 사용할 수 없습니다",
|
|
terminalQueued: "워크스페이스 준비 중, 준비되면 터미널을 엽니다...",
|
|
workspacePathCopiedLabel: "워크스페이스 경로",
|
|
branchNameCopiedLabel: "브랜치 이름",
|
|
},
|
|
},
|
|
scripts: {
|
|
title: "스크립트",
|
|
actions: {
|
|
chooseUrl: "URL를 선택하세요",
|
|
copyUrl: "URL 복사",
|
|
openService: "서비스 보기",
|
|
restart: "다시 시작",
|
|
run: "실행",
|
|
stop: "중지",
|
|
view: "터미널 보기",
|
|
},
|
|
accessibility: {
|
|
trigger: "워크스페이스 스크립트",
|
|
openService: "{{scriptName}} 서비스 보기",
|
|
viewTerminal: "{{scriptName}} 터미널 보기",
|
|
runScript: "{{scriptName}} 스크립트 실행",
|
|
stopScript: "{{scriptName}} 중지",
|
|
restartScript: "{{scriptName}} 다시 시작",
|
|
copyUrl: "{{scriptName}} URL 복사",
|
|
chooseUrl: "{{scriptName}}의 URL 선택",
|
|
script: "{{scriptName}} 스크립트",
|
|
},
|
|
routes: {
|
|
public: "역방향 프록시",
|
|
paseo: "간편 주소",
|
|
direct: "직접",
|
|
},
|
|
states: {
|
|
exitCode: "종료 {{code}}",
|
|
startFailed: "{{scriptName}}을(를) 시작하지 못했습니다",
|
|
stopFailed: "{{scriptName}}를 중지하지 못했습니다.",
|
|
},
|
|
},
|
|
git: {
|
|
actions: {
|
|
moreOptions: "옵션 더 보기",
|
|
moreActions: "작업 더 보기",
|
|
commit: {
|
|
label: "커밋",
|
|
pending: "커밋하는 중...",
|
|
success: "커밋됨",
|
|
},
|
|
pull: {
|
|
label: "풀",
|
|
pending: "가져오는 중...",
|
|
success: "가져옴",
|
|
},
|
|
push: {
|
|
label: "푸시",
|
|
pending: "푸시하는 중...",
|
|
success: "푸시됨",
|
|
},
|
|
pullAndPush: {
|
|
label: "풀 후 푸시",
|
|
pending: "가져온 뒤 푸시하는 중...",
|
|
success: "가져온 뒤 푸시됨",
|
|
},
|
|
viewPr: "PR 보기",
|
|
viewPr_mr: "MR 보기",
|
|
createPr: {
|
|
label: "PR 생성",
|
|
pending: "PR 생성 중...",
|
|
success: "PR 생성됨",
|
|
label_mr: "MR 생성",
|
|
pending_mr: "MR 생성 중...",
|
|
success_mr: "MR 생성됨",
|
|
},
|
|
mergeBranch: {
|
|
label: "로컬에서 병합",
|
|
pending: "병합하는 중...",
|
|
success: "병합됨",
|
|
},
|
|
mergeFromBase: {
|
|
label: "{{baseRef}}에서 업데이트",
|
|
pending: "업데이트하는 중...",
|
|
success: "업데이트됨",
|
|
},
|
|
archive: {
|
|
label: "워크스페이스 보관",
|
|
pending: "보관하는 중...",
|
|
success: "보관됨",
|
|
},
|
|
mergePr: {
|
|
squash: "PR 병합(스쿼시)",
|
|
merge: "PR 병합(병합)",
|
|
rebase: "PR 병합(리베이스)",
|
|
pending: "PR 병합 중...",
|
|
success: "PR 병합됨",
|
|
squash_mr: "MR 병합(스쿼시)",
|
|
merge_mr: "MR 병합(병합)",
|
|
rebase_mr: "MR 병합(리베이스)",
|
|
pending_mr: "MR 병합 중...",
|
|
success_mr: "MR 병합됨",
|
|
},
|
|
autoMerge: {
|
|
enableSquash: "자동 병합(스쿼시)",
|
|
enableMerge: "자동 병합(병합)",
|
|
enableRebase: "자동 병합(리베이스)",
|
|
enabled: "자동 병합 사용 설정됨",
|
|
enabling: "자동 병합 사용 설정 중...",
|
|
disabling: "자동 병합 해제 중...",
|
|
disabled: "자동 병합 해제됨",
|
|
},
|
|
unavailable: {
|
|
viewPrNoForge: "{{brand}}가 연결되지 않아 지금은 {{noun}} 보기를 사용할 수 없습니다.",
|
|
pullNoRemote: "이 브랜치가 아직 원격에 연결되어 있지 않아 여기서 풀을 사용할 수 없습니다",
|
|
pullDirty: "로컬 변경 사항이 있어 풀을 사용할 수 없습니다. 먼저 커밋하거나 스태시하세요",
|
|
pullUpToDate: "이 브랜치가 이미 최신 상태이므로 풀을 사용할 수 없습니다",
|
|
pushNoRemote:
|
|
"이 브랜치가 아직 원격에 연결되어 있지 않아 여기서 푸시를 사용할 수 없습니다",
|
|
pushBehind: "먼저 가져와야 할 최신 변경 사항이 있어 아직 푸시를 사용할 수 없습니다",
|
|
pushNothing: "새로 보낼 항목이 없어 푸시를 사용할 수 없습니다",
|
|
pullAndPushNoRemote:
|
|
"이 브랜치가 아직 원격에 연결되어 있지 않아 여기서 풀 후 푸시를 사용할 수 없습니다",
|
|
pullAndPushDirty:
|
|
"로컬 변경 사항이 있어 풀 후 푸시를 사용할 수 없습니다. 먼저 커밋하거나 스태시하세요",
|
|
pullAndPushNoIncoming:
|
|
"먼저 가져올 변경 사항이 없으므로 풀 후 푸시를 사용할 수 없습니다.",
|
|
pullAndPushInSync: "이 브랜치가 이미 동기화되어 있어 풀 후 푸시를 사용할 수 없습니다",
|
|
pullAndPushNothingToPush: "풀 이후 새로 푸시할 내용이 없습니다.",
|
|
createPrNoForge:
|
|
"{{brand}}가 연결되어 있지 않기 때문에 지금은 {{noun}} 생성을 사용할 수 없습니다.",
|
|
createPrNoCommits: "이 브랜치에 아직 새 커밋이 없어 PR 생성을 사용할 수 없습니다",
|
|
mergeNoBase: "기준 브랜치를 확인할 수 없어 병합을 사용할 수 없습니다",
|
|
mergeDirty:
|
|
"로컬 변경 사항이 있어 병합을 사용할 수 없습니다. 먼저 커밋하거나 스태시하세요",
|
|
mergeNothing: "이 브랜치에 아직 병합할 새 항목이 없어 병합을 사용할 수 없습니다",
|
|
updateNoBase: "기준 브랜치를 확인할 수 없어 업데이트를 사용할 수 없습니다",
|
|
updateDirty:
|
|
"로컬 변경 사항이 있어 업데이트를 사용할 수 없습니다. 먼저 커밋하거나 스태시하세요",
|
|
updateCurrent:
|
|
"이 브랜치가 이미 {{baseRef}}와 최신 상태이므로 업데이트를 사용할 수 없습니다",
|
|
mergePrNoGithub: "GitHub가 연결되어 있지 않아 지금은 PR 병합을 사용할 수 없습니다",
|
|
archiveNotWorktree:
|
|
"이 워크스페이스가 Paseo 워크트리로 생성되지 않아 여기서 보관을 사용할 수 없습니다",
|
|
mergePrNoForge:
|
|
"{{brand}}가 연결되어 있지 않기 때문에 지금은 {{noun}} 병합을 사용할 수 없습니다.",
|
|
mergePrMissing: "아직 풀 리퀘스트가 없어 PR 병합을 사용할 수 없습니다",
|
|
mergePrDraft: "풀 리퀘스트가 아직 초안이라 PR 병합을 사용할 수 없습니다",
|
|
mergePrMerged: "풀 리퀘스트가 이미 병합되어 PR 병합을 사용할 수 없습니다",
|
|
mergePrClosed: "풀 리퀘스트가 닫혀 있어 PR 병합을 사용할 수 없습니다",
|
|
mergePrConflicts: "풀 리퀘스트에 충돌이 있어 PR 병합을 사용할 수 없습니다",
|
|
mergePrQueue: "이 저장소는 병합 대기열을 사용하므로 여기서 PR 병합을 사용할 수 없습니다",
|
|
mergePrNotReady:
|
|
"{{brand}}에서 {{noun}}의 병합 준비가 확인될 때까지 {{noun}}을(를) 병합할 수 없습니다.",
|
|
autoMergeCannotDisable: "자동 병합이 사용 설정되어 있지만 이 계정은 해제할 수 없습니다",
|
|
},
|
|
toasts: {
|
|
failedCommit: "커밋하지 못했습니다",
|
|
failedPull: "가져오지 못했습니다",
|
|
failedPush: "푸시하지 못했습니다",
|
|
failedPullAndPush: "풀 후 푸시하지 못했습니다",
|
|
failedCreatePr: "PR을 생성하지 못했습니다",
|
|
failedMergePr: "PR을 병합하지 못했습니다",
|
|
failedEnableAutoMerge: "자동 병합을 사용 설정하지 못했습니다",
|
|
failedDisableAutoMerge: "자동 병합을 해제하지 못했습니다",
|
|
baseRefUnavailable: "기준 ref를 사용할 수 없습니다",
|
|
failedMerge: "병합하지 못했습니다",
|
|
failedMergeFromBase: "기준에서 병합하지 못했습니다",
|
|
},
|
|
archiveWarning: {
|
|
title: '"{{workspaceName}}"를 보관하시겠습니까?',
|
|
confirm: "보관",
|
|
cancel: "취소",
|
|
uncommittedChanges: "커밋되지 않은 변경 사항",
|
|
uncommittedChangesWithDiff: "커밋되지 않은 변경 사항 ({{diffStat}})",
|
|
addedLine: "추가된 줄 {{count}}개",
|
|
addedLines: "추가된 줄 {{count}}개",
|
|
deletedLine: "삭제된 줄 {{count}}개",
|
|
deletedLines: "삭제된 줄 {{count}}개",
|
|
unpushedCommit: "푸시되지 않은 커밋 {{count}}개",
|
|
unpushedCommits: "푸시되지 않은 커밋 {{count}}개",
|
|
},
|
|
},
|
|
diff: {
|
|
openChangesTab: "변경사항 탭 열기",
|
|
closeChangesTab: "변경사항 탭 닫기",
|
|
binaryFile: "바이너리 파일",
|
|
tooLarge: "표시하기에 diff가 너무 큽니다",
|
|
previewTooLargeTitle: "Diff가 너무 커서 미리 볼 수 없습니다",
|
|
previewTooLargeDescription: "여기에서 미리 보려면 비교 범위를 좁히세요.",
|
|
unified: "통합 diff",
|
|
split: "나란히 보기 diff",
|
|
switchToUnified: "통합 diff로 전환",
|
|
switchToSplit: "나란히 보기 diff로 전환",
|
|
showTreeView: "폴더 트리 표시",
|
|
showFlatView: "플랫 파일 목록 표시",
|
|
options: "Diff 옵션",
|
|
hideWhitespace: "공백 숨기기",
|
|
showWhitespace: "공백 표시",
|
|
scrollLongLines: "긴 줄 스크롤",
|
|
wrapLongLines: "긴 줄 줄바꿈",
|
|
collapseAll: "모든 파일 접기",
|
|
expandAll: "모든 파일 펼치기",
|
|
collapseAllFolders: "모든 폴더 축소",
|
|
expandAllFolders: "모든 폴더 확장",
|
|
refreshing: "새로고침 중",
|
|
refresh: "새로고침",
|
|
refreshState: "Git 및 {{brand}} 상태 새로고침",
|
|
failedRefresh: "Git 상태를 새로고침하지 못했습니다.",
|
|
emptyHiddenWhitespace: "공백을 숨긴 후 표시할 변경 사항이 없습니다",
|
|
emptyUncommitted: "커밋되지 않은 변경 사항이 없습니다",
|
|
emptyAgainstBase: "{{baseRef}} 대비 변경 사항이 없습니다",
|
|
checkingRepository: "저장소 확인 중...",
|
|
notRepository: "Git 저장소가 아닙니다",
|
|
diffMode: "Diff 모드",
|
|
uncommitted: "커밋되지 않음",
|
|
committed: "커밋됨",
|
|
branchUnknown: "알 수 없음",
|
|
base: "기준",
|
|
newFile: "신규",
|
|
deletedFile: "삭제됨",
|
|
commits: {
|
|
title: "커밋",
|
|
countLabel: "워크스페이스 커밋 {{count}}개",
|
|
noneAhead: "아직 {{baseRef}}보다 앞서 커밋이 없습니다.",
|
|
fileDiffEmpty: "표시할 변경사항이 없습니다.",
|
|
fileDiffError: "파일 diff를 불러오지 못했습니다.",
|
|
loading: "커밋 로드 중…",
|
|
loadError: "커밋을 로드하지 못했습니다.",
|
|
empty: "아직 커밋이 없습니다.",
|
|
},
|
|
},
|
|
openInEditor: {
|
|
open: "열기",
|
|
chooseEditor: "편집기 선택",
|
|
openIn: "{{target}}에서 워크스페이스 열기",
|
|
openFileIn: "{{target}}에서 {{fileName}} 열기",
|
|
failedOpen: "워크스페이스를 열지 못했습니다",
|
|
},
|
|
pr: {
|
|
actions: {
|
|
viewPullRequest: "보기",
|
|
openOn: "{{brand}}에서 열기",
|
|
},
|
|
checksSummary: {
|
|
passedLabel: "통과",
|
|
failedLabel: "실패",
|
|
runningLabel: "진행 중",
|
|
passedAccessible: "검사 통과",
|
|
failedAccessible: "검사 실패",
|
|
runningAccessible: "검사 진행 중",
|
|
},
|
|
sections: {
|
|
checks: "검사",
|
|
pipeline: "파이프라인",
|
|
reviews: "리뷰",
|
|
},
|
|
empty: {
|
|
noJobs: "작업 없음",
|
|
loadingPipeline: "파이프라인 로드 중…",
|
|
pipelineJobsLoadFailed: "파이프라인 작업을 로드할 수 없습니다.",
|
|
allowedToFail: "실패가 허용됨",
|
|
},
|
|
approvals: "{{required}} 중 {{given}} 승인",
|
|
accessibility: {
|
|
pullRequest: "풀 리퀘스트 #{{number}}",
|
|
pullRequest_mr: "병합 요청 !{{number}}",
|
|
},
|
|
states: {
|
|
draft: "초안",
|
|
merged: "병합됨",
|
|
closed: "닫힘",
|
|
open: "열림",
|
|
},
|
|
activity: {
|
|
commented: "댓글 작성됨",
|
|
approved: "승인됨",
|
|
requestedChanges: "변경 요청됨",
|
|
reviewed: "리뷰됨",
|
|
},
|
|
time: {
|
|
justNow: "방금",
|
|
},
|
|
thread: {
|
|
discussion: "토론 스레드",
|
|
},
|
|
errors: {
|
|
statusLoadFailed: "풀 리퀘스트 상태를 불러올 수 없습니다",
|
|
activityLoadFailed: "풀 리퀘스트 활동을 불러올 수 없습니다",
|
|
},
|
|
},
|
|
forgeSetup: {
|
|
installCli: "{{brand}} 기능을 사용하려면 {{cli}} CLI를 설치하세요.",
|
|
signIn: "{{brand}} 기능을 사용하려면 {{command}}를 실행하세요.",
|
|
generic: "해당 기능을 사용하려면 이 호스트에 {{brand}}를 설정하세요.",
|
|
},
|
|
},
|
|
},
|
|
sidebar: {
|
|
display: {
|
|
trigger: "표시 설정",
|
|
heading: "표시",
|
|
grouping: {
|
|
label: "그룹화",
|
|
project: "프로젝트",
|
|
status: "상태",
|
|
},
|
|
titleSource: {
|
|
label: "제목",
|
|
title: "제목",
|
|
branch: "브랜치 이름",
|
|
},
|
|
show: {
|
|
label: "표시 항목",
|
|
branch: "브랜치",
|
|
project: "프로젝트",
|
|
host: "호스트",
|
|
changeRequest: "풀 리퀘스트",
|
|
checks: "검사",
|
|
services: "서비스",
|
|
diff: "Diff 통계",
|
|
timestamp: "마지막 활동",
|
|
},
|
|
checks: {
|
|
iconAndText: "아이콘 및 텍스트",
|
|
icon: "아이콘만",
|
|
none: "숨김",
|
|
},
|
|
hostFilter: {
|
|
label: "호스트",
|
|
all: "모든 호스트",
|
|
},
|
|
},
|
|
pinned: {
|
|
title: "고정됨",
|
|
},
|
|
host: {
|
|
noHost: "호스트 없음",
|
|
switchTitle: "호스트 전환",
|
|
searchPlaceholder: "호스트 검색...",
|
|
},
|
|
actions: {
|
|
addProject: "프로젝트 추가",
|
|
newWorkspace: "새 워크스페이스",
|
|
hosts: "호스트",
|
|
home: "홈",
|
|
settings: "설정",
|
|
closeSidebar: "사이드바 닫기",
|
|
},
|
|
help: {
|
|
trigger: "도움말 및 지원",
|
|
sectionHelp: "도움말",
|
|
diagnostics: "진단 실행",
|
|
shortcuts: "키보드 단축키",
|
|
reportIssue: "문제 신고",
|
|
discord: "Discord",
|
|
github: "GitHub 이슈 만들기",
|
|
whatsNew: "새로운 소식",
|
|
appName: "Paseo",
|
|
},
|
|
sections: {
|
|
sessions: "기록",
|
|
schedules: "일정",
|
|
},
|
|
worktreeSetup: {
|
|
title: "워크트리 스크립트 설정",
|
|
description:
|
|
"새 워크트리가 의존성을 설치하고 자동으로 준비될 수 있도록 설정 명령을 추가하세요.",
|
|
openProjectSettings: "프로젝트 설정 열기",
|
|
},
|
|
project: {
|
|
actions: {
|
|
menu: "프로젝트 작업",
|
|
openSettings: "프로젝트 설정 열기",
|
|
openNewWindow: "새 창에서 열기",
|
|
openNewWindowFailed: "새 창을 열 수 없습니다",
|
|
openFolder: "파일 관리자에서 열기",
|
|
openFolderFailed: "폴더를 열 수 없습니다.",
|
|
remove: "프로젝트 제거",
|
|
removing: "제거하는 중...",
|
|
},
|
|
confirmations: {
|
|
removeTitle: "프로젝트를 제거할까요?",
|
|
removeMessage:
|
|
'"{{projectName}}"을(를) 사이드바에서 제거할까요?\n\n디스크의 파일은 변경되지 않습니다.',
|
|
removeConfirm: "제거",
|
|
cancel: "취소",
|
|
},
|
|
toasts: {
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
removeFailed: "일부 워크스페이스를 제거하지 못했습니다",
|
|
updateHostToRemove: "프로젝트를 제거하려면 호스트를 업데이트하세요.",
|
|
},
|
|
empty: {
|
|
title: "아직 프로젝트가 없습니다",
|
|
description: "시작하려면 프로젝트를 추가하세요",
|
|
},
|
|
},
|
|
workspace: {
|
|
status: {
|
|
serviceRunning: "서비스 {{name}} 실행 중",
|
|
serviceUnhealthy: "서비스 {{name}} 비정상",
|
|
creating: "생성하는 중...",
|
|
},
|
|
actions: {
|
|
menu: "워크스페이스 작업",
|
|
newWorkspace: "새 워크스페이스",
|
|
showMore: "더 보기",
|
|
showLess: "간략히 보기",
|
|
createWorkspaceFor: "{{projectName}}을(를) 위한 새 워크스페이스 생성",
|
|
copyPath: "경로 복사",
|
|
copyBranchName: "브랜치 이름 복사",
|
|
rename: "워크스페이스 이름 변경",
|
|
pin: "상단에 고정",
|
|
unpin: "고정 해제",
|
|
archive: "보관",
|
|
archiveWorkspace: "워크스페이스 보관",
|
|
hideFromSidebar: "사이드바에서 숨기기",
|
|
archiving: "보관하는 중...",
|
|
hiding: "숨기는 중...",
|
|
},
|
|
confirmations: {
|
|
hideTitle: "워크스페이스를 숨길까요?",
|
|
hideMessage:
|
|
'"{{workspaceName}}"을(를) 사이드바에서 숨길까요?\n\n디스크의 파일은 변경되지 않습니다.',
|
|
hideConfirm: "숨기기",
|
|
cancel: "취소",
|
|
},
|
|
rename: {
|
|
title: "워크스페이스 이름 변경",
|
|
submit: "이름 변경",
|
|
invalidBranchName: "잘못된 브랜치 이름",
|
|
},
|
|
toasts: {
|
|
workspacePathUnavailable: "워크스페이스 경로를 사용할 수 없습니다",
|
|
pathCopied: "경로가 복사되었습니다",
|
|
branchNameCopied: "브랜치 이름이 복사되었습니다",
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
hideFailed: "워크스페이스를 숨기지 못했습니다",
|
|
archiveFailed: "워크스페이스를 보관하지 못했습니다.",
|
|
},
|
|
},
|
|
},
|
|
newWorkspace: {
|
|
title: "새 워크스페이스",
|
|
create: "생성",
|
|
isolation: {
|
|
local: "로컬",
|
|
worktree: "새 워크트리",
|
|
label: "격리",
|
|
},
|
|
fields: {
|
|
project: "프로젝트",
|
|
base: "기준",
|
|
baseNotApplicable: "해당 없음",
|
|
},
|
|
titlePlaceholder: "제목(선택 사항)",
|
|
errors: {
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
createWorktreeFailed: "워크트리를 생성하지 못했습니다",
|
|
composerStateRequired: "작성기 상태가 필요합니다",
|
|
selectModel: "모델을 선택하세요",
|
|
},
|
|
tooltips: {
|
|
project: "Choose the project",
|
|
host: "Choose the host",
|
|
isolation: "Choose the isolation level",
|
|
startingRef: "시작 위치를 선택하세요",
|
|
launch: "Choose what to launch",
|
|
},
|
|
refPicker: {
|
|
startingRef: "시작 ref",
|
|
intoBase: "{{baseRef}}(으)로",
|
|
searching: "검색 중...",
|
|
noMatchingRefs: "일치하는 ref가 없습니다.",
|
|
searchPlaceholder: "브랜치와 PR 검색",
|
|
title: "시작 위치",
|
|
},
|
|
launch: {
|
|
title: "What to launch",
|
|
chat: "Chat",
|
|
terminal: "Terminal",
|
|
manageProfiles: "Manage profiles",
|
|
submit: "Launch",
|
|
promptPlaceholder: "Prompt {{name}}",
|
|
commandPlaceholder: "Run a command, or leave empty for a blank terminal",
|
|
},
|
|
},
|
|
desktop: {
|
|
quitting: {
|
|
title: "Paseo 종료 중...",
|
|
detail: "로컬 데몬을 중지하는 중입니다.",
|
|
},
|
|
daemon: {
|
|
title: "데몬",
|
|
status: {
|
|
title: "상태",
|
|
builtInOnly: "여기에는 내장 데스크톱 데몬만 표시됩니다",
|
|
running: "실행 중",
|
|
notRunning: "실행 중이 아님",
|
|
pid: "PID {{pid}}",
|
|
},
|
|
management: {
|
|
title: "내장 데몬 관리",
|
|
hint: "Paseo가 내장 데몬을 시작하고 중지하도록 허용합니다",
|
|
pauseTitle: "내장 데몬 일시 중지",
|
|
pauseMessage:
|
|
"내장 데몬이 즉시 중지됩니다. 내장 데몬에 연결된 실행 중인 에이전트와 터미널이 중지됩니다.",
|
|
pauseAndStop: "일시 중지 후 중지",
|
|
registrationFailed:
|
|
"내장 데몬이 시작되었지만 Paseo가 localhost 연결을 저장하지 못했습니다. 데몬 관리를 껐다가 다시 켜거나 localhost를 수동으로 추가하세요.",
|
|
pausedStopFailed: "내장 데몬 관리가 일시 중지되었지만 Paseo가 데몬을 중지하지 못했습니다.",
|
|
updateFailed: "내장 데몬 관리를 업데이트할 수 없습니다.",
|
|
},
|
|
keepRunning: {
|
|
title: "종료 후에도 데몬 계속 실행",
|
|
hint: "Paseo를 종료해도 데몬이 계속 실행됩니다",
|
|
},
|
|
logs: {
|
|
title: "로그 파일",
|
|
modalTitle: "데몬 로그",
|
|
unavailable: "로그 경로를 사용할 수 없습니다",
|
|
empty: "(로그 파일이 비어 있습니다)",
|
|
copied: "로그 경로가 복사되었습니다.",
|
|
copyFailed: "로그 경로를 복사할 수 없습니다.",
|
|
open: "로그 열기",
|
|
copyPath: "경로 복사",
|
|
},
|
|
fullStatus: {
|
|
title: "전체 상태",
|
|
modalTitle: "데몬 상태",
|
|
hint: "`paseo daemon status`를 실행하고 출력을 표시합니다",
|
|
view: "상태 보기",
|
|
copied: "상태가 클립보드에 복사되었습니다.",
|
|
fetchFailed: "데몬 상태를 가져오지 못했습니다: {{message}}",
|
|
},
|
|
advancedSettings: "고급 설정",
|
|
openAdvancedSettings: "고급 데몬 설정 열기",
|
|
versionMismatch:
|
|
"앱과 데몬의 버전이 일치하지 않습니다. 최상의 경험을 위해 둘 다 동일한 버전으로 업데이트하세요.",
|
|
loadFailed: "데스크톱 데몬 상태를 불러올 수 없습니다.",
|
|
},
|
|
updates: {
|
|
status: {
|
|
checking: "앱 업데이트 확인 중...",
|
|
installing: "앱 업데이트 설치 중...",
|
|
upToDate: "앱이 최신 상태입니다.",
|
|
upToDateWithLastChecked: "최신 상태입니다. 마지막 확인: {{time}}.",
|
|
pending: "업데이트가 준비되면 알려드리겠습니다.",
|
|
pendingWithLastChecked:
|
|
"업데이트가 준비되면 알려드리겠습니다. {{time}}에서 마지막으로 확인했습니다.",
|
|
pendingWithVersion: "업데이트 발견: {{version}}. 다운로드 중...",
|
|
pendingWithVersionAndLastChecked:
|
|
"업데이트 발견: {{version}}. 다운로드 중... {{time}}에서 마지막으로 확인했습니다.",
|
|
availableWithVersion: "업데이트 준비됨: {{version}}",
|
|
availableWithVersionAndLastChecked:
|
|
"업데이트 준비됨: {{version}}. {{time}}에서 마지막으로 확인했습니다.",
|
|
available: "설치할 앱 업데이트가 준비되었습니다.",
|
|
availableWithLastChecked:
|
|
"앱 업데이트를 설치할 준비가 되었습니다. {{time}}에서 마지막으로 확인했습니다.",
|
|
installed: "앱 업데이트가 설치되었습니다. 재시작이 필요합니다.",
|
|
failed: "앱을 업데이트하지 못했습니다.",
|
|
idle: "업데이트 상태를 아직 확인하지 않았습니다.",
|
|
},
|
|
installError: "데스크톱 앱 업데이트를 설치할 수 없습니다.",
|
|
callout: {
|
|
installingTitle: "업데이트 설치 중",
|
|
failedTitle: "업데이트 실패",
|
|
availableTitle: "업데이트 사용 가능",
|
|
genericError: "문제가 발생했습니다.",
|
|
whatsNew: "새로운 기능",
|
|
installingAction: "설치 중...",
|
|
installAndRestart: "설치 후 재시작",
|
|
installingDescription: "설치 후 재시작 중...",
|
|
versionReady: "{{version}} 설치가 준비되었습니다.",
|
|
newVersionReady: "새 버전 설치가 준비되었습니다.",
|
|
restartWarning: "앱을 업그레이드하면 실행 중인 에이전트가 중지되고 터미널 세션이 닫힙니다.",
|
|
},
|
|
},
|
|
settings: {
|
|
loadFailed: "데스크톱 설정을 불러올 수 없습니다.",
|
|
saveFailed: "데스크톱 설정을 저장할 수 없습니다.",
|
|
},
|
|
rosetta: {
|
|
title: "Apple Silicon 빌드 다운로드",
|
|
runningIntel: "Apple Silicon에서 Rosetta로 Paseo의 Intel 빌드를 실행하고 있습니다.",
|
|
highCpu:
|
|
"이로 인해 CPU 사용량이 높아집니다. 이를 해결하려면 Apple Silicon 빌드를 다운로드하세요.",
|
|
download: "다운로드",
|
|
},
|
|
permissions: {
|
|
notifications: {
|
|
allowed: "OS에서 알림이 허용되어 있습니다.",
|
|
denied: "시스템 설정에서 알림이 거부되어 있습니다.",
|
|
notGranted: "알림이 아직 허용되지 않았습니다.",
|
|
webOnly: "데스크톱 알림 상태는 웹 런타임에서만 사용할 수 있습니다.",
|
|
supported: "데스크톱 알림이 지원됩니다.",
|
|
unsupported: "이 플랫폼에서는 데스크톱 알림이 지원되지 않습니다.",
|
|
apiUnavailable: "이 환경에서는 웹 알림 API를 사용할 수 없습니다.",
|
|
requestsWebOnly: "데스크톱 알림 요청은 웹 런타임에서만 사용할 수 있습니다.",
|
|
requestUnavailable: "웹 알림 API의 requestPermission()을 사용할 수 없습니다.",
|
|
requestFailed: "알림 권한을 요청하지 못했습니다: {{message}}",
|
|
unexpectedState: "예기치 않은 알림 권한 상태: {{state}}",
|
|
},
|
|
microphone: {
|
|
webOnly: "데스크톱 마이크 상태는 웹 런타임에서만 사용할 수 있습니다.",
|
|
navigatorUnavailable: "이 환경에서는 Navigator를 사용할 수 없습니다.",
|
|
granted: "마이크 접근이 허용되었습니다.",
|
|
denied: "시스템 설정에서 마이크 접근이 거부되어 있습니다.",
|
|
notGranted: "마이크 권한이 아직 허용되지 않았습니다.",
|
|
unexpectedState: "예기치 않은 마이크 권한 상태: {{state}}",
|
|
statusApiUnavailable:
|
|
"이 런타임에서는 마이크 상태 API를 사용할 수 없습니다. 접근을 확인하려면 요청을 사용하세요.",
|
|
queryFailed: "마이크 상태를 조회하지 못했습니다: {{message}}",
|
|
captureUnavailable: "이 환경에서는 마이크 캡처를 사용할 수 없습니다.",
|
|
permissionApiUnavailable:
|
|
"권한 상태 API를 사용할 수 없습니다. 접근을 확인하려면 요청을 사용하세요.",
|
|
requestsWebOnly: "데스크톱 마이크 요청은 웹 런타임에서만 사용할 수 있습니다.",
|
|
captureApiUnavailable: "이 환경에서는 마이크 캡처 API를 사용할 수 없습니다.",
|
|
requestDenied: "사용자 또는 시스템에 의해 마이크 권한이 거부되었습니다.",
|
|
noDevice: "마이크 장치를 찾을 수 없습니다.",
|
|
requestFailed: "마이크 권한을 요청하지 못했습니다: {{message}}",
|
|
},
|
|
empty: {
|
|
notifications: "알림 상태를 아직 확인하지 않았습니다.",
|
|
microphone: "마이크 상태를 아직 확인하지 않았습니다.",
|
|
},
|
|
testNotification: {
|
|
title: "Paseo 알림 테스트",
|
|
body: "이 메시지가 보이면 데스크톱 알림이 작동하는 것입니다.",
|
|
notDelivered: "알림이 전달되지 않았습니다. 시스템 설정 > 알림을 확인하세요.",
|
|
failed: "알림을 보내지 못했습니다.",
|
|
},
|
|
},
|
|
integrations: {
|
|
cli: {
|
|
statusFailed: "CLI 설치 상태를 확인할 수 없습니다.",
|
|
installFailed: "Paseo CLI를 설치할 수 없습니다.",
|
|
},
|
|
skills: {
|
|
statusFailed: "오케스트레이션 스킬 상태를 확인할 수 없습니다.",
|
|
installFailed: "오케스트레이션 스킬을 설치할 수 없습니다.",
|
|
updateFailed: "오케스트레이션 스킬을 업데이트할 수 없습니다.",
|
|
uninstallFailed: "오케스트레이션 스킬을 제거할 수 없습니다.",
|
|
saveSelectionFailed: "오케스트레이션 스킬 선택을 저장하지 못했습니다.",
|
|
},
|
|
},
|
|
},
|
|
rootError: {
|
|
title: "Paseo에 문제가 발생했습니다.",
|
|
body: "앱을 다시 로드해 보세요. 이런 일이 계속 발생하면 신고할 때 아래 세부정보를 포함하세요.",
|
|
details: "세부",
|
|
},
|
|
startup: {
|
|
errorTitle: "문제가 발생했습니다",
|
|
errorDescription:
|
|
"로컬 서버를 시작하지 못했습니다. 이 문제가 계속되면 아래 로그를 포함하여 GitHub에 문제를 보고해 주세요.",
|
|
logs: {
|
|
loading: "데몬 로그 불러오는 중...",
|
|
unavailable: "사용 가능한 데몬 로그가 없습니다.",
|
|
loadFailed: "데몬 로그를 불러올 수 없습니다: {{message}}",
|
|
},
|
|
},
|
|
openProject: {
|
|
tiles: {
|
|
addProject: {
|
|
title: "프로젝트 추가",
|
|
description: "내 컴퓨터의 폴더를 엽니다",
|
|
},
|
|
importSession: {
|
|
title: "세션 가져오기",
|
|
description: "최근 외부 CLI 세션을 가져옵니다",
|
|
},
|
|
setupProviders: {
|
|
title: "프로바이더 설정",
|
|
description: "Claude Code, Codex 등을 구성합니다",
|
|
},
|
|
pairDevice: {
|
|
title: "기기 페어링",
|
|
description: "휴대폰을 이 데몬에 연결합니다",
|
|
},
|
|
},
|
|
},
|
|
projectPicker: {
|
|
placeholder: "검색할 내용을 입력하세요...",
|
|
browse: "찾아보기…",
|
|
opening: "프로젝트 여는 중...",
|
|
searching: "검색 중...",
|
|
empty: "경로를 입력하기 시작하세요",
|
|
errors: {
|
|
directory_not_found: "디렉터리를 찾을 수 없습니다.",
|
|
open_failed: "프로젝트를 열 수 없습니다.",
|
|
},
|
|
openPath: "경로 열기",
|
|
},
|
|
branchSwitcher: {
|
|
currentBranch: "현재 브랜치: {{branchName}}. 브랜치를 전환하려면 누르세요.",
|
|
placeholder: "브랜치 전환...",
|
|
searchPlaceholder: "브랜치 필터...",
|
|
empty: "브랜치를 찾을 수 없습니다.",
|
|
title: "브랜치 전환",
|
|
uncommittedTitle: "커밋되지 않은 변경 사항",
|
|
uncommittedMessage: "커밋되지 않은 변경 사항이 있습니다. 브랜치를 전환하기 전에 스태시할까요?",
|
|
stashAndSwitch: "스태시 후 전환",
|
|
failedToStash: "변경 사항을 스태시하지 못했습니다",
|
|
failedToSwitch: "브랜치를 전환하지 못했습니다",
|
|
restoreStashTitle: "스태시된 변경 사항을 복원할까요?",
|
|
restoreStashMessage:
|
|
"이 브랜치에는 이전 세션에서 스태시된 변경 사항이 있습니다. 복원하시겠습니까?",
|
|
restore: "복원",
|
|
later: "나중에",
|
|
stashRestored: "스태시된 변경 사항이 복원되었습니다",
|
|
},
|
|
agentAutocomplete: {
|
|
searchingWorkspace: "워크스페이스 검색 중...",
|
|
loadingCommands: "명령 불러오는 중...",
|
|
noFiles: "파일 또는 디렉터리를 찾을 수 없습니다",
|
|
noCommands: "명령을 찾을 수 없습니다",
|
|
failedToLoad: "불러오지 못했습니다",
|
|
},
|
|
loadOlderHistory: {
|
|
failed: "이전 기록을 불러올 수 없습니다",
|
|
},
|
|
imageAttachmentPicker: {
|
|
permissionTitle: "권한 필요",
|
|
permissionMessage: "이미지를 첨부하려면 사진 라이브러리 접근을 허용해 주세요.",
|
|
errorTitle: "오류",
|
|
failedToSelect: "이미지를 선택하지 못했습니다",
|
|
dialogTitle: "이미지 첨부",
|
|
dialogFilterName: "이미지",
|
|
},
|
|
workspaceSetup: {
|
|
title: "워크스페이스 생성",
|
|
errors: {
|
|
failedCreateWorktree: "워크트리를 생성하지 못했습니다",
|
|
failedOpenProject: "프로젝트를 열지 못했습니다",
|
|
selectModel: "모델을 선택하세요",
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
pendingRequired: "대기 중인 워크스페이스 설정이 없습니다",
|
|
composerStateRequired: "워크스페이스 설정 작성기 상태가 필요합니다",
|
|
},
|
|
},
|
|
onboarding: {
|
|
title: "Paseo에 오신 것을 환영합니다",
|
|
subtitle: "시작하려면 컴퓨터를 연결하세요",
|
|
actions: {
|
|
settings: "설정",
|
|
},
|
|
},
|
|
modelSelector: {
|
|
title: "프로바이더 선택",
|
|
selectModel: "모델 선택",
|
|
selectedModel: "모델 선택 ({{model}})",
|
|
loading: "불러오는 중...",
|
|
loadingShort: "불러오는 중",
|
|
loadingSelector: "모델 선택기 불러오는 중...",
|
|
error: "오류",
|
|
defaultModel: "기본값",
|
|
profiles: "프로필",
|
|
providers: "제공자",
|
|
model: "모델",
|
|
editProfiles: "편집",
|
|
editProfilesLabel: "에이전트 프로필 편집",
|
|
createProfile: "프로필 만들기",
|
|
modelCount: "모델 {{count}}개",
|
|
modelCountPlural: "모델 {{count}}개",
|
|
retry: "다시 시도",
|
|
retrying: "다시 시도 중...",
|
|
noMatches: "검색과 일치하는 모델이 없습니다",
|
|
noMatchesForQuery: '"{{query}}"과(와) 일치하는 모델이 없습니다',
|
|
searchAllPlaceholder: "모든 모델 검색...",
|
|
searchPlaceholder: "모델 검색...",
|
|
openProviderSettings: "{{provider}} 설정 열기",
|
|
},
|
|
providerCatalog: {
|
|
title: "프로바이더 추가",
|
|
search: "프로바이더 검색",
|
|
noProviders: "프로바이더를 찾을 수 없습니다",
|
|
actions: {
|
|
add: "추가",
|
|
adding: "추가 중",
|
|
installed: "설치됨",
|
|
cancel: "취소",
|
|
installInstructions: "설치 안내",
|
|
installInstructionsFor: "{{provider}} 설치 안내",
|
|
},
|
|
errors: {
|
|
unableToInstall: "프로바이더를 설치할 수 없습니다",
|
|
},
|
|
},
|
|
providerSelection: {
|
|
defaultModel: "기본값",
|
|
selectModel: "모델 선택",
|
|
loading: "불러오는 중...",
|
|
error: "오류",
|
|
unavailable: "사용 불가",
|
|
unknownError: "알 수 없는 오류",
|
|
readiness: {
|
|
initialPromptRequired: "초기 프롬프트가 필요합니다",
|
|
noProviders: "선택한 호스트에 사용 가능한 프로바이더가 없습니다",
|
|
modelDefaultsLoading: "모델 기본값을 아직 불러오는 중입니다",
|
|
noModelAvailable: "선택한 프로바이더에 사용 가능한 모델이 없습니다",
|
|
workspaceDirectoryNotFound: "워크스페이스 디렉터리를 찾을 수 없습니다",
|
|
hostDisconnected: "호스트가 연결되어 있지 않습니다",
|
|
},
|
|
},
|
|
pairing: {
|
|
connectionMethods: {
|
|
title: "연결 추가",
|
|
direct: {
|
|
title: "직접 연결",
|
|
description: "로컬 네트워크 또는 VPN.",
|
|
},
|
|
scanQr: {
|
|
title: "QR 코드 스캔",
|
|
description: "암호화된 릴레이 연결.",
|
|
},
|
|
pasteLink: {
|
|
title: "페어링 링크 붙여넣기",
|
|
description: "암호화된 릴레이 연결.",
|
|
},
|
|
},
|
|
direct: {
|
|
title: "직접 연결",
|
|
helper: "Paseo 서버의 주소를 입력하세요.",
|
|
fields: {
|
|
host: "호스트",
|
|
port: "포트",
|
|
password: "비밀번호",
|
|
optional: "선택 사항",
|
|
useSsl: "SSL 사용",
|
|
connectionUri: "연결 URI",
|
|
},
|
|
advanced: {
|
|
label: "고급",
|
|
show: "고급 표시",
|
|
hide: "고급 숨기기",
|
|
},
|
|
passwordVisibility: {
|
|
show: "비밀번호 표시",
|
|
hide: "비밀번호 숨기기",
|
|
},
|
|
actions: {
|
|
cancel: "취소",
|
|
connect: "연결",
|
|
connecting: "연결 중...",
|
|
},
|
|
errors: {
|
|
hostRequired: "호스트를 입력하세요",
|
|
invalidPort: "포트는 1에서 65535 사이여야 합니다",
|
|
invalidConnection: "잘못된 연결",
|
|
failedTitle: "연결 실패",
|
|
failedToConnect: "{{endpoint}}에 연결하지 못했습니다.",
|
|
noAdditionalDetails: "{{detail}} (추가 세부 정보 없음)",
|
|
timedOut: "연결 시간이 초과되었습니다. 호스트/포트와 네트워크를 확인하세요.",
|
|
refused: "연결이 거부되었습니다. 이 주소에서 서버가 실행 중입니까?",
|
|
hostNotFound: "호스트를 찾을 수 없습니다. 호스트 이름을 확인하고 다시 시도하세요.",
|
|
hostUnreachable: "호스트에 연결할 수 없습니다. 네트워크와 방화벽을 확인하세요.",
|
|
tlsError: "TLS 오류. 직접 연결은 데몬 앞에 TLS 종단 장치가 있을 때만 SSL을 사용합니다.",
|
|
unableToConnect: "연결할 수 없습니다. 호스트/포트와 데몬에 접근 가능한지 확인하세요.",
|
|
details: "세부 정보: {{detail}}",
|
|
},
|
|
},
|
|
link: {
|
|
title: "페어링 링크 붙여넣기",
|
|
helper: "서버에서 받은 페어링 링크를 붙여넣으세요.",
|
|
label: "페어링 링크",
|
|
errors: {
|
|
required: "페어링 링크를 붙여넣으세요 (.../#offer=...)",
|
|
missingOffer: "링크에 #offer=...가 포함되어야 합니다",
|
|
emptyOffer: "Offer 페이로드가 비어 있습니다",
|
|
invalid: "잘못된 페어링 링크",
|
|
unableToPair: "호스트를 페어링할 수 없습니다",
|
|
},
|
|
alert: {
|
|
failedTitle: "페어링 실패",
|
|
},
|
|
actions: {
|
|
cancel: "취소",
|
|
pair: "페어링",
|
|
pairing: "페어링 중...",
|
|
},
|
|
},
|
|
scan: {
|
|
title: "QR 스캔",
|
|
webUnavailableTitle: "웹에서 사용할 수 없습니다",
|
|
webUnavailableBody:
|
|
'웹 빌드에서는 QR 스캔이 지원되지 않습니다. 대신 "링크 붙여넣기"를 사용하세요.',
|
|
backToSettings: "설정으로 돌아가기",
|
|
cameraPermissionTitle: "카메라 권한",
|
|
cameraPermissionBody: "데몬에서 페어링 QR 코드를 스캔하려면 카메라 접근을 허용하세요.",
|
|
grantPermission: "권한 허용",
|
|
pairing: "페어링 중...",
|
|
unableToPair: "호스트를 페어링할 수 없습니다",
|
|
errorTitle: "오류",
|
|
},
|
|
device: {
|
|
loadingOffer: "페어링 정보 불러오는 중...",
|
|
failedToLoadOffer: "페어링 정보를 불러오지 못했습니다.",
|
|
relayDisabled:
|
|
"릴레이가 활성화되어 있지 않습니다. 기기를 페어링하려면 릴레이를 활성화하세요.",
|
|
enableTitle: "릴레이를 활성화하시겠습니까?",
|
|
enableDescription:
|
|
"릴레이를 사용하면 이 장치를 어디에서나 연결할 수 있습니다. 페어링 트래픽은 종단 간 암호화됩니다.",
|
|
relayDocs: "릴레이 작동 방식",
|
|
relayDocsAccessibility: "Paseo 릴레이 작동 방식 읽기",
|
|
enableRelay: "릴레이 활성화",
|
|
enablingRelay: "활성화 중...",
|
|
notNow: "지금은 아님",
|
|
directConnectionHint:
|
|
"릴레이 없이 TCP, Tailscale 또는 다른 VPN을 통해 직접 연결하세요. QR 코드가 생성되지 않습니다.",
|
|
updateRequired: "Paseo 데스크톱에서 릴레이를 활성화하려면 호스트를 업데이트하세요.",
|
|
unavailable: "페어링 정보를 사용할 수 없습니다.",
|
|
hint: "휴대폰의 Paseo로 이 QR 코드를 스캔하거나 아래 링크를 복사하세요.",
|
|
qrUnavailable: "QR 코드를 사용할 수 없습니다.",
|
|
qrAccessibility: "페어링 QR 코드",
|
|
retry: "다시 시도",
|
|
copy: "복사",
|
|
copied: "복사됨",
|
|
},
|
|
},
|
|
realtimeVoice: {
|
|
actions: {
|
|
mute: "실시간 음성 음소거",
|
|
unmute: "실시간 음성 음소거 해제",
|
|
stop: "실시간 음성 중지 및 턴 중단",
|
|
},
|
|
},
|
|
rewind: {
|
|
tooltip: "이 메시지로 되감기",
|
|
warning: "이 작업은 되돌릴 수 없습니다",
|
|
actions: {
|
|
conversation: "대화 되감기",
|
|
files: "파일 되감기",
|
|
both: "대화와 파일 되감기",
|
|
},
|
|
errors: {
|
|
failed: "에이전트를 되감지 못했습니다",
|
|
},
|
|
},
|
|
diffViewer: {
|
|
empty: "표시할 변경 사항이 없습니다",
|
|
},
|
|
serviceUrl: {
|
|
title: "서비스 URL 열기",
|
|
message: "{{url}}을(를) 열까요?",
|
|
inPaseo: "Paseo에서",
|
|
externalBrowser: "외부 브라우저",
|
|
dontAskAgain: "다시 묻지 않기",
|
|
},
|
|
downloads: {
|
|
requestTokenFailed: "다운로드 토큰을 요청하지 못했습니다.",
|
|
hostUnavailable: "다운로드 호스트를 사용할 수 없습니다.",
|
|
cancelled: "다운로드가 취소되었습니다.",
|
|
failed: "파일을 다운로드하지 못했습니다.",
|
|
shareFile: "파일 공유",
|
|
shareFileNamed: "{{fileName}} 공유",
|
|
},
|
|
menu: {
|
|
backdrop: "메뉴 배경",
|
|
},
|
|
subagents: {
|
|
detachAction: "{{label}} 분리",
|
|
detachTooltip: "하위 에이전트 분리",
|
|
archiveAction: "{{label}} 보관",
|
|
archiveTooltip: "서브에이전트 보관",
|
|
archiveFinishedAction: "완료된 하위 에이전트 보관",
|
|
archiveFinishedTooltip: "아카이브 완료",
|
|
archiveFinishedRetry: "다시 시도 ({{failed}}/{{total}})",
|
|
},
|
|
panels: {
|
|
draft: {
|
|
newAgent: "새 에이전트",
|
|
creatingAgent: "에이전트 생성 중",
|
|
},
|
|
file: {
|
|
directoryMissing: "워크스페이스 디렉터리를 찾을 수 없습니다.",
|
|
loading: "파일 불러오는 중...",
|
|
noPreview: "사용 가능한 미리보기가 없습니다",
|
|
binaryPreviewUnavailable: "바이너리 미리보기를 사용할 수 없습니다",
|
|
failedToLoad: "파일을 불러오지 못했습니다",
|
|
failedToLoadPreview: "파일 미리보기를 불러오지 못했습니다",
|
|
editor: {
|
|
fileSize: "파일 크기 {{size}}",
|
|
lines: "{{count}} 라인",
|
|
editorStatus: "편집기 상태 {{status}}",
|
|
unsavedChanges: "저장되지 않은 변경사항",
|
|
saving: "저장 중...",
|
|
saveFailed: "저장 실패",
|
|
changedOnDisk: "디스크에서 변경됨",
|
|
vimMode: "Vim 모드 {{mode}}",
|
|
cursor: "{{line}} 라인, {{column}} 열",
|
|
preview: "미리보기",
|
|
source: "소스",
|
|
deletedTitle: "디스크에서 파일이 삭제되었습니다.",
|
|
checkFailedTitle: "디스크의 파일을 확인할 수 없습니다.",
|
|
preservedDescription: "열린 복사본은 보존됩니다.",
|
|
conflictDescription: "로컬 버퍼가 보존되었습니다. 유지할 버전을 선택하세요.",
|
|
overwrite: "덮어쓰기",
|
|
reload: "새로고침",
|
|
reloadTitle: "디스크에서 다시 로드하시겠습니까?",
|
|
reloadMessage: "로컬 변경사항이 손실됩니다.",
|
|
},
|
|
},
|
|
diff: {
|
|
changesLabel: "변경 사항",
|
|
changesSubtitle: "작업 트리 diff",
|
|
commitSubtitle: "커밋 diff",
|
|
uncommittedSubtitle: "커밋되지 않은 변경 사항",
|
|
baseSubtitle: "{{baseRef}}와 비교",
|
|
directoryMissing: "워크스페이스 디렉터리를 찾을 수 없습니다.",
|
|
empty: "변경사항 없음",
|
|
loadError: "Diff를 불러오지 못했습니다.",
|
|
capabilityMissing: "커밋 diff를 보려면 호스트를 업데이트하세요.",
|
|
},
|
|
},
|
|
toolCallDetails: {
|
|
error: "오류",
|
|
empty: "추가 세부 정보가 없습니다",
|
|
subAgentActivity: "서브에이전트 활동",
|
|
input: "입력",
|
|
output: "출력",
|
|
},
|
|
toolCallGroup: {
|
|
editedFiles: {
|
|
one: "{{count}} 파일을 편집했습니다.",
|
|
other: "{{count}} 파일을 편집했습니다.",
|
|
},
|
|
commands: {
|
|
one: "{{count}} 명령을 실행했습니다.",
|
|
other: "{{count}} 명령을 실행했습니다.",
|
|
},
|
|
readFiles: {
|
|
one: "파일 {{count}}개 읽음",
|
|
other: "파일 {{count}}개 읽음",
|
|
},
|
|
searches: {
|
|
one: "{{count}}회 검색함",
|
|
other: "{{count}}회 검색함",
|
|
},
|
|
otherTools: {
|
|
one: "기타 도구 {{count}}개 사용함",
|
|
other: "기타 도구 {{count}}개 사용함",
|
|
},
|
|
paseoCalls: {
|
|
one: "Paseo를 {{count}}회 호출함",
|
|
other: "Paseo를 {{count}}회 호출함",
|
|
},
|
|
and: "그리고",
|
|
},
|
|
renameModal: {
|
|
rename: "이름 변경",
|
|
saving: "저장하는 중...",
|
|
},
|
|
sidebarCallout: {
|
|
dismiss: "닫기",
|
|
},
|
|
contextWindow: {
|
|
title: "컨텍스트 윈도우",
|
|
used: "{{percentage}}% 사용됨",
|
|
tokens: "{{used}} / {{max}} 토큰",
|
|
sessionCost: "세션 비용 {{cost}}",
|
|
accessibility: "컨텍스트 윈도우 {{percentage}}% 사용됨",
|
|
},
|
|
review: {
|
|
comment: {
|
|
add: "리뷰 댓글 추가",
|
|
edit: "리뷰 댓글 편집",
|
|
delete: "리뷰 댓글 삭제",
|
|
label: "리뷰 댓글",
|
|
placeholder: "댓글을 남기세요",
|
|
cancel: "취소",
|
|
cancelAccessibility: "리뷰 댓글 취소",
|
|
save: "댓글",
|
|
saveAccessibility: "리뷰 댓글 저장",
|
|
},
|
|
},
|
|
settings: {
|
|
title: "설정",
|
|
loading: "설정 불러오는 중...",
|
|
groups: {
|
|
app: "앱",
|
|
host: "호스트",
|
|
},
|
|
hostPicker: {
|
|
switchHost: "호스트 전환",
|
|
local: "로컬",
|
|
},
|
|
backToWorkspace: "뒤로",
|
|
addHost: "호스트 추가",
|
|
enableBuiltInDaemon: "내장 데몬 활성화",
|
|
projects: "프로젝트",
|
|
projectList: {
|
|
hostLoadFailed: "{{hostName}} 호스트에서 프로젝트를 불러올 수 없습니다: {{message}}",
|
|
editProject: "{{projectName}} 편집",
|
|
},
|
|
groupInfo: "{{title}} 정보",
|
|
sections: {
|
|
general: "일반",
|
|
appearance: "모양",
|
|
editor: "편집기",
|
|
shortcuts: "단축키",
|
|
integrations: "통합",
|
|
notifications: "알림",
|
|
permissions: "권한",
|
|
diagnostics: "진단",
|
|
about: "정보",
|
|
},
|
|
editor: {
|
|
title: "편집기",
|
|
vimKeybindings: "Vim 키 바인딩",
|
|
vimHint: "웹 및 데스크톱의 소스 파일에 적용됩니다.",
|
|
},
|
|
notifications: {
|
|
title: "알림",
|
|
permission: "알림 권한",
|
|
refreshAccessibility: "알림 권한 새로 고침",
|
|
playSound: "소리 재생",
|
|
playSoundHint: "데스크톱 알림이 도착하면 소리를 재생합니다",
|
|
test: "알림 테스트",
|
|
testHint: "현재 설정으로 테스트 알림을 보냅니다",
|
|
permissionRequired: "테스트하기 전에 알림 접근을 허용하세요",
|
|
send: "보내기",
|
|
sending: "보내는 중...",
|
|
sentTitle: "테스트 알림을 보냈습니다",
|
|
sentDescription: "Paseo가 알림을 운영 체제에 전달했습니다.",
|
|
sendFailedTitle: "테스트 알림을 보낼 수 없음",
|
|
},
|
|
hostSections: {
|
|
projects: "프로젝트",
|
|
connections: "연결",
|
|
agents: "에이전트",
|
|
metadata: "메타데이터",
|
|
workspaces: "워크스페이스",
|
|
providers: "프로바이더",
|
|
usage: "사용량",
|
|
terminals: "터미널",
|
|
plugins: "플러그인",
|
|
host: "개요",
|
|
},
|
|
plugins: pluginSettings.ko,
|
|
metadataGeneration: {
|
|
title: "메타데이터 생성",
|
|
description:
|
|
"워크스페이스 제목, 브랜치 이름, 커밋 메시지 및 풀 리퀘스트 초안에 사용할 모델을 선택하세요",
|
|
selection: "모델 선택",
|
|
automatic: "자동",
|
|
preferred: "수동",
|
|
automaticHint: "Paseo가 사용 가능한 빠른 모델을 선택합니다",
|
|
preferredHint: "Paseo에서 사용할 모델을 선택하세요",
|
|
model: "모델",
|
|
fallbackHint: "사용할 수 없으면 Paseo가 다른 사용 가능한 모델을 사용합니다",
|
|
docs: "문서",
|
|
saveError: "메타데이터 생성을 업데이트할 수 없습니다",
|
|
},
|
|
general: {
|
|
title: "일반",
|
|
browserData: {
|
|
title: "브라우저 데이터",
|
|
siteData: "쿠키 및 사이트 데이터",
|
|
description: "브라우저 탭은 Paseo 전체에서 로그인 및 사이트 데이터를 공유합니다.",
|
|
clear: "브라우저 데이터 지우기",
|
|
clearing: "삭제 중...",
|
|
confirmTitle: "브라우저 데이터를 삭제하시겠습니까?",
|
|
confirmMessage: "사이트가 로그아웃되고 열려 있는 브라우저 탭이 다시 로드됩니다.",
|
|
success: "브라우저 데이터가 삭제되었습니다.",
|
|
error: "브라우저 데이터를 삭제할 수 없습니다.",
|
|
},
|
|
defaultSend: {
|
|
label: "기본 전송",
|
|
descriptions: {
|
|
interrupt:
|
|
"에이전트가 실행 중일 때 Enter는 중단합니다. Command/Ctrl+Enter는 대기열에 추가합니다.",
|
|
steer:
|
|
"에이전트가 실행 중일 때 Enter는 현재 턴에 지시합니다. Command/Ctrl+Enter는 대기열에 추가합니다.",
|
|
queue:
|
|
"에이전트가 실행 중일 때 Enter는 대기열에 추가합니다. Command/Ctrl+Enter는 제출합니다.",
|
|
},
|
|
options: {
|
|
interrupt: "중단",
|
|
steer: "지시",
|
|
queue: "대기열",
|
|
},
|
|
},
|
|
serviceUrls: {
|
|
label: "서비스 URL",
|
|
description: "실행 중인 스크립트의 URL을 열 위치",
|
|
options: {
|
|
ask: "물어보기",
|
|
inApp: "Paseo에서",
|
|
external: "외부 브라우저",
|
|
},
|
|
},
|
|
terminalScrollback: {
|
|
label: "터미널 스크롤백",
|
|
description: "내장 터미널 버퍼에 보관되는 줄 수",
|
|
accessibilityLabel: "터미널 스크롤백 줄 수",
|
|
},
|
|
autoExpandReasoning: {
|
|
label: "추론 항상 펼치기",
|
|
description: "에이전트의 사고 및 추론 블록을 기본적으로 모두 펼쳐 표시합니다.",
|
|
},
|
|
toolCallDetail: {
|
|
label: "도구 호출 표시",
|
|
description: "타임라인에 도구 호출이 표시되는 방식",
|
|
accessibilityLabel: "도구 호출 표시 선택({{value}})",
|
|
options: {
|
|
overview: "요약",
|
|
detailed: "전체 세부정보",
|
|
},
|
|
},
|
|
language: {
|
|
label: "언어",
|
|
description: "앱 언어",
|
|
options: {
|
|
system: "시스템",
|
|
ar: "العربية",
|
|
en: "English",
|
|
es: "Español",
|
|
fr: "Français",
|
|
ja: "일본어",
|
|
ko: "한국어",
|
|
ptBR: "브라질 포르투갈어",
|
|
ru: "Русский",
|
|
zhCN: "简体中文",
|
|
},
|
|
},
|
|
},
|
|
diagnostics: {
|
|
title: "진단",
|
|
legacyTerminalRenderer: {
|
|
label: "레거시 터미널 렌더러 사용",
|
|
description: "터미널을 다시 열 때 이전 WebView 터미널을 사용합니다.",
|
|
accessibilityLabel: "레거시 터미널 렌더러 사용",
|
|
},
|
|
testAudio: "오디오 테스트",
|
|
playTest: "테스트 재생",
|
|
playing: "재생 중...",
|
|
playbackFailed: "재생 실패: {{message}}",
|
|
app: {
|
|
title: "앱 진단",
|
|
rowTitle: "앱 진단",
|
|
rowHint: "연결, 데몬, 프로바이더, 데스크톱 및 로그 세부 정보를 수집합니다.",
|
|
run: "실행",
|
|
running: "진단 실행 중...",
|
|
copyLabel: "진단",
|
|
copyAccessibility: "진단 복사",
|
|
copyFailed: "진단을 복사하지 못했습니다.",
|
|
refreshAccessibility: "진단 새로 고침",
|
|
refreshingAccessibility: "진단 새로고침",
|
|
progress: {
|
|
client: "클라이언트",
|
|
desktop: "데스크톱",
|
|
},
|
|
},
|
|
},
|
|
about: {
|
|
title: "정보",
|
|
appVersion: "앱 버전",
|
|
thisDevice: "이 기기",
|
|
connectedHosts: "연결된 호스트",
|
|
offline: "오프라인",
|
|
versionDiffers: "이 기기와 버전이 다릅니다",
|
|
releaseChannel: {
|
|
label: "릴리스 채널",
|
|
description: "Beta로 전환하면 업데이트를 더 빨리 받고 개선에 참여할 수 있습니다",
|
|
stable: "안정",
|
|
beta: "베타",
|
|
},
|
|
updates: {
|
|
label: "앱 업데이트",
|
|
readyToInstall: "설치 준비됨: {{version}}",
|
|
installTitle: "데스크톱 업데이트 설치",
|
|
installMessage: "이 컴퓨터의 Paseo를 업데이트합니다",
|
|
installConfirm: "업데이트 설치",
|
|
update: "업데이트",
|
|
updateTo: "{{version}}(으)로 업데이트",
|
|
installing: "설치 중...",
|
|
check: "확인",
|
|
checking: "확인 중...",
|
|
alertTitle: "오류",
|
|
alertMessage: "업데이트 확인 대화 상자를 열 수 없습니다.",
|
|
},
|
|
},
|
|
appearance: {
|
|
theme: {
|
|
title: "테마",
|
|
accessibilityLabel: "테마: {{value}}",
|
|
options: {
|
|
light: "라이트",
|
|
dark: "다크",
|
|
zinc: "Zinc",
|
|
midnight: "Midnight",
|
|
claude: "Claude",
|
|
ghostty: "Ghostty",
|
|
pureBlack: "순수 검정",
|
|
auto: "시스템",
|
|
},
|
|
},
|
|
detailLevel: {
|
|
title: "세부 수준",
|
|
},
|
|
chatOutline: {
|
|
title: "채팅 개요",
|
|
description: "프롬프트 사이를 이동하기 위한 개요 표시",
|
|
},
|
|
fonts: {
|
|
title: "글꼴",
|
|
systemDefault: "시스템 기본값",
|
|
interfaceFont: "인터페이스 글꼴",
|
|
interfaceFontHint: "앱 전체에 사용됩니다. 시스템 기본값을 사용하려면 비워 두세요",
|
|
interfaceFontAccessibility: "인터페이스 글꼴 패밀리",
|
|
interfaceSize: "인터페이스 크기",
|
|
interfaceSizeAccessibility: "인터페이스 글꼴 크기",
|
|
codeFont: "코드 글꼴",
|
|
codeFontHint:
|
|
"코드, diff, 터미널 출력에 사용됩니다. 시스템 기본값을 사용하려면 비워 두세요",
|
|
codeFontAccessibility: "코드 글꼴 패밀리",
|
|
codeSize: "코드 크기",
|
|
codeSizeAccessibility: "코드 글꼴 크기",
|
|
},
|
|
syntax: {
|
|
title: "구문",
|
|
highlightTheme: "강조 테마",
|
|
highlightThemeHint: "앱 테마와 독립적인 코드 색상",
|
|
highlightThemeAccessibility: "강조 테마: {{value}}",
|
|
previewAccessibility: "구문 테마와 코드 글꼴의 실시간 미리보기",
|
|
},
|
|
},
|
|
shortcuts: {
|
|
dialogTitle: "단축키",
|
|
searchPlaceholder: "검색 단축키",
|
|
unavailableOnMobile: "키보드 단축키는 데스크톱에서만 사용할 수 있습니다",
|
|
capturePrompt: "단축키를 누르세요...",
|
|
unassigned: "설정되지 않음",
|
|
actions: {
|
|
menu: "{{name}} 작업",
|
|
done: "완료",
|
|
cancel: "취소",
|
|
bind: "지정",
|
|
rebind: "다시 지정",
|
|
clear: "지우기",
|
|
reset: "기본값으로 재설정",
|
|
resetAll: "모두 재설정",
|
|
},
|
|
sections: {
|
|
general: "일반",
|
|
workspaces: "프로젝트 및 워크스페이스",
|
|
tabsPanes: "탭 및 창",
|
|
layout: "레이아웃",
|
|
agentInput: "에이전트 입력",
|
|
},
|
|
help: {
|
|
openProject: "프로젝트 열기",
|
|
newWorkspace: "새 워크스페이스",
|
|
newWorktree: "새 워크트리",
|
|
archiveWorkspace: "워크스페이스 보관",
|
|
newTab: "새 탭",
|
|
closeCurrentTab: "현재 탭 닫기",
|
|
jumpToWorkspace: "워크스페이스로 이동",
|
|
jumpToTab: "탭으로 이동",
|
|
previousWorkspace: "이전 워크스페이스",
|
|
nextWorkspace: "다음 워크스페이스",
|
|
previousTab: "이전 탭",
|
|
nextTab: "다음 탭",
|
|
splitPaneRight: "창을 오른쪽으로 분할",
|
|
splitPaneDown: "창을 아래로 분할",
|
|
focusPaneLeft: "왼쪽 창에 포커스",
|
|
focusPaneRight: "오른쪽 창에 포커스",
|
|
focusPaneUp: "위쪽 창에 포커스",
|
|
focusPaneDown: "아래쪽 창에 포커스",
|
|
moveTabLeft: "탭을 왼쪽으로 이동",
|
|
moveTabRight: "탭을 오른쪽으로 이동",
|
|
moveTabUp: "탭을 위로 이동",
|
|
moveTabDown: "탭을 아래로 이동",
|
|
closePane: "창 닫기",
|
|
newTerminal: "새 터미널",
|
|
searchFiles: "파일 검색",
|
|
toggleCommandCenter: "명령 센터 토글",
|
|
showKeyboardShortcuts: "키보드 단축키 표시",
|
|
toggleLeftSidebar: "왼쪽 사이드바 토글",
|
|
toggleRightSidebar: "오른쪽 사이드바 토글",
|
|
toggleBothSidebars: "양쪽 사이드바 토글",
|
|
toggleSettings: "설정 토글",
|
|
toggleFocusMode: "집중 모드 토글",
|
|
cycleTheme: "테마 순환",
|
|
focusMessageInput: "메시지 입력란에 포커스",
|
|
cycleAgentMode: "에이전트 모드 전환",
|
|
toggleVoiceMode: "음성 모드 토글",
|
|
startStopDictation: "받아쓰기 시작/중지",
|
|
interruptAgent: "에이전트 중단",
|
|
sendMessage: "메시지 보내기",
|
|
queueMessage: "메시지 대기열에 추가",
|
|
muteUnmuteVoiceMode: "음성 모드 음소거/해제",
|
|
switchProject: "프로젝트 전환",
|
|
},
|
|
helpNotes: {
|
|
showKeyboardShortcuts: "포커스가 텍스트 필드나 터미널에 있지 않을 때 사용할 수 있습니다.",
|
|
},
|
|
},
|
|
integrations: {
|
|
title: "통합",
|
|
docs: {
|
|
cli: "CLI 문서",
|
|
skills: "스킬 문서",
|
|
openCli: "CLI 문서 열기",
|
|
openSkills: "스킬 문서 열기",
|
|
},
|
|
commandLine: {
|
|
title: "명령줄",
|
|
description: "터미널에서 에이전트를 제어하고 스크립팅합니다",
|
|
},
|
|
skills: {
|
|
title: "오케스트레이션 스킬",
|
|
description: "CLI를 통해 에이전트가 오케스트레이션하도록 가르칩니다",
|
|
updateAvailable: "업데이트 사용 가능",
|
|
updateTitle: "Paseo 스킬을 업데이트할까요?",
|
|
updateFallback: "번들된 스킬을 내 컴퓨터에 동기화합니다.",
|
|
uninstallTitle: "Paseo 스킬을 제거할까요?",
|
|
uninstallMessage:
|
|
"~/.agents, ~/.claude, ~/.codex에서 모든 Paseo 오케스트레이션 스킬을 제거합니다.",
|
|
choose: "스킬 선택",
|
|
chooseAll: "모든 스킬",
|
|
chooseAllHint: "나중에 추가되는 항목을 포함하여 모든 번들 스킬을 설치된 상태로 유지합니다.",
|
|
chooseList: "번들 스킬",
|
|
chooseEmpty: "이 빌드에는 번들 스킬이 없습니다.",
|
|
removeTitle: "선택 해제한 스킬을 제거할까요?",
|
|
removeMessage:
|
|
"{{skills}}는 ~/.agents, ~/.claude 및 ~/.codex에서 삭제됩니다. 해당 스킬 폴더 안에 추가한 모든 항목도 삭제됩니다.",
|
|
saveFailed: "선택한 스킬을 저장하지 못했습니다.",
|
|
},
|
|
actions: {
|
|
install: "설치",
|
|
installing: "설치 중...",
|
|
installed: "설치됨",
|
|
update: "업데이트",
|
|
working: "작업 중...",
|
|
remove: "제거",
|
|
uninstall: "제거",
|
|
save: "저장",
|
|
saving: "저장 중...",
|
|
},
|
|
operations: {
|
|
add: "스킬 추가",
|
|
update: "스킬 업데이트",
|
|
delete: "스킬 삭제",
|
|
},
|
|
},
|
|
permissions: {
|
|
title: "권한",
|
|
microphone: "마이크",
|
|
refresh: "새로고침",
|
|
refreshing: "새로고침 중...",
|
|
refreshAccessibility: "데스크톱 권한 새로고침",
|
|
actions: {
|
|
granted: "허용됨",
|
|
request: "요청",
|
|
requesting: "요청 중...",
|
|
},
|
|
},
|
|
host: {
|
|
appearance: {
|
|
title: "모양",
|
|
name: {
|
|
label: "이름",
|
|
},
|
|
color: {
|
|
label: "색상",
|
|
accessibilityLabel: "색상, {{value}}",
|
|
options: {
|
|
none: "기본",
|
|
violet: "보라색",
|
|
sky: "하늘",
|
|
emerald: "에메랄드",
|
|
orange: "주황색",
|
|
pink: "분홍색",
|
|
indigo: "남색",
|
|
teal: "청록색",
|
|
red: "빨간색",
|
|
amber: "호박색",
|
|
blue: "파란색",
|
|
},
|
|
},
|
|
badge: {
|
|
label: "사이드바 배지",
|
|
accessibilityLabel: "사이드바 배지, {{value}}",
|
|
options: {
|
|
name: "이름",
|
|
icon: "아이콘만",
|
|
hidden: "숨겨진",
|
|
},
|
|
},
|
|
preview: {
|
|
workspaceName: "내-워크스페이스",
|
|
},
|
|
},
|
|
notFound: "호스트를 찾을 수 없습니다",
|
|
badges: {
|
|
relay: "릴레이",
|
|
local: "로컬",
|
|
},
|
|
connections: {
|
|
title: "연결",
|
|
removeTitle: "연결 제거",
|
|
removeMessage: "{{name}}을(를) 제거할까요? 되돌릴 수 없습니다.",
|
|
removeAction: "제거",
|
|
removeErrorTitle: "오류",
|
|
removeErrorMessage: "연결을 제거할 수 없습니다",
|
|
timeout: "시간 초과",
|
|
},
|
|
pairDevices: {
|
|
title: "기기 페어링",
|
|
rowTitle: "기기 페어링",
|
|
rowHint: "QR 코드를 스캔하거나 링크를 복사하여 휴대폰을 이 호스트에 연결하세요",
|
|
},
|
|
orchestration: {
|
|
title: "오케스트레이션",
|
|
unavailable: "오케스트레이션을 관리하려면 이 호스트에 연결하세요",
|
|
enableTools: {
|
|
title: "Paseo 도구 활성화",
|
|
hint: "에이전트가 워크트리, 에이전트, 일정을 관리할 수 있습니다",
|
|
accessibilityLabel: "Paseo 도구 주입",
|
|
},
|
|
systemPrompt: {
|
|
title: "시스템 프롬프트",
|
|
hint: "모든 에이전트에 시스템 프롬프트를 추가합니다",
|
|
sheetTitle: "시스템 프롬프트 추가",
|
|
accessibilityLabel: "시스템 프롬프트 추가",
|
|
placeholder: "항상 답변을 간결하게 유지하세요.",
|
|
edit: "편집",
|
|
reset: "재설정",
|
|
save: "저장",
|
|
saving: "저장하는 중...",
|
|
},
|
|
},
|
|
agents: {
|
|
unavailable: "에이전트를 관리하려면 이 호스트에 연결하세요",
|
|
},
|
|
workspaces: {
|
|
unavailable: "워크스페이스를 관리하려면 이 호스트에 연결하세요",
|
|
},
|
|
terminalProfiles: {
|
|
unavailable: "터미널 프로필을 관리하려면 이 호스트에 연결하세요",
|
|
sectionTitle: "터미널 프로필",
|
|
editProfile: "프로필 편집",
|
|
addProfileTitle: "터미널 프로필 추가",
|
|
editProfileTitle: "터미널 프로필 편집",
|
|
namePlaceholder: "Claude Code",
|
|
commandPlaceholder: "claude",
|
|
argsPlaceholder: "--dangerously-skip-permissions",
|
|
nameLabel: "이름",
|
|
commandLabel: "명령",
|
|
argsLabel: "인수",
|
|
nameRequired: "이름을 입력하세요",
|
|
commandRequired: "명령을 입력하세요",
|
|
argsHint: "명령에 전달되는 공백으로 구분된 인수",
|
|
saving: "저장하는 중...",
|
|
remove: "제거",
|
|
removeConfirmTitle: "프로필을 제거할까요?",
|
|
removeConfirmMessage: '"{{name}}"을(를) 제거할까요?',
|
|
moveUp: "위로 이동",
|
|
moveDown: "아래로 이동",
|
|
save: "저장",
|
|
emptyState: "아직 프로필이 없습니다. 특정 명령으로 터미널을 실행하려면 하나 추가하세요.",
|
|
},
|
|
agentProfiles: {
|
|
sectionTitle: "에이전트 프로필",
|
|
unavailable: "에이전트 프로필을 관리하려면 이 호스트에 연결하세요",
|
|
unsupported: "이 호스트에서 실행 중인 데몬은 아직 에이전트 프로필을 지원하지 않습니다",
|
|
emptyState:
|
|
"아직 프로필이 없습니다. 저장된 프로바이더와 모델로 에이전트를 시작하려면 하나 추가하세요.",
|
|
addProfileTitle: "에이전트 프로필 추가",
|
|
newProfile: "새 프로필",
|
|
editProfile: "프로필 편집",
|
|
editProfileTitle: "에이전트 프로필 편집",
|
|
nameLabel: "이름",
|
|
namePlaceholder: "UI 작업",
|
|
iconLabel: "아이콘",
|
|
noIcon: "없음",
|
|
providerLabel: "프로바이더",
|
|
providerPlaceholder: "프로바이더 선택",
|
|
noProviders: "이 호스트에서 사용 가능한 프로바이더가 없습니다",
|
|
modelLabel: "모델",
|
|
noModels: "이 프로바이더에는 선택할 수 있는 모델이 없습니다",
|
|
modeLabel: "모드",
|
|
noModes: "이 프로바이더에는 선택할 수 있는 모드가 없습니다",
|
|
thinkingLabel: "사고",
|
|
noThinkingOptions: "이 모델에는 사고 수준이 없습니다",
|
|
featuresLabel: "기능",
|
|
featureCount: "기능 {{count}}개",
|
|
featureCountOne: "기능 {{count}}개",
|
|
notesLabel: "에이전트를 위한 메모",
|
|
notesPlaceholder: "UI 작업에 사용 — 컴포넌트, 레이아웃, 디자인 토큰.",
|
|
notesHint:
|
|
"list_profiles MCP 도구가 반환합니다. 다른 에이전트에게 전달할 지침으로 작성하세요.",
|
|
save: "저장",
|
|
saving: "저장하는 중...",
|
|
remove: "제거",
|
|
removeConfirmTitle: "프로필을 제거할까요?",
|
|
removeConfirmMessage: '"{{name}}"을(를) 제거할까요?',
|
|
moveUp: "위로 이동",
|
|
moveDown: "아래로 이동",
|
|
},
|
|
daemon: {
|
|
rename: {
|
|
editLabel: "레이블 편집",
|
|
title: "호스트 이름 변경",
|
|
placeholder: "내 호스트",
|
|
submit: "이름 변경",
|
|
},
|
|
restart: {
|
|
title: "데몬 재시작",
|
|
hint: "데몬 프로세스를 재시작합니다. 앱이 자동으로 다시 연결됩니다",
|
|
confirm: "재시작",
|
|
confirmTitle: "{{name}} 재시작",
|
|
confirmMessage:
|
|
"데몬을 재시작합니다. 데몬에서 실행 중인 에이전트는 계속 동작하며 앱이 자동으로 다시 연결됩니다.",
|
|
restarting: "재시작 중...",
|
|
unableToReconnectTitle: "다시 연결할 수 없습니다",
|
|
unableToReconnectMessage:
|
|
"{{name}}이(가) 다시 온라인 상태가 되지 않았습니다. 재시작되었는지 확인하세요.",
|
|
unavailableTitle: "호스트를 사용할 수 없습니다",
|
|
unavailableMessage:
|
|
"이 호스트는 연결되어 있지 않습니다. 재시작하기 전에 온라인 상태가 될 때까지 기다리세요.",
|
|
offlineTitle: "호스트 오프라인",
|
|
offlineMessage:
|
|
"이 호스트는 오프라인입니다. Paseo가 자동으로 다시 연결하므로 다시 온라인이 될 때까지 기다린 후 재시작하세요.",
|
|
requestFailedTitle: "오류",
|
|
requestFailedMessage:
|
|
"재시작 요청을 보내지 못했습니다. Paseo가 자동으로 다시 연결하므로 호스트가 온라인으로 표시되면 다시 시도하세요.",
|
|
dialogFailedMessage: "재시작 확인 대화 상자를 열 수 없습니다.",
|
|
},
|
|
update: {
|
|
desktopManagedHint:
|
|
"이 데몬은 Paseo Desktop에서 관리됩니다. 호스트에서 Paseo 데스크톱을 업데이트합니다.",
|
|
title: "데몬 업데이트",
|
|
hint: "데몬을 최신 버전으로 업데이트하고 다시 시작하세요.",
|
|
confirm: "업데이트",
|
|
confirmTitle: "{{name}} 업데이트",
|
|
confirmMessage:
|
|
"그러면 데몬이 최신 버전으로 업데이트되고 다시 시작됩니다. 실행 중인 에이전트가 잠시 중단됩니다.",
|
|
updating: "업데이트 중...",
|
|
phaseStarting: "업데이트 준비 중...",
|
|
phaseDownloading: "패키지 다운로드 중...",
|
|
phaseInstalling: "설치 중...",
|
|
phaseComplete: "업데이트 완료, 다시 시작 중...",
|
|
unableToReconnectTitle: "다시 연결할 수 없습니다.",
|
|
unableToReconnectMessage:
|
|
"업데이트 후 {{name}}가 다시 온라인 상태로 돌아오지 않았습니다. 데몬이 다시 시작되었는지 확인하세요.",
|
|
unavailableTitle: "호스트를 사용할 수 없습니다",
|
|
unavailableMessage:
|
|
"이 호스트는 연결되어 있지 않습니다. 업데이트하기 전에 온라인 상태가 될 때까지 기다리십시오.",
|
|
offlineTitle: "호스트 오프라인",
|
|
offlineMessage:
|
|
"이 호스트는 오프라인 상태입니다. 업데이트하기 전에 다시 온라인 상태가 될 때까지 기다리십시오.",
|
|
requestFailedTitle: "업데이트 실패",
|
|
requestFailedMessage: "데몬 업데이트 실패: {{error}}",
|
|
dialogFailedMessage: "업데이트 확인 대화 상자를 열 수 없습니다.",
|
|
},
|
|
dangerZone: "위험 구역",
|
|
remove: {
|
|
title: "호스트 제거",
|
|
localTitle: "localhost 연결 제거",
|
|
hint: "이 호스트와 저장된 연결을 이 기기에서 제거합니다",
|
|
localHint: "이 기기에서 localhost를 제거하고 내장 데몬을 중지합니다",
|
|
localConfirmTitle: "localhost 연결을 제거하고 데몬을 중지할까요?",
|
|
confirmMessage: "{{name}}을(를) 제거할까요? 저장된 연결이 삭제됩니다.",
|
|
localConfirmMessage:
|
|
"localhost 연결을 제거하고, 내장 데몬 관리를 끄고, 관리되는 데몬을 중지합니다. 원격 호스트는 연결된 상태로 유지됩니다.",
|
|
errorTitle: "오류",
|
|
errorMessage: "호스트를 제거할 수 없습니다",
|
|
localErrorMessage: "localhost 연결을 제거할 수 없습니다",
|
|
},
|
|
},
|
|
},
|
|
providers: {
|
|
title: "프로바이더",
|
|
addProvider: "프로바이더 추가",
|
|
providerDetails: "{{name}} 프로바이더 세부 정보",
|
|
enableProvider: "{{name}} 활성화",
|
|
unavailable: "프로바이더를 보려면 이 호스트에 연결하세요",
|
|
loading: "불러오는 중...",
|
|
addErrorTitle: "프로바이더를 추가할 수 없습니다",
|
|
updateErrorTitle: "프로바이더를 업데이트할 수 없습니다",
|
|
actions: {
|
|
menu: "{{name}} 작업",
|
|
remove: "프로바이더 제거",
|
|
removing: "제거 중...",
|
|
},
|
|
remove: {
|
|
confirmTitle: "{{name}}를 제거하시겠습니까?",
|
|
confirmMessage:
|
|
"config.json에서 프로바이더 항목을 삭제합니다. 이 작업은 되돌릴 수 없습니다.",
|
|
confirm: "제거",
|
|
errorTitle: "프로바이더를 제거할 수 없습니다.",
|
|
},
|
|
statuses: {
|
|
disabled: "비활성화됨",
|
|
loading: "불러오는 중",
|
|
error: "오류",
|
|
available: "사용 가능",
|
|
notInstalled: "설치되지 않음",
|
|
},
|
|
models: {
|
|
one: "모델 1개",
|
|
many: "모델 {{count}}개",
|
|
addModel: "모델 추가",
|
|
addCustomTitle: "사용자 지정 모델 추가",
|
|
modelId: "모델 ID",
|
|
modelIdPlaceholder: "예: openai/gpt-5",
|
|
add: "추가",
|
|
adding: "추가 중...",
|
|
failedToSave: "모델을 저장하지 못했습니다",
|
|
removeModel: "{{id}} 제거",
|
|
searchPlaceholder: "모델 검색",
|
|
loading: "모델 불러오는 중...",
|
|
retry: "다시 시도",
|
|
retrying: "다시 시도 중...",
|
|
noSearchMatches: "검색과 일치하는 모델이 없습니다",
|
|
noneDetected: "감지된 모델이 없습니다",
|
|
discovered: "발견됨",
|
|
custom: "사용자 지정 모델",
|
|
updated: "{{time}} 업데이트됨",
|
|
},
|
|
diagnostic: {
|
|
title: "진단",
|
|
button: "진단",
|
|
refresh: "새로고침",
|
|
refreshing: "새로고침 중...",
|
|
copyLabel: "진단",
|
|
copyAccessibility: "진단 복사",
|
|
copyFailed: "진단을 복사하지 못했습니다.",
|
|
refreshAccessibility: "진단 새로고침",
|
|
refreshingAccessibility: "진단 새로고침 중",
|
|
running: "진단 실행 중...",
|
|
none: "사용 가능한 진단이 없습니다",
|
|
failedToFetch: "진단을 가져오지 못했습니다",
|
|
unknownError: "알 수 없는 오류",
|
|
},
|
|
},
|
|
project: {
|
|
noEditableTarget: "이 호스트에서는 이 프로젝트를 편집할 수 없습니다.",
|
|
backToProjects: "프로젝트로 돌아가기",
|
|
edit: {
|
|
title: "프로젝트 편집",
|
|
name: "이름",
|
|
nameLabel: "프로젝트 이름",
|
|
icon: "아이콘",
|
|
chooseImage: "이미지 선택",
|
|
useAutomatic: "자동 사용",
|
|
imageUrl: "이미지 또는 웹사이트 URL",
|
|
save: "변경사항 저장",
|
|
savedToast: "프로젝트가 업데이트되었습니다.",
|
|
},
|
|
readFailures: {
|
|
invalidTitle: "paseo.json을 파싱할 수 없습니다",
|
|
invalidDescription: "디스크의 파일을 수정한 후 다시 로드하세요.",
|
|
missingTitle: "이 호스트에는 이 프로젝트가 없습니다",
|
|
missingSingleHost: "선택한 호스트에 이 프로젝트의 기록이 없습니다.",
|
|
transportTitle: "paseo.json을 불러올 수 없습니다",
|
|
transportFallback: "호스트가 응답하지 않았습니다.",
|
|
failedTitle: "paseo.json을 불러올 수 없습니다",
|
|
failedDescription: "다시 로드하여 재시도하세요.",
|
|
},
|
|
worktree: {
|
|
title: "워크트리 수명 주기 훅",
|
|
info: "이 프로젝트에서 워크트리가 생성되거나 정리될 때 실행되는 명령",
|
|
docs: "문서",
|
|
docsTooltip: "자세한 내용과 이 명령에 사용할 수 있는 환경 변수는 문서를 참조하세요",
|
|
setup: "설정",
|
|
setupAccessibility: "워크트리 설정 명령",
|
|
uncommittedTitle: "paseo.json 변경 사항을 커밋하세요",
|
|
uncommittedDescription: "새 워크트리는 선택한 기본 브랜치의 설정 스크립트를 사용합니다.",
|
|
teardown: "정리",
|
|
teardownAccessibility: "워크트리 정리 명령",
|
|
},
|
|
scripts: {
|
|
title: "스크립트",
|
|
info: "이 프로젝트의 모든 에이전트에서 실행할 수 있는 장기 실행 서비스 및 일회성 명령",
|
|
empty: "아직 스크립트가 없습니다.",
|
|
untitled: "제목 없는 스크립트",
|
|
port: "포트 {{port}}",
|
|
menuAccessibility: "스크립트 메뉴 열기",
|
|
removeTitle: "스크립트를 제거할까요?",
|
|
removeMessage: "{{name}}을(를) 제거할까요?",
|
|
removeFallbackName: "이 스크립트",
|
|
name: "이름",
|
|
command: "명령",
|
|
nameAccessibility: "스크립트 이름",
|
|
commandAccessibility: "스크립트 명령",
|
|
nameRequired: "이름을 입력하세요",
|
|
commandRequired: "명령을 입력하세요",
|
|
newScript: "새 스크립트",
|
|
editScript: "{{name}} 편집",
|
|
runAsService: "서비스로 실행",
|
|
serviceHint: "Paseo가 프로세스를 감독하고 $PASEO_PORT를 통해 포트를 할당합니다",
|
|
actions: {
|
|
add: "스크립트 추가",
|
|
edit: "편집",
|
|
remove: "제거",
|
|
},
|
|
},
|
|
metadata: {
|
|
title: "메타데이터 생성",
|
|
info: "Paseo가 메타데이터를 생성하는 데 사용하는 AI 프롬프트에 주입되는 프로젝트별 지침 - 브랜치 이름, 커밋 스타일, PR 형식 같은 팀 규칙을 적용하는 데 사용하세요",
|
|
branchName: "브랜치 이름",
|
|
branchNamePlaceholder:
|
|
"브랜치에 feat/ 또는 fix/를 접두사로, 개인 브랜치에는 mb/를 붙이세요",
|
|
commitMessage: "커밋 메시지",
|
|
commitMessagePlaceholder: "스코프와 함께 Conventional Commits를 사용하세요",
|
|
pullRequest: "풀 리퀘스트",
|
|
pullRequestPlaceholder: "한 문단 요약으로 시작하고 테스트 계획 섹션을 포함하세요",
|
|
},
|
|
writeFailures: {
|
|
staleTitle: "디스크에서 구성이 변경되었습니다",
|
|
staleDescription: "저장하기 전에 다시 로드하여 최신 paseo.json을 가져오세요.",
|
|
failedTitle: "paseo.json을 저장할 수 없습니다",
|
|
failedDescription: "다시 시도하거나 디스크에서 최신 버전을 다시 로드하세요.",
|
|
},
|
|
actions: {
|
|
reload: "다시 로드",
|
|
tryAgain: "다시 시도",
|
|
save: "저장",
|
|
saved: "프로젝트가 저장되었습니다",
|
|
saving: "저장하는 중...",
|
|
cancel: "취소",
|
|
},
|
|
},
|
|
},
|
|
};
|