workflow.ts 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. const translation = {
  2. common: {
  3. undo: '실행 취소',
  4. redo: '다시 실행',
  5. editing: '편집 중',
  6. autoSaved: '자동 저장됨',
  7. unpublished: '미발행',
  8. published: '발행됨',
  9. publish: '발행',
  10. update: '업데이트',
  11. run: '실행',
  12. running: '실행 중',
  13. inRunMode: '실행 모드',
  14. inPreview: '미리보기 중',
  15. inPreviewMode: '미리보기 모드',
  16. preview: '미리보기',
  17. viewRunHistory: '실행 기록 보기',
  18. runHistory: '실행 기록',
  19. goBackToEdit: '편집기로 돌아가기',
  20. conversationLog: '대화 로그',
  21. features: '기능',
  22. debugAndPreview: '미리보기',
  23. restart: '재시작',
  24. currentDraft: '현재 초안',
  25. currentDraftUnpublished: '현재 초안 미발행',
  26. latestPublished: '최신 발행본',
  27. publishedAt: '발행일',
  28. restore: '복원',
  29. runApp: '앱 실행',
  30. batchRunApp: '앱 일괄 실행',
  31. accessAPIReference: 'API 참조 접근',
  32. embedIntoSite: '사이트에 삽입',
  33. addTitle: '제목 추가...',
  34. addDescription: '설명 추가...',
  35. noVar: '변수 없음',
  36. searchVar: '변수 검색',
  37. variableNamePlaceholder: '변수 이름',
  38. setVarValuePlaceholder: '변수 값 설정',
  39. needConnecttip: '이 단계는 아무것도 연결되어 있지 않습니다',
  40. maxTreeDepth: '분기당 최대 {{depth}} 노드 제한',
  41. needEndNode: '종료 블록을 추가해야 합니다',
  42. needAnswerNode: '답변 블록을 추가해야 합니다',
  43. workflowProcess: '워크플로우 과정',
  44. notRunning: '아직 실행되지 않음',
  45. previewPlaceholder: '디버깅을 시작하려면 아래 상자에 내용을 입력하세요',
  46. effectVarConfirm: {
  47. title: '변수 제거',
  48. content: '변수가 다른 노드에서 사용되고 있습니다. 그래도 제거하시겠습니까?',
  49. },
  50. insertVarTip: '빠르게 삽입하려면 \'/\' 키를 누르세요',
  51. processData: '데이터 처리',
  52. input: '입력',
  53. output: '출력',
  54. jinjaEditorPlaceholder: '변수를 삽입하려면 \'/\' 또는 \'{\'를 입력하세요',
  55. viewOnly: '보기 전용',
  56. showRunHistory: '실행 기록 보기',
  57. enableJinja: 'Jinja 템플릿 지원 활성화',
  58. learnMore: '더 알아보기',
  59. copy: '복사',
  60. duplicate: '복제',
  61. addBlock: '블록 추가',
  62. pasteHere: '여기에 붙여넣기',
  63. pointerMode: '포인터 모드',
  64. handMode: '핸드 모드',
  65. model: '모델',
  66. workflowAsTool: '도구로서의 워크플로우',
  67. configureRequired: '구성 필요',
  68. configure: '구성',
  69. manageInTools: '도구에서 관리',
  70. workflowAsToolTip: '워크플로우 업데이트 후 도구 재구성이 필요합니다.',
  71. viewDetailInTracingPanel: '세부 정보 보기',
  72. },
  73. env: {
  74. envPanelTitle: '환경 변수',
  75. envDescription: '환경 변수는 개인 정보와 자격 증명을 저장하는 데 사용될 수 있습니다. 이들은 읽기 전용이며 내보내기 중에 DSL 파일과 분리할 수 있습니다.',
  76. envPanelButton: '변수 추가',
  77. modal: {
  78. title: '환경 변수 추가',
  79. editTitle: '환경 변수 편집',
  80. type: '유형',
  81. name: '이름',
  82. namePlaceholder: '환경 이름',
  83. value: '값',
  84. valuePlaceholder: '환경 값',
  85. secretTip: '민감한 정보나 데이터를 정의하는 데 사용되며, DSL 설정은 유출 방지를 위해 구성됩니다.',
  86. },
  87. export: {
  88. title: '비밀 환경 변수를 내보내시겠습니까?',
  89. checkbox: '비밀 값 내보내기',
  90. ignore: 'DSL 내보내기',
  91. export: '비밀 값이 포함된 DSL 내보내기',
  92. },
  93. },
  94. chatVariable: {
  95. panelTitle: '대화 변수',
  96. panelDescription: '대화 변수는 LLM이 기억해야 할 대화 기록, 업로드된 파일, 사용자 선호도 등의 상호작용 정보를 저장하는 데 사용됩니다. 이들은 읽기 및 쓰기가 가능합니다.',
  97. docLink: '자세한 내용은 문서를 참조하세요.',
  98. button: '변수 추가',
  99. modal: {
  100. title: '대화 변수 추가',
  101. editTitle: '대화 변수 편집',
  102. name: '이름',
  103. namePlaceholder: '변수 이름',
  104. type: '유형',
  105. value: '기본값',
  106. valuePlaceholder: '기본값, 설정하지 않으려면 비워두세요',
  107. description: '설명',
  108. descriptionPlaceholder: '변수에 대해 설명하세요',
  109. editInJSON: 'JSON으로 편집',
  110. oneByOne: '하나씩 추가',
  111. editInForm: '양식에서 편집',
  112. arrayValue: '값',
  113. addArrayValue: '값 추가',
  114. objectKey: '키',
  115. objectType: '유형',
  116. objectValue: '기본값',
  117. },
  118. storedContent: '저장된 내용',
  119. updatedAt: '업데이트 시간: ',
  120. },
  121. changeHistory: {
  122. title: '변경 기록',
  123. placeholder: '아직 아무 것도 변경하지 않았습니다',
  124. clearHistory: '기록 지우기',
  125. hint: '힌트',
  126. hintText: '편집 작업이 변경 기록에 추적되며, 이 세션 동안 기기에 저장됩니다. 편집기를 떠나면 이 기록이 지워집니다.',
  127. stepBackward_one: '{{count}} 단계 뒤로',
  128. stepBackward_other: '{{count}} 단계 뒤로',
  129. stepForward_one: '{{count}} 단계 앞으로',
  130. stepForward_other: '{{count}} 단계 앞으로',
  131. sessionStart: '세션 시작',
  132. currentState: '현재 상태',
  133. nodeTitleChange: '블록 제목 변경됨',
  134. nodeDescriptionChange: '블록 설명 변경됨',
  135. nodeDragStop: '블록 이동됨',
  136. nodeChange: '블록 변경됨',
  137. nodeConnect: '블록 연결됨',
  138. nodePaste: '블록 붙여넣기됨',
  139. nodeDelete: '블록 삭제됨',
  140. nodeAdd: '블록 추가됨',
  141. nodeResize: '블록 크기 조정됨',
  142. noteAdd: '노트 추가됨',
  143. noteChange: '노트 변경됨',
  144. noteDelete: '노트 삭제됨',
  145. edgeDelete: '블록 연결 해제됨',
  146. },
  147. errorMsg: {
  148. fieldRequired: '{{field}}가 필요합니다',
  149. authRequired: '인증이 필요합니다',
  150. invalidJson: '{{field}}는 잘못된 JSON입니다',
  151. fields: {
  152. variable: '변수 이름',
  153. variableValue: '변수 값',
  154. code: '코드',
  155. model: '모델',
  156. rerankModel: '재정렬 모델',
  157. },
  158. invalidVariable: '잘못된 변수',
  159. },
  160. singleRun: {
  161. testRun: '테스트 실행',
  162. startRun: '실행 시작',
  163. running: '실행 중',
  164. testRunIteration: '테스트 실행 반복',
  165. back: '뒤로',
  166. iteration: '반복',
  167. },
  168. tabs: {
  169. 'searchBlock': '블록 검색',
  170. 'blocks': '블록',
  171. 'tools': '도구',
  172. 'allTool': '전체',
  173. 'builtInTool': '내장',
  174. 'customTool': '사용자 정의',
  175. 'workflowTool': '워크플로우',
  176. 'question-understand': '질문 이해',
  177. 'logic': '논리',
  178. 'transform': '변환',
  179. 'utilities': '유틸리티',
  180. 'noResult': '일치하는 결과 없음',
  181. },
  182. blocks: {
  183. 'start': '시작',
  184. 'end': '끝',
  185. 'answer': '답변',
  186. 'llm': 'LLM',
  187. 'knowledge-retrieval': '지식 검색',
  188. 'question-classifier': '질문 분류기',
  189. 'if-else': 'IF/ELSE',
  190. 'code': '코드',
  191. 'template-transform': '템플릿',
  192. 'http-request': 'HTTP 요청',
  193. 'variable-assigner': '변수 할당자',
  194. 'variable-aggregator': '변수 집계자',
  195. 'assigner': '변수 할당자',
  196. 'iteration-start': '반복 시작',
  197. 'iteration': '반복',
  198. 'parameter-extractor': '매개변수 추출기',
  199. },
  200. blocksAbout: {
  201. 'start': '워크플로우를 시작하기 위한 초기 매개변수를 정의합니다',
  202. 'end': '워크플로우의 종료 및 결과 유형을 정의합니다',
  203. 'answer': '대화의 답변 내용을 정의합니다',
  204. 'llm': '질문에 답하거나 자연어를 처리하기 위해 대형 언어 모델을 호출합니다',
  205. 'knowledge-retrieval': '사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리할 수 있습니다',
  206. 'question-classifier': '사용자 질문의 분류 조건을 정의합니다. LLM은 분류 설명을 기반으로 대화의 진행 방식을 정의할 수 있습니다',
  207. 'if-else': 'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나눌 수 있습니다',
  208. 'code': '사용자 정의 논리를 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다',
  209. 'template-transform': 'Jinja 템플릿 구문을 사용하여 데이터를 문자열로 변환합니다',
  210. 'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보낼 수 있습니다',
  211. 'variable-assigner': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
  212. 'assigner': '변수 할당 노드는 쓰기 가능한 변수(대화 변수 등)에 값을 할당하는 데 사용됩니다.',
  213. 'variable-aggregator': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
  214. 'iteration': '목록 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.',
  215. 'parameter-extractor': '도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하기 위해 LLM을 사용합니다.',
  216. },
  217. operator: {
  218. zoomIn: '확대',
  219. zoomOut: '축소',
  220. zoomTo50: '50%로 확대',
  221. zoomTo100: '100%로 확대',
  222. zoomToFit: '화면에 맞게 확대',
  223. },
  224. panel: {
  225. userInputField: '사용자 입력 필드',
  226. changeBlock: '블록 변경',
  227. helpLink: '도움말 링크',
  228. about: '정보',
  229. createdBy: '작성자 ',
  230. nextStep: '다음 단계',
  231. addNextStep: '이 워크플로우의 다음 블록 추가',
  232. selectNextStep: '다음 블록 선택',
  233. runThisStep: '이 단계 실행',
  234. checklist: '체크리스트',
  235. checklistTip: '게시하기 전에 모든 문제가 해결되었는지 확인하세요',
  236. checklistResolved: '모든 문제가 해결되었습니다',
  237. organizeBlocks: '블록 정리',
  238. change: '변경',
  239. optional: '(선택사항)',
  240. },
  241. nodes: {
  242. common: {
  243. outputVars: '출력 변수',
  244. insertVarTip: '변수 삽입',
  245. memory: {
  246. memory: '메모리',
  247. memoryTip: '대화 메모리 설정',
  248. windowSize: '창 크기',
  249. conversationRoleName: '대화 역할 이름',
  250. user: '사용자 접두사',
  251. assistant: '어시스턴트 접두사',
  252. },
  253. memories: {
  254. title: '메모리',
  255. tip: '대화 메모리',
  256. builtIn: '내장',
  257. },
  258. },
  259. start: {
  260. required: '필수',
  261. inputField: '입력 필드',
  262. builtInVar: '내장 변수',
  263. outputVars: {
  264. query: '사용자 입력',
  265. memories: {
  266. des: '대화 기록',
  267. type: '메시지 유형',
  268. content: '메시지 내용',
  269. },
  270. files: '파일 목록',
  271. },
  272. noVarTip: '워크플로우에서 사용할 입력을 설정하세요',
  273. },
  274. end: {
  275. outputs: '출력',
  276. output: {
  277. type: '출력 유형',
  278. variable: '출력 변수',
  279. },
  280. type: {
  281. 'none': '없음',
  282. 'plain-text': '일반 텍스트',
  283. 'structured': '구조화된',
  284. },
  285. },
  286. answer: {
  287. answer: '답변',
  288. outputVars: '출력 변수',
  289. },
  290. llm: {
  291. model: '모델',
  292. variables: '변수',
  293. context: '컨텍스트',
  294. contextTooltip: '컨텍스트로 지식을 가져올 수 있습니다',
  295. notSetContextInPromptTip: '컨텍스트 기능을 활성화하려면 PROMPT에 컨텍스트 변수를 입력하세요.',
  296. prompt: '프롬프트',
  297. roleDescription: {
  298. system: '대화를 위한 고급 지침 제공',
  299. user: '모델에 지침, 질문 또는 텍스트 기반 입력 제공',
  300. assistant: '사용자 메시지에 기반한 모델의 응답',
  301. },
  302. addMessage: '메시지 추가',
  303. vision: '비전',
  304. files: '파일',
  305. resolution: {
  306. name: '해상도',
  307. high: '높음',
  308. low: '낮음',
  309. },
  310. outputVars: {
  311. output: '생성된 내용',
  312. usage: '모델 사용 정보',
  313. },
  314. singleRun: {
  315. variable: '변수',
  316. },
  317. sysQueryInUser: '사용자 메시지에 sys.query가 필요합니다',
  318. },
  319. knowledgeRetrieval: {
  320. queryVariable: '쿼리 변수',
  321. knowledge: '지식',
  322. outputVars: {
  323. output: '복구된 세그먼트 데이터',
  324. content: '세그먼트 내용',
  325. title: '세그먼트 제목',
  326. icon: '세그먼트 아이콘',
  327. url: '세그먼트 URL',
  328. metadata: '기타 메타데이터',
  329. },
  330. },
  331. http: {
  332. inputVars: '입력 변수',
  333. api: 'API',
  334. apiPlaceholder: 'URL을 입력하세요, 변수를 삽입하려면 ‘/’를 입력하세요',
  335. notStartWithHttp: 'API는 http:// 또는 https://로 시작해야 합니다',
  336. key: '키',
  337. value: '값',
  338. bulkEdit: '일괄 편집',
  339. keyValueEdit: '키-값 편집',
  340. headers: '헤더',
  341. params: '매개변수',
  342. body: '본문',
  343. outputVars: {
  344. body: '응답 내용',
  345. statusCode: '응답 상태 코드',
  346. headers: '응답 헤더 목록 JSON',
  347. files: '파일 목록',
  348. },
  349. authorization: {
  350. 'authorization': '권한 부여',
  351. 'authorizationType': '권한 부여 유형',
  352. 'no-auth': '없음',
  353. 'api-key': 'API 키',
  354. 'auth-type': '인증 유형',
  355. 'basic': '기본',
  356. 'bearer': 'Bearer',
  357. 'custom': '사용자 정의',
  358. 'api-key-title': 'API 키',
  359. 'header': '헤더',
  360. },
  361. insertVarPlaceholder: '변수를 삽입하려면 \'/\'를 입력하세요',
  362. timeout: {
  363. title: '시간 초과',
  364. connectLabel: '연결 시간 초과',
  365. connectPlaceholder: '초 단위로 연결 시간 초과 입력',
  366. readLabel: '읽기 시간 초과',
  367. readPlaceholder: '초 단위로 읽기 시간 초과 입력',
  368. writeLabel: '쓰기 시간 초과',
  369. writePlaceholder: '초 단위로 쓰기 시간 초과 입력',
  370. },
  371. },
  372. code: {
  373. inputVars: '입력 변수',
  374. outputVars: '출력 변수',
  375. advancedDependencies: '고급 종속성',
  376. advancedDependenciesTip: '더 많은 시간이 소요되거나 기본으로 내장되지 않은 일부 미리 로드된 종속성을 여기에 추가하세요',
  377. searchDependencies: '종속성 검색',
  378. },
  379. templateTransform: {
  380. inputVars: '입력 변수',
  381. code: '코드',
  382. codeSupportTip: 'Jinja2만 지원합니다',
  383. outputVars: {
  384. output: '변환된 내용',
  385. },
  386. },
  387. ifElse: {
  388. if: 'If',
  389. else: 'Else',
  390. elseDescription: 'If 조건이 충족되지 않을 때 실행할 논리를 정의하는 데 사용됩니다.',
  391. and: '그리고',
  392. or: '또는',
  393. operator: '연산자',
  394. notSetVariable: '먼저 변수를 설정하세요',
  395. comparisonOperator: {
  396. 'contains': '포함',
  397. 'not contains': '포함하지 않음',
  398. 'start with': '시작',
  399. 'end with': '끝',
  400. 'is': '이다',
  401. 'is not': '아니다',
  402. 'empty': '비어 있음',
  403. 'not empty': '비어 있지 않음',
  404. 'null': 'null임',
  405. 'not null': 'null이 아님',
  406. },
  407. enterValue: '값 입력',
  408. addCondition: '조건 추가',
  409. conditionNotSetup: '조건이 설정되지 않음',
  410. },
  411. variableAssigner: {
  412. title: '변수 할당',
  413. outputType: '출력 유형',
  414. varNotSet: '변수가 설정되지 않음',
  415. noVarTip: '할당할 변수를 추가하세요',
  416. type: {
  417. string: '문자열',
  418. number: '숫자',
  419. object: '객체',
  420. array: '배열',
  421. },
  422. aggregationGroup: '집계 그룹',
  423. aggregationGroupTip: '이 기능을 활성화하면 변수 집계자가 여러 변수 집합을 집계할 수 있습니다.',
  424. addGroup: '그룹 추가',
  425. outputVars: {
  426. varDescribe: '{{groupName}} 출력',
  427. },
  428. setAssignVariable: '할당 변수 설정',
  429. },
  430. assigner: {
  431. 'assignedVariable': '할당된 변수',
  432. 'writeMode': '쓰기 모드',
  433. 'writeModeTip': '할당된 변수가 배열일 때, 추가 모드는 끝에 추가합니다.',
  434. 'over-write': '덮어쓰기',
  435. 'append': '추가',
  436. 'plus': '더하기',
  437. 'clear': '지우기',
  438. 'setVariable': '변수 설정',
  439. 'variable': '변수',
  440. },
  441. tool: {
  442. toAuthorize: '승인하기',
  443. inputVars: '입력 변수',
  444. outputVars: {
  445. text: '도구가 생성한 내용',
  446. files: {
  447. title: '도구가 생성한 파일',
  448. type: '지원 유형. 현재는 이미지만 지원합니다',
  449. transfer_method: '전송 방법. 값은 remote_url 또는 local_file',
  450. url: '이미지 URL',
  451. upload_file_id: '업로드된 파일 ID',
  452. },
  453. json: '도구로 생성된 JSON',
  454. },
  455. },
  456. questionClassifiers: {
  457. model: '모델',
  458. inputVars: '입력 변수',
  459. outputVars: {
  460. className: '클래스 이름',
  461. },
  462. class: '클래스',
  463. classNamePlaceholder: '클래스 이름을 작성하세요',
  464. advancedSetting: '고급 설정',
  465. topicName: '주제 이름',
  466. topicPlaceholder: '주제 이름을 작성하세요',
  467. addClass: '클래스 추가',
  468. instruction: '지시',
  469. instructionTip: '질문 분류기가 질문을 더 잘 분류할 수 있도록 추가 지시를 입력하세요.',
  470. instructionPlaceholder: '지시를 작성하세요',
  471. },
  472. parameterExtractor: {
  473. inputVar: '입력 변수',
  474. extractParameters: '매개변수 추출',
  475. importFromTool: '도구에서 가져오기',
  476. addExtractParameter: '추출 매개변수 추가',
  477. addExtractParameterContent: {
  478. name: '이름',
  479. namePlaceholder: '추출 매개변수 이름',
  480. type: '유형',
  481. typePlaceholder: '추출 매개변수 유형',
  482. description: '설명',
  483. descriptionPlaceholder: '추출 매개변수 설명',
  484. required: '필수',
  485. requiredContent: '필수는 모델 추론을 위한 참고 용도로만 사용되며, 매개변수 출력의 필수 유효성 검사는 아닙니다.',
  486. },
  487. extractParametersNotSet: '추출 매개변수가 설정되지 않음',
  488. instruction: '지시',
  489. instructionTip: '매개변수 추출기가 매개변수를 추출하는 방법을 이해하는 데 도움이 되는 추가 지시를 입력하세요.',
  490. advancedSetting: '고급 설정',
  491. reasoningMode: '추론 모드',
  492. reasoningModeTip: '모델의 함수 호출 또는 프롬프트에 대한 지시 응답 능력을 기반으로 적절한 추론 모드를 선택할 수 있습니다.',
  493. isSuccess: '성공 여부. 성공 시 값은 1이고, 실패 시 값은 0입니다.',
  494. errorReason: '오류 원인',
  495. },
  496. iteration: {
  497. deleteTitle: '반복 노드를 삭제하시겠습니까?',
  498. deleteDesc: '반복 노드를 삭제하면 모든 하위 노드가 삭제됩니다',
  499. input: '입력',
  500. output: '출력 변수',
  501. iteration_one: '{{count}} 반복',
  502. iteration_other: '{{count}} 반복',
  503. currentIteration: '현재 반복',
  504. },
  505. },
  506. tracing: {
  507. stopBy: '{{user}}에 의해 중지됨',
  508. },
  509. }
  510. export default translation