const messages = { home: { settingsTitle: "설정", settingsDescription: "언어 및 에이전트 환경설정", title: "앱이 실행 중입니다", intro: "다음을 편집하여 시작하세요", actionCardTitle: "액션 기반 데이터", loadingAction: "액션 결과 로드 중...", docsTitle: "문서", docsDescription: "프레임워크 알아보기", themeTitle: "테마", themeDescription: "다크 / 라이트 전환", }, common: { cancel: "취소", confirmDisconnect: "연결 해제 확인", disconnect: "연결 해제", disconnecting: "연결 해제 중…", }, settings: { backHome: "홈으로 돌아가기", title: "설정", description: "앱과 언어 설정을 관리합니다.", languageTitle: "인터페이스 언어", languageDescription: "이 앱에서 사용할 언어를 선택하세요.", languageLabel: "언어", agentTitle: "에이전트 설정", agentDescription: "오른쪽 사이드바의 에이전트 설정을 열어 모델, API 키, 자동화, 음성 및 기타 제어를 관리합니다.", openAgentSettings: "에이전트 설정 열기", workspaceTitle: "워크스페이스", workspaceDescription: "팀 액세스 및 공유 작업 공간 리소스를 관리합니다.", openTeamSettings: "팀 설정 열기", openResourceSettings: "리소스 설정 열기", emailChange: "이메일 변경", emailChangeSent: "변경을 확인하려면 이메일을 확인하세요.", emailChangeError: "확인 메일을 보내지 못했습니다.", builderConnection: { manage: "Builder.io 연결 관리", }, }, dispatch: { nav: { chat: "채팅", overview: "개요", apps: "Apps", metrics: "지표", vault: "Vault", integrations: "통합", agents: "Agents", resources: "Resources", messaging: "Messaging", destinations: "Destinations", identities: "Identities", approvals: "승인", automations: "자동화", delivery: "전달", audit: "Audit", dreams: "Dreams", threadDebug: "스레드 디버그", settings: "설정", team: "팀", operations: "Operations", navigation: "탐색", navigationDescription: "작업공간 탐색 링크", }, sidebar: { workspaceControlPlane: "작업공간 제어 영역", workspaceSubtitle_other: "Workspace · {{count}} apps", chats: "채팅", newChat: "새 채팅", newDispatchChat: "새로운 Dispatch 채팅", renameChat: "채팅 이름 변경", renameThread: "Rename {{title}}", chatOptions: "Chat options for {{title}}", aboutPage: "About {{title}}", emptyAgentText: "앱을 만들고, Vault 키를 관리하고, 작업 공간 전체에서 작업을 라우팅하세요.", suggestionBuildApp: "X용 작업 공간 앱 빌드", suggestionRouteSlack: "Slack 멘션을 내 분석 앱으로 라우팅", suggestionGrantKey: "이 앱에 내 OpenAI 키를 부여하세요.", }, pages: { browserChatUnavailableTitle: "브라우저 채팅 세션을 사용할 수 없음", browserChatUnavailableDescription: "Agent-Native 브라우저 확장 프로그램에서 다시 연결하세요.", browserChatPlaceholder: "이 페이지에 대해 질문…", browserChatAttachedPlaceholder: "{{page}}에 대해 질문…", browserConnectTitle: "브라우저 채팅 연결", browserConnectDescription: "Agent-Native Chrome 확장 프로그램이 이 Dispatch 채팅 세션을 열도록 허용합니다. 연결에는 일회용 단기 티켓이 사용됩니다.", browserConnectInvalid: "잘못된 연결 요청입니다. 확장 프로그램에서 다시 시작하세요.", browserConnectConnected: "브라우저 채팅이 연결되었습니다. 이 탭을 닫아도 됩니다.", browserConnectConnecting: "연결 중…", browserConnectButton: "연결", browserConnectOpenFromExtension: "Agent-Native Chrome 확장 프로그램에서 이 페이지를 여세요.", browserConnectFailed: "브라우저 확장 프로그램이 연결되지 않았습니다.", appsDescription: "작업 공간 앱을 열고 Dispatch에서 새 앱 생성을 시작하세요.", appsDescriptionWithWorkspace: 'Apps in the "{{workspace}}" workspace. Each app gets its own route under this workspace and shares its database, auth, and agent chat.', appsInWorkspace: "Apps in {{workspace}}", workspaceApps: "작업 공간 앱", otherApps: "기타 앱", otherAppsDescription: "사용할 수 있는 다른 앱을 엽니다.", availableCount: "{{count}}개 사용 가능", activeCount: "{{count}} active", hiddenCount: "{{count}} hidden", createApp: "앱 만들기", templates: "템플릿", checkingTemplates: "사용 가능한 템플릿 확인 중", templatesAvailable: "{{count}} available to scaffold", curatedTemplates: "엄선된 템플릿", curatedTemplatesDescription: "검토된 앱 구조에서 시작해 나만의 앱으로 만들어 보세요.", remix: "템플릿에서 만들기", remixTemplate: "{{name}} 앱 만들기", remixAppIdLabel: "새 앱 ID", remixStarted: "{{name}} 생성을 시작했습니다", viewLiveApp: "라이브 앱 보기", alreadyInWorkspace: "워크스페이스에 이미 있음", remixAppIdDescription: "새 워크스페이스 앱의 URL 안전 ID를 선택하세요.", integrationSetup: "연동 설정", source: "소스", remixing: "앱 만드는 중…", remixSuccess: "템플릿에서 앱 만들기를 시작했습니다.", remixError: "이 템플릿에서 앱을 만들 수 없습니다", appIdRequired: "앱 ID가 필요합니다.", hide: "숨기기", show: "Show", hiddenApps: "숨겨진 앱", hiddenAppCount: "{{count}} hidden apps", workspaceAppFallback: "작업 공간 앱", workspaceAppDescription: "배포된 앱을 열거나 생성 중인 앱의 상태를 확인하세요.", pageNotFound: "페이지를 찾을 수 없음", pageNotFoundDescription: "이 경로는 아직 Workspace 앱 목록에 없습니다.", browseApps: "앱 찾아보기", newApp: "새로운 앱", newAppDescription: "프롬프트에서 Workspace 앱을 생성하고 Workspace Vault 정책을 적용합니다.", destinationsDescription: "아웃바운드 Slack 채널, Telegram 채팅 및 스레드 대상이 저장되었습니다.", savedDestinations: "저장된 목적지", addDestination: "목적지 추가", quickTestMessage: "빠른 테스트 메시지", send: "보내기", delete: "삭제", cancel: "취소", messageSent: "메시지가 전송되었습니다", unableToSendMessage: "메시지를 보낼 수 없습니다", destinationSaved: "목적지가 저장되었습니다", destinationRemoved: "목적지가 삭제되었습니다.", deleteDestinationTitle: "목적지를 삭제하시겠습니까?", deleteDestinationDescription: '"{{name}}" will be removed. Any saved workflows or jobs that target this destination will start failing on the next send.', noDestinations: "아직 저장된 목적지가 없습니다. 오른쪽에 첫 번째 Slack 채널 또는 Telegram 채팅을 추가하세요.", dailyDigestChannel: "일일 다이제스트 채널", optionalThreadOrTopicId: "선택적 스레드 또는 주제 ID", destinationNotes: "이 대상은 무엇을 사용해야 합니까?", saveDestination: "목적지 저장", noWorkspaceApps: "아직 Workspace 앱이 없습니다.", noWorkspaceAppsDescription: "워크플로에 집중된 위치가 필요할 때 앱을 만드세요.", appNotFound: "앱을 찾을 수 없습니다", building: "Building", appBuildingPrefix: "이 앱을 만드는 중입니다. 다음에서 이용 가능합니다.", appBuildingSuffix: "after its branch is merged and the workspace deploy finishes.", branch: "Branch: {{branch}}", openBuilderBranch: "빌더 브랜치 열기", openingApp: "Opening {{name}}", redirectingTo: "다음으로 리디렉션 중", openApp: "앱 열기", notDispatchOrWorkspaceApp: "이 작업 공간의 Dispatch 탭 또는 작업 공간 앱.", agentsDescription: "Dispatch는 기본적으로 A2A를 통해 내장 앱 제품군에 위임할 수 있습니다. 기본 제공 세트 외부의 앱으로 작업을 라우팅하려는 경우에만 여기에 추가 에이전트를 추가하세요.", mcpAccessUpdated: "MCP 앱 액세스가 업데이트되었습니다.", selectAppForMcp: "하나 이상의 앱을 선택하거나 모든 앱을 노출하세요.", mcpUrlCopied: "MCP URL 복사됨", mcpUrlCopyFailed: "MCP URL를 복사할 수 없습니다.", unifiedMcpGateway: "통합 MCP 게이트웨이", unifiedMcpGatewayDescription: "외부 에이전트를 Dispatch에 한 번 연결한 후 다음을 통해 부여된 작업 공간 앱으로 라우팅합니다.", allApps: "모든 앱", selectedApps: "선택된 앱", loading: "Loading", grantedCount: "{{count}} granted", exposeAllAppsMcp: "Dispatch MCP를 통해 모든 앱을 노출합니다.", copyUrl: "URL 복사", metricsUnavailable: "측정항목을 사용할 수 없습니다.", unableToLoadUsage: "사용량을 로드할 수 없습니다.", metricsDescriptionBuilder: "Workspace 전체 Builder.io 크레딧 지출, 채팅 양, 사용자 활동 및 앱 액세스.", metricsDescriptionLlm: "Workspace 전체 LLM 지출, 채팅 양, 사용자 활동 및 앱 액세스.", llmCalls: "LLM 통화", activeUsers: "활성 사용자", workspaceAppsStat: "작업 공간 앱", chatThreads: "채팅 스레드", also: "또한", workspaceShortcutsAria: "워크스페이스 바로가기", deliveryQueue: "전달 대기열", failedLastHour: "지난 1시간 동안 {{count}}건 실패", processingCount: "{{count}}건 처리 중", queued: "대기 중", active: "진행 중", done1h: "완료 1시간", failed1h: "실패 1시간", oldestQueued: "가장 오래된 대기: {{age}}", queueAgeNone: "없음", queueFailureHint: "자격 증명, 대상, 최근 대기열 오류를 확인하세요.", unknownPlatform: "알 수 없음", attemptsCount: "{{count}}회 시도", noErrorMessage: "(오류 메시지 없음)", }, }, settingsShortcut: { command: "설정", }, agentPanel: { useBuilder: "빌더 사용", openDesktopToEditCode: "데스크톱을 열어 코드 편집", codeUnavailableDescription: "소스 코드 변경 및 CLI 액세스는 Agent-Native 데스크톱 앱에서 사용할 수 있습니다.", downloadDesktop: "데스크탑 다운로드", chatMode: "채팅 모드", chat: "채팅", cliTerminalMode: "CLI 터미널 모드", cli: "CLI", workspaceMode: "파일, 에이전트, 기술 및 작업", workspace: "리소스", newChat: "새 채팅", newTerminal: "새로운 터미널", panelOptions: "상담원 패널 옵션", integrations: "통합", collapseSidebar: "사이드바 접기", widenChat: "채팅 넓히기", returnChatToLayout: "채팅을 레이아웃으로 되돌리기", hideChats: "채팅 숨기기", allChats: "모든 채팅", settings: "설정", feedback: "피드백", exitFullscreen: "전체 화면 종료", fullscreen: "Fullscreen", closeTab: "탭 닫기", closeOtherTabs: "다른 탭 닫기", closeAllTabs: "모든 탭 닫기", clearChat: "채팅 지우기", cliRequiresDevMode: "CLI에는 개발 모드가 필요합니다.", cliRequiresDevModeDescription: "pnpm dev를 사용하여 이 앱을 로컬에서 실행하거나 Builder.io를 사용하여 CLI 터미널에 액세스하세요.", toggleAgent: "에이전트 전환", keyScope: "키 범위", personalKeyScope: "개인", organizationKeyScope: "조직", personalKeyInEffect: "개인 키를 사용 중입니다.", organizationKeyInEffect: "조직 키를 사용 중입니다.", sharedKeyInEffect: "공유 키를 사용 중입니다.", useOrganizationKey: "조직 키 사용", keyStatusUnavailable: "키 상태를 확인할 수 없습니다.", saveScopeRoleUnavailable: "조직 역할을 불러오지 못해 아직 키를 저장할 수 없습니다.", }, share: { titleWithResource: 'Share "{{title}}"', titleWithType: "Share {{type}}", owner: "Owner: {{name}}", close: "닫기", shareOptions: "공유 옵션", people: "사람", agents: "에이전트", link: "링크", invite: "Invite", embed: "Embed", done: "완료", generalAccess: "일반 액세스", shareLink: "링크 공유", addPeopleByEmail: "이메일로 사람 추가", notifyPeople: "사람들에게 알림", peopleWithAccess: "접근 권한이 있는 사람", ownerRole: "Owner", remove: "제거", noAccess: "아직 액세스할 수 있는 사람이 없습니다.", embedUrl: "URL 삽입", embedCode: "코드 삽입", copy: "복사", role: "Role", private: "비공개", privateDescription: "액세스 권한이 있는 사람만 볼 수 있습니다.", organization: "조직", organizationDescription: "조직의 모든 사용자가 볼 수 있습니다.", public: "Public", publicDescription: "링크로 로그인한 사람은 누구나 볼 수 있습니다.", viewer: "Viewer", viewerDescription: "볼 수 있음", commenter: "댓글 작성자", commenterDescription: "보고 댓글을 추가할 수 있습니다", editor: "Editor", editorDescription: "편집 가능", admin: "관리자", adminDescription: "액세스를 편집하고 관리할 수 있습니다.", }, runsTray: { runs: "실행", agentRuns: "에이전트 실행", activeRun_other: "{{count}} active runs", failedRun_other: "{{count}} failed runs", recentRuns: "최근 실행", noRecentRuns: "최근 실행 없음", ariaAgentRuns: "Agent runs, {{label}}", summaryRunning: "{{activeCount}} running", summaryRunningRecent: "{{activeCount}} running · {{terminalCount}} recent", summaryRecent_other: "{{count}} recent runs", noTrackedWorkYet: "아직 추적된 작업이 없습니다.", emptyDescription: "백그라운드 에이전트 작업이 실행되는 동안과 완료된 후에 여기에 표시됩니다.", open: "열기", stopRun: "Stop {{title}}", hideRun: "Hide {{title}}", statusRunning: "Running", statusDone: "완료", statusFailed: "실패", statusStopped: "Stopped", updatedJustNow: "방금 업데이트됨", finishedJustNow: "지금 막 끝났어요", updatedMinutes: "Updated {{count}}m ago", finishedMinutes: "Finished {{count}}m ago", updatedHours: "Updated {{count}}h ago", finishedHours: "Finished {{count}}h ago", updatedDate: "Updated {{date}}", finishedDate: "Finished {{date}}", }, codeRequired: { fallbackDetail: "로컬에서 편집하거나 Builder.io를 사용하여 클라우드에서 이 코드를 편집하고 원하는 방식으로 앱을 계속 사용자 정의하세요.", defaultFeature: "이 앱에 요청된 코드를 변경합니다.", branchError: "지점을 생성하지 못했습니다.", title: "코드 변경 필요", subtitleWithFeature: '"{{feature}}" creates or modifies source code, which needs Desktop or Builder from this surface.', subtitle: "이 작업은 이 표면의 Desktop 또는 Builder가 필요한 소스 코드를 생성하거나 수정합니다.", desktopTitle: "Agent-Native 데스크탑 사용", desktopDescription: "소스 편집 및 CLI 액세스를 활성화하려면 데스크톱 앱에서 프로젝트를 엽니다.", builderAgentTitle: "Builder.io 에이전트 사용", builderAgentDescription: "클라우드 에이전트가 귀하를 대신해 변경해 드립니다. 미리 보고 배포할 수 있는 링크가 제공됩니다.", codeChangeTitle: "코드 변경이 필요합니다", codeChangeBadge: "코드 변경", connectBuilderTitle: "Builder.io 사용", connectBuilderDescription: "이 앱에서 클라우드 기반 코드 변경을 사용하려면 Builder.io를 사용하세요(무료 요금제 제공).", setupRequired: "설정 필요", branchCreated: "지점이 생성되었습니다.", close: "닫기", }, extensions: { createPrompt: "Create an extension: {{prompt}}", createWidgetPrompt: 'Create a new widget that fits in slot "{{slotId}}". I\'ll describe what it should do next.', whatShouldItDo: "무엇을 해야 합니까?", createPlaceholder: "할 일 목록, API 대시보드, 계산기...", title: "확장", hiddenShown: "숨김 표시됨", showHidden: "숨김 항목 표시", newExtension: "새로운 확장", newExtensionTitle: "새로운 확장", buildPlaceholder: "무엇을 만들고 싶은지 설명하세요.", namePlaceholder: "내 확장 프로그램", descriptionPlaceholder: "이 확장 기능은 무엇을 합니까?", contentPlaceholder: "...", emptyTitle: "첫 번째 확장 만들기", emptyDescription: "작은 앱을 설명하면 에이전트가 이를 빌드합니다.", hiddenFromEveryone: "모든 사람에게 숨겨짐", localFile: "로컬 파일", optionsFor: "Options for {{name}}", unhideEveryone: "모든 사람에게 숨기기 해제", hideEveryone: "모든 사람에게서 숨기기", localFileDescription: "This extension is backed by {{entryPath}}. Edit or remove it from the workspace.", deleteQuestion: "{{name}}을(를) 보관할까요?", removeQuestion: "Remove {{name}}?", hideForYouDescription: "이렇게 하면 다른 사람을 위해 삭제하지 않고 확장 프로그램 목록에서 숨겨집니다.", removeEverywhereDescription: "이렇게 하면 공유된 모든 위치에서 해당 항목이 보관됩니다.", cancel: "취소", remove: "제거", removing: "삭제 중...", delete: "보관", deleting: "보관 중...", openFullView: "전체 보기 열기", removeFromWidgetArea: "이 위젯 영역에서 제거", customBlockSandboxed: "커스텀 블록 · 샌드박스", sandboxedCustomBlock: "샌드박스 SQL 커스텀 블록", sandboxedCustomBlockCreatedBy: "{{email}} 님이 만든 샌드박스 SQL 커스텀 블록", promoteToAppCode: "앱 코드로 승격", historyShowsSourceVersions: "기록에서 소스 버전을 확인할 수 있습니다", createdByHistoryShowsSourceVersions: "{{email}} 님이 만들었습니다. 기록에서 소스 버전을 확인할 수 있습니다.", createdByHistoryShowsSourceVersionsCompact: "{{email}} 님이 만듦 · 기록에서 소스 버전 확인", deleteExtensionEllipsis: "확장 프로그램 보관...", removeFromMyListEllipsis: "내 목록에서 제거...", removeFromWidgetAreaForMe: "Remove from this widget area (for me)", deleteEverywhereConfirmation: "이렇게 하면 확장 프로그램을 공유하는 모든 사람의 모든 위치에서 확장 프로그램이 보관됩니다.", addWidget: "위젯 추가", loading: "로드 중...", noWidgetsAvailable: "이 슬롯에는 아직 사용할 수 있는 위젯이 없습니다.", buildNewWidget: "새 위젯 빌드", contactSidebarWidget: "연락처 사이드바 위젯", contactSidebarDescription: "연락처 및 스레드 컨텍스트가 포함된 현재 대화 옆에 표시됩니다.", eventDetailWidget: "일정 상세 위젯", eventDetailDescription: "열린 캘린더 일정 아래에 일정 및 참석자 컨텍스트와 함께 표시됩니다.", addWidgetHere: "여기에 위젯 추가", back: "뒤로", editExtension: "확장 편집", saving: "저장 중...", save: "저장", create: "생성", moreOptions: "추가 옵션", appearsIn: "다음에 나타납니다", noWidgetAreas: "어떤 위젯 영역에도 설치되지 않았습니다. 상담원에게 어딘가에 추가해 달라고 요청하세요.", widgetAreaCount_other: "This extension can render in {{count}} widget areas.", nameLabel: "이름", descriptionLabel: "설명", contentLabel: "콘텐츠", previewTitle: "확장 프로그램 미리보기", previewEmpty: "미리보기가 여기에 표시됩니다.", loadError: "확장 프로그램을 불러올 수 없습니다.", widgetsLoadError: "위젯을 불러올 수 없습니다.", widgetAreasLoadError: "위젯 영역을 불러올 수 없습니다.", historyLoadError: "확장 프로그램 기록을 불러올 수 없습니다.", versionLoadError: "이 확장 프로그램 버전을 불러올 수 없습니다.", retry: "다시 시도", }, org: { createTitle: "조직 만들기", createDescription: "이 앱은 콘텐츠를 팀별로 정리합니다. 계속하려면 조직을 만드세요. 나중에 팀원을 초대할 수 있습니다.", askAdminTitle: "관리자에게 문의하세요", askAdminDescription: "이 워크스페이스에 참여하려면 관리자에게 초대를 요청하세요.", loadErrorTitle: "조직을 로드할 수 없습니다.", loadErrorFallback: "조직을 로드할 수 없습니다.", tryAgain: "다시 시도", yourOrganization: "귀하의 조직", joinYourTeam: "팀에 합류하세요", openToDomainEmails: "Open to @{{domain}} emails", joinOrg: "Join {{name}}", pendingInvitations: "대기 중인 초대", invitedBy: "from {{name}}", accept: "Accept", createSeparate: "or create a separate organization", organizationName: "조직 이름", workspaceIcon: "워크스페이스 아이콘", icons: "아이콘", emoji: "이모지", upload: "업로드", searchIcons: "아이콘 검색", noIconsFound: "아이콘을 찾을 수 없음", recentIcons: "최근 아이콘", iconColors: "색상", defaultColor: "기본값", removeIcon: "아이콘 제거", uploadIcon: "아이콘 업로드", uploadingIcon: "업로드 중…", workspaceIconSyncPending: "여기에 저장했습니다. 다른 앱에 반영되기까지 시간이 더 걸릴 수 있습니다.", organizationPlaceholder: "Acme 주식회사", createOrganization: "조직 만들기", create: "생성", creating: "만드는 중...", team: "팀", createOrgCardTitle: "조직 만들기", createOrgCardDescription: "Set up a team to collaborate with your colleagues.", joinDomainOne: "귀하의 이메일 도메인과 일치하는 조직이 이미 존재합니다. 참여하여 팀원과 협력하세요.", joinDomainMany: "귀하의 이메일 도메인과 일치하는 조직이 이미 존재합니다. 하나에 가입하여 팀원과 협력하세요.", join: "Join", invitedByLabel: "Invited by {{name}}", you: "You", owner: "소유자", admin: "관리자", member: "Member", members: "Members", inviteMembers: "구성원 초대", appRolesOptional: "앱 역할", noAppRolesFound: "역할을 찾을 수 없습니다", notAssigned: "할당되지 않음", appPermissions: "앱 권한", applications: "애플리케이션", applicationsEmpty: "아직 등록된 워크스페이스 애플리케이션이 없습니다.", applicationsLoadFailed: "워크스페이스 애플리케이션을 불러오지 못했습니다.", applicationAccess: "{{name}} 액세스", applicationAccessAll: "모든 멤버", applicationAccessRestricted: "제한됨", applicationAccessDisabled: "사용 중지됨", resetToDefaults: "기본값으로 재설정", invited: "초대됨", role: "역할", status: "상태", actions: "작업", noMembers: "아직 구성원이 없습니다.", memberCount_other: "{{count}} members", memberPagination: "멤버 목록 페이지 매김", previousMemberPage: "이전 멤버 페이지로 이동", nextMemberPage: "다음 멤버 페이지로 이동", memberPageStatus: "{{totalPages}}페이지 중 {{page}}페이지", youAreRole: "You are {{role}}", changeRole: "역할 변경", removeMember: "회원 삭제", transferTo: "소유권 이전 대상", cancel: "취소", remove: "제거", save: "저장", loading: "로드 중...", dangerZone: "위험 구역", ssoConfirm: { title: "이 로그인 제공자를 필수로 설정할까요?", description: "구성원은 다음 로그인부터 이 제공자를 사용해야 합니다. 현재 세션이 취소될 수 있습니다.", confirm: "제공자 필수 설정", }, ssoSetup: { idpSetup: "ID 제공자 설정", redirectUri: "리디렉션 URI", spMetadataUrl: "서비스 제공자 메타데이터 URL", dnsRecordName: "DNS TXT 레코드 이름", dnsRecordValue: "DNS TXT 레코드 값", dnsPropagation: "확인 전에 DNS 변경 사항이 전파될 때까지 기다리세요.", }, sso: { signIn: "조직 로그인", signInHelp: "필수 로그인 제공자를 선택하세요.", requiredProvider: "필수 로그인 제공자", optional: "선택 사항", google: "Google", title: "싱글 사인온", description: "OIDC 또는 SAML ID 제공자를 연결합니다.", verified: "확인됨", verifyRequired: "확인 필요", verify: "확인", remove: "삭제", type: "ID 제공자 유형", providerId: "제공자 ID", issuer: "발급자 URL", domain: "조직 도메인", noDomain: "구성된 도메인 없음", clientId: "클라이언트 ID", clientSecret: "클라이언트 비밀", discoveryEndpoint: "검색 엔드포인트(선택 사항)", entryPoint: "SAML 진입점 URL", entityId: "IdP 엔터티 ID", metadata: "IdP 메타데이터 XML 붙여넣기", certificate: "서명 인증서(선택 사항)", domainHelp: "도메인은 조직의 확인된 도메인과 일치해야 합니다. 제출 후 비밀과 메타데이터는 양식에서 지워집니다.", saveProvider: "제공자 저장", cancel: "취소", addProvider: "제공자 추가", }, scim: { title: "디렉터리 프로비저닝", description: "이 조직의 SCIM 연결을 관리합니다.", revoke: "해지", copyTokenOnce: "이 토큰을 지금 복사하세요. 다시 표시되지 않습니다.", dismissToken: "토큰 닫기", createConnection: "SCIM 연결 만들기", }, deleteOrg: "조직 삭제", deleteOrgDescription: "이 조직과 구성원, 대기 중인 초대를 영구적으로 삭제합니다. 조직이 소유한 데이터에 더 이상 액세스할 수 없습니다. 이 작업은 되돌릴 수 없습니다.", deleteOrgConfirmPrompt: "확인하려면 {{name}}을(를) 입력하세요.", deleteOrgConfirmPlaceholder: "조직 이름", deleteOrgConfirmCta: "조직 삭제", deleteOrgPending: "삭제 중...", }, integrations: { webhookUrl: "웹훅 URL", copyWebhookUrl: "웹훅 URL 복사", notConfigured: "Not configured. Set the required secrets to enable this integration.", enable: "Enable", disable: "Disable", toggling: "...", networkError: "서버에 도달하는 네트워크 오류", back: "뒤로", agentEngineRequired: "에이전트 엔진 필요", agentEngineDescription: "{{platform}}이 답변하려면 Builder.io(무료 요금제 제공) 또는 LLM 키를 사용하세요.", openLlm: "LLM 열기", setup: "Setup", shareDocumentsWith: "다음과 문서 공유", copyServiceAccountEmail: "서비스 계정 이메일 복사", requiredSecrets: "필수 비밀", envHelp: "Set these in your .env file or environment to connect.", copy: "복사", documentation: "문서", clientAvailable: "이 에이전트의 A2A 엔드포인트는 자동으로 사용 가능해집니다. 구성이 필요하지 않습니다.", addChatIntegration: "채팅 통합 추가", chatIntegrations: "채팅 통합", chatIntegrationsDescription: "다른 플랫폼에서 이 에이전트와 대화하세요", addIntegration: "통합 추가", dispatchEntrypoint: "여러 앱 간에 작업을 라우팅할 수 있는 중앙 Slack 또는 Telegram 진입점의 경우", sharedMessaging: "Need one shared messaging surface for your workspace? Connect Slack or Telegram to a dispatch app and let it delegate to other agents over A2A.", }, observability: { noData: "사용 가능한 데이터가 없습니다", noConversations: "아직 녹음된 대화가 없습니다.", noEvals: "아직 기록된 평가 결과가 없습니다.", noExperiments: "아직 생성된 실험이 없습니다.", totalRuns: "총 실행", totalCost: "총 비용", avgLatency: "평균 대기 시간", toolSuccess: "도구 성공", thumbsUp: "엄지손가락", avgEvalScore: "평균 평가 점수", run: "Run", model: "모델", duration: "Duration", cost: "Cost", tools: "도구", time: "Time", failedCount: "({{count}} failed)", backToList: "목록으로 돌아가기", promoteMustContain: "답변에 포함할 내용…", promoteMustContainOptional: "답변에서 확인할 선택적 텍스트…", promoteMustContainLabel: "승격된 평가 답변에서 확인할 텍스트", promoteReviewedPromptLabel: "수동으로 검토한 프롬프트(프로덕션에서 자동 복사되지 않음)", promoteNeedsContains: "이 실행에는 성공한 도구 호출이 없습니다. 평가로 승격하기 전에 답변에 포함할 텍스트를 입력하세요.", spans: "Spans", type: "유형", name: "이름", tokens: "Tokens", status: "상태", totalEvals: "총 평가", avgScore: "평균 점수", scoresByCriteria: "기준별 점수", overview: "개요", conversations: "Conversations", evals: "평가", experiments: "실험", feedback: "피드백", variants: "Variants", created: "Created", backToExperiments: "실험으로 돌아가기", metrics: "지표", level: "Level", results: "결과", variant: "Variant", metric: "Metric", value: "Value", totalFeedback: "총 피드백", thumbsDown: "싫어요", frustration: "Frustration", thumbsUpRate: "좋아요 비율", categories: "카테고리", review: "사람 검토", reviewDescription: "질문과 답변을 검토하고 피드백과 지침 업데이트 초안을 저장합니다.", ask: "질문 내용", answer: "에이전트의 답변", reviewFeedback: "피드백", reviewOutput: "답변 검토", reviewPreview: "답변 미리보기", reviewPreviewUnavailable: "미리보기를 사용할 수 없습니다", closePreview: "미리보기 숨기기", addFeedback: "피드백 추가", draftInstruction: "지침 초안", closeReview: "닫기", notReviewed: "검토되지 않음", noteSaved: "메모 저장됨", looksGood: "좋습니다", needsChange: "변경 필요", feedbackNote: "피드백 메모", feedbackPlaceholder: "무엇을 바꾸거나 유지해야 하나요?", saveFeedback: "피드백 저장", updateInstructions: "지침 업데이트", draftNotice: "초안만 저장되며 자동으로 변경되지 않습니다.", instructionTarget: "지침 대상", agentTarget: "에이전트", developerTarget: "개발자", skillTarget: "스킬", instructionPlaceholder: "사람이 검토할 지침 변경안을 작성하세요.", saveUpdate: "업데이트 초안 저장", draftSaved: "초안 저장됨", noReviews: "아직 검토할 에이전트 답변이 없습니다", summarizeWithAgent: "에이전트로 요약", }, error: { genericTitle: "문제가 발생했습니다", genericDetails: "예상치 못한 오류가 발생했습니다.", notFoundTitle: "페이지를 찾을 수 없음", notFoundDetails: "이 페이지는 존재하지 않습니다. 이동되었거나 삭제되었을 수 있습니다.", statusTitle: "{{status}} 오류", goHome: "홈으로 이동", }, }; export default messages;