workflow.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  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. changeHistory: {
  74. title: '변경 기록',
  75. placeholder: '아직 아무 것도 변경하지 않았습니다',
  76. clearHistory: '기록 지우기',
  77. hint: '힌트',
  78. hintText: '편집 작업이 변경 기록에 추적되며, 이 세션 동안 기기에 저장됩니다. 편집기를 떠나면 이 기록이 지워집니다.',
  79. stepBackward_one: '{{count}} 단계 뒤로',
  80. stepBackward_other: '{{count}} 단계 뒤로',
  81. stepForward_one: '{{count}} 단계 앞으로',
  82. stepForward_other: '{{count}} 단계 앞으로',
  83. sessionStart: '세션 시작',
  84. currentState: '현재 상태',
  85. nodeTitleChange: '블록 제목 변경됨',
  86. nodeDescriptionChange: '블록 설명 변경됨',
  87. nodeDragStop: '블록 이동됨',
  88. nodeChange: '블록 변경됨',
  89. nodeConnect: '블록 연결됨',
  90. nodePaste: '블록 붙여넣기됨',
  91. nodeDelete: '블록 삭제됨',
  92. nodeAdd: '블록 추가됨',
  93. nodeResize: '블록 크기 조정됨',
  94. noteAdd: '노트 추가됨',
  95. noteChange: '노트 변경됨',
  96. noteDelete: '노트 삭제됨',
  97. edgeDelete: '블록 연결 해제됨',
  98. },
  99. errorMsg: {
  100. fieldRequired: '{{field}}가 필요합니다',
  101. authRequired: '인증이 필요합니다',
  102. invalidJson: '{{field}}는 잘못된 JSON입니다',
  103. fields: {
  104. variable: '변수 이름',
  105. variableValue: '변수 값',
  106. code: '코드',
  107. model: '모델',
  108. rerankModel: '재정렬 모델',
  109. },
  110. invalidVariable: '잘못된 변수',
  111. },
  112. singleRun: {
  113. testRun: '테스트 실행',
  114. startRun: '실행 시작',
  115. running: '실행 중',
  116. testRunIteration: '테스트 실행 반복',
  117. back: '뒤로',
  118. iteration: '반복',
  119. },
  120. tabs: {
  121. 'searchBlock': '블록 검색',
  122. 'blocks': '블록',
  123. 'tools': '도구',
  124. 'allTool': '전체',
  125. 'builtInTool': '내장',
  126. 'customTool': '사용자 정의',
  127. 'workflowTool': '워크플로우',
  128. 'question-understand': '질문 이해',
  129. 'logic': '논리',
  130. 'transform': '변환',
  131. 'utilities': '유틸리티',
  132. 'noResult': '일치하는 결과 없음',
  133. },
  134. blocks: {
  135. 'start': '시작',
  136. 'end': '끝',
  137. 'answer': '답변',
  138. 'llm': 'LLM',
  139. 'knowledge-retrieval': '지식 검색',
  140. 'question-classifier': '질문 분류기',
  141. 'if-else': 'IF/ELSE',
  142. 'code': '코드',
  143. 'template-transform': '템플릿',
  144. 'http-request': 'HTTP 요청',
  145. 'variable-assigner': '변수 할당자',
  146. 'variable-aggregator': '변수 집계자',
  147. 'iteration-start': '반복 시작',
  148. 'iteration': '반복',
  149. 'parameter-extractor': '매개변수 추출기',
  150. },
  151. blocksAbout: {
  152. 'start': '워크플로우를 시작하기 위한 초기 매개변수를 정의합니다',
  153. 'end': '워크플로우의 종료 및 결과 유형을 정의합니다',
  154. 'answer': '대화의 답변 내용을 정의합니다',
  155. 'llm': '질문에 답하거나 자연어를 처리하기 위해 대형 언어 모델을 호출합니다',
  156. 'knowledge-retrieval': '사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리할 수 있습니다',
  157. 'question-classifier': '사용자 질문의 분류 조건을 정의합니다. LLM은 분류 설명을 기반으로 대화의 진행 방식을 정의할 수 있습니다',
  158. 'if-else': 'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나눌 수 있습니다',
  159. 'code': '사용자 정의 논리를 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다',
  160. 'template-transform': 'Jinja 템플릿 구문을 사용하여 데이터를 문자열로 변환합니다',
  161. 'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보낼 수 있습니다',
  162. 'variable-assigner': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
  163. 'variable-aggregator': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
  164. 'iteration': '목록 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.',
  165. 'parameter-extractor': '도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하기 위해 LLM을 사용합니다.',
  166. },
  167. operator: {
  168. zoomIn: '확대',
  169. zoomOut: '축소',
  170. zoomTo50: '50%로 확대',
  171. zoomTo100: '100%로 확대',
  172. zoomToFit: '화면에 맞게 확대',
  173. },
  174. panel: {
  175. userInputField: '사용자 입력 필드',
  176. changeBlock: '블록 변경',
  177. helpLink: '도움말 링크',
  178. about: '정보',
  179. createdBy: '작성자 ',
  180. nextStep: '다음 단계',
  181. addNextStep: '이 워크플로우의 다음 블록 추가',
  182. selectNextStep: '다음 블록 선택',
  183. runThisStep: '이 단계 실행',
  184. checklist: '체크리스트',
  185. checklistTip: '게시하기 전에 모든 문제가 해결되었는지 확인하세요',
  186. checklistResolved: '모든 문제가 해결되었습니다',
  187. organizeBlocks: '블록 정리',
  188. change: '변경',
  189. },
  190. nodes: {
  191. common: {
  192. outputVars: '출력 변수',
  193. insertVarTip: '변수 삽입',
  194. memory: {
  195. memory: '메모리',
  196. memoryTip: '대화 메모리 설정',
  197. windowSize: '창 크기',
  198. conversationRoleName: '대화 역할 이름',
  199. user: '사용자 접두사',
  200. assistant: '어시스턴트 접두사',
  201. },
  202. memories: {
  203. title: '메모리',
  204. tip: '대화 메모리',
  205. builtIn: '내장',
  206. },
  207. },
  208. start: {
  209. required: '필수',
  210. inputField: '입력 필드',
  211. builtInVar: '내장 변수',
  212. outputVars: {
  213. query: '사용자 입력',
  214. memories: {
  215. des: '대화 기록',
  216. type: '메시지 유형',
  217. content: '메시지 내용',
  218. },
  219. files: '파일 목록',
  220. },
  221. noVarTip: '워크플로우에서 사용할 입력을 설정하세요',
  222. },
  223. end: {
  224. outputs: '출력',
  225. output: {
  226. type: '출력 유형',
  227. variable: '출력 변수',
  228. },
  229. type: {
  230. 'none': '없음',
  231. 'plain-text': '일반 텍스트',
  232. 'structured': '구조화된',
  233. },
  234. },
  235. answer: {
  236. answer: '답변',
  237. outputVars: '출력 변수',
  238. },
  239. llm: {
  240. model: '모델',
  241. variables: '변수',
  242. context: '컨텍스트',
  243. contextTooltip: '컨텍스트로 지식을 가져올 수 있습니다',
  244. notSetContextInPromptTip: '컨텍스트 기능을 활성화하려면 PROMPT에 컨텍스트 변수를 입력하세요.',
  245. prompt: '프롬프트',
  246. roleDescription: {
  247. system: '대화를 위한 고급 지침 제공',
  248. user: '모델에 지침, 질문 또는 텍스트 기반 입력 제공',
  249. assistant: '사용자 메시지에 기반한 모델의 응답',
  250. },
  251. addMessage: '메시지 추가',
  252. vision: '비전',
  253. files: '파일',
  254. resolution: {
  255. name: '해상도',
  256. high: '높음',
  257. low: '낮음',
  258. },
  259. outputVars: {
  260. output: '생성된 내용',
  261. usage: '모델 사용 정보',
  262. },
  263. singleRun: {
  264. variable: '변수',
  265. },
  266. sysQueryInUser: '사용자 메시지에 sys.query가 필요합니다',
  267. },
  268. knowledgeRetrieval: {
  269. queryVariable: '쿼리 변수',
  270. knowledge: '지식',
  271. outputVars: {
  272. output: '복구된 세그먼트 데이터',
  273. content: '세그먼트 내용',
  274. title: '세그먼트 제목',
  275. icon: '세그먼트 아이콘',
  276. url: '세그먼트 URL',
  277. metadata: '기타 메타데이터',
  278. },
  279. },
  280. http: {
  281. inputVars: '입력 변수',
  282. api: 'API',
  283. apiPlaceholder: 'URL을 입력하세요, 변수를 삽입하려면 ‘/’를 입력하세요',
  284. notStartWithHttp: 'API는 http:// 또는 https://로 시작해야 합니다',
  285. key: '키',
  286. value: '값',
  287. bulkEdit: '일괄 편집',
  288. keyValueEdit: '키-값 편집',
  289. headers: '헤더',
  290. params: '매개변수',
  291. body: '본문',
  292. outputVars: {
  293. body: '응답 내용',
  294. statusCode: '응답 상태 코드',
  295. headers: '응답 헤더 목록 JSON',
  296. files: '파일 목록',
  297. },
  298. authorization: {
  299. 'authorization': '권한 부여',
  300. 'authorizationType': '권한 부여 유형',
  301. 'no-auth': '없음',
  302. 'api-key': 'API 키',
  303. 'auth-type': '인증 유형',
  304. 'basic': '기본',
  305. 'bearer': 'Bearer',
  306. 'custom': '사용자 정의',
  307. 'api-key-title': 'API 키',
  308. 'header': '헤더',
  309. },
  310. insertVarPlaceholder: '변수를 삽입하려면 \'/\'를 입력하세요',
  311. timeout: {
  312. title: '시간 초과',
  313. connectLabel: '연결 시간 초과',
  314. connectPlaceholder: '초 단위로 연결 시간 초과 입력',
  315. readLabel: '읽기 시간 초과',
  316. readPlaceholder: '초 단위로 읽기 시간 초과 입력',
  317. writeLabel: '쓰기 시간 초과',
  318. writePlaceholder: '초 단위로 쓰기 시간 초과 입력',
  319. },
  320. },
  321. code: {
  322. inputVars: '입력 변수',
  323. outputVars: '출력 변수',
  324. advancedDependencies: '고급 종속성',
  325. advancedDependenciesTip: '더 많은 시간이 소요되거나 기본으로 내장되지 않은 일부 미리 로드된 종속성을 여기에 추가하세요',
  326. searchDependencies: '종속성 검색',
  327. },
  328. templateTransform: {
  329. inputVars: '입력 변수',
  330. code: '코드',
  331. codeSupportTip: 'Jinja2만 지원합니다',
  332. outputVars: {
  333. output: '변환된 내용',
  334. },
  335. },
  336. ifElse: {
  337. if: 'If',
  338. else: 'Else',
  339. elseDescription: 'If 조건이 충족되지 않을 때 실행할 논리를 정의하는 데 사용됩니다.',
  340. and: '그리고',
  341. or: '또는',
  342. operator: '연산자',
  343. notSetVariable: '먼저 변수를 설정하세요',
  344. comparisonOperator: {
  345. 'contains': '포함',
  346. 'not contains': '포함하지 않음',
  347. 'start with': '시작',
  348. 'end with': '끝',
  349. 'is': '이다',
  350. 'is not': '아니다',
  351. 'empty': '비어 있음',
  352. 'not empty': '비어 있지 않음',
  353. 'null': 'null임',
  354. 'not null': 'null이 아님',
  355. },
  356. enterValue: '값 입력',
  357. addCondition: '조건 추가',
  358. conditionNotSetup: '조건이 설정되지 않음',
  359. },
  360. variableAssigner: {
  361. title: '변수 할당',
  362. outputType: '출력 유형',
  363. varNotSet: '변수가 설정되지 않음',
  364. noVarTip: '할당할 변수를 추가하세요',
  365. type: {
  366. string: '문자열',
  367. number: '숫자',
  368. object: '객체',
  369. array: '배열',
  370. },
  371. aggregationGroup: '집계 그룹',
  372. aggregationGroupTip: '이 기능을 활성화하면 변수 집계자가 여러 변수 집합을 집계할 수 있습니다.',
  373. addGroup: '그룹 추가',
  374. outputVars: {
  375. varDescribe: '{{groupName}} 출력',
  376. },
  377. setAssignVariable: '할당 변수 설정',
  378. },
  379. tool: {
  380. toAuthorize: '승인하기',
  381. inputVars: '입력 변수',
  382. outputVars: {
  383. text: '도구가 생성한 내용',
  384. files: {
  385. title: '도구가 생성한 파일',
  386. type: '지원 유형. 현재는 이미지만 지원합니다',
  387. transfer_method: '전송 방법. 값은 remote_url 또는 local_file',
  388. url: '이미지 URL',
  389. upload_file_id: '업로드된 파일 ID',
  390. },
  391. },
  392. },
  393. questionClassifiers: {
  394. model: '모델',
  395. inputVars: '입력 변수',
  396. outputVars: {
  397. className: '클래스 이름',
  398. },
  399. class: '클래스',
  400. classNamePlaceholder: '클래스 이름을 작성하세요',
  401. advancedSetting: '고급 설정',
  402. topicName: '주제 이름',
  403. topicPlaceholder: '주제 이름을 작성하세요',
  404. addClass: '클래스 추가',
  405. instruction: '지시',
  406. instructionTip: '질문 분류기가 질문을 더 잘 분류할 수 있도록 추가 지시를 입력하세요.',
  407. instructionPlaceholder: '지시를 작성하세요',
  408. },
  409. parameterExtractor: {
  410. inputVar: '입력 변수',
  411. extractParameters: '매개변수 추출',
  412. importFromTool: '도구에서 가져오기',
  413. addExtractParameter: '추출 매개변수 추가',
  414. addExtractParameterContent: {
  415. name: '이름',
  416. namePlaceholder: '추출 매개변수 이름',
  417. type: '유형',
  418. typePlaceholder: '추출 매개변수 유형',
  419. description: '설명',
  420. descriptionPlaceholder: '추출 매개변수 설명',
  421. required: '필수',
  422. requiredContent: '필수는 모델 추론을 위한 참고 용도로만 사용되며, 매개변수 출력의 필수 유효성 검사는 아닙니다.',
  423. },
  424. extractParametersNotSet: '추출 매개변수가 설정되지 않음',
  425. instruction: '지시',
  426. instructionTip: '매개변수 추출기가 매개변수를 추출하는 방법을 이해하는 데 도움이 되는 추가 지시를 입력하세요.',
  427. advancedSetting: '고급 설정',
  428. reasoningMode: '추론 모드',
  429. reasoningModeTip: '모델의 함수 호출 또는 프롬프트에 대한 지시 응답 능력을 기반으로 적절한 추론 모드를 선택할 수 있습니다.',
  430. isSuccess: '성공 여부. 성공 시 값은 1이고, 실패 시 값은 0입니다.',
  431. errorReason: '오류 원인',
  432. },
  433. iteration: {
  434. deleteTitle: '반복 노드를 삭제하시겠습니까?',
  435. deleteDesc: '반복 노드를 삭제하면 모든 하위 노드가 삭제됩니다',
  436. input: '입력',
  437. output: '출력 변수',
  438. iteration_one: '{{count}} 반복',
  439. iteration_other: '{{count}} 반복',
  440. currentIteration: '현재 반복',
  441. },
  442. },
  443. tracing: {
  444. stopBy: '{{user}}에 의해 중지됨',
  445. },
  446. }
  447. export default translation