const translation = { common: { undo: '復原', redo: '重做', editing: '編輯中', autoSaved: '自動保存', unpublished: '未發佈', published: '已發佈', publish: '發佈', update: '更新', run: '測試運行', running: '運行中', inRunMode: '在運行模式中', inPreview: '預覽中', inPreviewMode: '預覽中', preview: '預覽', viewRunHistory: '查看運行歷史', runHistory: '運行歷史', goBackToEdit: '返回編輯模式', conversationLog: '對話記錄', debugAndPreview: '預覽', restart: '重新開始', currentDraft: '當前草稿', currentDraftUnpublished: '當前草稿未發佈', latestPublished: '最新發佈', publishedAt: '發佈於', restore: '恢復', runApp: '運行', batchRunApp: '批量運行', accessAPIReference: '訪問 API', embedIntoSite: '嵌入網站', addTitle: '新增標題...', addDescription: '新增描述...', noVar: '沒有變數', variableNamePlaceholder: '變數名', searchVar: '搜索變數', setVarValuePlaceholder: '設置變數值', needConnectTip: '此節點尚未連接到其他節點', maxTreeDepth: '每個分支最大限制 {{depth}} 個節點', needAdd: '必須新增{{node}}節點', needOutputNode: '必須新增輸出節點', needAnswerNode: '必須新增直接回覆節點', workflowProcess: '工作流', notRunning: '尚未運行', previewPlaceholder: '在下面的框中輸入內容開始測試聊天機器人', effectVarConfirm: { title: '移除變數', content: '該變數在其他節點中使用。您是否仍要刪除它?', }, insertVarTip: '按 \'/\' 鍵快速插入', processData: '資料處理', input: '輸入', output: '輸出', jinjaEditorPlaceholder: '輸入“/”或“{”插入變數', viewOnly: '只讀', showRunHistory: '顯示運行歷史', enableJinja: '開啟支持 Jinja 模板', learnMore: '了解更多', copy: '拷貝', duplicate: '複製', addBlock: '新增節點', pasteHere: '粘貼到這裡', pointerMode: '指針模式', handMode: '手模式', model: '模型', workflowAsTool: '發佈為工具', configureRequired: '需要進行配置', configure: '配置', manageInTools: '訪問工具頁', workflowAsToolTip: '工作流更新後需要重新配置工具參數', viewDetailInTracingPanel: '查看詳細信息', importDSL: '導入 DSL', backupCurrentDraft: 'Backup Current Draft', overwriteAndImport: '覆蓋和導入', importSuccess: '導入成功', chooseDSL: '選擇 DSL(yml)檔', syncingData: '同步資料,只需幾秒鐘。', importDSLTip: '當前草稿將被覆蓋。在導入之前將工作流匯出為備份。', importFailure: '匯入失敗', parallelTip: { click: { title: '點擊', desc: '新增', }, drag: { title: '拖動', desc: '連接', }, limit: '並行度僅限於 {{num}} 個分支。', depthLimit: '並行嵌套層限制為 {{num}} 個層', }, disconnect: '斷開', jumpToNode: '跳轉到此節點', addParallelNode: '新增並行節點', parallel: '並行', branch: '分支', fileUploadTip: '圖片上傳功能已升級為檔上傳。', ImageUploadLegacyTip: '現在,您可以在起始表單中創建檔案類型變數。我們將來不再支持圖片上傳功能。', importWarning: '謹慎', importWarningDetails: 'DSL 版本差異可能會影響某些功能', openInExplore: '在“探索”中打開', onFailure: '失敗時', addFailureBranch: '新增 Fail Branch', loadMore: '載入更多工作流', noHistory: '無歷史記錄', publishUpdate: '發布更新', exportSVG: '匯出為 SVG', exportPNG: '匯出為 PNG', versionHistory: '版本歷史', exitVersions: '退出版本', exportImage: '匯出圖像', exportJPEG: '匯出為 JPEG', tagBound: '使用此標籤的應用程式數量', currentView: '當前檢視', currentWorkflow: '當前工作流程', moreActions: '更多動作', listening: '聆聽', chooseStartNodeToRun: '選擇要執行的起始節點', runAllTriggers: '執行所有觸發器', features: '功能', featuresDescription: '提升網頁應用程式的使用者體驗', featuresDocLink: '了解更多', needStartNode: '至少必須新增一個起始節點', workflowAsToolDisabledHint: '發布最新的工作流程,並確保在將其配置為工具之前有一個已連接的使用者輸入節點。', }, publishLimit: { startNodeTitlePrefix: '升級以', startNodeTitleSuffix: '解鎖無限開始節點', startNodeDesc: '目前方案最多允許 2 個開始節點,升級後才能發布此工作流程。', }, env: { envPanelTitle: '環境變數', envDescription: '環境變數可用於存儲私人信息和憑證。它們是唯讀的,並且可以在導出時與 DSL 文件分開。', envPanelButton: '新增變數', modal: { title: '新增環境變數', editTitle: '編輯環境變數', type: '類型', name: '名稱', namePlaceholder: '環境名稱', value: '值', valuePlaceholder: '環境值', secretTip: '用於定義敏感信息或資料,DSL 設置配置為防止洩露。', description: '描述', descriptionPlaceholder: '描述此變數', }, export: { title: '導出機密環境變數?', checkbox: '導出機密值', ignore: '導出 DSL', export: '導出帶有機密值的 DSL', }, }, globalVar: { title: '系統變數', description: '系統變數是全域變數,在類型符合時可由任意節點在無需連線的情況下引用,例如終端使用者 ID 與工作流程 ID。', fieldsDescription: { conversationId: '對話 ID', dialogCount: '對話次數', userId: '使用者 ID', triggerTimestamp: '應用程式開始運行的時間戳', appId: '應用程式 ID', workflowId: '工作流程 ID', workflowRunId: '工作流程執行 ID', }, }, chatVariable: { panelTitle: '對話變數', panelDescription: '對話變數用於儲存 LLM 需要記住的互動資訊,包括對話歷史、上傳的檔案、使用者偏好等。這些變數可讀寫。', docLink: '查看我們的文件以了解更多。', button: '新增變數', modal: { title: '新增對話變數', editTitle: '編輯對話變數', name: '名稱', namePlaceholder: '變數名稱', type: '類型', value: '預設值', valuePlaceholder: '預設值,留空則不設定', description: '描述', descriptionPlaceholder: '描述此變數', editInJSON: '以 JSON 編輯', oneByOne: '逐一新增', editInForm: '在表單中編輯', arrayValue: '值', addArrayValue: '新增值', objectKey: '鍵', objectType: '類型', objectValue: '預設值', }, storedContent: '已儲存內容', updatedAt: '更新於 ', }, changeHistory: { title: '變更履歷', placeholder: '尚未更改任何內容', clearHistory: '清除歷史記錄', hint: '提示', hintText: '您的編輯操作將被跟踪並存儲在您的設備上,直到您離開編輯器。此歷史記錄將在您離開編輯器時被清除。', stepBackward_one: '{{count}} 步後退', stepBackward_other: '{{count}} 步後退', stepForward_one: '{{count}} 步前進', stepForward_other: '{{count}} 步前進', sessionStart: '會話開始', currentState: '當前狀態', nodeTitleChange: '區塊標題已更改', nodeDescriptionChange: '區塊描述已更改', nodeDragStop: '區塊已移動', nodeChange: '區塊已更改', nodeConnect: '區塊已連接', nodePaste: '區塊已粘貼', nodeDelete: '區塊已刪除', nodeAdd: '區塊已新增', nodeResize: '區塊已調整大小', noteAdd: '註釋已新增', noteChange: '註釋已更改', edgeDelete: '區塊已斷開連接', noteDelete: '註釋已刪除', }, errorMsg: { fieldRequired: '{{field}} 不能為空', authRequired: '請先授權', invalidJson: '{{field}} 是非法的 JSON', fields: { variable: '變數名', variableValue: '變數值', code: '程式碼', model: '模型', rerankModel: 'Rerank 模型', visionVariable: 'Vision Variable', }, invalidVariable: '無效的變數', rerankModelRequired: '在開啟 Rerank 模型之前,請在設置中確認模型配置成功。', toolParameterRequired: '{{field}}:参數 [{{param}}] 為必填項', noValidTool: '{{field}} 未選擇有效工具', startNodeRequired: '請先新增一個起始節點,再執行 {{operation}}', }, singleRun: { testRun: '測試運行', startRun: '開始運行', running: '運行中', testRunIteration: '測試運行迭代', back: '返回', iteration: '迭代', loop: '循環', preparingDataSource: '準備資料來源', reRun: '重新運行', }, tabs: { 'searchBlock': '搜索節點', 'blocks': '節點', 'tools': '工具', 'searchTrigger': '搜尋觸發器...', 'allTriggers': '所有觸發器', 'allTool': '全部', 'customTool': '自定義', 'workflowTool': '工作流', 'question-understand': '問題理解', 'logic': '邏輯', 'transform': '轉換', 'utilities': '工具', 'noResult': '未找到匹配項', 'searchTool': '搜索工具', 'agent': '代理策略', 'plugin': '插件', 'allAdded': '所有已新增的', 'addAll': '全部新增', 'sources': '來源', 'searchDataSource': '搜尋資料來源', 'noFeaturedPlugins': '前往 Marketplace 查看更多工具', 'noFeaturedTriggers': '前往 Marketplace 查看更多觸發器', 'start': '開始', 'noPluginsFound': '未找到任何插件', 'requestToCommunity': '對社群的請求', 'featuredTools': '精選', 'showMoreFeatured': '顯示更多', 'showLessFeatured': '顯示較少', 'installed': '已安裝', 'pluginByAuthor': '由 {{author}}', 'usePlugin': '選取工具', 'hideActions': '隱藏工具', 'startDisabledTip': '觸發節點與使用者輸入節點是互斥的。', }, blocks: { 'start': '開始', 'end': '輸出', 'answer': '直接回覆', 'llm': 'LLM', 'knowledge-retrieval': '知識檢索', 'question-classifier': '問題分類器', 'if-else': '條件分支', 'code': '程式碼執行', 'template-transform': '模板轉換', 'http-request': 'HTTP 請求', 'variable-assigner': '變數聚合器', 'variable-aggregator': '變數聚合器', 'assigner': '變數分配器', 'iteration-start': '迭代開始', 'iteration': '迭代', 'parameter-extractor': '參數提取器', 'list-operator': '清單運算子', 'document-extractor': '文件提取器', 'agent': '代理', 'loop-start': '循環開始', 'loop': '循環', 'loop-end': '退出循環', 'knowledge-index': '知識庫', 'datasource': '資料來源', 'originalStartNode': '原始起始節點', 'trigger-schedule': '排程觸發', 'trigger-webhook': 'Webhook 觸發', 'trigger-plugin': '插件觸發器', }, blocksAbout: { 'start': '定義一個 workflow 流程啟動的參數', 'end': '定義一個 workflow 流程的輸出和結果類型', 'answer': '定義一個聊天對話的回覆內容', 'llm': '調用大語言模型回答問題或者對自然語言進行處理', 'knowledge-retrieval': '允許你從知識庫中查詢與用戶問題相關的文本內容', 'question-classifier': '定義用戶問題的分類條件,LLM 能夠根據分類描述定義對話的進展方式', 'if-else': '允許你根據 if/else 條件將 workflow 拆分成兩個分支', 'code': '執行一段 Python 或 NodeJS 程式碼實現自定義邏輯', 'template-transform': '使用 Jinja 模板語法將資料轉換為字符串', 'http-request': '允許通過 HTTP 協議發送服務器請求', 'variable-assigner': '將多路分支的變數聚合為一個變數,以實現下游節點統一配置。', 'assigner': '變數分配節點用於為可寫入的變數(如對話變數)分配值。', 'variable-aggregator': '將多路分支的變數聚合為一個變數,以實現下游節點統一配置。', 'iteration': '對列表對象執行多次步驟直至輸出所有結果。', 'parameter-extractor': '利用 LLM 從自然語言內推理提取出結構化參數,用於後置的工具調用或 HTTP 請求。', 'document-extractor': '用於將上傳的文件解析為 LLM 易於理解的文字內容。', 'list-operator': '用於篩選或排序陣列內容。', 'agent': '調用大型語言模型來回答問題或處理自然語言', 'loop-end': '等同於「中斷」。這個節點沒有配置項目。當循環體達到這個節點時,循環終止。', 'loop': '執行邏輯迴圈,直到滿足終止條件或達到最大迴圈次數。', 'datasource': '資料來源 關於', 'knowledge-index': '知識庫 關於', 'trigger-schedule': '基於時間的工作流程觸發器,可按計劃啟動工作流程', 'trigger-webhook': 'Webhook 觸發器接收來自第三方系統的 HTTP 推送,以自動觸發工作流程。', 'trigger-plugin': '第三方整合觸發器,從外部平台事件啟動工作流程', }, operator: { zoomIn: '放大', zoomOut: '縮小', zoomTo50: '縮放到 50%', zoomTo100: '放大到 100%', zoomToFit: '自適應視圖', alignNodes: '對齊節點', distributeVertical: '垂直等間距', alignLeft: '左對齊', distributeHorizontal: '水平等間距', vertical: '垂直', alignTop: '頂部對齊', alignCenter: '居中對齊', horizontal: '水平', selectionAlignment: '選擇對齊', alignRight: '右對齊', alignBottom: '底部對齊', alignMiddle: '中部對齊', }, panel: { userInputField: '用戶輸入字段', changeBlock: '更改節點', helpLink: '查看幫助文件', about: '關於', createdBy: '作者', nextStep: '下一步', addNextStep: '新增此工作流程中的下一個節點', selectNextStep: '選擇下一個節點', runThisStep: '運行此步驟', checklist: '檢查清單', checklistTip: '發佈前確保所有問題均已解決', checklistResolved: '所有問題均已解決', organizeBlocks: '整理節點', change: '更改', optional: '(選擇性)', minimize: '退出全螢幕', maximize: '最大化畫布', scrollToSelectedNode: '捲動至選取的節點', optional_and_hidden: '(可選且隱藏)', goTo: '前往', startNode: '起始節點', }, nodes: { common: { outputVars: '輸出變數', insertVarTip: '插入變數', memory: { memory: '記憶', memoryTip: '聊天記憶設置', windowSize: '記憶窗口', conversationRoleName: '對話角色名', user: '用戶前綴', assistant: '助手前綴', }, memories: { title: '記憶', tip: '聊天記憶', builtIn: '內置', }, errorHandle: { none: { title: '沒有', desc: '如果發生異常且未得到處理,節點將停止運行', }, defaultValue: { title: '預設值', desc: '發生錯誤時,請指定靜態輸出內容。', tip: '出錯時,將返回以下值。', inLog: 'Node 異常,按照預設值輸出。', output: '輸出預設值', }, failBranch: { title: '失敗分支', desc: '當發生錯誤時,它會執行 exception 分支', customize: '轉到畫布以自定義 fail 分支邏輯。', inLog: 'Node 異常,將自動執行 fail 分支。節點輸出將返回錯誤類型和錯誤消息,並將其傳遞給下游。', customizeTip: '啟動 fail 分支後,節點引發的異常不會終止進程。相反,它將自動執行預定義的 fail 分支,允許您靈活地提供錯誤消息、報告、修復或跳過操作。', }, partialSucceeded: { tip: '進程中有 {{num}} 個節點運行異常,請前往 tracing 查看日誌。', }, title: '錯誤處理', tip: '異常處理策略,當節點遇到異常時觸發。', }, retry: { retry: '重試', retryOnFailure: '失敗時重試', maxRetries: '最大重試次數', retryInterval: '重試間隔', retryTimes: '失敗時重試 {{times}} 次', retrying: '重試。。。', retrySuccessful: '重試成功', retryFailed: '重試失敗', retryFailedTimes: '{{times}} 次重試失敗', times: '次', ms: '毫秒', retries: '{{num}}重試', }, typeSwitch: { input: '輸入值', variable: '使用變數', }, inputVars: '輸入變數', }, start: { required: '必填', inputField: '輸入字段', builtInVar: '內置變數', outputVars: { query: '用戶輸入', memories: { des: '會話歷史', type: '消息類型', content: '消息內容', }, files: '文件列表', }, noVarTip: '設置的輸入可在工作流程中使用', }, end: { outputs: '輸出', output: { type: '輸出類型', variable: '輸出變數', }, type: { 'none': '無', 'plain-text': '純文本', 'structured': '結構化', }, }, answer: { answer: '回覆', outputVars: '輸出變數', }, llm: { model: '模型', variables: '變數', context: '上下文', contextTooltip: '您可以導入知識庫作為上下文', notSetContextInPromptTip: '要啟用上下文功能,請在提示中填寫上下文變數。', prompt: '提示詞', addMessage: '新增消息', roleDescription: { system: '為對話提供高層指導', user: '向模型提供指令、查詢或任何基於文本的輸入', assistant: '基於用戶消息的模型回覆', }, vision: '視覺', files: '文件', resolution: { name: '分辨率', high: '高', low: '低', }, outputVars: { output: '生成內容', reasoning_content: '推理內容', usage: '模型用量信息', }, singleRun: { variable: '變數', }, sysQueryInUser: 'user message 中必須包含 sys.query', jsonSchema: { warningTips: { saveSchema: '請在保存結構之前完成當前欄位的編輯', }, resetDefaults: '重置', instruction: '指示', apply: '申請', promptPlaceholder: '描述你的 JSON 架構...', addField: '新增字段', generate: '生成', descriptionPlaceholder: '新增描述', fieldNamePlaceholder: '欄位名稱', showAdvancedOptions: '顯示進階選項', import: '從 JSON 匯入', generatedResult: '生成的結果', generateJsonSchema: '生成 JSON 架構', promptTooltip: '將文本描述轉換成標準化的 JSON Schema 結構。', doc: '了解更多有關結構化輸出的資訊', addChildField: '新增子欄位', title: '結構化輸出模式', regenerate: '重新生成', stringValidations: '字串驗證', generationTip: '您可以使用自然語言快速創建 JSON Schema。', generating: '生成 JSON 架構...', back: '返回', required: '必需的', resultTip: '這是生成的結果。如果您不滿意,可以回去修改您的提示。', }, reasoningFormat: { title: '啟用推理標籤分離', tooltip: '從 think 標籤中提取內容並將其存儲在 reasoning_content 欄位中。', tagged: '保持思考標籤', separated: '分開思考標籤', }, }, knowledgeRetrieval: { queryVariable: '查詢變數', knowledge: '知識庫', outputVars: { output: '檢索的分段', content: '分段內容', title: '分段標題', icon: '分段圖標', url: '分段鏈接', metadata: '其他元資料', }, metadata: { options: { disabled: { subTitle: '不啟用元資料過濾', title: '禁用', }, automatic: { title: '自動的', subTitle: '根據用戶查詢自動生成元資料過濾條件', desc: '根據查詢變數自動生成元資料過濾條件', }, manual: { title: '手動', subTitle: '手動新增元資料過濾條件', }, }, panel: { add: '新增條件', datePlaceholder: '選擇一個時間...', search: '搜尋元資料', conditions: '條件', title: '元資料過濾條件', select: '選擇變數...', placeholder: '輸入數值', }, title: '元資料過濾', tip: '元資料過濾是使用元資料屬性(如標籤、類別或訪問權限)來精煉和控制在系統內檢索相關信息的過程。', }, }, http: { inputVars: '輸入變數', api: 'API', apiPlaceholder: '輸入 URL,輸入變數時請鍵入‘/’', notStartWithHttp: 'API 應該以 http:// 或 https:// 開頭', key: '鍵', value: '值', bulkEdit: '批量編輯', keyValueEdit: '鍵值編輯', headers: 'Headers', params: 'Params', body: 'Body', outputVars: { body: '響應內容', statusCode: '響應狀態碼', headers: '響應頭列表 JSON', files: '文件列表', }, authorization: { 'authorization': '鑑權', 'authorizationType': '鑑權類型', 'no-auth': '無', 'api-key': 'API-Key', 'auth-type': 'API 鑑權類型', 'basic': '基礎', 'bearer': 'Bearer', 'custom': '自定義', 'api-key-title': 'API Key', 'header': 'Header', }, insertVarPlaceholder: '鍵入 \'/\' 鍵快速插入變數', timeout: { title: '超時設置', connectLabel: '連接超時', connectPlaceholder: '輸入連接超時(以秒為單位)', readLabel: '讀取超時', readPlaceholder: '輸入讀取超時(以秒為單位)', writeLabel: '寫入超時', writePlaceholder: '輸入寫入超時(以秒為單位)', }, type: '類型', binaryFileVariable: '二進位檔變數', extractListPlaceholder: '輸入清單項索引,鍵入 『/』 插入變數', curl: { placeholder: '在此處粘貼 cURL 字串', title: '從 cURL 導入', }, verifySSL: { title: '驗證 SSL 證書', warningTooltip: '不建議在生產環境中禁用SSL驗證。這僅應用於開發或測試,因為這樣會使連接容易受到中間人攻擊等安全威脅的威脅。', }, }, code: { inputVars: '輸入變數', outputVars: '輸出變數', advancedDependencies: '高級依賴', advancedDependenciesTip: '在這裡新增一些預加載需要消耗較多時間或非默認內置的依賴包', searchDependencies: '搜索依賴', syncFunctionSignature: '同步函數簽名至代碼', }, templateTransform: { inputVars: '輸入變數', code: '模板程式碼', codeSupportTip: '只支持 Jinja2', outputVars: { output: '轉換後內容', }, }, ifElse: { if: 'If', else: 'Else', elseDescription: '用於定義當 if 條件不滿足時應執行的邏輯。', and: 'and', or: 'or', operator: '操作符', notSetVariable: '請先設置變數', comparisonOperator: { 'contains': '包含', 'not contains': '不包含', 'start with': '開始是', 'end with': '結束是', 'is': '是', 'is not': '不是', 'empty': '為空', 'not empty': '不為空', 'null': '空', 'not null': '不為空', 'all of': '全部', 'exists': '存在', 'in': '在', 'not in': '不在', 'not exists': '不存在', 'after': '之後', 'before': '之前', }, enterValue: '輸入值', addCondition: '新增條件', conditionNotSetup: '條件未設置', selectVariable: '選擇變數...', optionName: { image: '圖像', url: '網址', doc: '文檔', localUpload: '本地上傳', video: '視頻', audio: '音訊', }, select: '選擇', addSubVariable: '子變數', }, variableAssigner: { title: '變數賦值', outputType: '輸出類型', varNotSet: '未設置變數', noVarTip: '新增需要賦值的變數', type: { string: 'String', number: 'Number', object: 'Object', array: 'Array', }, aggregationGroup: '聚合分組', aggregationGroupTip: '開啟該功能後,變數聚合器內可以同時聚合多組變數', addGroup: '新增分組', outputVars: { varDescribe: '{{groupName}}的輸出變數', }, setAssignVariable: '設置賦值變數', }, assigner: { 'assignedVariable': '已分配變數', 'writeMode': '寫入模式', 'writeModeTip': '當已分配變數是陣列時,附加模式會新增到末尾。', 'over-write': '覆寫', 'append': '附加', 'plus': '加', 'clear': '清除', 'setVariable': '設定變數', 'variable': '變數', 'operations': { 'overwrite': '覆寫', '/=': '/=', 'title': '操作', '*=': '*=', 'extend': '擴展', '+=': '+=', 'set': '設置', 'over-write': '覆寫', '-=': '-=', 'append': '附加', 'clear': '清除', 'remove-first': '移除首項', 'remove-last': '移除末項', }, 'noAssignedVars': '沒有可用的已分配變數', 'variables': '變數', 'selectAssignedVariable': '選擇配置的變數...', 'setParameter': '設定參數...', 'noVarTip': '點擊「+」按鈕新增變數', 'assignedVarsDescription': '分配的變數必須是可寫變數,例如對話變數。', 'varNotSet': '未設置變數', }, tool: { authorize: '授權', inputVars: '輸入變數', outputVars: { text: '工具生成的內容', files: { title: '工具生成的文件', type: '支持類型。現在只支持圖片', transfer_method: '傳輸方式。值為 remote_url 或 local_file', url: '圖片鏈接', upload_file_id: '上傳文件 ID', }, json: '工具生成的 JSON', }, insertPlaceholder2: '插入變數', insertPlaceholder1: '輸入或按壓', settings: '設定', }, questionClassifiers: { model: '模型', inputVars: '輸入變數', outputVars: { className: '分類名稱', usage: '模型用量信息', }, class: '分類', classNamePlaceholder: '輸入你的分類名稱', advancedSetting: '高級設置', topicName: '主題內容', topicPlaceholder: '在這裡輸入你的主題內容', addClass: '新增分類', instruction: '指令', instructionTip: '你可以輸入額外的附加指令,幫助問題分類器更好的理解如何分類', instructionPlaceholder: '在這裡輸入你的指令', }, parameterExtractor: { inputVar: '輸入變數', outputVars: { isSuccess: '是否成功。成功時值為 1,失敗時值為 0。', errorReason: '錯誤原因', usage: '模型用量信息', }, extractParameters: '提取參數', importFromTool: '從工具導入', addExtractParameter: '新增提取參數', addExtractParameterContent: { name: '名稱', namePlaceholder: '提取參數名稱', type: '類型', typePlaceholder: '提取參數類型', description: '描述', descriptionPlaceholder: '提取參數描述', required: '必填', requiredContent: '必填僅作為模型推理的參考,不用於參數輸出的強制驗證。', }, extractParametersNotSet: '提取參數未設置', instruction: '指令', instructionTip: '你可以輸入額外的附加指令,幫助參數提取器理解如何提取參數', advancedSetting: '高級設置', reasoningMode: '推理模式', reasoningModeTip: '你可以根據模型對於 Function calling 或 Prompt 的指令響應能力選擇合適的推理模式', }, iteration: { deleteTitle: '刪除迭代節點?', deleteDesc: '刪除迭代節點將刪除所有子節點', input: '輸入', output: '輸出變數', iteration_one: '{{count}}個迭代', iteration_other: '{{count}}個迭代', currentIteration: '當前迭代', ErrorMethod: { operationTerminated: '終止', removeAbnormalOutput: 'remove-abnormal-output', continueOnError: '出錯時繼續', }, comma: ',', parallelMode: '並行模式', parallelModeEnableTitle: 'Parallel Mode 已啟用', MaxParallelismTitle: '最大並行度', parallelModeUpper: '並行模式', parallelPanelDesc: '在並行模式下,反覆運算中的任務支援並行執行。', error_one: '{{count}}錯誤', errorResponseMethod: '錯誤回應方法', parallelModeEnableDesc: '在並行模式下,反覆運算中的任務支援並行執行。您可以在右側的 properties 面板中進行配置。', answerNodeWarningDesc: '並行模式警告:反覆運算中的應答節點、對話變數賦值和持久讀/寫操作可能會導致異常。', error_other: '{{count}}錯誤', MaxParallelismDesc: '最大並行度用於控制在單個反覆運算中同時執行的任務數。', flattenOutput: '展平成輸出', flattenOutputDesc: '啟用時,如果所有的迭代輸出都是陣列,它們將被展平成單一陣列。禁用時,輸出將保持巢狀陣列結構。', }, note: { editor: { link: '連結', openLink: '打開', medium: '中等', small: '小', invalidUrl: 'URL 無效', italic: '斜體的', bulletList: '項目符號清單', large: '大', unlink: '取消連結', enterUrl: '輸入網址...', bold: '大膽', showAuthor: '顯示作者', strikethrough: '刪除線', placeholder: '寫下您的筆記...', }, addNote: '新增註解', }, docExtractor: { outputVars: { text: '提取的文字', }, learnMore: '瞭解更多資訊', inputVar: '輸入變數', supportFileTypes: '支援文件類型:{{types}}。', }, listFilter: { outputVars: { last_record: '最後一條記錄', first_record: '第一條記錄', result: '篩選結果', }, desc: '描述', asc: 'ASC 的', orderBy: '排序依據', inputVar: '輸入變數', filterConditionComparisonValue: 'Filter Condition 值', filterCondition: '篩選條件', limit: '前 N 名', selectVariableKeyPlaceholder: 'Select sub variable key(選擇子變數鍵)', filterConditionComparisonOperator: 'Filter Condition Comparison 運算符', filterConditionKey: '篩選條件鍵', extractsCondition: '提取第 N 項', }, agent: { strategy: { label: '代理策略', shortLabel: '策略', tooltip: '不同的 Agentic 策略決定了系統如何規劃和執行多步驟工具調用', configureTip: '請配置 agentic 策略。', searchPlaceholder: '搜索代理策略', selectTip: '選擇代理策略', configureTipDesc: '配置代理策略后,該節點將自動載入剩餘的配置。該策略將影響多步驟工具推理的機制。', }, pluginInstaller: { installing: '安裝', install: '安裝', }, modelNotInMarketplace: { title: '未安裝模型', manageInPlugins: '在插件中管理', desc: '此模型是從 Local 或 GitHub 儲存庫安裝的。請在安裝後使用。', }, modelNotSupport: { title: '不支援的型號', desc: '已安裝的插件版本不提供此模型。', descForVersionSwitch: '已安裝的插件版本不提供此模型。按兩下以切換版本。', }, modelSelectorTooltips: { deprecated: '此模型已棄用', }, outputVars: { files: { type: '支撐類型。現在僅支援鏡像', transfer_method: '轉移方法。值為 remote_url 或 local_file', title: '代理生成的檔', url: '圖片網址', upload_file_id: '上傳檔 ID', }, text: '代理生成的內容', usage: '模型用量信息', json: '代理生成的 JSON', }, checkList: { strategyNotSelected: '未選擇策略', }, installPlugin: { title: '安裝插件', changelog: '更新日誌', cancel: '取消', desc: '即將安裝以下插件', install: '安裝', }, pluginNotFoundDesc: '此插件是從 GitHub 安裝的。請前往插件 重新安裝', modelNotSelected: '未選擇模型', tools: '工具', strategyNotFoundDesc: '已安裝的插件版本不提供此策略。', pluginNotInstalledDesc: '此插件是從 GitHub 安裝的。請前往插件 重新安裝', strategyNotFoundDescAndSwitchVersion: '已安裝的插件版本不提供此策略。按兩下以切換版本。', strategyNotInstallTooltip: '{{strategy}} 未安裝', toolNotAuthorizedTooltip: '{{工具}}未授權', unsupportedStrategy: '不支援的策略', model: '型', modelNotInstallTooltip: '此模型未安裝', strategyNotSet: '代理策略未設置', toolNotInstallTooltip: '{{tool}} 未安裝', maxIterations: '最大反覆運算次數', toolbox: '工具箱', configureModel: '配置模型', learnMore: '瞭解更多資訊', linkToPlugin: '連結到插件', pluginNotInstalled: '此插件未安裝', notAuthorized: '未授權', clickToViewParameterSchema: '點擊查看參數架構', parameterSchema: '參數架構', }, loop: { ErrorMethod: { operationTerminated: '終止', continueOnError: '繼續出錯', removeAbnormalOutput: '移除異常輸出', }, loop_other: '{{count}} 循環', variableName: '變數名稱', error_one: '{{count}} 錯誤', loopMaxCount: '最大迴圈次數', input: '輸入', loopVariables: '循環變數', output: '輸出變數', comma: ',', errorResponseMethod: '錯誤回應方法', breakCondition: '迴圈終止條件', loopMaxCountError: '請輸入一個有效的最大迴圈次數,範圍為 1 到 {{maxCount}}', loop_one: '{{count}} 次循環', exitConditionTip: '循環節點至少需要一個退出條件', breakConditionTip: '只有在具有終止條件的循環內和對話變數中,才能引用變數。', totalLoopCount: '總迴圈次數:{{count}}', error_other: '{{count}} 錯誤', currentLoop: '電流迴路', finalLoopVariables: '最後迴圈變數', currentLoopCount: '當前循環次數:{{count}}', inputMode: '輸入模式', loopNode: '循環節點', initialLoopVariables: '初始迴圈變數', deleteDesc: '刪除循環節點將移除所有子節點', setLoopVariables: '在迴圈範圍內設置變數', deleteTitle: '刪除循環節點嗎?', }, dataSource: { add: '新增資料來源', supportedFileFormats: '支援的檔案格式', supportedFileFormatsPlaceholder: '檔案副檔名, e.g. doc', }, knowledgeBase: { chunkStructureTip: { learnMore: '瞭解詳情', title: '請選擇區塊結構', message: 'Dify 知識庫支援三種區塊結構:一般、親子和 Q&A。每個知識庫只能有一個結構。前一個節點的輸出必須與選取的區塊結構一致。請注意,區塊結構的選擇會影響可用的索引方法。', }, chunkIsRequired: '需要區塊結構', aboutRetrieval: '關於檢索方法。', chooseChunkStructure: '選擇區塊結構', indexMethodIsRequired: '索引方法是必填的', chunkStructure: '區塊結構', changeChunkStructure: '變更區塊結構', retrievalSettingIsRequired: '需要檢索設定', chunksInput: '區塊', chunksInputTip: '知識庫節點的輸入變數是 Chunks。該變數類型是一個物件,具有特定的 JSON Schema,必須與所選的塊結構一致。', rerankingModelIsRequired: '需要重新排序模型', chunksVariableIsRequired: 'Chunks 變數是必需的', embeddingModelIsRequired: '需要嵌入模型', rerankingModelIsInvalid: '重排序模型無效', embeddingModelIsInvalid: '嵌入模型無效', }, triggerPlugin: { authorized: '已授權', notConfigured: '未設定', notAuthorized: '未被授權', selectSubscription: '選擇訂閱', availableSubscriptions: '可用訂閱', addSubscription: '新增訂閱', removeSubscription: '取消訂閱', subscriptionRemoved: '訂閱已成功移除', error: '錯誤', configuration: '配置', remove: '移除', or: '或', useOAuth: '使用 OAuth', useApiKey: '使用 API 金鑰', authenticationFailed: '驗證失敗', authenticationSuccess: '驗證成功', oauthConfigFailed: 'OAuth 配置失敗', configureOAuthClient: '配置 OAuth 客戶端', oauthClientDescription: '配置 OAuth 客戶端憑證以啟用身份驗證', oauthClientSaved: 'OAuth 用戶端設定已成功儲存', configureApiKey: '配置 API 金鑰', apiKeyDescription: '配置 API 金鑰憑證以進行身份驗證', apiKeyConfigured: 'API 金鑰設定成功', configurationFailed: '配置失敗', failedToStart: '啟動驗證流程失敗', credentialsVerified: '憑證驗證成功', credentialVerificationFailed: '憑證驗證失敗', verifyAndContinue: '驗證並繼續', configureParameters: '配置參數', parametersDescription: '配置觸發器參數和屬性', configurationComplete: '配置完成', configurationCompleteDescription: '您的觸發器已成功配置', configurationCompleteMessage: '您的觸發器配置現已完成並可使用。', parameters: '參數', properties: '屬性', propertiesDescription: '此觸發器的額外配置屬性', noConfigurationRequired: '此觸發器無需額外配置。', subscriptionName: '訂閱名稱', subscriptionNameDescription: '為此觸發器訂閱輸入一個唯一名稱', subscriptionNamePlaceholder: '輸入訂閱名稱...', subscriptionNameRequired: '需要訂閱名稱', subscriptionRequired: '需要訂閱', }, triggerSchedule: { title: '時間表', nodeTitle: '排程觸發', notConfigured: '未配置', useCronExpression: '使用 cron 表達式', useVisualPicker: '使用視覺選擇器', frequency: { label: '頻率', hourly: '每小時', daily: '每日', weekly: '每週', monthly: '每月', }, selectFrequency: '選擇頻率', frequencyLabel: '頻率', nextExecution: '下一次執行', weekdays: '平日', time: '時間', cronExpression: 'Cron 表達式', nextExecutionTime: '下一次執行時間', nextExecutionTimes: '接下來的 5 次執行時間', startTime: '開始時間', executeNow: '立即執行', selectDateTime: '選擇日期和時間', hours: '小時', minutes: '分鐘', onMinute: '在一分鐘內', days: '天', lastDay: '最後一天', lastDayTooltip: '並非所有月份都有31天。使用「最後一天」選項來選擇每個月的最後一天。', mode: '時尚', timezone: '時區', visualConfig: '視覺配置', monthlyDay: '每月日', executionTime: '執行時間', invalidTimezone: '無效的時區', invalidCronExpression: '無效的 cron 表達式', noValidExecutionTime: '無法計算有效的執行時間', executionTimeCalculationError: '無法計算執行時間', invalidFrequency: '無效頻率', invalidStartTime: '開始時間無效', startTimeMustBeFuture: '開始時間必須是未來的時間', invalidTimeFormat: '時間格式無效(預期為 HH:MM AM/PM)', invalidWeekday: '無效的星期日:{{weekday}}', invalidMonthlyDay: '每月日期必須在 1 到 31 之間或為「最後一天」', invalidOnMinute: '分鐘必須介於 0 到 59 之間', invalidExecutionTime: '無效的執行時間', executionTimeMustBeFuture: '執行時間必須在未來', }, triggerWebhook: { title: 'Webhook 觸發', nodeTitle: '🔗 網路鉤子觸發', configPlaceholder: 'Webhook 觸發配置將在此實施', webhookUrl: 'Webhook 網址', webhookUrlPlaceholder: '點擊生成以創建 webhook URL', generate: '生成', copy: '複製', test: '測試', urlGenerated: 'Webhook URL 已成功生成', urlGenerationFailed: '無法生成網絡掛鉤 URL', urlCopied: 'URL 已複製到剪貼簿', method: '方法', contentType: '內容類型', queryParameters: '查詢參數', headerParameters: '標頭參數', requestBodyParameters: '請求主體參數', parameterName: '變數名稱', varName: '變數名稱', varType: '類型', varNamePlaceholder: '輸入變數名稱...', required: '必填', addParameter: '添加', addHeader: '添加', noParameters: '未設定任何參數', noQueryParameters: '未配置查詢參數', noHeaders: '未配置標頭', noBodyParameters: '未配置任何正文參數', debugUrlTitle: '在測試運行中,請始終使用此 URL', debugUrlCopy: '點擊複製', debugUrlCopied: '已複製!', debugUrlPrivateAddressWarning: '此 URL 似乎是內部位址,可能會導致 webhook 請求失敗。您可以將 TRIGGER_URL 更改為公開位址。', errorHandling: '錯誤處理', errorStrategy: '錯誤處理', responseConfiguration: '回應', asyncMode: '非同步模式', statusCode: '狀態碼', responseBody: '回應正文', responseBodyPlaceholder: '在這裡撰寫您的回覆內容', headers: '標題', validation: { webhookUrlRequired: '需要 Webhook URL', invalidParameterType: '參數 "{{name}}" 的類型 "{{type}}" 無效', }, }, }, tracing: { stopBy: '由{{user}}終止', }, variableReference: { noAvailableVars: '無可用變數', noAssignedVars: '沒有可用的已分配變數', noVarsForOperation: '所選操作沒有可用於賦值的變數。', assignedVarsDescription: '分配的變數必須是可寫變數,例如', conversationVars: '對話變數', }, versionHistory: { filter: { onlyShowNamedVersions: '僅顯示命名版本', onlyYours: '只有妳的', empty: '未找到匹配的版本歷史', all: '所有', reset: '重置過濾器', }, editField: { releaseNotes: '發佈說明', titleLengthLimit: '標題不能超過 {{limit}} 個字符', releaseNotesLengthLimit: '發佈說明不能超過 {{limit}} 個字符', title: '標題', }, action: { updateFailure: '更新版本失敗', restoreFailure: '無法恢復版本', restoreSuccess: '恢復版本', updateSuccess: '版本已更新', deleteSuccess: '版本已刪除', deleteFailure: '無法刪除版本', copyIdSuccess: 'ID 已複製到剪貼板', }, nameThisVersion: '給這個版本命名', latest: '最新', currentDraft: '當前草稿', title: '版本', editVersionInfo: '編輯版本信息', restorationTip: '版本恢復後,當前草稿將被覆蓋。', deletionTip: '刪除是不可逆的,請確認。', releaseNotesPlaceholder: '描述發生了什麼變化', defaultName: '未命名版本', copyId: '複製ID', }, debug: { settingsTab: '設定', lastRunTab: '最後一次運行', relationsTab: '關係', noData: { runThisNode: '運行此節點', description: '上次運行的結果將顯示在這裡', }, variableInspect: { listening: { title: '正在監聽觸發器事件…', tip: '您現在可以向 HTTP {{nodeName}} 端點發送測試請求來模擬事件觸發,或將其作為即時事件除錯的回呼 URL。所有輸出都可在變數檢視器中直接查看。', tipPlugin: '您現在可以在 {{- pluginName}} 中建立事件,並在變數檢視器中檢視這些事件的輸出。', tipSchedule: '正在監聽排程觸發器事件。\n下一次排程執行時間:{{nextTriggerTime}}', tipFallback: '正在等待觸發器事件,輸出會顯示在此處。', defaultNodeName: '此觸發器', defaultPluginName: '此插件觸發器', defaultScheduleTime: '未設定', selectedTriggers: '已選觸發器', stopButton: '停止', }, trigger: { cached: '查看快取的變數', stop: '停止運行', clear: '清晰', running: '快取運行狀態', normal: '變數檢查', }, emptyLink: '了解更多', view: '查看日誌', clearAll: '重置所有', envNode: '環境', title: '變數檢查', clearNode: '清除快取變數', systemNode: '系統', reset: '重置為上次運行值', chatNode: '對話', edited: '編輯的', emptyTip: '在畫布上逐步執行節點或逐步運行節點後,您可以在變數檢視中查看節點變數的當前值。', resetConversationVar: '將對話變數重置為默認值', export: '出口', largeData: '大資料,唯讀預覽。匯出以檢視全部。', exportToolTip: '將變數匯出為檔案', largeDataNoExport: '大型資料 - 僅部分預覽', }, relations: { dependencies: '依賴', dependents: '被依賴', dependenciesDescription: '此節點所依賴的其他節點', dependentsDescription: '依賴此節點的其他節點', noDependencies: '無依賴', noDependents: '無被依賴', }, copyLastRun: '複製上一次運行', copyLastRunError: '未能複製上一次運行的輸入', noMatchingInputsFound: '在上次運行中未找到匹配的輸入', noLastRunFound: '沒有找到之前的運行', lastOutput: '最後的輸出', lastRunInputsCopied: '從上次運行複製的 {{count}} 個輸入', }, sidebar: { exportWarning: '導出當前保存的版本', exportWarningDesc: '這將導出當前保存的工作流程版本。如果您在編輯器中有未保存的更改,請先通過使用工作流程畫布中的導出選項來保存它們。', }, error: { startNodeRequired: '請先新增一個起始節點,再執行 {{operation}}', operations: { connectingNodes: '連接節點', addingNodes: '新增節點', modifyingWorkflow: '修改工作流程', updatingWorkflow: '更新工作流程', }, }, customWebhook: '自訂 Webhook', difyTeam: 'Dify 團隊', triggerStatus: { enabled: '觸發', disabled: '觸發器 • 已停用', }, entryNodeStatus: { enabled: '開始', disabled: '開始 • 已停用', }, onboarding: { title: '選擇一個起始節點開始', description: '不同的起始節點有不同的能力。別擔心,你之後總是可以更改它們。', userInputFull: '使用者輸入(原始起始節點)', userInputDescription: '啟動節點,允許設定使用者輸入變數,工具功能包括網頁應用程式、服務 API、MCP 伺服器和工作流程。', trigger: '觸發器', triggerDescription: '觸發器可以作為工作流程的起始節點,例如排程任務、自訂網絡掛鉤或與其他應用程式的整合。', back: '返回', learnMore: '了解更多', aboutStartNode: '關於起始節點。', escTip: { press: '新聞媒體', key: '取消', toDismiss: '解僱', }, }, } export default translation