Files
paseo/packages/app/src/i18n/resources/ko.ts
T
Mohamed Boudra 5e197ad0cf style(app): align help menu versions on a right rail
The app and host version lines ran as one sentence, so the versions ragged
with the length of each name and were hard to compare. Menu hints now take an
optional trailing cell and lay out as key/value across the row.

Renaming the string to a plain name drops its interpolation, so every locale
carries the same untranslated product name it already had.

MenuHint renders in one place today (this menu), so the row layout in the
shared component changes nothing else.
2026-08-07 20:28:27 +02:00

2360 lines
96 KiB
TypeScript

import type { TranslationResources } from "./en";
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: "명령, 워크스페이스 및 에이전트 검색...",
noMatches: "일치 항목 없음",
actions: "작업",
workspaces: "워크스페이스",
agents: "에이전트",
newAgent: "새 에이전트",
addProject: "프로젝트 추가",
home: "홈",
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: "보내고 중단",
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: "아직 세션이 없습니다",
actions: {
loadMore: "더 불러오기",
},
},
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: {
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: "아직 작업이 없습니다.",
},
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: "경로 복사",
download: "다운로드",
addToChat: "채팅에 추가",
moreActions: "추가 작업",
},
fileExplorer: {
sort: {
name: "이름",
modified: "수정일",
size: "크기",
},
context: {
size: "크기",
modified: "수정일",
},
actions: {
back: "뒤로",
retry: "다시 시도",
refresh: "파일 새로고침",
refreshing: "파일 새로고침 중",
hideHiddenFiles: "숨겨진 파일 숨기기",
showHiddenFiles: "숨겨진 파일 표시",
},
empty: {
noFiles: "파일 없음",
noVisibleFiles: "표시되는 파일이 없습니다.",
},
states: {
unavailable: "워크스페이스를 사용할 수 없습니다",
loading: "파일 불러오는 중...",
},
errors: {
failedToListDirectory: "디렉터리 목록을 불러오지 못했습니다",
},
},
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: "스크린샷을 복사할 수 없습니다.",
},
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: "에이전트를 다시 로드하지 못했습니다",
},
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: "표시 항목",
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: {
kicker: "문제가 발생했습니다.",
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: "기본값",
favorites: "즐겨찾기",
favoriteModel: "모델 즐겨찾기",
unfavoriteModel: "모델 즐겨찾기 해제",
modelCount: "모델 {{count}}개",
modelCountPlural: "모델 {{count}}개",
retry: "다시 시도",
retrying: "다시 시도 중...",
noMatches: "검색과 일치하는 모델이 없습니다",
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: "고급 숨기기",
},
headers: {
title: "사용자 지정 헤더",
add: "헤더 추가",
name: "이름",
value: "값",
remove: "헤더 삭제",
errors: {
missingName: "각 헤더의 이름을 입력하세요",
invalidName: "{{name}}은(는) 올바른 헤더 이름이 아닙니다",
invalidValue: "{{name}}에 잘못된 줄바꿈이 있습니다",
duplicateName: "{{name}}이(가) 두 번 이상 입력되었습니다",
},
},
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: "아카이브 완료",
},
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: "통합",
permissions: "권한",
diagnostics: "진단",
about: "정보",
},
editor: {
title: "편집기",
vimKeybindings: "Vim 키 바인딩",
vimHint: "웹 및 데스크톱의 소스 파일에 적용됩니다.",
},
hostSections: {
projects: "프로젝트",
connections: "연결",
agents: "에이전트",
workspaces: "워크스페이스",
providers: "프로바이더",
usage: "사용량",
terminals: "터미널",
host: "개요",
},
general: {
title: "일반",
browserData: {
title: "브라우저 데이터",
siteData: "쿠키 및 사이트 데이터",
description: "브라우저 탭은 Paseo 전체에서 로그인 및 사이트 데이터를 공유합니다.",
clear: "브라우저 데이터 지우기",
clearing: "삭제 중...",
confirmTitle: "브라우저 데이터를 삭제하시겠습니까?",
confirmMessage: "사이트가 로그아웃되고 열려 있는 브라우저 탭이 다시 로드됩니다.",
success: "브라우저 데이터가 삭제되었습니다.",
error: "브라우저 데이터를 삭제할 수 없습니다.",
},
defaultSend: {
label: "기본 전송",
descriptions: {
interrupt:
"에이전트가 실행 중일 때 Enter는 중단합니다. Command/Ctrl+Enter는 대기열에 추가합니다.",
queue:
"에이전트가 실행 중일 때 Enter는 대기열에 추가합니다. Command/Ctrl+Enter는 제출합니다.",
},
options: {
interrupt: "중단",
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",
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: "단축키를 누르세요...",
actions: {
done: "완료",
cancel: "취소",
rebind: "다시 지정",
reset: "재설정",
resetAll: "모두 재설정",
},
sections: {
navigation: "탐색",
tabsPanes: "탭 및 창",
projects: "프로젝트",
panels: "패널",
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: "새 터미널",
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: "권한",
notifications: "알림",
microphone: "마이크",
refresh: "새로고침",
refreshing: "새로고침 중...",
refreshAccessibility: "데스크톱 권한 새로고침",
test: "테스트",
actions: {
granted: "허용됨",
request: "요청",
requesting: "요청 중...",
busySuffix: "{{label}}...",
},
},
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: "아직 프로필이 없습니다. 특정 명령으로 터미널을 실행하려면 하나 추가하세요.",
},
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: "워크트리 설정 명령",
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: "취소",
},
},
},
};