From 693a9c5b957c02b9b7cd2a2548e9631086bb4537 Mon Sep 17 00:00:00 2001 From: yyh Date: Fri, 23 Jan 2026 12:42:42 +0800 Subject: [PATCH] rm i18n .ts file --- web/i18n/en-US/workflow.ts | 1310 ---------------------------------- web/i18n/ja-JP/workflow.ts | 1298 --------------------------------- web/i18n/zh-Hans/workflow.ts | 1310 ---------------------------------- web/i18n/zh-Hant/workflow.ts | 1310 ---------------------------------- 4 files changed, 5228 deletions(-) delete mode 100644 web/i18n/en-US/workflow.ts delete mode 100644 web/i18n/ja-JP/workflow.ts delete mode 100644 web/i18n/zh-Hans/workflow.ts delete mode 100644 web/i18n/zh-Hant/workflow.ts diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts deleted file mode 100644 index 2451fca0f8..0000000000 --- a/web/i18n/en-US/workflow.ts +++ /dev/null @@ -1,1310 +0,0 @@ -const translation = { - common: { - undo: 'Undo', - redo: 'Redo', - editing: 'Editing', - autoSaved: 'Auto-Saved', - unpublished: 'Unpublished', - published: 'Published', - publish: 'Publish', - update: 'Update', - publishUpdate: 'Publish Update', - run: 'Test Run', - running: 'Running', - listening: 'Listening', - chooseStartNodeToRun: 'Choose the start node to run', - runAllTriggers: 'Run all triggers', - inRunMode: 'In Run Mode', - inPreview: 'In Preview', - inPreviewMode: 'In Preview Mode', - preview: 'Preview', - viewRunHistory: 'View run history', - runHistory: 'Run History', - goBackToEdit: 'Go back to editor', - conversationLog: 'Conversation Log', - features: 'Features', - featuresDescription: 'Enhance web app user experience', - ImageUploadLegacyTip: 'You can now create file type variables in the start form. We will no longer support the image upload feature in the future. ', - fileUploadTip: 'Image upload features have been upgraded to file upload. ', - featuresDocLink: 'Learn more', - debugAndPreview: 'Preview', - restart: 'Restart', - currentDraft: 'Current Draft', - currentDraftUnpublished: 'Current Draft Unpublished', - latestPublished: 'Latest Published', - publishedAt: 'Published', - restore: 'Restore', - versionHistory: 'Version History', - exitVersions: 'Exit Versions', - runApp: 'Run App', - batchRunApp: 'Batch Run App', - openInExplore: 'Open in Explore', - accessAPIReference: 'Access API Reference', - embedIntoSite: 'Embed Into Site', - addTitle: 'Add title...', - addDescription: 'Add description...', - noVar: 'No variable', - searchVar: 'Search variable', - variableNamePlaceholder: 'Variable name', - setVarValuePlaceholder: 'Set variable', - needConnectTip: 'This step is not connected to anything', - maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch', - needAdd: '{{node}} node must be added', - needOutputNode: 'The Output node must be added', - needStartNode: 'At least one start node must be added', - needAnswerNode: 'The Answer node must be added', - workflowProcess: 'Workflow Process', - notRunning: 'Not running yet', - previewPlaceholder: 'Enter content in the box below to start debugging the Chatbot', - effectVarConfirm: { - title: 'Remove Variable', - content: 'The variable is used in other nodes. Do you still want to remove it?', - }, - insertVarTip: 'Press the \'/\' key to insert quickly', - processData: 'Process Data', - input: 'Input', - output: 'Output', - jinjaEditorPlaceholder: 'Type \'/\' or \'{\' to insert variable', - viewOnly: 'View Only', - showRunHistory: 'Show Run History', - enableJinja: 'Enable Jinja template support', - learnMore: 'Learn More', - copy: 'Copy', - duplicate: 'Duplicate', - addBlock: 'Add Node', - pasteHere: 'Paste Here', - pointerMode: 'Pointer Mode', - handMode: 'Hand Mode', - exportImage: 'Export Image', - exportPNG: 'Export as PNG', - exportJPEG: 'Export as JPEG', - exportSVG: 'Export as SVG', - currentView: 'Current View', - currentWorkflow: 'Current Workflow', - moreActions: 'More Actions', - model: 'Model', - workflowAsTool: 'Workflow as Tool', - configureRequired: 'Configure Required', - configure: 'Configure', - manageInTools: 'Manage in Tools', - workflowAsToolTip: 'Tool reconfiguration is required after the workflow update.', - workflowAsToolDisabledHint: 'Publish the latest workflow and ensure a connected User Input node before configuring it as a tool.', - viewDetailInTracingPanel: 'View details', - syncingData: 'Syncing data, just a few seconds.', - importDSL: 'Import DSL', - importDSLTip: 'Current draft will be overwritten.\nExport workflow as backup before importing.', - backupCurrentDraft: 'Backup Current Draft', - chooseDSL: 'Choose DSL file', - overwriteAndImport: 'Overwrite and Import', - importFailure: 'Import Failed', - importWarning: 'Caution', - importWarningDetails: 'DSL version difference may affect certain features', - importSuccess: 'Import Successfully', - parallelTip: { - click: { - title: 'Click', - desc: ' to add', - }, - drag: { - title: 'Drag', - desc: ' to connect', - }, - limit: 'Parallelism is limited to {{num}} branches.', - depthLimit: 'Parallel nesting layer limit of {{num}} layers', - }, - disconnect: 'Disconnect', - jumpToNode: 'Jump to this node', - addParallelNode: 'Add Parallel Node', - parallel: 'PARALLEL', - branch: 'BRANCH', - onFailure: 'On Failure', - addFailureBranch: 'Add Fail Branch', - loadMore: 'Load More', - noHistory: 'No History', - tagBound: 'Number of apps using this tag', - }, - publishLimit: { - startNodeTitlePrefix: 'Upgrade to', - startNodeTitleSuffix: 'unlock unlimited triggers per workflow', - startNodeDesc: 'You’ve reached the limit of 2 triggers per workflow for this plan. Upgrade to publish this workflow.', - }, - env: { - envPanelTitle: 'Environment Variables', - envDescription: 'Environment variables can be used to store private information and credentials. They are read-only and can be separated from the DSL file during export.', - envPanelButton: 'Add Variable', - modal: { - title: 'Add Environment Variable', - editTitle: 'Edit Environment Variable', - type: 'Type', - name: 'Name', - namePlaceholder: 'env name', - value: 'Value', - valuePlaceholder: 'env value', - secretTip: 'Used to define sensitive information or data, with DSL settings configured for leak prevention.', - description: 'Description', - descriptionPlaceholder: 'Describe the variable', - }, - export: { - title: 'Export Secret environment variables?', - checkbox: 'Export secret values', - ignore: 'Export DSL', - export: 'Export DSL with secret values ', - }, - }, - globalVar: { - title: 'System Variables', - description: 'System variables are global variables that can be referenced by any node without wiring when the type is correct, such as end-user ID and workflow ID.', - fieldsDescription: { - conversationId: 'Conversation ID', - dialogCount: 'Conversation Count', - userId: 'User ID', - triggerTimestamp: 'Application start timestamp', - appId: 'Application ID', - workflowId: 'Workflow ID', - workflowRunId: 'Workflow run ID', - }, - }, - sidebar: { - exportWarning: 'Export Current Saved Version', - exportWarningDesc: 'This will export the current saved version of your workflow. If you have unsaved changes in the editor, please save them first by using the export option in the workflow canvas.', - }, - chatVariable: { - panelTitle: 'Conversation Variables', - panelDescription: 'Conversation Variables are used to store interactive information that LLM needs to remember, including conversation history, uploaded files, user preferences. They are read-write. ', - docLink: 'Visit our docs to learn more.', - button: 'Add Variable', - modal: { - title: 'Add Conversation Variable', - editTitle: 'Edit Conversation Variable', - name: 'Name', - namePlaceholder: 'Variable name', - type: 'Type', - value: 'Default Value', - valuePlaceholder: 'Default value, leave blank to not set', - description: 'Description', - descriptionPlaceholder: 'Describe the variable', - editInJSON: 'Edit in JSON', - oneByOne: 'Add one by one', - editInForm: 'Edit in Form', - arrayValue: 'Value', - addArrayValue: 'Add Value', - objectKey: 'Key', - objectType: 'Type', - objectValue: 'Default Value', - }, - storedContent: 'Stored content', - updatedAt: 'Updated at ', - }, - changeHistory: { - title: 'Change History', - placeholder: 'You haven\'t changed anything yet', - clearHistory: 'Clear History', - hint: 'Hint', - hintText: 'Your editing actions are tracked in a change history, which is stored on your device for the duration of this session. This history will be cleared when you leave the editor.', - stepBackward_one: '{{count}} step backward', - stepBackward_other: '{{count}} steps backward', - stepForward_one: '{{count}} step forward', - stepForward_other: '{{count}} steps forward', - sessionStart: 'Session Start', - currentState: 'Current State', - nodeTitleChange: 'Node title changed', - nodeDescriptionChange: 'Node description changed', - nodeDragStop: 'Node moved', - nodeChange: 'Node changed', - nodeConnect: 'Node connected', - nodePaste: 'Node pasted', - nodeDelete: 'Node deleted', - nodeAdd: 'Node added', - nodeResize: 'Node resized', - noteAdd: 'Note added', - noteChange: 'Note changed', - noteDelete: 'Note deleted', - edgeDelete: 'Node disconnected', - }, - errorMsg: { - fieldRequired: '{{field}} is required', - rerankModelRequired: 'A configured Rerank Model is required', - authRequired: 'Authorization is required', - invalidJson: '{{field}} is invalid JSON', - fields: { - variable: 'Variable Name', - variableValue: 'Variable Value', - code: 'Code', - model: 'Model', - rerankModel: 'A configured Rerank Model', - visionVariable: 'Vision Variable', - }, - invalidVariable: 'Invalid variable', - noValidTool: '{{field}} no valid tool selected', - toolParameterRequired: '{{field}}: parameter [{{param}}] is required', - startNodeRequired: 'Please add a start node first before {{operation}}', - }, - error: { - startNodeRequired: 'Please add a start node first before {{operation}}', - operations: { - connectingNodes: 'connecting nodes', - addingNodes: 'adding nodes', - modifyingWorkflow: 'modifying workflow', - updatingWorkflow: 'updating workflow', - }, - }, - singleRun: { - testRun: 'Test Run', - startRun: 'Start Run', - preparingDataSource: 'Preparing Data Source', - reRun: 'Re-run', - running: 'Running', - testRunIteration: 'Test Run Iteration', - back: 'Back', - iteration: 'Iteration', - loop: 'Loop', - }, - tabs: { - 'searchBlock': 'Search node', - 'start': 'Start', - 'blocks': 'Nodes', - 'searchTool': 'Search tool', - 'searchTrigger': 'Search triggers...', - 'allTriggers': 'All triggers', - 'tools': 'Tools', - 'allTool': 'All', - 'plugin': 'Plugin', - 'customTool': 'Custom', - 'workflowTool': 'Workflow', - 'question-understand': 'Question Understand', - 'logic': 'Logic', - 'transform': 'Transform', - 'utilities': 'Utilities', - 'noResult': 'No match found', - 'noPluginsFound': 'No plugins were found', - 'requestToCommunity': 'Requests to the community', - 'agent': 'Agent Strategy', - 'allAdded': 'All added', - 'addAll': 'Add all', - 'sources': 'Sources', - 'searchDataSource': 'Search Data Source', - 'featuredTools': 'Featured', - 'showMoreFeatured': 'Show more', - 'showLessFeatured': 'Show less', - 'installed': 'Installed', - 'pluginByAuthor': 'By {{author}}', - 'usePlugin': 'Select tool', - 'hideActions': 'Hide tools', - 'noFeaturedPlugins': 'Discover more tools in Marketplace', - 'noFeaturedTriggers': 'Discover more triggers in Marketplace', - 'startDisabledTip': 'Trigger node and user input node are mutually exclusive.', - }, - blocks: { - 'start': 'User Input', - 'originalStartNode': 'original start node', - 'end': 'Output', - 'answer': 'Answer', - 'llm': 'LLM', - 'knowledge-retrieval': 'Knowledge Retrieval', - 'question-classifier': 'Question Classifier', - 'if-else': 'IF/ELSE', - 'code': 'Code', - 'template-transform': 'Template', - 'http-request': 'HTTP Request', - 'variable-assigner': 'Variable Aggregator', - 'variable-aggregator': 'Variable Aggregator', - 'assigner': 'Variable Assigner', - 'iteration-start': 'Iteration Start', - 'iteration': 'Iteration', - 'parameter-extractor': 'Parameter Extractor', - 'document-extractor': 'Doc Extractor', - 'list-operator': 'List Operator', - 'agent': 'Agent', - 'loop-start': 'Loop Start', - 'loop': 'Loop', - 'loop-end': 'Exit Loop', - 'knowledge-index': 'Knowledge Base', - 'datasource': 'Data Source', - 'trigger-schedule': 'Schedule Trigger', - 'trigger-webhook': 'Webhook Trigger', - 'trigger-plugin': 'Plugin Trigger', - }, - customWebhook: 'Custom Webhook', - blocksAbout: { - 'start': 'Define the initial parameters for launching a workflow', - 'end': 'Define the output and result type of a workflow', - 'answer': 'Define the reply content of a chat conversation', - 'llm': 'Invoking large language models to answer questions or process natural language', - 'knowledge-retrieval': 'Allows you to query text content related to user questions from the Knowledge', - 'question-classifier': 'Define the classification conditions of user questions, LLM can define how the conversation progresses based on the classification description', - 'if-else': 'Allows you to split the workflow into two branches based on if/else conditions', - 'code': 'Execute a piece of Python or NodeJS code to implement custom logic', - 'template-transform': 'Convert data to string using Jinja template syntax', - 'http-request': 'Allow server requests to be sent over the HTTP protocol', - 'variable-assigner': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.', - 'assigner': 'The variable assignment node is used for assigning values to writable variables(like conversation variables).', - 'variable-aggregator': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.', - 'iteration': 'Perform multiple steps on a list object until all results are outputted.', - 'loop': 'Execute a loop of logic until the termination condition is met or the maximum loop count is reached.', - 'loop-end': 'Equivalent to "break". This node has no configuration items. When the loop body reaches this node, the loop terminates.', - 'parameter-extractor': 'Use LLM to extract structured parameters from natural language for tool invocations or HTTP requests.', - 'document-extractor': 'Used to parse uploaded documents into text content that is easily understandable by LLM.', - 'list-operator': 'Used to filter or sort array content.', - 'agent': 'Invoking large language models to answer questions or process natural language', - 'knowledge-index': 'Knowledge Base About', - 'datasource': 'Data Source About', - 'trigger-schedule': 'Time-based workflow trigger that starts workflows on a schedule', - 'trigger-webhook': 'Webhook Trigger receives HTTP pushes from third-party systems to automatically trigger workflows.', - 'trigger-plugin': 'Third-party integration trigger that starts workflows from external platform events', - 'group': 'Group multiple nodes together for better organization and reusability.', - }, - difyTeam: 'Dify Team', - operator: { - zoomIn: 'Zoom In', - zoomOut: 'Zoom Out', - zoomTo50: 'Zoom to 50%', - zoomTo100: 'Zoom to 100%', - zoomToFit: 'Zoom to Fit', - makeGroup: 'Make group', - alignNodes: 'Align Nodes', - alignLeft: 'Left', - alignCenter: 'Center', - alignRight: 'Right', - alignTop: 'Top', - alignMiddle: 'Middle', - alignBottom: 'Bottom', - vertical: 'Vertical', - horizontal: 'Horizontal', - distributeHorizontal: 'Space Horizontally', - distributeVertical: 'Space Vertically', - selectionAlignment: 'Selection Alignment', - }, - variableReference: { - noAvailableVars: 'No available variables', - noVarsForOperation: 'There are no variables available for assignment with the selected operation.', - noAssignedVars: 'No available assigned variables', - assignedVarsDescription: 'Assigned variables must be writable variables, such as ', - conversationVars: 'conversation variables', - }, - panel: { - userInputField: 'User Input Field', - changeBlock: 'Change Node', - helpLink: 'View Docs', - openWorkflow: 'Open Workflow', - about: 'About', - createdBy: 'Created By ', - nextStep: 'Next Step', - addNextStep: 'Add the next step in this workflow', - selectNextStep: 'Select Next Step', - runThisStep: 'Run this step', - checklist: 'Checklist', - checklistTip: 'Make sure all issues are resolved before publishing', - checklistResolved: 'All issues are resolved', - goTo: 'Go to', - startNode: 'Start Node', - organizeBlocks: 'Organize nodes', - change: 'Change', - optional: '(optional)', - maximize: 'Maximize Canvas', - minimize: 'Exit Full Screen', - scrollToSelectedNode: 'Scroll to selected node', - optional_and_hidden: '(optional & hidden)', - }, - nodes: { - common: { - outputVars: 'Output Variables', - insertVarTip: 'Insert Variable', - memory: { - memory: 'Memory', - memoryTip: 'Chat memory settings', - windowSize: 'Window Size', - conversationRoleName: 'Conversation Role Name', - user: 'User prefix', - assistant: 'Assistant prefix', - }, - memories: { - title: 'Memories', - tip: 'Chat memory', - builtIn: 'Built-in', - }, - errorHandle: { - title: 'Error Handling', - tip: 'Exception handling strategy, triggered when a node encounters an exception.', - none: { - title: 'None', - desc: 'The node will stop running if an exception occurs and is not handled', - }, - defaultValue: { - title: 'Default Value', - desc: 'When an error occurs, specify a static output content.', - tip: 'On error, will return below value.', - inLog: 'Node exception, outputting according to default values.', - output: 'Output Default Value', - }, - failBranch: { - title: 'Fail Branch', - desc: 'When an error occurs, it will execute the exception branch', - customize: 'Go to the canvas to customize the fail branch logic.', - customizeTip: 'When the fail branch is activated, exceptions thrown by nodes will not terminate the process. Instead, it will automatically execute the predefined fail branch, allowing you to flexibly provide error messages, reports, fixes, or skip actions.', - inLog: 'Node exception, will automatically execute the fail branch. The node output will return an error type and error message and pass them to downstream.', - }, - partialSucceeded: { - tip: 'There are {{num}} nodes in the process running abnormally, please go to tracing to check the logs.', - }, - }, - retry: { - retry: 'Retry', - retryOnFailure: 'retry on failure', - maxRetries: 'max retries', - retryInterval: 'retry interval', - retryTimes: 'Retry {{times}} times on failure', - retrying: 'Retrying...', - retrySuccessful: 'Retry successful', - retryFailed: 'Retry failed', - retryFailedTimes: '{{times}} retries failed', - times: 'times', - ms: 'ms', - retries: '{{num}} Retries', - }, - typeSwitch: { - input: 'Input value', - variable: 'Use variable', - }, - inputVars: 'Input Variables', - pluginNotInstalled: 'Plugin is not installed', - }, - start: { - required: 'required', - inputField: 'Input Field', - builtInVar: 'Built-in Variables', - outputVars: { - query: 'User input', - memories: { - des: 'Conversation history', - type: 'message type', - content: 'message content', - }, - files: 'File list', - }, - noVarTip: 'Set inputs that can be used in the Workflow', - }, - end: { - outputs: 'Outputs', - output: { - type: 'output type', - variable: 'output variable', - }, - type: { - 'none': 'None', - 'plain-text': 'Plain Text', - 'structured': 'Structured', - }, - }, - answer: { - answer: 'Answer', - outputVars: 'Output Variables', - }, - llm: { - model: 'model', - variables: 'variables', - context: 'context', - contextTooltip: 'You can import Knowledge as context', - notSetContextInPromptTip: 'To enable the context feature, please fill in the context variable in PROMPT.', - prompt: 'prompt', - roleDescription: { - system: 'Give high level instructions for the conversation', - user: 'Provide instructions, queries, or any text-based input to the model', - assistant: 'The model’s responses based on the user messages', - }, - addMessage: 'Add Message', - vision: 'vision', - files: 'Files', - resolution: { - name: 'Resolution', - high: 'High', - low: 'Low', - }, - outputVars: { - output: 'Generate content', - reasoning_content: 'Reasoning Content', - usage: 'Model Usage Information', - }, - singleRun: { - variable: 'Variable', - }, - sysQueryInUser: 'sys.query in user message is required', - reasoningFormat: { - title: 'Enable reasoning tag separation', - tagged: 'Keep think tags', - separated: 'Separate think tags', - tooltip: 'Extract content from think tags and store it in the reasoning_content field.', - }, - jsonSchema: { - title: 'Structured Output Schema', - instruction: 'Instruction', - promptTooltip: 'Convert the text description into a standardized JSON Schema structure.', - promptPlaceholder: 'Describe your JSON Schema...', - generate: 'Generate', - import: 'Import from JSON', - generateJsonSchema: 'Generate JSON Schema', - generationTip: 'You can use natural language to quickly create a JSON Schema.', - generating: 'Generating JSON Schema...', - generatedResult: 'Generated Result', - resultTip: 'Here is the generated result. If you\'re not satisfied, you can go back and modify your prompt.', - back: 'Back', - regenerate: 'Regenerate', - apply: 'Apply', - doc: 'Learn more about structured output', - resetDefaults: 'Reset', - required: 'required', - addField: 'Add Field', - addChildField: 'Add Child Field', - showAdvancedOptions: 'Show advanced options', - stringValidations: 'String Validations', - fieldNamePlaceholder: 'Field Name', - descriptionPlaceholder: 'Add description', - warningTips: { - saveSchema: 'Please finish editing the current field before saving the schema', - }, - }, - }, - knowledgeRetrieval: { - queryVariable: 'Query Variable', - queryText: 'Query Text', - queryAttachment: 'Query Images', - knowledge: 'Knowledge', - outputVars: { - output: 'Retrieval segmented data', - content: 'Segmented content', - title: 'Segmented title', - icon: 'Segmented icon', - url: 'Segmented URL', - metadata: 'Other metadata', - files: 'Retrieved files', - }, - metadata: { - title: 'Metadata Filtering', - tip: 'Metadata filtering is the process of using metadata attributes (such as tags, categories, or access permissions) to refine and control the retrieval of relevant information within a system.', - options: { - disabled: { - title: 'Disabled', - subTitle: 'Not enabling metadata filtering', - }, - automatic: { - title: 'Automatic', - subTitle: 'Automatically generate metadata filtering conditions based on user query', - desc: 'Automatically generate metadata filtering conditions based on Query Variable', - }, - manual: { - title: 'Manual', - subTitle: 'Manually add metadata filtering conditions', - }, - }, - panel: { - title: 'Metadata Filter Conditions', - conditions: 'Conditions', - add: 'Add Condition', - search: 'Search metadata', - placeholder: 'Enter value', - datePlaceholder: 'Choose a time...', - select: 'Select variable...', - }, - }, - }, - http: { - inputVars: 'Input Variables', - api: 'API', - apiPlaceholder: 'Enter URL, type ‘/’ insert variable', - extractListPlaceholder: 'Enter list item index, type ‘/’ insert variable', - notStartWithHttp: 'API should start with http:// or https://', - key: 'Key', - type: 'Type', - value: 'Value', - bulkEdit: 'Bulk Edit', - keyValueEdit: 'Key-Value Edit', - headers: 'Headers', - params: 'Params', - body: 'Body', - binaryFileVariable: 'Binary File Variable', - outputVars: { - body: 'Response Content', - statusCode: 'Response Status Code', - headers: 'Response Header List JSON', - files: 'Files List', - }, - authorization: { - 'authorization': 'Authorization', - 'authorizationType': 'Authorization Type', - 'no-auth': 'None', - 'api-key': 'API-Key', - 'auth-type': 'Auth Type', - 'basic': 'Basic', - 'bearer': 'Bearer', - 'custom': 'Custom', - 'api-key-title': 'API Key', - 'header': 'Header', - }, - insertVarPlaceholder: 'type \'/\' to insert variable', - timeout: { - title: 'Timeout', - connectLabel: 'Connection Timeout', - connectPlaceholder: 'Enter connection timeout in seconds', - readLabel: 'Read Timeout', - readPlaceholder: 'Enter read timeout in seconds', - writeLabel: 'Write Timeout', - writePlaceholder: 'Enter write timeout in seconds', - }, - curl: { - title: 'Import from cURL', - placeholder: 'Paste cURL string here', - }, - verifySSL: { - title: 'Verify SSL Certificate', - warningTooltip: 'Disabling SSL verification is not recommended for production environments. This should only be used in development or testing, as it makes the connection vulnerable to security threats like man-in-the-middle attacks.', - }, - }, - code: { - inputVars: 'Input Variables', - outputVars: 'Output Variables', - advancedDependencies: 'Advanced Dependencies', - advancedDependenciesTip: 'Add some preloaded dependencies that take more time to consume or are not default built-in here', - searchDependencies: 'Search Dependencies', - syncFunctionSignature: 'Sync function signature to code', - }, - templateTransform: { - inputVars: 'Input Variables', - code: 'Code', - codeSupportTip: 'Only supports Jinja2', - outputVars: { - output: 'Transformed content', - }, - }, - ifElse: { - if: 'If', - else: 'Else', - elseDescription: 'Used to define the logic that should be executed when the if condition is not met.', - and: 'and', - or: 'or', - operator: 'Operator', - notSetVariable: 'Please set variable first', - comparisonOperator: { - 'contains': 'contains', - 'not contains': 'not contains', - 'start with': 'start with', - 'end with': 'end with', - 'is': 'is', - 'is not': 'is not', - 'empty': 'is empty', - 'not empty': 'is not empty', - 'null': 'is null', - 'not null': 'is not null', - 'in': 'in', - 'not in': 'not in', - 'all of': 'all of', - 'exists': 'exists', - 'not exists': 'not exists', - 'before': 'before', - 'after': 'after', - }, - optionName: { - image: 'Image', - doc: 'Doc', - audio: 'Audio', - video: 'Video', - localUpload: 'Local Upload', - url: 'URL', - }, - enterValue: 'Enter value', - addCondition: 'Add Condition', - conditionNotSetup: 'Condition NOT setup', - selectVariable: 'Select variable...', - addSubVariable: 'Sub Variable', - select: 'Select', - }, - variableAssigner: { - title: 'Assign variables', - outputType: 'Output Type', - varNotSet: 'Variable not set', - noVarTip: 'Add the variables to be assigned', - type: { - string: 'String', - number: 'Number', - object: 'Object', - array: 'Array', - }, - aggregationGroup: 'Aggregation Group', - aggregationGroupTip: 'Enabling this feature allows the variable aggregator to aggregate multiple sets of variables.', - addGroup: 'Add Group', - outputVars: { - varDescribe: '{{groupName}} output', - }, - setAssignVariable: 'Set assign variable', - }, - assigner: { - 'assignedVariable': 'Assigned Variable', - 'varNotSet': 'Variable NOT Set', - 'variables': 'Variables', - 'noVarTip': 'Click the "+" button to add variables', - 'writeMode': 'Write Mode', - 'writeModeTip': 'Append mode: Available for array variables only.', - 'over-write': 'Overwrite', - 'append': 'Append', - 'plus': 'Plus', - 'clear': 'Clear', - 'setVariable': 'Set Variable', - 'selectAssignedVariable': 'Select assigned variable...', - 'setParameter': 'Set parameter...', - 'operations': { - 'title': 'Operation', - 'over-write': 'Overwrite', - 'overwrite': 'Overwrite', - 'set': 'Set', - 'clear': 'Clear', - 'extend': 'Extend', - 'append': 'Append', - 'remove-first': 'Remove First', - 'remove-last': 'Remove Last', - '+=': '+=', - '-=': '-=', - '*=': '*=', - '/=': '/=', - }, - 'variable': 'Variable', - 'noAssignedVars': 'No available assigned variables', - 'assignedVarsDescription': 'Assigned variables must be writable variables, such as conversation variables.', - }, - tool: { - assembleVariables: 'Assemble Variables', - authorize: 'Authorize', - inputVars: 'Input Variables', - settings: 'Settings', - insertPlaceholder1: 'Type or press', - insertPlaceholder2: 'insert variable', - contextGenerate: { - title: 'Assemble Variables', - codeBlock: 'Code Block', - code: 'Code', - output: 'Output', - run: 'Run', - apply: 'Apply', - generating: 'Generating...', - inputPlaceholder: 'Ask for change...', - defaultAssistantMessage: 'I\'ve finished, please have a check on it.', - }, - outputVars: { - text: 'tool generated content', - files: { - title: 'tool generated files', - type: 'Support type. Now only support image', - transfer_method: 'Transfer method.Value is remote_url or local_file', - url: 'Image url', - upload_file_id: 'Upload file id', - }, - json: 'tool generated json', - }, - }, - triggerPlugin: { - authorized: 'Authorized', - notConfigured: 'Not Configured', - notAuthorized: 'Not Authorized', - selectSubscription: 'Select Subscription', - availableSubscriptions: 'Available Subscriptions', - addSubscription: 'Add New Subscription', - removeSubscription: 'Remove Subscription', - subscriptionRemoved: 'Subscription removed successfully', - error: 'Error', - configuration: 'Configuration', - remove: 'Remove', - or: 'OR', - useOAuth: 'Use OAuth', - useApiKey: 'Use API Key', - authenticationFailed: 'Authentication failed', - authenticationSuccess: 'Authentication successful', - oauthConfigFailed: 'OAuth configuration failed', - configureOAuthClient: 'Configure OAuth Client', - oauthClientDescription: 'Configure OAuth client credentials to enable authentication', - oauthClientSaved: 'OAuth client configuration saved successfully', - configureApiKey: 'Configure API Key', - apiKeyDescription: 'Configure API key credentials for authentication', - apiKeyConfigured: 'API key configured successfully', - configurationFailed: 'Configuration failed', - failedToStart: 'Failed to start authentication flow', - credentialsVerified: 'Credentials verified successfully', - credentialVerificationFailed: 'Credential verification failed', - verifyAndContinue: 'Verify & Continue', - configureParameters: 'Configure Parameters', - parametersDescription: 'Configure trigger parameters and properties', - configurationComplete: 'Configuration Complete', - configurationCompleteDescription: 'Your trigger has been configured successfully', - configurationCompleteMessage: 'Your trigger configuration is now complete and ready to use.', - parameters: 'Parameters', - properties: 'Properties', - propertiesDescription: 'Additional configuration properties for this trigger', - noConfigurationRequired: 'No additional configuration required for this trigger.', - subscriptionName: 'Subscription Name', - subscriptionNameDescription: 'Enter a unique name for this trigger subscription', - subscriptionNamePlaceholder: 'Enter subscription name...', - subscriptionNameRequired: 'Subscription name is required', - subscriptionRequired: 'Subscription is required', - }, - questionClassifiers: { - model: 'model', - inputVars: 'Input Variables', - outputVars: { - className: 'Class Name', - usage: 'Model Usage Information', - }, - class: 'Class', - classNamePlaceholder: 'Write your class name', - advancedSetting: 'Advanced Setting', - topicName: 'Topic Name', - topicPlaceholder: 'Write your topic name', - addClass: 'Add Class', - instruction: 'Instruction', - instructionTip: 'Input additional instructions to help the question classifier better understand how to categorize questions.', - instructionPlaceholder: 'Write your instruction', - }, - parameterExtractor: { - inputVar: 'Input Variable', - outputVars: { - isSuccess: 'Is Success.On success the value is 1, on failure the value is 0.', - errorReason: 'Error Reason', - usage: 'Model Usage Information', - }, - extractParameters: 'Extract Parameters', - importFromTool: 'Import from tools', - addExtractParameter: 'Add Extract Parameter', - addExtractParameterContent: { - name: 'Name', - namePlaceholder: 'Extract Parameter Name', - type: 'Type', - typePlaceholder: 'Extract Parameter Type', - description: 'Description', - descriptionPlaceholder: 'Extract Parameter Description', - required: 'Required', - requiredContent: 'Required is only used as a reference for model inference, and not for mandatory validation of parameter output.', - }, - extractParametersNotSet: 'Extract Parameters not setup', - instruction: 'Instruction', - instructionTip: 'Input additional instructions to help the parameter extractor understand how to extract parameters.', - advancedSetting: 'Advanced Setting', - reasoningMode: 'Reasoning Mode', - reasoningModeTip: 'You can choose the appropriate reasoning mode based on the model\'s ability to respond to instructions for function calling or prompts.', - }, - iteration: { - deleteTitle: 'Delete Iteration Node?', - deleteDesc: 'Deleting the iteration node will delete all child nodes', - input: 'Input', - output: 'Output Variables', - iteration_one: '{{count}} Iteration', - iteration_other: '{{count}} Iterations', - currentIteration: 'Current Iteration', - comma: ', ', - error_one: '{{count}} Error', - error_other: '{{count}} Errors', - parallelMode: 'Parallel Mode', - parallelModeUpper: 'PARALLEL MODE', - parallelModeEnableTitle: 'Parallel Mode Enabled', - parallelModeEnableDesc: 'In parallel mode, tasks within iterations support parallel execution. You can configure this in the properties panel on the right.', - parallelPanelDesc: 'In parallel mode, tasks in the iteration support parallel execution.', - MaxParallelismTitle: 'Maximum parallelism', - MaxParallelismDesc: 'The maximum parallelism is used to control the number of tasks executed simultaneously in a single iteration.', - errorResponseMethod: 'Error response method', - ErrorMethod: { - operationTerminated: 'Terminated', - continueOnError: 'Continue on Error', - removeAbnormalOutput: 'Remove Abnormal Output', - }, - answerNodeWarningDesc: 'Parallel mode warning: Answer nodes, conversation variable assignments, and persistent read/write operations within iterations may cause exceptions.', - flattenOutput: 'Flatten Output', - flattenOutputDesc: 'When enabled, if all iteration outputs are arrays, they will be flattened into a single array. When disabled, outputs will maintain a nested array structure.', - }, - loop: { - deleteTitle: 'Delete Loop Node?', - deleteDesc: 'Deleting the loop node will remove all child nodes', - input: 'Input', - output: 'Output Variable', - loop_one: '{{count}} Loop', - loop_other: '{{count}} Loops', - currentLoop: 'Current Loop', - comma: ', ', - error_one: '{{count}} Error', - error_other: '{{count}} Errors', - breakCondition: 'Loop Termination Condition', - breakConditionTip: 'Only variables within loops with termination conditions and conversation variables can be referenced.', - loopMaxCount: 'Maximum Loop Count', - loopMaxCountError: 'Please enter a valid maximum loop count, ranging from 1 to {{maxCount}}', - errorResponseMethod: 'Error Response Method', - ErrorMethod: { - operationTerminated: 'Terminated', - continueOnError: 'Continue on Error', - removeAbnormalOutput: 'Remove Abnormal Output', - }, - loopVariables: 'Loop Variables', - initialLoopVariables: 'Initial Loop Variables', - finalLoopVariables: 'Final Loop Variables', - setLoopVariables: 'Set variables within the loop scope', - variableName: 'Variable Name', - inputMode: 'Input Mode', - exitConditionTip: 'A loop node needs at least one exit condition', - loopNode: 'Loop Node', - currentLoopCount: 'Current loop count: {{count}}', - totalLoopCount: 'Total loop count: {{count}}', - }, - note: { - addNote: 'Add Note', - editor: { - placeholder: 'Write your note...', - small: 'Small', - medium: 'Medium', - large: 'Large', - bold: 'Bold', - italic: 'Italic', - strikethrough: 'Strikethrough', - link: 'Link', - openLink: 'Open', - unlink: 'Unlink', - enterUrl: 'Enter URL...', - invalidUrl: 'Invalid URL', - bulletList: 'Bullet List', - showAuthor: 'Show Author', - }, - }, - docExtractor: { - inputVar: 'Input Variable', - outputVars: { - text: 'Extracted text', - }, - supportFileTypes: 'Support file types: {{types}}.', - learnMore: 'Learn more', - }, - listFilter: { - inputVar: 'Input Variable', - filterCondition: 'Filter Condition', - filterConditionKey: 'Filter Condition Key', - extractsCondition: 'Extract the N item', - filterConditionComparisonOperator: 'Filter Condition Comparison Operator', - filterConditionComparisonValue: 'Filter Condition value', - selectVariableKeyPlaceholder: 'Select sub variable key', - limit: 'Top N', - orderBy: 'Order by', - asc: 'ASC', - desc: 'DESC', - outputVars: { - result: 'Filter result', - first_record: 'First record', - last_record: 'Last record', - }, - }, - agent: { - strategy: { - label: 'Agentic Strategy', - tooltip: 'Different Agentic strategies determine how the system plans and executes multi-step tool calls', - shortLabel: 'Strategy', - configureTip: 'Please configure agentic strategy.', - configureTipDesc: 'After configuring the agentic strategy, this node will automatically load the remaining configurations. The strategy will affect the mechanism of multi-step tool reasoning. ', - selectTip: 'Select agentic strategy', - searchPlaceholder: 'Search agentic strategy', - }, - learnMore: 'Learn more', - pluginNotInstalled: 'This plugin is not installed', - pluginNotInstalledDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall', - linkToPlugin: 'Link to Plugins', - pluginInstaller: { - install: 'Install', - installing: 'Installing', - }, - modelNotInMarketplace: { - title: 'Model not installed', - desc: 'This model is installed from Local or GitHub repository. Please use after installation.', - manageInPlugins: 'Manage in Plugins', - }, - modelNotSupport: { - title: 'Unsupported Model', - desc: 'The installed plugin version does not provide this model.', - descForVersionSwitch: 'The installed plugin version does not provide this model. Click to switch version.', - }, - configureModel: 'Configure Model', - notAuthorized: 'Not Authorized', - model: 'model', - toolbox: 'toolbox', - strategyNotSet: 'Agentic strategy Not Set', - tools: 'Tools', - maxIterations: 'Max Iterations', - modelNotSelected: 'Model not selected', - modelNotInstallTooltip: 'This model is not installed', - toolNotInstallTooltip: '{{tool}} is not installed', - toolNotAuthorizedTooltip: '{{tool}} Not Authorized', - strategyNotInstallTooltip: '{{strategy}} is not installed', - unsupportedStrategy: 'Unsupported strategy', - pluginNotFoundDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall', - strategyNotFoundDesc: 'The installed plugin version does not provide this strategy.', - strategyNotFoundDescAndSwitchVersion: 'The installed plugin version does not provide this strategy. Click to switch version.', - modelSelectorTooltips: { - deprecated: 'This model is deprecated', - }, - outputVars: { - text: 'agent generated content', - usage: 'Model Usage Information', - files: { - title: 'agent generated files', - type: 'Support type. Now only support image', - transfer_method: 'Transfer method.Value is remote_url or local_file', - url: 'Image url', - upload_file_id: 'Upload file id', - }, - json: 'agent generated json', - }, - checkList: { - strategyNotSelected: 'Strategy not selected', - }, - installPlugin: { - title: 'Install Plugin', - desc: 'About to install the following plugin', - changelog: 'Change log', - install: 'Install', - cancel: 'Cancel', - }, - clickToViewParameterSchema: 'Click to view parameter schema', - parameterSchema: 'Parameter Schema', - }, - dataSource: { - supportedFileFormats: 'Supported file formats', - supportedFileFormatsPlaceholder: 'File extension, e.g. doc', - add: 'Add data source', - }, - knowledgeBase: { - chunkStructure: 'Chunk Structure', - chooseChunkStructure: 'Choose a chunk structure', - chunkStructureTip: { - title: 'Please choose a chunk structure', - message: 'The Dify Knowledge Base supports three chunking structures: General, Parent-child, and Q&A. Each knowledge base can have only one structure. The output from the preceding node must align with the selected chunk structure. Note that the choice of chunking structure affects the available index methods.', - learnMore: 'Learn more', - }, - changeChunkStructure: 'Change Chunk Structure', - chunksInput: 'Chunks', - chunksInputTip: 'The input variable of the knowledge base node is Chunks. The variable type is an object with a specific JSON Schema which must be consistent with the selected chunk structure.', - aboutRetrieval: 'about retrieval method.', - chunkIsRequired: 'Chunk structure is required', - indexMethodIsRequired: 'Index method is required', - chunksVariableIsRequired: 'Chunks variable is required', - embeddingModelIsRequired: 'Embedding model is required', - embeddingModelIsInvalid: 'Embedding model is invalid', - retrievalSettingIsRequired: 'Retrieval setting is required', - rerankingModelIsRequired: 'Reranking model is required', - rerankingModelIsInvalid: 'Reranking model is invalid', - }, - triggerSchedule: { - title: 'Schedule', - nodeTitle: 'Schedule Trigger', - notConfigured: 'Not configured', - useCronExpression: 'Use cron expression', - useVisualPicker: 'Use visual picker', - frequency: { - label: 'FREQUENCY', - hourly: 'Hourly', - daily: 'Daily', - weekly: 'Weekly', - monthly: 'Monthly', - }, - selectFrequency: 'Select frequency', - frequencyLabel: 'Frequency', - nextExecution: 'Next execution', - weekdays: 'Week days', - time: 'Time', - cronExpression: 'Cron expression', - nextExecutionTime: 'NEXT EXECUTION TIME', - nextExecutionTimes: 'Next 5 execution times', - startTime: 'Start Time', - executeNow: 'Execution now', - selectDateTime: 'Select Date & Time', - hours: 'Hours', - minutes: 'Minutes', - onMinute: 'On Minute', - days: 'Days', - lastDay: 'Last day', - lastDayTooltip: 'Not all months have 31 days. Use the \'last day\' option to select each month\'s final day.', - mode: 'Mode', - timezone: 'Timezone', - visualConfig: 'Visual Configuration', - monthlyDay: 'Monthly Day', - executionTime: 'Execution Time', - invalidTimezone: 'Invalid timezone', - invalidCronExpression: 'Invalid cron expression', - noValidExecutionTime: 'No valid execution time can be calculated', - executionTimeCalculationError: 'Failed to calculate execution times', - invalidFrequency: 'Invalid frequency', - invalidStartTime: 'Invalid start time', - startTimeMustBeFuture: 'Start time must be in the future', - invalidTimeFormat: 'Invalid time format (expected HH:MM AM/PM)', - invalidWeekday: 'Invalid weekday: {{weekday}}', - invalidMonthlyDay: 'Monthly day must be between 1-31 or "last"', - invalidOnMinute: 'On minute must be between 0-59', - invalidExecutionTime: 'Invalid execution time', - executionTimeMustBeFuture: 'Execution time must be in the future', - }, - triggerWebhook: { - title: 'Webhook Trigger', - nodeTitle: '🔗 Webhook Trigger', - configPlaceholder: 'Webhook trigger configuration will be implemented here', - webhookUrl: 'Webhook URL', - webhookUrlPlaceholder: 'Click generate to create webhook URL', - generate: 'Generate', - copy: 'Copy', - test: 'Test', - urlGenerated: 'Webhook URL generated successfully', - urlGenerationFailed: 'Failed to generate webhook URL', - urlCopied: 'URL copied to clipboard', - method: 'Method', - contentType: 'Content Type', - queryParameters: 'Query Parameters', - headerParameters: 'Header Parameters', - requestBodyParameters: 'Request Body Parameters', - parameterName: 'Variable name', - varName: 'Variable name', - varType: 'Type', - varNamePlaceholder: 'Enter variable name...', - required: 'Required', - addParameter: 'Add', - addHeader: 'Add', - noParameters: 'No parameters configured', - noQueryParameters: 'No query parameters configured', - noHeaders: 'No headers configured', - noBodyParameters: 'No body parameters configured', - debugUrlTitle: 'For test runs, always use this URL', - debugUrlCopy: 'Click to copy', - debugUrlCopied: 'Copied!', - debugUrlPrivateAddressWarning: 'This URL appears to be an internal address, which may cause webhook requests to fail. You may change TRIGGER_URL to a public address.', - errorHandling: 'Error Handling', - errorStrategy: 'Error Handling', - responseConfiguration: 'Response', - asyncMode: 'Async Mode', - statusCode: 'Status Code', - responseBody: 'Response Body', - responseBodyPlaceholder: 'Write your response body here', - headers: 'Headers', - validation: { - webhookUrlRequired: 'Webhook URL is required', - invalidParameterType: 'Invalid parameter type "{{type}}" for parameter "{{name}}"', - }, - }, - }, - triggerStatus: { - enabled: 'TRIGGER', - disabled: 'TRIGGER • DISABLED', - }, - entryNodeStatus: { - enabled: 'START', - disabled: 'START • DISABLED', - }, - tracing: { - stopBy: 'Stop by {{user}}', - }, - versionHistory: { - title: 'Versions', - currentDraft: 'Current Draft', - latest: 'Latest', - filter: { - all: 'All', - onlyYours: 'Only yours', - onlyShowNamedVersions: 'Only show named versions', - reset: 'Reset Filter', - empty: 'No matching version history found', - }, - defaultName: 'Untitled Version', - nameThisVersion: 'Name this version', - editVersionInfo: 'Edit version info', - copyId: 'Copy ID', - editField: { - title: 'Title', - releaseNotes: 'Release Notes', - titleLengthLimit: 'Title can\'t exceed {{limit}} characters', - releaseNotesLengthLimit: 'Release notes can\'t exceed {{limit}} characters', - }, - releaseNotesPlaceholder: 'Describe what changed', - restorationTip: 'After version restoration, the current draft will be overwritten.', - deletionTip: 'Deletion is irreversible, please confirm.', - action: { - restoreSuccess: 'Version restored', - restoreFailure: 'Failed to restore version', - deleteSuccess: 'Version deleted', - deleteFailure: 'Failed to delete version', - updateSuccess: 'Version updated', - updateFailure: 'Failed to update version', - copyIdSuccess: 'ID copied to clipboard', - }, - }, - debug: { - settingsTab: 'Settings', - lastRunTab: 'Last Run', - relationsTab: 'Relations', - copyLastRun: 'Copy Last Run', - noLastRunFound: 'No previous run found', - noMatchingInputsFound: 'No matching inputs found from last run', - lastRunInputsCopied: '{{count}} input(s) copied from last run', - copyLastRunError: 'Failed to copy last run inputs', - noData: { - description: 'The results of the last run will be displayed here', - runThisNode: 'Run this node', - }, - variableInspect: { - title: 'Variable Inspect', - emptyTip: 'After stepping through a node on the canvas or running a node step by step, you can view the current value of the node variable in Variable Inspect', - emptyLink: 'Learn more', - clearAll: 'Reset all', - clearNode: 'Clear cached variable', - resetConversationVar: 'Reset conversation variable to default value', - view: 'View log', - edited: 'Edited', - reset: 'Reset to last run value', - listening: { - title: 'Listening for events from triggers...', - tip: 'You can now simulate event triggers by sending test requests to HTTP {{nodeName}} endpoint or use it as a callback URL for live event debugging. All outputs can be viewed directly in the Variable Inspector.', - tipPlugin: 'Now you can create events in {{- pluginName}}, and retrieve outputs from these events in the Variable Inspector.', - tipSchedule: 'Listening for events from schedule triggers.\nNext scheduled run: {{nextTriggerTime}}', - tipFallback: 'Await incoming trigger events. Outputs will appear here.', - defaultNodeName: 'this trigger', - defaultPluginName: 'this plugin trigger', - defaultScheduleTime: 'Not configured', - selectedTriggers: 'selected triggers', - stopButton: 'Stop', - }, - trigger: { - normal: 'Variable Inspect', - running: 'Caching running status', - stop: 'Stop run', - cached: 'View cached variables', - clear: 'Clear', - }, - envNode: 'Environment', - chatNode: 'Conversation', - systemNode: 'System', - exportToolTip: 'Export Variable as File', - largeData: 'Large data, read-only preview. Export to view all.', - largeDataNoExport: 'Large data - partial preview only', - export: 'export', - }, - lastOutput: 'Last Output', - relations: { - dependencies: 'Dependencies', - dependents: 'Dependents', - dependenciesDescription: 'Nodes that this node relies on', - dependentsDescription: 'Nodes that rely on this node', - noDependencies: 'No dependencies', - noDependents: 'No dependents', - }, - }, - onboarding: { - title: 'Select a start node to begin', - description: 'Different start nodes have different capabilities. Don\'t worry, you can always change them later.', - userInputFull: 'User Input (original start node)', - userInputDescription: 'Start node that allows setting user input variables, with web app, service API, MCP server, and workflow as tool capabilities.', - trigger: 'Trigger', - triggerDescription: 'Triggers can serve as the start node of a workflow, such as scheduled tasks, custom webhooks, or integrations with other apps.', - back: 'Back', - learnMore: 'Learn more', - aboutStartNode: 'about start node.', - escTip: { - press: 'Press', - key: 'esc', - toDismiss: 'to dismiss', - }, - }, -} - -export default translation diff --git a/web/i18n/ja-JP/workflow.ts b/web/i18n/ja-JP/workflow.ts deleted file mode 100644 index 1a5283f5b3..0000000000 --- a/web/i18n/ja-JP/workflow.ts +++ /dev/null @@ -1,1298 +0,0 @@ -const translation = { - common: { - undo: '元に戻す', - redo: 'やり直し', - editing: '編集中', - autoSaved: '自動保存済み', - unpublished: '未公開', - published: '公開済み', - publish: '公開する', - update: '更新', - publishUpdate: '更新を公開', - run: 'テスト実行', - running: '実行中', - chooseStartNodeToRun: '実行する開始ノードを選択', - runAllTriggers: 'すべてのトリガーを実行', - inRunMode: '実行モード中', - inPreview: 'プレビュー中', - inPreviewMode: 'プレビューモード中', - preview: 'プレビュー', - viewRunHistory: '実行履歴を表示', - runHistory: '実行履歴', - goBackToEdit: '編集に戻る', - conversationLog: '会話ログ', - ImageUploadLegacyTip: '開始フォームでファイル型変数が作成可能になりました。画像アップロード機能は今後サポート終了となります。', - fileUploadTip: '画像アップロード機能がファイルアップロードに拡張されました', - debugAndPreview: 'プレビュー', - restart: '再起動', - currentDraft: '現在の下書き', - currentDraftUnpublished: '現在の下書き(未公開)', - latestPublished: '最新公開版', - publishedAt: '公開日時', - restore: '復元', - versionHistory: 'バージョン履歴', - exitVersions: 'バージョン履歴を閉じる', - runApp: 'アプリを実行', - batchRunApp: 'アプリを一括実行', - openInExplore: '探索ページで開く', - accessAPIReference: 'API リファレンス', - embedIntoSite: 'サイトに埋め込む', - addTitle: 'タイトルを追加...', - addDescription: '説明を追加...', - noVar: '変数がありません', - searchVar: '変数を検索', - variableNamePlaceholder: '変数名を入力', - setVarValuePlaceholder: '変数値を設定', - needConnectTip: '接続されていないステップがあります', - maxTreeDepth: '1 ブランチあたりの最大ノード数:{{depth}}', - needAdd: '{{node}}ノードを追加する必要があります', - needOutputNode: '出力ノードを追加する必要があります', - needStartNode: '少なくとも1つのスタートノードを追加する必要があります', - needAnswerNode: '回答ブロックを追加する必要があります', - workflowProcess: 'ワークフロー処理', - notRunning: 'まだ実行されていません', - previewPlaceholder: '入力欄にテキストを入力してチャットボットのデバッグを開始', - effectVarConfirm: { - title: '変数の削除', - content: '他のノードで変数が使用されています。それでも削除しますか?', - }, - insertVarTip: '"/"キーで変数を挿入', - processData: 'データ処理', - input: '入力', - output: '出力', - jinjaEditorPlaceholder: '「/」または「{」で変数挿入', - viewOnly: '閲覧のみ', - showRunHistory: '実行履歴を表示', - enableJinja: 'Jinja テンプレートを有効化', - learnMore: '詳細を見る', - copy: 'コピー', - duplicate: '複製', - addBlock: 'ブロックを追加', - pasteHere: 'ここに貼り付け', - pointerMode: 'ポインターモード', - handMode: 'ハンドモード', - exportImage: '画像を出力', - exportPNG: 'PNG で出力', - exportJPEG: 'JPEG で出力', - exportSVG: 'SVG で出力', - currentView: '現在のビュー', - currentWorkflow: '現在のワークフロー', - model: 'モデル', - workflowAsTool: 'ワークフローをツールとして公開する', - configureRequired: '設定が必要', - configure: '設定', - manageInTools: 'ツールページで管理', - workflowAsToolTip: 'ワークフロー更新後はツールの再設定が必要です', - workflowAsToolDisabledHint: '最新のワークフローを公開し、接続済みの User Input ノードを用意してからツールとして設定してください。', - viewDetailInTracingPanel: '詳細を表示', - syncingData: 'データ同期中。。。', - importDSL: 'DSL をインポート', - importDSLTip: '現在の下書きは上書きされます。インポート前にワークフローをエクスポートしてバックアップしてください', - backupCurrentDraft: '現在の下書きをバックアップ', - chooseDSL: 'DSL(yml) ファイルを選択', - overwriteAndImport: '上書きしてインポート', - importFailure: 'インポート失敗', - importWarning: '注意事項', - importWarningDetails: 'DSL バージョンの違いにより機能に影響が出る可能性があります', - importSuccess: 'インポート成功', - parallelTip: { - click: { - title: 'クリック', - desc: 'で追加', - }, - drag: { - title: 'ドラッグ', - desc: 'で接続', - }, - limit: '並列処理可能ブランチ数:{{num}}', - depthLimit: '並列ネスト最大階層数:{{num}}', - }, - disconnect: '接続解除', - jumpToNode: 'このノードに移動', - addParallelNode: '並列ノードを追加', - parallel: '並列', - branch: 'ブランチ', - onFailure: '失敗時', - addFailureBranch: '失敗ブランチを追加', - loadMore: 'さらに読み込む', - noHistory: '履歴がありません', - tagBound: 'このタグを使用しているアプリの数', - moreActions: 'さらにアクション', - listening: 'リッスン中', - features: '機能', - featuresDescription: 'ウェブアプリのユーザー体験を向上させる', - featuresDocLink: 'もっと詳しく知る', - }, - 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: 'シークレット値付きでエクスポート', - }, - }, - globalVar: { - title: 'システム変数', - description: 'システム変数は、タイプが適合していれば配線なしで任意のノードから参照できるグローバル変数です。エンドユーザーIDやワークフローIDなどが含まれます。', - fieldsDescription: { - conversationId: '会話ID', - dialogCount: '会話数', - userId: 'ユーザーID', - triggerTimestamp: 'アプリケーションの起動タイムスタンプ', - appId: 'アプリケーションID', - workflowId: 'ワークフローID', - workflowRunId: 'ワークフロー実行ID', - }, - }, - sidebar: { - exportWarning: '現在保存されているバージョンをエクスポート', - exportWarningDesc: 'これは現在保存されているワークフローのバージョンをエクスポートします。エディターで未保存の変更がある場合は、まずワークフローキャンバスのエクスポートオプションを使用して保存してください。', - }, - chatVariable: { - panelTitle: '会話変数', - panelDescription: '対話情報を保存・管理(会話履歴/ファイル/ユーザー設定など)。書き換えができます。', - 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: '注釈が変更されました', - noteDelete: '注釈が削除されました', - edgeDelete: 'ブロックの接続が解除されました', - }, - errorMsg: { - fieldRequired: '{{field}} は必須です', - rerankModelRequired: 'Rerank モデルが設定されていません', - authRequired: '認証が必要です', - invalidJson: '{{field}} は無効な JSON です', - fields: { - variable: '変数名', - variableValue: '変数値', - code: 'コード', - model: 'モデル', - rerankModel: 'Rerank モデル', - visionVariable: 'ビジョン変数', - }, - invalidVariable: '無効な変数です', - noValidTool: '{{field}} に利用可能なツールがありません', - toolParameterRequired: '{{field}}: パラメータ [{{param}}] は必須です', - startNodeRequired: '{{operation}}前に開始ノードを追加してください', - }, - error: { - startNodeRequired: '{{operation}}前に開始ノードを追加してください', - operations: { - connectingNodes: 'ノード接続', - addingNodes: 'ノード追加', - modifyingWorkflow: 'ワークフロー変更', - updatingWorkflow: 'ワークフロー更新', - }, - }, - singleRun: { - testRun: 'テスト実行', - startRun: '実行開始', - running: '実行中', - testRunIteration: 'テスト実行(イテレーション)', - back: '戻る', - iteration: 'イテレーション', - loop: 'ループ', - reRun: '再実行', - preparingDataSource: 'データソースの準備', - }, - tabs: { - 'searchBlock': 'ブロック検索', - 'blocks': 'ブロック', - 'searchTool': 'ツール検索', - 'searchTrigger': 'トリガー検索...', - 'tools': 'ツール', - 'allTriggers': 'すべてのトリガー', - 'allTool': 'すべて', - 'customTool': 'カスタム', - 'workflowTool': 'ワークフロー', - 'question-understand': '問題理解', - 'logic': 'ロジック', - 'transform': '変換', - 'utilities': 'ツール', - 'noResult': '該当なし', - 'noPluginsFound': 'プラグインが見つかりません', - 'requestToCommunity': 'コミュニティにリクエスト', - 'plugin': 'プラグイン', - 'agent': 'エージェント戦略', - 'noFeaturedPlugins': 'マーケットプレイスでさらにツールを見つける', - 'noFeaturedTriggers': 'マーケットプレイスでさらにトリガーを見つける', - 'addAll': 'すべてを追加する', - 'allAdded': 'すべて追加されました', - 'searchDataSource': 'データソースを検索', - 'sources': 'ソース', - 'start': '始める', - 'startDisabledTip': 'トリガーノードとユーザー入力ノードは互いに排他です。', - 'featuredTools': '特集', - 'showMoreFeatured': 'もっと見る', - 'showLessFeatured': '表示を減らす', - 'installed': 'インストール済み', - 'pluginByAuthor': '{{author}} によって', - 'usePlugin': 'ツールを選択', - 'hideActions': 'ツールを隠す', - }, - blocks: { - 'start': 'ユーザー入力', - 'originalStartNode': '元の開始ノード', - 'end': '出力', - 'answer': '回答', - 'llm': 'LLM', - 'knowledge-retrieval': '知識検索', - 'question-classifier': '質問分類器', - 'if-else': 'IF/ELSE', - 'code': 'コード実行', - 'template-transform': 'テンプレート', - 'http-request': 'HTTP リクエスト', - 'variable-assigner': '変数代入器', - 'variable-aggregator': '変数集約器', - 'assigner': '変数代入', - 'iteration-start': 'イテレーション開始', - 'iteration': 'イテレーション', - 'parameter-extractor': 'パラメータ抽出', - 'document-extractor': 'テキスト抽出', - 'list-operator': 'リスト処理', - 'agent': 'エージェント', - 'loop-start': 'ループ開始', - 'loop': 'ループ', - 'loop-end': 'ループ完了', - 'knowledge-index': '知識ベース', - 'datasource': 'データソース', - 'trigger-plugin': 'プラグイントリガー', - 'trigger-webhook': 'Webhook トリガー', - 'trigger-schedule': 'スケジュールトリガー', - }, - customWebhook: 'カスタムWebhook', - blocksAbout: { - 'start': 'ワークフロー開始時の初期パラメータを定義します。', - 'end': 'ワークフローの出力と結果のタイプを定義します', - 'answer': 'チャットダイアログの返答内容を定義します。', - 'llm': '大規模言語モデルを呼び出して質問回答や自然言語処理を実行します。', - 'knowledge-retrieval': 'ナレッジベースからユーザー質問に関連するテキストを検索します。', - 'question-classifier': '質問の分類条件を定義し、LLM が分類に基づいて対話フローを制御します。', - 'if-else': 'if/else 条件でワークフローを 2 つの分岐に分割します。', - 'code': 'Python/NodeJS コードを実行してカスタムロジックを実装します。', - 'template-transform': 'Jinja テンプレート構文でデータを文字列に変換します。', - 'http-request': 'HTTP リクエストを送信できます。', - 'variable-assigner': '複数分岐の変数を集約し、下流ノードの設定を統一します。', - 'assigner': '書き込み可能な変数(例:会話変数)への値の割り当てを行います。', - 'variable-aggregator': '複数分岐の変数を集約し、下流ノードの設定を統一します。', - 'iteration': 'リスト要素に対して反復処理を実行し全結果を出力します。', - 'loop': '終了条件達成まで、または最大反復回数までロジックを繰り返します。', - 'loop-end': '「break」相当の機能です。このノードに設定項目はなく、ループ処理中にこのノードに到達すると即時終了します。', - 'parameter-extractor': '自然言語から構造化パラメータを抽出し、後続処理で利用します。', - 'document-extractor': 'アップロード文書を LLM 処理用に最適化されたテキストに変換します。', - 'list-operator': '配列のフィルタリングやソート処理を行います。', - 'agent': '大規模言語モデルを活用した質問応答や自然言語処理を実行します。', - 'knowledge-index': '知識ベースについて', - 'datasource': 'データソースについて', - 'trigger-schedule': 'スケジュールに基づいてワークフローを開始する時間ベースのトリガー', - 'trigger-webhook': 'Webhook トリガーは第三者システムからの HTTP プッシュを受信してワークフローを自動的に開始します。', - 'trigger-plugin': 'サードパーティ統合トリガー、外部プラットフォームのイベントによってワークフローを開始します', - 'group': '複数のノードをグループ化して整理・管理しやすくします', - }, - difyTeam: 'Dify チーム', - operator: { - zoomIn: '拡大', - zoomOut: '縮小', - zoomTo50: '50% サイズ', - zoomTo100: '等倍表示', - zoomToFit: '画面に合わせる', - makeGroup: 'グループ化', - horizontal: '水平', - alignBottom: '下', - alignNodes: 'ノードを整列', - vertical: '垂直', - alignLeft: '左', - alignTop: '上', - alignRight: '右', - alignMiddle: '中央', - distributeVertical: '垂直方向に等間隔配置', - alignCenter: '中央', - selectionAlignment: '選択の整列', - distributeHorizontal: '水平方向に等間隔配置', - }, - variableReference: { - noAvailableVars: '利用可能な変数がありません', - noVarsForOperation: 'この操作に割り当て可能な変数が存在しません。', - noAssignedVars: '割り当て可能な変数がありません', - assignedVarsDescription: '書き込み可能な変数(例:', - conversationVars: '会話変数', - }, - panel: { - userInputField: 'ユーザー入力欄', - changeBlock: 'ノード変更', - helpLink: 'ドキュメントを見る', - about: '詳細', - createdBy: '作成者', - nextStep: '次のステップ', - addNextStep: 'このワークフローで次ノードを追加', - selectNextStep: '次ノード選択', - runThisStep: 'このステップ実行', - checklist: 'チェックリスト', - checklistTip: '公開前に全ての項目を確認してください', - checklistResolved: '全てのチェックが完了しました', - goTo: '移動', - startNode: '開始ノード', - organizeBlocks: 'ノード整理', - change: '変更', - optional: '(任意)', - maximize: 'キャンバスを最大化する', - minimize: '全画面を終了する', - scrollToSelectedNode: '選択したノードまでスクロール', - optional_and_hidden: '(オプションおよび非表示)', - openWorkflow: 'ワークフローを開く', - }, - nodes: { - common: { - outputVars: '出力変数', - insertVarTip: '変数を挿入', - memory: { - memory: 'メモリ', - memoryTip: 'チャットメモリ設定', - windowSize: 'メモリウィンドウサイズ', - conversationRoleName: '会話ロール名', - user: 'ユーザー接頭辞', - assistant: 'アシスタント接頭辞', - }, - memories: { - title: 'メモリ', - tip: 'チャットの記憶管理', - builtIn: '組み込み', - }, - errorHandle: { - title: '例外処理', - tip: 'ノード例外発生時の処理ポリシーを設定', - none: { - title: '処理なし', - desc: '例外発生時に処理を停止', - }, - defaultValue: { - title: 'デフォルト値', - desc: '例外発生時のデフォルト出力', - tip: '例外発生時に返される値:', - inLog: 'ノード例外 - デフォルト値を出力', - output: 'デフォルト値出力', - }, - failBranch: { - title: '例外分岐', - desc: '例外発生時に分岐を実行', - customize: '失敗分岐ロジックをカスタマイズ', - customizeTip: '例外発生時、失敗分岐でエラー処理を柔軟に設定可能(エラーログ表示/修復処理/操作スキップ等)', - inLog: 'ノード例外 - 失敗分岐を実行。エラー情報を下流に伝播', - }, - partialSucceeded: { - tip: '{{num}}個のノードで異常発生。ログはトレース画面で確認可能', - }, - }, - retry: { - retry: '再試行', - retryOnFailure: '失敗時再試行', - maxRetries: '最大試行回数', - retryInterval: '再試行間隔', - retryTimes: '失敗時 {{times}}回再試行', - retrying: '再試行中...', - retrySuccessful: '再試行成功', - retryFailed: '再試行失敗', - retryFailedTimes: '{{times}}回再試行失敗', - times: '回', - ms: 'ミリ秒', - retries: '再試行回数:{{num}}', - }, - typeSwitch: { - input: '入力値', - variable: '変数を使用する', - }, - inputVars: '入力変数', - pluginNotInstalled: 'プラグインがインストールされていません', - }, - 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: 'AI モデル', - variables: '変数', - context: 'コンテキスト', - contextTooltip: 'ナレッジベースをコンテキストとして利用', - notSetContextInPromptTip: 'コンテキスト利用時はプロンプトに変数を明記してください', - prompt: 'プロンプト', - addMessage: 'メッセージ追加', - roleDescription: { - system: '対話の基本動作を定義', - user: '指示/質問を入力', - assistant: 'ユーザー入力への応答', - }, - vision: 'ビジョン', - files: 'ファイル', - resolution: { - name: '解像度', - high: '高', - low: '低', - }, - outputVars: { - output: '生成内容', - reasoning_content: '推論内容', - usage: 'モデル使用量', - }, - singleRun: { - variable: '変数', - }, - sysQueryInUser: 'ユーザーメッセージに sys.query を含めてください', - jsonSchema: { - title: '構造化データスキーマ', - instruction: '指示', - promptTooltip: 'テキスト説明から標準 JSON スキーマを自動生成できます。', - promptPlaceholder: 'JSON スキーマを入力...', - generate: '生成', - import: 'JSON インポート', - generateJsonSchema: 'スキーマ生成', - generationTip: '自然言語で簡単に JSON スキーマを作成可能です。', - generating: 'JSON スキーマを生成中...', - generatedResult: '生成結果', - resultTip: 'こちらが生成された結果です。ご満足いただけない場合は、前の画面に戻ってプロンプトを修正できます。', - back: '前に戻る', - regenerate: '再生成する', - apply: '適用', - doc: '構造化出力の詳細を見る', - resetDefaults: '初期化', - required: '必須項目', - addField: 'フィールドを追加', - addChildField: 'サブフィールドを追加', - showAdvancedOptions: '詳細設定', - stringValidations: '文字列検証', - fieldNamePlaceholder: 'フィールド名', - descriptionPlaceholder: '説明を入力', - warningTips: { - saveSchema: '編集中のフィールドを確定してから保存してください。', - }, - }, - reasoningFormat: { - tagged: 'タグを考え続けてください', - separated: '思考タグを分ける', - title: '推論タグの分離を有効にする', - tooltip: 'thinkタグから内容を抽出し、それをreasoning_contentフィールドに保存します。', - }, - }, - knowledgeRetrieval: { - queryVariable: '検索変数', - knowledge: 'ナレッジベース', - outputVars: { - output: '検索結果セグメント', - content: 'セグメント内容', - title: 'セグメントタイトル', - icon: 'セグメントアイコン', - url: 'セグメント URL', - metadata: 'メタデータ', - files: '取得したファイル', - }, - metadata: { - title: 'メタデータフィルタ', - tip: 'タグ/カテゴリ等の属性で検索を絞り込み', - options: { - disabled: { - title: '無効', - subTitle: 'フィルタリング不使用', - }, - automatic: { - title: '自動生成', - subTitle: '検索履歴からフィルタ条件を自動生成', - desc: 'Query Variable(検索変数)に基づきフィルタ条件を自動生成', - }, - manual: { - title: '手動設定', - subTitle: 'メタデータの条件を手動で追加', - }, - }, - panel: { - title: 'メタデータのフィルタ条件', - conditions: '条件一覧', - add: '条件追加', - search: 'メタデータ検索', - placeholder: '値を入力', - datePlaceholder: '日付選択...', - select: '変数選択...', - }, - }, - queryText: 'クエリテキスト', - queryAttachment: '画像を検索', - }, - http: { - inputVars: '入力変数', - api: 'API', - apiPlaceholder: 'URL を入力(変数使用時は"/"を入力)', - extractListPlaceholder: 'リスト番号を入力(変数使用時は"/"を入力)', - notStartWithHttp: 'API は http:// または https:// で始まってください', - key: 'キー', - type: 'タイプ', - value: '値', - bulkEdit: '一括編集', - keyValueEdit: 'キーバリュー編集', - headers: 'ヘッダー', - params: 'パラメータ', - body: 'ボディ', - binaryFileVariable: 'バイナリファイル変数', - outputVars: { - body: 'レスポンスコンテンツ', - statusCode: 'レスポンスステータスコード', - headers: 'レスポンスヘッダ(JSON)', - files: 'ファイル一覧', - }, - authorization: { - 'authorization': '認証', - 'authorizationType': '認証タイプ', - 'no-auth': 'なし', - 'api-key': 'API キー', - 'auth-type': 'API 認証タイプ', - 'basic': 'ベーシック', - 'bearer': 'Bearer', - 'custom': 'カスタム', - 'api-key-title': 'API キー', - 'header': 'ヘッダー', - }, - insertVarPlaceholder: '変数を挿入するには\'/\'を入力してください', - timeout: { - title: 'タイムアウト設定', - connectLabel: '接続タイムアウト', - connectPlaceholder: '接続タイムアウト(秒)', - readLabel: '読み取りタイムアウト', - readPlaceholder: '読み取りタイムアウト(秒)', - writeLabel: '書き込みタイムアウト', - writePlaceholder: '書き込みタイムアウト(秒)', - }, - curl: { - title: 'cURL からインポート', - placeholder: 'ここに cURL 文字列を貼り付けます', - }, - verifySSL: { - title: 'SSL証明書を確認する', - warningTooltip: 'SSL検証を無効にすることは、本番環境では推奨されません。これは開発またはテストのみに使用すべきであり、中間者攻撃などのセキュリティ脅威に対して接続を脆弱にするためです。', - }, - }, - code: { - inputVars: '入力変数', - outputVars: '出力変数', - advancedDependencies: '高度な依存関係', - advancedDependenciesTip: '消費に時間がかかる、またはデフォルトで組み込まれていない事前ロードされた依存関係を追加します', - searchDependencies: '依存関係を検索', - syncFunctionSignature: 'コードの関数署名を同期', - }, - templateTransform: { - inputVars: '入力変数', - code: 'コード', - codeSupportTip: 'Jinja2 のみをサポートしています', - outputVars: { - output: '変換されたコンテンツ', - }, - }, - ifElse: { - if: 'もし', - else: 'それ以外', - elseDescription: 'IF 条件が満たされない場合に実行するロジックを定義します。', - and: 'かつ', - or: 'または', - operator: '演算子', - notSetVariable: 'まず変数を設定してください', - comparisonOperator: { - 'contains': '含む', - 'not contains': '含まない', - 'start with': 'で始まる', - 'end with': 'で終わる', - 'is': 'である', - 'is not': 'でない', - 'empty': '空', - 'not empty': '空でない', - 'null': 'null', - 'not null': 'null でない', - 'in': '含まれている', - 'not in': '含まれていない', - 'all of': 'すべての', - 'exists': '存在します', - 'not exists': '存在しません', - 'before': '前に', - 'after': '後', - }, - enterValue: '値を入力', - addCondition: '条件を追加', - conditionNotSetup: '条件が設定されていません', - selectVariable: '変数を選択...', - optionName: { - audio: '音声', - localUpload: 'ローカルアップロード', - image: '画像', - video: '映像', - doc: 'ドキュメント', - url: 'URL', - }, - select: '選ぶ', - addSubVariable: 'サブ変数', - }, - variableAssigner: { - title: '変数を代入する', - outputType: '出力タイプ', - varNotSet: '変数が設定されていません', - noVarTip: '代入された変数を追加してください', - type: { - string: '文字列', - number: '数値', - object: 'オブジェクト', - array: '配列', - }, - aggregationGroup: 'グループ', - aggregationGroupTip: 'この機能を有効にすると、変数集約器は複数のセットの変数を集約できます。', - addGroup: 'グループを追加', - outputVars: { - varDescribe: '{{groupName}} 出力', - }, - setAssignVariable: '代入された変数を設定', - }, - assigner: { - 'assignedVariable': '代入された変数', - 'writeMode': '書き込みモード', - 'writeModeTip': '代入された変数が配列の場合,末尾に追記モードを追加する。', - 'over-write': '上書き', - 'append': '追記', - 'plus': 'プラス', - 'clear': 'クリア', - 'setVariable': '変数を設定する', - 'variable': '変数', - 'operations': { - 'title': '操作', - 'set': 'セット', - 'clear': 'クリア', - 'overwrite': '上書き', - 'append': '追加', - '-=': '-=', - '/=': '/=', - '+=': '+=', - 'over-write': '上書き', - 'extend': '延ばす', - '*=': '*=', - 'remove-last': '最後を削除する', - 'remove-first': '最初を削除する', - }, - 'setParameter': 'パラメータを設定...', - 'selectAssignedVariable': '代入変数を選択...', - 'varNotSet': '変数が設定されていません', - 'variables': '変数', - 'noVarTip': '「+」ボタンをクリックして変数を追加します', - 'noAssignedVars': '使用可能な代入変数がありません', - 'assignedVarsDescription': '代入される変数は、会話変数などの書き込み可能な変数である必要があります。', - }, - tool: { - inputVars: '入力変数', - outputVars: { - text: 'ツールが生成したコンテンツ', - files: { - title: 'ツールが生成したファイル', - type: 'サポートタイプ。現在は画像のみサポートされています', - transfer_method: '転送方法。値は remote_url または local_file です', - url: '画像 URL', - upload_file_id: 'アップロードファイル ID', - }, - json: 'ツールで生成された JSON', - }, - authorize: '認証する', - settings: '設定', - insertPlaceholder1: 'タイプするか押してください', - insertPlaceholder2: '変数を挿入する', - }, - 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: '関数呼び出しやプロンプトの指示に応答するモデルの能力に基づいて、適切な推論モードを選択できます。', - }, - iteration: { - deleteTitle: 'イテレーションノードを削除しますか?', - deleteDesc: 'イテレーションノードを削除すると、すべての子ノードが削除されます', - input: '入力', - output: '出力変数', - iteration_one: '{{count}} イテレーション', - iteration_other: '{{count}} イテレーション', - currentIteration: '現在のイテレーション', - ErrorMethod: { - operationTerminated: '終了', - continueOnError: 'エラー時に続行', - removeAbnormalOutput: 'アブノーマルアウトプットの削除', - }, - comma: ',', - error_other: '{{カウント}}エラー', - error_one: '{{カウント}}エラー', - parallelModeUpper: 'パラレルモード', - parallelMode: 'パラレルモード', - MaxParallelismTitle: '最大並列処理', - errorResponseMethod: 'エラー応答方式', - parallelPanelDesc: '並列モードでは、イテレーションのタスクは並列実行をサポートします。', - parallelModeEnableDesc: '並列モードでは、イテレーション内のタスクは並列実行をサポートします。これは、右側のプロパティパネルで構成できます。', - parallelModeEnableTitle: 'パラレルモード有効', - MaxParallelismDesc: '最大並列処理は、1 回の反復で同時に実行されるタスクの数を制御するために使用されます。', - answerNodeWarningDesc: '並列モードの警告:応答ノード、会話変数の割り当て、およびイテレーション内の永続的な読み取り/書き込み操作により、例外が発生する可能性があります。', - flattenOutput: '出力をフラット化', - flattenOutputDesc: '有効にすると、すべての反復出力が配列の場合、1つの配列にまとめてフラット化されます。無効の場合はネストされた配列構造のままです。', - }, - loop: { - deleteTitle: 'ループノードを削除しますか?', - deleteDesc: 'ループノードを削除すると、全ての子ノードが削除されます。', - input: '入力', - output: '出力変数', - loop_one: '{{count}}回', - loop_other: '{{count}}回', - currentLoop: '現在のループ', - breakCondition: 'ループ終了条件', - breakConditionTip: 'ループ内の変数やセッション変数を参照し、終了条件を設定できます。', - loopMaxCount: '最大ループ回数', - loopMaxCountError: '最大ループ回数は 1 から{{maxCount}}の範囲で正しく入力してください。', - errorResponseMethod: 'エラー対応方法', - ErrorMethod: { - operationTerminated: 'エラー時に処理を終了', - continueOnError: 'エラーを無視して継続', - removeAbnormalOutput: '異常出力を除外', - }, - loopVariables: 'ループ変数', - initialLoopVariables: '初期ループ変数', - finalLoopVariables: '最終ループ変数', - setLoopVariables: 'ループスコープ内で変数を設定', - variableName: '変数名', - inputMode: '入力モード', - exitConditionTip: 'ループノードには少なくとも 1 つの終了条件が必要です', - loopNode: 'ループノード', - currentLoopCount: '現在のループ回数:{{count}}', - totalLoopCount: '総ループ回数:{{count}}', - error_other: '{{count}} エラー', - error_one: '{{count}} エラー', - comma: ',', - }, - note: { - addNote: 'コメントを追加', - editor: { - placeholder: 'メモを書く...', - small: '小', - medium: '中', - large: '大', - bold: '太字', - italic: '斜体', - strikethrough: '打ち消し線', - link: 'リンク', - openLink: '開く', - unlink: 'リンクをキャンセル', - enterUrl: 'リンク入力中...', - invalidUrl: 'リンク無効', - bulletList: 'リスト', - showAuthor: '著者を表示する', - }, - }, - docExtractor: { - outputVars: { - text: '抽出されたテキスト', - }, - inputVar: '入力変数', - learnMore: '詳細はこちら', - supportFileTypes: 'サポートするファイルタイプ:{{types}}。', - }, - listFilter: { - outputVars: { - last_record: '最後のレコード', - first_record: '最初のレコード', - result: 'フィルター結果', - }, - limit: 'トップ N', - asc: 'ASC', - filterCondition: 'フィルター条件', - filterConditionKey: 'フィルター条件キー', - orderBy: '並べる順番', - filterConditionComparisonValue: 'フィルター条件の値', - selectVariableKeyPlaceholder: 'サブ変数キーを選択する', - filterConditionComparisonOperator: 'フィルター条件を比較オペレーター', - inputVar: '入力変数', - desc: 'DESC', - extractsCondition: 'N 個のアイテムを抽出します', - }, - agent: { - strategy: { - label: 'エージェンティック戦略', - configureTipDesc: 'エージェント戦略を設定した後、このノードは残りの設定を自動的に読み込みます。この戦略は、マルチステップツール推論のメカニズムに影響を与えます。', - searchPlaceholder: 'エージェンティック戦略を検索する', - configureTip: 'エージェンティック戦略を設定してください。', - shortLabel: '戦略', - tooltip: '異なるエージェンティック戦略が、システムがマルチステップのツール呼び出しを計画し実行する方法を決定します。', - selectTip: 'エージェンシー戦略を選択する', - }, - pluginInstaller: { - install: 'インストール', - installing: 'インストール中', - }, - modelNotInMarketplace: { - manageInPlugins: 'プラグインを管理する', - title: 'モデルがインストールされていません', - desc: 'このモデルはローカルまたは GitHub リポジトリからインストールされます。インストール後にご利用ください。', - }, - modelNotSupport: { - title: 'サポートされていないモデル', - descForVersionSwitch: 'インストールされたプラグインのバージョンはこのモデルを提供していません。バージョンを切り替えるにはクリックしてください。', - desc: 'インストールされたプラグインのバージョンは、このモデルを提供していません。', - }, - modelSelectorTooltips: { - deprecated: 'このモデルは廃止されました', - }, - outputVars: { - files: { - url: '画像の URL', - type: 'サポートタイプ。現在はサポート画像のみ', - upload_file_id: 'ファイル ID をアップロード', - transfer_method: '転送方法。値は remote_url または local_file です。', - title: 'エージェント生成ファイル', - }, - text: 'エージェント生成コンテンツ', - json: 'エージェント生成の JSON', - usage: 'モデル使用量', - }, - checkList: { - strategyNotSelected: '戦略が選択されていません', - }, - installPlugin: { - install: 'インストール', - changelog: '変更ログ', - cancel: 'キャンセル', - desc: '次のプラグインをインストールしようとしています', - title: 'プラグインをインストールする', - }, - strategyNotSet: 'エージェンティック戦略は設定されていません', - strategyNotInstallTooltip: '{{strategy}}はインストールされていません', - modelNotSelected: 'モデルが選択されていません', - toolNotAuthorizedTooltip: '{{tool}} 認可されていません', - toolNotInstallTooltip: '{{tool}}はインストールされていません', - tools: 'ツール', - learnMore: 'もっと学ぶ', - configureModel: 'モデルを設定する', - model: 'モデル', - linkToPlugin: 'プラグインへのリンク', - notAuthorized: '権限がありません', - modelNotInstallTooltip: 'このモデルはインストールされていません', - maxIterations: '最大反復回数', - toolbox: 'ツールボックス', - pluginNotInstalled: 'このプラグインはインストールされていません', - strategyNotFoundDescAndSwitchVersion: 'インストールされたプラグインのバージョンはこの戦略を提供していません。バージョンを切り替えるにはクリックしてください。', - pluginNotInstalledDesc: 'このプラグインは GitHub からインストールされています。再インストールするにはプラグインに移動してください。', - unsupportedStrategy: 'サポートされていない戦略', - pluginNotFoundDesc: 'このプラグインは GitHub からインストールされています。再インストールするにはプラグインに移動してください。', - strategyNotFoundDesc: 'インストールされたプラグインのバージョンは、この戦略を提供していません。', - parameterSchema: 'パラメータスキーマ', - clickToViewParameterSchema: 'パラメータースキーマを見るにはクリックしてください', - }, - dataSource: { - add: 'データソースを追加', - supportedFileFormats: 'サポートされているファイル形式', - supportedFileFormatsPlaceholder: 'ファイル拡張子、例:doc', - }, - knowledgeBase: { - chunkStructureTip: { - title: 'チャンク構造を選択してください', - learnMore: 'もっと学ぶ', - message: 'Difyナレッジベースは、一般的な、親子関係、Q&Aの3つのチャンク構造をサポートしています。各ナレッジベースには一つの構造のみが持てます。前のノードからの出力は、選択されたチャンク構造と一致する必要があります。チャンク構造の選択が利用可能なインデックス方式に影響を与えることに注意してください。', - }, - aboutRetrieval: '取得方法について。', - chooseChunkStructure: 'チャンク構造を選択する', - chunkStructure: 'チャンク構造', - chunkIsRequired: 'チャンク構造が必要です', - retrievalSettingIsRequired: 'リトリーバル設定が必要です', - changeChunkStructure: 'チャンク構造を変更する', - indexMethodIsRequired: 'インデックスメソッドが必要です', - chunksInput: 'チャンク', - chunksInputTip: '知識ベースノードの入力変数はチャンクです。変数のタイプは、選択されたチャンク構造と一貫性のある特定のJSONスキーマを持つオブジェクトです。', - chunksVariableIsRequired: 'Chunks変数は必須です', - embeddingModelIsRequired: '埋め込みモデルが必要です', - rerankingModelIsRequired: '再ランキングモデルが必要です', - embeddingModelIsInvalid: '埋め込みモデルが無効です', - rerankingModelIsInvalid: 'リランキングモデルは無効です', - }, - triggerSchedule: { - frequency: { - label: '頻度', - monthly: '毎月', - weekly: '毎週', - daily: '毎日', - hourly: '毎時', - }, - frequencyLabel: '頻度', - days: '日', - title: 'スケジュール', - minutes: '分', - time: '時刻', - useCronExpression: 'Cron 式を使用', - nextExecutionTimes: '次の5回の実行時刻', - nextExecution: '次回実行', - notConfigured: '未設定', - startTime: '開始時刻', - hours: '時間', - onMinute: '分', - executeNow: '今すぐ実行', - weekdays: '曜日', - selectDateTime: '日時を選択', - cronExpression: 'Cron 式', - selectFrequency: '頻度を選択', - lastDay: '月末', - nextExecutionTime: '次回実行時刻', - lastDayTooltip: 'すべての月に31日があるわけではありません。「月末」オプションを使用して各月の最終日を選択してください。', - useVisualPicker: 'ビジュアル設定を使用', - nodeTitle: 'スケジュールトリガー', - mode: 'モード', - timezone: 'タイムゾーン', - visualConfig: 'ビジュアル設定', - monthlyDay: '月の日', - executionTime: '実行時間', - invalidTimezone: '無効なタイムゾーン', - invalidCronExpression: '無効なCron式', - noValidExecutionTime: '有効な実行時間を計算できません', - executionTimeCalculationError: '実行時間の計算に失敗しました', - invalidFrequency: '無効な頻度', - invalidStartTime: '無効な開始時間', - startTimeMustBeFuture: '開始時間は未来の時間である必要があります', - invalidTimeFormat: '無効な時間形式(期待される形式:HH:MM AM/PM)', - invalidWeekday: '無効な曜日:{{weekday}}', - invalidMonthlyDay: '月の日は1-31の間または"last"である必要があります', - invalidOnMinute: '分は0-59の間である必要があります', - invalidExecutionTime: '無効な実行時間', - executionTimeMustBeFuture: '実行時間は未来の時間である必要があります', - }, - triggerWebhook: { - title: 'Webhook トリガー', - nodeTitle: '🔗 Webhook トリガー', - configPlaceholder: 'Webhook トリガーの設定がここに実装されます', - webhookUrl: 'Webhook URL', - webhookUrlPlaceholder: '生成をクリックして Webhook URL を作成', - generate: '生成', - copy: 'コピー', - test: 'テスト', - urlGenerated: 'Webhook URL を生成しました', - urlGenerationFailed: 'Webhook URL の生成に失敗しました', - urlCopied: 'URL をクリップボードにコピーしました', - method: 'メソッド', - contentType: 'コンテンツタイプ', - queryParameters: 'クエリパラメータ', - headerParameters: 'ヘッダーパラメータ', - requestBodyParameters: 'リクエストボディパラメータ', - parameterName: '変数名', - varName: '変数名', - varType: 'タイプ', - varNamePlaceholder: '変数名を入力...', - required: '必須', - addParameter: '追加', - addHeader: '追加', - noParameters: '設定されたパラメータはありません', - noQueryParameters: 'クエリパラメータは設定されていません', - noHeaders: 'ヘッダーは設定されていません', - noBodyParameters: 'ボディパラメータは設定されていません', - debugUrlTitle: 'テスト実行には、常にこのURLを使用してください', - debugUrlCopy: 'クリックしてコピー', - debugUrlCopied: 'コピーしました!', - errorHandling: 'エラー処理', - errorStrategy: 'エラー処理', - responseConfiguration: 'レスポンス', - asyncMode: '非同期モード', - statusCode: 'ステータスコード', - responseBody: 'レスポンスボディ', - responseBodyPlaceholder: 'ここにレスポンスボディを入力してください', - headers: 'ヘッダー', - validation: { - webhookUrlRequired: 'Webhook URLが必要です', - invalidParameterType: 'パラメータ"{{name}}"の無効なパラメータタイプ"{{type}}"です', - }, - debugUrlPrivateAddressWarning: 'このURLは内部アドレスのようです。Webhookリクエストが失敗する可能性があります。TRIGGER_URL を公開アドレスに変更できます。', - }, - triggerPlugin: { - authorized: '認可された', - notConfigured: '設定されていません', - 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: 'サブスクリプション名は必須です', - notAuthorized: '認可されていません', - selectSubscription: 'サブスクリプションを選択', - availableSubscriptions: '利用可能なサブスクリプション', - addSubscription: '新しいサブスクリプションを追加', - removeSubscription: 'サブスクリプションを解除', - subscriptionRemoved: 'サブスクリプションが正常に削除されました', - subscriptionRequired: 'サブスクリプションが必要です', - }, - }, - tracing: { - stopBy: '{{user}}によって停止', - }, - versionHistory: { - title: 'バージョン', - currentDraft: '現在の下書き', - latest: '最新版', - filter: { - all: 'すべて', - onlyYours: '自分のみ', - onlyShowNamedVersions: '名前付きバージョンのみ', - reset: 'リセット', - empty: '該当するバージョンがありません', - }, - defaultName: '名称未設定', - nameThisVersion: 'バージョン名を付ける', - editVersionInfo: 'バージョン情報を編集', - editField: { - title: 'タイトル', - releaseNotes: 'リリースノート', - titleLengthLimit: 'タイトルは{{limit}}文字以内で入力してください', - releaseNotesLengthLimit: 'リリースノートは{{limit}}文字以内で入力してください', - }, - releaseNotesPlaceholder: '変更内容を入力してください', - restorationTip: 'バージョンを復元すると、現在の下書きが上書きされます', - deletionTip: '削除したデータは復元できません。よろしいですか?', - action: { - restoreSuccess: '復元が完了しました', - restoreFailure: '復元に失敗しました', - deleteSuccess: '削除が完了しました', - deleteFailure: '削除に失敗しました', - updateSuccess: '更新が完了しました', - updateFailure: '更新に失敗しました', - copyIdSuccess: 'IDがクリップボードにコピーされました', - }, - copyId: 'IDをコピー', - }, - debug: { - noData: { - runThisNode: 'このノードを実行してください', - description: '最後の実行の結果がここに表示されます', - }, - variableInspect: { - listening: { - title: 'トリガーからのイベントを待機中…', - tip: 'HTTP {{nodeName}} エンドポイントにテストリクエストを送信するか、ライブイベントデバッグ用のコールバック URL として利用してイベントトリガーをシミュレートできます。すべての出力は Variable Inspector で直接確認できます。', - tipPlugin: '{{- pluginName}} でイベントを作成し、これらのイベントの出力を Variable Inspector で取得できます。', - tipSchedule: 'スケジュールトリガーからのイベントを待機しています。\n次回の予定実行: {{nextTriggerTime}}', - tipFallback: 'トリガーイベントを待機しています。出力はここに表示されます。', - defaultNodeName: 'このトリガー', - defaultPluginName: 'このプラグイントリガー', - defaultScheduleTime: '未設定', - selectedTriggers: '選択したトリガー', - stopButton: '停止', - }, - trigger: { - clear: 'クリア', - running: 'キャッシング実行状況', - cached: 'キャッシュされた変数を表示', - stop: '走るのを止めて', - normal: '変数検査', - }, - clearAll: 'すべてリセット', - emptyLink: 'もっと学ぶ', - systemNode: 'システム', - view: 'ログを表示', - resetConversationVar: '会話の変数をデフォルト値にリセットする', - chatNode: '会話', - reset: '最後の実行値にリセットする', - clearNode: 'キャッシュされた変数をクリアする', - edited: '編集された', - title: '変数検査', - envNode: '環境', - emptyTip: 'キャンバス上でノードをステップ実行するか、ノードを一歩ずつ実行した後、変数インスペクトでノード変数の現在の値を確認できます。', - export: '輸出', - largeDataNoExport: '大規模データ - 一部プレビューのみ', - exportToolTip: '変数をファイルとしてエクスポートする', - largeData: '大きなデータ、読み取り専用のプレビュー。すべてを表示するにはエクスポートしてください。', - }, - settingsTab: '設定', - lastRunTab: '最後の実行', - relationsTab: '関係', - relations: { - dependencies: '依存元', - dependents: '依存先', - dependenciesDescription: 'このノードが依存している他のノード', - dependentsDescription: 'このノードに依存している他のノード', - noDependencies: '依存元なし', - noDependents: '依存先なし', - }, - copyLastRun: '最後の実行をコピー', - noLastRunFound: '以前の実行が見つかりませんでした。', - copyLastRunError: '最後の実行の入力をコピーできませんでした', - noMatchingInputsFound: '前回の実行から一致する入力が見つかりませんでした。', - lastRunInputsCopied: '前回の実行から{{count}}個の入力をコピーしました', - lastOutput: '最後の出力', - }, - triggerStatus: { - enabled: 'トリガー', - disabled: 'トリガー • 無効', - }, - entryNodeStatus: { - enabled: 'スタート', - disabled: '開始 • 無効', - }, - onboarding: { - title: '開始するには開始ノードを選択してください', - description: '異なる開始ノードには異なる機能があります。心配しないでください、いつでも変更できます。', - userInputFull: 'ユーザー入力(元の開始ノード)', - userInputDescription: 'ユーザー入力変数の設定を可能にする開始ノードで、Webアプリ、サービスAPI、MCPサーバー、およびツールとしてのワークフロー機能を持ちます。', - trigger: 'トリガー', - triggerDescription: 'トリガーは、スケジュールされたタスク、カスタムwebhook、または他のアプリとの統合など、ワークフローの開始ノードとして機能できます。', - back: '戻る', - learnMore: '詳細を見る', - aboutStartNode: '開始ノードについて。', - escTip: { - press: '', - key: 'esc', - toDismiss: 'キーで閉じる', - }, - }, -} - -export default translation diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts deleted file mode 100644 index 3e5b0979e1..0000000000 --- a/web/i18n/zh-Hans/workflow.ts +++ /dev/null @@ -1,1310 +0,0 @@ -const translation = { - common: { - undo: '撤销', - redo: '重做', - editing: '编辑中', - autoSaved: '自动保存', - unpublished: '未发布', - published: '已发布', - publish: '发布', - update: '更新', - publishUpdate: '发布更新', - run: '测试运行', - running: '运行中', - listening: '监听中', - chooseStartNodeToRun: '选择启动节点进行运行', - runAllTriggers: '运行所有触发器', - inRunMode: '在运行模式中', - inPreview: '预览中', - inPreviewMode: '预览中', - preview: '预览', - viewRunHistory: '查看运行历史', - runHistory: '运行历史', - goBackToEdit: '返回编辑模式', - conversationLog: '对话记录', - features: '功能', - featuresDescription: '增强 web app 用户体验', - ImageUploadLegacyTip: '现在可以在 start 表单中创建文件类型变量。未来我们将不继续支持图片上传功能。', - fileUploadTip: '图片上传功能已扩展为文件上传。', - featuresDocLink: '了解更多', - debugAndPreview: '预览', - restart: '重新开始', - currentDraft: '当前草稿', - currentDraftUnpublished: '当前草稿未发布', - latestPublished: '最新发布', - publishedAt: '发布于', - restore: '恢复', - versionHistory: '版本历史', - exitVersions: '退出版本历史', - runApp: '运行', - batchRunApp: '批量运行', - accessAPIReference: '访问 API', - embedIntoSite: '嵌入网站', - addTitle: '添加标题...', - addDescription: '添加描述...', - noVar: '没有变量', - variableNamePlaceholder: '变量名', - searchVar: '搜索变量', - setVarValuePlaceholder: '设置变量值', - needConnectTip: '此节点尚未连接到其他节点', - maxTreeDepth: '每个分支最大限制 {{depth}} 个节点', - needAdd: '必须添加{{node}}节点', - needOutputNode: '必须添加输出节点', - needStartNode: '必须添加至少一个开始节点', - needAnswerNode: '必须添加直接回复节点', - workflowProcess: '工作流', - notRunning: '尚未运行', - previewPlaceholder: '在下面的框中输入内容开始调试聊天机器人', - effectVarConfirm: { - title: '移除变量', - content: '该变量在其他节点中使用。您是否仍要删除它?', - }, - insertVarTip: '按 \'/\' 键快速插入', - processData: '数据处理', - input: '输入', - output: '输出', - jinjaEditorPlaceholder: '输入“/”或“{”插入变量', - viewOnly: '只读', - showRunHistory: '显示运行历史', - enableJinja: '开启支持 Jinja 模板', - learnMore: '了解更多', - copy: '拷贝', - duplicate: '复制', - addBlock: '添加节点', - pasteHere: '粘贴到这里', - pointerMode: '指针模式', - handMode: '手模式', - exportImage: '导出图片', - exportPNG: '导出为 PNG', - exportJPEG: '导出为 JPEG', - exportSVG: '导出为 SVG', - currentView: '当前视图', - currentWorkflow: '整个工作流', - moreActions: '更多操作', - model: '模型', - workflowAsTool: '发布为工具', - configureRequired: '需要进行配置', - configure: '配置', - manageInTools: '访问工具页', - workflowAsToolTip: '工作流更新后需要重新配置工具参数', - workflowAsToolDisabledHint: '请先发布最新的工作流,并确保已连接的 User Input 节点后再配置为工具。', - viewDetailInTracingPanel: '查看详细信息', - syncingData: '同步数据中,只需几秒钟。', - importDSL: '导入 DSL', - importDSLTip: '当前草稿将被覆盖。在导入之前请导出工作流作为备份。', - backupCurrentDraft: '备份当前草稿', - chooseDSL: '选择 DSL(yml) 文件', - overwriteAndImport: '覆盖并导入', - importFailure: '导入失败', - importWarning: '注意', - importWarningDetails: 'DSL 版本差异可能影响部分功能表现', - importSuccess: '导入成功', - parallelTip: { - click: { - title: '点击', - desc: '添加节点', - }, - drag: { - title: '拖拽', - desc: '连接节点', - }, - limit: '并行分支限制为 {{num}} 个', - depthLimit: '并行嵌套层数限制 {{num}} 层', - }, - disconnect: '断开连接', - jumpToNode: '跳转到节点', - addParallelNode: '添加并行节点', - parallel: '并行', - branch: '分支', - onFailure: '异常时', - addFailureBranch: '添加异常分支', - openInExplore: '在“探索”中打开', - loadMore: '加载更多', - noHistory: '没有历史版本', - tagBound: '使用此标签的应用数量', - }, - publishLimit: { - startNodeTitlePrefix: '升级以', - startNodeTitleSuffix: '解锁每个工作流无限制的触发器', - startNodeDesc: '您已达到此计划上每个工作流最多 2 个触发器的限制。请升级后再发布此工作流。', - }, - env: { - envPanelTitle: '环境变量', - envDescription: '环境变量是一种存储敏感信息的方法,如 API 密钥、数据库密码等。它们被存储在工作流程中,而不是代码中,以便在不同环境中共享。', - envPanelButton: '添加环境变量', - modal: { - title: '添加环境变量', - editTitle: '编辑环境变量', - type: '类型', - name: '名称', - namePlaceholder: '变量名', - value: '值', - valuePlaceholder: '变量值', - secretTip: '用于定义敏感信息或数据,导出 DSL 时设置了防泄露机制。', - description: '描述', - descriptionPlaceholder: '变量的描述', - }, - export: { - title: '导出 Secret 类型环境变量?', - checkbox: '导出 secret 值', - ignore: '导出 DSL', - export: '导出包含 Secret 值的 DSL', - }, - }, - globalVar: { - title: '系统变量', - description: '系统变量是全局变量,在类型匹配时无需连线即可被任意节点引用,例如终端用户 ID 和工作流 ID。', - fieldsDescription: { - conversationId: '会话 ID', - dialogCount: '会话次数', - userId: '用户 ID', - triggerTimestamp: '应用开始运行的时间戳', - appId: '应用 ID', - workflowId: '工作流 ID', - workflowRunId: '工作流运行 ID', - }, - }, - sidebar: { - exportWarning: '导出当前已保存版本', - exportWarningDesc: '这将导出您工作流的当前已保存版本。如果您在编辑器中有未保存的更改,请先使用工作流画布中的导出选项保存它们。', - }, - 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: '注释已更改', - noteDelete: '注释已删除', - edgeDelete: '块已断开连接', - }, - errorMsg: { - fieldRequired: '{{field}} 不能为空', - rerankModelRequired: '未配置 Rerank 模型', - authRequired: '请先授权', - invalidJson: '{{field}} 是非法的 JSON', - fields: { - variable: '变量名', - variableValue: '变量值', - code: '代码', - model: '模型', - rerankModel: 'Rerank 模型', - visionVariable: '视觉变量', - }, - invalidVariable: '无效的变量', - noValidTool: '{{field}} 无可用工具', - toolParameterRequired: '{{field}}: 参数 [{{param}}] 不能为空', - startNodeRequired: '请先添加开始节点,然后再{{operation}}', - }, - error: { - startNodeRequired: '请先添加开始节点,然后再{{operation}}', - operations: { - connectingNodes: '连接节点', - addingNodes: '添加节点', - modifyingWorkflow: '修改工作流', - updatingWorkflow: '更新工作流', - }, - }, - singleRun: { - testRun: '测试运行', - startRun: '开始运行', - preparingDataSource: '准备数据源', - reRun: '重新运行', - running: '运行中', - testRunIteration: '测试运行迭代', - back: '返回', - iteration: '迭代', - loop: '循环', - }, - tabs: { - 'searchBlock': '搜索节点', - 'blocks': '节点', - 'searchTool': '搜索工具', - 'searchTrigger': '搜索触发器...', - 'allTriggers': '全部触发器', - 'tools': '工具', - 'allTool': '全部', - 'plugin': '插件', - 'customTool': '自定义', - 'workflowTool': '工作流', - 'question-understand': '问题理解', - 'logic': '逻辑', - 'transform': '转换', - 'utilities': '工具', - 'noResult': '未找到匹配项', - 'noPluginsFound': '未找到插件', - 'requestToCommunity': '向社区反馈', - 'agent': 'Agent 策略', - 'allAdded': '已添加全部', - 'addAll': '添加全部', - 'sources': '数据源', - 'searchDataSource': '搜索数据源', - 'start': '开始', - 'featuredTools': '精选推荐', - 'showMoreFeatured': '查看更多', - 'showLessFeatured': '收起', - 'installed': '已安装', - 'pluginByAuthor': '来自 {{author}}', - 'usePlugin': '选择工具', - 'hideActions': '收起工具', - 'noFeaturedPlugins': '前往插件市场查看更多工具', - 'noFeaturedTriggers': '前往插件市场查看更多触发器', - 'startDisabledTip': '触发节点与用户输入节点互斥。', - }, - blocks: { - 'start': '用户输入', - 'originalStartNode': '原始开始节点', - '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': '参数提取器', - 'document-extractor': '文档提取器', - 'list-operator': '列表操作', - 'agent': 'Agent', - 'loop-start': '循环开始', - 'loop': '循环', - 'loop-end': '退出循环', - 'knowledge-index': '知识库', - 'datasource': '数据源', - 'trigger-webhook': 'Webhook 触发器', - 'trigger-schedule': '定时触发器', - 'trigger-plugin': '插件触发器', - }, - customWebhook: '自定义 Webhook', - 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': '对列表对象执行多次步骤直至输出所有结果。', - 'loop': '循环执行一段逻辑直到满足结束条件或者到达循环次数上限。', - 'loop-end': '相当于“break”此节点没有配置项,当循环体内运行到此节点后循环终止。', - 'parameter-extractor': '利用 LLM 从自然语言内推理提取出结构化参数,用于后置的工具调用或 HTTP 请求。', - 'document-extractor': '用于将用户上传的文档解析为 LLM 便于理解的文本内容。', - 'list-operator': '用于过滤或排序数组内容。', - 'agent': '调用大型语言模型回答问题或处理自然语言', - 'knowledge-index': '知识库节点', - 'datasource': '数据源节点', - 'trigger-webhook': 'Webhook 触发器接收来自第三方系统的 HTTP 推送以自动触发工作流。', - 'trigger-schedule': '基于时间的工作流触发器,按计划启动工作流', - 'trigger-plugin': '从外部平台事件启动工作流的第三方集成触发器', - 'group': '将多个节点组合在一起,以便更好地组织和管理', - }, - difyTeam: 'Dify 团队', - operator: { - zoomIn: '放大', - zoomOut: '缩小', - zoomTo50: '缩放到 50%', - zoomTo100: '放大到 100%', - zoomToFit: '自适应视图', - makeGroup: '创建分组', - alignNodes: '对齐节点', - alignLeft: '左对齐', - alignCenter: '居中对齐', - alignRight: '右对齐', - alignTop: '顶部对齐', - alignMiddle: '中部对齐', - alignBottom: '底部对齐', - vertical: '垂直方向', - horizontal: '水平方向', - distributeHorizontal: '水平等间距', - distributeVertical: '垂直等间距', - selectionAlignment: '选择对齐', - }, - variableReference: { - noAvailableVars: '没有可用变量', - noVarsForOperation: '当前选择的操作没有可用的变量进行赋值。', - noAssignedVars: '没有可用的赋值变量', - assignedVarsDescription: '赋值变量必须是可写入的变量,例如:', - conversationVars: '会话变量', - }, - panel: { - userInputField: '用户输入字段', - changeBlock: '更改节点', - helpLink: '查看帮助文档', - openWorkflow: '打开工作流', - about: '关于', - createdBy: '作者', - nextStep: '下一步', - addNextStep: '添加此工作流程中的下一个节点', - selectNextStep: '选择下一个节点', - runThisStep: '运行此步骤', - checklist: '检查清单', - checklistTip: '发布前确保所有问题均已解决', - checklistResolved: '所有问题均已解决', - goTo: '转到', - startNode: '开始节点', - organizeBlocks: '整理节点', - change: '更改', - optional: '(选填)', - maximize: '最大化画布', - minimize: '退出最大化', - scrollToSelectedNode: '滚动至选中节点', - optional_and_hidden: '(选填 & 隐藏)', - }, - nodes: { - common: { - outputVars: '输出变量', - insertVarTip: '插入变量', - memory: { - memory: '记忆', - memoryTip: '聊天记忆设置', - windowSize: '记忆窗口', - conversationRoleName: '对话角色名', - user: '用户前缀', - assistant: '助手前缀', - }, - memories: { - title: '记忆', - tip: '聊天记忆', - builtIn: '内置', - }, - errorHandle: { - title: '异常处理', - tip: '配置异常处理策略,当节点发生异常时触发。', - none: { - title: '无', - desc: '当发生异常且未处理时,节点将停止运行', - }, - defaultValue: { - title: '默认值', - desc: '当发生异常时,指定默认输出内容。', - tip: '当发生异常时,将返回以下值。', - inLog: '节点异常,根据默认值输出。', - output: '输出默认值', - }, - failBranch: { - title: '异常分支', - desc: '当发生异常时,将执行异常分支', - customize: '在画布自定义失败分支逻辑。', - customizeTip: '当节点发生异常时,将自动执行失败分支。失败分支允许您灵活地提供错误消息、报告、修复或跳过操作。', - inLog: '节点异常,将自动执行失败分支。节点输出将返回错误类型和错误信息,并传递给下游。', - }, - partialSucceeded: { - tip: '流程中有 {{num}} 个节点运行异常,请前往追踪查看日志。', - }, - }, - retry: { - retry: '重试', - retryOnFailure: '失败时重试', - maxRetries: '最大重试次数', - retryInterval: '重试间隔', - retryTimes: '失败时重试 {{times}} 次', - retrying: '重试中...', - retrySuccessful: '重试成功', - retryFailed: '重试失败', - retryFailedTimes: '{{times}} 次重试失败', - times: '次', - ms: '毫秒', - retries: '{{num}} 重试次数', - }, - typeSwitch: { - input: '输入值', - variable: '使用变量', - }, - inputVars: '输入变量', - pluginNotInstalled: '插件未安装', - }, - 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: { - title: '结构化输出 Schema', - instruction: '指令', - promptTooltip: '将文本描述转换为标准化的 JSON Schema 结构', - promptPlaceholder: '描述你的 JSON Schema...', - generate: '生成', - import: '从 JSON 导入', - generateJsonSchema: '生成 JSON Schema', - generationTip: '可以使用自然语言快速创建 JSON Schema。', - generating: '正在为您生成 JSON Schema...', - generatedResult: '生成结果', - resultTip: '以下是生成的结果。如果你对这个结果不满意,可以返回并修改你的提示词。', - back: '返回', - regenerate: '重新生成', - apply: '应用', - doc: '了解有关结构化输出的更多信息', - resetDefaults: '清空配置', - required: '必填', - addField: '添加字段', - addChildField: '添加子字段', - showAdvancedOptions: '显示高级选项', - stringValidations: '字符串验证', - fieldNamePlaceholder: '字段名', - descriptionPlaceholder: '添加描述', - warningTips: { - saveSchema: '请先完成当前字段的编辑', - }, - }, - reasoningFormat: { - tooltip: '从think标签中提取内容,并将其存储在reasoning_content字段中。', - title: '启用推理标签分离', - tagged: '保持思考标签', - separated: '分开思考标签', - }, - }, - knowledgeRetrieval: { - queryVariable: '查询变量', - queryText: '查询文本', - queryAttachment: '查询图片', - knowledge: '知识库', - outputVars: { - output: '召回的分段', - content: '分段内容', - title: '分段标题', - icon: '分段图标', - url: '分段链接', - metadata: '其他元数据', - files: '召回的文件', - }, - metadata: { - title: '元数据过滤', - tip: '元数据过滤是使用元数据属性(例如标签、类别或访问权限)来细化和控制系统内相关信息的检索过程。', - options: { - disabled: { - title: '禁用', - subTitle: '禁用元数据过滤', - }, - automatic: { - title: '自动', - subTitle: '根据用户查询自动生成元数据过滤条件', - desc: '根据 Query Variable 自动生成元数据过滤条件', - }, - manual: { - title: '手动', - subTitle: '手动添加元数据过滤条件', - }, - }, - panel: { - title: '元数据过滤条件', - conditions: '条件', - add: '添加条件', - search: '搜索元数据', - placeholder: '输入值', - datePlaceholder: '选择日期...', - select: '选择变量...', - }, - }, - }, - http: { - inputVars: '输入变量', - api: 'API', - apiPlaceholder: '输入 URL,输入变量时请键入‘/’', - extractListPlaceholder: '输入提取列表编号,输入变量时请键入‘/’', - notStartWithHttp: 'API 应该以 http:// 或 https:// 开头', - key: '键', - type: '类型', - value: '值', - bulkEdit: '批量编辑', - keyValueEdit: '键值编辑', - headers: 'Headers', - params: 'Params', - body: 'Body', - binaryFileVariable: 'Binary 文件变量', - 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: '输入写入超时(以秒为单位)', - }, - curl: { - title: '导入 cURL', - placeholder: '粘贴 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': '不为空', - 'in': '在', - 'not in': '不在', - 'all of': '全部是', - 'exists': '存在', - 'not exists': '不存在', - 'before': '早于', - 'after': '晚于', - }, - optionName: { - image: '图片', - doc: '文档', - audio: '音频', - video: '视频', - localUpload: '本地上传', - url: 'URL', - }, - enterValue: '输入值', - addCondition: '添加条件', - conditionNotSetup: '条件未设置', - selectVariable: '选择变量', - addSubVariable: '添加子变量', - select: '选择', - }, - variableAssigner: { - title: '变量赋值', - outputType: '输出类型', - varNotSet: '未设置变量', - noVarTip: '添加需要赋值的变量', - type: { - string: 'String', - number: 'Number', - object: 'Object', - array: 'Array', - }, - aggregationGroup: '聚合分组', - aggregationGroupTip: '开启该功能后,变量聚合器内可以同时聚合多组变量', - addGroup: '添加分组', - outputVars: { - varDescribe: '{{groupName}}的输出变量', - }, - setAssignVariable: '设置赋值变量', - }, - assigner: { - 'assignedVariable': '赋值的变量', - 'varNotSet': '未设置变量', - 'noVarTip': '点击 "+" 按钮添加变量', - 'writeMode': '写入模式', - 'writeModeTip': '使用追加模式时,赋值的变量必须是数组类型。', - 'over-write': '覆盖', - 'append': '追加', - 'plus': '加', - 'clear': '清空', - 'setVariable': '设置变量', - 'selectAssignedVariable': '选择要赋值的变量...', - 'setParameter': '设置参数...', - 'operations': { - 'title': '操作', - 'over-write': '覆盖', - 'overwrite': '覆盖', - 'set': '设置', - 'clear': '清空', - 'extend': '扩展', - 'append': '追加', - 'remove-first': '移除首项', - 'remove-last': '移除末项', - '+=': '+=', - '-=': '-=', - '*=': '*=', - '/=': '/=', - }, - 'variable': '变量', - 'variables': '变量', - 'noAssignedVars': '没有可用的赋值变量', - 'assignedVarsDescription': '赋值变量必须是可写入的变量,例如会话变量。', - }, - tool: { - assembleVariables: '组合变量', - authorize: '授权', - inputVars: '输入变量', - settings: '设置', - insertPlaceholder1: '键入', - insertPlaceholder2: '插入变量', - contextGenerate: { - title: '组合变量', - codeBlock: '代码块', - code: '代码', - output: '输出', - run: '运行', - apply: '应用', - generating: '生成中...', - inputPlaceholder: '输入修改需求...', - defaultAssistantMessage: '已完成,请检查。', - }, - outputVars: { - text: '工具生成的内容', - files: { - title: '工具生成的文件', - type: '支持类型。现在只支持图片', - transfer_method: '传输方式。值为 remote_url 或 local_file', - url: '图片链接', - upload_file_id: '上传文件 ID', - }, - json: '工具生成的 json', - }, - }, - 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: '当前迭代', - comma: ',', - error_one: '{{count}}个失败', - error_other: '{{count}}个失败', - parallelMode: '并行模式', - parallelModeUpper: '并行模式', - parallelModeEnableTitle: '并行模式启用', - parallelModeEnableDesc: '启用并行模式时迭代内的任务支持并行执行。你可以在右侧的属性面板中进行配置。', - parallelPanelDesc: '在并行模式下,迭代中的任务支持并行执行。', - MaxParallelismTitle: '最大并行度', - MaxParallelismDesc: '最大并行度用于控制单次迭代中同时执行的任务数量。', - errorResponseMethod: '错误响应方法', - ErrorMethod: { - operationTerminated: '错误时终止', - continueOnError: '忽略错误并继续', - removeAbnormalOutput: '移除错误输出', - }, - answerNodeWarningDesc: '并行模式警告:在迭代中,回答节点、会话变量赋值和工具持久读/写操作可能会导致异常。', - flattenOutput: '扁平化输出', - flattenOutputDesc: '启用时,如果所有迭代输出都是数组,它们将被扁平化为单个数组。禁用时,输出将保持嵌套数组结构。', - }, - loop: { - deleteTitle: '删除循环节点?', - deleteDesc: '删除循环节点将删除所有子节点', - input: '输入', - output: '输出变量', - loop_one: '{{count}} 个循环', - loop_other: '{{count}} 个循环', - currentLoop: '当前循环', - comma: ',', - error_one: '{{count}}个失败', - error_other: '{{count}}个失败', - breakCondition: '循环终止条件', - breakConditionTip: '支持引用终止条件循环内的变量和会话变量。', - loopMaxCount: '最大循环次数', - loopMaxCountError: '请输入正确的 最大循环次数,范围为 1 到 {{maxCount}}', - errorResponseMethod: '错误响应方法', - ErrorMethod: { - operationTerminated: '错误时终止', - continueOnError: '忽略错误并继续', - removeAbnormalOutput: '移除错误输出', - }, - loopVariables: '循环变量', - initialLoopVariables: '初始循环变量', - finalLoopVariables: '最终循环变量', - setLoopVariables: '在循环范围内设置变量', - variableName: '变量名', - inputMode: '输入模式', - exitConditionTip: '循环节点至少需要一个退出条件', - loopNode: '循环节点', - currentLoopCount: '当前循环次数:{{count}}', - totalLoopCount: '总循环次数:{{count}}', - }, - note: { - addNote: '添加注释', - editor: { - placeholder: '输入注释...', - small: '小', - medium: '中', - large: '大', - bold: '加粗', - italic: '斜体', - strikethrough: '删除线', - link: '链接', - openLink: '打开', - unlink: '取消链接', - enterUrl: '输入链接...', - invalidUrl: '无效的链接', - bulletList: '列表', - showAuthor: '显示作者', - }, - }, - docExtractor: { - inputVar: '输入变量', - outputVars: { - text: '提取的文本', - }, - supportFileTypes: '支持的文件类型:{{types}}。', - learnMore: '了解更多', - }, - listFilter: { - inputVar: '输入变量', - filterCondition: '过滤条件', - filterConditionKey: '过滤条件的 Key', - filterConditionComparisonOperator: '过滤条件比较操作符', - filterConditionComparisonValue: '过滤条件比较值', - selectVariableKeyPlaceholder: '选择子变量的 Key', - extractsCondition: '取第 N 项', - limit: '取前 N 项', - orderBy: '排序', - asc: '升序', - desc: '降序', - outputVars: { - result: '过滤结果', - first_record: '第一条记录', - last_record: '最后一条记录', - }, - }, - agent: { - strategy: { - label: 'Agent 策略', - tooltip: '不同的 Agent 策略决定了系统如何规划和执行多步工具调用', - shortLabel: '策略', - configureTip: '请配置 Agent 策略。', - configureTipDesc: '配置完成后,此节点将自动加载剩余配置。策略将影响多步工具推理的机制。', - selectTip: '选择 Agent 策略', - searchPlaceholder: '搜索 Agent 策略', - }, - learnMore: '了解更多', - pluginNotInstalled: '插件未安装', - pluginNotInstalledDesc: '此插件是从 GitHub 安装的。请转到插件重新安装', - linkToPlugin: '转到插件', - pluginInstaller: { - install: '安装', - installing: '安装中', - }, - modelNotInMarketplace: { - title: '模型未安装', - desc: '此模型安装自本地或 GitHub 仓库。请安装后使用。', - manageInPlugins: '在插件中管理', - }, - modelNotSupport: { - title: '不支持的模型', - desc: '已安装的插件版本不提供此模型。', - descForVersionSwitch: '已安装的插件版本不提供此模型。点击切换版本。', - }, - model: '模型', - toolbox: '工具箱', - strategyNotSet: '代理策略未设置', - configureModel: '配置模型', - notAuthorized: '未授权', - tools: '工具', - maxIterations: '最大迭代次数', - modelNotInstallTooltip: '此模型未安装', - modelNotSelected: '未选择模型', - toolNotInstallTooltip: '{{tool}} 未安装', - toolNotAuthorizedTooltip: '{{tool}} 未授权', - strategyNotInstallTooltip: '{{strategy}} 未安装', - unsupportedStrategy: '不支持的策略', - strategyNotFoundDesc: '安装的插件版本不提供此策略。', - pluginNotFoundDesc: '此插件安装自 GitHub。请转到插件重新安装。', - strategyNotFoundDescAndSwitchVersion: '安装的插件版本不提供此策略。点击切换版本。', - modelSelectorTooltips: { - deprecated: '此模型已弃用', - }, - outputVars: { - text: 'agent 生成的内容', - usage: '模型用量信息', - files: { - title: 'agent 生成的文件', - type: '支持类型。现在只支持图片', - transfer_method: '传输方式。值为 remote_url 或 local_file', - url: '图片链接', - upload_file_id: '上传文件 ID', - }, - json: 'agent 生成的 json', - }, - checkList: { - strategyNotSelected: '未选择策略', - }, - installPlugin: { - title: '安装插件', - desc: '即将安装以下插件', - changelog: '更新日志', - install: '安装', - cancel: '取消', - }, - clickToViewParameterSchema: '点击查看参数 schema', - parameterSchema: '参数 Schema', - }, - dataSource: { - supportedFileFormats: '支持的文件格式', - supportedFileFormatsPlaceholder: '文件格式,例如:doc', - add: '添加数据源', - }, - knowledgeBase: { - chunkStructure: '分段结构', - chooseChunkStructure: '选择分段结构', - chunkStructureTip: { - title: '请选择分段结构', - message: 'Dify 知识库支持三种分块结构:通用、父子和问答。每个知识库只能有一种结构。前一节点的输出必须与所选的分块结构相匹配。请注意,分块结构的选择会影响可用的索引方法。', - learnMore: '了解更多', - }, - changeChunkStructure: '更改分段结构', - chunksInput: '分块', - chunksInputTip: '知识库节点的输入变量为 Chunks。该变量类型是符合特定 JSON Schema 的对象,必须与所选块结构一致。', - aboutRetrieval: '关于知识检索。', - chunkIsRequired: '分段结构是必需的', - indexMethodIsRequired: '索引方法是必需的', - chunksVariableIsRequired: 'Chunks 变量是必需的', - embeddingModelIsRequired: 'Embedding 模型是必需的', - embeddingModelIsInvalid: '无效的 Embedding 模型', - retrievalSettingIsRequired: '检索设置是必需的', - rerankingModelIsRequired: 'Reranking 模型是必需的', - rerankingModelIsInvalid: '无效的 Reranking 模型', - }, - triggerSchedule: { - frequency: { - label: '频率', - monthly: '每月', - daily: '每日', - hourly: '每小时', - weekly: '每周', - }, - title: '定时触发', - nodeTitle: '定时触发器', - useCronExpression: '使用 Cron 表达式', - selectFrequency: '选择频率', - nextExecutionTimes: '接下来 5 次执行时间', - hours: '小时', - minutes: '分钟', - onMinute: '分钟', - cronExpression: 'Cron 表达式', - weekdays: '星期', - executeNow: '立即执行', - frequencyLabel: '频率', - nextExecution: '下次执行', - time: '时间', - lastDay: '最后一天', - startTime: '开始时间', - selectDateTime: '选择日期和时间', - lastDayTooltip: '并非所有月份都有 31 天。使用"最后一天"选项来选择每个月的最后一天。', - nextExecutionTime: '下次执行时间', - useVisualPicker: '使用可视化配置', - days: '天', - notConfigured: '未配置', - mode: '模式', - timezone: '时区', - visualConfig: '可视化配置', - monthlyDay: '月份日期', - executionTime: '执行时间', - invalidTimezone: '无效的时区', - invalidCronExpression: '无效的 Cron 表达式', - noValidExecutionTime: '无法计算有效的执行时间', - executionTimeCalculationError: '执行时间计算失败', - invalidFrequency: '无效的频率', - invalidStartTime: '无效的开始时间', - startTimeMustBeFuture: '开始时间必须是将来的时间', - invalidTimeFormat: '无效的时间格式(预期格式:HH:MM AM/PM)', - invalidWeekday: '无效的工作日:{{weekday}}', - invalidMonthlyDay: '月份日期必须在 1-31 之间或为"last"', - invalidOnMinute: '分钟必须在 0-59 之间', - invalidExecutionTime: '无效的执行时间', - executionTimeMustBeFuture: '执行时间必须是将来的时间', - }, - triggerWebhook: { - configPlaceholder: 'Webhook 触发器配置将在此处实现', - title: 'Webhook 触发器', - nodeTitle: '🔗 Webhook 触发器', - webhookUrl: 'Webhook URL', - webhookUrlPlaceholder: '点击生成以创建 webhook URL', - generate: '生成', - copy: '复制', - test: '测试', - urlGenerated: 'Webhook URL 生成成功', - urlGenerationFailed: '生成 Webhook URL 失败', - urlCopied: 'URL 已复制到剪贴板', - method: '方法', - contentType: '内容类型', - queryParameters: '查询参数', - headerParameters: 'Header 参数', - requestBodyParameters: '请求体参数', - parameterName: '变量名', - varName: '变量名', - varType: '类型', - varNamePlaceholder: '输入变量名...', - required: '必填', - addParameter: '添加', - addHeader: '添加', - noParameters: '未配置任何参数', - noQueryParameters: '未配置查询参数', - noHeaders: '未配置 Header', - noBodyParameters: '未配置请求体参数', - debugUrlTitle: '测试运行时,请始终使用此URL', - debugUrlCopy: '点击复制', - debugUrlCopied: '已复制!', - errorHandling: '错误处理', - errorStrategy: '错误处理', - responseConfiguration: '响应', - asyncMode: '异步模式', - statusCode: '状态码', - responseBody: '响应体', - responseBodyPlaceholder: '在此输入您的响应体', - headers: 'Headers', - validation: { - webhookUrlRequired: '需要提供Webhook URL', - invalidParameterType: '参数"{{name}}"的参数类型"{{type}}"无效', - }, - debugUrlPrivateAddressWarning: '此 URL 似乎是内部地址,可能导致 webhook 请求失败。您可以将 TRIGGER_URL 更改为公共地址。', - }, - triggerPlugin: { - authorized: '已授权', - notConfigured: '未配置', - error: '错误', - configuration: '配置', - remove: '移除', - or: '或', - useOAuth: '使用 OAuth', - useApiKey: '使用 API Key', - authenticationFailed: '身份验证失败', - authenticationSuccess: '身份验证成功', - oauthConfigFailed: 'OAuth 配置失败', - configureOAuthClient: '配置 OAuth 客户端', - oauthClientDescription: '配置 OAuth 客户端凭据以启用身份验证', - oauthClientSaved: 'OAuth 客户端配置保存成功', - configureApiKey: '配置 API Key', - apiKeyDescription: '配置 API key 凭据进行身份验证', - apiKeyConfigured: 'API key 配置成功', - configurationFailed: '配置失败', - failedToStart: '启动身份验证流程失败', - credentialsVerified: '凭据验证成功', - credentialVerificationFailed: '凭据验证失败', - verifyAndContinue: '验证并继续', - configureParameters: '配置参数', - parametersDescription: '配置触发器参数和属性', - configurationComplete: '配置完成', - configurationCompleteDescription: '您的触发器已成功配置', - configurationCompleteMessage: '您的触发器配置已完成,现在可以使用了。', - parameters: '参数', - properties: '属性', - propertiesDescription: '此触发器的额外配置属性', - noConfigurationRequired: '此触发器不需要额外配置。', - subscriptionName: '订阅名称', - subscriptionNameDescription: '为此触发器订阅输入一个唯一名称', - subscriptionNamePlaceholder: '输入订阅名称...', - subscriptionNameRequired: '订阅名称是必需的', - subscriptionRequired: '需要配置订阅', - notAuthorized: '未授权', - selectSubscription: '选择订阅', - availableSubscriptions: '可用订阅', - addSubscription: '添加新订阅', - removeSubscription: '取消订阅', - subscriptionRemoved: '订阅已成功取消', - }, - }, - tracing: { - stopBy: '由{{user}}终止', - }, - versionHistory: { - title: '版本', - currentDraft: '当前草稿', - latest: '最新', - filter: { - all: '全部', - onlyYours: '仅你的', - onlyShowNamedVersions: '只显示已命名版本', - reset: '重置', - empty: '没有匹配的版本', - }, - defaultName: '未命名', - nameThisVersion: '命名', - editVersionInfo: '编辑信息', - copyId: '复制 ID', - editField: { - title: '标题', - releaseNotes: '发布说明', - titleLengthLimit: '标题不能超过{{limit}}个字符', - releaseNotesLengthLimit: '发布说明不能超过{{limit}}个字符', - }, - releaseNotesPlaceholder: '请描述变更', - restorationTip: '版本回滚后,当前草稿将被覆盖。', - deletionTip: '删除不可逆,请确认。', - action: { - restoreSuccess: '回滚成功', - restoreFailure: '回滚失败', - deleteSuccess: '版本已删除', - deleteFailure: '删除失败', - updateSuccess: '版本信息已更新', - updateFailure: '更新失败', - copyIdSuccess: 'ID 已复制到剪贴板', - }, - }, - debug: { - settingsTab: '设置', - lastRunTab: '上次运行', - relationsTab: '关系', - copyLastRun: '复制上次运行值', - noLastRunFound: '未找到上次运行记录', - noMatchingInputsFound: '上次运行中未找到匹配的输入', - lastRunInputsCopied: '已复制{{count}}个输入值', - copyLastRunError: '复制上次运行输入失败', - noData: { - description: '上次运行的结果将显示在这里', - runThisNode: '运行此节点', - }, - variableInspect: { - title: '变量检查', - emptyTip: '在画布上逐步浏览节点或逐步运行节点后,您可以在变量检查中查看节点变量的当前值', - emptyLink: '了解更多', - clearAll: '重置所有', - clearNode: '清除缓存', - resetConversationVar: '重置会话变量为默认值', - view: '查看记录', - edited: '已编辑', - reset: '还原至上一次运行', - listening: { - title: '正在监听触发器事件…', - tip: '您现在可以向 HTTP {{nodeName}} 端点发送测试请求以模拟事件触发,或将其用作实时事件调试的回调 URL。所有输出都可以在变量检查器中直接查看。', - tipPlugin: '现在您可以在 {{- pluginName}} 中创建事件,并在变量检查器中查看这些事件的输出。', - tipSchedule: '正在监听计划触发器事件。\n下一次计划运行时间:{{nextTriggerTime}}', - tipFallback: '正在等待触发器事件,输出结果将在此显示。', - defaultNodeName: '此触发器', - defaultPluginName: '此插件触发器', - defaultScheduleTime: '未设置', - selectedTriggers: '所选触发器', - stopButton: '停止', - }, - trigger: { - normal: '变量检查', - running: '缓存中', - stop: '停止运行', - cached: '查看缓存', - clear: '清除', - }, - envNode: '环境变量', - chatNode: '会话变量', - systemNode: '系统变量', - exportToolTip: '导出变量为文件', - largeData: '大数据 - 仅部分只读预览。请导出查看完整数据。', - largeDataNoExport: '大数据 - 仅部分预览', - export: '导出', - }, - lastOutput: '上次输出', - relations: { - dependencies: '依赖', - dependents: '被依赖', - dependenciesDescription: '本节点依赖的其他节点', - dependentsDescription: '依赖于本节点的其他节点', - noDependencies: '无依赖', - noDependents: '无被依赖', - }, - }, - triggerStatus: { - enabled: '触发器', - disabled: '触发器 • 已禁用', - }, - entryNodeStatus: { - enabled: '开始', - disabled: '开始 • 已禁用', - }, - onboarding: { - title: '选择开始节点来开始', - description: '不同的开始节点具有不同的功能。不用担心,您随时可以更改它们。', - userInputFull: '用户输入(原始开始节点)', - userInputDescription: '允许设置用户输入变量的开始节点,具有Web应用程序、服务API、MCP服务器和工作流即工具功能。', - trigger: '触发器', - triggerDescription: '触发器可以作为工作流的开始节点,例如定时任务、自定义webhook或与其他应用程序的集成。', - back: '返回', - learnMore: '了解更多', - aboutStartNode: '关于开始节点。', - escTip: { - press: '按', - key: 'esc', - toDismiss: '键关闭', - }, - }, -} - -export default translation diff --git a/web/i18n/zh-Hant/workflow.ts b/web/i18n/zh-Hant/workflow.ts deleted file mode 100644 index 3f729ecaee..0000000000 --- a/web/i18n/zh-Hant/workflow.ts +++ /dev/null @@ -1,1310 +0,0 @@ -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': '第三方整合觸發器,從外部平台事件啟動工作流程', - 'group': '將多個節點組合在一起,以便更好地組織和管理', - }, - operator: { - zoomIn: '放大', - zoomOut: '縮小', - zoomTo50: '縮放到 50%', - zoomTo100: '放大到 100%', - zoomToFit: '自適應視圖', - makeGroup: '建立群組', - 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: '起始節點', - openWorkflow: '打開工作流程', - }, - 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: '輸入變數', - pluginNotInstalled: '插件未安裝', - }, - 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: '其他元資料', - files: '已檢索的檔案', - }, - metadata: { - options: { - disabled: { - subTitle: '不啟用元資料過濾', - title: '禁用', - }, - automatic: { - title: '自動的', - subTitle: '根據用戶查詢自動生成元資料過濾條件', - desc: '根據查詢變數自動生成元資料過濾條件', - }, - manual: { - title: '手動', - subTitle: '手動新增元資料過濾條件', - }, - }, - panel: { - add: '新增條件', - datePlaceholder: '選擇一個時間...', - search: '搜尋元資料', - conditions: '條件', - title: '元資料過濾條件', - select: '選擇變數...', - placeholder: '輸入數值', - }, - title: '元資料過濾', - tip: '元資料過濾是使用元資料屬性(如標籤、類別或訪問權限)來精煉和控制在系統內檢索相關信息的過程。', - }, - queryText: '查詢文字', - queryAttachment: '查詢圖片', - }, - 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: { - assembleVariables: '組合變數', - authorize: '授權', - inputVars: '輸入變數', - outputVars: { - text: '工具生成的內容', - files: { - title: '工具生成的文件', - type: '支持類型。現在只支持圖片', - transfer_method: '傳輸方式。值為 remote_url 或 local_file', - url: '圖片鏈接', - upload_file_id: '上傳文件 ID', - }, - json: '工具生成的 JSON', - }, - insertPlaceholder2: '插入變數', - insertPlaceholder1: '輸入或按壓', - settings: '設定', - contextGenerate: { - title: '組合變數', - codeBlock: '程式碼區塊', - code: '程式碼', - output: '輸出', - run: '執行', - apply: '套用', - generating: '生成中...', - inputPlaceholder: '輸入修改需求...', - defaultAssistantMessage: '已完成,請檢查。', - }, - }, - 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