mojulo 0.0.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +54 -4
  2. package/lib/audit-logger-new.js +11 -0
  3. package/lib/auth/gate.js +25 -0
  4. package/lib/auth/service.js +17 -0
  5. package/lib/auth/session.js +63 -0
  6. package/lib/builder/chat-processor.js +607 -0
  7. package/lib/builder/composer-bridge.js +82 -0
  8. package/lib/builder/evaluator.js +159 -0
  9. package/lib/builder/executor.js +252 -0
  10. package/lib/builder/index.js +48 -0
  11. package/lib/builder/session.js +248 -0
  12. package/lib/builder/system-prompt.js +422 -0
  13. package/lib/builder/tone-presets.js +75 -0
  14. package/lib/builder/tool-executors.js +1527 -0
  15. package/lib/builder/tools.js +338 -0
  16. package/lib/builder/validators.js +239 -0
  17. package/lib/composer/composer.js +225 -0
  18. package/lib/composer/index.js +40 -0
  19. package/lib/composer/protocols/00_base.txt +19 -0
  20. package/lib/composer/protocols/01_knowledge.txt +9 -0
  21. package/lib/composer/protocols/02_form-gathering.txt +32 -0
  22. package/lib/composer/protocols/03_appointments.txt +16 -0
  23. package/lib/composer/protocols/04_triage.txt +15 -0
  24. package/lib/composer/protocols/05_optical-read.txt +22 -0
  25. package/lib/composer/response-builder.js +98 -0
  26. package/lib/config-builder.js +650 -0
  27. package/lib/db/ids.js +10 -0
  28. package/lib/db/index.js +179 -0
  29. package/lib/db/repositories/apiKeys.js +72 -0
  30. package/lib/db/repositories/auditLogs.js +12 -0
  31. package/lib/db/repositories/botSpaces.js +12 -0
  32. package/lib/db/repositories/builderSessions.js +312 -0
  33. package/lib/db/repositories/deploymentEvents.js +12 -0
  34. package/lib/db/repositories/deployments.js +385 -0
  35. package/lib/db/repositories/documents.js +68 -0
  36. package/lib/db/repositories/mcpJobs.js +84 -0
  37. package/lib/deployers/bot-fleet.js +110 -0
  38. package/lib/deployers/bot-proxy.js +72 -0
  39. package/lib/deployers/build.js +89 -0
  40. package/lib/deployers/cloud-deploy.js +310 -0
  41. package/lib/deployers/docker.js +439 -0
  42. package/lib/deployers/fly.js +432 -0
  43. package/lib/deployers/index.js +38 -0
  44. package/lib/deployment-auth.js +36 -0
  45. package/lib/document-parser.js +171 -0
  46. package/lib/embedder/chunker.js +93 -0
  47. package/lib/embedder/local.js +101 -0
  48. package/lib/embedder/preview-rag.js +93 -0
  49. package/lib/envelope-schema.js +54 -0
  50. package/lib/fleet/scoped-sql.js +342 -0
  51. package/lib/form-schema-config/base.js +135 -0
  52. package/lib/form-schema-config/index.js +286 -0
  53. package/lib/form-schema-config/locales/af-ZA.js +153 -0
  54. package/lib/form-schema-config/locales/ar-AE.js +142 -0
  55. package/lib/form-schema-config/locales/ar-SA.js +164 -0
  56. package/lib/form-schema-config/locales/de-DE.js +152 -0
  57. package/lib/form-schema-config/locales/en-AU.js +161 -0
  58. package/lib/form-schema-config/locales/en-CA.js +115 -0
  59. package/lib/form-schema-config/locales/en-GB.js +132 -0
  60. package/lib/form-schema-config/locales/en-IN.js +219 -0
  61. package/lib/form-schema-config/locales/en-MY.js +171 -0
  62. package/lib/form-schema-config/locales/en-NG.js +198 -0
  63. package/lib/form-schema-config/locales/en-PH.js +186 -0
  64. package/lib/form-schema-config/locales/en-SG.js +153 -0
  65. package/lib/form-schema-config/locales/en-US.js +138 -0
  66. package/lib/form-schema-config/locales/es-ES.js +171 -0
  67. package/lib/form-schema-config/locales/es-MX.js +193 -0
  68. package/lib/form-schema-config/locales/fr-CA.js +138 -0
  69. package/lib/form-schema-config/locales/fr-FR.js +155 -0
  70. package/lib/form-schema-config/locales/hi-IN.js +219 -0
  71. package/lib/form-schema-config/locales/it-IT.js +157 -0
  72. package/lib/form-schema-config/locales/ja-JP.js +169 -0
  73. package/lib/form-schema-config/locales/ko-KR.js +140 -0
  74. package/lib/form-schema-config/locales/nl-NL.js +149 -0
  75. package/lib/form-schema-config/locales/pt-BR.js +168 -0
  76. package/lib/form-schema-config/locales/zh-CN.js +172 -0
  77. package/lib/form-schema-config/locales/zh-HK.js +142 -0
  78. package/lib/form-structure-schema.js +191 -0
  79. package/lib/llm-providers.js +828 -0
  80. package/lib/markdown.js +197 -0
  81. package/lib/mcp/catalysts/appointment-to-calendar.md +84 -0
  82. package/lib/mcp/catalysts/conversations-to-channel-digest.md +104 -0
  83. package/lib/mcp/catalysts/document-extract-to-store.md +92 -0
  84. package/lib/mcp/catalysts/knowledge-gap-miner.md +96 -0
  85. package/lib/mcp/catalysts/loader.js +144 -0
  86. package/lib/mcp/catalysts/qualify-lead-to-crm.md +83 -0
  87. package/lib/mcp/catalysts/scan-conversations-for-signal.md +92 -0
  88. package/lib/mcp/catalysts/submission-to-ticket.md +83 -0
  89. package/lib/mcp/catalysts/submissions-to-warehouse.md +103 -0
  90. package/lib/mcp/catalysts/weekly-submissions-digest.md +82 -0
  91. package/lib/mcp/jobs.js +64 -0
  92. package/lib/mcp/server.js +184 -0
  93. package/lib/mcp/session-binding.js +130 -0
  94. package/lib/mcp/tools/build.js +123 -0
  95. package/lib/mcp/tools/catalysts.js +477 -0
  96. package/lib/mcp/tools/context.js +325 -0
  97. package/lib/mcp/tools/fleet.js +391 -0
  98. package/lib/mcp/tools/jobs-tools.js +240 -0
  99. package/lib/mcp/tools/operate.js +314 -0
  100. package/lib/preview/build-preview-config.js +136 -0
  101. package/lib/rate-limiter.js +11 -0
  102. package/lib/resolve-api-key.js +142 -0
  103. package/lib/storage/index.js +40 -0
  104. package/messages/de.json +2136 -0
  105. package/messages/en.json +2136 -0
  106. package/messages/es.json +2136 -0
  107. package/messages/fr.json +2136 -0
  108. package/messages/it.json +2136 -0
  109. package/messages/ja.json +2136 -0
  110. package/messages/ko.json +2136 -0
  111. package/messages/nl.json +2136 -0
  112. package/messages/pl.json +2136 -0
  113. package/messages/pt.json +2136 -0
  114. package/messages/ru.json +2136 -0
  115. package/messages/uk.json +2136 -0
  116. package/messages/zh.json +2136 -0
  117. package/package.json +68 -5
  118. package/scripts/mcp-config.mjs +162 -0
  119. package/scripts/mcp-stdio-loader.mjs +42 -0
  120. package/scripts/mcp-stdio.mjs +108 -0
  121. package/scripts/mojulo-paths.mjs +48 -0
@@ -0,0 +1,2136 @@
1
+ {
2
+ "common": {
3
+ "loading": "로딩 중...",
4
+ "save": "저장",
5
+ "saving": "저장 중...",
6
+ "cancel": "취소",
7
+ "delete": "삭제",
8
+ "edit": "편집",
9
+ "close": "닫기",
10
+ "search": "검색",
11
+ "back": "뒤로",
12
+ "next": "다음",
13
+ "submit": "제출",
14
+ "create": "생성",
15
+ "copy": "복사",
16
+ "copied": "복사됨!",
17
+ "view": "보기",
18
+ "hide": "숨기기",
19
+ "yes": "예",
20
+ "no": "아니요",
21
+ "confirm": "확인",
22
+ "done": "완료",
23
+ "updating": "업데이트 중...",
24
+ "moveTo": "이동 위치:",
25
+ "unknown": "알 수 없음",
26
+ "error": "오류",
27
+ "remove": "제거",
28
+ "selectAnOption": "옵션을 선택하세요",
29
+ "addItemLabel": "{itemLabel} 추가",
30
+ "itemNumber": "{itemLabel} #{number}"
31
+ },
32
+ "auth": {
33
+ "signIn": "로그인",
34
+ "signOut": "로그아웃",
35
+ "signingIn": "로그인 중...",
36
+ "email": "이메일",
37
+ "password": "비밀번호",
38
+ "signInToContinue": "계속하려면 로그인하세요",
39
+ "invalidCredentials": "이메일 또는 비밀번호가 올바르지 않습니다",
40
+ "needAccess": "접근 권한이 필요한가요? 조직 관리자에게 문의하세요.",
41
+ "controlPanel": "Mojulo Control Panel",
42
+ "setupComplete": "관리자 계정이 성공적으로 생성되었습니다. 로그인하세요.",
43
+ "emailPlaceholder": "you@company.com",
44
+ "passwordPlaceholder": "비밀번호"
45
+ },
46
+ "dashboard": {
47
+ "title": "대시보드",
48
+ "loading": "대시보드 로딩 중...",
49
+ "loadingChatbots": "챗봇 로딩 중...",
50
+ "loadingHistory": "기록 로딩 중...",
51
+ "createNewBot": "새 봇 만들기",
52
+ "noBots": "아직 봇이 없습니다",
53
+ "selectBotOrSpace": "세부 정보를 보려면 봇 또는 봇 스페이스를 선택하세요",
54
+ "createBot": "봇 만들기",
55
+ "workspace": "{name}님의 워크스페이스",
56
+ "unassignedWorkspace": "할당되지 않은 워크스페이스",
57
+ "searchChatbots": "챗봇 검색",
58
+ "noChatbotsFound": "챗봇을 찾을 수 없습니다",
59
+ "privateNotShared": "비공개 (공유되지 않음)",
60
+ "inSpace": "{spaceName}에 있음",
61
+ "chooseBotType": "시작하려면 봇 유형을 선택하세요:",
62
+ "addNewBot": "새 봇 추가",
63
+ "addNewPrivateBot": "새 비공개 봇 추가",
64
+ "expandBotSpaces": "봇 스페이스 펼치기",
65
+ "allSpaces": "모든 스페이스",
66
+ "adminSummary": {
67
+ "title": "개요",
68
+ "totalBots": "전체 봇",
69
+ "running": "실행 중",
70
+ "stopped": "중지됨",
71
+ "failed": "실패",
72
+ "recentDeployments": "최근 배포",
73
+ "activeBots": "활성 봇 (24시간)",
74
+ "noRecentActivity": "최근 활동 없음",
75
+ "conversations": "대화",
76
+ "totalActive": "지난 24시간 동안 {bots}개 봇에서 {conversations}건의 대화",
77
+ "private": "비공개",
78
+ "unknown": "알 수 없음",
79
+ "justNow": "방금 전",
80
+ "minutesAgo": "{count}분 전",
81
+ "hoursAgo": "{count}시간 전",
82
+ "yesterday": "어제",
83
+ "daysAgo": "{count}일 전"
84
+ },
85
+ "private": "비공개",
86
+ "showBotList": "봇 목록 표시",
87
+ "deleteConfirm": "\"{name}\"을(를) 삭제하시겠습니까? 배포가 제거되며 되돌릴 수 없습니다.",
88
+ "deleteError": "배포 삭제에 실패했습니다: {error}",
89
+ "actionError": "배포 {action} 작업에 실패했습니다: {error}",
90
+ "assignError": "봇 스페이스 할당에 실패했습니다: {error}",
91
+ "sections": {
92
+ "control": "제어",
93
+ "data": "데이터",
94
+ "resources": "리소스"
95
+ },
96
+ "launcher": {
97
+ "modularChat": {
98
+ "title": "모듈식 봇 (채팅)",
99
+ "badge": "신규",
100
+ "description": "AI 어시스턴트로 만들기"
101
+ },
102
+ "modularWizard": {
103
+ "title": "모듈식 봇 (마법사)",
104
+ "description": "단계별 구성"
105
+ }
106
+ },
107
+ "redeploy": {
108
+ "confirm": "현재 구성으로 \"{name}\"을(를) 재배포하시겠습니까? 변경 없이 봇이 재시작됩니다.",
109
+ "initiating": "재배포 시작 중...",
110
+ "sending": "배포 요청 전송 중...",
111
+ "deploying": "배포 중...",
112
+ "redeploying": "재배포 중...",
113
+ "failed": "재배포 실패"
114
+ },
115
+ "myBots": "내 봇",
116
+ "subtitle": "각 봇은 저장된 구성입니다. 실행 가능한 ZIP이 필요할 때마다 빌드하세요.",
117
+ "noKeyBanner": {
118
+ "text": "채팅 빌더와 양식 기반 마법사를 사용하려면 LLM 제공자 키를 추가하세요.",
119
+ "cta": "설정 열기 →"
120
+ },
121
+ "documentLibrary": "문서 라이브러리 →",
122
+ "newBotChat": "새 봇 (채팅)",
123
+ "newBotWizard": "새 봇 (마법사)",
124
+ "loadingShort": "로딩 중…",
125
+ "noBotsHint": "아직 봇이 없습니다. 채팅 빌더 또는 마법사에서 시작하세요.",
126
+ "searchBots": "봇 검색…",
127
+ "noBotsMatch": "\"{query}\"와 일치하는 봇이 없습니다.",
128
+ "emptyDetailHint": "봇을 선택하면 라이프사이클 작업을 볼 수 있습니다.",
129
+ "buildFailedAlert": "빌드 실패: {error}",
130
+ "statuses": {
131
+ "building": "빌드 중",
132
+ "buildFailed": "빌드 실패",
133
+ "needsRebuild": "재빌드 필요",
134
+ "running": "실행 중",
135
+ "runningStale": "실행 중 · 오래됨",
136
+ "ready": "준비됨",
137
+ "draft": "초안"
138
+ },
139
+ "builds": {
140
+ "building": "빌드 중…",
141
+ "retry": "빌드 재시도",
142
+ "rebuild": "재빌드",
143
+ "build": "빌드"
144
+ },
145
+ "connect": {
146
+ "title": "실행 중인 봇 연결",
147
+ "description": "<code>{name}</code>이(가) 실행 중인 URL을 붙여넣으세요. 컨트롤 플레인이 해당 행에 내장된 API 키로 프로브합니다.",
148
+ "botUrlLabel": "봇 URL",
149
+ "probeFailedFallback": "프로브 실패 ({status})",
150
+ "disconnect": "연결 해제",
151
+ "testing": "테스트 중…",
152
+ "testAndSave": "테스트 및 저장"
153
+ },
154
+ "documents": {
155
+ "title": "문서 라이브러리",
156
+ "breadcrumbHere": "문서 라이브러리",
157
+ "subtitle": "업로드한 모든 문서와 각 문서를 참조하는 봇입니다. 문서는 봇보다 오래 유지되며, 봇을 삭제해도 해당 문서는 제거되지 않습니다.",
158
+ "loadFailed": "라이브러리 로드 실패: {error}",
159
+ "loading": "로딩 중…",
160
+ "searchPlaceholder": "파일명으로 검색…",
161
+ "filters": {
162
+ "all": "전체",
163
+ "unattached": "연결되지 않음",
164
+ "parseFailed": "구문 분석 실패"
165
+ },
166
+ "selectAll": "모두 선택",
167
+ "deselectAll": "모두 선택 해제",
168
+ "selectionStatus": "{total}개 중 {selected}개 선택됨",
169
+ "deleting": "삭제 중…",
170
+ "deleteSelected": "선택 항목 삭제",
171
+ "deleteCount": "{count}개 삭제",
172
+ "deleteSingleConfirm": "\"{name}\"을(를) 삭제하시겠습니까? 디스크에서 파일이 제거됩니다.",
173
+ "deleteMultiConfirm": "연결되지 않은 문서 {count}개를 삭제하시겠습니까? 디스크에서 제거됩니다.",
174
+ "deleteFailed": "{total}개 중 {failed}개 삭제 실패: {details}",
175
+ "noDocs": "아직 업로드된 문서가 없습니다. 봇을 구성할 때 마법사 또는 채팅 빌더에서 업로드하세요.",
176
+ "noMatch": "이 필터와 일치하는 문서가 없습니다.",
177
+ "table": {
178
+ "document": "문서",
179
+ "size": "크기",
180
+ "uploaded": "업로드됨",
181
+ "parsed": "구문 분석됨",
182
+ "usedBy": "사용 중인 봇"
183
+ },
184
+ "parseFailedLabel": "실패",
185
+ "parseFailedTooltip": "추출된 텍스트 없음 — RAG가 이 문서를 사용하지 않습니다",
186
+ "unattachedLabel": "연결되지 않음"
187
+ },
188
+ "detail": {
189
+ "backToList": "목록으로 돌아가기",
190
+ "runningAt": "실행 중인 위치",
191
+ "staleNotice": "마지막 빌드 이후 구성이 변경되었습니다 — 최신 ZIP을 받으려면 재빌드하세요.",
192
+ "wizard": "마법사",
193
+ "chat": "채팅",
194
+ "connect": "연결",
195
+ "reconnect": "재연결",
196
+ "conversations": "대화",
197
+ "downloadZip": "Zip 다운로드",
198
+ "downloadWithDocs": "문서와 함께 다운로드",
199
+ "deployToCloud": "클라우드에 배포",
200
+ "live": "라이브 ↗",
201
+ "hideEmbed": "임베드 숨기기",
202
+ "embedScript": "임베드 스크립트",
203
+ "deleteBot": "봇 삭제",
204
+ "deleteConfirm": "이 봇과 아티팩트를 삭제하시겠습니까?"
205
+ }
206
+ },
207
+ "bots": {
208
+ "types": {
209
+ "chat": "채팅",
210
+ "knowledge": "지식",
211
+ "form": "양식",
212
+ "triage": "분류",
213
+ "appointment": "예약",
214
+ "bot": "봇"
215
+ },
216
+ "descriptions": {
217
+ "chat": "AI 기반 채팅 어시스턴트",
218
+ "form": "구조화된 데이터 수집",
219
+ "triage": "사용자를 적절한 곳으로 라우팅",
220
+ "appointment": "미팅 및 예약 일정 관리"
221
+ },
222
+ "status": {
223
+ "deployed": "배포됨",
224
+ "deploying": "배포 중",
225
+ "failed": "실패"
226
+ }
227
+ },
228
+ "actions": {
229
+ "modify": "수정",
230
+ "clone": "복제",
231
+ "reassign": "재할당",
232
+ "goToLiveBot": "라이브 봇으로 이동",
233
+ "modifyTitle": "배포 수정 - 동일한 URL과 이름 유지",
234
+ "cloneTitle": "새 이름으로 이 배포 복제",
235
+ "reassignTitle": "다른 봇 스페이스로 재할당",
236
+ "deleteTitle": "배포 삭제",
237
+ "editInChat": "채팅",
238
+ "editInChatTitle": "채팅 어시스턴트로 수정",
239
+ "pause": "일시 중지",
240
+ "start": "시작",
241
+ "pauseBot": "봇 일시 중지",
242
+ "startBot": "봇 시작",
243
+ "redeploy": "재배포",
244
+ "redeployBot": "봇 재배포",
245
+ "live": "라이브",
246
+ "embed": "임베드",
247
+ "copied": "복사됨",
248
+ "replicas": "복제본",
249
+ "scaleReplicas": "복제본 확장",
250
+ "replicasDescription": "봇 복제본 수를 조정하세요. 복제본이 많을수록 더 많은 동시 사용자를 처리할 수 있습니다. 스티키 세션은 사용자가 동일한 복제본에 연결되도록 보장합니다.",
251
+ "replicaCount": "복제본 수",
252
+ "replicasRange": "최소: 1, 최대: 10",
253
+ "currentReplicas": "현재 복제본 (사용 가능/원하는)",
254
+ "scale": "확장",
255
+ "scaling": "확장 중...",
256
+ "cancel": "취소"
257
+ },
258
+ "nav": {
259
+ "dashboard": "대시보드",
260
+ "analytics": "분석",
261
+ "conversations": "대화",
262
+ "submissions": "제출",
263
+ "liveLogs": "실시간 로그"
264
+ },
265
+ "wizard": {
266
+ "loading": "마법사 로딩 중...",
267
+ "loadingDeployment": "배포 구성 로딩 중...",
268
+ "previewAfterDeployment": "배포 후 미리 보기 가능",
269
+ "clickToBegin": "시작하려면 배포 버튼을 클릭하세요",
270
+ "clickToUpdate": "업데이트하려면 배포 버튼을 클릭하세요",
271
+ "steps": {
272
+ "identity": "정체성",
273
+ "knowledge": "지식 베이스",
274
+ "deployment": "배포",
275
+ "resources": "리소스",
276
+ "infoGathering": "정보 수집",
277
+ "triage": "분류",
278
+ "appointments": "예약",
279
+ "botSetup": "봇 설정",
280
+ "capabilities": "기능",
281
+ "formCollection": "양식 수집",
282
+ "routing": "라우팅",
283
+ "opticalRead": "광학 판독",
284
+ "deploy": "빌드"
285
+ },
286
+ "titles": {
287
+ "newBot": "새 봇",
288
+ "editBot": "봇 편집",
289
+ "cloneBot": "봇 복제",
290
+ "newConversationalBot": "새 대화형 봇",
291
+ "editConversationalBot": "대화형 봇 편집",
292
+ "cloneConversationalBot": "대화형 봇 복제",
293
+ "newTriageBot": "새 분류 봇",
294
+ "editTriageBot": "분류 봇 편집",
295
+ "cloneTriageBot": "분류 봇 복제",
296
+ "newAppointmentsBot": "새 예약 봇",
297
+ "editAppointmentsBot": "예약 봇 편집",
298
+ "cloneAppointmentsBot": "예약 봇 복제",
299
+ "configureYourBot": "봇 구성",
300
+ "selectBotCapabilities": "봇 기능 선택",
301
+ "defineBotIdentity": "봇 정체성 정의",
302
+ "uploadKnowledgeBase": "지식 베이스 업로드",
303
+ "configureFormCollection": "양식 수집 구성",
304
+ "configureAppointments": "예약 구성",
305
+ "configureTriageRouting": "분류 라우팅 구성",
306
+ "configureOpticalRead": "광학 판독 구성",
307
+ "deployYourBot": "빌드 및 다운로드"
308
+ },
309
+ "badges": {
310
+ "modifying": "수정 중",
311
+ "clone": "복제",
312
+ "new": "신규",
313
+ "conversational": "대화형",
314
+ "triage": "분류",
315
+ "appointments": "예약",
316
+ "form": "양식",
317
+ "modular": "모듈식",
318
+ "knowledge": "지식",
319
+ "forms": "양식",
320
+ "routing": "라우팅",
321
+ "opticalRead": "광학 판독"
322
+ },
323
+ "theatre": {
324
+ "modelConfiguration": "모델 구성",
325
+ "botPreview": "봇 미리 보기",
326
+ "knowledgeBase": "지식 베이스",
327
+ "deployment": "배포",
328
+ "preview": "미리 보기",
329
+ "infoGathering": "정보 수집",
330
+ "triageDestinations": "분류 목적지",
331
+ "appointmentTypes": "예약 유형",
332
+ "calendarProviders": "캘린더 제공자",
333
+ "protocolPreview": "프로토콜 미리 보기",
334
+ "formPreview": "양식 미리 보기",
335
+ "appointmentPreview": "예약 미리 보기",
336
+ "triagePreview": "분류 미리 보기",
337
+ "opticalReadPreview": "광학 판독 미리 보기"
338
+ },
339
+ "protocols": {
340
+ "selectCapabilities": "봇 기능 선택",
341
+ "selectCapabilitiesDescription": "봇에 필요한 프로토콜을 활성화하세요. 여러 기능을 결합할 수 있습니다.",
342
+ "knowledgeBase": "지식 베이스",
343
+ "knowledgeBaseDescription": "업로드된 문서와 RAG (검색 증강 생성)를 사용하여 질문에 답변",
344
+ "formCollection": "양식 수집",
345
+ "formCollectionDescription": "AI가 사용자 데이터를 보지 않고 정보를 수집하는 대화형 양식",
346
+ "appointmentBooking": "예약",
347
+ "appointmentBookingDescription": "사용자를 Calendly 또는 Google 캘린더 같은 캘린더 제공자로 라우팅",
348
+ "triageRouting": "분류 라우팅",
349
+ "triageRoutingDescription": "필요에 따라 사용자를 전문 봇 또는 사람 지원으로 라우팅",
350
+ "opticalRead": "광학 판독",
351
+ "opticalReadDescription": "비전 지원 LLM을 사용하여 업로드된 이미지에서 구조화된 데이터 추출",
352
+ "opticalReadProviderGate": "광학 판독은 비전 지원 제공자가 필요합니다. Anthropic과 OpenAI가 지원됩니다.",
353
+ "modelGate": "이 모델은 지식 프로토콜만 지원합니다. 다단계 흐름을 활성화하려면 llama3.3(Ollama) 또는 클라우드 제공자로 전환하세요.",
354
+ "exampleFaq": "FAQ 챗봇",
355
+ "exampleDocumentation": "문서 어시스턴트",
356
+ "exampleProductSupport": "제품 지원",
357
+ "exampleLeadCapture": "리드 캡처",
358
+ "exampleOnboarding": "사용자 온보딩",
359
+ "exampleSurvey": "설문 수집",
360
+ "exampleConsultation": "상담 예약",
361
+ "exampleScheduling": "서비스 일정 관리",
362
+ "exampleMeeting": "미팅 설정",
363
+ "exampleMultiBot": "다중 봇 라우팅",
364
+ "exampleDelegation": "지능형 위임",
365
+ "exampleCustomerRouting": "고객 라우팅",
366
+ "selectAtLeastOne": "최소 한 가지 기능을 선택하세요",
367
+ "capabilitiesSelected": "{count}개 {count, plural, one {capability} other {capabilities}} 선택됨",
368
+ "yourCombination": "선택한 조합:",
369
+ "combinationFullService": "풀서비스 봇: 질문에 답변하고, 사용자 정보를 수집하며, 예약을 진행합니다.",
370
+ "combinationQaData": "Q&A + 데이터 수집: 지식 베이스에서 질문에 답변하면서 사용자 정보를 수집합니다.",
371
+ "combinationQaBooking": "Q&A + 예약: 질문에 답변하고 사용자가 예약하도록 돕습니다.",
372
+ "combinationIntakeBooking": "접수 + 예약: 사용자 정보를 수집하고 예약을 진행합니다.",
373
+ "preview": {
374
+ "selectProtocolPrompt": "왼쪽에서 기능을 선택하면 봇이 할 수 있는 일을 볼 수 있습니다",
375
+ "selectedCapabilities": "선택한 기능",
376
+ "combinedPossibilities": "결합된 가능성",
377
+ "exampleUseCases": "사용 사례 예시",
378
+ "showExamples": "예시 표시",
379
+ "contexts": {
380
+ "contextGeneric": "일반",
381
+ "contextMedical": "의료",
382
+ "contextLegal": "법률",
383
+ "contextRetail": "소매",
384
+ "contextRealEstate": "부동산",
385
+ "contextEducation": "교육",
386
+ "contextHospitality": "호스피탈리티",
387
+ "contextFinance": "금융",
388
+ "medical": {
389
+ "medicalKnowledge": "의료 지식 베이스",
390
+ "medicalKnowledgeDesc": "증상, 약물, 시술, 보험에 대한 환자 질문에 답변",
391
+ "symptomChecker": "증상 체커",
392
+ "drugInfo": "약물 정보",
393
+ "treatmentFAQ": "치료 FAQ",
394
+ "insuranceCoverage": "보험 보장 범위",
395
+ "prepInstructions": "시술 준비",
396
+ "medicalForms": "환자 접수",
397
+ "medicalFormsDesc": "대화형 양식을 통해 병력, 보험, 동의서 수집",
398
+ "patientIntake": "환자 접수",
399
+ "medicalHistory": "병력",
400
+ "consentForms": "동의서",
401
+ "insuranceVerification": "보험 확인",
402
+ "symptomQuestionnaire": "증상 설문지",
403
+ "medicalAppointments": "예약 일정 관리",
404
+ "medicalAppointmentsDesc": "캘린더 연동으로 진료, 검사, 후속 진료 예약",
405
+ "doctorBooking": "의사 예약",
406
+ "labScheduling": "검사 일정",
407
+ "followUpReminders": "후속 진료 알림",
408
+ "specialistReferral": "전문의 의뢰",
409
+ "telehealth": "원격 진료 세션",
410
+ "medicalTriage": "임상 분류",
411
+ "medicalTriageDesc": "긴급성을 평가하고 환자를 적절한 진료 수준으로 라우팅",
412
+ "urgencyAssessment": "긴급성 평가",
413
+ "departmentRouting": "부서 라우팅",
414
+ "nurseEscalation": "간호사 에스컬레이션",
415
+ "emergencyDetection": "응급 상황 감지",
416
+ "specialistMatch": "전문의 매칭",
417
+ "medicalKnowledgeForm": "스마트 환자 접수",
418
+ "medicalKnowledgeFormDesc": "접수 정보를 수집하면서 환자에게 정보 제공",
419
+ "smartIntake": "스마트 접수",
420
+ "guidedSymptoms": "가이드 증상 수집",
421
+ "educatedConsent": "교육된 동의",
422
+ "preVisitPrep": "방문 전 준비",
423
+ "medicalKnowledgeAppt": "정보에 기반한 예약",
424
+ "medicalKnowledgeApptDesc": "서비스를 설명하고 환자가 적절한 예약을 할 수 있도록 도움",
425
+ "informedBooking": "정보에 기반한 예약",
426
+ "prepThenSchedule": "준비 후 일정",
427
+ "serviceExplainer": "서비스 설명자",
428
+ "waitTimeInfo": "대기 시간 정보",
429
+ "medicalTriple": "환자 여정",
430
+ "medicalTripleDesc": "완전한 접수 흐름: 한 대화에서 교육, 정보 수집, 예약",
431
+ "fullPatientJourney": "전체 환자 여정",
432
+ "newPatientOnboarding": "신규 환자 온보딩",
433
+ "referralWorkflow": "의뢰 워크플로",
434
+ "medicalAll": "가상 안내 데스크",
435
+ "medicalAllDesc": "완전한 디지털 접수: 분류, 접수, 교육, 일정 관리",
436
+ "virtualFrontDesk": "가상 안내 데스크",
437
+ "completePatientPortal": "환자 포털 어시스턴트",
438
+ "urgentCareBot": "응급 진료 봇"
439
+ },
440
+ "legal": {
441
+ "legalKnowledge": "법률 정보",
442
+ "legalKnowledgeDesc": "업무 영역, 절차, 수수료 구조에 대한 질문에 답변",
443
+ "legalFAQ": "법률 FAQ",
444
+ "caseTypesInfo": "사건 유형 정보",
445
+ "feeStructure": "수수료 구조",
446
+ "processExplainer": "절차 설명",
447
+ "jurisdictionInfo": "관할권 정보",
448
+ "legalForms": "고객 접수",
449
+ "legalFormsDesc": "사건 세부 정보, 문서, 이해 충돌 확인 정보 수집",
450
+ "clientIntake": "고객 접수",
451
+ "caseDetails": "사건 세부 정보",
452
+ "documentCollection": "문서 수집",
453
+ "conflictCheck": "이해 충돌 확인",
454
+ "retainerInfo": "수임료 정보",
455
+ "legalAppointments": "상담 예약",
456
+ "legalAppointmentsDesc": "상담, 증언, 미팅 일정 관리",
457
+ "consultationBooking": "상담 예약",
458
+ "depositionSchedule": "증언 일정",
459
+ "courtDateReminders": "법정 날짜 알림",
460
+ "meetingCoordination": "미팅 조율",
461
+ "legalTriage": "사건 라우팅",
462
+ "legalTriageDesc": "문의를 적절한 변호사 또는 업무 영역으로 라우팅",
463
+ "caseTypeRouting": "사건 유형 라우팅",
464
+ "urgencyAssessment": "긴급성 평가",
465
+ "attorneyMatch": "변호사 매칭",
466
+ "departmentRouting": "부서 라우팅",
467
+ "legalKnowledgeForm": "가이드 사건 평가",
468
+ "legalKnowledgeFormDesc": "사건 정보를 수집하면서 법적 옵션 설명",
469
+ "guidedIntake": "가이드 접수",
470
+ "informedConsent": "정보에 기반한 동의",
471
+ "caseEvaluation": "사건 평가",
472
+ "legalAll": "가상 법무 보조원",
473
+ "legalAllDesc": "완전한 고객 서비스: 접수, 사건 평가, 라우팅, 일정 관리",
474
+ "virtualParalegal": "가상 법무 보조원",
475
+ "clientPortal": "고객 포털",
476
+ "caseManagement": "사건 관리"
477
+ },
478
+ "retail": {
479
+ "retailKnowledge": "제품 어시스턴트",
480
+ "retailKnowledgeDesc": "제품, 재고, 정책, 사이즈에 대한 질문에 답변",
481
+ "productInfo": "제품 정보",
482
+ "stockAvailability": "재고 현황",
483
+ "returnPolicy": "반품 정책",
484
+ "shippingFAQ": "배송 FAQ",
485
+ "sizeGuide": "사이즈 가이드",
486
+ "retailForms": "고객 서비스",
487
+ "retailFormsDesc": "주문 조회, 반품, 보증 등록 처리",
488
+ "orderLookup": "주문 조회",
489
+ "returnRequest": "반품 요청",
490
+ "warrantyRegistration": "보증 등록",
491
+ "feedbackSurvey": "피드백 설문",
492
+ "wishlist": "위시리스트 수집",
493
+ "retailAppointments": "서비스 예약",
494
+ "retailAppointmentsDesc": "개인 쇼핑, 픽업, 매장 내 서비스 일정 관리",
495
+ "personalShopping": "개인 쇼핑",
496
+ "storePickup": "매장 픽업",
497
+ "serviceBooking": "서비스 예약",
498
+ "consultations": "스타일 상담",
499
+ "fittingRoom": "피팅룸 예약",
500
+ "retailTriage": "고객 라우팅",
501
+ "retailTriageDesc": "고객을 적절한 부서로 라우팅하거나 문제를 에스컬레이션",
502
+ "departmentRouting": "부서 라우팅",
503
+ "issueEscalation": "문제 에스컬레이션",
504
+ "vipCustomers": "VIP 고객",
505
+ "languageRouting": "언어 라우팅",
506
+ "retailAll": "가상 컨시어지",
507
+ "retailAllDesc": "완전한 쇼핑 어시스턴트: 제품 도움, 서비스 예약, 지원",
508
+ "virtualConcierge": "가상 컨시어지",
509
+ "omniChannelSupport": "옴니채널 지원",
510
+ "personalShopperBot": "개인 쇼퍼 봇"
511
+ },
512
+ "realestate": {
513
+ "realestateKnowledge": "부동산 정보",
514
+ "realestateKnowledgeDesc": "매물, 동네, 구매 절차에 대한 질문에 답변",
515
+ "listingInfo": "매물 정보",
516
+ "neighborhoodGuide": "동네 가이드",
517
+ "mortgageFAQ": "모기지 FAQ",
518
+ "buyingProcess": "구매 절차",
519
+ "marketTrends": "시장 동향",
520
+ "realestateForms": "리드 자격 확인",
521
+ "realestateFormsDesc": "구매자/판매자 자격을 확인하고 부동산 선호도 파악",
522
+ "buyerQualification": "구매자 자격 확인",
523
+ "sellerIntake": "판매자 접수",
524
+ "propertyPreferences": "부동산 선호도",
525
+ "preApprovalInfo": "사전 승인 정보",
526
+ "contactCapture": "연락처 수집",
527
+ "realestateAppointments": "방문 일정 관리",
528
+ "realestateAppointmentsDesc": "부동산 방문, 오픈하우스, 에이전트 미팅 예약",
529
+ "showingSchedule": "방문 일정",
530
+ "openHouseRSVP": "오픈하우스 참가 신청",
531
+ "agentMeeting": "에이전트 미팅",
532
+ "virtualTour": "가상 투어",
533
+ "inspectionBooking": "검사 예약",
534
+ "realestateTriage": "에이전트 매칭",
535
+ "realestateTriageDesc": "필요와 위치에 따라 리드를 적절한 에이전트와 매칭",
536
+ "buyerVsSeller": "구매자 vs 판매자",
537
+ "locationRouting": "위치 라우팅",
538
+ "agentMatch": "에이전트 매칭",
539
+ "propertyTypeSpecialist": "부동산 전문가",
540
+ "realestateAll": "가상 에이전트",
541
+ "realestateAllDesc": "완전한 부동산 어시스턴트: 매물, 자격 확인, 일정 관리",
542
+ "virtualAgent": "가상 에이전트",
543
+ "leadQualification": "리드 자격 확인",
544
+ "propertyMatchmaker": "부동산 매치메이커"
545
+ },
546
+ "education": {
547
+ "educationKnowledge": "과정 및 프로그램 정보",
548
+ "educationKnowledgeDesc": "강의, 입학, 학자금 지원, 캠퍼스 생활에 대한 질문에 답변",
549
+ "courseCatalog": "강의 카탈로그",
550
+ "admissionsFAQ": "입학 FAQ",
551
+ "financialAid": "학자금 지원 정보",
552
+ "campusInfo": "캠퍼스 정보",
553
+ "programRequirements": "프로그램 요건",
554
+ "educationForms": "학생 지원",
555
+ "educationFormsDesc": "등록, 신청, 지원 정보 수집",
556
+ "applicationForm": "지원서",
557
+ "enrollmentInfo": "등록 정보",
558
+ "transcriptRequest": "성적 증명서 요청",
559
+ "financialAidApp": "학자금 지원 신청",
560
+ "courseRegistration": "수강 신청",
561
+ "educationAppointments": "학사 일정 관리",
562
+ "advisorMeeting": "지도교수 미팅",
563
+ "campusTour": "캠퍼스 투어",
564
+ "admissionsInterview": "입학 면접",
565
+ "tutoringSessions": "튜터링 세션",
566
+ "officeHours": "오피스 아워",
567
+ "educationAppointmentsDesc": "지도교수 미팅, 캠퍼스 투어, 튜터링 세션 예약",
568
+ "educationTriage": "학생 라우팅",
569
+ "educationTriageDesc": "문의를 적절한 부서 또는 지원팀으로 라우팅",
570
+ "departmentRouting": "부서 라우팅",
571
+ "studentVsProspect": "학생 vs 지원자",
572
+ "academicVsAdmin": "학사 vs 행정",
573
+ "urgencyLevel": "긴급성 수준",
574
+ "educationAll": "가상 어드바이저",
575
+ "educationAllDesc": "완전한 학생 서비스: 정보, 신청, 일정 관리",
576
+ "virtualAdvisor": "가상 어드바이저",
577
+ "admissionsBot": "입학 봇",
578
+ "studentServicesHub": "학생 서비스 허브"
579
+ },
580
+ "hospitality": {
581
+ "hospitalityKnowledge": "고객 정보",
582
+ "hospitalityKnowledgeDesc": "편의 시설, 식당, 활동, 지역 명소에 대한 질문에 답변",
583
+ "amenitiesInfo": "편의 시설 정보",
584
+ "localAttractions": "지역 명소",
585
+ "diningOptions": "식사 옵션",
586
+ "policyFAQ": "정책 FAQ",
587
+ "eventInfo": "이벤트 정보",
588
+ "hospitalityForms": "고객 선호도",
589
+ "hospitalityFormsDesc": "도착 전 객실 선호도, 식이 요구사항, 특별한 날 세부 정보 수집",
590
+ "roomPreferences": "객실 선호도",
591
+ "dietaryRestrictions": "식이 제한",
592
+ "pillowMenu": "베개 및 침구 메뉴",
593
+ "arrivalDetails": "도착 세부 정보",
594
+ "specialOccasions": "특별한 날",
595
+ "hospitalityAppointments": "예약",
596
+ "hospitalityAppointmentsDesc": "식사, 스파, 활동, 룸서비스 예약",
597
+ "reservationBooking": "예약",
598
+ "spaAppointment": "스파 예약",
599
+ "diningReservation": "식사 예약",
600
+ "roomService": "룸서비스",
601
+ "activityBooking": "활동 예약",
602
+ "hospitalityTriage": "고객 라우팅",
603
+ "hospitalityTriageDesc": "요청을 적절한 부서로 라우팅하거나 긴급한 문제를 에스컬레이션",
604
+ "guestVsProspect": "고객 vs 잠재 고객",
605
+ "urgentRequests": "긴급 요청",
606
+ "departmentRouting": "부서 라우팅",
607
+ "vipHandling": "VIP 처리",
608
+ "hospitalityAll": "가상 컨시어지",
609
+ "hospitalityAllDesc": "완전한 고객 서비스: 정보, 예약, 지원",
610
+ "virtualConcierge": "가상 컨시어지",
611
+ "guestServicesBot": "고객 서비스 봇",
612
+ "preArrivalConcierge": "사전 도착 컨시어지"
613
+ },
614
+ "finance": {
615
+ "financeKnowledge": "금융 상품",
616
+ "financeKnowledgeDesc": "계좌, 대출, 금리, KYC 요건에 대한 질문에 답변",
617
+ "productInfo": "상품 정보",
618
+ "ratesFAQ": "금리 및 수수료 FAQ",
619
+ "eligibilityGuide": "자격 가이드",
620
+ "kycRequirements": "KYC 요건",
621
+ "complianceInfo": "규정 준수 정보",
622
+ "financeForms": "KYC 및 온보딩",
623
+ "financeFormsDesc": "신분증 수집, 고객 확인, 규정 온보딩 완료",
624
+ "kycCollection": "KYC 수집",
625
+ "identityVerification": "신원 확인",
626
+ "amlScreening": "AML 스크리닝",
627
+ "accountOpening": "계좌 개설",
628
+ "riskProfiling": "리스크 프로파일링",
629
+ "financeAppointments": "어드바이저 일정 관리",
630
+ "financeAppointmentsDesc": "어드바이저, 대출 담당자, 전문가와 미팅 예약",
631
+ "advisorMeeting": "어드바이저 미팅",
632
+ "loanConsultation": "대출 상담",
633
+ "accountReview": "계좌 검토",
634
+ "planningSession": "플래닝 세션",
635
+ "branchVisit": "지점 방문",
636
+ "financeTriage": "서비스 라우팅",
637
+ "financeTriageDesc": "적절한 상품 전문가로 라우팅하거나 복잡한 사례를 에스컬레이션",
638
+ "productRouting": "상품 라우팅",
639
+ "complianceEscalation": "규정 준수 에스컬레이션",
640
+ "advisorMatch": "어드바이저 매칭",
641
+ "fraudEscalation": "사기 에스컬레이션",
642
+ "financeAll": "디지털 온보딩",
643
+ "financeAllDesc": "완전한 디지털 온보딩: KYC 확인, 상품 매칭, 어드바이저 일정 관리",
644
+ "digitalOnboarding": "디지털 온보딩",
645
+ "kycBot": "KYC 봇",
646
+ "wealthAdvisorAssistant": "자산 어드바이저 어시스턴트"
647
+ }
648
+ },
649
+ "knowledge": {
650
+ "title": "지식 베이스",
651
+ "description": "RAG 기반 검색을 통해 업로드한 문서로 질문에 답변",
652
+ "example1": "제품 FAQ 챗봇",
653
+ "example2": "문서 어시스턴트",
654
+ "example3": "내부 지식 포털"
655
+ },
656
+ "formGathering": {
657
+ "title": "양식 수집",
658
+ "description": "자연스러운 대화를 통해 사용자 정보를 점진적으로 수집",
659
+ "example1": "리드 캡처 양식",
660
+ "example2": "고객 온보딩",
661
+ "example3": "설문 및 피드백 수집"
662
+ },
663
+ "appointments": {
664
+ "title": "예약",
665
+ "description": "캘린더 연동을 통해 사용자가 미팅을 예약하도록 허용",
666
+ "example1": "영업 상담 예약",
667
+ "example2": "서비스 예약 일정 관리",
668
+ "example3": "데모 및 미팅 요청"
669
+ },
670
+ "triage": {
671
+ "title": "분류 라우팅",
672
+ "description": "필요에 따라 사용자를 전문 봇 또는 사람 지원으로 라우팅",
673
+ "example1": "부서 라우팅",
674
+ "example2": "사람 상담원으로 에스컬레이션",
675
+ "example3": "다중 봇 오케스트레이션"
676
+ },
677
+ "singles": {
678
+ "singleKnowledge": "지식 어시스턴트",
679
+ "singleKnowledgeDesc": "지능형 RAG 기반 검색을 통해 업로드한 문서로 질문에 답변",
680
+ "scenarioFAQ": "FAQ 챗봇",
681
+ "scenarioProductInfo": "제품 정보",
682
+ "scenarioDocumentation": "문서 포털",
683
+ "scenarioInternalKB": "내부 지식 베이스",
684
+ "scenarioPolicyLookup": "정책 조회",
685
+ "singleFormGathering": "데이터 수집기",
686
+ "singleFormGatheringDesc": "자연스러운 대화를 통해 구조화된 정보를 점진적으로 수집",
687
+ "scenarioLeadCapture": "리드 캡처",
688
+ "scenarioSurvey": "설문 수집",
689
+ "scenarioContactForm": "연락처 양식",
690
+ "scenarioFeedback": "피드백 수집",
691
+ "scenarioRegistration": "이벤트 등록",
692
+ "singleAppointments": "예약 어시스턴트",
693
+ "singleAppointmentsDesc": "Calendly 또는 Cal.com 같은 캘린더 연동을 통해 사용자가 미팅 일정을 잡도록 도움",
694
+ "scenarioBookMeeting": "미팅 예약",
695
+ "scenarioScheduleDemo": "데모 일정 관리",
696
+ "scenarioConsultation": "상담 예약",
697
+ "scenarioServiceAppt": "서비스 예약",
698
+ "scenarioOfficeHours": "오피스 아워",
699
+ "singleTriage": "스마트 라우터",
700
+ "singleTriageDesc": "의도, 긴급성, 주제에 따라 사용자를 적절한 목적지로 라우팅",
701
+ "scenarioRouteToAgent": "상담원 라우팅",
702
+ "scenarioDepartmentRouting": "부서 라우팅",
703
+ "scenarioEscalation": "에스컬레이션 처리",
704
+ "scenarioLanguageRouting": "언어 기반 라우팅",
705
+ "scenarioVIPRouting": "우선/VIP 라우팅",
706
+ "singleOpticalRead": "비전 추출기",
707
+ "singleOpticalReadDesc": "업로드된 이미지에서 구조화된 필드 추출 — 모델이 읽고, 사용자가 검토하고 제출합니다",
708
+ "scenarioIdScan": "신분증 문서 스캔",
709
+ "scenarioInsuranceCard": "보험 카드 캡처",
710
+ "scenarioReceiptExtract": "영수증 추출",
711
+ "scenarioBusinessCard": "명함 리더",
712
+ "scenarioPrescriptionLabel": "처방전 라벨"
713
+ },
714
+ "synergies": {
715
+ "synergyKnowledgeForm": "정보에 기반한 리드 캡처",
716
+ "synergyKnowledgeFormDesc": "제품 질문에 답변하여 신뢰를 구축한 후 맥락에 맞는 양식으로 관심 있는 리드 캡처",
717
+ "scenarioQualifyThenCapture": "자격 확인 후 캡처",
718
+ "scenarioAnswerThenCollect": "답변 후 수집",
719
+ "scenarioContextualForms": "맥락에 맞는 양식",
720
+ "scenarioEducateThenConvert": "교육 후 전환",
721
+ "scenarioSupportToLead": "지원 → 리드",
722
+ "synergyKnowledgeAppointments": "상담형 예약",
723
+ "synergyKnowledgeAppointmentsDesc": "서비스/제품에 대해 사용자를 교육한 후 준비되었을 때 예약하도록 허용",
724
+ "scenarioInformThenBook": "정보 제공 후 예약",
725
+ "scenarioSmartScheduling": "스마트 일정 관리",
726
+ "scenarioPreQualifyBooking": "사전 자격 확인 예약",
727
+ "scenarioServiceExplainer": "서비스 설명 → 예약",
728
+ "scenarioPricingToDemo": "가격 FAQ → 데모",
729
+ "synergyKnowledgeTriage": "지능형 에스컬레이션",
730
+ "synergyKnowledgeTriageDesc": "일반적인 질문에 대한 셀프 서비스 답변, 복잡한 문제는 매끄럽게 핸드오프",
731
+ "scenarioAnswerOrEscalate": "답변 또는 에스컬레이션",
732
+ "scenarioSmartRouting": "스마트 라우팅",
733
+ "scenarioTieredSupport": "단계별 지원",
734
+ "scenarioDeflectOrRoute": "전환 또는 라우팅",
735
+ "scenarioL1Automation": "L1 자동화",
736
+ "synergyKnowledgeOpticalRead": "스캔 및 설명",
737
+ "synergyKnowledgeOpticalReadDesc": "업로드된 이미지에서 데이터를 추출한 후 지식 베이스에 기반한 후속 질문에 답변",
738
+ "scenarioScanThenAsk": "스캔 후 질문",
739
+ "scenarioDocumentExplainer": "문서 설명자",
740
+ "scenarioCardToPolicy": "카드 → 정책 조회",
741
+ "scenarioPrescriptionExplainer": "처방전 설명자",
742
+ "scenarioReceiptToReturns": "영수증 → 반품 FAQ",
743
+ "synergyFormAppointments": "접수에서 예약",
744
+ "synergyFormAppointmentsDesc": "자격 정보를 수집한 후 개인화된 예약 시간 제공",
745
+ "scenarioIntakeSchedule": "접수 후 일정",
746
+ "scenarioBookAndCapture": "예약 및 캡처",
747
+ "scenarioQualifyBook": "자격 확인 후 예약",
748
+ "scenarioPreVisitForm": "방문 전 양식 → 예약",
749
+ "scenarioNeedsAssessment": "필요 평가 → 일정",
750
+ "synergyFormTriage": "스마트 리드 라우팅",
751
+ "synergyFormTriageDesc": "사용자 세부 정보를 수집한 후 적합한 팀원 또는 부서로 라우팅",
752
+ "scenarioCollectThenRoute": "수집 후 라우팅",
753
+ "scenarioFormBasedRouting": "양식 기반 라우팅",
754
+ "scenarioLeadDistribution": "리드 배포",
755
+ "scenarioSkillBasedRouting": "기술 기반 라우팅",
756
+ "scenarioTerritoryAssignment": "영역 할당",
757
+ "synergyAppointmentsTriage": "전문가 예약",
758
+ "synergyAppointmentsTriageDesc": "사용자 필요에 맞는 전문가를 식별한 후 직접 예약",
759
+ "scenarioRouteToCalendar": "캘린더로 라우팅",
760
+ "scenarioSpecialistBooking": "전문가 예약",
761
+ "scenarioSmartDelegation": "스마트 위임",
762
+ "scenarioExpertMatch": "전문가 매칭",
763
+ "scenarioAvailabilityRouting": "가용성 기반 라우팅",
764
+ "synergyTriple1": "전체 영업 퍼널",
765
+ "synergyTriple1Desc": "완전한 영업 여정: 잠재 고객 교육, 리드 캡처, 자격 있는 데모 예약",
766
+ "scenarioFullSalesFlow": "완전한 영업 흐름",
767
+ "scenarioCompleteOnboarding": "완전한 온보딩",
768
+ "scenarioNurtureToClose": "육성 후 마감",
769
+ "scenarioInboundSales": "인바운드 영업 자동화",
770
+ "synergyTriple2": "지원 허브",
771
+ "synergyTriple2Desc": "셀프 서비스 지식 베이스, 티켓 생성, 상담원으로 지능형 에스컬레이션",
772
+ "scenarioSupportEscalation": "지원 에스컬레이션",
773
+ "scenarioIntelligentTicketing": "지능형 티켓팅",
774
+ "scenarioHelpDeskAuto": "헬프 데스크 자동화",
775
+ "scenarioIssueCapture": "문제 캡처 → 라우팅",
776
+ "synergyTriple3": "상담 흐름",
777
+ "synergyTriple3Desc": "질문에 답변하고, 적절한 전문가와 매칭하며, 직접 캘린더 예약 활성화",
778
+ "scenarioMultiSpecialistBooking": "다중 전문가 예약",
779
+ "scenarioSmartConsultation": "스마트 상담",
780
+ "scenarioAdvisoryFlow": "자문 서비스 흐름",
781
+ "scenarioExpertConnect": "전문가 연결",
782
+ "synergyTriple4": "완전한 접수",
783
+ "synergyTriple4Desc": "구조화된 접수 양식, 팀으로 스마트 라우팅, 자동화된 일정 관리",
784
+ "scenarioIntakeRouteBook": "접수 → 라우팅 → 예약",
785
+ "scenarioCompleteLeadFlow": "완전한 리드 흐름",
786
+ "scenarioPatientIntake": "환자 접수 흐름",
787
+ "scenarioClientOnboarding": "고객 온보딩",
788
+ "synergyAll": "엔터프라이즈 어시스턴트",
789
+ "synergyAllDesc": "풀 기능 컨시어지: 질문 답변, 데이터 수집, 지능형 라우팅, 예약",
790
+ "scenarioEnterpriseBot": "엔터프라이즈 어시스턴트",
791
+ "scenarioFullServiceAssistant": "풀서비스 봇",
792
+ "scenarioDigitalConcierge": "디지털 컨시어지",
793
+ "scenarioVirtualReceptionist": "가상 리셉셔니스트",
794
+ "scenarioUnifiedSupport": "통합 지원 허브"
795
+ }
796
+ }
797
+ },
798
+ "modular": {
799
+ "addCalendarProvider": "캘린더 제공자 추가",
800
+ "addUrlDestination": "URL 목적지 추가",
801
+ "redirectToBot": "봇으로 리디렉션",
802
+ "addRoutingDestination": "라우팅 목적지 추가",
803
+ "selectedBot": "선택된 봇",
804
+ "displayName": "표시 이름",
805
+ "displayNamePlaceholder": "예: 영업 지원, 기술 지원",
806
+ "description": "설명",
807
+ "descriptionPlaceholder": "사용자가 여기로 라우팅되어야 할 시점을 설명하세요...",
808
+ "url": "URL",
809
+ "urlPlaceholder": "https://example.com/support",
810
+ "paradigm": "패러다임",
811
+ "protocols": "프로토콜",
812
+ "set": "설정됨",
813
+ "notGenerated": "생성되지 않음",
814
+ "calendars": "캘린더",
815
+ "configured": "{count}개 구성됨",
816
+ "triageRoutes": "분류 경로",
817
+ "opticalReadFields": "광학 판독 필드",
818
+ "required": "필수",
819
+ "displayNameRequired": "표시 이름은 필수입니다",
820
+ "descriptionRequired": "설명은 필수입니다",
821
+ "urlRequired": "URL은 필수입니다",
822
+ "urlInvalid": "유효한 URL을 입력하세요",
823
+ "addOpticalReadField": "추출 필드 추가",
824
+ "editOpticalReadField": "추출 필드 편집",
825
+ "updateOpticalReadField": "추출 필드 업데이트"
826
+ },
827
+ "tabs": {
828
+ "desktop": "데스크톱",
829
+ "documents": "문서",
830
+ "fieldsDisplay": "필드 표시",
831
+ "flow": "흐름",
832
+ "jsonView": "JSON 보기",
833
+ "fields": "필드",
834
+ "preview": "미리 보기"
835
+ },
836
+ "identity": {
837
+ "chatDisplayName": "채팅창 표시 이름",
838
+ "chatDisplayNameHelper": "채팅 인터페이스 헤더에 표시되는 이름",
839
+ "personaObjective": "페르소나 및 목표",
840
+ "personaObjectivePlaceholder": "봇의 목적, 개성, 사용자 지정 지침을 설명하세요",
841
+ "personaObjectiveHelper": "봇이 어떻게 동작해야 하는지, 무엇을 도와야 하는지, 특정 가이드라인을 정의하세요.",
842
+ "welcomeMessage": "환영 메시지",
843
+ "welcomeMessagePlaceholder": "안녕하세요! 어떻게 도와드릴까요?",
844
+ "welcomeMessageHelper": "사용자가 대화를 시작할 때 보는 첫 메시지입니다.",
845
+ "suggestedPrompts": "제안 프롬프트 (선택 사항)",
846
+ "suggestedPromptsHelper": "사용자가 대화를 시작하는 데 도움이 되는 빠른 시작 프롬프트를 제공하세요",
847
+ "inputPlaceholder": "입력 플레이스홀더",
848
+ "inputPlaceholderHelper": "메시지 입력 필드의 플레이스홀더 텍스트",
849
+ "inputPlaceholderDefault": "메시지를 입력하세요...",
850
+ "promptPlaceholder": "무엇을 도와드릴까요?",
851
+ "chatDisplayNamePlaceholder": "봇",
852
+ "promptItemLabel": "프롬프트"
853
+ },
854
+ "resources": {
855
+ "botName": "고유한 봇 이름 설정",
856
+ "botNameHelper": "고유한 리소스 식별자로 사용됩니다. 최대 50자.",
857
+ "botNamePlaceholder": "내 멋진 봇",
858
+ "aboutBotNames": "봇 이름 정보",
859
+ "botNameInfo": "리소스 이름은 대시보드에서 검색 가능합니다. 의미 있는 설명을 사용하거나 자체 시스템을 구현하세요.",
860
+ "botNameWarning": "이름은 배포 후 변경할 수 없습니다.",
861
+ "provider": "제공자",
862
+ "selectProvider": "제공자를 선택하세요",
863
+ "model": "모델",
864
+ "selectModel": "모델을 선택하세요",
865
+ "apiKey": "API 키",
866
+ "apiKeyEnter": "API 키를 입력하세요",
867
+ "apiKeySelectProviderFirst": "먼저 제공자를 선택하세요",
868
+ "apiKeySavedPlaceholder": "•••••••• (저장된 키 사용 중)",
869
+ "apiKeyExistingPlaceholder": "•••••••• (기존 키가 있음 — 유지하려면 비워두세요)",
870
+ "apiKeyUsingSaved": "저장된 API 키 사용 중:",
871
+ "apiKeyExistingConfigured": "기존 API 키가 구성됨 — 새로 입력하지 않으면 재사용됩니다",
872
+ "apiKeyIsSet": "API 키가 설정되었습니다",
873
+ "apiKeyClear": "지우기",
874
+ "apiKeyAbout": "API 키 정보",
875
+ "apiKeyTooltip": "API 키는 암호화되어 안전하게 저장됩니다. 챗봇의 응답을 구동하는 데 사용됩니다. 저장된 API 키는 설정에서 관리할 수 있습니다.",
876
+ "apiKeyEncryptedHelper": "API 키는 암호화되어 안전하게 저장됩니다",
877
+ "apiKeyLoadingSaved": "저장된 키 로딩 중...",
878
+ "apiKeyOrUseSaved": "또는 저장된 API 키 사용:",
879
+ "ollamaNoCredsNeeded": "Ollama는 사용자의 자체 엔드포인트에 대해 실행됩니다 — API 키가 필요하지 않습니다.",
880
+ "ollamaHost": "Ollama 호스트 URL",
881
+ "ollamaHostHelper": "봇이 접근할 엔드포인트입니다. 비워두면 http://localhost:11434 이 기본값으로 사용됩니다. 봇이 Docker에서 실행되고 Ollama가 호스트에서 실행되는 경우, http://host.docker.internal:11434 (Mac/Windows) 또는 호스트의 LAN IP(Linux)를 사용하세요. 클라우드 배포에는 공개적으로 접근 가능한 Ollama 엔드포인트가 필요합니다. 엔벨로프 유효성 보장을 위해 Ollama ≥ 0.5.0 이 필요합니다 — 이전 데몬도 작동하지만 최선의 노력 기반 JSON 파싱으로 폴백됩니다.",
882
+ "ollamaHostSavedPlaceholder": "저장된 호스트 사용 중 — 새 URL을 입력하려면 지우세요",
883
+ "ollamaHostUsingSaved": "저장된 Ollama 호스트 사용 중:",
884
+ "ollamaHostOrUseSaved": "또는 저장된 Ollama 호스트 사용:",
885
+ "awsCredentialsUsing": "저장된 AWS 자격 증명 사용 중:",
886
+ "awsCredentialsExisting": "기존 AWS 자격 증명이 구성됨 — 아래에 새로 입력하지 않으면 재사용됩니다",
887
+ "awsUseIamRole": "IAM 역할 사용 (EKS/EC2에 권장)",
888
+ "awsUseIamRoleHelper": "명시적 자격 증명 대신 인스턴스/파드 IAM 역할 사용",
889
+ "awsAccessKeyId": "AWS Access Key ID",
890
+ "awsAccessKeyIdPlaceholder": "AKIAIOSFODNN7EXAMPLE",
891
+ "awsSecretAccessKey": "AWS Secret Access Key",
892
+ "awsSecretAccessKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
893
+ "bedrockRegion": "Bedrock 리전",
894
+ "bedrockRegionOption": "{name} ({geoPrefix} 교차 리전)",
895
+ "bedrockCrossRegion": "교차 리전 추론은 {regionName} 리전 전반의 가용 용량으로 요청을 라우팅합니다",
896
+ "regionUS": "미국",
897
+ "regionEU": "유럽",
898
+ "regionAPAC": "아시아 태평양",
899
+ "awsUsingIamRoleStatus": "IAM 역할 사용 중",
900
+ "awsCredentialsConfigured": "AWS 자격 증명 구성됨",
901
+ "awsLoadingCredentials": "저장된 자격 증명 로딩 중...",
902
+ "awsOrUseSaved": "또는 저장된 AWS 자격 증명 사용:"
903
+ },
904
+ "knowledge": {
905
+ "loadingDocuments": "문서 로딩 중...",
906
+ "noDocumentsInSpace": "이 봇 스페이스에 문서가 없습니다.",
907
+ "selectFromBotSpace": "봇 스페이스 파일에서 선택",
908
+ "selected": "선택됨",
909
+ "select": "선택",
910
+ "skipRag": "RAG 건너뛰기",
911
+ "skipRagHelper": "목표 프롬프트가 유일한 지식 출처가 됩니다"
912
+ },
913
+ "infoGathering": {
914
+ "formRegion": "양식 리전",
915
+ "formRegionHelper": "대상 리전에 맞는 검증 패턴, 필드 형식, 레이블을 설정합니다",
916
+ "describeInfo": "수집하려는 정보를 설명하세요",
917
+ "describeInfoPlaceholder": "사용자의 이름, 이메일, 회사명을 수집하고 싶습니다...",
918
+ "describeInfoHelperEdit": "설명을 추가하고 재생성하거나, JSON 보기 탭에서 JSON을 직접 편집하세요",
919
+ "describeInfoHelper": "양식 필드를 일반 텍스트로 설명하세요",
920
+ "aiFormGeneration": "AI 기반 양식 생성",
921
+ "regenerateDescription": "새 설명으로 양식 구조 재생성",
922
+ "generateDescription": "설명에서 구조화된 양식 생성",
923
+ "errorNoDescription": "수집하려는 정보를 설명하세요",
924
+ "errorNoApiKey": "API 키가 없습니다. 1단계로 돌아가서 API 키를 입력하세요.",
925
+ "formSubmissionOptions": "양식 제출 옵션",
926
+ "sendToControlPlane": "Control Plane으로 전송",
927
+ "sendToControlPlaneHelper": "완료된 양식 제출을 대시보드에 저장하여 보기 및 내보내기",
928
+ "webhookUrl": "외부 웹훅 URL (선택 사항)",
929
+ "webhookUrlPlaceholder": "https://your-webhook-url.com/endpoint",
930
+ "webhookUrlHelper": "양식 데이터를 외부 웹훅(예: Zapier, Make, 사용자 지정 엔드포인트)으로도 전송",
931
+ "afterSubmitMessage": "제출 후 채팅 메시지",
932
+ "afterSubmitPlaceholder": "감사합니다! 시작해 봅시다...",
933
+ "afterSubmitHelper": "사용자가 양식을 제출한 후 표시되는 메시지",
934
+ "termsAndConditions": "이용 약관",
935
+ "termsPlaceholder": "여기에 이용 약관 텍스트를 입력하세요. 마크다운 형식을 지원합니다...",
936
+ "termsHelper": "제공된 경우, 필수 체크박스가 양식의 마지막 필드로 표시됩니다. 건너뛰려면 비워두세요.",
937
+ "termsInfo": "사용자는 \"이용 약관\" 링크를 클릭하여 동의하기 전에 팝업에서 전체 텍스트를 볼 수 있습니다.",
938
+ "jsonViewTip": "팁: 오른쪽의 \"JSON 보기\" 탭으로 전환하여 생성된 양식 구조를 편집하세요."
939
+ },
940
+ "triage": {
941
+ "addRoute": "챗봇 경로 추가",
942
+ "deleteRoute": "경로 삭제",
943
+ "deleteDestination": "목적지 삭제",
944
+ "selectedBotUrl": "선택된 봇 URL",
945
+ "editBotDestination": "봇 목적지 편집",
946
+ "editUrlDestination": "URL 목적지 편집",
947
+ "selectBot": "봇 선택",
948
+ "loadingBots": "봇 로딩 중...",
949
+ "noBotsAvailable": "사용 가능한 봇이 없습니다. 먼저 봇을 만드세요.",
950
+ "descriptionHelper": "사용자를 여기로 라우팅할 시점을 결정하기 위한 RAG 매칭에 사용됩니다",
951
+ "updateDestination": "목적지 업데이트"
952
+ },
953
+ "opticalRead": {
954
+ "addField": "추출 필드 추가",
955
+ "deleteField": "필드 삭제",
956
+ "label": "레이블",
957
+ "labelPlaceholder": "생년월일",
958
+ "labelRequired": "레이블은 필수입니다",
959
+ "idName": "ID 이름",
960
+ "idNamePlaceholder": "dob",
961
+ "idNameHelper": "extractedFields에 사용되는 snake_case 키",
962
+ "idNameRequired": "ID 이름은 필수입니다",
963
+ "idNameInvalid": "소문자, 숫자, 밑줄만 사용하세요",
964
+ "idNameDuplicate": "ID 이름은 고유해야 합니다",
965
+ "hint": "힌트",
966
+ "hintPlaceholder": "MM/DD/YYYY, 면허증 앞면",
967
+ "hintHelper": "선택 사항: 위치나 형식을 안내. 힌트는 핵심 튜닝 요소입니다.",
968
+ "noFieldsYet": "광학 판독을 활성화하려면 추출 필드를 하나 이상 추가하세요.",
969
+ "providerNotSupported": "광학 판독은 비전 지원 제공자가 필요합니다. Anthropic과 OpenAI가 지원됩니다.",
970
+ "intro": "추출하려는 슬롯의 이름을 지정하세요. 모델이 자체 시각적 사전 지식으로 이를 해석하며, 선택적 힌트가 위치나 형식을 안내합니다.",
971
+ "showUploadOnStart": "업로드 버튼을 시작 프롬프트로 표시",
972
+ "showUploadOnStartHelper": "봇의 첫 메시지 제안과 함께 업로드 카드를 렌더링합니다. 대화형 워밍업을 건너뛰고 사용자가 즉시 업로드할 수 있습니다.",
973
+ "afterSubmitMessage": "제출 후 채팅 메시지 (선택 사항)",
974
+ "afterSubmitMessagePlaceholder": "감사합니다! 정보를 받았습니다.",
975
+ "afterSubmitMessageHelper": "사용자가 추출된 필드를 제출한 후 채팅에 렌더링되는 봇 응답입니다. 건너뛰려면 비워두세요."
976
+ },
977
+ "appointments": {
978
+ "addAppointment": "예약 유형 추가",
979
+ "deleteAppointment": "예약 삭제",
980
+ "editCalendarProvider": "캘린더 제공자 편집",
981
+ "updateCalendarProvider": "캘린더 제공자 업데이트",
982
+ "calendarId": "캘린더 ID",
983
+ "calendarIdPlaceholder": "예: dr-smith-general",
984
+ "calendarIdHelper": "응답에서 calendarId로 반환되는 고유 식별자",
985
+ "calendarIdRequired": "캘린더 ID는 필수입니다",
986
+ "calendarIdExists": "이 캘린더 ID는 이미 존재합니다",
987
+ "providerName": "제공자 이름",
988
+ "providerNameRequired": "제공자 이름은 필수입니다",
989
+ "providerNameHelper": "캘린더 제공자 서비스",
990
+ "popupUrl": "팝업 URL",
991
+ "popupUrlPlaceholder": "https://calendly.com/dr-smith",
992
+ "popupUrlHelper": "사용자가 캘린더 버튼을 클릭할 때 실행되는 URL",
993
+ "popupUrlRequired": "팝업 URL은 필수입니다",
994
+ "popupUrlInvalid": "유효한 URL을 입력하세요",
995
+ "descriptionPlaceholder": "사용자가 이 캘린더 제공자로 예약해야 할 시점을 설명하세요...",
996
+ "descriptionRequired": "설명은 필수입니다",
997
+ "descriptionHelper": "어떤 캘린더를 표시할지 결정하는 RAG 매칭에 사용됩니다"
998
+ },
999
+ "deployment": {
1000
+ "inProgress": "배포 진행 중...",
1001
+ "testDeployment": "테스트 배포",
1002
+ "currentDeployment": "현재 배포",
1003
+ "testBotLive": "테스트 봇이 이 URL에서 실행 중입니다:",
1004
+ "botLive": "봇이 이 URL에서 실행 중입니다:",
1005
+ "testSuccess": "테스트 배포 성공!",
1006
+ "testSuccessMessage": "테스트 봇이 실행 중입니다. 오른쪽 미리 보기 패널에서 테스트할 수 있습니다.",
1007
+ "productionSuccess": "프로덕션 배포 성공!",
1008
+ "productionSuccessMessage": "봇이 프로덕션 사용 준비가 되었습니다.",
1009
+ "deployToProduction": "프로덕션에 배포",
1010
+ "viewDeployments": "봇 보기",
1011
+ "previewChanges": "변경 사항 미리 보기 (테스트)",
1012
+ "deployToTest": "테스트에 배포",
1013
+ "updateProduction": "프로덕션 봇 업데이트",
1014
+ "editMode": "편집 모드",
1015
+ "editModeMessage": "배포하면 변경 사항으로 기존 봇이 업데이트됩니다. 봇 URL은 동일하게 유지됩니다.",
1016
+ "configSummary": "구성 요약",
1017
+ "botName": "봇 이름:",
1018
+ "provider": "제공자:",
1019
+ "model": "모델:",
1020
+ "documents": "문서:",
1021
+ "formCollection": "양식 수집:",
1022
+ "uploaded": "업로드됨",
1023
+ "enabled": "활성화됨",
1024
+ "embeddings": "임베딩",
1025
+ "embeddingsChunks": "{count}개 청크",
1026
+ "editConfiguration": "구성 편집",
1027
+ "aboutDeployments": "배포 정보",
1028
+ "testDeploymentInfo": "테스트 배포: 테스트용 영구 URL을 생성합니다.",
1029
+ "productionDeploymentInfo": "프로덕션 배포: 공개적으로 접근 가능한 라이브 봇을 생성합니다.",
1030
+ "deploymentRegion": "배포 리전",
1031
+ "useOrgDefault": "조직 기본값 사용 ({region})",
1032
+ "regionHelp": "봇이 배포될 AWS 리전을 선택하세요. 이는 지연 시간과 데이터 거주지에 영향을 미칩니다.",
1033
+ "none": "없음",
1034
+ "saving": "저장 중…",
1035
+ "saveChanges": "변경 사항 저장",
1036
+ "saveConfiguration": "구성 저장",
1037
+ "saveFailed": "저장 실패",
1038
+ "saveErrorFallback": "구성 저장 실패",
1039
+ "buildFailed": "빌드 실패",
1040
+ "buildErrorFallback": "아티팩트 빌드 실패",
1041
+ "building": "빌드 중…",
1042
+ "buildArtifact": "아티팩트 빌드",
1043
+ "configurationSaved": "구성 저장됨",
1044
+ "configurationSavedDesc": "<mono>{name}</mono>으로 저장되었습니다. 준비되면 실행 가능한 ZIP을 빌드하세요.",
1045
+ "artifactReadyCached": "아티팩트 준비됨 (캐시됨)",
1046
+ "artifactBuilt": "아티팩트 빌드됨",
1047
+ "artifactReadyDesc": "봇 아티팩트 <mono>{name}</mono>이(가) 다운로드 준비되었습니다.",
1048
+ "downloadArtifact": "아티팩트 다운로드",
1049
+ "downloadArtifactWithDocs": "문서와 함께 다운로드",
1050
+ "previewHelp": "오른쪽 패널에서 봇을 실시간으로 사용해 보세요. 응답이 적절하다고 느껴지면 저장한 후 구성을 다운로드하세요. 준비되면 언제든지 실행 가능한 아티팩트를 빌드하세요."
1051
+ },
1052
+ "previews": {
1053
+ "identity": {
1054
+ "fallbackBotName": "봇",
1055
+ "fallbackPlaceholder": "메시지를 입력하세요...",
1056
+ "fallbackFirstMessage": "안녕하세요! 어떻게 도와드릴까요?",
1057
+ "minimize": "최소화",
1058
+ "minimizeChat": "채팅 최소화",
1059
+ "botMessage": "봇 메시지",
1060
+ "suggestedPrompts": "제안 프롬프트",
1061
+ "chatMessage": "채팅 메시지",
1062
+ "typeYourMessageAria": "메시지를 입력하세요",
1063
+ "sendMessage": "메시지 보내기"
1064
+ },
1065
+ "appointments": {
1066
+ "fallbackBotName": "예약 봇",
1067
+ "noProviders": "아직 캘린더 제공자가 구성되지 않았습니다",
1068
+ "noProvidersHint": "시작하려면 \"캘린더 제공자 추가\"를 클릭하세요",
1069
+ "userQuery": "사용자 질문",
1070
+ "calendarIconAlt": "캘린더 아이콘"
1071
+ },
1072
+ "triage": {
1073
+ "fallbackBotName": "분류 봇",
1074
+ "noRoutes": "아직 라우팅 목적지가 구성되지 않았습니다",
1075
+ "noRoutesHint": "시작하려면 \"라우팅 목적지 추가\"를 클릭하세요",
1076
+ "user": "사용자",
1077
+ "evaluatesAndRoutes": "평가 및 라우팅"
1078
+ },
1079
+ "opticalRead": {
1080
+ "noFields": "아직 추출 필드가 구성되지 않았습니다",
1081
+ "noFieldsHint": "시작하려면 \"추출 필드 추가\"를 클릭하세요",
1082
+ "clientPreviewLabel": "사용자가 보게 될 화면",
1083
+ "editButton": "편집",
1084
+ "sendButton": "보내기",
1085
+ "previewNote": "입력 필드는 추출 전까지 비활성화 상태로 렌더링됩니다. 사용자가 편집을 눌러 수정하고 보내기로 제출합니다."
1086
+ },
1087
+ "knowledge": {
1088
+ "unlinkTitle": "이 봇에서 연결 해제 (파일은 봇 스페이스에 남음)",
1089
+ "deleteTitle": "문서 영구 삭제",
1090
+ "deleteConfirm": "\"{name}\"을(를) 삭제하시겠습니까? 파일이 영구적으로 제거되며 되돌릴 수 없습니다.",
1091
+ "deleteError": "파일 삭제 실패",
1092
+ "uploadedDocuments": "업로드된 문서",
1093
+ "noUploadedDocs": "업로드된 문서 없음",
1094
+ "uploadDocsLeft": "왼쪽에서 문서를 업로드하세요",
1095
+ "linkedFromBotSpace": "봇 스페이스에서 연결됨",
1096
+ "noLinkedDocs": "연결된 문서 없음",
1097
+ "selectSharedFilesHint": "봇 스페이스에서 공유 파일을 선택하세요",
1098
+ "linkedTooltip": "업로드된 문서는 기본적으로 이 봇 스페이스의 일부가 됩니다",
1099
+ "linkedFooter": "연결된 문서는 이 봇에서 연결을 해제해도 봇 스페이스에 남아 있습니다.",
1100
+ "ragInfo": "이 문서들은 처리되어 RAG (검색 증강 생성)를 통해 봇 응답의 맥락을 제공하는 데 사용됩니다.",
1101
+ "fileCount": "{count}개 {count, plural, one {file} other {files}}",
1102
+ "untitled": "제목 없음",
1103
+ "unknown": "알 수 없음",
1104
+ "fileFallback": "파일",
1105
+ "embedding": {
1106
+ "title": "벡터 임베딩",
1107
+ "ready": "준비됨",
1108
+ "notGenerated": "생성되지 않음",
1109
+ "chunks": "청크",
1110
+ "model": "모델",
1111
+ "sourceDocuments": "출처 문서",
1112
+ "generated": "생성됨",
1113
+ "embeddedFiles": "임베딩된 파일",
1114
+ "technicalDetails": "기술 세부 정보",
1115
+ "noEmbeddingsYet": "아직 임베딩 없음",
1116
+ "uploadFirst": "먼저 문서 탭에서 문서를 업로드하세요.",
1117
+ "clickToGenerate": "아래를 클릭하여 문서를 청크로 나누고 로컬에서 임베딩하세요.",
1118
+ "generating": "생성 중…",
1119
+ "embeddingDocs": "문서 임베딩 중…",
1120
+ "regenerate": "임베딩 재생성",
1121
+ "generate": "벡터 임베딩 생성",
1122
+ "errorNoDocuments": "먼저 문서를 하나 이상 업로드하세요",
1123
+ "errorGenerationFailed": "임베딩 생성 실패",
1124
+ "doneStatus": "완료! {model}로 {count}개 청크 임베딩됨.",
1125
+ "regenWarning": "문서 세트를 변경한 경우, 아티팩트를 동기화 상태로 유지하려면 재생성하세요.",
1126
+ "vectorModeInfo": "벡터 모드에서는 봇이 번들된 multilingual-e5-small ONNX 모델을 사용해 인프로세스로 쿼리를 임베딩하고 코사인 유사도를 로컬에서 실행합니다. 런타임에 팩토리 의존성이 없습니다."
1127
+ }
1128
+ },
1129
+ "form": {
1130
+ "validate": "검증",
1131
+ "validateInput": "입력 검증",
1132
+ "selectOption": "옵션을 선택하세요...",
1133
+ "noStructure": "양식 구조가 생성되지 않음",
1134
+ "noStructureHint": "미리 보기를 보려면 양식을 생성하세요",
1135
+ "editJsonTitle": "양식 구조 편집 (JSON)",
1136
+ "openLargerView": "더 큰 보기로 열기",
1137
+ "expand": "확장",
1138
+ "generatedJsonLabel": "생성된 양식 구조 (JSON)",
1139
+ "validJson": "유효한 JSON",
1140
+ "invalidJson": "유효하지 않은 JSON",
1141
+ "jsonParseError": "JSON 파싱 오류:",
1142
+ "editJsonHelper": "이 JSON을 편집하여 양식 구조를 사용자 지정하세요. 변경 사항은 필드 표시 탭에 반영됩니다.",
1143
+ "branches": "분기",
1144
+ "requiredBadge": "필수",
1145
+ "piiBadge": "PII"
1146
+ },
1147
+ "bot": {
1148
+ "missingConfig": "미리 보기 봇을 시작하려면 1단계에서 제공자, 모델, API 키를 추가하세요.",
1149
+ "livePreview": "실시간 미리 보기",
1150
+ "resetPreview": "미리 보기 재설정",
1151
+ "iframeTitle": "봇 미리 보기",
1152
+ "skippedInPreview": "(미리 보기에서 건너뜀)",
1153
+ "webhookSideEffect": "웹훅이 {url}에 POST됩니다",
1154
+ "webhookNoUrl": "(URL 없음)",
1155
+ "submitFormSideEffect": "양식이 컨트롤 플레인으로 제출됩니다",
1156
+ "genericSideEffect": "미리 보기에서 부수 효과 건너뜀"
1157
+ }
1158
+ },
1159
+ "botSummary": {
1160
+ "title": "봇 요약",
1161
+ "whyFillThis": "왜 작성해야 할까요?",
1162
+ "tooltipLine1": "봇 요약은 네트워크의 다른 봇이 이 봇이 무엇을 하고 어떤 지식을 보유하고 있는지 이해하는 데 도움이 됩니다.",
1163
+ "tooltipLine2": "이는 더 스마트한 라우팅, 분류, 다중 봇 오케스트레이션을 가능하게 합니다.",
1164
+ "description": "네트워크에서 이 봇의 역할을 설명하세요.",
1165
+ "notSystemPrompt": "시스템 프롬프트가 아님",
1166
+ "placeholder": "이 봇이 하는 일과 보유한 지식을 설명하세요. 예: '가격 문서 및 FAQ에 접근하여 청구 문의를 처리합니다.'",
1167
+ "characters": "자",
1168
+ "optionalBadge": "선택 사항 - 네트워크에서 이 요약을 저장하고 사용하려면 배포하세요."
1169
+ }
1170
+ },
1171
+ "settings": {
1172
+ "title": "설정",
1173
+ "subtitle": "계정 설정 및 환경설정 관리",
1174
+ "tabs": {
1175
+ "apiKeys": "API 키",
1176
+ "account": "계정",
1177
+ "servicePlan": "서비스 플랜",
1178
+ "languages": "언어",
1179
+ "botSpaces": "봇 스페이스",
1180
+ "builderConfig": "빌더 구성",
1181
+ "region": "리전",
1182
+ "auditLogs": "감사 로그",
1183
+ "admin": "관리자"
1184
+ },
1185
+ "languages": {
1186
+ "title": "언어 환경설정",
1187
+ "description": "인터페이스의 기본 언어를 선택하세요",
1188
+ "preferredLanguage": "선호 언어",
1189
+ "languageHelper": "이 설정은 모든 세션에 적용됩니다",
1190
+ "saveLanguage": "언어 저장",
1191
+ "saveSuccess": "언어 환경설정이 성공적으로 저장되었습니다",
1192
+ "saveError": "언어 환경설정 저장 실패",
1193
+ "aboutTitle": "언어 설정 정보",
1194
+ "aboutItem1": "언어 환경설정은 계정에 저장됩니다",
1195
+ "aboutItem2": "변경 사항은 저장 후 적용됩니다",
1196
+ "aboutItem3": "일부 콘텐츠는 아직 번역되지 않았을 수 있습니다",
1197
+ "locales": {
1198
+ "en": "English",
1199
+ "es": "Spanish (Español)",
1200
+ "fr": "French (Français)",
1201
+ "de": "German (Deutsch)",
1202
+ "pt": "Portuguese (Português)",
1203
+ "ja": "Japanese (日本語)",
1204
+ "zh": "Chinese (中文)",
1205
+ "ko": "Korean (한국어)",
1206
+ "uk": "Ukrainian (Українська)",
1207
+ "ar": "Arabic (العربية)",
1208
+ "nl": "Dutch (Nederlands)",
1209
+ "sw": "Swahili (Kiswahili)"
1210
+ }
1211
+ },
1212
+ "region": {
1213
+ "title": "배포 리전",
1214
+ "description": "봇 배포의 기본 AWS 리전 구성",
1215
+ "currentRegion": "현재 기본 리전",
1216
+ "selectRegion": "기본 리전 선택",
1217
+ "regionHelp": "새 배포는 기본적으로 이 리전을 사용합니다. 사용자는 배포별로 이 설정을 재정의할 수 있습니다.",
1218
+ "saveSuccess": "기본 리전이 성공적으로 업데이트되었습니다",
1219
+ "unsavedChanges": "저장되지 않은 변경 사항이 있습니다",
1220
+ "infoTitle": "리전 설정 정보",
1221
+ "infoDescription": "배포 리전은 봇의 인프라가 실행되는 위치를 결정합니다. 사용자에게 더 가까운 리전을 선택하면 응답 시간이 개선될 수 있습니다. 개별 배포는 이 기본 설정을 재정의할 수 있습니다."
1222
+ },
1223
+ "account": {
1224
+ "title": "계정 정보",
1225
+ "emailAddress": "이메일 주소",
1226
+ "userId": "사용자 ID",
1227
+ "logout": "로그아웃",
1228
+ "loggingOut": "로그아웃 중...",
1229
+ "logoutConfirm": "정말로 로그아웃하시겠습니까?",
1230
+ "logoutNote": "계정에서 로그아웃됩니다",
1231
+ "dangerZone": "위험 영역",
1232
+ "deleteAccount": "계정 삭제",
1233
+ "deleteAdminWarning": "조직과만 연결된 봇, 봇 스페이스, 기여자 계정을 포함한 계정과 모든 관련 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.",
1234
+ "deleteUserWarning": "봇, 문서, API 키를 포함한 모든 개인 데이터와 계정을 영구적으로 삭제합니다. 봇 스페이스 멤버십이 제거됩니다. 이 작업은 되돌릴 수 없습니다."
1235
+ },
1236
+ "servicePlan": {
1237
+ "title": "서비스 플랜",
1238
+ "description": "현재 플랜, 사용량, 사용 가능한 기능 보기",
1239
+ "currentPlan": "현재 구독 플랜",
1240
+ "usage": "현재 사용량",
1241
+ "deployedBots": "배포된 봇",
1242
+ "botSpaces": "봇 스페이스",
1243
+ "users": "사용자",
1244
+ "includedFeatures": "포함된 기능",
1245
+ "allPlans": "사용 가능한 플랜",
1246
+ "current": "현재",
1247
+ "bots": "봇",
1248
+ "spaces": "스페이스",
1249
+ "usersLabel": "사용자",
1250
+ "organization": "조직",
1251
+ "needMore": "더 필요한가요?",
1252
+ "contactUs": "플랜 업그레이드 또는 맞춤형 엔터프라이즈 솔루션에 대해 논의하려면 문의하세요."
1253
+ },
1254
+ "apiKeys": {
1255
+ "title": "API 키",
1256
+ "description": "배포 전반에서 쉽게 재사용할 수 있도록 LLM 제공자 API 키 저장",
1257
+ "addKey": "+ API 키 추가",
1258
+ "addNewKey": "새 API 키 추가",
1259
+ "name": "이름",
1260
+ "namePlaceholder": "예: 내 OpenAI 키",
1261
+ "provider": "제공자",
1262
+ "apiKey": "API 키",
1263
+ "apiKeyPlaceholder": "API 키를 입력하세요",
1264
+ "saving": "저장 중...",
1265
+ "saveKey": "API 키 저장",
1266
+ "loading": "API 키 로딩 중...",
1267
+ "noKeys": "아직 저장된 API 키가 없습니다",
1268
+ "noKeysHint": "시작하려면 첫 번째 API 키를 추가하세요",
1269
+ "added": "{date}에 추가됨",
1270
+ "deleteConfirm": "이 API 키를 삭제하시겠습니까?",
1271
+ "saveSuccess": "API 키가 성공적으로 저장되었습니다",
1272
+ "deleteSuccess": "API 키가 성공적으로 삭제되었습니다",
1273
+ "loadError": "API 키 로드 실패",
1274
+ "saveError": "API 키 저장 실패",
1275
+ "deleteError": "API 키 삭제 실패",
1276
+ "nameAndKeyRequired": "이름과 API 키는 필수입니다",
1277
+ "awsRegion": "AWS 리전",
1278
+ "authentication": "인증",
1279
+ "useIamRole": "IAM 역할 사용",
1280
+ "useIamRoleHint": "Kubernetes 파드에 연결된 IAM 역할을 사용합니다 (프로덕션에 권장)",
1281
+ "useExplicitCredentials": "명시적 자격 증명 사용",
1282
+ "useExplicitCredentialsHint": "AWS 액세스 키와 시크릿 키를 직접 제공",
1283
+ "awsAccessKeyId": "AWS Access Key ID",
1284
+ "awsSecretAccessKey": "AWS Secret Access Key",
1285
+ "defaultBotConfig": {
1286
+ "title": "기본 봇 구성",
1287
+ "description": "빌더로 새 봇을 만들 때 기본값으로 사용할 API 키와 모델을 선택하세요.",
1288
+ "selectKey": "기본 API 키",
1289
+ "selectModel": "기본 모델",
1290
+ "noDefault": "기본값 없음 (자동 선택 사용)",
1291
+ "selectModelPlaceholder": "모델을 선택하세요",
1292
+ "selectKeyFirst": "사용 가능한 모델을 보려면 API 키를 선택하세요",
1293
+ "currentSelection": "현재 기본값",
1294
+ "noModel": "선택된 모델 없음",
1295
+ "save": "기본값 저장"
1296
+ }
1297
+ },
1298
+ "botSpaces": {
1299
+ "title": "봇 스페이스",
1300
+ "description": "챗봇을 스페이스로 구성하고 기여자 접근을 제어",
1301
+ "createSpace": "+ 봇 스페이스 만들기",
1302
+ "createNewSpace": "새 봇 스페이스 만들기",
1303
+ "name": "이름",
1304
+ "namePlaceholder": "예: customer-support",
1305
+ "nameHint": "문자, 숫자, 밑줄, 하이픈만 허용됩니다",
1306
+ "descriptionLabel": "설명",
1307
+ "descriptionPlaceholder": "이 봇 스페이스에 대한 선택적 설명",
1308
+ "creating": "생성 중...",
1309
+ "create": "봇 스페이스 만들기",
1310
+ "loading": "봇 스페이스 로딩 중...",
1311
+ "noSpaces": "아직 만들어진 봇 스페이스가 없습니다",
1312
+ "noSpacesHint": "챗봇을 정리할 첫 봇 스페이스를 만드세요",
1313
+ "botCount": "{count}개 봇",
1314
+ "created": "{date}에 생성됨",
1315
+ "invite": "초대",
1316
+ "manage": "관리",
1317
+ "deleteConfirm": "이 봇 스페이스를 삭제하시겠습니까? 내부의 모든 봇이 영구적으로 삭제됩니다.",
1318
+ "createSuccess": "봇 스페이스가 성공적으로 생성되었습니다",
1319
+ "deleteSuccess": "봇 스페이스가 성공적으로 삭제되었습니다",
1320
+ "loadError": "봇 스페이스 로드 실패",
1321
+ "createError": "봇 스페이스 생성 실패",
1322
+ "deleteError": "봇 스페이스 삭제 실패",
1323
+ "nameRequired": "이름은 필수입니다",
1324
+ "nameInvalid": "이름에는 문자, 숫자, 밑줄, 하이픈만 포함될 수 있습니다",
1325
+ "aboutTitle": "봇 스페이스 정보",
1326
+ "aboutItem1": "봇 스페이스를 사용하면 관련 챗봇을 함께 그룹화할 수 있습니다",
1327
+ "aboutItem2": "기여자에게 특정 스페이스에 대한 읽기 또는 쓰기 접근 권한을 부여하세요",
1328
+ "aboutItem3": "관리자는 조직의 모든 봇 스페이스에 대한 전체 접근 권한이 있습니다",
1329
+ "invitationSent": "초대장이 성공적으로 전송되었습니다"
1330
+ },
1331
+ "auditLogs": {
1332
+ "title": "감사 로그",
1333
+ "description": "조직에서 수행된 모든 작업 보기",
1334
+ "exportCsv": "CSV 내보내기",
1335
+ "exportJson": "JSON 내보내기",
1336
+ "loadError": "감사 로그 로드 실패",
1337
+ "externalIntegration": "외부 통합",
1338
+ "webhookDescription": "웹훅을 통해 외부 SIEM 또는 로깅 서비스로 감사 로그 전송",
1339
+ "webhookUrl": "웹훅 URL",
1340
+ "webhookUrlPlaceholder": "https://your-siem.example.com/webhook",
1341
+ "enableWebhook": "웹훅 활성화",
1342
+ "hmacEnabled": "HMAC 서명 활성화됨",
1343
+ "webhookSecretWarning": "웹훅 시크릿 (지금 복사하세요 - 다시 표시되지 않습니다)",
1344
+ "saveSettings": "설정 저장",
1345
+ "testWebhook": "웹훅 테스트",
1346
+ "regenerateSecret": "시크릿 재생성",
1347
+ "regenerateConfirm": "웹훅 시크릿을 재생성하시겠습니까? 수신 엔드포인트를 업데이트해야 합니다.",
1348
+ "webhookSaved": "웹훅 설정이 저장되었습니다",
1349
+ "secretRegenerated": "새 시크릿이 생성되었습니다",
1350
+ "testSuccess": "테스트 웹훅이 성공적으로 전송되었습니다",
1351
+ "saveError": "웹훅 설정 저장 실패",
1352
+ "testError": "웹훅 테스트 실패",
1353
+ "regenerateError": "시크릿 재생성 실패",
1354
+ "payloadFormat": "웹훅 페이로드 형식",
1355
+ "payloadDescription": "각 감사 이벤트는 다음 헤더와 함께 POST 요청으로 전송됩니다:",
1356
+ "headerEvent": "X-Audit-Event: event_type",
1357
+ "headerTimestamp": "X-Audit-Timestamp: ISO timestamp",
1358
+ "headerSignature": "X-Audit-Signature: sha256=hmac (시크릿이 구성된 경우)"
1359
+ },
1360
+ "admin": {
1361
+ "title": "관리자 대시보드",
1362
+ "description": "사용자 관리 및 시스템 전반의 정보 보기",
1363
+ "allUsers": "모든 사용자",
1364
+ "loadingUsers": "사용자 로딩 중...",
1365
+ "noUsers": "사용자를 찾을 수 없습니다",
1366
+ "loadError": "사용자 로드 실패",
1367
+ "tableHeaders": {
1368
+ "name": "이름",
1369
+ "email": "이메일",
1370
+ "organization": "조직",
1371
+ "role": "역할",
1372
+ "created": "생성됨"
1373
+ },
1374
+ "you": "본인",
1375
+ "stats": {
1376
+ "totalUsers": "전체 사용자",
1377
+ "admins": "관리자",
1378
+ "contributors": "기여자"
1379
+ }
1380
+ },
1381
+ "builderConfig": {
1382
+ "title": "빌더 구성",
1383
+ "description": "봇 빌더를 구동하는 AI 모델을 구성하고 봇 생성 기본값 설정",
1384
+ "builderTitle": "빌더 모델 드라이버",
1385
+ "builderDescription": "봇 빌더 인터페이스를 구동하는 AI 모델을 선택하세요. 이 모델은 대화와 도구 실행을 처리합니다.",
1386
+ "defaultBotTitle": "봇 생성 기본 모델",
1387
+ "defaultBotDescription": "빌더로 새 봇을 만들 때 이 설정이 미리 선택됩니다. 배포 중에 사용자가 재정의할 수 있습니다.",
1388
+ "provider": "제공자",
1389
+ "apiKey": "API 키",
1390
+ "model": "모델",
1391
+ "selectProvider": "제공자 선택...",
1392
+ "selectKey": "API 키 선택...",
1393
+ "selectModel": "모델 선택...",
1394
+ "noKeysForProvider": "이 제공자에 대해 저장된 API 키가 없습니다. API 키 탭에서 추가하세요.",
1395
+ "useSameAsBuilder": "빌더와 동일한 설정 사용",
1396
+ "saveConfig": "구성 저장",
1397
+ "saveSuccess": "빌더 구성이 성공적으로 저장되었습니다",
1398
+ "saveError": "빌더 구성 저장 실패",
1399
+ "aboutTitle": "빌더 구성 정보",
1400
+ "aboutItem1": "빌더 모델은 대화형 봇 생성 인터페이스를 처리합니다",
1401
+ "aboutItem2": "빌더를 통해 배포할 때 기본 봇 설정이 미리 선택됩니다",
1402
+ "aboutItem3": "도구 사용은 Claude, GPT, Gemini 등에서 지원됩니다",
1403
+ "displaySettings": {
1404
+ "title": "디스플레이 설정",
1405
+ "description": "Modulo 어시스턴트가 인터페이스에 표시되는 방식 구성",
1406
+ "disableAnimation": "헬퍼 애니메이션 비활성화",
1407
+ "disableAnimationHint": "애니메이션 헬퍼 대신 정적 아이콘으로 Modulo를 표시합니다"
1408
+ }
1409
+ },
1410
+ "mojulo": {
1411
+ "title": "설정",
1412
+ "subtitle": "봇을 구동하는 API 키와 봇 배포에 사용되는 클라우드 자격 증명 구성.",
1413
+ "noKeyGate": "빌더를 실행하려면 LLM 제공자 키가 필요합니다. LLM 키 탭에서 추가한 후 다시 돌아오세요.",
1414
+ "tabs": {
1415
+ "llm": "LLM 키",
1416
+ "provider": "제공자 키",
1417
+ "language": "언어 설정"
1418
+ },
1419
+ "form": {
1420
+ "addKey": "키 추가",
1421
+ "name": "표시 이름",
1422
+ "provider": "제공자",
1423
+ "apiKey": "API 키",
1424
+ "ollamaHost": "호스트 URL",
1425
+ "makeDefault": "이 키를 기본값으로 설정",
1426
+ "ollamaNoDefault": "Ollama는 기본값으로 설정할 수 없습니다 — 챗 빌더에는 클라우드 제공자가 필요합니다.",
1427
+ "saving": "저장 중…",
1428
+ "save": "키 저장",
1429
+ "saveError": "저장 실패"
1430
+ },
1431
+ "list": {
1432
+ "title": "저장된 키",
1433
+ "loading": "로딩 중…",
1434
+ "empty": "아직 키가 없습니다.",
1435
+ "defaultBadge": "기본값",
1436
+ "makeDefault": "기본값으로 설정",
1437
+ "delete": "삭제"
1438
+ },
1439
+ "llm": {
1440
+ "title": "LLM 키",
1441
+ "description": "봇 빌더를 구동하고 컴파일하는 모든 봇에 내장됩니다.",
1442
+ "defaultName": "기본값",
1443
+ "placeholder": "sk-…",
1444
+ "bedrockPlaceholder": "{\"region\":\"us-east-1\",\"accessKeyId\":\"…\",\"secretAccessKey\":\"…\"}",
1445
+ "ollamaPlaceholder": "http://localhost:11434",
1446
+ "providers": {
1447
+ "anthropic": "Anthropic",
1448
+ "openai": "OpenAI",
1449
+ "bedrock": "AWS Bedrock (JSON 자격 증명 붙여넣기)",
1450
+ "ollama": "Ollama (로컬 — 호스트 URL 붙여넣기)"
1451
+ }
1452
+ },
1453
+ "provider": {
1454
+ "title": "제공자 키",
1455
+ "description": "클라우드 호스트 자격 증명. 컨트롤 플레인에서 클라우드 제공자로 봇을 배포할 때 사용됩니다.",
1456
+ "defaultName": "Fly.io",
1457
+ "placeholder": "fo1_…",
1458
+ "providers": {
1459
+ "fly": "Fly.io"
1460
+ }
1461
+ },
1462
+ "language": {
1463
+ "title": "언어 설정",
1464
+ "description": "컨트롤 플레인 인터페이스에서 사용되는 언어를 선택하세요.",
1465
+ "label": "인터페이스 언어"
1466
+ }
1467
+ }
1468
+ },
1469
+ "deployments": {
1470
+ "title": "배포",
1471
+ "loading": "배포 로딩 중...",
1472
+ "empty": "이 봇 스페이스에 배포가 없습니다",
1473
+ "columns": {
1474
+ "botName": "봇 이름",
1475
+ "status": "상태",
1476
+ "deployed": "배포됨",
1477
+ "by": "작성자"
1478
+ },
1479
+ "history": {
1480
+ "title": "배포 기록",
1481
+ "noHistory": "아직 배포 기록이 없습니다",
1482
+ "historyWillAppear": "다음 배포 후 기록이 표시됩니다",
1483
+ "event": "이벤트",
1484
+ "status": "상태",
1485
+ "date": "날짜",
1486
+ "by": "작성자",
1487
+ "config": "구성"
1488
+ },
1489
+ "embed": {
1490
+ "title": "임베드 스크립트",
1491
+ "description": "웹사이트에 챗봇을 임베드하려면 이 스크립트를 복사하세요:"
1492
+ },
1493
+ "confirmDelete": "\"{name}\"을(를) 삭제하시겠습니까? 배포가 제거되며 되돌릴 수 없습니다."
1494
+ },
1495
+ "cloudDeploy": {
1496
+ "title": "클라우드에 배포",
1497
+ "backToDashboard": "← 대시보드로 돌아가기",
1498
+ "loading": "로딩 중…",
1499
+ "botLabel": "봇:",
1500
+ "protocolsLabel": "프로토콜: {protocols}",
1501
+ "statusPills": {
1502
+ "pending": "대기 중",
1503
+ "deploying": "배포 중",
1504
+ "running": "실행 중",
1505
+ "paused": "일시 중지됨",
1506
+ "failed": "실패",
1507
+ "destroyed": "제거됨"
1508
+ },
1509
+ "artifact": {
1510
+ "title": "최신 아티팩트",
1511
+ "status": "상태",
1512
+ "configHash": "구성 해시",
1513
+ "lastBuiltHash": "마지막 빌드 해시",
1514
+ "artifactPath": "아티팩트 경로",
1515
+ "notBuiltYet": "— (아직 빌드되지 않음)",
1516
+ "staleWarning": "마지막 빌드 이후 구성이 변경되었습니다. 클라우드 배포가 자동으로 재빌드하거나 지금 재빌드할 수 있습니다.",
1517
+ "missingWarning": "아직 아티팩트가 없습니다. 클라우드 배포가 자동으로 빌드하거나 지금 빌드하여 미리 볼 수 있습니다.",
1518
+ "buildZip": "ZIP 빌드",
1519
+ "rebuildZip": "ZIP 재빌드",
1520
+ "downloadZip": ".zip 다운로드"
1521
+ },
1522
+ "provider": {
1523
+ "title": "제공자",
1524
+ "fly": {
1525
+ "name": "Fly.io",
1526
+ "description": "단일 리전 머신 + 영구 볼륨"
1527
+ }
1528
+ },
1529
+ "fly": {
1530
+ "title": "Fly.io 옵션",
1531
+ "region": "리전",
1532
+ "regionHint": "3자 Fly 리전 코드 (iad, sjc, lhr, nrt 등)",
1533
+ "volumeSize": "볼륨 크기 (GB)",
1534
+ "volumeHint": "SQLite용 영구 저장소 (대부분의 봇에 1GB면 충분)",
1535
+ "cpuCount": "CPU 수",
1536
+ "cpuHint": "공유 CPU",
1537
+ "memory": "메모리 (MB)",
1538
+ "memoryHint": "1024 MB 권장",
1539
+ "tokenNote": "컨트롤 플레인 환경의 <mono>FLY_API_TOKEN</mono>을 사용합니다. 본인 계정, 본인 청구.",
1540
+ "deploy": "배포",
1541
+ "redeploy": "재배포",
1542
+ "deploying": "배포 중…"
1543
+ },
1544
+ "status": {
1545
+ "title": "상태",
1546
+ "provider": "제공자",
1547
+ "appName": "앱 이름",
1548
+ "url": "URL",
1549
+ "region": "리전",
1550
+ "lastDeployed": "마지막 배포",
1551
+ "errorPrefix": "오류: {error}",
1552
+ "destroy": "제거"
1553
+ },
1554
+ "errors": {
1555
+ "deployFailed": "배포 실패 ({status})",
1556
+ "destroyFailed": "제거 실패 ({status})",
1557
+ "buildFailed": "빌드 실패 ({status})"
1558
+ },
1559
+ "confirmDestroy": "클라우드 앱, 머신, 볼륨을 제거하시겠습니까? 볼륨의 대화 데이터가 영구적으로 삭제됩니다."
1560
+ },
1561
+ "analytics": {
1562
+ "title": "분석",
1563
+ "loading": "분석 로딩 중...",
1564
+ "loadingConversations": "대화 분석 로딩 중...",
1565
+ "analyzingQuestions": "사용자 질문 분석 중...",
1566
+ "failedToLoad": "배포 로드 실패",
1567
+ "failedToLoadAnalytics": "분석 데이터 로드 실패",
1568
+ "chatbotMetrics": "챗봇 지표",
1569
+ "conversationAnalytics": "대화 분석",
1570
+ "topQuestions": "상위 사용자 질문 및 주제",
1571
+ "metrics": {
1572
+ "age": "기간",
1573
+ "uptime": "가동 시간",
1574
+ "documents": "문서",
1575
+ "lastUpdated": "마지막 업데이트",
1576
+ "totalConversations": "전체 대화",
1577
+ "totalMessages": "전체 메시지",
1578
+ "formStarts": "양식 시작",
1579
+ "formCompletes": "양식 완료",
1580
+ "completionRate": "완료율 {rate}%",
1581
+ "avgMessagesPerConv": "대화당 평균 메시지"
1582
+ },
1583
+ "badges": {
1584
+ "formCollection": "양식 수집",
1585
+ "live": "라이브"
1586
+ },
1587
+ "searchTerms": {
1588
+ "longPhrases": "긴 문구",
1589
+ "phrases": "문구",
1590
+ "words": "단어",
1591
+ "analyzed": "{count}개 사용자 메시지 분석됨",
1592
+ "noData": "아직 사용 가능한 대화 데이터가 없습니다",
1593
+ "noDataHint": "사용자가 챗봇과 상호 작용한 후 여기에 데이터가 표시됩니다"
1594
+ },
1595
+ "uptime": {
1596
+ "inProgress": "진행 중...",
1597
+ "failed": "실패",
1598
+ "notAvailable": "N/A"
1599
+ }
1600
+ },
1601
+ "conversations": {
1602
+ "title": "대화",
1603
+ "totalConversations": "전체 {count}건의 대화",
1604
+ "total": "전체 {count}",
1605
+ "dashboardLink": "← 대시보드",
1606
+ "backToDashboard": "← 대시보드로 돌아가기",
1607
+ "tabs": {
1608
+ "conversations": "대화",
1609
+ "storage": "저장소"
1610
+ },
1611
+ "unreachable": {
1612
+ "title": "봇에 도달할 수 없음",
1613
+ "message": "컨트롤 플레인이 이 봇에 도달할 수 없습니다. 봇이 중지되었거나 URL 또는 API 키가 변경되었을 수 있습니다. 대화를 보려면 대시보드에서 재연결하세요.",
1614
+ "reconnect": "재연결"
1615
+ },
1616
+ "search": {
1617
+ "dataSource": "데이터 소스",
1618
+ "conversationId": "대화 ID",
1619
+ "partialId": "부분 ID...",
1620
+ "partialIdShort": "부분 ID",
1621
+ "from": "시작",
1622
+ "to": "종료",
1623
+ "search": "검색",
1624
+ "searching": "검색 중...",
1625
+ "last24h": "지난 24시간",
1626
+ "last7days": "지난 7일",
1627
+ "clear": "지우기",
1628
+ "resultsFound": "{count}건의 결과 발견됨",
1629
+ "resultsFoundPlural": "{count}건의 결과 발견됨",
1630
+ "result": "{count}건의 결과",
1631
+ "results": "{count}건의 결과",
1632
+ "noMatch": "검색과 일치하는 대화가 없습니다",
1633
+ "noMatchShort": "일치하는 대화가 없습니다.",
1634
+ "searchToFind": "대화를 찾으려면 검색하세요",
1635
+ "searchByIdOrDate": "ID 또는 날짜로 검색하여 대화를 찾으세요.",
1636
+ "useIdOrDate": "대화 ID, 날짜 범위 또는 둘 다 사용"
1637
+ },
1638
+ "timeAgo": {
1639
+ "days": "{count}일 전",
1640
+ "hours": "{count}시간 전",
1641
+ "minutes": "{count}분 전"
1642
+ },
1643
+ "detail": {
1644
+ "started": "시작:",
1645
+ "startedAt": "{timestamp}에 시작됨",
1646
+ "turns": "{count}턴",
1647
+ "last": "마지막:",
1648
+ "lastAt": "마지막 {timestamp}",
1649
+ "turn": "턴 {number}",
1650
+ "user": "사용자",
1651
+ "assistant": "어시스턴트",
1652
+ "ragContext": "RAG 컨텍스트",
1653
+ "ragContextShort": "RAG 컨텍스트",
1654
+ "verifyChain": "체인 검증",
1655
+ "showMetadata": "출처 및 메타데이터 표시",
1656
+ "showMetadataShort": "메타데이터 표시",
1657
+ "selectConversation": "메시지를 보려면 대화를 선택하세요",
1658
+ "selectConversationShort": "턴을 보려면 대화를 선택하세요.",
1659
+ "loadingMessages": "메시지 로딩 중...",
1660
+ "loading": "로딩 중…"
1661
+ },
1662
+ "storage": {
1663
+ "loading": "저장소 정보 로딩 중...",
1664
+ "loadingShort": "로딩 중…",
1665
+ "volumeCapacity": "볼륨 용량",
1666
+ "volumeCapacityShort": "볼륨 용량",
1667
+ "used": "전체 {total} 중 {used} 사용",
1668
+ "usedOfTotal": "전체 {total} 중 {used}",
1669
+ "available": "{amount} 사용 가능",
1670
+ "statsConversations": "대화",
1671
+ "statsTurns": "전체 턴",
1672
+ "statsTurnsShort": "턴",
1673
+ "statsDbSize": "데이터베이스 크기",
1674
+ "statsDbSizeShort": "DB 크기",
1675
+ "autoExtendPolicy": "자동 확장 정책",
1676
+ "autoExtendDescription": "볼륨은 {threshold}% 용량에서 자동 확장되며, 확장당 {increment}GB씩 추가되어 최대 {limit}GB까지 확장됩니다.",
1677
+ "exportTitle": "대화 내보내기",
1678
+ "exportTitleShort": "내보내기",
1679
+ "exportDescription": "모든 대화를 JSON 파일로 다운로드합니다.",
1680
+ "exportDescriptionShort": "이 봇의 모든 대화를 JSON으로 다운로드합니다.",
1681
+ "exportButton": "모든 대화 내보내기 (JSON)",
1682
+ "exportButtonShort": "JSON 내보내기",
1683
+ "exporting": "내보내는 중...",
1684
+ "refresh": "저장소 정보 새로 고침",
1685
+ "retry": "재시도"
1686
+ },
1687
+ "loadMore": "더 불러오기",
1688
+ "loadingMore": "로딩 중…",
1689
+ "errors": {
1690
+ "fetchConversations": "대화를 가져오지 못했습니다",
1691
+ "fetchDetails": "대화 세부 정보를 가져오지 못했습니다",
1692
+ "fetchStorage": "저장소 정보를 가져오지 못했습니다",
1693
+ "exportFailed": "대화 내보내기 실패",
1694
+ "close": "닫기"
1695
+ }
1696
+ },
1697
+ "submissions": {
1698
+ "title": "양식 제출",
1699
+ "description": "{botName}에서 수집된 양식 제출 보기",
1700
+ "total": "(전체 {count}건)",
1701
+ "dashboardLink": "← 대시보드",
1702
+ "backToDashboard": "← 대시보드로 돌아가기",
1703
+ "unreachable": {
1704
+ "title": "봇에 도달할 수 없음",
1705
+ "message": "컨트롤 플레인이 이 봇에 도달할 수 없습니다. 봇이 중지되었거나 URL 또는 API 키가 변경되었을 수 있습니다. 제출을 보려면 대시보드에서 재연결하세요.",
1706
+ "reconnect": "재연결"
1707
+ },
1708
+ "search": {
1709
+ "last24h": "지난 24시간",
1710
+ "last7days": "지난 7일",
1711
+ "last30days": "지난 30일",
1712
+ "from": "시작",
1713
+ "to": "종료",
1714
+ "search": "검색",
1715
+ "searching": "검색 중...",
1716
+ "export": "CSV 내보내기"
1717
+ },
1718
+ "list": {
1719
+ "title": "제출",
1720
+ "shown": "({count}건 표시)",
1721
+ "loading": "로딩 중...",
1722
+ "noSubmissions": "이 기간에 제출이 없습니다.",
1723
+ "searchToView": "제출을 보려면 검색하세요.",
1724
+ "fields": "{count}개 필드"
1725
+ },
1726
+ "detail": {
1727
+ "title": "제출 세부 정보",
1728
+ "conversationId": "대화 ID:",
1729
+ "submitted": "제출됨:",
1730
+ "formData": "양식 데이터",
1731
+ "field": "필드",
1732
+ "value": "값",
1733
+ "metadata": "메타데이터",
1734
+ "selectSubmission": "세부 정보를 보려면 제출을 선택하세요"
1735
+ }
1736
+ },
1737
+ "logs": {
1738
+ "title": "실시간 로그",
1739
+ "refresh": "로그 새로 고침",
1740
+ "refreshing": "새로 고치는 중...",
1741
+ "loading": "로그 로딩 중...",
1742
+ "search": {
1743
+ "label": "로그 검색",
1744
+ "placeholder": "메시지, 레벨, 인스턴스 검색..."
1745
+ },
1746
+ "lineCount": {
1747
+ "label": "표시할 줄 수",
1748
+ "lines": "{count}줄"
1749
+ },
1750
+ "autoRefresh": {
1751
+ "label": "자동 새로 고침",
1752
+ "every10s": "10초마다 새로 고침"
1753
+ },
1754
+ "noLogs": "사용 가능한 로그가 없습니다",
1755
+ "noMatch": "검색과 일치하는 로그가 없습니다",
1756
+ "showing": "전체 {total}개 로그 항목 중 {filtered}개 표시",
1757
+ "filteredBy": "(\"{query}\"로 필터링됨)"
1758
+ },
1759
+ "accessLevels": {
1760
+ "owner": "소유자",
1761
+ "admin": "관리자",
1762
+ "write": "쓰기",
1763
+ "read": "읽기"
1764
+ },
1765
+ "errors": {
1766
+ "generic": "오류가 발생했습니다. 다시 시도하세요.",
1767
+ "failedToFetch": "데이터를 가져오지 못했습니다",
1768
+ "failedToLoad": "로드 실패",
1769
+ "failedToSave": "저장 실패",
1770
+ "failedToDelete": "배포 삭제 실패",
1771
+ "failedToAssign": "봇 스페이스 할당 실패",
1772
+ "notFound": "찾을 수 없음",
1773
+ "error": "오류"
1774
+ },
1775
+ "deleteAccount": {
1776
+ "title": "계정 삭제",
1777
+ "loadingInfo": "계정 정보 로딩 중...",
1778
+ "permanentWarning": "이 작업은 영구적이며 되돌릴 수 없습니다.",
1779
+ "willBeDeleted": "다음 항목이 영구적으로 삭제됩니다:",
1780
+ "deployments": "배포 (봇)",
1781
+ "documents": "문서",
1782
+ "apiKeys": "API 키",
1783
+ "botSpaces": "봇 스페이스",
1784
+ "contributorsToDelete": "삭제될 기여자 계정",
1785
+ "contributorsNote": "이 기여자들은 조직의 봇 스페이스 멤버일 뿐입니다.",
1786
+ "organization": "조직",
1787
+ "adminDeleteNote": "관리자로서 계정을 삭제하면 조직 데이터와 조직과만 연결된 기여자 계정도 모두 삭제됩니다.",
1788
+ "userDeleteNote": "봇 스페이스 멤버십은 제거되지만, 봇 스페이스와 다른 사용자는 영향을 받지 않습니다.",
1789
+ "continue": "계속",
1790
+ "confirmPrompt": "삭제를 확인하려면 이메일 주소를 입력하세요:",
1791
+ "confirmEmail": "이메일 확인",
1792
+ "emailPlaceholder": "확인하려면 이메일을 입력하세요",
1793
+ "deleting": "삭제 중...",
1794
+ "deleteMyAccount": "내 계정 삭제",
1795
+ "errors": {
1796
+ "loadFailed": "계정 정보 로드 실패",
1797
+ "loadError": "계정 정보 로드 오류",
1798
+ "emailMismatch": "확인하려면 이메일 주소를 정확히 입력하세요",
1799
+ "deleteFailed": "계정 삭제 실패",
1800
+ "deleteError": "계정 삭제 오류"
1801
+ }
1802
+ },
1803
+ "botSpaceInvite": {
1804
+ "title": "{spaceName}에 초대",
1805
+ "description": "이 봇 스페이스에서 협업하도록 초대장을 보내세요. 참여 링크가 포함된 이메일을 받게 됩니다.",
1806
+ "emailLabel": "이메일 주소",
1807
+ "emailPlaceholder": "colleague@company.com",
1808
+ "accessLabel": "접근 수준",
1809
+ "accessRead": "읽기 - 이 스페이스의 봇을 볼 수 있음",
1810
+ "accessWrite": "쓰기 - 봇을 생성하고 편집할 수 있음",
1811
+ "accessAdmin": "관리자 - 다른 사람 초대를 포함한 전체 접근",
1812
+ "accessNote": "초대된 사용자는 조직의 기여자로 참여합니다.",
1813
+ "sending": "전송 중...",
1814
+ "sendInvitation": "초대장 보내기",
1815
+ "errors": {
1816
+ "sendFailed": "초대장 전송 실패"
1817
+ }
1818
+ },
1819
+ "auditLogTable": {
1820
+ "loading": "감사 로그 로딩 중...",
1821
+ "noLogs": "감사 로그를 찾을 수 없습니다",
1822
+ "noLogsHint": "작업이 수행되면 여기에 로그가 표시됩니다",
1823
+ "headers": {
1824
+ "time": "시간",
1825
+ "event": "이벤트",
1826
+ "actor": "행위자",
1827
+ "resource": "리소스",
1828
+ "outcome": "결과"
1829
+ },
1830
+ "events": {
1831
+ "authLoginSuccess": "로그인",
1832
+ "authLoginFailure": "로그인 실패",
1833
+ "authLogout": "로그아웃",
1834
+ "authSignup": "가입",
1835
+ "deploymentCreate": "배포 생성됨",
1836
+ "deploymentRedeploy": "재배포됨",
1837
+ "deploymentDelete": "배포 삭제됨",
1838
+ "botSpaceCreate": "스페이스 생성됨",
1839
+ "botSpaceDelete": "스페이스 삭제됨",
1840
+ "botSpaceMemberAdd": "멤버 추가됨",
1841
+ "botSpaceMemberRemove": "멤버 제거됨",
1842
+ "documentUpload": "문서 업로드됨",
1843
+ "documentDelete": "문서 삭제됨",
1844
+ "apiKeyCreate": "API 키 생성됨",
1845
+ "apiKeyDelete": "API 키 삭제됨",
1846
+ "userInvite": "사용자 초대됨",
1847
+ "userInviteAccept": "초대 수락됨",
1848
+ "auditWebhookUpdate": "웹훅 업데이트됨",
1849
+ "auditLogsExport": "로그 내보내짐"
1850
+ },
1851
+ "outcomes": {
1852
+ "success": "성공",
1853
+ "failure": "실패",
1854
+ "denied": "거부됨"
1855
+ },
1856
+ "details": {
1857
+ "timestamp": "전체 타임스탬프",
1858
+ "requestId": "요청 ID",
1859
+ "ipAddress": "IP 주소",
1860
+ "userAgent": "User Agent",
1861
+ "resource": "리소스",
1862
+ "metadata": "메타데이터"
1863
+ },
1864
+ "showing": "전체 {total}개 로그 중 {shown}개 표시",
1865
+ "loadMore": "더 불러오기"
1866
+ },
1867
+ "auditLogFilters": {
1868
+ "eventTypes": {
1869
+ "allEvents": "모든 이벤트",
1870
+ "authentication": "인증",
1871
+ "deployments": "배포",
1872
+ "botSpaces": "봇 스페이스",
1873
+ "documents": "문서",
1874
+ "apiKeys": "API 키",
1875
+ "usersInvites": "사용자 및 초대",
1876
+ "conversations": "대화",
1877
+ "settings": "설정",
1878
+ "auditSystem": "감사 시스템"
1879
+ },
1880
+ "outcomes": {
1881
+ "all": "전체",
1882
+ "success": "성공",
1883
+ "failure": "실패",
1884
+ "denied": "거부됨"
1885
+ },
1886
+ "dateRange": "날짜 범위",
1887
+ "from": "시작",
1888
+ "to": "종료",
1889
+ "clear": "지우기"
1890
+ },
1891
+ "data": {
1892
+ "navLabel": "데이터",
1893
+ "title": "플릿 데이터",
1894
+ "subtitle": "연결된 모든 봇의 대화 활동을 탐색하고 집계하세요. 대화 내용은 봇에 그대로 남아 있으며, 집계 횟수만 프로세스 내에서 병합됩니다.",
1895
+ "loading": "로딩 중…",
1896
+ "tabs": {
1897
+ "explorer": "탐색기",
1898
+ "sql": "SQL",
1899
+ "analytics": "분석"
1900
+ },
1901
+ "fleet": {
1902
+ "unreachableBanner": "{total}개 봇 중 {unreachable}개에 연결할 수 없습니다 — 결과가 일부만 표시될 수 있습니다."
1903
+ },
1904
+ "explorer": {
1905
+ "filters": {
1906
+ "conversationId": "대화 ID 포함",
1907
+ "startDate": "시작일 이후",
1908
+ "endDate": "시작일 이전"
1909
+ },
1910
+ "search": "검색",
1911
+ "searching": "검색 중…",
1912
+ "clear": "지우기",
1913
+ "hint": "대화 ID 일부나 날짜 범위를 입력하면 연결된 모든 봇에 검색을 분산 실행합니다.",
1914
+ "pagination": {
1915
+ "showing": "전체 {total}개 중 {start} – {end} 표시",
1916
+ "previous": "이전",
1917
+ "next": "다음",
1918
+ "truncatedNotice": "결과는 플릿 전체에서 최초 500개 대화로 제한됩니다. 이전 결과를 보려면 날짜 범위를 좁히세요."
1919
+ },
1920
+ "noConversations": "필터 조건에 맞는 대화가 없습니다."
1921
+ },
1922
+ "sql": {
1923
+ "placeholder": "SELECT bot_name, conversations_7d FROM bot_health ORDER BY conversations_7d DESC",
1924
+ "runQuery": "쿼리 실행",
1925
+ "running": "실행 중…",
1926
+ "exportCsv": "CSV 내보내기",
1927
+ "exportJson": "JSON 내보내기",
1928
+ "keyboardHint": "Cmd/Ctrl + Enter를 눌러 실행",
1929
+ "rowCount": "{count}행",
1930
+ "truncated": "(10,000개로 잘림)",
1931
+ "noResults": "행 없음",
1932
+ "help": "시작 쿼리",
1933
+ "starterQueries": {
1934
+ "title": "시작 쿼리",
1935
+ "hint": "각 쿼리는 요청마다 각 봇의 분석 엔드포인트에서 조립한 인메모리 롤업 테이블을 읽습니다. 클릭하여 불러오세요.",
1936
+ "dailyStats": "플릿 전체 일일 대화 통계",
1937
+ "botHealth": "봇 상태 (지난 7일)",
1938
+ "protocolDistribution": "프로토콜 사용 분포",
1939
+ "mostActiveBots": "이번 주 가장 활발한 봇",
1940
+ "staleBots": "지난 24시간 동안 보이지 않은 봇",
1941
+ "dailyByBot": "봇 이름과 결합한 일일 활동"
1942
+ }
1943
+ },
1944
+ "schema": {
1945
+ "availableTables": "스키마 참조",
1946
+ "clickToShow": "(클릭하여 표시)",
1947
+ "clickToHide": "(클릭하여 숨기기)",
1948
+ "note": "참고:",
1949
+ "scopeNote": "이 테이블들은 쿼리마다 프로세스 메모리에 구성됩니다. 롤업 테이블은 봇당 한 행씩, 연결된 각 봇의 분석 엔드포인트를 호출해 채워집니다. 원시 턴 내용은 노출되지 않습니다. 그것이 필요하면 탐색기 탭에서 개별 대화를 파고드세요."
1950
+ },
1951
+ "analytics": {
1952
+ "loading": "플릿 롤업 로딩 중…",
1953
+ "dateRange": {
1954
+ "last7days": "지난 7일",
1955
+ "last14days": "지난 14일",
1956
+ "last30days": "지난 30일",
1957
+ "last90days": "지난 90일"
1958
+ },
1959
+ "summary": {
1960
+ "totalConversations": "대화",
1961
+ "totalTurns": "턴",
1962
+ "avgTurnsPerConversation": "평균 턴/대화",
1963
+ "activeBots": "접근 가능한 봇"
1964
+ },
1965
+ "charts": {
1966
+ "dailyConversations": "일일 턴 볼륨",
1967
+ "topBotsByActivity": "턴 볼륨 기준 상위 봇",
1968
+ "activityHeatmap": "활동 히트맵 (지난 7일)"
1969
+ },
1970
+ "noData": "이 기간에 활동이 없습니다.",
1971
+ "noActivityData": "지난 7일 동안 활동이 없습니다.",
1972
+ "convs": "대화",
1973
+ "days": {
1974
+ "sun": "일",
1975
+ "mon": "월",
1976
+ "tue": "화",
1977
+ "wed": "수",
1978
+ "thu": "목",
1979
+ "fri": "금",
1980
+ "sat": "토"
1981
+ }
1982
+ },
1983
+ "table": {
1984
+ "headers": {
1985
+ "bot": "봇",
1986
+ "started": "시작됨",
1987
+ "duration": "지속 시간",
1988
+ "turns": "턴",
1989
+ "conversationId": "대화 ID"
1990
+ }
1991
+ }
1992
+ },
1993
+ "documentUploader": {
1994
+ "title": "문서 업로드",
1995
+ "description": "챗봇이 RAG (검색 증강 생성)에 사용할 문서 업로드",
1996
+ "uploading": "업로드 중...",
1997
+ "chooseFiles": "파일 선택",
1998
+ "dropFilesHere": "파일을 여기에 놓으세요",
1999
+ "dragAndDropHint": "또는 파일을 여기로 드래그 앤 드롭",
2000
+ "fileTypes": "PDF, TXT, MD, DOC, DOCX",
2001
+ "uploadedDocuments": "업로드된 문서 ({count})",
2002
+ "noDocumentsYet": "아직 업로드된 문서가 없습니다",
2003
+ "noDocumentsHint": "시작하려면 \"파일 선택\"을 클릭하세요",
2004
+ "skippedFiles": "일부 파일이 건너뛰어졌습니다. PDF, TXT, MD, DOC, DOCX 파일만 지원됩니다.",
2005
+ "deleteConfirm": "이 파일을 삭제하시겠습니까?",
2006
+ "uploadFailed": "업로드 실패",
2007
+ "uploadFailedFallback": "파일 업로드 실패",
2008
+ "deleteFailed": "삭제 실패",
2009
+ "deleteFailedFallback": "파일 삭제 실패"
2010
+ },
2011
+ "chatBuilder": {
2012
+ "title": "AI 봇 빌더",
2013
+ "subtitle": "원하는 봇을 설명하면 만들어 드립니다",
2014
+ "loading": "AI 빌더 로딩 중...",
2015
+ "newChat": "새 채팅",
2016
+ "recentChats": "최근 채팅",
2017
+ "noPreviousChats": "이전 채팅 없음",
2018
+ "botPreview": "봇 미리 보기",
2019
+ "viewDeployedBot": "배포된 봇 보기",
2020
+ "selectWorkspace": "워크스페이스 선택",
2021
+ "selectWorkspacePrompt": "구축을 시작하려면 워크스페이스를 선택하세요",
2022
+ "noWorkspaces": "사용 가능한 워크스페이스가 없습니다",
2023
+ "createWorkspaceFirst": "먼저 만드세요",
2024
+ "backToDashboard": "대시보드로 돌아가기",
2025
+ "welcome": {
2026
+ "title": "AI로 봇 만들기",
2027
+ "description": "만들고 싶은 봇을 설명하고 관련 문서를 업로드하면 구성 및 배포를 도와드립니다. 코딩 필요 없음.",
2028
+ "quickPrompts": {
2029
+ "customerSupport": {
2030
+ "title": "고객 지원 봇",
2031
+ "description": "제품 질문에 답변",
2032
+ "prompt": "제품에 대한 질문에 답할 수 있는 고객 지원 봇이 필요합니다"
2033
+ },
2034
+ "leadCapture": {
2035
+ "title": "리드 캡처 봇",
2036
+ "description": "방문자 정보 수집",
2037
+ "prompt": "이름, 이메일, 회사 정보를 수집하는 리드 캡처 봇을 만들어 주세요"
2038
+ },
2039
+ "faqAssistant": {
2040
+ "title": "FAQ 어시스턴트",
2041
+ "description": "일반적인 질문에 답변",
2042
+ "prompt": "우리 문서를 사용해 FAQ 봇 만들기를 도와주세요"
2043
+ },
2044
+ "onboarding": {
2045
+ "title": "온보딩 봇",
2046
+ "description": "새 사용자 안내",
2047
+ "prompt": "새 고객의 온보딩을 돕는 봇을 만들고 싶습니다"
2048
+ }
2049
+ }
2050
+ },
2051
+ "input": {
2052
+ "placeholder": "만들고 싶은 봇을 설명하세요...",
2053
+ "defaultPlaceholder": "메시지를 입력하세요...",
2054
+ "dropFilesHere": "파일을 여기에 놓으세요...",
2055
+ "dropToAttach": "파일을 놓으면 메시지에 첨부됩니다",
2056
+ "hint": "Enter로 전송, Shift+Enter로 줄바꿈. 파일을 드래그하거나 클립을 클릭해 첨부하세요.",
2057
+ "hintShort": "Enter로 전송, Shift+Enter로 줄바꿈",
2058
+ "hintWithAttach": "파일을 드래그 앤 드롭하거나 첨부를 클릭하세요. Enter로 전송.",
2059
+ "attachFiles": "파일 첨부",
2060
+ "attachDocuments": "문서 첨부"
2061
+ },
2062
+ "tools": {
2063
+ "toolsExecuted": "{count}개 도구 실행됨",
2064
+ "toolsExecutedPlural": "{count}개 도구 실행됨",
2065
+ "uploadDocument": "문서 업로드",
2066
+ "generateForm": "양식 생성",
2067
+ "deployBot": "봇 배포",
2068
+ "listDeployments": "배포 목록",
2069
+ "checkDeploymentStatus": "배포 상태 확인",
2070
+ "destroyDeployment": "배포 제거",
2071
+ "getAnalytics": "분석 가져오기",
2072
+ "getFormSubmissions": "양식 제출 가져오기",
2073
+ "listWorkspaces": "워크스페이스 목록",
2074
+ "listDocuments": "문서 목록",
2075
+ "listApiKeys": "API 키 목록"
2076
+ },
2077
+ "documentPicker": {
2078
+ "title": "문서 선택",
2079
+ "noDocuments": "이 워크스페이스에 문서가 없습니다",
2080
+ "uploadFirst": "봇에 사용하려면 먼저 문서를 업로드하세요",
2081
+ "selected": "{count}개 문서 선택됨",
2082
+ "selectedPlural": "{count}개 문서 선택됨",
2083
+ "useSelected": "선택 항목 사용"
2084
+ },
2085
+ "errors": {
2086
+ "failedToSend": "메시지 전송 실패",
2087
+ "failedToLoadSession": "세션 로드 실패",
2088
+ "failedToLoadDocuments": "문서 로드 실패"
2089
+ },
2090
+ "invertedPanel": {
2091
+ "createABot": "봇 만들기",
2092
+ "editBot": "{name} 편집",
2093
+ "fallbackBotName": "봇",
2094
+ "private": "비공개",
2095
+ "createTitle": "어떤 종류의 봇을 만드는 걸 도와드릴까요?",
2096
+ "createDescription": "지식을 부여하기 위해 문서를 첨부할 수도 있습니다. 파일을 업로드하거나 봇 스페이스의 문서를 참조하도록 요청하세요.",
2097
+ "buildWithWizard": "마법사로 만들기 (단계별 구성)",
2098
+ "editTitle": "{name} 수정",
2099
+ "editFallbackName": "봇",
2100
+ "editDescription": "변경하고 싶은 내용을 알려주세요. 현재 구성을 로드해 업데이트를 도와드립니다.",
2101
+ "editExamples": "예: \"인사말 변경\", \"새 양식 필드 추가\", \"봇 이름 업데이트\"",
2102
+ "errorPrefix": "오류:",
2103
+ "inputPlaceholder": "봇이 무엇을 해야 하는지 설명하세요...",
2104
+ "adjustMessage": "구성을 조정하고 싶습니다"
2105
+ },
2106
+ "status": {
2107
+ "ready": "준비됨",
2108
+ "processing": "처리 중",
2109
+ "awaitingConfirmation": "확인 대기 중",
2110
+ "deploying": "배포 중",
2111
+ "deployed": "배포됨",
2112
+ "editing": "편집 중"
2113
+ },
2114
+ "success": {
2115
+ "botBuilt": "봇 빌드 완료!",
2116
+ "botSaved": "봇 저장됨",
2117
+ "botBuiltMessage": "봇 <strong>{name}</strong>이(가) 빌드되어 다운로드 준비되었습니다.",
2118
+ "botSavedMessage": "봇 <strong>{name}</strong>이(가) 저장되었습니다. 준비되면 봇 스페이스에서 빌드하세요.",
2119
+ "liveUrl": "라이브 URL",
2120
+ "embedCode": "임베드 코드",
2121
+ "downloadArtifact": "아티팩트 다운로드",
2122
+ "downloadWithDocs": "문서와 함께 다운로드",
2123
+ "openBot": "봇 열기",
2124
+ "viewInBotSpace": "봇 스페이스에서 보기"
2125
+ }
2126
+ },
2127
+ "login": {
2128
+ "subtitle": "계속하려면 로그인하세요",
2129
+ "username": "사용자 이름",
2130
+ "password": "비밀번호",
2131
+ "signIn": "로그인",
2132
+ "signingIn": "로그인 중…",
2133
+ "signOut": "로그아웃",
2134
+ "invalid": "잘못된 사용자 이름 또는 비밀번호입니다"
2135
+ }
2136
+ }