feat: introduce trigger functionality (#27644)

Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com>
Co-authored-by: Stream <Stream_2@qq.com>
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: zhsama <torvalds@linux.do>
Co-authored-by: Harry <xh001x@hotmail.com>
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com>
Co-authored-by: yessenia <yessenia.contact@gmail.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WTW0313 <twwu@dify.ai>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Yeuoly
2025-11-12 17:59:37 +08:00
committed by GitHub
parent ca7794305b
commit b76e17b25d
785 changed files with 41186 additions and 3725 deletions

View File

@ -83,7 +83,7 @@ const translation = {
cloud: 'Cloud-Dienst',
apiRateLimitTooltip: 'Die API-Datenbeschränkung gilt für alle Anfragen, die über die Dify-API gemacht werden, einschließlich Textgenerierung, Chat-Konversationen, Workflow-Ausführungen und Dokumentenverarbeitung.',
getStarted: 'Loslegen',
apiRateLimitUnit: '{{count,number}}/Tag',
apiRateLimitUnit: '{{count,number}}/Monat',
documentsTooltip: 'Vorgabe für die Anzahl der Dokumente, die aus der Wissensdatenquelle importiert werden.',
apiRateLimit: 'API-Datenlimit',
documents: '{{count,number}} Wissensdokumente',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Veröffentlicht',
publish: 'Veröffentlichen',
update: 'Aktualisieren',
run: 'Ausführen',
run: 'Test ausführen',
running: 'Wird ausgeführt',
inRunMode: 'Im Ausführungsmodus',
inPreview: 'In der Vorschau',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Ausführungsverlauf',
goBackToEdit: 'Zurück zum Editor',
conversationLog: 'Konversationsprotokoll',
features: 'Funktionen',
debugAndPreview: 'Vorschau',
restart: 'Neustarten',
currentDraft: 'Aktueller Entwurf',
@ -91,10 +90,8 @@ const translation = {
addParallelNode: 'Parallelen Knoten hinzufügen',
parallel: 'PARALLEL',
branch: 'ZWEIG',
featuresDocLink: 'Weitere Informationen',
ImageUploadLegacyTip: 'Sie können jetzt Dateitypvariablen im Startformular erstellen. Wir werden die Funktion zum Hochladen von Bildern in Zukunft nicht mehr unterstützen.',
fileUploadTip: 'Die Funktionen zum Hochladen von Bildern wurden auf das Hochladen von Dateien aktualisiert.',
featuresDescription: 'Verbessern Sie die Benutzererfahrung von Web-Apps',
importWarning: 'Vorsicht',
importWarningDetails: 'Der Unterschied zwischen den DSL-Versionen kann sich auf bestimmte Funktionen auswirken',
openInExplore: 'In Explore öffnen',
@ -110,11 +107,12 @@ const translation = {
exitVersions: 'Ausgangsversionen',
exportPNG: 'Als PNG exportieren',
addBlock: 'Knoten hinzufügen',
needEndNode: 'Der Endknoten muss hinzugefügt werden.',
needOutputNode: 'Der Ausgabeknoten muss hinzugefügt werden',
needAnswerNode: 'Der Antwortknoten muss hinzugefügt werden.',
tagBound: 'Anzahl der Apps, die dieses Tag verwenden',
currentWorkflow: 'Aktueller Arbeitsablauf',
currentView: 'Aktuelle Ansicht',
moreActions: 'Weitere Aktionen',
},
env: {
envPanelTitle: 'Umgebungsvariablen',
@ -139,6 +137,19 @@ const translation = {
export: 'DSL mit geheimen Werten exportieren',
},
},
globalVar: {
title: 'Systemvariablen',
description: 'Systemvariablen sind globale Variablen, die von jedem Knoten ohne Verkabelung referenziert werden können, sofern der Typ passt, etwa Endnutzer-ID und Workflow-ID.',
fieldsDescription: {
conversationId: 'Konversations-ID',
dialogCount: 'Konversationsanzahl',
userId: 'Benutzer-ID',
triggerTimestamp: 'Zeitstempel des Anwendungsstarts',
appId: 'Anwendungs-ID',
workflowId: 'Workflow-ID',
workflowRunId: 'Workflow-Ausführungs-ID',
},
},
chatVariable: {
panelTitle: 'Gesprächsvariablen',
panelDescription: 'Gesprächsvariablen werden verwendet, um interaktive Informationen zu speichern, die das LLM benötigt, einschließlich Gesprächsverlauf, hochgeladene Dateien und Benutzereinstellungen. Sie sind les- und schreibbar.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Start',
'end': 'Ende',
'end': 'Ausgabe',
'answer': 'Antwort',
'llm': 'LLM',
'knowledge-retrieval': 'Wissensabruf',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Definieren Sie die Anfangsparameter zum Starten eines Workflows',
'end': 'Definieren Sie das Ende und den Ergebnistyp eines Workflows',
'end': 'Definieren Sie die Ausgabe und den Ergebnistyp eines Workflows',
'answer': 'Definieren Sie den Antwortinhalt einer Chat-Konversation',
'llm': 'Große Sprachmodelle aufrufen, um Fragen zu beantworten oder natürliche Sprache zu verarbeiten',
'knowledge-retrieval': 'Ermöglicht das Abfragen von Textinhalten, die sich auf Benutzerfragen aus der Wissensdatenbank beziehen',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Benutzereingabefeld',
helpLink: 'Hilfelink',
helpLink: 'Hilfe',
about: 'Über',
createdBy: 'Erstellt von ',
nextStep: 'Nächster Schritt',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Alle Probleme wurden gelöst',
change: 'Ändern',
optional: '(optional)',
moveToThisNode: 'Bewege zu diesem Knoten',
selectNextStep: 'Nächsten Schritt auswählen',
addNextStep: 'Fügen Sie den nächsten Schritt in diesem Arbeitsablauf hinzu.',
organizeBlocks: 'Knoten organisieren',
changeBlock: 'Knoten ändern',
maximize: 'Maximiere die Leinwand',
minimize: 'Vollbildmodus beenden',
scrollToSelectedNode: 'Zum ausgewählten Knoten scrollen',
optional_and_hidden: '(optional & hidden)',
},
nodes: {

View File

@ -18,8 +18,9 @@ const translation = {
status: 'STATUS',
runtime: 'RUN TIME',
tokens: 'TOKENS',
user: 'End User or Account',
user: 'END USER OR ACCOUNT',
version: 'VERSION',
triggered_from: 'TRIGGER BY',
},
pagination: {
previous: 'Prev',
@ -97,6 +98,15 @@ const translation = {
iteration: 'Iteration',
finalProcessing: 'Final Processing',
},
triggerBy: {
debugging: 'Debugging',
appRun: 'WebApp',
webhook: 'Webhook',
schedule: 'Schedule',
plugin: 'Plugin',
ragPipelineRun: 'RAG Pipeline',
ragPipelineDebugging: 'RAG Debugging',
},
}
export default translation

View File

@ -30,6 +30,7 @@ const translation = {
overview: {
title: 'Overview',
appInfo: {
title: 'Web App',
explanation: 'Ready-to-use AI web app',
accessibleAddress: 'Public URL',
preview: 'Preview',
@ -37,6 +38,10 @@ const translation = {
regenerate: 'Regenerate',
regenerateNotice: 'Do you want to regenerate the public URL?',
preUseReminder: 'Please enable web app before continuing.',
enableTooltip: {
description: 'To enable this feature, please add a User Input node to the canvas. (May already exist in draft, takes effect after publishing)',
learnMore: 'Learn more',
},
settings: {
entry: 'Settings',
title: 'Web App Settings',
@ -121,6 +126,14 @@ const translation = {
accessibleAddress: 'Service API Endpoint',
doc: 'API Reference',
},
triggerInfo: {
title: 'Triggers',
explanation: 'Workflow trigger management',
triggersAdded: '{{count}} Triggers added',
noTriggerAdded: 'No trigger added',
triggerStatusDescription: 'Trigger node status appears here. (May already exist in draft, takes effect after publishing)',
learnAboutTriggers: 'Learn about Triggers',
},
status: {
running: 'In Service',
disable: 'Disabled',

View File

@ -254,6 +254,8 @@ const translation = {
notSetDesc: 'Currently nobody can access the web app. Please set permissions.',
},
noAccessPermission: 'No permission to access web app',
noUserInputNode: 'Missing user input node',
notPublishedYet: 'App is not published yet',
maxActiveRequests: 'Max concurrent requests',
maxActiveRequestsPlaceholder: 'Enter 0 for unlimited',
maxActiveRequestsTip: 'Maximum number of concurrent active requests per app (0 for unlimited)',

View File

@ -7,6 +7,8 @@ const translation = {
documentsUploadQuota: 'Documents Upload Quota',
vectorSpace: 'Knowledge Data Storage',
vectorSpaceTooltip: 'Documents with the High Quality indexing mode will consume Knowledge Data Storage resources. When Knowledge Data Storage reaches the limit, new documents will not be uploaded.',
triggerEvents: 'Trigger Events',
perMonth: 'per month',
},
teamMembers: 'Team Members',
upgradeBtn: {
@ -62,7 +64,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/min Knowledge Request Rate Limit',
documentsRequestQuotaTooltip: 'Specifies the total number of actions a workspace can perform per minute within the knowledge base, including dataset creation, deletion, updates, document uploads, modifications, archiving, and knowledge base queries. This metric is used to evaluate the performance of knowledge base requests. For example, if a Sandbox user performs 10 consecutive hit tests within one minute, their workspace will be temporarily restricted from performing the following actions for the next minute: dataset creation, deletion, updates, and document uploads or modifications. ',
apiRateLimit: 'API Rate Limit',
apiRateLimitUnit: '{{count,number}}/day',
apiRateLimitUnit: '{{count,number}}/month',
unlimitedApiRate: 'No API Rate Limit',
apiRateLimitTooltip: 'API Rate Limit applies to all requests made through the Dify API, including text generation, chat conversations, workflow executions, and document processing.',
documentProcessingPriority: ' Document Processing',
@ -72,6 +74,20 @@ const translation = {
'priority': 'Priority',
'top-priority': 'Top Priority',
},
triggerEvents: {
sandbox: '{{count,number}} Trigger Events',
professional: '{{count,number}} Trigger Events/month',
unlimited: 'Unlimited Trigger Events',
},
workflowExecution: {
standard: 'Standard Workflow Execution',
faster: 'Faster Workflow Execution',
priority: 'Priority Workflow Execution',
},
startNodes: {
limited: 'Up to {{count}} Start Nodes per Workflow',
unlimited: 'Unlimited Start Nodes per Workflow',
},
logsHistory: '{{days}} Log history',
customTools: 'Custom Tools',
unavailable: 'Unavailable',

View File

@ -29,6 +29,11 @@ const translation = {
refresh: 'Restart',
reset: 'Reset',
search: 'Search',
noSearchResults: 'No {{content}} were found',
resetKeywords: 'Reset keywords',
selectCount: '{{count}} Selected',
searchCount: 'Find {{count}} {{content}}',
noSearchCount: '0 {{content}}',
change: 'Change',
remove: 'Remove',
send: 'Send',
@ -41,6 +46,7 @@ const translation = {
downloadFailed: 'Download failed. Please try again later.',
viewDetails: 'View Details',
delete: 'Delete',
now: 'Now',
deleteApp: 'Delete App',
settings: 'Settings',
setup: 'Setup',
@ -79,7 +85,9 @@ const translation = {
placeholder: {
input: 'Please enter',
select: 'Please select',
search: 'Search...',
},
noData: 'No data',
label: {
optional: '(optional)',
},
@ -174,7 +182,7 @@ const translation = {
emailSupport: 'Email Support',
workspace: 'Workspace',
createWorkspace: 'Create Workspace',
helpCenter: 'Docs',
helpCenter: 'View Docs',
support: 'Support',
compliance: 'Compliance',
forum: 'Forum',
@ -769,6 +777,12 @@ const translation = {
supportedFormats: 'Supports PNG, JPG, JPEG, WEBP and GIF',
},
you: 'You',
dynamicSelect: {
error: 'Loading options failed',
noData: 'No options available',
loading: 'Loading options...',
selected: '{{count}} selected',
},
}
export default translation

View File

@ -0,0 +1,186 @@
const translation = {
subscription: {
title: 'Subscriptions',
listNum: '{{num}} subscriptions',
empty: {
title: 'No subscriptions',
button: 'New subscription',
},
createButton: {
oauth: 'New subscription with OAuth',
apiKey: 'New subscription with API Key',
manual: 'Paste URL to create a new subscription',
},
createSuccess: 'Subscription created successfully',
createFailed: 'Failed to create subscription',
maxCount: 'Max {{num}} subscriptions',
selectPlaceholder: 'Select subscription',
noSubscriptionSelected: 'No subscription selected',
subscriptionRemoved: 'Subscription removed',
list: {
title: 'Subscriptions',
addButton: 'Add',
tip: 'Receive events via Subscription',
item: {
enabled: 'Enabled',
disabled: 'Disabled',
credentialType: {
api_key: 'API Key',
oauth2: 'OAuth',
unauthorized: 'Manual',
},
actions: {
delete: 'Delete',
deleteConfirm: {
title: 'Delete {{name}}?',
success: 'Subscription {{name}} deleted successfully',
error: 'Failed to delete subscription {{name}}',
content: 'Once deleted, this subscription cannot be recovered. Please confirm.',
contentWithApps: 'The current subscription is referenced by {{count}} applications. Deleting it will cause the configured applications to stop receiving subscription events.',
confirm: 'Confirm Delete',
cancel: 'Cancel',
confirmInputWarning: 'Please enter the correct name to confirm.',
confirmInputPlaceholder: 'Enter "{{name}}" to confirm.',
confirmInputTip: 'Please enter “{{name}}” to confirm.',
},
},
status: {
active: 'Active',
inactive: 'Inactive',
},
usedByNum: 'Used by {{num}} workflows',
noUsed: 'No workflow used',
},
},
addType: {
title: 'Add subscription',
description: 'Choose how you want to create your trigger subscription',
options: {
apikey: {
title: 'Create with API Key',
description: 'Automatically create subscription using API credentials',
},
oauth: {
title: 'Create with OAuth',
description: 'Authorize with third-party platform to create subscription',
clientSettings: 'OAuth Client Settings',
clientTitle: 'OAuth Client',
default: 'Default',
custom: 'Custom',
},
manual: {
title: 'Manual Setup',
description: 'Paste URL to create a new subscription',
tip: 'Configure URL on third-party platform manually',
},
},
},
},
modal: {
steps: {
verify: 'Verify',
configuration: 'Configuration',
},
common: {
cancel: 'Cancel',
back: 'Back',
next: 'Next',
create: 'Create',
verify: 'Verify',
authorize: 'Authorize',
creating: 'Creating...',
verifying: 'Verifying...',
authorizing: 'Authorizing...',
},
oauthRedirectInfo: 'As no system client secrets found for this tool provider, setup it manually is required, for redirect_uri, please use',
apiKey: {
title: 'Create with API Key',
verify: {
title: 'Verify Credentials',
description: 'Please provide your API credentials to verify access',
error: 'Credential verification failed. Please check your API key.',
success: 'Credentials verified successfully',
},
configuration: {
title: 'Configure Subscription',
description: 'Set up your subscription parameters',
},
},
oauth: {
title: 'Create with OAuth',
authorization: {
title: 'OAuth Authorization',
description: 'Authorize Dify to access your account',
redirectUrl: 'Redirect URL',
redirectUrlHelp: 'Use this URL in your OAuth app configuration',
authorizeButton: 'Authorize with {{provider}}',
waitingAuth: 'Waiting for authorization...',
authSuccess: 'Authorization successful',
authFailed: 'Failed to get OAuth authorization information',
waitingJump: 'Authorized, waiting for jump',
},
configuration: {
title: 'Configure Subscription',
description: 'Set up your subscription parameters after authorization',
success: 'OAuth configuration successful',
failed: 'OAuth configuration failed',
},
remove: {
success: 'OAuth remove successful',
failed: 'OAuth remove failed',
},
save: {
success: 'OAuth configuration saved successfully',
},
},
manual: {
title: 'Manual Setup',
description: 'Configure your webhook subscription manually',
logs: {
title: 'Request Logs',
request: 'Request',
loading: 'Awaiting request from {{pluginName}}...',
},
},
form: {
subscriptionName: {
label: 'Subscription Name',
placeholder: 'Enter subscription name',
required: 'Subscription name is required',
},
callbackUrl: {
label: 'Callback URL',
description: 'This URL will receive webhook events',
tooltip: 'Provide a publicly accessible endpoint that can receive callback requests from the trigger provider.',
placeholder: 'Generating...',
privateAddressWarning: 'This URL appears to be an internal address, which may cause webhook requests to fail. You may change TRIGGER_URL to a public address.',
},
},
errors: {
createFailed: 'Failed to create subscription',
verifyFailed: 'Failed to verify credentials',
authFailed: 'Authorization failed',
networkError: 'Network error, please try again',
},
},
events: {
title: 'Available Events',
description: 'Events that this trigger plugin can subscribe to',
empty: 'No events available',
event: 'Event',
events: 'Events',
actionNum: '{{num}} {{event}} INCLUDED',
item: {
parameters: '{{count}} parameters',
noParameters: 'No parameters',
},
output: 'Output',
},
node: {
status: {
warning: 'Disconnect',
},
},
}
export default translation

View File

@ -8,6 +8,7 @@ const translation = {
tools: 'Tools',
agents: 'Agent Strategies',
extensions: 'Extensions',
triggers: 'Triggers',
bundles: 'Bundles',
datasources: 'Data Sources',
},
@ -16,6 +17,7 @@ const translation = {
tool: 'Tool',
agent: 'Agent Strategy',
extension: 'Extension',
trigger: 'Trigger',
bundle: 'Bundle',
datasource: 'Data Source',
},
@ -62,6 +64,7 @@ const translation = {
checkUpdate: 'Check Update',
viewDetail: 'View Detail',
remove: 'Remove',
back: 'Back',
},
actionNum: '{{num}} {{action}} INCLUDED',
strategyNum: '{{num}} {{strategy}} INCLUDED',
@ -306,6 +309,12 @@ const translation = {
connectedWorkspace: 'Connected Workspace',
emptyAuth: 'Please configure authentication',
},
readmeInfo: {
title: 'README',
needHelpCheckReadme: 'Need help? Check the README.',
noReadmeAvailable: 'No README available',
failedToFetch: 'Failed to fetch README',
},
}
export default translation

View File

@ -9,8 +9,11 @@ const translation = {
publish: 'Publish',
update: 'Update',
publishUpdate: 'Publish Update',
run: 'Run',
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',
@ -47,7 +50,8 @@ const translation = {
needConnectTip: 'This step is not connected to anything',
maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch',
needAdd: '{{node}} node must be added',
needEndNode: 'The End 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',
@ -77,12 +81,14 @@ const translation = {
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',
@ -140,6 +146,19 @@ const translation = {
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.',
@ -213,6 +232,16 @@ const translation = {
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',
@ -227,8 +256,11 @@ const translation = {
},
tabs: {
'searchBlock': 'Search node',
'start': 'Start',
'blocks': 'Nodes',
'searchTool': 'Search tool',
'searchTrigger': 'Search triggers...',
'allTriggers': 'All triggers',
'tools': 'Tools',
'allTool': 'All',
'plugin': 'Plugin',
@ -239,15 +271,28 @@ const translation = {
'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': 'Start',
'end': 'End',
'start': 'User Input',
'originalStartNode': 'original start node',
'end': 'Output',
'answer': 'Answer',
'llm': 'LLM',
'knowledge-retrieval': 'Knowledge Retrieval',
@ -270,10 +315,14 @@ const translation = {
'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 end and result type of 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',
@ -294,7 +343,11 @@ const translation = {
'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',
},
difyTeam: 'Dify Team',
operator: {
zoomIn: 'Zoom In',
zoomOut: 'Zoom Out',
@ -324,22 +377,24 @@ const translation = {
panel: {
userInputField: 'User Input Field',
changeBlock: 'Change Node',
helpLink: 'Help Link',
helpLink: 'View Docs',
about: 'About',
createdBy: 'Created By ',
nextStep: 'Next Step',
addNextStep: 'Add the next step in this workflow',
selectNextStep: 'Select Next Step',
runThisStep: 'Run this step',
moveToThisNode: 'Move to this node',
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: {
@ -719,6 +774,50 @@ const translation = {
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',
@ -966,6 +1065,108 @@ const translation = {
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}}',
@ -1027,6 +1228,18 @@ const translation = {
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',
@ -1052,6 +1265,22 @@ const translation = {
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

View File

@ -76,7 +76,7 @@ const translation = {
priceTip: 'por espacio de trabajo/',
teamMember_one: '{{count, número}} Miembro del Equipo',
getStarted: 'Comenzar',
apiRateLimitUnit: '{{count, número}}/día',
apiRateLimitUnit: '{{count, número}}/mes',
freeTrialTipSuffix: 'No se requiere tarjeta de crédito',
unlimitedApiRate: 'Sin límite de tasa de API',
apiRateLimit: 'Límite de tasa de API',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Publicado',
publish: 'Publicar',
update: 'Actualizar',
run: 'Ejecutar',
run: 'Ejecutar prueba',
running: 'Ejecutando',
inRunMode: 'En modo de ejecución',
inPreview: 'En vista previa',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Historial de ejecución',
goBackToEdit: 'Volver al editor',
conversationLog: 'Registro de conversación',
features: 'Funcionalidades',
debugAndPreview: 'Vista previa',
restart: 'Reiniciar',
currentDraft: 'Borrador actual',
@ -93,8 +92,6 @@ const translation = {
branch: 'RAMA',
fileUploadTip: 'Las funciones de carga de imágenes se han actualizado a la carga de archivos.',
ImageUploadLegacyTip: 'Ahora puede crear variables de tipo de archivo en el formulario de inicio. Ya no admitiremos la función de carga de imágenes en el futuro.',
featuresDescription: 'Mejorar la experiencia del usuario de la aplicación web',
featuresDocLink: 'Aprende más',
importWarning: 'Cautela',
importWarningDetails: 'La diferencia de versión de DSL puede afectar a ciertas características',
openInExplore: 'Abrir en Explorar',
@ -110,11 +107,12 @@ const translation = {
publishUpdate: 'Publicar actualización',
exportImage: 'Exportar imagen',
needAnswerNode: 'Se debe agregar el nodo de respuesta',
needEndNode: 'Se debe agregar el nodo Final',
needOutputNode: 'Se debe agregar el nodo de Salida',
addBlock: 'Agregar nodo',
tagBound: 'Número de aplicaciones que utilizan esta etiqueta',
currentView: 'Vista actual',
currentWorkflow: 'Flujo de trabajo actual',
moreActions: 'Más acciones',
},
env: {
envPanelTitle: 'Variables de Entorno',
@ -139,6 +137,19 @@ const translation = {
export: 'Exportar DSL con valores secretos',
},
},
globalVar: {
title: 'Variables del sistema',
description: 'Las variables del sistema son variables globales que cualquier nodo puede usar sin conexiones cuando el tipo es correcto, como el ID del usuario final y el ID del flujo de trabajo.',
fieldsDescription: {
conversationId: 'ID de la conversación',
dialogCount: 'Número de conversaciones',
userId: 'ID de usuario',
triggerTimestamp: 'Marca de tiempo de inicio de la aplicación',
appId: 'ID de la aplicación',
workflowId: 'ID del flujo de trabajo',
workflowRunId: 'ID de ejecución del flujo de trabajo',
},
},
chatVariable: {
panelTitle: 'Variables de Conversación',
panelDescription: 'Las Variables de Conversación se utilizan para almacenar información interactiva que el LLM necesita recordar, incluyendo el historial de conversación, archivos subidos y preferencias del usuario. Son de lectura y escritura.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Inicio',
'end': 'Fin',
'end': 'Salida',
'answer': 'Respuesta',
'llm': 'LLM',
'knowledge-retrieval': 'Recuperación de conocimiento',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Define los parámetros iniciales para iniciar un flujo de trabajo',
'end': 'Define el final y el tipo de resultado de un flujo de trabajo',
'end': 'Define la salida y el tipo de resultado de un flujo de trabajo',
'answer': 'Define el contenido de respuesta de una conversación de chat',
'llm': 'Invoca modelos de lenguaje grandes para responder preguntas o procesar lenguaje natural',
'knowledge-retrieval': 'Te permite consultar contenido de texto relacionado con las preguntas de los usuarios desde el conocimiento',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Campo de entrada del usuario',
helpLink: 'Enlace de ayuda',
helpLink: 'Ayuda',
about: 'Acerca de',
createdBy: 'Creado por ',
nextStep: 'Siguiente paso',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Se resolvieron todos los problemas',
change: 'Cambiar',
optional: '(opcional)',
moveToThisNode: 'Mueve a este nodo',
organizeBlocks: 'Organizar nodos',
addNextStep: 'Agrega el siguiente paso en este flujo de trabajo',
changeBlock: 'Cambiar Nodo',
selectNextStep: 'Seleccionar siguiente paso',
maximize: 'Maximizar Canvas',
minimize: 'Salir de pantalla completa',
scrollToSelectedNode: 'Desplácese hasta el nodo seleccionado',
optional_and_hidden: '(opcional y oculto)',
},
nodes: {

View File

@ -73,7 +73,7 @@ const translation = {
},
ragAPIRequestTooltip: 'به تعداد درخواست‌های API که فقط قابلیت‌های پردازش پایگاه دانش Dify را فراخوانی می‌کنند اشاره دارد.',
receiptInfo: 'فقط صاحب تیم و مدیر تیم می‌توانند اشتراک تهیه کنند و اطلاعات صورتحساب را مشاهده کنند',
apiRateLimitUnit: '{{count,number}}/روز',
apiRateLimitUnit: '{{count,number}}/ماه',
cloud: 'سرویس ابری',
documents: '{{count,number}} سندهای دانش',
self: 'خود میزبان',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'منتشر شده',
publish: 'انتشار',
update: 'به‌روزرسانی',
run: 'اجرا',
run: 'اجرای تست',
running: 'در حال اجرا',
inRunMode: 'در حالت اجرا',
inPreview: 'در پیش‌نمایش',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'تاریخچه اجرا',
goBackToEdit: 'بازگشت به ویرایشگر',
conversationLog: 'گزارش مکالمات',
features: 'ویژگی‌ها',
debugAndPreview: 'پیش‌نمایش',
restart: 'راه‌اندازی مجدد',
currentDraft: 'پیش‌نویس فعلی',
@ -91,8 +90,6 @@ const translation = {
addParallelNode: 'افزودن گره موازی',
parallel: 'موازی',
branch: 'شاخه',
featuresDocLink: 'بیشتر بدانید',
featuresDescription: 'بهبود تجربه کاربری برنامه وب',
ImageUploadLegacyTip: 'اکنون می توانید متغیرهای نوع فایل را در فرم شروع ایجاد کنید. ما دیگر از ویژگی آپلود تصویر در آینده پشتیبانی نخواهیم کرد.',
fileUploadTip: 'ویژگی های آپلود تصویر برای آپلود فایل ارتقا یافته است.',
importWarning: 'احتیاط',
@ -109,12 +106,13 @@ const translation = {
exportImage: 'تصویر را صادر کنید',
versionHistory: 'تاریخچه نسخه',
publishUpdate: 'به‌روزرسانی منتشر کنید',
needEndNode: 'باید گره پایان اضافه شود',
needOutputNode: 'باید گره خروجی اضافه شود',
needAnswerNode: 'باید گره پاسخ اضافه شود',
addBlock: 'نود اضافه کنید',
tagBound: 'تعداد برنامه‌هایی که از این برچسب استفاده می‌کنند',
currentView: 'نمای فعلی',
currentWorkflow: 'گردش کار فعلی',
moreActions: 'اقدامات بیشتر',
},
env: {
envPanelTitle: 'متغیرهای محیطی',
@ -139,6 +137,19 @@ const translation = {
export: 'صادر کردن DSL با مقادیر مخفی',
},
},
globalVar: {
title: 'متغیرهای سیستمی',
description: 'متغیرهای سیستمی متغیرهای سراسری هستند که هر گره در صورت مطابقت نوع می‌تواند بدون سیم‌کشی از آن‌ها استفاده کند، مانند شناسه کاربر نهایی و شناسه گردش‌کار.',
fieldsDescription: {
conversationId: 'شناسه گفتگو',
dialogCount: 'تعداد گفتگو',
userId: 'شناسه کاربر',
triggerTimestamp: 'برچسب زمانی شروع اجرای برنامه',
appId: 'شناسه برنامه',
workflowId: 'شناسه گردش‌کار',
workflowRunId: 'شناسه اجرای گردش‌کار',
},
},
chatVariable: {
panelTitle: 'متغیرهای مکالمه',
panelDescription: 'متغیرهای مکالمه برای ذخیره اطلاعات تعاملی که LLM نیاز به یادآوری دارد استفاده می‌شوند، از جمله تاریخچه مکالمه، فایل‌های آپلود شده و ترجیحات کاربر. آنها قابل خواندن و نوشتن هستند.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'شروع',
'end': 'پایان',
'end': 'خروجی',
'answer': 'پاسخ',
'llm': 'مدل زبان بزرگ',
'knowledge-retrieval': 'استخراج دانش',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'پارامترهای اولیه برای راه‌اندازی جریان کار را تعریف کنید',
'end': 'پایان و نوع نتیجه یک جریان کار را تعریف کنید',
'end': 'خروجی و نوع نتیجه یک جریان کار را تعریف کنید',
'answer': 'محتوای پاسخ مکالمه چت را تعریف کنید',
'llm': 'استفاده از مدل‌های زبان بزرگ برای پاسخ به سوالات یا پردازش زبان طبیعی',
'knowledge-retrieval': 'اجازه می‌دهد تا محتوای متنی مرتبط با سوالات کاربر از دانش استخراج شود',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'فیلد ورودی کاربر',
helpLink: 'لینک کمک',
helpLink: 'راهنما',
about: 'درباره',
createdBy: 'ساخته شده توسط',
nextStep: 'مرحله بعدی',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'تمام مسائل حل شده‌اند',
change: 'تغییر',
optional: '(اختیاری)',
moveToThisNode: 'به این گره بروید',
selectNextStep: 'گام بعدی را انتخاب کنید',
changeBlock: 'تغییر گره',
organizeBlocks: 'گره‌ها را سازماندهی کنید',
addNextStep: 'مرحله بعدی را به این فرآیند اضافه کنید',
minimize: 'خروج از حالت تمام صفحه',
maximize: 'بیشینه‌سازی بوم',
scrollToSelectedNode: 'به گره انتخاب شده بروید',
optional_and_hidden: '(اختیاری و پنهان)',
},
nodes: {

View File

@ -73,7 +73,7 @@ const translation = {
ragAPIRequestTooltip: 'Fait référence au nombre d\'appels API invoquant uniquement les capacités de traitement de la base de connaissances de Dify.',
receiptInfo: 'Seuls le propriétaire de l\'équipe et l\'administrateur de l\'équipe peuvent s\'abonner et consulter les informations de facturation',
annotationQuota: 'Quota dannotation',
apiRateLimitUnit: '{{count,number}}/jour',
apiRateLimitUnit: '{{count,number}}/mois',
priceTip: 'par espace de travail/',
freeTrialTipSuffix: 'Aucune carte de crédit requise',
teamWorkspace: '{{count,number}} Espace de travail d\'équipe',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Publié',
publish: 'Publier',
update: 'Mettre à jour',
run: 'Exécuter',
run: 'Exécuter test',
running: 'En cours d\'exécution',
inRunMode: 'En mode exécution',
inPreview: 'En aperçu',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Historique des exécutions',
goBackToEdit: 'Retour à l\'éditeur',
conversationLog: 'Journal de conversation',
features: 'Fonctionnalités',
debugAndPreview: 'Aperçu',
restart: 'Redémarrer',
currentDraft: 'Brouillon actuel',
@ -91,10 +90,8 @@ const translation = {
addParallelNode: 'Ajouter un nœud parallèle',
parallel: 'PARALLÈLE',
branch: 'BRANCHE',
featuresDocLink: 'Pour en savoir plus',
ImageUploadLegacyTip: 'Vous pouvez désormais créer des variables de type de fichier dans le formulaire de démarrage. À lavenir, nous ne prendrons plus en charge la fonctionnalité de téléchargement dimages.',
fileUploadTip: 'Les fonctionnalités de téléchargement dimages ont été mises à niveau vers le téléchargement de fichiers.',
featuresDescription: 'Améliorer lexpérience utilisateur de lapplication web',
importWarning: 'Prudence',
importWarningDetails: 'La différence de version DSL peut affecter certaines fonctionnalités',
openInExplore: 'Ouvrir dans Explorer',
@ -109,12 +106,13 @@ const translation = {
versionHistory: 'Historique des versions',
exportImage: 'Exporter l\'image',
exportJPEG: 'Exporter en JPEG',
needEndNode: 'Le nœud de fin doit être ajouté',
needOutputNode: 'Le nœud de sortie doit être ajouté',
needAnswerNode: 'Le nœud de réponse doit être ajouté.',
addBlock: 'Ajouter un nœud',
tagBound: 'Nombre d\'applications utilisant cette étiquette',
currentView: 'Vue actuelle',
currentWorkflow: 'Flux de travail actuel',
moreActions: 'Plus dactions',
},
env: {
envPanelTitle: 'Variables d\'Environnement',
@ -139,6 +137,19 @@ const translation = {
export: 'Exporter les DSL avec des valeurs secrètes',
},
},
globalVar: {
title: 'Variables système',
description: 'Les variables système sont des variables globales que tout nœud peut référencer sans câblage lorsque le type correspond, comme l\'ID utilisateur final et l\'ID du workflow.',
fieldsDescription: {
conversationId: 'ID de conversation',
dialogCount: 'Nombre de conversations',
userId: 'ID utilisateur',
triggerTimestamp: 'Horodatage du lancement de l\'application',
appId: 'ID de l\'application',
workflowId: 'ID du workflow',
workflowRunId: 'ID d\'exécution du workflow',
},
},
chatVariable: {
panelTitle: 'Variables de Conversation',
panelDescription: 'Les Variables de Conversation sont utilisées pour stocker des informations interactives dont le LLM a besoin de se souvenir, y compris l\'historique des conversations, les fichiers téléchargés et les préférences de l\'utilisateur. Elles sont en lecture-écriture.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Début',
'end': 'Fin',
'end': 'Sortie',
'answer': 'Réponse',
'llm': 'LLM',
'knowledge-retrieval': 'Récupération de connaissances',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Définir les paramètres initiaux pour lancer un flux de travail',
'end': 'Définir la fin et le type de résultat d\'un flux de travail',
'end': 'Définir la sortie et le type de résultat d\'un flux de travail',
'answer': 'Définir le contenu de la réponse d\'une conversation',
'llm': 'Inviter de grands modèles de langage pour répondre aux questions ou traiter le langage naturel',
'knowledge-retrieval': 'Permet de consulter le contenu textuel lié aux questions des utilisateurs à partir de la base de connaissances',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Champ de saisie de l\'utilisateur',
helpLink: 'Lien d\'aide',
helpLink: 'Aide',
about: 'À propos',
createdBy: 'Créé par',
nextStep: 'Étape suivante',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Tous les problèmes ont été résolus',
change: 'Modifier',
optional: '(facultatif)',
moveToThisNode: 'Déplacer vers ce nœud',
organizeBlocks: 'Organiser les nœuds',
addNextStep: 'Ajoutez la prochaine étape dans ce flux de travail',
selectNextStep: 'Sélectionner la prochaine étape',
changeBlock: 'Changer de nœud',
maximize: 'Maximiser le Canvas',
minimize: 'Sortir du mode plein écran',
scrollToSelectedNode: 'Faites défiler jusquau nœud sélectionné',
optional_and_hidden: '(optionnel et caché)',
},
nodes: {

View File

@ -96,7 +96,7 @@ const translation = {
freeTrialTip: '200 ओपनएआई कॉल्स का मुफ्त परीक्षण।',
documents: '{{count,number}} ज्ञान दस्तावेज़',
freeTrialTipSuffix: 'कोई क्रेडिट कार्ड की आवश्यकता नहीं है',
apiRateLimitUnit: '{{count,number}}/दिन',
apiRateLimitUnit: '{{count,number}}/माह',
teamWorkspace: '{{count,number}} टीम कार्यक्षेत्र',
apiRateLimitTooltip: 'Dify API के माध्यम से की गई सभी अनुरोधों पर API दर सीमा लागू होती है, जिसमें टेक्स्ट जनरेशन, चैट वार्तालाप, कार्यप्रवाह निष्पादन और दस्तावेज़ प्रसंस्करण शामिल हैं।',
teamMember_one: '{{count,number}} टीम सदस्य',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'प्रकाशित',
publish: 'प्रकाशित करें',
update: 'अपडेट करें',
run: 'चलाएं',
run: 'परीक्षण चलाएं',
running: 'चल रहा है',
inRunMode: 'रन मोड में',
inPreview: 'पूर्वावलोकन में',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'रन इतिहास',
goBackToEdit: 'संपादक पर वापस जाएं',
conversationLog: 'वार्तालाप लॉग',
features: 'विशेषताएं',
debugAndPreview: 'पूर्वावलोकन',
restart: 'पुनः आरंभ करें',
currentDraft: 'वर्तमान ड्राफ्ट',
@ -94,8 +93,6 @@ const translation = {
addParallelNode: 'समानांतर नोड जोड़ें',
parallel: 'समानांतर',
branch: 'शाखा',
featuresDocLink: 'और जानो',
featuresDescription: 'वेब ऐप उपयोगकर्ता अनुभव को बेहतर बनाएं',
fileUploadTip: 'छवि अपलोड सुविधाओं को फ़ाइल अपलोड में अपग्रेड किया गया है।',
ImageUploadLegacyTip: 'अब आप प्रारंभ प्रपत्र में फ़ाइल प्रकार चर बना सकते हैं। हम अब भविष्य में छवि अपलोड सुविधा का समर्थन नहीं करेंगे।',
importWarning: 'सावधानी',
@ -114,10 +111,11 @@ const translation = {
versionHistory: 'संस्करण इतिहास',
needAnswerNode: 'उत्तर नोड जोड़ा जाना चाहिए',
addBlock: 'नोड जोड़ें',
needEndNode: 'अंत नोड जोड़ा जाना चाहिए',
needOutputNode: 'आउटपुट नोड जोड़ा जाना चाहिए',
tagBound: 'इस टैग का उपयोग करने वाले ऐप्स की संख्या',
currentView: 'वर्तमान दृश्य',
currentWorkflow: 'वर्तमान कार्यप्रवाह',
moreActions: 'अधिक क्रियाएँ',
},
env: {
envPanelTitle: 'पर्यावरण चर',
@ -142,6 +140,19 @@ const translation = {
export: 'गुप्त मानों के साथ DSL निर्यात करें',
},
},
globalVar: {
title: 'सिस्टम वेरिएबल्स',
description: 'सिस्टम वेरिएबल्स वैश्विक वेरिएबल्स हैं जिन्हें सही प्रकार होने पर किसी भी नोड द्वारा बिना वायरिंग के संदर्भित किया जा सकता है, जैसे एंड-यूज़र ID और वर्कफ़्लो ID.',
fieldsDescription: {
conversationId: 'संवाद ID',
dialogCount: 'संवाद गणना',
userId: 'उपयोगकर्ता ID',
triggerTimestamp: 'एप्लिकेशन शुरू होने का टाइमस्टैम्प',
appId: 'एप्लिकेशन ID',
workflowId: 'वर्कफ़्लो ID',
workflowRunId: 'वर्कफ़्लो रन ID',
},
},
chatVariable: {
panelTitle: 'वार्तालाप चर',
panelDescription: 'वार्तालाप चर का उपयोग इंटरैक्टिव जानकारी संग्रहित करने के लिए किया जाता है जिसे LLM को याद रखने की आवश्यकता होती है, जिसमें वार्तालाप इतिहास, अपलोड की गई फाइलें, उपयोगकर्ता प्राथमिकताएं शामिल हैं। वे पठनीय और लेखनीय हैं।',
@ -245,7 +256,7 @@ const translation = {
},
blocks: {
'start': 'प्रारंभ',
'end': 'समाप्त',
'end': 'आउटपुट',
'answer': 'उत्तर',
'llm': 'एलएलएम',
'knowledge-retrieval': 'ज्ञान पुनर्प्राप्ति',
@ -271,7 +282,7 @@ const translation = {
},
blocksAbout: {
'start': 'वर्कफ़्लो लॉन्च करने के लिए प्रारंभिक पैरामीटर को परिभाषित करें',
'end': 'वर्कफ़्लो का अंत और परिणाम प्रकार परिभाषित करें',
'end': 'वर्कफ़्लो का आउटपुट और परिणाम प्रकार परिभाषित करें',
'answer': 'चैट संवाद के उत्तर सामग्री को परिभाषित करें',
'llm': 'प्रश्नों के उत्तर देने या प्राकृतिक भाषा को संसाधित करने के लिए बड़े भाषा मॉडल को आमंत्रित करना',
'knowledge-retrieval':
@ -322,7 +333,7 @@ const translation = {
},
panel: {
userInputField: 'उपयोगकर्ता इनपुट फ़ील्ड',
helpLink: 'सहायता लिंक',
helpLink: 'सहायता',
about: 'के बारे में',
createdBy: 'द्वारा बनाया गया ',
nextStep: 'अगला कदम',
@ -333,13 +344,13 @@ const translation = {
checklistResolved: 'सभी समस्याएं हल हो गई हैं',
change: 'बदलें',
optional: '(वैकल्पिक)',
moveToThisNode: 'इस नोड पर जाएं',
changeBlock: 'नोड बदलें',
addNextStep: 'इस कार्यप्रवाह में अगला कदम जोड़ें',
selectNextStep: 'अगला कदम चुनें',
organizeBlocks: 'नोड्स का आयोजन करें',
minimize: 'पूर्ण स्क्रीन से बाहर निकलें',
maximize: 'कैनवास का अधिकतम लाभ उठाएँ',
scrollToSelectedNode: 'चुने गए नोड पर स्क्रॉल करें',
optional_and_hidden: '(वैकल्पिक और छिपा हुआ)',
},
nodes: {

View File

@ -90,7 +90,7 @@ const translation = {
exportJPEG: 'Ekspor sebagai JPEG',
addBlock: 'Tambahkan Node',
processData: 'Proses Data',
needEndNode: 'Node Akhir harus ditambahkan',
needOutputNode: 'Node Output harus ditambahkan',
manageInTools: 'Kelola di Alat',
pointerMode: 'Mode Penunjuk',
accessAPIReference: 'Referensi API Akses',
@ -137,6 +137,19 @@ const translation = {
envPanelTitle: 'Variabel Lingkungan',
envDescription: 'Variabel lingkungan dapat digunakan untuk menyimpan informasi pribadi dan kredensial. Mereka hanya baca dan dapat dipisahkan dari file DSL selama ekspor.',
},
globalVar: {
title: 'Variabel Sistem',
description: 'Variabel sistem adalah variabel global yang dapat dirujuk oleh node apa pun tanpa koneksi jika tipenya sesuai, seperti ID pengguna akhir dan ID alur kerja.',
fieldsDescription: {
conversationId: 'ID percakapan',
dialogCount: 'Jumlah percakapan',
userId: 'ID pengguna',
triggerTimestamp: 'Cap waktu saat aplikasi mulai berjalan',
appId: 'ID aplikasi',
workflowId: 'ID alur kerja',
workflowRunId: 'ID eksekusi alur kerja',
},
},
chatVariable: {
modal: {
valuePlaceholder: 'Nilai default, biarkan kosong untuk tidak diatur',
@ -249,7 +262,7 @@ const translation = {
'answer': 'Jawaban',
'parameter-extractor': 'Ekstraktor Parameter',
'document-extractor': 'Ekstraktor Dokumen',
'end': 'Ujung',
'end': 'Keluaran',
'if-else': 'JIKA/LAIN',
'loop-start': 'Mulai Loop',
'variable-aggregator': 'Agregator Variabel',
@ -275,7 +288,7 @@ const translation = {
'variable-assigner': 'Agregatkan variabel multi-cabang menjadi satu variabel untuk konfigurasi terpadu simpul hilir.',
'loop': 'Jalankan perulangan logika hingga kondisi penghentian terpenuhi atau jumlah perulangan maksimum tercapai.',
'variable-aggregator': 'Agregatkan variabel multi-cabang menjadi satu variabel untuk konfigurasi terpadu simpul hilir.',
'end': 'Menentukan jenis akhir dan hasil alur kerja',
'end': 'Menentukan output dan jenis hasil alur kerja',
'list-operator': 'Digunakan untuk memfilter atau mengurutkan konten array.',
'datasource': 'Sumber Data Tentang',
'knowledge-index': 'Basis Pengetahuan Tentang',
@ -321,7 +334,7 @@ const translation = {
userInputField: 'Bidang Input Pengguna',
checklistResolved: 'Semua masalah terselesaikan',
createdBy: 'Dibuat oleh',
helpLink: 'Tautan Bantuan',
helpLink: 'Docs',
changeBlock: 'Ubah Node',
runThisStep: 'Jalankan langkah ini',
maximize: 'Maksimalkan Kanvas',

View File

@ -88,7 +88,7 @@ const translation = {
freeTrialTipPrefix: 'Iscriviti e ricevi un',
teamMember_one: '{{count,number}} membro del team',
documents: '{{count,number}} Documenti di Conoscenza',
apiRateLimitUnit: '{{count,number}}/giorno',
apiRateLimitUnit: '{{count,number}}/mese',
documentsRequestQuota: '{{count,number}}/min Limite di richiesta di conoscenza',
teamMember_other: '{{count,number}} membri del team',
freeTrialTip: 'prova gratuita di 200 chiamate OpenAI.',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Pubblicato',
publish: 'Pubblica',
update: 'Aggiorna',
run: 'Esegui',
run: 'Esegui test',
running: 'In esecuzione',
inRunMode: 'In modalità di esecuzione',
inPreview: 'In anteprima',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Cronologia esecuzioni',
goBackToEdit: 'Torna all\'editor',
conversationLog: 'Registro conversazioni',
features: 'Caratteristiche',
debugAndPreview: 'Anteprima',
restart: 'Riavvia',
currentDraft: 'Bozza corrente',
@ -95,8 +94,6 @@ const translation = {
addParallelNode: 'Aggiungi nodo parallelo',
parallel: 'PARALLELO',
branch: 'RAMO',
featuresDocLink: 'Ulteriori informazioni',
featuresDescription: 'Migliora l\'esperienza utente dell\'app Web',
fileUploadTip: 'Le funzioni di caricamento delle immagini sono state aggiornate al caricamento dei file.',
ImageUploadLegacyTip: 'Ora è possibile creare variabili di tipo file nel modulo iniziale. In futuro non supporteremo più la funzione di caricamento delle immagini.',
importWarning: 'Cautela',
@ -113,12 +110,13 @@ const translation = {
exportImage: 'Esporta immagine',
exportJPEG: 'Esporta come JPEG',
exportPNG: 'Esporta come PNG',
needEndNode: 'Deve essere aggiunto il nodo finale',
needOutputNode: 'Deve essere aggiunto il nodo di uscita',
addBlock: 'Aggiungi nodo',
needAnswerNode: 'Deve essere aggiunto il nodo di risposta',
tagBound: 'Numero di app che utilizzano questo tag',
currentWorkflow: 'Flusso di lavoro corrente',
currentView: 'Vista corrente',
moreActions: 'Altre azioni',
},
env: {
envPanelTitle: 'Variabili d\'Ambiente',
@ -143,6 +141,19 @@ const translation = {
export: 'Esporta DSL con valori segreti',
},
},
globalVar: {
title: 'Variabili di sistema',
description: 'Le variabili di sistema sono variabili globali che possono essere richiamate da qualsiasi nodo senza collegamenti quando il tipo è corretto, come l\'ID dell\'utente finale e l\'ID del workflow.',
fieldsDescription: {
conversationId: 'ID conversazione',
dialogCount: 'Conteggio conversazioni',
userId: 'ID utente',
triggerTimestamp: 'Timestamp di avvio dell\'applicazione',
appId: 'ID applicazione',
workflowId: 'ID workflow',
workflowRunId: 'ID esecuzione workflow',
},
},
chatVariable: {
panelTitle: 'Variabili di Conversazione',
panelDescription: 'Le Variabili di Conversazione sono utilizzate per memorizzare informazioni interattive che il LLM deve ricordare, inclusi la cronologia delle conversazioni, i file caricati e le preferenze dell\'utente. Sono in lettura e scrittura.',
@ -247,7 +258,7 @@ const translation = {
},
blocks: {
'start': 'Inizio',
'end': 'Fine',
'end': 'Uscita',
'answer': 'Risposta',
'llm': 'LLM',
'knowledge-retrieval': 'Recupero Conoscenza',
@ -273,7 +284,7 @@ const translation = {
},
blocksAbout: {
'start': 'Definisci i parametri iniziali per l\'avvio di un flusso di lavoro',
'end': 'Definisci la fine e il tipo di risultato di un flusso di lavoro',
'end': 'Definisci l\'uscita e il tipo di risultato di un flusso di lavoro',
'answer': 'Definisci il contenuto della risposta di una conversazione chat',
'llm': 'Invoca modelli di linguaggio di grandi dimensioni per rispondere a domande o elaborare il linguaggio naturale',
'knowledge-retrieval':
@ -325,7 +336,7 @@ const translation = {
},
panel: {
userInputField: 'Campo di Input Utente',
helpLink: 'Link di Aiuto',
helpLink: 'Aiuto',
about: 'Informazioni',
createdBy: 'Creato da ',
nextStep: 'Prossimo Passo',
@ -336,13 +347,13 @@ const translation = {
checklistResolved: 'Tutti i problemi sono risolti',
change: 'Cambia',
optional: '(opzionale)',
moveToThisNode: 'Sposta a questo nodo',
changeBlock: 'Cambia Nodo',
selectNextStep: 'Seleziona il prossimo passo',
organizeBlocks: 'Organizzare i nodi',
addNextStep: 'Aggiungi il prossimo passo in questo flusso di lavoro',
minimize: 'Esci dalla modalità schermo intero',
maximize: 'Massimizza Canvas',
scrollToSelectedNode: 'Scorri fino al nodo selezionato',
optional_and_hidden: '(opzionale e nascosto)',
},
nodes: {

View File

@ -20,6 +20,7 @@ const translation = {
tokens: 'トークン',
user: 'エンドユーザーまたはアカウント',
version: 'バージョン',
triggered_from: 'トリガー方法',
},
pagination: {
previous: '前へ',
@ -97,6 +98,15 @@ const translation = {
iteration: '反復',
finalProcessing: '最終処理',
},
triggerBy: {
debugging: 'デバッグ',
appRun: 'ウェブアプリ',
webhook: 'Webhook',
schedule: 'スケジュール',
plugin: 'プラグイン',
ragPipelineRun: 'RAGパイプライン',
ragPipelineDebugging: 'RAGデバッグ',
},
}
export default translation

View File

@ -30,12 +30,17 @@ const translation = {
overview: {
title: '概要',
appInfo: {
title: 'Web App',
explanation: '使いやすい AI Web アプリ',
accessibleAddress: '公開 URL',
preview: 'プレビュー',
regenerate: '再生成',
regenerateNotice: '公開 URL を再生成しますか?',
preUseReminder: '続行する前に Web アプリを有効にしてください。',
enableTooltip: {
description: 'この機能を有効にするには、キャンバスにユーザー入力ノードを追加してください。(下書きに既に存在する可能性があり、公開後に有効になります)',
learnMore: '詳細を見る',
},
settings: {
entry: '設定',
title: 'Web アプリの設定',
@ -121,6 +126,14 @@ const translation = {
accessibleAddress: 'サービス API エンドポイント',
doc: 'API リファレンス',
},
triggerInfo: {
title: 'トリガー',
explanation: 'ワークフロートリガー管理',
triggersAdded: '{{count}} 個のトリガーが追加されました',
noTriggerAdded: 'トリガーが追加されていません',
triggerStatusDescription: 'トリガーノードの状態がここに表示されます。(下書きに既に存在する可能性があり、公開後に有効になります)',
learnAboutTriggers: 'トリガーについて学ぶ',
},
status: {
running: '稼働中',
disable: '無効',

View File

@ -7,6 +7,8 @@ const translation = {
documentsUploadQuota: 'ドキュメント・アップロード・クォータ',
vectorSpace: 'ナレッジベースのデータストレージ',
vectorSpaceTooltip: '高品質インデックスモードのドキュメントは、ナレッジベースのデータストレージのリソースを消費します。ナレッジベースのデータストレージの上限に達すると、新しいドキュメントはアップロードされません。',
triggerEvents: 'トリガーイベント',
perMonth: '月あたり',
},
upgradeBtn: {
plain: 'プランをアップグレード',
@ -60,7 +62,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/分のナレッジ リクエストのレート制限',
documentsRequestQuotaTooltip: 'ナレッジベース内でワークスペースが 1 分間に実行できる操作の総数を示します。これには、データセットの作成、削除、更新、ドキュメントのアップロード、修正、アーカイブ、およびナレッジベースクエリが含まれます。この指標は、ナレッジベースリクエストのパフォーマンスを評価するために使用されます。例えば、Sandbox ユーザーが 1 分間に 10 回連続でヒットテストを実行した場合、そのワークスペースは次の 1 分間、データセットの作成、削除、更新、ドキュメントのアップロードや修正などの操作を一時的に実行できなくなります。',
apiRateLimit: 'API レート制限',
apiRateLimitUnit: '{{count,number}}/',
apiRateLimitUnit: '{{count,number}}/',
unlimitedApiRate: '無制限の API コール',
apiRateLimitTooltip: 'API レート制限は、テキスト生成、チャットボット、ワークフロー、ドキュメント処理など、Dify API 経由のすべてのリクエストに適用されます。',
documentProcessingPriority: '文書処理',

View File

@ -66,6 +66,7 @@ const translation = {
more: 'もっと',
selectAll: 'すべて選択',
deSelectAll: 'すべて選択解除',
now: '今',
config: 'コンフィグ',
yes: 'はい',
no: 'いいえ',
@ -170,7 +171,7 @@ const translation = {
emailSupport: 'サポート',
workspace: 'ワークスペース',
createWorkspace: 'ワークスペースを作成',
helpCenter: 'ヘルプ',
helpCenter: 'ドキュメントを見る',
support: 'サポート',
compliance: 'コンプライアンス',
roadmap: 'ロードマップ',

View File

@ -0,0 +1,216 @@
const translation = {
subscription: {
title: 'サブスクリプション',
listNum: '{{num}} サブスクリプション',
empty: {
title: 'サブスクリプションがありません',
description: 'イベントの受信を開始するために最初のサブスクリプションを作成してください',
button: '新しいサブスクリプション',
},
createButton: {
oauth: 'OAuth で新しいサブスクリプション',
apiKey: 'API キーで新しいサブスクリプション',
manual: 'URL を貼り付けて新しいサブスクリプションを作成',
},
list: {
title: 'サブスクリプション',
addButton: '追加',
tip: 'サブスクリプション経由でイベントを受信',
item: {
enabled: '有効',
disabled: '無効',
credentialType: {
api_key: 'API キー',
oauth2: 'OAuth',
unauthorized: '手動',
},
actions: {
delete: '削除',
deleteConfirm: {
title: 'サブスクリプションを削除',
content: '「{{name}}」を削除してもよろしいですか?',
contentWithApps: 'このサブスクリプションは {{count}} 個のアプリで使用されています。「{{name}}」を削除してもよろしいですか?',
confirm: '削除',
cancel: 'キャンセル',
confirmInputWarning: '確認するために正しい名前を入力してください。',
},
},
status: {
active: 'アクティブ',
inactive: '非アクティブ',
},
usedByNum: '{{num}} ワークフローで使用中',
noUsed: 'ワークフローで使用されていません',
},
},
addType: {
title: 'サブスクリプションを追加',
description: 'トリガーサブスクリプションの作成方法を選択してください',
options: {
apiKey: {
title: 'API キー経由',
description: 'API 認証情報を使用してサブスクリプションを自動作成',
},
oauth: {
title: 'OAuth 経由',
description: 'サードパーティプラットフォームで認証してサブスクリプションを作成',
custom: 'カスタム',
default: 'デフォルト',
clientSettings: 'OAuthクライアント設定',
clientTitle: 'OAuth クライアント',
},
manual: {
title: '手動設定',
description: 'URL を貼り付けて新しいサブスクリプションを作成',
tip: 'サードパーティプラットフォームで URL を手動設定',
},
apikey: {
title: 'APIキーで作成',
description: 'API資格情報を使用してサブスクリプションを自動的に作成する',
},
},
},
subscriptionRemoved: 'サブスクリプションが解除されました',
createSuccess: 'サブスクリプションが正常に作成されました',
noSubscriptionSelected: 'サブスクリプションが選択されていません',
selectPlaceholder: 'サブスクリプションを選択',
createFailed: 'サブスクリプションの作成に失敗しました',
},
modal: {
steps: {
verify: '検証',
configuration: '設定',
},
common: {
cancel: 'キャンセル',
back: '戻る',
next: '次へ',
create: '作成',
verify: '検証',
authorize: '認証',
creating: '作成中...',
verifying: '検証中...',
authorizing: '認証中...',
},
oauthRedirectInfo: 'このツールプロバイダーのシステムクライアントシークレットが見つからないため、手動設定が必要です。redirect_uri には以下を使用してください',
apiKey: {
title: 'API キーで作成',
verify: {
title: '認証情報を検証',
description: 'アクセスを検証するために API 認証情報を提供してください',
error: '認証情報の検証に失敗しました。API キーをご確認ください。',
success: '認証情報が正常に検証されました',
},
configuration: {
title: 'サブスクリプションを設定',
description: 'サブスクリプションパラメータを設定',
},
},
oauth: {
title: 'OAuth で作成',
authorization: {
title: 'OAuth 認証',
description: 'Dify があなたのアカウントにアクセスすることを認証',
redirectUrl: 'リダイレクト URL',
redirectUrlHelp: 'OAuth アプリ設定でこの URL を使用',
authorizeButton: '{{provider}} で認証',
waitingAuth: '認証を待機中...',
authSuccess: '認証が成功しました',
authFailed: '認証に失敗しました',
waitingJump: '承認済み、ジャンプ待機中',
},
configuration: {
title: 'サブスクリプションを設定',
description: '認証後にサブスクリプションパラメータを設定',
success: 'OAuth設定が成功しました',
failed: 'OAuthの設定に失敗しました',
},
remove: {
success: 'OAuthの削除に成功しました',
failed: 'OAuthの削除に失敗しました',
},
save: {
success: 'OAuth の設定が正常に保存されました',
},
},
manual: {
title: '手動設定',
description: 'Webhook サブスクリプションを手動で設定',
instruction: {
title: '設定手順',
step1: '1. 以下のコールバック URL をコピー',
step2: '2. サードパーティプラットフォームの Webhook 設定に移動',
step3: '3. コールバック URL を Webhook エンドポイントとして追加',
step4: '4. 受信したいイベントを設定',
step5: '5. イベントをトリガーして Webhook をテスト',
step6: '6. ここに戻って Webhook が動作していることを確認し、設定を完了',
},
logs: {
title: 'リクエストログ',
description: '受信 Webhook リクエストを監視',
empty: 'まだリクエストを受信していません。Webhook 設定をテストしてください。',
status: {
success: '成功',
error: 'エラー',
},
expandAll: 'すべて展開',
collapseAll: 'すべて折りたたむ',
timestamp: 'タイムスタンプ',
method: 'メソッド',
path: 'パス',
headers: 'ヘッダー',
body: 'ボディ',
response: 'レスポンス',
request: 'リクエスト',
},
},
form: {
subscriptionName: {
label: 'サブスクリプション名',
placeholder: 'サブスクリプション名を入力',
required: 'サブスクリプション名は必須です',
},
callbackUrl: {
label: 'コールバック URL',
description: 'この URL で Webhook イベントを受信します',
copy: 'コピー',
copied: 'コピーしました!',
placeholder: '生成中...',
privateAddressWarning: 'このURLは内部アドレスのようで、Webhookリクエストが失敗する可能性があります。',
tooltip: 'トリガープロバイダーからのコールバックリクエストを受信できる、公開アクセス可能なエンドポイントを提供してください。',
},
},
errors: {
createFailed: 'サブスクリプションの作成に失敗しました',
verifyFailed: '認証情報の検証に失敗しました',
authFailed: '認証に失敗しました',
networkError: 'ネットワークエラーです。再試行してください',
},
},
events: {
title: '利用可能なイベント',
description: 'このトリガープラグインが購読できるイベント',
empty: '利用可能なイベントがありません',
event: 'イベント',
events: 'イベント',
actionNum: '{{num}} {{event}} が含まれています',
item: {
parameters: '{{count}} パラメータ',
noParameters: 'パラメータなし',
},
output: '出力',
},
provider: {
github: 'GitHub',
gitlab: 'GitLab',
notion: 'Notion',
webhook: 'Webhook',
},
node: {
status: {
warning: '切断',
},
},
}
export default translation

View File

@ -9,8 +9,10 @@ const translation = {
publish: '公開する',
update: '更新',
publishUpdate: '更新を公開',
run: '実行',
run: 'テスト実行',
running: '実行中',
chooseStartNodeToRun: '実行する開始ノードを選択',
runAllTriggers: 'すべてのトリガーを実行',
inRunMode: '実行モード中',
inPreview: 'プレビュー中',
inPreviewMode: 'プレビューモード中',
@ -19,11 +21,8 @@ const translation = {
runHistory: '実行履歴',
goBackToEdit: '編集に戻る',
conversationLog: '会話ログ',
features: '機能',
featuresDescription: 'Web アプリの操作性を向上させる機能',
ImageUploadLegacyTip: '開始フォームでファイル型変数が作成可能になりました。画像アップロード機能は今後サポート終了となります。',
fileUploadTip: '画像アップロード機能がファイルアップロードに拡張されました',
featuresDocLink: '詳細を見る',
debugAndPreview: 'プレビュー',
restart: '再起動',
currentDraft: '現在の下書き',
@ -47,7 +46,8 @@ const translation = {
needConnectTip: '接続されていないステップがあります',
maxTreeDepth: '1 ブランチあたりの最大ノード数:{{depth}}',
needAdd: '{{node}}ノードを追加する必要があります',
needEndNode: '終了ブロックを追加する必要があります',
needOutputNode: '出力ノードを追加する必要があります',
needStartNode: '少なくとも1つのスタートードを追加する必要があります',
needAnswerNode: '回答ブロックを追加する必要があります',
workflowProcess: 'ワークフロー処理',
notRunning: 'まだ実行されていません',
@ -83,6 +83,7 @@ const translation = {
configure: '設定',
manageInTools: 'ツールページで管理',
workflowAsToolTip: 'ワークフロー更新後はツールの再設定が必要です',
workflowAsToolDisabledHint: '最新のワークフローを公開し、接続済みの User Input ノードを用意してからツールとして設定してください。',
viewDetailInTracingPanel: '詳細を表示',
syncingData: 'データ同期中。。。',
importDSL: 'DSL をインポート',
@ -116,6 +117,7 @@ const translation = {
loadMore: 'さらに読み込む',
noHistory: '履歴がありません',
tagBound: 'このタグを使用しているアプリの数',
moreActions: 'さらにアクション',
},
env: {
envPanelTitle: '環境変数',
@ -140,6 +142,19 @@ const translation = {
export: 'シークレット値付きでエクスポート',
},
},
globalVar: {
title: 'システム変数',
description: 'システム変数は、タイプが適合していれば配線なしで任意のードから参照できるグローバル変数です。エンドユーザーIDやワークフローIDなどが含まれます。',
fieldsDescription: {
conversationId: '会話ID',
dialogCount: '会話数',
userId: 'ユーザーID',
triggerTimestamp: 'アプリケーションの起動タイムスタンプ',
appId: 'アプリケーションID',
workflowId: 'ワークフローID',
workflowRunId: 'ワークフロー実行ID',
},
},
sidebar: {
exportWarning: '現在保存されているバージョンをエクスポート',
exportWarningDesc: 'これは現在保存されているワークフローのバージョンをエクスポートします。エディターで未保存の変更がある場合は、まずワークフローキャンバスのエクスポートオプションを使用して保存してください。',
@ -213,6 +228,16 @@ const translation = {
invalidVariable: '無効な変数です',
noValidTool: '{{field}} に利用可能なツールがありません',
toolParameterRequired: '{{field}}: パラメータ [{{param}}] は必須です',
startNodeRequired: '{{operation}}前に開始ノードを追加してください',
},
error: {
startNodeRequired: '{{operation}}前に開始ノードを追加してください',
operations: {
connectingNodes: 'ノード接続',
addingNodes: 'ノード追加',
modifyingWorkflow: 'ワークフロー変更',
updatingWorkflow: 'ワークフロー更新',
},
},
singleRun: {
testRun: 'テスト実行',
@ -229,7 +254,9 @@ const translation = {
'searchBlock': 'ブロック検索',
'blocks': 'ブロック',
'searchTool': 'ツール検索',
'searchTrigger': 'トリガー検索...',
'tools': 'ツール',
'allTriggers': 'すべてのトリガー',
'allTool': 'すべて',
'customTool': 'カスタム',
'workflowTool': 'ワークフロー',
@ -238,16 +265,23 @@ const translation = {
'transform': '変換',
'utilities': 'ツール',
'noResult': '該当なし',
'noPluginsFound': 'プラグインが見つかりません',
'requestToCommunity': 'コミュニティにリクエスト',
'plugin': 'プラグイン',
'agent': 'エージェント戦略',
'noFeaturedPlugins': 'マーケットプレイスでさらにツールを見つける',
'noFeaturedTriggers': 'マーケットプレイスでさらにトリガーを見つける',
'addAll': 'すべてを追加する',
'allAdded': 'すべて追加されました',
'searchDataSource': 'データソースを検索',
'sources': 'ソース',
'start': '始める',
'startDisabledTip': 'トリガーノードとユーザー入力ノードは互いに排他です。',
},
blocks: {
'start': '開始',
'end': '終了',
'start': 'ユーザー入力',
'originalStartNode': '元の開始ノード',
'end': '出力',
'answer': '回答',
'llm': 'LLM',
'knowledge-retrieval': '知識検索',
@ -270,10 +304,14 @@ const translation = {
'loop-end': 'ループ完了',
'knowledge-index': '知識ベース',
'datasource': 'データソース',
'trigger-plugin': 'プラグイントリガー',
'trigger-webhook': 'Webhook トリガー',
'trigger-schedule': 'スケジュールトリガー',
},
customWebhook: 'カスタムWebhook',
blocksAbout: {
'start': 'ワークフロー開始時の初期パラメータを定義します。',
'end': 'ワークフローの終了条件と結果のタイプを定義します',
'end': 'ワークフローの出力と結果のタイプを定義します',
'answer': 'チャットダイアログの返答内容を定義します。',
'llm': '大規模言語モデルを呼び出して質問回答や自然言語処理を実行します。',
'knowledge-retrieval': 'ナレッジベースからユーザー質問に関連するテキストを検索します。',
@ -294,7 +332,11 @@ const translation = {
'agent': '大規模言語モデルを活用した質問応答や自然言語処理を実行します。',
'knowledge-index': '知識ベースについて',
'datasource': 'データソースについて',
'trigger-schedule': 'スケジュールに基づいてワークフローを開始する時間ベースのトリガー',
'trigger-webhook': 'Webhook トリガーは第三者システムからの HTTP プッシュを受信してワークフローを自動的に開始します。',
'trigger-plugin': 'サードパーティ統合トリガー、外部プラットフォームのイベントによってワークフローを開始します',
},
difyTeam: 'Dify チーム',
operator: {
zoomIn: '拡大',
zoomOut: '縮小',
@ -324,7 +366,7 @@ const translation = {
panel: {
userInputField: 'ユーザー入力欄',
changeBlock: 'ノード変更',
helpLink: 'ヘルプリンク',
helpLink: 'ドキュメントを見る',
about: '詳細',
createdBy: '作成者',
nextStep: '次のステップ',
@ -334,12 +376,14 @@ const translation = {
checklist: 'チェックリスト',
checklistTip: '公開前に全ての項目を確認してください',
checklistResolved: '全てのチェックが完了しました',
goTo: '移動',
startNode: '開始ノード',
organizeBlocks: 'ノード整理',
change: '変更',
optional: '(任意)',
moveToThisNode: 'このノードに移動する',
maximize: 'キャンバスを最大化する',
minimize: '全画面を終了する',
scrollToSelectedNode: '選択したノードまでスクロール',
optional_and_hidden: '(オプションおよび非表示)',
},
nodes: {
@ -964,6 +1008,137 @@ const translation = {
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: '変数名を入力...',
headerName: '変数名',
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}}"です',
},
},
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: 'サブスクリプション名は必須です',
},
},
tracing: {
stopBy: '{{user}}によって停止',
@ -1008,6 +1183,18 @@ const translation = {
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: 'キャッシング実行状況',
@ -1050,6 +1237,30 @@ const translation = {
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

View File

@ -88,7 +88,7 @@ const translation = {
freeTrialTip: '200 회의 OpenAI 호출 무료 체험을 받으세요. ',
annualBilling: '연간 청구',
getStarted: '시작하기',
apiRateLimitUnit: '{{count,number}}/',
apiRateLimitUnit: '{{count,number}}/',
freeTrialTipSuffix: '신용카드 없음',
teamWorkspace: '{{count,number}} 팀 작업 공간',
self: '자체 호스팅',

View File

@ -8,7 +8,7 @@ const translation = {
published: '게시됨',
publish: '게시하기',
update: '업데이트',
run: '실행',
run: '테스트 실행',
running: '실행 중',
inRunMode: '실행 모드',
inPreview: '미리보기 중',
@ -18,7 +18,6 @@ const translation = {
runHistory: '실행 기록',
goBackToEdit: '편집기로 돌아가기',
conversationLog: '대화 로그',
features: '기능',
debugAndPreview: '미리보기',
restart: '재시작',
currentDraft: '현재 초안',
@ -93,9 +92,7 @@ const translation = {
addParallelNode: '병렬 노드 추가',
parallel: '병렬',
branch: '브랜치',
featuresDocLink: '더 알아보세요',
fileUploadTip: '이미지 업로드 기능이 파일 업로드로 업그레이드되었습니다.',
featuresDescription: '웹앱 사용자 경험 향상',
ImageUploadLegacyTip:
'이제 시작 양식에서 파일 형식 변수를 만들 수 있습니다. 앞으로 이미지 업로드 기능은 더 이상 지원되지 않습니다.',
importWarning: '주의',
@ -115,10 +112,11 @@ const translation = {
exportPNG: 'PNG 로 내보내기',
addBlock: '노드 추가',
needAnswerNode: '답변 노드를 추가해야 합니다.',
needEndNode: '종단 노드를 추가해야 합니다.',
needOutputNode: '출력 노드를 추가해야 합니다',
tagBound: '이 태그를 사용하는 앱 수',
currentView: '현재 보기',
currentWorkflow: '현재 워크플로',
moreActions: '더 많은 작업',
},
env: {
envPanelTitle: '환경 변수',
@ -145,6 +143,19 @@ const translation = {
export: '비밀 값이 포함된 DSL 내보내기',
},
},
globalVar: {
title: '시스템 변수',
description: '시스템 변수는 타입이 맞으면 배선 없이도 모든 노드에서 참조할 수 있는 전역 변수로, 엔드유저 ID와 워크플로 ID 등이 포함됩니다.',
fieldsDescription: {
conversationId: '대화 ID',
dialogCount: '대화 수',
userId: '사용자 ID',
triggerTimestamp: '애플리케이션 시작 타임스탬프',
appId: '애플리케이션 ID',
workflowId: '워크플로 ID',
workflowRunId: '워크플로 실행 ID',
},
},
chatVariable: {
panelTitle: '대화 변수',
panelDescription:
@ -251,7 +262,7 @@ const translation = {
},
blocks: {
'start': '시작',
'end': '',
'end': '출력',
'answer': '답변',
'llm': 'LLM',
'knowledge-retrieval': '지식 검색',
@ -277,7 +288,7 @@ const translation = {
},
blocksAbout: {
'start': '워크플로우를 시작하기 위한 초기 매개변수를 정의합니다',
'end': '워크플로종료 및 결과 유형을 정의합니다',
'end': '워크플로의 출력 및 결과 유형을 정의합니다',
'answer': '대화의 답변 내용을 정의합니다',
'llm': '질문에 답하거나 자연어를 처리하기 위해 대형 언어 모델을 호출합니다',
'knowledge-retrieval':
@ -332,7 +343,7 @@ const translation = {
},
panel: {
userInputField: '사용자 입력 필드',
helpLink: '도움말 링크',
helpLink: '도움말 센터',
about: '정보',
createdBy: '작성자 ',
nextStep: '다음 단계',
@ -342,13 +353,13 @@ const translation = {
checklistResolved: '모든 문제가 해결되었습니다',
change: '변경',
optional: '(선택사항)',
moveToThisNode: '이 노드로 이동',
organizeBlocks: '노드 정리하기',
selectNextStep: '다음 단계 선택',
changeBlock: '노드 변경',
addNextStep: '이 워크플로우에 다음 단계를 추가하세요.',
minimize: '전체 화면 종료',
maximize: '캔버스 전체 화면',
scrollToSelectedNode: '선택한 노드로 스크롤',
optional_and_hidden: '(선택 사항 및 숨김)',
},
nodes: {

View File

@ -91,7 +91,7 @@ const translation = {
freeTrialTipPrefix: 'Zarejestruj się i zdobądź',
teamMember_other: '{{count,number}} członków zespołu',
teamWorkspace: '{{count,number}} Zespół Workspace',
apiRateLimitUnit: '{{count,number}}/dzień',
apiRateLimitUnit: '{{count,number}}/miesiąc',
cloud: 'Usługa chmurowa',
teamMember_one: '{{count,number}} Członek zespołu',
priceTip: 'na przestrzeń roboczą/',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Opublikowane',
publish: 'Opublikuj',
update: 'Aktualizuj',
run: 'Uruchom',
run: 'Uruchom test',
running: 'Uruchamianie',
inRunMode: 'W trybie uruchamiania',
inPreview: 'W podglądzie',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Historia uruchomień',
goBackToEdit: 'Wróć do edytora',
conversationLog: 'Dziennik rozmów',
features: 'Funkcje',
debugAndPreview: 'Podgląd',
restart: 'Uruchom ponownie',
currentDraft: 'Bieżący szkic',
@ -93,8 +92,6 @@ const translation = {
branch: 'GAŁĄŹ',
ImageUploadLegacyTip: 'Teraz można tworzyć zmienne typu pliku w formularzu startowym. W przyszłości nie będziemy już obsługiwać funkcji przesyłania obrazów.',
fileUploadTip: 'Funkcje przesyłania obrazów zostały zaktualizowane do przesyłania plików.',
featuresDescription: 'Ulepszanie środowiska użytkownika aplikacji internetowej',
featuresDocLink: 'Dowiedz się więcej',
importWarning: 'Ostrożność',
importWarningDetails: 'Różnica w wersji DSL może mieć wpływ na niektóre funkcje',
openInExplore: 'Otwieranie w obszarze Eksploruj',
@ -110,11 +107,12 @@ const translation = {
exportPNG: 'Eksportuj jako PNG',
publishUpdate: 'Opublikuj aktualizację',
addBlock: 'Dodaj węzeł',
needEndNode: 'Należy dodać węzeł końcowy',
needOutputNode: 'Należy dodać węzeł wyjściowy',
needAnswerNode: 'Węzeł odpowiedzi musi zostać dodany',
tagBound: 'Liczba aplikacji korzystających z tego tagu',
currentWorkflow: 'Bieżący przepływ pracy',
currentView: 'Bieżący widok',
moreActions: 'Więcej akcji',
},
env: {
envPanelTitle: 'Zmienne Środowiskowe',
@ -139,6 +137,19 @@ const translation = {
export: 'Eksportuj DSL z tajnymi wartościami',
},
},
globalVar: {
title: 'Zmienne systemowe',
description: 'Zmienne systemowe to zmienne globalne, do których może odwołać się każdy węzeł bez okablowania, jeśli typ jest zgodny, na przykład identyfikator użytkownika końcowego i identyfikator przepływu pracy.',
fieldsDescription: {
conversationId: 'ID konwersacji',
dialogCount: 'Liczba konwersacji',
userId: 'ID użytkownika',
triggerTimestamp: 'Znacznik czasu uruchomienia aplikacji',
appId: 'ID aplikacji',
workflowId: 'ID przepływu pracy',
workflowRunId: 'ID uruchomienia przepływu pracy',
},
},
chatVariable: {
panelTitle: 'Zmienne Konwersacji',
panelDescription: 'Zmienne Konwersacji służą do przechowywania interaktywnych informacji, które LLM musi pamiętać, w tym historii konwersacji, przesłanych plików, preferencji użytkownika. Są one do odczytu i zapisu.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Start',
'end': 'Koniec',
'end': 'Wyjście',
'answer': 'Odpowiedź',
'llm': 'LLM',
'knowledge-retrieval': 'Wyszukiwanie wiedzy',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Zdefiniuj początkowe parametry uruchamiania przepływu pracy',
'end': 'Zdefiniuj zakończenie i typ wyniku przepływu pracy',
'end': 'Zdefiniuj wyjście i typ wyniku przepływu pracy',
'answer': 'Zdefiniuj treść odpowiedzi w rozmowie',
'llm': 'Wywołaj duże modele językowe do odpowiadania na pytania lub przetwarzania języka naturalnego',
'knowledge-retrieval': 'Pozwala na wyszukiwanie treści tekstowych związanych z pytaniami użytkowników z bazy wiedzy',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Pole wprowadzania użytkownika',
helpLink: 'Link do pomocy',
helpLink: 'Pomoc',
about: 'O',
createdBy: 'Stworzone przez ',
nextStep: 'Następny krok',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Wszystkie problemy zostały rozwiązane',
change: 'Zmień',
optional: '(opcjonalne)',
moveToThisNode: 'Przenieś do tego węzła',
selectNextStep: 'Wybierz następny krok',
addNextStep: 'Dodaj następny krok w tym procesie roboczym',
changeBlock: 'Zmień węzeł',
organizeBlocks: 'Organizuj węzły',
minimize: 'Wyjdź z trybu pełnoekranowego',
maximize: 'Maksymalizuj płótno',
scrollToSelectedNode: 'Przewiń do wybranego węzła',
optional_and_hidden: '(opcjonalne i ukryte)',
},
nodes: {

View File

@ -80,7 +80,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/min Limite de Taxa de Solicitação de Conhecimento',
cloud: 'Serviço de Nuvem',
teamWorkspace: '{{count,number}} Espaço de Trabalho da Equipe',
apiRateLimitUnit: '{{count,number}}/dia',
apiRateLimitUnit: '{{count,number}}/mês',
freeTrialTipSuffix: 'Nenhum cartão de crédito necessário',
teamMember_other: '{{count,number}} Membros da Equipe',
comparePlanAndFeatures: 'Compare planos e recursos',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Publicado',
publish: 'Publicar',
update: 'Atualizar',
run: 'Executar',
run: 'Executar teste',
running: 'Executando',
inRunMode: 'No modo de execução',
inPreview: 'Em visualização',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Histórico de execução',
goBackToEdit: 'Voltar para o editor',
conversationLog: 'Registro de conversa',
features: 'Recursos',
debugAndPreview: 'Visualizar',
restart: 'Reiniciar',
currentDraft: 'Rascunho atual',
@ -91,8 +90,6 @@ const translation = {
addParallelNode: 'Adicionar nó paralelo',
parallel: 'PARALELO',
branch: 'RAMIFICAÇÃO',
featuresDocLink: 'Saiba Mais',
featuresDescription: 'Melhore a experiência do usuário do aplicativo Web',
ImageUploadLegacyTip: 'Agora você pode criar variáveis de tipo de arquivo no formulário inicial. Não daremos mais suporte ao recurso de upload de imagens no futuro.',
fileUploadTip: 'Os recursos de upload de imagens foram atualizados para upload de arquivos.',
importWarning: 'Cuidado',
@ -110,11 +107,12 @@ const translation = {
exportSVG: 'Exportar como SVG',
exportJPEG: 'Exportar como JPEG',
addBlock: 'Adicionar Nó',
needEndNode: 'O nó de Fim deve ser adicionado',
needOutputNode: 'O nó de Saída deve ser adicionado',
needAnswerNode: 'O nó de resposta deve ser adicionado',
tagBound: 'Número de aplicativos usando esta tag',
currentView: 'Visualização atual',
currentWorkflow: 'Fluxo de trabalho atual',
moreActions: 'Mais ações',
},
env: {
envPanelTitle: 'Variáveis de Ambiente',
@ -139,6 +137,19 @@ const translation = {
export: 'Exportar DSL com valores secretos',
},
},
globalVar: {
title: 'Variáveis do sistema',
description: 'Variáveis do sistema são variáveis globais que qualquer nó pode referenciar sem conexões quando o tipo está correto, como o ID do usuário final e o ID do fluxo de trabalho.',
fieldsDescription: {
conversationId: 'ID da conversa',
dialogCount: 'Contagem de conversas',
userId: 'ID do usuário',
triggerTimestamp: 'Carimbo de data/hora do início da aplicação',
appId: 'ID da aplicação',
workflowId: 'ID do fluxo de trabalho',
workflowRunId: 'ID da execução do fluxo de trabalho',
},
},
chatVariable: {
panelTitle: 'Variáveis de Conversação',
panelDescription: 'As Variáveis de Conversação são usadas para armazenar informações interativas que o LLM precisa lembrar, incluindo histórico de conversas, arquivos carregados, preferências do usuário. Elas são de leitura e escrita.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Iniciar',
'end': 'Fim',
'end': 'Saída',
'answer': 'Resposta',
'llm': 'LLM',
'knowledge-retrieval': 'Recuperação de conhecimento',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Definir os parâmetros iniciais para iniciar um fluxo de trabalho',
'end': 'Definir o fim e o tipo de resultado de um fluxo de trabalho',
'end': 'Definir a saída e o tipo de resultado de um fluxo de trabalho',
'answer': 'Definir o conteúdo da resposta de uma conversa',
'llm': 'Invocar grandes modelos de linguagem para responder perguntas ou processar linguagem natural',
'knowledge-retrieval': 'Permite consultar conteúdo de texto relacionado a perguntas do usuário a partir da base de conhecimento',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Campo de entrada do usuário',
helpLink: 'Link de ajuda',
helpLink: 'Ajuda',
about: 'Sobre',
createdBy: 'Criado por ',
nextStep: 'Próximo passo',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Todos os problemas foram resolvidos',
change: 'Mudar',
optional: '(opcional)',
moveToThisNode: 'Mova-se para este nó',
changeBlock: 'Mudar Nó',
addNextStep: 'Adicione o próximo passo neste fluxo de trabalho',
organizeBlocks: 'Organizar nós',
selectNextStep: 'Selecione o próximo passo',
maximize: 'Maximize Canvas',
minimize: 'Sair do Modo Tela Cheia',
scrollToSelectedNode: 'Role até o nó selecionado',
optional_and_hidden: '(opcional & oculto)',
},
nodes: {

View File

@ -82,7 +82,7 @@ const translation = {
documentsTooltip: 'Cota pe numărul de documente importate din Sursele de Date de Cunoștințe.',
getStarted: 'Întrebați-vă',
cloud: 'Serviciu de cloud',
apiRateLimitUnit: '{{count,number}}/zi',
apiRateLimitUnit: '{{count,number}}/lună',
comparePlanAndFeatures: 'Compară planurile și caracteristicile',
documentsRequestQuota: '{{count,number}}/min Limita de rată a cererilor de cunoștințe',
documents: '{{count,number}} Documente de Cunoaștere',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Publicat',
publish: 'Publică',
update: 'Actualizează',
run: 'Rulează',
run: 'Rulează test',
running: 'Rulând',
inRunMode: 'În modul de rulare',
inPreview: 'În previzualizare',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Istoric rulări',
goBackToEdit: 'Înapoi la editor',
conversationLog: 'Jurnal conversație',
features: 'Funcționalități',
debugAndPreview: 'Previzualizare',
restart: 'Repornește',
currentDraft: 'Schimbare curentă',
@ -91,8 +90,6 @@ const translation = {
addParallelNode: 'Adăugare nod paralel',
parallel: 'PARALEL',
branch: 'RAMURĂ',
featuresDescription: 'Îmbunătățiți experiența utilizatorului aplicației web',
featuresDocLink: 'Află mai multe',
fileUploadTip: 'Funcțiile de încărcare a imaginilor au fost actualizate la încărcarea fișierelor.',
ImageUploadLegacyTip: 'Acum puteți crea variabile de tip de fișier în formularul de pornire. Nu vom mai accepta funcția de încărcare a imaginilor în viitor.',
importWarning: 'Prudență',
@ -111,10 +108,11 @@ const translation = {
exportJPEG: 'Exportă ca JPEG',
addBlock: 'Adaugă nod',
needAnswerNode: 'Nodul de răspuns trebuie adăugat',
needEndNode: 'Nodul de sfârșit trebuie adăugat',
needOutputNode: 'Nodul de ieșire trebuie adăugat',
tagBound: 'Numărul de aplicații care folosesc acest tag',
currentView: 'Vizualizare curentă',
currentWorkflow: 'Flux de lucru curent',
moreActions: 'Mai multe acțiuni',
},
env: {
envPanelTitle: 'Variabile de Mediu',
@ -139,6 +137,19 @@ const translation = {
export: 'Exportă DSL cu valori secrete',
},
},
globalVar: {
title: 'Variabile de sistem',
description: 'Variabilele de sistem sunt variabile globale care pot fi folosite de orice nod fără conexiuni dacă tipul este corect, precum ID-ul utilizatorului final și ID-ul fluxului de lucru.',
fieldsDescription: {
conversationId: 'ID conversație',
dialogCount: 'Număr conversații',
userId: 'ID utilizator',
triggerTimestamp: 'Marcaj temporal al pornirii aplicației',
appId: 'ID aplicație',
workflowId: 'ID flux de lucru',
workflowRunId: 'ID rulare flux de lucru',
},
},
chatVariable: {
panelTitle: 'Variabile de Conversație',
panelDescription: 'Variabilele de Conversație sunt utilizate pentru a stoca informații interactive pe care LLM trebuie să le rețină, inclusiv istoricul conversației, fișiere încărcate, preferințele utilizatorului. Acestea sunt citibile și inscriptibile.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Începe',
'end': 'Sfârșit',
'end': 'Ieșire',
'answer': 'Răspuns',
'llm': 'LLM',
'knowledge-retrieval': 'Recuperare de cunoștințe',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Definiți parametrii inițiali pentru lansarea unui flux de lucru',
'end': 'Definiți sfârșitul și tipul rezultatului unui flux de lucru',
'end': 'Definiți ieșirea și tipul rezultatului unui flux de lucru',
'answer': 'Definiți conținutul răspunsului unei conversații',
'llm': 'Invocarea modelelor de limbaj mari pentru a răspunde la întrebări sau pentru a procesa limbajul natural',
'knowledge-retrieval': 'Permite interogarea conținutului textului legat de întrebările utilizatorului din baza de cunoștințe',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Câmp de introducere utilizator',
helpLink: 'Link de ajutor',
helpLink: 'Ajutor',
about: 'Despre',
createdBy: 'Creat de ',
nextStep: 'Pasul următor',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Toate problemele au fost rezolvate',
change: 'Schimbă',
optional: '(opțional)',
moveToThisNode: 'Mutați la acest nod',
organizeBlocks: 'Organizează nodurile',
addNextStep: 'Adăugați următorul pas în acest flux de lucru',
changeBlock: 'Schimbă nodul',
selectNextStep: 'Selectați Pasul Următor',
maximize: 'Maximize Canvas',
minimize: 'Iesi din modul pe tot ecranul',
scrollToSelectedNode: 'Derulați la nodul selectat',
optional_and_hidden: '(opțional și ascuns)',
},
nodes: {

View File

@ -78,7 +78,7 @@ const translation = {
apiRateLimit: 'Ограничение скорости API',
self: 'Самостоятельно размещенный',
teamMember_other: '{{count,number}} Члены команды',
apiRateLimitUnit: '{{count,number}}/день',
apiRateLimitUnit: '{{count,number}}/месяц',
unlimitedApiRate: 'Нет ограничений на количество запросов к API',
freeTrialTip: 'бесплатная пробная версия из 200 вызовов OpenAI.',
freeTrialTipSuffix: 'Кредитная карта не требуется',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Опубликовано',
publish: 'Опубликовать',
update: 'Обновить',
run: 'Запустить',
run: 'Тестовый запуск',
running: 'Выполняется',
inRunMode: 'В режиме выполнения',
inPreview: 'В режиме предпросмотра',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'История запусков',
goBackToEdit: 'Вернуться к редактору',
conversationLog: 'Журнал разговоров',
features: 'Функции',
debugAndPreview: 'Предпросмотр',
restart: 'Перезапустить',
currentDraft: 'Текущий черновик',
@ -91,9 +90,7 @@ const translation = {
addParallelNode: 'Добавить параллельный узел',
parallel: 'ПАРАЛЛЕЛЬНЫЙ',
branch: 'ВЕТКА',
featuresDocLink: 'Подробнее',
fileUploadTip: 'Функции загрузки изображений были обновлены до загрузки файлов.',
featuresDescription: 'Улучшение взаимодействия с пользователем веб-приложения',
ImageUploadLegacyTip: 'Теперь вы можете создавать переменные типа файла в стартовой форме. В будущем мы больше не будем поддерживать функцию загрузки изображений.',
importWarning: 'Осторожность',
importWarningDetails: 'Разница в версии DSL может повлиять на некоторые функции',
@ -111,10 +108,11 @@ const translation = {
publishUpdate: 'Опубликовать обновление',
addBlock: 'Добавить узел',
needAnswerNode: 'В узел ответа необходимо добавить',
needEndNode: 'Узел конца должен быть добавлен',
needOutputNode: 'Необходимо добавить узел вывода',
tagBound: 'Количество приложений, использующих этот тег',
currentView: 'Текущий вид',
currentWorkflow: 'Текущий рабочий процесс',
moreActions: 'Больше действий',
},
env: {
envPanelTitle: 'Переменные среды',
@ -139,6 +137,19 @@ const translation = {
export: 'Экспортировать DSL с секретными значениями ',
},
},
globalVar: {
title: 'Системные переменные',
description: 'Системные переменные — это глобальные переменные, к которым любой узел может обращаться без соединений при корректном типе, например идентификатор конечного пользователя и идентификатор рабочего процесса.',
fieldsDescription: {
conversationId: 'ID беседы',
dialogCount: 'Количество бесед',
userId: 'ID пользователя',
triggerTimestamp: 'Отметка времени запуска приложения',
appId: 'ID приложения',
workflowId: 'ID рабочего процесса',
workflowRunId: 'ID запуска рабочего процесса',
},
},
chatVariable: {
panelTitle: 'Переменные разговора',
panelDescription: 'Переменные разговора используются для хранения интерактивной информации, которую LLM необходимо запомнить, включая историю разговоров, загруженные файлы, пользовательские настройки. Они доступны для чтения и записи. ',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Начало',
'end': 'Конец',
'end': 'Вывод',
'answer': 'Ответ',
'llm': 'LLM',
'knowledge-retrieval': 'Поиск знаний',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Определите начальные параметры для запуска рабочего процесса',
'end': 'Определите конец и тип результата рабочего процесса',
'end': 'Определите вывод и тип результата рабочего процесса',
'answer': 'Определите содержимое ответа в чате',
'llm': 'Вызов больших языковых моделей для ответа на вопросы или обработки естественного языка',
'knowledge-retrieval': 'Позволяет запрашивать текстовый контент, связанный с вопросами пользователей, из базы знаний',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Поле ввода пользователя',
helpLink: 'Ссылка на справку',
helpLink: 'Помощь',
about: 'О программе',
createdBy: 'Создано ',
nextStep: 'Следующий шаг',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Все проблемы решены',
change: 'Изменить',
optional: '(необязательно)',
moveToThisNode: 'Перейдите к этому узлу',
selectNextStep: 'Выберите следующий шаг',
organizeBlocks: 'Организовать узлы',
addNextStep: 'Добавьте следующий шаг в этот рабочий процесс',
changeBlock: 'Изменить узел',
minimize: 'Выйти из полноэкранного режима',
maximize: 'Максимизировать холст',
scrollToSelectedNode: 'Прокрутите до выбранного узла',
optional_and_hidden: '(необязательно и скрыто)',
},
nodes: {

View File

@ -86,7 +86,7 @@ const translation = {
teamMember_one: '{{count,number}} član ekipe',
teamMember_other: '{{count,number}} Članov ekipe',
documentsRequestQuota: '{{count,number}}/min Omejitev stopnje zahtev po znanju',
apiRateLimitUnit: '{{count,number}}/dan',
apiRateLimitUnit: '{{count,number}}/mesec',
priceTip: 'na delovnem prostoru/',
freeTrialTipPrefix: 'Prijavite se in prejmite',
cloud: 'Oblačna storitev',

View File

@ -18,8 +18,7 @@ const translation = {
},
versionHistory: 'Zgodovina različic',
published: 'Objavljeno',
run: 'Teči',
featuresDocLink: 'Nauči se več',
run: 'Testni tek',
notRunning: 'Še ne teče',
exportImage: 'Izvozi sliko',
openInExplore: 'Odpri v Raziskovanju',
@ -42,7 +41,7 @@ const translation = {
inPreview: 'V predogledu',
workflowAsToolTip: 'Zaradi posodobitve delovnega poteka je potrebna ponovna konfiguracija orodja.',
variableNamePlaceholder: 'Ime spremenljivke',
needEndNode: 'Skrivnostna vozlišča je treba dodati.',
needOutputNode: 'Dodati je treba izhodiščno vozlišče',
onFailure: 'O neuspehu',
embedIntoSite: 'Vstavite v spletno stran',
conversationLog: 'Pogovor Log',
@ -77,12 +76,10 @@ const translation = {
fileUploadTip: 'Funkcije nalaganja slik so bile nadgrajene na nalaganje datotek.',
backupCurrentDraft: 'Varnostno kopiraj trenutni osnutek',
overwriteAndImport: 'Prepiši in uvozi',
features: 'Značilnosti',
exportPNG: 'Izvozi kot PNG',
chooseDSL: 'Izberi DSL datoteko',
unpublished: 'Nepublikirano',
pasteHere: 'Prilepite tukaj',
featuresDescription: 'Izboljšanje uporabniške izkušnje spletne aplikacije',
exitVersions: 'Izhodne različice',
editing: 'Urejanje',
addFailureBranch: 'Dodaj neuspešno vejo',
@ -115,6 +112,7 @@ const translation = {
tagBound: 'Število aplikacij, ki uporabljajo to oznako',
currentView: 'Trenutni pogled',
currentWorkflow: 'Trenutni potek dela',
moreActions: 'Več dejanj',
},
env: {
modal: {
@ -139,6 +137,19 @@ const translation = {
envPanelButton: 'Dodaj spremenljivko',
envDescription: 'Okoljske spremenljivke se lahko uporabljajo za shranjevanje zasebnih informacij in poverilnic. So samo za branje in jih je mogoče ločiti od DSL datoteke med izvozem.',
},
globalVar: {
title: 'Sistemske spremenljivke',
description: 'Sistemske spremenljivke so globalne spremenljivke, do katerih lahko vsako vozlišče dostopa brez povezovanja, če je tip pravilen, na primer ID končnega uporabnika in ID poteka dela.',
fieldsDescription: {
conversationId: 'ID pogovora',
dialogCount: 'Število pogovorov',
userId: 'ID uporabnika',
triggerTimestamp: 'Časovni žig začetka delovanja aplikacije',
appId: 'ID aplikacije',
workflowId: 'ID poteka dela',
workflowRunId: 'ID izvajanja poteka dela',
},
},
chatVariable: {
modal: {
namePlaceholder: 'Ime spremenljivke',
@ -255,7 +266,7 @@ const translation = {
'code': 'Koda',
'template-transform': 'Predloga',
'answer': 'Odgovor',
'end': 'Konec',
'end': 'Izhod',
'iteration-start': 'Začetek iteracije',
'list-operator': 'Seznam operater',
'variable-aggregator': 'Spremenljivka agregator',
@ -275,7 +286,7 @@ const translation = {
'loop-end': 'Enakovredno „prekini“. Ta vozlišče nima konfiguracijskih elementov. Ko telo zanke doseže to vozlišče, zanka preneha.',
'document-extractor': 'Uporabljeno za razčlenitev prenesenih dokumentov v besedilno vsebino, ki jo je enostavno razumeti za LLM.',
'answer': 'Določi vsebino odgovora v pogovoru.',
'end': 'Določite tip konca in rezultata delovnega toka',
'end': 'Določite izhod in tip rezultata delovnega toka',
'knowledge-retrieval': 'Omogoča vam, da poizvedujete o besedilnih vsebinah, povezanih z vprašanji uporabnikov iz znanja.',
'http-request': 'Dovoli pošiljanje zahtevkov strežniku prek protokola HTTP',
'llm': 'Uporaba velikih jezikovnih modelov za odgovarjanje na vprašanja ali obdelavo naravnega jezika',
@ -324,10 +335,9 @@ const translation = {
runThisStep: 'Izvedi ta korak',
changeBlock: 'Spremeni vozlišče',
addNextStep: 'Dodajte naslednji korak v ta delovni potek',
moveToThisNode: 'Premakni se na to vozlišče',
checklistTip: 'Prepričajte se, da so vse težave rešene, preden objavite.',
selectNextStep: 'Izberi naslednji korak',
helpLink: 'Pomočna povezava',
helpLink: 'Pomoč',
checklist: 'Kontrolni seznam',
checklistResolved: 'Vse težave so rešene',
createdBy: 'Ustvarjeno z',
@ -335,6 +345,7 @@ const translation = {
minimize: 'Izhod iz celotnega zaslona',
maximize: 'Maksimiziraj platno',
optional: '(neobvezno)',
scrollToSelectedNode: 'Pomaknite se do izbranega vozlišča',
optional_and_hidden: '(neobvezno in skrito)',
},
nodes: {

View File

@ -82,7 +82,7 @@ const translation = {
teamMember_one: '{{count,number}} สมาชิกทีม',
unlimitedApiRate: 'ไม่มีข้อจำกัดอัตราการเรียก API',
self: 'โฮสต์ด้วยตัวเอง',
apiRateLimitUnit: '{{count,number}}/วัน',
apiRateLimitUnit: '{{count,number}}/เดือน',
teamMember_other: '{{count,number}} สมาชิกทีม',
teamWorkspace: '{{count,number}} ทีมทำงาน',
priceTip: 'ต่อพื้นที่ทำงาน/',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'เผย แพร่',
publish: 'ตีพิมพ์',
update: 'อัพเดต',
run: 'วิ่ง',
run: 'ทดสอบการทำงาน',
running: 'กำลัง เรียก ใช้',
inRunMode: 'ในโหมดเรียกใช้',
inPreview: 'ในการแสดงตัวอย่าง',
@ -18,11 +18,8 @@ const translation = {
runHistory: 'ประวัติการวิ่ง',
goBackToEdit: 'กลับไปที่ตัวแก้ไข',
conversationLog: 'บันทึกการสนทนา',
features: 'หน้าตา',
featuresDescription: 'ปรับปรุงประสบการณ์ผู้ใช้เว็บแอป',
ImageUploadLegacyTip: 'ตอนนี้คุณสามารถสร้างตัวแปรชนิดไฟล์ในฟอร์มเริ่มต้นได้แล้ว เราจะไม่รองรับฟีเจอร์การอัปโหลดรูปภาพอีกต่อไปในอนาคต',
fileUploadTip: 'ฟีเจอร์การอัปโหลดรูปภาพได้รับการอัปเกรดเป็นการอัปโหลดไฟล์',
featuresDocLink: 'ศึกษาเพิ่มเติม',
debugAndPreview: 'ดูตัวอย่าง',
restart: 'เริ่มใหม่',
currentDraft: 'ร่างปัจจุบัน',
@ -111,10 +108,11 @@ const translation = {
exportSVG: 'ส่งออกเป็น SVG',
needAnswerNode: 'ต้องเพิ่มโหนดคำตอบ',
addBlock: 'เพิ่มโนด',
needEndNode: 'ต้องเพิ่มโหนดจบ',
needOutputNode: 'ต้องเพิ่มโหนดเอาต์พุต',
tagBound: 'จำนวนแอปพลิเคชันที่ใช้แท็กนี้',
currentWorkflow: 'เวิร์กโฟลว์ปัจจุบัน',
currentView: 'ปัจจุบัน View',
moreActions: 'การดําเนินการเพิ่มเติม',
},
env: {
envPanelTitle: 'ตัวแปรสภาพแวดล้อม',
@ -139,6 +137,19 @@ const translation = {
export: 'ส่งออก DSL ด้วยค่าลับ',
},
},
globalVar: {
title: 'ตัวแปรระบบ',
description: 'ตัวแปรระบบเป็นตัวแปรแบบโกลบอลที่โหนดใด ๆ สามารถอ้างอิงได้โดยไม่ต้องเดินสายเมื่อชนิดข้อมูลถูกต้อง เช่น รหัสผู้ใช้ปลายทางและรหัสเวิร์กโฟลว์',
fieldsDescription: {
conversationId: 'รหัสการสนทนา',
dialogCount: 'จำนวนการสนทนา',
userId: 'รหัสผู้ใช้',
triggerTimestamp: 'ตราประทับเวลาที่แอปเริ่มทำงาน',
appId: 'รหัสแอปพลิเคชัน',
workflowId: 'รหัสเวิร์กโฟลว์',
workflowRunId: 'รหัสการรันเวิร์กโฟลว์',
},
},
chatVariable: {
panelTitle: 'ตัวแปรการสนทนา',
panelDescription: 'ตัวแปรการสนทนาใช้เพื่อจัดเก็บข้อมูลแบบโต้ตอบที่ LLM จําเป็นต้องจดจํา รวมถึงประวัติการสนทนา ไฟล์ที่อัปโหลด การตั้งค่าของผู้ใช้ พวกเขาอ่าน-เขียน',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'เริ่ม',
'end': 'ปลาย',
'end': 'เอาต์พุต',
'answer': 'ตอบ',
'llm': 'นิติศาสตราจารย์',
'knowledge-retrieval': 'การดึงความรู้',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'กําหนดพารามิเตอร์เริ่มต้นสําหรับการเปิดใช้เวิร์กโฟลว์',
'end': 'กําหนดชนิดสิ้นสุดและผลลัพธ์ของเวิร์กโฟลว์',
'end': 'กหนดเอาต์พุตและประเภทผลลัพธ์ของเวิร์กโฟลว์',
'answer': 'กําหนดเนื้อหาการตอบกลับของการสนทนาแชท',
'llm': 'การเรียกใช้โมเดลภาษาขนาดใหญ่เพื่อตอบคําถามหรือประมวลผลภาษาธรรมชาติ',
'knowledge-retrieval': 'ช่วยให้คุณสามารถสอบถามเนื้อหาข้อความที่เกี่ยวข้องกับคําถามของผู้ใช้จากความรู้',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'ฟิลด์ป้อนข้อมูลของผู้ใช้',
helpLink: 'ลิงค์ช่วยเหลือ',
helpLink: 'วิธีใช้',
about: 'ประมาณ',
createdBy: 'สร้างโดย',
nextStep: 'ขั้นตอนถัดไป',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'ปัญหาทั้งหมดได้รับการแก้ไขแล้ว',
change: 'เปลี่ยน',
optional: '(ไม่บังคับ)',
moveToThisNode: 'ย้ายไปที่โหนดนี้',
organizeBlocks: 'จัดระเบียบโหนด',
addNextStep: 'เพิ่มขั้นตอนถัดไปในกระบวนการทำงานนี้',
changeBlock: 'เปลี่ยนโหนด',
selectNextStep: 'เลือกขั้นตอนถัดไป',
minimize: 'ออกจากโหมดเต็มหน้าจอ',
maximize: 'เพิ่มประสิทธิภาพผ้าใบ',
scrollToSelectedNode: 'เลื่อนไปยังโหนดที่เลือก',
optional_and_hidden: '(ตัวเลือก & ซ่อน)',
},
nodes: {

View File

@ -78,7 +78,7 @@ const translation = {
freeTrialTipPrefix: 'Kaydolun ve bir',
priceTip: 'iş alanı başına/',
documentsRequestQuota: '{{count,number}}/dakika Bilgi İsteği Oran Limiti',
apiRateLimitUnit: '{{count,number}}/gün',
apiRateLimitUnit: '{{count,number}}/ay',
documents: '{{count,number}} Bilgi Belgesi',
comparePlanAndFeatures: 'Planları ve özellikleri karşılaştır',
self: 'Kendi Barındırılan',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Yayınlandı',
publish: 'Yayınla',
update: 'Güncelle',
run: 'Çalıştır',
run: 'Test çalıştır',
running: 'Çalışıyor',
inRunMode: 'Çalıştırma Modunda',
inPreview: 'Ön İzlemede',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Çalıştırma Geçmişi',
goBackToEdit: 'Editöre geri dön',
conversationLog: 'Konuşma Günlüğü',
features: 'Özellikler',
debugAndPreview: 'Önizleme',
restart: 'Yeniden Başlat',
currentDraft: 'Geçerli Taslak',
@ -91,10 +90,8 @@ const translation = {
disconnect: 'Ayırmak',
parallel: 'PARALEL',
branch: 'DAL',
featuresDocLink: 'Daha fazla bilgi edinin',
fileUploadTip: 'Resim yükleme özellikleri, dosya yüklemeye yükseltildi.',
ImageUploadLegacyTip: 'Artık başlangıç formunda dosya türü değişkenleri oluşturabilirsiniz. Gelecekte resim yükleme özelliğini artık desteklemeyeceğiz.',
featuresDescription: 'Web uygulaması kullanıcı deneyimini geliştirin',
importWarningDetails: 'DSL sürüm farkı bazı özellikleri etkileyebilir',
importWarning: 'Dikkat',
openInExplore: 'Keşfet\'te Aç',
@ -111,10 +108,11 @@ const translation = {
exportSVG: 'SVG olarak dışa aktar',
addBlock: 'Düğüm Ekle',
needAnswerNode: 'Cevap düğümü eklenmelidir.',
needEndNode: 'Son düğüm eklenmelidir',
needOutputNode: 'Çıktı düğümü eklenmelidir',
tagBound: 'Bu etiketi kullanan uygulama sayısı',
currentView: 'Geçerli Görünüm',
currentWorkflow: 'Mevcut İş Akışı',
moreActions: 'Daha Fazla Eylem',
},
env: {
envPanelTitle: 'Çevre Değişkenleri',
@ -139,6 +137,19 @@ const translation = {
export: 'Gizli değerlerle DSL\'yi dışa aktar',
},
},
globalVar: {
title: 'Sistem Değişkenleri',
description: 'Sistem değişkenleri, tipi uyumlu olduğunda herhangi bir düğümün bağlantı gerektirmeden başvurabileceği küresel değişkenlerdir; örneğin son kullanıcı kimliği ve iş akışı kimliği.',
fieldsDescription: {
conversationId: 'Konuşma Kimliği',
dialogCount: 'Konuşma Sayısı',
userId: 'Kullanıcı Kimliği',
triggerTimestamp: 'Uygulamanın çalışmaya başladığı zaman damgası',
appId: 'Uygulama Kimliği',
workflowId: 'İş Akışı Kimliği',
workflowRunId: 'İş akışı yürütme kimliği',
},
},
chatVariable: {
panelTitle: 'Konuşma Değişkenleri',
panelDescription: 'Konuşma Değişkenleri, LLM\'nin hatırlaması gereken interaktif bilgileri (konuşma geçmişi, yüklenen dosyalar, kullanıcı tercihleri dahil) depolamak için kullanılır. Bunlar okunabilir ve yazılabilirdir.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Başlat',
'end': 'Son',
'end': 'Çıktı',
'answer': 'Yanıt',
'llm': 'LLM',
'knowledge-retrieval': 'Bilgi Geri Alımı',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Bir iş akışını başlatmak için başlangıç parametrelerini tanımlayın',
'end': 'Bir iş akışının sonunu ve sonuç türünü tanımlayın',
'end': 'Bir iş akışının çıktısını ve sonuç türünü tanımlayın',
'answer': 'Bir sohbet konuşmasının yanıt içeriğini tanımlayın',
'llm': 'Büyük dil modellerini soruları yanıtlamak veya doğal dili işlemek için çağırın',
'knowledge-retrieval': 'Kullanıcı sorularıyla ilgili metin içeriğini Bilgi\'den sorgulamanıza olanak tanır',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Kullanıcı Giriş Alanı',
helpLink: 'Yardım Linki',
helpLink: 'Yardım',
about: 'Hakkında',
createdBy: 'Oluşturan: ',
nextStep: 'Sonraki Adım',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Tüm sorunlar çözüldü',
change: 'Değiştir',
optional: '(isteğe bağlı)',
moveToThisNode: 'Bu düğüme geç',
changeBlock: 'Düğümü Değiştir',
addNextStep: 'Bu iş akışına bir sonraki adımı ekleyin',
organizeBlocks: 'Düğümleri düzenle',
selectNextStep: 'Sonraki Adımı Seç',
minimize: 'Tam Ekrandan Çık',
maximize: 'Kanvası Maksimize Et',
scrollToSelectedNode: 'Seçili düğüme kaydırma',
optional_and_hidden: '(isteğe bağlı ve gizli)',
},
nodes: {

View File

@ -84,7 +84,7 @@ const translation = {
priceTip: 'за робочим простором/',
unlimitedApiRate: 'Немає обмеження на швидкість API',
freeTrialTipSuffix: 'Кредитна картка не потрібна',
apiRateLimitUnit: '{{count,number}}/день',
apiRateLimitUnit: '{{count,number}}/місяць',
getStarted: 'Почати',
freeTrialTip: 'безкоштовна пробна версія з 200 запитів до OpenAI.',
documents: '{{count,number}} Документів знань',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Опубліковано',
publish: 'Опублікувати',
update: 'Оновити',
run: 'Запустити',
run: 'Тестовий запуск',
running: 'Запущено',
inRunMode: 'У режимі запуску',
inPreview: 'У режимі попереднього перегляду',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Історія запусків',
goBackToEdit: 'Повернутися до редактора',
conversationLog: 'Журнал розмов',
features: 'Функції',
debugAndPreview: 'Попередній перегляд',
restart: 'Перезапустити',
currentDraft: 'Поточний чернетка',
@ -91,8 +90,6 @@ const translation = {
addParallelNode: 'Додати паралельний вузол',
parallel: 'ПАРАЛЕЛЬНИЙ',
branch: 'ГІЛКА',
featuresDocLink: 'Дізнатися більше',
featuresDescription: 'Покращення взаємодії з користувачем веб-додатку',
fileUploadTip: 'Функції завантаження зображень були оновлені для завантаження файлів.',
ImageUploadLegacyTip: 'Тепер ви можете створювати змінні типу файлу у початковій формі. У майбутньому ми більше не підтримуватимемо функцію завантаження зображень.',
importWarning: 'Обережність',
@ -110,11 +107,12 @@ const translation = {
exportSVG: 'Експортувати як SVG',
exportJPEG: 'Експортувати як JPEG',
addBlock: 'Додати вузол',
needEndNode: 'Необхідно додати кінцевий вузол',
needOutputNode: 'Необхідно додати вихідний вузол',
needAnswerNode: 'Вузол Відповіді повинен бути доданий',
tagBound: 'Кількість додатків, що використовують цей тег',
currentView: 'Поточний вигляд',
currentWorkflow: 'Поточний робочий процес',
moreActions: 'Більше дій',
},
env: {
envPanelTitle: 'Змінні середовища',
@ -139,6 +137,19 @@ const translation = {
export: 'Експортувати DSL з секретними значеннями',
},
},
globalVar: {
title: 'Системні змінні',
description: 'Системні змінні — це глобальні змінні, до яких будь-який вузол може звертатися без з’єднання, якщо тип відповідає, наприклад ID кінцевого користувача та ID робочого процесу.',
fieldsDescription: {
conversationId: 'ID розмови',
dialogCount: 'Кількість розмов',
userId: 'ID користувача',
triggerTimestamp: 'Мітка часу запуску застосунку',
appId: 'ID застосунку',
workflowId: 'ID робочого процесу',
workflowRunId: 'ID запуску робочого процесу',
},
},
chatVariable: {
panelTitle: 'Змінні розмови',
panelDescription: 'Змінні розмови використовуються для зберігання інтерактивної інформації, яку LLM повинен пам\'ятати, включаючи історію розмови, завантажені файли, вподобання користувача. Вони доступні для читання та запису.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Початок',
'end': 'Кінець',
'end': 'Вивід',
'answer': 'Відповідь',
'llm': 'LLM',
'knowledge-retrieval': 'Отримання знань',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Визначте початкові параметри для запуску робочого потоку',
'end': 'Визначте кінець і тип результату робочого потоку',
'end': 'Визначте вивід і тип результату робочого потоку',
'answer': 'Визначте зміст відповіді у чаті',
'llm': 'Виклик великих мовних моделей для відповіді на запитання або обробки природної мови',
'knowledge-retrieval': 'Дозволяє виконувати запити текстового вмісту, пов\'язаного із запитаннями користувача, з бази знань',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Поле введення користувача',
helpLink: 'Посилання на допомогу',
helpLink: 'Довідковий центр',
about: 'Про',
createdBy: 'Створено ',
nextStep: 'Наступний крок',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Всі проблеми вирішені',
change: 'Змінити',
optional: '(необов\'язково)',
moveToThisNode: 'Перемістіть до цього вузла',
organizeBlocks: 'Організуйте вузли',
changeBlock: 'Змінити вузол',
selectNextStep: 'Виберіть наступний крок',
addNextStep: 'Додайте наступний крок у цей робочий процес',
minimize: 'Вийти з повноекранного режиму',
maximize: 'Максимізувати полотно',
scrollToSelectedNode: 'Прокрутіть до вибраного вузла',
optional_and_hidden: '(необов\'язково & приховано)',
},
nodes: {

View File

@ -90,7 +90,7 @@ const translation = {
teamMember_other: '{{count,number}} thành viên trong nhóm',
documents: '{{count,number}} Tài liệu Kiến thức',
getStarted: 'Bắt đầu',
apiRateLimitUnit: '{{count,number}}/ngày',
apiRateLimitUnit: '{{count,number}}/tháng',
freeTrialTipSuffix: 'Không cần thẻ tín dụng',
documentsRequestQuotaTooltip: 'Chỉ định tổng số hành động mà một không gian làm việc có thể thực hiện mỗi phút trong cơ sở tri thức, bao gồm tạo mới tập dữ liệu, xóa, cập nhật, tải tài liệu lên, thay đổi, lưu trữ và truy vấn cơ sở tri thức. Chỉ số này được sử dụng để đánh giá hiệu suất của các yêu cầu cơ sở tri thức. Ví dụ, nếu một người dùng Sandbox thực hiện 10 lần kiểm tra liên tiếp trong một phút, không gian làm việc của họ sẽ bị hạn chế tạm thời không thực hiện các hành động sau trong phút tiếp theo: tạo mới tập dữ liệu, xóa, cập nhật và tải tài liệu lên hoặc thay đổi.',
startBuilding: 'Bắt đầu xây dựng',

View File

@ -8,7 +8,7 @@ const translation = {
published: 'Đã xuất bản',
publish: 'Xuất bản',
update: 'Cập nhật',
run: 'Chạy',
run: 'Chạy thử nghiệm',
running: 'Đang chạy',
inRunMode: 'Chế độ chạy',
inPreview: 'Trong chế độ xem trước',
@ -18,7 +18,6 @@ const translation = {
runHistory: 'Lịch sử chạy',
goBackToEdit: 'Quay lại trình chỉnh sửa',
conversationLog: 'Nhật ký cuộc trò chuyện',
features: 'Tính năng',
debugAndPreview: 'Xem trước',
restart: 'Khởi động lại',
currentDraft: 'Bản nháp hiện tại',
@ -91,9 +90,7 @@ const translation = {
addParallelNode: 'Thêm nút song song',
parallel: 'SONG SONG',
branch: 'NHÁNH',
featuresDocLink: 'Tìm hiểu thêm',
fileUploadTip: 'Các tính năng tải lên hình ảnh đã được nâng cấp để tải tệp lên.',
featuresDescription: 'Nâng cao trải nghiệm người dùng ứng dụng web',
ImageUploadLegacyTip: 'Bây giờ bạn có thể tạo các biến loại tệp trong biểu mẫu bắt đầu. Chúng tôi sẽ không còn hỗ trợ tính năng tải lên hình ảnh trong tương lai.',
importWarning: 'Thận trọng',
importWarningDetails: 'Sự khác biệt về phiên bản DSL có thể ảnh hưởng đến một số tính năng nhất định',
@ -111,10 +108,11 @@ const translation = {
exportJPEG: 'Xuất dưới dạng JPEG',
needAnswerNode: 'Nút Trả lời phải được thêm vào',
addBlock: 'Thêm Node',
needEndNode: 'Nút Kết thúc phải được thêm vào',
needOutputNode: 'Phải thêm nút Đầu ra',
tagBound: 'Số lượng ứng dụng sử dụng thẻ này',
currentWorkflow: 'Quy trình làm việc hiện tại',
currentView: 'Hiện tại View',
moreActions: 'Hành động khác',
},
env: {
envPanelTitle: 'Biến Môi Trường',
@ -139,6 +137,19 @@ const translation = {
export: 'Xuất DSL với giá trị bí mật',
},
},
globalVar: {
title: 'Biến hệ thống',
description: 'Biến hệ thống là biến toàn cục mà bất kỳ nút nào cũng có thể tham chiếu mà không cần nối dây khi kiểu dữ liệu phù hợp, chẳng hạn như ID người dùng cuối và ID quy trình làm việc.',
fieldsDescription: {
conversationId: 'ID cuộc trò chuyện',
dialogCount: 'Số lần trò chuyện',
userId: 'ID người dùng',
triggerTimestamp: 'Dấu thời gian ứng dụng bắt đầu chạy',
appId: 'ID ứng dụng',
workflowId: 'ID quy trình làm việc',
workflowRunId: 'ID lần chạy quy trình làm việc',
},
},
chatVariable: {
panelTitle: 'Biến Hội Thoại',
panelDescription: 'Biến Hội Thoại được sử dụng để lưu trữ thông tin tương tác mà LLM cần ghi nhớ, bao gồm lịch sử hội thoại, tệp đã tải lên, tùy chọn người dùng. Chúng có thể đọc và ghi được.',
@ -242,7 +253,7 @@ const translation = {
},
blocks: {
'start': 'Bắt đầu',
'end': 'Kết thúc',
'end': 'Đầu ra',
'answer': 'Trả lời',
'llm': 'LLM',
'knowledge-retrieval': 'Truy xuất kiến thức',
@ -268,7 +279,7 @@ const translation = {
},
blocksAbout: {
'start': 'Định nghĩa các tham số ban đầu để khởi chạy quy trình làm việc',
'end': 'Định nghĩa kết thúc và loại kết quả của quy trình làm việc',
'end': 'Định nghĩa đầu ra và loại kết quả của quy trình làm việc',
'answer': 'Định nghĩa nội dung trả lời của cuộc trò chuyện',
'llm': 'Gọi các mô hình ngôn ngữ lớn để trả lời câu hỏi hoặc xử lý ngôn ngữ tự nhiên',
'knowledge-retrieval': 'Cho phép truy vấn nội dung văn bản liên quan đến câu hỏi của người dùng từ cơ sở kiến thức',
@ -311,7 +322,7 @@ const translation = {
},
panel: {
userInputField: 'Trường đầu vào của người dùng',
helpLink: 'Liên kết trợ giúp',
helpLink: 'Trung tâm trợ giúp',
about: 'Giới thiệu',
createdBy: 'Tạo bởi ',
nextStep: 'Bước tiếp theo',
@ -321,13 +332,13 @@ const translation = {
checklistResolved: 'Tất cả các vấn đề đã được giải quyết',
change: 'Thay đổi',
optional: '(tùy chọn)',
moveToThisNode: 'Di chuyển đến nút này',
changeBlock: 'Thay đổi Node',
selectNextStep: 'Chọn bước tiếp theo',
organizeBlocks: 'Tổ chức các nút',
addNextStep: 'Thêm bước tiếp theo trong quy trình này',
maximize: 'Tối đa hóa Canvas',
minimize: 'Thoát chế độ toàn màn hình',
scrollToSelectedNode: 'Cuộn đến nút đã chọn',
optional_and_hidden: '(tùy chọn & ẩn)',
},
nodes: {

View File

@ -20,6 +20,7 @@ const translation = {
tokens: 'TOKENS',
user: '用户或账户',
version: '版本',
triggered_from: '触发方式',
},
pagination: {
previous: '上一页',
@ -97,6 +98,15 @@ const translation = {
iteration: '迭代',
finalProcessing: '最终处理',
},
triggerBy: {
debugging: '调试',
appRun: '网页应用',
webhook: 'Webhook',
schedule: '定时任务',
plugin: '插件',
ragPipelineRun: 'RAG 流水线',
ragPipelineDebugging: 'RAG 调试',
},
}
export default translation

View File

@ -30,6 +30,7 @@ const translation = {
overview: {
title: '概览',
appInfo: {
title: 'Web App',
explanation: '开箱即用的 AI web app',
accessibleAddress: '公开访问 URL',
preview: '预览',
@ -37,6 +38,10 @@ const translation = {
regenerate: '重新生成',
regenerateNotice: '您是否要重新生成公开访问 URL',
preUseReminder: '使用前请先打开开关',
enableTooltip: {
description: '要启用此功能,请在画布中添加用户输入节点。(草稿中可能已存在,发布后生效)',
learnMore: '了解更多',
},
settings: {
entry: '设置',
title: 'web app 设置',
@ -121,6 +126,14 @@ const translation = {
accessibleAddress: 'API 访问凭据',
doc: '查阅 API 文档',
},
triggerInfo: {
title: '触发器',
explanation: '工作流触发器管理',
triggersAdded: '已添加 {{count}} 个触发器',
noTriggerAdded: '未添加触发器',
triggerStatusDescription: '触发器节点状态显示在这里。(草稿中可能已存在,发布后生效)',
learnAboutTriggers: '了解触发器',
},
status: {
running: '运行中',
disable: '已停用',

View File

@ -253,6 +253,8 @@ const translation = {
notSetDesc: '当前任何人都无法访问 Web 应用。请设置访问权限。',
},
noAccessPermission: '没有权限访问 web 应用',
noUserInputNode: '缺少用户输入节点',
notPublishedYet: '应用暂未发布',
maxActiveRequests: '最大活跃请求数',
maxActiveRequestsPlaceholder: '0 表示不限制',
maxActiveRequestsTip: '当前应用的最大活跃请求数0 表示不限制)',

View File

@ -7,6 +7,8 @@ const translation = {
documentsUploadQuota: '文档上传配额',
vectorSpace: '知识库数据存储空间',
vectorSpaceTooltip: '采用高质量索引模式的文档会消耗知识数据存储资源。当知识数据存储达到限制时,将不会上传新文档。',
triggerEvents: '触发事件',
perMonth: '每月',
},
upgradeBtn: {
plain: '查看套餐',
@ -61,7 +63,7 @@ const translation = {
documentsRequestQuota: '{{count,number}}/分钟 知识库请求频率限制',
documentsRequestQuotaTooltip: '指每分钟内一个空间在知识库中可执行的操作总数包括数据集的创建、删除、更新文档的上传、修改、归档以及知识库查询等用于评估知识库请求的性能。例如Sandbox 用户在 1 分钟内连续执行 10 次命中测试,其工作区将在接下来的 1 分钟内无法继续执行以下操作:数据集的创建、删除、更新,文档的上传、修改等操作。',
apiRateLimit: 'API 请求频率限制',
apiRateLimitUnit: '{{count,number}} 次/',
apiRateLimitUnit: '{{count,number}} 次/',
unlimitedApiRate: 'API 请求频率无限制',
apiRateLimitTooltip: 'API 请求频率限制涵盖所有通过 Dify API 发起的调用,例如文本生成、聊天对话、工作流执行和文档处理等。',
documentProcessingPriority: '文档处理',
@ -71,6 +73,20 @@ const translation = {
'priority': '优先',
'top-priority': '最高优先级',
},
triggerEvents: {
sandbox: '{{count,number}} 触发事件',
professional: '{{count,number}} 触发事件/月',
unlimited: '无限制触发事件',
},
workflowExecution: {
standard: '标准工作流执行',
faster: '更快的工作流执行',
priority: '优先工作流执行',
},
startNodes: {
limited: '每个工作流最多 {{count}} 个起始节点',
unlimited: '每个工作流无限制起始节点',
},
logsHistory: '{{days}}日志历史',
customTools: '自定义工具',
unavailable: '不可用',

View File

@ -29,6 +29,11 @@ const translation = {
refresh: '重新开始',
reset: '重置',
search: '搜索',
noSearchResults: '没有找到{{content}}',
resetKeywords: '重置关键词',
selectCount: '已选择 {{count}} 项',
searchCount: '找到 {{count}} 个 {{content}}',
noSearchCount: '0 个 {{content}}',
change: '更改',
remove: '移除',
send: '发送',
@ -71,6 +76,7 @@ const translation = {
more: '更多',
selectAll: '全选',
deSelectAll: '取消全选',
now: '现在',
},
errorMsg: {
fieldRequired: '{{field}} 为必填项',
@ -79,7 +85,9 @@ const translation = {
placeholder: {
input: '请输入',
select: '请选择',
search: '搜索...',
},
noData: '暂无数据',
label: {
optional: '(可选)',
},
@ -173,7 +181,7 @@ const translation = {
emailSupport: '邮件支持',
workspace: '工作空间',
createWorkspace: '创建工作空间',
helpCenter: '帮助文档',
helpCenter: '查看帮助文档',
support: '支持',
compliance: '合规',
forum: '论坛',
@ -769,6 +777,12 @@ const translation = {
title: '提供反馈',
placeholder: '请描述发生了什么问题或我们可以如何改进...',
},
dynamicSelect: {
error: '加载选项失败',
noData: '没有可用的选项',
loading: '加载选项...',
selected: '已选择 {{count}} 项',
},
}
export default translation

View File

@ -0,0 +1,186 @@
const translation = {
subscription: {
title: '订阅',
listNum: '{{num}} 个订阅',
empty: {
title: '暂无订阅',
button: '新建订阅',
},
createButton: {
oauth: '通过 OAuth 新建订阅',
apiKey: '通过 API Key 新建订阅',
manual: '粘贴 URL 以创建新订阅',
},
createSuccess: '订阅创建成功',
createFailed: '订阅创建失败',
maxCount: '最多 {{num}} 个订阅',
selectPlaceholder: '选择订阅',
noSubscriptionSelected: '未选择订阅',
subscriptionRemoved: '订阅已移除',
list: {
title: '订阅列表',
addButton: '添加',
tip: '通过订阅接收事件',
item: {
enabled: '已启用',
disabled: '已禁用',
credentialType: {
api_key: 'API密钥',
oauth2: 'OAuth',
unauthorized: '手动',
},
actions: {
delete: '删除',
deleteConfirm: {
title: '删除 {{name}}',
success: '订阅 {{name}} 删除成功',
error: '订阅 {{name}} 删除失败',
content: '删除后,该订阅将无法恢复,请确认。',
contentWithApps: '该订阅正在被 {{count}} 个应用使用,删除它将导致这些应用停止接收订阅事件。',
confirm: '确认删除',
cancel: '取消',
confirmInputWarning: '请输入正确的名称确认。',
confirmInputPlaceholder: '输入 "{{name}}" 确认',
confirmInputTip: '请输入 “{{name}}” 确认:',
},
},
status: {
active: '活跃',
inactive: '非活跃',
},
usedByNum: '被 {{num}} 个工作流使用',
noUsed: '未被工作流使用',
},
},
addType: {
title: '添加订阅',
description: '选择创建触发器订阅的方式',
options: {
apikey: {
title: '通过 API Key 创建',
description: '使用 API 凭据自动创建订阅',
},
oauth: {
title: '通过 OAuth 创建',
description: '与第三方平台授权以创建订阅',
clientSettings: 'OAuth 客户端设置',
clientTitle: 'OAuth 客户端',
default: '默认',
custom: '自定义',
},
manual: {
title: '手动设置',
description: '粘贴 URL 以创建新订阅',
tip: '手动配置 URL 到第三方平台',
},
},
},
},
modal: {
steps: {
verify: '验证',
configuration: '配置',
},
common: {
cancel: '取消',
back: '返回',
next: '下一步',
create: '创建',
verify: '验证',
authorize: '授权',
creating: '创建中...',
verifying: '验证中...',
authorizing: '授权中...',
},
oauthRedirectInfo: '由于未找到此工具提供方的系统客户端密钥,需要手动设置,对于 redirect_uri请使用',
apiKey: {
title: '通过 API Key 创建',
verify: {
title: '验证凭据',
description: '请提供您的 API 凭据以验证访问权限',
error: '凭据验证失败,请检查您的 API 密钥。',
success: '凭据验证成功',
},
configuration: {
title: '配置订阅',
description: '设置您的订阅参数',
},
},
oauth: {
title: '通过 OAuth 创建',
authorization: {
title: 'OAuth 授权',
description: '授权 Dify 访问您的账户',
redirectUrl: '重定向 URL',
redirectUrlHelp: '在您的 OAuth 应用配置中使用此 URL',
authorizeButton: '使用 {{provider}} 授权',
waitingAuth: '等待授权中...',
authSuccess: '授权成功',
authFailed: '获取 OAuth 授权信息失败',
waitingJump: '已授权,待跳转',
},
configuration: {
title: '配置订阅',
description: '授权完成后设置您的订阅参数',
success: 'OAuth 配置成功',
failed: 'OAuth 配置失败',
},
remove: {
success: 'OAuth 移除成功',
failed: 'OAuth 移除失败',
},
save: {
success: 'OAuth 配置保存成功',
},
},
manual: {
title: '手动设置',
description: '手动配置您的 Webhook 订阅',
logs: {
title: '请求日志',
request: '请求',
loading: '等待 {{pluginName}} 的请求...',
},
},
form: {
subscriptionName: {
label: '订阅名称',
placeholder: '输入订阅名称',
required: '订阅名称为必填项',
},
callbackUrl: {
label: '回调 URL',
description: '此 URL 将接收Webhook事件',
tooltip: '填写能被触发器提供方访问的公网地址,用于接收回调请求。',
placeholder: '生成中...',
privateAddressWarning: '此 URL 似乎是一个内部地址,可能会导致 Webhook 请求失败。',
},
},
errors: {
createFailed: '创建订阅失败',
verifyFailed: '验证凭据失败',
authFailed: '授权失败',
networkError: '网络错误,请重试',
},
},
events: {
title: '可用事件',
description: '此触发器插件可以订阅的事件',
empty: '没有可用事件',
event: '事件',
events: '事件',
actionNum: '包含 {{num}} 个 {{event}}',
item: {
parameters: '{{count}}个参数',
noParameters: '暂无参数',
},
output: '输出',
},
node: {
status: {
warning: '未连接',
},
},
}
export default translation

View File

@ -8,6 +8,7 @@ const translation = {
tools: '工具',
agents: 'Agent 策略',
extensions: '扩展',
triggers: '触发器',
bundles: '插件集',
datasources: '数据源',
},
@ -16,6 +17,7 @@ const translation = {
tool: '工具',
agent: 'Agent 策略',
extension: '扩展',
trigger: '触发器',
bundle: '插件集',
datasource: '数据源',
},
@ -62,6 +64,7 @@ const translation = {
checkUpdate: '检查更新',
viewDetail: '查看详情',
remove: '移除',
back: '返回',
},
actionNum: '包含 {{num}} 个 {{action}}',
strategyNum: '包含 {{num}} 个 {{strategy}}',
@ -77,7 +80,7 @@ const translation = {
endpointModalDesc: '完成配置后可使用插件 API 端点提供的功能',
serviceOk: '服务正常',
disabled: '停用',
modelNum: '{{num}} 模型已包含',
modelNum: '包含 {{num}} 模型',
toolSelector: {
title: '添加工具',
toolSetting: '工具设置',
@ -306,6 +309,12 @@ const translation = {
connectedWorkspace: '已连接的工作区',
emptyAuth: '请配置凭据',
},
readmeInfo: {
title: 'README',
needHelpCheckReadme: '需要帮助?查看 README。',
noReadmeAvailable: 'README 文档不可用',
failedToFetch: '获取 README 文档失败',
},
}
export default translation

View File

@ -9,8 +9,10 @@ const translation = {
publish: '发布',
update: '更新',
publishUpdate: '发布更新',
run: '运行',
run: '测试运行',
running: '运行中',
chooseStartNodeToRun: '选择启动节点进行运行',
runAllTriggers: '运行所有触发器',
inRunMode: '在运行模式中',
inPreview: '预览中',
inPreviewMode: '预览中',
@ -46,7 +48,8 @@ const translation = {
needConnectTip: '此节点尚未连接到其他节点',
maxTreeDepth: '每个分支最大限制 {{depth}} 个节点',
needAdd: '必须添加{{node}}节点',
needEndNode: '必须添加结束节点',
needOutputNode: '必须添加输出节点',
needStartNode: '必须添加至少一个开始节点',
needAnswerNode: '必须添加直接回复节点',
workflowProcess: '工作流',
notRunning: '尚未运行',
@ -76,12 +79,14 @@ const translation = {
exportSVG: '导出为 SVG',
currentView: '当前视图',
currentWorkflow: '整个工作流',
moreActions: '更多操作',
model: '模型',
workflowAsTool: '发布为工具',
configureRequired: '需要进行配置',
configure: '配置',
manageInTools: '访问工具页',
workflowAsToolTip: '工作流更新后需要重新配置工具参数',
workflowAsToolDisabledHint: '请先发布最新的工作流,并确保已连接的 User Input 节点后再配置为工具。',
viewDetailInTracingPanel: '查看详细信息',
syncingData: '同步数据中,只需几秒钟。',
importDSL: '导入 DSL',
@ -140,6 +145,19 @@ const translation = {
export: '导出包含 Secret 值的 DSL',
},
},
globalVar: {
title: '系统变量',
description: '系统变量是全局变量,在类型匹配时无需连线即可被任意节点引用,例如终端用户 ID 和工作流 ID。',
fieldsDescription: {
conversationId: '会话 ID',
dialogCount: '会话次数',
userId: '用户 ID',
triggerTimestamp: '应用开始运行的时间戳',
appId: '应用 ID',
workflowId: '工作流 ID',
workflowRunId: '工作流运行 ID',
},
},
sidebar: {
exportWarning: '导出当前已保存版本',
exportWarningDesc: '这将导出您工作流的当前已保存版本。如果您在编辑器中有未保存的更改,请先使用工作流画布中的导出选项保存它们。',
@ -213,6 +231,16 @@ const translation = {
invalidVariable: '无效的变量',
noValidTool: '{{field}} 无可用工具',
toolParameterRequired: '{{field}}: 参数 [{{param}}] 不能为空',
startNodeRequired: '请先添加开始节点,然后再{{operation}}',
},
error: {
startNodeRequired: '请先添加开始节点,然后再{{operation}}',
operations: {
connectingNodes: '连接节点',
addingNodes: '添加节点',
modifyingWorkflow: '修改工作流',
updatingWorkflow: '更新工作流',
},
},
singleRun: {
testRun: '测试运行',
@ -229,6 +257,8 @@ const translation = {
'searchBlock': '搜索节点',
'blocks': '节点',
'searchTool': '搜索工具',
'searchTrigger': '搜索触发器...',
'allTriggers': '全部触发器',
'tools': '工具',
'allTool': '全部',
'plugin': '插件',
@ -239,15 +269,29 @@ const translation = {
'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': '开始',
'end': '结束',
'start': '用户输入',
'originalStartNode': '原始开始节点',
'end': '输出',
'answer': '直接回复',
'llm': 'LLM',
'knowledge-retrieval': '知识检索',
@ -270,10 +314,14 @@ const translation = {
'loop-end': '退出循环',
'knowledge-index': '知识库',
'datasource': '数据源',
'trigger-webhook': 'Webhook 触发器',
'trigger-schedule': '定时触发器',
'trigger-plugin': '插件触发器',
},
customWebhook: '自定义 Webhook',
blocksAbout: {
'start': '定义一个 workflow 流程启动的初始参数',
'end': '定义一个 workflow 流程的结束和结果类型',
'end': '定义一个 workflow 流程的输出和结果类型',
'answer': '定义一个聊天对话的回复内容',
'llm': '调用大语言模型回答问题或者对自然语言进行处理',
'knowledge-retrieval': '允许你从知识库中查询与用户问题相关的文本内容',
@ -294,7 +342,11 @@ const translation = {
'agent': '调用大型语言模型回答问题或处理自然语言',
'knowledge-index': '知识库节点',
'datasource': '数据源节点',
'trigger-webhook': 'Webhook 触发器接收来自第三方系统的 HTTP 推送以自动触发工作流。',
'trigger-schedule': '基于时间的工作流触发器,按计划启动工作流',
'trigger-plugin': '从外部平台事件启动工作流的第三方集成触发器',
},
difyTeam: 'Dify 团队',
operator: {
zoomIn: '放大',
zoomOut: '缩小',
@ -324,7 +376,7 @@ const translation = {
panel: {
userInputField: '用户输入字段',
changeBlock: '更改节点',
helpLink: '帮助链接',
helpLink: '查看帮助文档',
about: '关于',
createdBy: '作者',
nextStep: '下一步',
@ -334,12 +386,14 @@ const translation = {
checklist: '检查清单',
checklistTip: '发布前确保所有问题均已解决',
checklistResolved: '所有问题均已解决',
goTo: '转到',
startNode: '开始节点',
organizeBlocks: '整理节点',
change: '更改',
optional: '(选填)',
moveToThisNode: '定位至此节点',
maximize: '最大化画布',
minimize: '退出最大化',
scrollToSelectedNode: '滚动至选中节点',
optional_and_hidden: '(选填 & 隐藏)',
},
nodes: {
@ -966,6 +1020,138 @@ const translation = {
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: '输入变量名...',
headerName: '变量名',
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}}"无效',
},
},
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: '需要配置订阅',
},
},
tracing: {
stopBy: '由{{user}}终止',
@ -1027,6 +1213,18 @@ const translation = {
view: '查看记录',
edited: '已编辑',
reset: '还原至上一次运行',
listening: {
title: '正在监听触发器事件…',
tip: '您现在可以向 HTTP {{nodeName}} 端点发送测试请求以模拟事件触发,或将其用作实时事件调试的回调 URL。所有输出都可以在变量检查器中直接查看。',
tipPlugin: '现在您可以在 {{- pluginName}} 中创建事件,并在变量检查器中查看这些事件的输出。',
tipSchedule: '正在监听计划触发器事件。\n下一次计划运行时间{{nextTriggerTime}}',
tipFallback: '正在等待触发器事件,输出结果将在此显示。',
defaultNodeName: '此触发器',
defaultPluginName: '此插件触发器',
defaultScheduleTime: '未设置',
selectedTriggers: '所选触发器',
stopButton: '停止',
},
trigger: {
normal: '变量检查',
running: '缓存中',
@ -1052,6 +1250,30 @@ const translation = {
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

View File

@ -74,7 +74,7 @@ const translation = {
receiptInfo: '只有團隊所有者和團隊管理員才能訂閱和檢視賬單資訊',
annotationQuota: '註釋配額',
self: '自我主持',
apiRateLimitUnit: '{{count,number}}/',
apiRateLimitUnit: '{{count,number}}/',
freeTrialTipPrefix: '註冊並獲得一個',
annualBilling: '年度計費',
freeTrialTipSuffix: '無需信用卡',

View File

@ -160,7 +160,8 @@ const translation = {
emailSupport: '電子郵件支援',
workspace: '工作空間',
createWorkspace: '建立工作空間',
helpCenter: '幫助文件',
helpCenter: '查看幫助文件',
communityFeedback: '使用者反饋',
roadmap: '路線圖',
community: '社群',
about: '關於',

View File

@ -8,7 +8,7 @@ const translation = {
published: '已發佈',
publish: '發佈',
update: '更新',
run: '運行',
run: '測試運行',
running: '運行中',
inRunMode: '在運行模式中',
inPreview: '預覽中',
@ -18,7 +18,6 @@ const translation = {
runHistory: '運行歷史',
goBackToEdit: '返回編輯模式',
conversationLog: '對話記錄',
features: '功能',
debugAndPreview: '預覽',
restart: '重新開始',
currentDraft: '當前草稿',
@ -38,6 +37,8 @@ const translation = {
setVarValuePlaceholder: '設置變數值',
needConnectTip: '此節點尚未連接到其他節點',
maxTreeDepth: '每個分支最大限制 {{depth}} 個節點',
needAdd: '必須新增{{node}}節點',
needOutputNode: '必須新增輸出節點',
needEndNode: '必須新增結束節點',
needAnswerNode: '必須新增直接回覆節點',
workflowProcess: '工作流',
@ -94,10 +95,8 @@ const translation = {
addParallelNode: '新增並行節點',
parallel: '並行',
branch: '分支',
featuresDocLink: '瞭解更多資訊',
fileUploadTip: '圖片上傳功能已升級為檔上傳。',
ImageUploadLegacyTip: '現在,您可以在起始表單中創建檔案類型變數。我們將來不再支持圖片上傳功能。',
featuresDescription: '增強 Web 應用程式用戶體驗',
importWarning: '謹慎',
importWarningDetails: 'DSL 版本差異可能會影響某些功能',
openInExplore: '在“探索”中打開',
@ -115,6 +114,7 @@ const translation = {
tagBound: '使用此標籤的應用程式數量',
currentView: '當前檢視',
currentWorkflow: '當前工作流程',
moreActions: '更多動作',
},
env: {
envPanelTitle: '環境變數',
@ -139,6 +139,19 @@ const translation = {
export: '導出帶有機密值的 DSL',
},
},
globalVar: {
title: '系統變數',
description: '系統變數是全域變數,在類型符合時可由任意節點在無需連線的情況下引用,例如終端使用者 ID 與工作流程 ID。',
fieldsDescription: {
conversationId: '對話 ID',
dialogCount: '對話次數',
userId: '使用者 ID',
triggerTimestamp: '應用程式開始運行的時間戳',
appId: '應用程式 ID',
workflowId: '工作流程 ID',
workflowRunId: '工作流程執行 ID',
},
},
chatVariable: {
panelTitle: '對話變數',
panelDescription: '對話變數用於儲存 LLM 需要記住的互動資訊,包括對話歷史、上傳的檔案、使用者偏好等。這些變數可讀寫。',
@ -224,6 +237,8 @@ const translation = {
'searchBlock': '搜索節點',
'blocks': '節點',
'tools': '工具',
'searchTrigger': '搜尋觸發器...',
'allTriggers': '所有觸發器',
'allTool': '全部',
'customTool': '自定義',
'workflowTool': '工作流',
@ -239,10 +254,12 @@ const translation = {
'addAll': '全部新增',
'sources': '來源',
'searchDataSource': '搜尋資料來源',
'noFeaturedPlugins': '前往 Marketplace 查看更多工具',
'noFeaturedTriggers': '前往 Marketplace 查看更多觸發器',
},
blocks: {
'start': '開始',
'end': '結束',
'end': '輸出',
'answer': '直接回覆',
'llm': 'LLM',
'knowledge-retrieval': '知識檢索',
@ -268,7 +285,7 @@ const translation = {
},
blocksAbout: {
'start': '定義一個 workflow 流程啟動的參數',
'end': '定義一個 workflow 流程的結束和結果類型',
'end': '定義一個 workflow 流程的輸出和結果類型',
'answer': '定義一個聊天對話的回覆內容',
'llm': '調用大語言模型回答問題或者對自然語言進行處理',
'knowledge-retrieval': '允許你從知識庫中查詢與用戶問題相關的文本內容',
@ -312,7 +329,7 @@ const translation = {
panel: {
userInputField: '用戶輸入字段',
changeBlock: '更改節點',
helpLink: '幫助連接',
helpLink: '查看幫助文件',
about: '關於',
createdBy: '作者',
nextStep: '下一步',
@ -325,9 +342,9 @@ const translation = {
organizeBlocks: '整理節點',
change: '更改',
optional: '(選擇性)',
moveToThisNode: '定位至此節點',
minimize: '退出全螢幕',
maximize: '最大化畫布',
scrollToSelectedNode: '捲動至選取的節點',
optional_and_hidden: '(可選且隱藏)',
},
nodes: {
@ -1006,6 +1023,18 @@ const translation = {
description: '上次運行的結果將顯示在這裡',
},
variableInspect: {
listening: {
title: '正在監聽觸發器事件…',
tip: '您現在可以向 HTTP {{nodeName}} 端點發送測試請求來模擬事件觸發,或將其作為即時事件除錯的回呼 URL。所有輸出都可在變數檢視器中直接查看。',
tipPlugin: '您現在可以在 {{- pluginName}} 中建立事件,並在變數檢視器中檢視這些事件的輸出。',
tipSchedule: '正在監聽排程觸發器事件。\n下一次排程執行時間{{nextTriggerTime}}',
tipFallback: '正在等待觸發器事件,輸出會顯示在此處。',
defaultNodeName: '此觸發器',
defaultPluginName: '此插件觸發器',
defaultScheduleTime: '未設定',
selectedTriggers: '已選觸發器',
stopButton: '停止',
},
trigger: {
cached: '查看快取的變數',
stop: '停止跑步',