mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-17 16:00:59 +00:00
2205 lines
82 KiB
TypeScript
2205 lines
82 KiB
TypeScript
const enUS = {
|
|
sidebar: {
|
|
home: 'Home',
|
|
extensions: 'Extensions',
|
|
installedPlugins: 'Installed Plugins',
|
|
pluginMarket: 'Marketplace',
|
|
mcpServers: 'MCP Servers',
|
|
pluginPages: 'Plugin Pages',
|
|
pluginPagesTooltip: 'Visual pages provided by installed plugins',
|
|
quickStart: 'Quick Start',
|
|
},
|
|
common: {
|
|
login: 'Login',
|
|
logout: 'Logout',
|
|
accountOptions: 'Settings',
|
|
account: 'Account',
|
|
integration: 'Integration',
|
|
email: 'Email',
|
|
password: 'Password',
|
|
welcome: 'Welcome back to LangBot 👋',
|
|
continueToLogin: 'Login to continue',
|
|
loginSuccess: 'Login successful',
|
|
loginFailed: 'Login failed, please check your email and password',
|
|
loginLoadError: 'Unable to connect to server',
|
|
loginLoadErrorDesc:
|
|
'Unable to connect to the LangBot backend. Please make sure the service is running and try again.',
|
|
retry: 'Retry',
|
|
enterEmail: 'Enter email address',
|
|
enterPassword: 'Enter password',
|
|
invalidEmail: 'Please enter a valid email address',
|
|
emptyPassword: 'Please enter your password',
|
|
language: 'Language',
|
|
helpDocs: 'Get Help',
|
|
featureRequest: 'Feature Request',
|
|
starOnGitHub: 'Star on GitHub',
|
|
create: 'Create',
|
|
edit: 'Edit',
|
|
delete: 'Delete',
|
|
add: 'Add',
|
|
select: 'Select',
|
|
cancel: 'Cancel',
|
|
submit: 'Submit',
|
|
next: 'Next',
|
|
back: 'Back',
|
|
refresh: 'Refresh',
|
|
error: 'Error',
|
|
success: 'Success',
|
|
save: 'Save',
|
|
saving: 'Saving...',
|
|
confirm: 'Confirm',
|
|
confirmDelete: 'Confirm Delete',
|
|
deleteConfirmation: 'Are you sure you want to delete this?',
|
|
selectOption: 'Select an option',
|
|
selectPreset: 'Select Preset',
|
|
required: 'Required',
|
|
enable: 'Enable',
|
|
name: 'Name',
|
|
description: 'Description',
|
|
icon: 'Icon',
|
|
close: 'Close',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteError: 'Delete failed: ',
|
|
addRound: 'Add Round',
|
|
copy: 'Copy',
|
|
undo: 'Undo',
|
|
redo: 'Redo',
|
|
copySuccess: 'Copy Successfully',
|
|
copyFailed: 'Copy Failed',
|
|
test: 'Test',
|
|
forgotPassword: 'Forgot Password?',
|
|
agreementNotice: 'By continuing, you agree to our',
|
|
privacyPolicy: 'Privacy Policy',
|
|
and: 'and',
|
|
dataCollectionPolicy: 'Data Collection Policy',
|
|
dataCollectionPolicyUrl: 'https://link.langbot.app/en/docs/data-policy',
|
|
loading: 'Loading...',
|
|
fieldRequired: 'This field is required',
|
|
or: 'or',
|
|
loginWithSpace: 'Login with Space',
|
|
spaceLoginRecommended:
|
|
'Recommended: Use official stable model APIs and cloud services',
|
|
loginLocal: 'Login with local account',
|
|
loginWithPassword: 'Login with password',
|
|
spaceLoginTitle: 'Login with Space',
|
|
spaceLoginDescription:
|
|
'Scan the QR code or visit the link below to authorize',
|
|
spaceLoginUserCode: 'Your code',
|
|
spaceLoginExpires: 'Code expires in {{seconds}} seconds',
|
|
spaceLoginWaiting: 'Waiting for authorization...',
|
|
spaceLoginSuccess: 'Authorization successful',
|
|
spaceLoginFailed: 'Space login failed',
|
|
spaceLoginExpired: 'Authorization code expired, please try again',
|
|
spaceLoginCancel: 'Cancel',
|
|
spaceLoginVisitLink: 'Visit link',
|
|
spaceLoginProcessing: 'Logging in with Space',
|
|
spaceLoginProcessingDescription:
|
|
'Please wait while we complete your login...',
|
|
spaceLoginSuccessDescription: 'Redirecting to LangBot...',
|
|
spaceLoginError: 'Login Failed',
|
|
spaceLoginNoCode: 'Missing authorization code',
|
|
backToLogin: 'Back to Login',
|
|
backToHome: 'Back to Home',
|
|
spaceAccountCannotChangePassword:
|
|
'Space accounts cannot change password here',
|
|
theme: 'Theme',
|
|
changePassword: 'Change Password',
|
|
currentPassword: 'Current Password',
|
|
newPassword: 'New Password',
|
|
confirmNewPassword: 'Confirm New Password',
|
|
enterCurrentPassword: 'Enter current password',
|
|
enterNewPassword: 'Enter new password',
|
|
enterConfirmPassword: 'Confirm new password',
|
|
currentPasswordRequired: 'Current password is required',
|
|
newPasswordRequired: 'New password is required',
|
|
confirmPasswordRequired: 'Confirm password is required',
|
|
passwordsDoNotMatch: 'Passwords do not match',
|
|
changePasswordSuccess: 'Password changed successfully',
|
|
changePasswordFailed:
|
|
'Failed to change password, please check your current password',
|
|
apiIntegration: 'API Integration',
|
|
apiKeys: 'API Keys',
|
|
manageApiIntegration: 'Manage API Integration',
|
|
manageApiKeys: 'Manage API Keys',
|
|
createApiKey: 'Create API Key',
|
|
apiKeyName: 'API Key Name',
|
|
apiKeyDescription: 'API Key Description',
|
|
apiKeyValue: 'API Key Value',
|
|
apiKeyCreated: 'API key created successfully',
|
|
apiKeyDeleted: 'API key deleted successfully',
|
|
apiKeyDeleteConfirm: 'Are you sure you want to delete this API key?',
|
|
apiKeyNameRequired: 'API key name is required',
|
|
copyApiKey: 'Copy API Key',
|
|
apiKeyCopied: 'API key copied to clipboard',
|
|
noApiKeys: 'No API keys configured',
|
|
apiKeyHint:
|
|
'API keys allow external systems to access LangBot Service APIs',
|
|
webhooks: 'Webhooks',
|
|
createWebhook: 'Create Webhook',
|
|
webhookName: 'Webhook Name',
|
|
webhookUrl: 'Webhook URL',
|
|
webhookDescription: 'Webhook Description',
|
|
webhookEnabled: 'Enabled',
|
|
webhookCreated: 'Webhook created successfully',
|
|
webhookDeleted: 'Webhook deleted successfully',
|
|
webhookDeleteConfirm: 'Are you sure you want to delete this webhook?',
|
|
webhookNameRequired: 'Webhook name is required',
|
|
webhookUrlRequired: 'Webhook URL is required',
|
|
noWebhooks: 'No webhooks configured',
|
|
webhookHint:
|
|
'Webhooks allow LangBot to push person and group message events to external systems',
|
|
actions: 'Actions',
|
|
apiKeyCreatedMessage:
|
|
'Please copy this API key, if the button is invalid, please copy manually.',
|
|
none: 'None',
|
|
more: 'More ({{count}})',
|
|
less: 'Less',
|
|
noItems: 'No items',
|
|
data: 'Data',
|
|
result: 'Result',
|
|
body: 'Body',
|
|
headers: 'Headers',
|
|
query: 'Query',
|
|
method: 'Method',
|
|
},
|
|
notFound: {
|
|
title: 'Page not found',
|
|
description: 'The page you are looking for does not exist.',
|
|
back: 'Back',
|
|
home: 'Home',
|
|
help: 'Get Help',
|
|
},
|
|
models: {
|
|
title: 'Models',
|
|
description: 'Configure and manage models that can be used in pipelines',
|
|
createModel: 'Create Model',
|
|
editModel: 'Edit Model',
|
|
getModelListError: 'Failed to get model list: ',
|
|
modelName: 'Model Name',
|
|
modelProvider: 'Model Provider',
|
|
modelBaseURL: 'Base URL',
|
|
modelAbilities: 'Model Abilities',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Save failed: ',
|
|
createSuccess: 'Created successfully',
|
|
createError: 'Creation failed: ',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteError: 'Delete failed: ',
|
|
deleteConfirmation: 'Are you sure you want to delete this model?',
|
|
modelNameRequired: 'Model name cannot be empty',
|
|
modelProviderRequired: 'Model provider cannot be empty',
|
|
requestURLRequired: 'Request URL cannot be empty',
|
|
apiKeyRequired: 'API Key cannot be empty',
|
|
keyNameRequired: 'Key name cannot be empty',
|
|
mustBeValidNumber: 'Must be a valid number',
|
|
mustBeTrueOrFalse: 'Must be true or false',
|
|
requestURL: 'Request URL',
|
|
scanURL: 'Scan Models URL',
|
|
scanURLPlaceholder: 'Leave empty to use Request URL + /models',
|
|
scanURLDescription:
|
|
'Fill in the actual model-list endpoint when model scanning does not use the same address as model invocation.',
|
|
apiKey: 'API Key',
|
|
abilities: 'Abilities',
|
|
selectModelAbilities: 'Select model abilities',
|
|
visionAbility: 'Vision Ability',
|
|
functionCallAbility: 'Function Call',
|
|
extraParameters: 'Extra Parameters',
|
|
addParameter: 'Add Parameter',
|
|
keyName: 'Key Name',
|
|
type: 'Type',
|
|
value: 'Value',
|
|
string: 'String',
|
|
number: 'Number',
|
|
boolean: 'Boolean',
|
|
object: 'Object',
|
|
objectJsonPlaceholder: '{ "type": "disabled" }',
|
|
invalidJsonObject: 'Value must be a valid JSON object',
|
|
selectModelProvider: 'Select Model Provider',
|
|
modelProviderDescription:
|
|
'Please fill in the model name provided by the provider',
|
|
modelManufacturer: 'Model Manufacturer',
|
|
aggregationPlatform: 'Aggregation Platform',
|
|
selfDeployed: 'Self-deployed',
|
|
builtin: 'Built-in',
|
|
selectModel: 'Select Model',
|
|
testSuccess: 'Test successful',
|
|
testError: 'Test failed, please check your model configuration',
|
|
llmModels: 'LLM Models',
|
|
localProvider: 'Local',
|
|
localProviderDescription: 'Models configured and managed locally',
|
|
spaceProviderDescription: 'Models synced from your Space account',
|
|
spaceDisabledForLocalAccount: 'Login with Space to use cloud models',
|
|
syncModels: 'Sync',
|
|
syncSuccess: 'Sync complete: {{created}} created, {{updated}} updated',
|
|
syncError: 'Sync failed: ',
|
|
spaceModelReadOnly: 'Space models are read-only',
|
|
noSpaceModels: 'No Space models. Click Sync to fetch models from Space.',
|
|
noLocalModels: 'No local models. Click Create to add a model.',
|
|
providerCount: '{{count}} providers',
|
|
// New keys for provider-based structure
|
|
addModel: 'Add Model',
|
|
manualAdd: 'Manual',
|
|
scanAdd: 'Scan',
|
|
scanModels: 'Scan Models',
|
|
scanModelsHint:
|
|
'Read available models from the current provider, then select which ones to add.',
|
|
scannedModels: 'Scanned Models',
|
|
scanDebug: 'Debug Info',
|
|
searchScannedModels: 'Search scanned models',
|
|
noScannedModels: 'No scan results yet. Click the button above to scan.',
|
|
noScannedModelsMatch: 'No matching models',
|
|
addSelectedModels: 'Add Selected',
|
|
addSelectedModelsSuccess: '{{count}} model(s) added',
|
|
selectAll: 'Select All',
|
|
alreadyAdded: 'Already added',
|
|
addLLMModel: 'Add LLM Model',
|
|
addEmbeddingModel: 'Add Embedding Model',
|
|
provider: 'Provider',
|
|
existingProvider: 'Existing Provider',
|
|
newProvider: 'New Provider',
|
|
selectProvider: 'Select Provider',
|
|
requester: 'Provider Type',
|
|
selectRequester: 'Select Provider Type',
|
|
langbotModelsDescription: 'Cloud models powered by LangBot Space',
|
|
credits: 'Credits',
|
|
loginWithSpace: 'Login with Space',
|
|
loginToUseModels: 'Login with Space to use cloud models',
|
|
noModels: 'No models configured',
|
|
langbotModels: 'LangBot Models',
|
|
spaceTrialTooltip:
|
|
'Free trial credits available! Login with Space to access cloud models with zero configuration.',
|
|
unlockModels: 'Login to use',
|
|
editProvider: 'Edit Provider',
|
|
addProvider: 'Add Provider',
|
|
addProviderHint: 'Add providers to use models from other sources',
|
|
addProviderHintSimple: 'Add providers to use models',
|
|
noProviders: 'No providers yet',
|
|
providerName: 'Provider Name',
|
|
providerNameRequired: 'Provider name is required',
|
|
requesterRequired: 'Provider type is required',
|
|
providerSaved: 'Provider saved',
|
|
providerCreated: 'Provider created',
|
|
providerSaveError: 'Failed to save provider: ',
|
|
providerDeleted: 'Provider deleted',
|
|
providerDeleteError: 'Failed to delete provider: ',
|
|
deleteProviderConfirmation:
|
|
'Are you sure you want to delete this provider?',
|
|
loadError: 'Failed to load data',
|
|
chat: 'Chat',
|
|
embedding: 'Embedding',
|
|
rerank: 'Rerank',
|
|
rerankUrlTooltip:
|
|
'Full URL override for rerank endpoint (e.g. https://dashscope.aliyuncs.com/compatible-api/v1/reranks)',
|
|
rerankPathTooltip: 'Path appended to base URL (default: rerank)',
|
|
modelsCount: '{{count}} model(s)',
|
|
expandModels: 'Expand',
|
|
collapseModels: 'Collapse',
|
|
fallback: {
|
|
primary: 'Primary Model',
|
|
fallbackList: 'Fallback Models',
|
|
addFallback: 'Add Fallback Model',
|
|
},
|
|
},
|
|
bots: {
|
|
title: 'Bots',
|
|
description:
|
|
'Create and manage bots, which are the entry points for LangBot to connect with various platforms',
|
|
createBot: 'Create Bot',
|
|
selectFromSidebar: 'Select a bot from the sidebar',
|
|
editBot: 'Edit Bot',
|
|
getBotListError: 'Failed to get bot list: ',
|
|
botName: 'Bot Name',
|
|
botDescription: 'Bot Description',
|
|
botNameRequired: 'Bot name cannot be empty',
|
|
botDescriptionRequired: 'Bot description cannot be empty',
|
|
adapterRequired: 'Adapter cannot be empty',
|
|
defaultDescription: 'A bot',
|
|
getBotConfigError: 'Failed to get bot configuration: ',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Save failed: ',
|
|
createSuccess:
|
|
'Created successfully. Please enable or modify the bound pipeline',
|
|
createError: 'Creation failed: ',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteError: 'Delete failed: ',
|
|
deleteConfirmation: 'Are you sure you want to delete this bot?',
|
|
platformAdapter: 'Platform/Adapter Selection',
|
|
selectAdapter: 'Select Adapter',
|
|
adapterConfig: 'Adapter Configuration',
|
|
viewAdapterDocs: 'View Docs',
|
|
bindPipeline: 'Bind Pipeline',
|
|
selectPipeline: 'Select Pipeline',
|
|
selectBot: 'Select Bot',
|
|
botLogTitle: 'Bot Log',
|
|
enableAutoRefresh: 'Enable Auto Refresh',
|
|
session: 'Session',
|
|
yesterday: 'Yesterday',
|
|
earlier: 'Earlier',
|
|
dateFormat: '{{month}}/{{day}}',
|
|
setBotEnableError: 'Failed to set bot enable status',
|
|
log: 'Log',
|
|
configuration: 'Configuration',
|
|
logs: 'Logs',
|
|
basicInfo: 'Basic Information',
|
|
basicInfoDescription: 'Set the bot name and description',
|
|
routingConnection: 'Routing & Connection',
|
|
routingConnectionDescription:
|
|
'Bind the pipeline that processes messages for this bot',
|
|
routingRules: 'Conditional Routing Rules',
|
|
routingRulesDescription:
|
|
'Rules are evaluated in order; first match routes to its pipeline. Fallback to the default pipeline above if none match.',
|
|
addRoutingRule: 'Add Rule',
|
|
ruleTypeLauncherType: 'Session Type',
|
|
ruleTypeLauncherId: 'Session ID',
|
|
ruleTypeMessageContent: 'Message Content',
|
|
operatorEq: 'Equals',
|
|
operatorNeq: 'Not Equals',
|
|
operatorContains: 'Contains',
|
|
operatorNotContains: 'Not Contains',
|
|
operatorStartsWith: 'Starts With',
|
|
operatorRegex: 'Regex',
|
|
operatorHas: 'Has',
|
|
operatorNotHas: 'Does not have',
|
|
ruleTypeMessageHasElement: 'Message Element',
|
|
ruleValueElementPlaceholder: 'Select element type',
|
|
elementImage: 'Image',
|
|
elementVoice: 'Voice',
|
|
elementFile: 'File',
|
|
elementForward: 'Forward',
|
|
elementFace: 'Emoji',
|
|
elementAt: '@Mention',
|
|
elementAtAll: '@All',
|
|
elementQuote: 'Quote',
|
|
ruleValuePlaceholder: 'Match value',
|
|
ruleValueLauncherIdPlaceholder: 'Group or user ID',
|
|
ruleValueMessagePlaceholder: 'Message text',
|
|
ruleValuePrefixPlaceholder: 'e.g. !draw',
|
|
ruleValueRegexpPlaceholder: 'e.g. ^/help',
|
|
pipelineDiscard: 'Discard Message',
|
|
sessionTypePerson: 'Private Chat',
|
|
sessionTypeGroup: 'Group Chat',
|
|
// Unified binding (replacing routing rules)
|
|
bindTarget: 'Bind Target',
|
|
bindTargetDescription:
|
|
'Select the Pipeline or Workflow to process messages for this bot',
|
|
bindingType: 'Binding Type',
|
|
selectBinding: 'Select binding target',
|
|
selectWorkflow: 'Select Workflow',
|
|
noPipelinesFound: 'No pipelines available',
|
|
noWorkflowsFound: 'No workflows available',
|
|
pipelineBindingHelp:
|
|
'Pipeline is the traditional message processing method using predefined stages.',
|
|
workflowBindingHelp:
|
|
'Workflow provides visual node orchestration for more flexible message processing.',
|
|
adapterConfigDescription: 'Configure the selected platform adapter',
|
|
dangerZone: 'Danger Zone',
|
|
dangerZoneDescription: 'Irreversible and destructive actions',
|
|
deleteBotAction: 'Delete this bot',
|
|
deleteBotHint:
|
|
'Once deleted, all associated configuration will be permanently removed.',
|
|
webhookUrl: 'Webhook Callback URL',
|
|
webhookUrlCopied: 'Webhook URL copied',
|
|
webhookUrlHint:
|
|
'Click the input to select all, then press Ctrl+C (Mac: Cmd+C) to copy, or click the button',
|
|
webhookUrlHintEither:
|
|
'Use either of the two URLs above in your platform configuration',
|
|
webhookSaasHint:
|
|
'Webhook requires a publicly accessible domain. LangBot Cloud provides a ready-to-use public endpoint for your bot.',
|
|
webhookSaasLink: 'Learn more about LangBot Cloud',
|
|
adapterCategory: {
|
|
popular: 'Popular',
|
|
china: 'China',
|
|
global: 'Global',
|
|
protocol: 'Protocol',
|
|
},
|
|
logLevel: 'Log Level',
|
|
allLevels: 'All Levels',
|
|
selectLevel: 'Select Level',
|
|
levelsSelected: 'levels selected',
|
|
viewDetailedLogs: 'View Detailed Logs',
|
|
viewDetails: 'Details',
|
|
collapse: 'Collapse',
|
|
imagesAttached: 'image(s) attached',
|
|
noLogs: 'No logs yet',
|
|
sessionMonitor: {
|
|
title: 'Sessions',
|
|
sessions: 'Sessions',
|
|
noSessions: 'No sessions found',
|
|
selectSession: 'Select a session to view messages',
|
|
noMessages: 'No messages in this session',
|
|
messages: 'messages',
|
|
messageCount: '{{count}} messages',
|
|
loading: 'Loading...',
|
|
loadingSessions: 'Loading sessions...',
|
|
loadingMessages: 'Loading messages...',
|
|
user: 'User',
|
|
variables: 'Variables',
|
|
platform: 'Platform',
|
|
lastActive: 'Last active',
|
|
refresh: 'Refresh',
|
|
active: 'Active',
|
|
inactive: 'Inactive',
|
|
discarded: 'Discarded',
|
|
userMessage: 'User',
|
|
botMessage: 'Assistant',
|
|
},
|
|
},
|
|
plugins: {
|
|
title: 'Extensions',
|
|
description:
|
|
'Install and configure plugins to extend functionality, please select them in the pipeline configuration',
|
|
createPlugin: 'Create Plugin',
|
|
editPlugin: 'Edit Plugin',
|
|
installed: 'Installed',
|
|
marketplace: 'Marketplace',
|
|
arrange: 'Sort Plugins',
|
|
install: 'Install',
|
|
installPlugin: 'Install Plugin',
|
|
onlySupportGithub: 'Currently only supports installation from GitHub',
|
|
enterGithubLink: 'Enter GitHub link of the plugin',
|
|
installing: 'Installing plugin...',
|
|
installSuccess: 'Plugin installed successfully',
|
|
installFailed: 'Plugin installation failed:',
|
|
searchPlugin: 'Search plugins',
|
|
sortBy: 'Sort by',
|
|
mostStars: 'Most stars',
|
|
recentlyAdded: 'Recently added',
|
|
recentlyUpdated: 'Recently updated',
|
|
noMatchingPlugins: 'No matching plugins found',
|
|
loading: 'Loading...',
|
|
getPluginListError: 'Failed to get plugin list:',
|
|
noPluginInstalled: 'No plugins installed',
|
|
pluginConfig: 'Plugin Configuration',
|
|
pluginSort: 'Plugin Sort',
|
|
pluginSortDescription:
|
|
'Plugin order affects the processing order within the same event, please drag the plugin card to sort',
|
|
pluginSortSuccess: 'Plugin sort successful',
|
|
pluginSortError: 'Plugin sort failed: ',
|
|
pluginNoConfig: 'The plugin has no configuration items.',
|
|
systemDisabled: 'Plugin System Disabled',
|
|
systemDisabledDesc:
|
|
'Plugin system is not enabled, please modify the configuration according to the documentation',
|
|
connectionError: 'Plugin System Connection Error',
|
|
connectionErrorDesc:
|
|
'Please check the plugin system configuration or contact the administrator.',
|
|
errorDetails: 'Error Details',
|
|
loadingStatus: 'Checking plugin system status...',
|
|
failedToGetStatus: 'Failed to get plugin system status',
|
|
pluginSystemNotReady:
|
|
'Plugin system is not ready, cannot perform this operation',
|
|
debugInfo: 'Debug Info',
|
|
debugInfoTitle: 'Plugin Debug Information',
|
|
debugUrl: 'Debug URL',
|
|
debugKey: 'Debug Key',
|
|
noDebugKey: '(Not Set)',
|
|
debugKeyDisabled:
|
|
'Debug key is not set, plugin debugging does not require authentication',
|
|
failedToGetDebugInfo: 'Failed to get debug information',
|
|
copiedToClipboard: 'Copied to clipboard',
|
|
deleting: 'Deleting...',
|
|
deletePlugin: 'Delete Plugin',
|
|
cancel: 'Cancel',
|
|
saveConfig: 'Save Config',
|
|
saving: 'Saving...',
|
|
confirmDeletePlugin:
|
|
'Are you sure you want to delete the plugin ({{author}}/{{name}})?',
|
|
deleteDataCheckbox:
|
|
'Also delete plugin configuration and persistence storage',
|
|
confirmDelete: 'Confirm Delete',
|
|
deleteError: 'Delete failed: ',
|
|
close: 'Close',
|
|
deleteConfirm: 'Delete Confirmation',
|
|
deleteSuccess: 'Delete successful',
|
|
modifyFailed: 'Modify failed: ',
|
|
componentName: {
|
|
Tool: 'Tool',
|
|
EventListener: 'Event Listener',
|
|
Command: 'Command',
|
|
KnowledgeEngine: 'Knowledge Engine',
|
|
Parser: 'Parser',
|
|
Page: 'Page',
|
|
},
|
|
uploadLocal: 'Upload Local',
|
|
debugging: 'Debugging',
|
|
uploadLocalPlugin: 'Upload Local Plugin',
|
|
dragToUpload: 'Drag plugin file here to upload',
|
|
unsupportedFileType:
|
|
'Unsupported file type, only .lbpkg and .zip files are supported',
|
|
uploadingPlugin: 'Uploading plugin...',
|
|
uploadSuccess: 'Upload successful',
|
|
uploadFailed: 'Upload failed',
|
|
selectFileToUpload: 'Select plugin file to upload',
|
|
askConfirm: 'Are you sure to install plugin "{{name}}" ({{version}})?',
|
|
fromGithub: 'From GitHub',
|
|
fromLocal: 'From Local',
|
|
fromMarketplace: 'From Marketplace',
|
|
componentsList: 'Components: ',
|
|
noComponents: 'No components',
|
|
delete: 'Delete Plugin',
|
|
update: 'Update Plugin',
|
|
new: 'New',
|
|
updateConfirm: 'Update Confirmation',
|
|
confirmUpdatePlugin:
|
|
'Are you sure you want to update the plugin ({{author}}/{{name}})?',
|
|
confirmUpdate: 'Confirm Update',
|
|
updating: 'Updating...',
|
|
updateSuccess: 'Plugin updated successfully',
|
|
updateError: 'Update failed: ',
|
|
saveConfigSuccessNormal: 'Configuration saved successfully',
|
|
saveConfigError: 'Configuration save failed: ',
|
|
config: 'Configuration',
|
|
readme: 'Documentation',
|
|
viewSource: 'View Source',
|
|
loadingReadme: 'Loading documentation...',
|
|
noReadme: 'This plugin does not provide README documentation',
|
|
fileUpload: {
|
|
tooLarge: 'File size exceeds 10MB limit',
|
|
success: 'File uploaded successfully',
|
|
failed: 'File upload failed',
|
|
uploading: 'Uploading...',
|
|
chooseFile: 'Choose File',
|
|
addFile: 'Add File',
|
|
},
|
|
installFromGithub: 'From GitHub',
|
|
enterRepoUrl: 'Enter GitHub repository URL',
|
|
repoUrlPlaceholder: 'e.g., https://github.com/owner/repo',
|
|
fetchingReleases: 'Fetching releases...',
|
|
selectRelease: 'Select Release',
|
|
noReleasesFound: 'No releases found',
|
|
fetchReleasesError: 'Failed to fetch releases: ',
|
|
selectAsset: 'Select file to install',
|
|
noAssetsFound: 'No .lbpkg files available in this release',
|
|
fetchAssetsError: 'Failed to fetch assets: ',
|
|
backToReleases: 'Back to releases',
|
|
backToRepoUrl: 'Back to repository URL',
|
|
backToAssets: 'Back to assets',
|
|
releaseTag: 'Tag: {{tag}}',
|
|
releaseName: 'Name: {{name}}',
|
|
publishedAt: 'Published at: {{date}}',
|
|
prerelease: 'Pre-release',
|
|
assetSize: 'Size: {{size}}',
|
|
confirmInstall: 'Confirm Install',
|
|
installFromGithubDesc: 'Install plugin from GitHub Release',
|
|
goToMarketplace: 'Go to Marketplace',
|
|
installProgress: {
|
|
title: 'Installing {{name}}',
|
|
titleGeneric: 'Plugin Installation',
|
|
overallProgress: 'Overall Progress',
|
|
downloading: 'Downloading Plugin',
|
|
installingDeps: 'Installing Dependencies',
|
|
initializing: 'Initializing Settings',
|
|
launching: 'Launching Plugin',
|
|
completed: 'Completed',
|
|
failed: 'Failed',
|
|
downloadSize: 'Package size: {{size}}',
|
|
depsInfo: '{{count}} dependencies to install',
|
|
depsProgress:
|
|
'{{installed}}/{{total}} installed · {{remaining}} remaining',
|
|
installComplete: 'Plugin installed successfully',
|
|
dismiss: 'Dismiss',
|
|
background: 'Run in Background',
|
|
taskQueue: 'Install Tasks',
|
|
clearCompleted: 'Clear Completed',
|
|
noTasks: 'No install tasks',
|
|
},
|
|
},
|
|
market: {
|
|
searchPlaceholder: 'Search plugins...',
|
|
searchResults: 'Found {{count}} plugins',
|
|
totalPlugins: 'Total {{count}} plugins',
|
|
noPlugins: 'No plugins available',
|
|
noResults: 'No relevant plugins found',
|
|
loadingMore: 'Loading more...',
|
|
loading: 'Loading...',
|
|
allLoaded: 'All plugins displayed',
|
|
install: 'Install',
|
|
installConfirm:
|
|
'Are you sure you want to install plugin "{{name}}" ({{version}})?',
|
|
downloadComplete: 'Plugin "{{name}}" download completed',
|
|
installFailed: 'Installation failed, please try again later',
|
|
loadFailed: 'Failed to get plugin list, please try again later',
|
|
noDescription: 'No description available',
|
|
notFound: 'Plugin information not found',
|
|
sortBy: 'Sort by',
|
|
sort: {
|
|
recentlyAdded: 'Recently Added',
|
|
recentlyUpdated: 'Recently Updated',
|
|
mostDownloads: 'Most Downloads',
|
|
leastDownloads: 'Least Downloads',
|
|
},
|
|
downloads: 'downloads',
|
|
download: 'Download',
|
|
repository: 'Repository',
|
|
downloadFailed: 'Download failed',
|
|
noReadme: 'This plugin does not provide README documentation',
|
|
description: 'Description',
|
|
tagLabel: 'Tags',
|
|
submissionTitle: 'You have a plugin submission under review: {{name}}',
|
|
submissionPending: 'Your plugin submission is under review: {{name}}',
|
|
submissionApproved: 'Your plugin submission has been approved: {{name}}',
|
|
submissionRejected: 'Your plugin submission has been rejected: {{name}}',
|
|
clickToRevoke: 'Revoke',
|
|
revokeSuccess: 'Revoke success',
|
|
revokeFailed: 'Revoke failed',
|
|
submissionDetails: 'Plugin Submission Details',
|
|
markAsRead: 'Mark as Read',
|
|
markAsReadSuccess: 'Marked as read',
|
|
markAsReadFailed: 'Mark as read failed',
|
|
filterByComponent: 'Component',
|
|
allComponents: 'All Components',
|
|
requestPlugin: 'Request Plugin',
|
|
viewDetails: 'View Details',
|
|
deprecated: 'Deprecated',
|
|
deprecatedTooltip:
|
|
'Please install the corresponding Knowledge Engine plugin.',
|
|
tags: {
|
|
filterByTags: 'Filter by Tags',
|
|
selected: 'selected',
|
|
selectTags: 'Select Tags',
|
|
clearAll: 'Clear All',
|
|
noTags: 'No tags available',
|
|
},
|
|
},
|
|
mcp: {
|
|
title: 'MCP',
|
|
createServer: 'Add MCP Server',
|
|
editServer: 'Edit MCP Server',
|
|
deleteServer: 'Delete MCP Server',
|
|
confirmDeleteServer: 'Are you sure you want to delete this MCP server?',
|
|
confirmDeleteTitle: 'Delete MCP Server',
|
|
getServerListError: 'Failed to get MCP server list: ',
|
|
serverName: 'Server Name',
|
|
serverMode: 'Connection Mode',
|
|
selectMode: 'Select Mode',
|
|
stdio: 'Stdio Mode',
|
|
sse: 'SSE Mode',
|
|
http: 'HTTP Mode',
|
|
noServerInstalled: 'No MCP servers configured',
|
|
serverNameRequired: 'Server name cannot be empty',
|
|
commandRequired: 'Command cannot be empty',
|
|
urlRequired: 'URL cannot be empty',
|
|
timeoutMustBePositive: 'Timeout must be a positive number',
|
|
command: 'Command',
|
|
args: 'Arguments',
|
|
env: 'Environment Variables',
|
|
url: 'URL',
|
|
headers: 'Headers',
|
|
timeout: 'Timeout',
|
|
addArgument: 'Add Argument',
|
|
addEnvVar: 'Add Environment Variable',
|
|
addHeader: 'Add Header',
|
|
keyName: 'Key Name',
|
|
value: 'Value',
|
|
testing: 'Testing...',
|
|
connecting: 'Connecting...',
|
|
testSuccess: 'Test successful',
|
|
testFailed: 'Test failed: ',
|
|
testError: 'Test error',
|
|
refreshSuccess: 'Refresh successful',
|
|
refreshFailed: 'Refresh failed: ',
|
|
connectionSuccess: 'Connection successful',
|
|
connectionFailed: 'Connection failed, please check URL',
|
|
connectionFailedStatus: 'Connection Failed',
|
|
toolsFound: 'tools',
|
|
unknownError: 'Unknown error',
|
|
noToolsFound: 'No tools found',
|
|
parseResultFailed: 'Failed to parse test result',
|
|
noResultReturned: 'Test returned no result',
|
|
getTaskFailed: 'Failed to get task status',
|
|
noTaskId: 'No task ID obtained',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteFailed: 'Delete failed: ',
|
|
deleteError: 'Delete failed: ',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Save failed: ',
|
|
createSuccess: 'Created successfully',
|
|
createFailed: 'Creation failed: ',
|
|
createError: 'Creation failed: ',
|
|
loadFailed: 'Load failed',
|
|
modifyFailed: 'Modify failed: ',
|
|
toolCount: 'Tools: {{count}}',
|
|
statusConnected: 'Connected',
|
|
statusDisconnected: 'Disconnected',
|
|
statusError: 'Connection Error',
|
|
statusDisabled: 'Disabled',
|
|
loading: 'Loading...',
|
|
starCount: 'Stars: {{count}}',
|
|
install: 'Install',
|
|
installFromGithub: 'Install MCP Server from GitHub',
|
|
add: 'Add',
|
|
name: 'Name',
|
|
nameRequired: 'Name cannot be empty',
|
|
sseTimeout: 'SSE Timeout',
|
|
sseTimeoutDescription: 'Timeout for establishing SSE connection',
|
|
extraParametersDescription:
|
|
'Additional parameters for configuring specific MCP server behavior',
|
|
timeoutMustBeNumber: 'Timeout must be a number',
|
|
timeoutNonNegative: 'Timeout cannot be negative',
|
|
sseTimeoutMustBeNumber: 'SSE timeout must be a number',
|
|
sseTimeoutNonNegative: 'SSE timeout cannot be negative',
|
|
updateSuccess: 'Updated successfully',
|
|
updateFailed: 'Update failed: ',
|
|
selectFromSidebar: 'Select an MCP server from the sidebar',
|
|
dangerZone: 'Danger Zone',
|
|
dangerZoneDescription:
|
|
'Irreversible and destructive actions for this MCP server.',
|
|
deleteMCPAction: 'Delete this MCP server',
|
|
deleteMCPHint:
|
|
'Once deleted, this MCP server configuration cannot be recovered.',
|
|
},
|
|
pipelines: {
|
|
title: 'Pipelines',
|
|
description:
|
|
'Pipelines define the processing flow for message events, used to bind to bots',
|
|
createPipeline: 'Create Pipeline',
|
|
selectFromSidebar: 'Select a pipeline from the sidebar',
|
|
editPipeline: 'Edit Pipeline',
|
|
chat: 'Chat',
|
|
configuration: 'Configuration',
|
|
debugChat: 'Debug Chat',
|
|
getPipelineListError: 'Failed to get pipeline list: ',
|
|
daysAgo: 'days ago',
|
|
today: 'Today',
|
|
updateTime: 'Updated ',
|
|
defaultBadge: 'Default',
|
|
sortBy: 'Sort by',
|
|
newestCreated: 'Newest Created',
|
|
earliestCreated: 'Earliest Created',
|
|
recentlyEdited: 'Recently Edited',
|
|
earliestEdited: 'Earliest Edited',
|
|
basicInfo: 'Basic Information',
|
|
basicInfoDescription: 'Set the pipeline name, icon and description',
|
|
aiCapabilities: 'AI',
|
|
triggerConditions: 'Trigger',
|
|
safetyControls: 'Safety',
|
|
outputProcessing: 'Output',
|
|
nameRequired: 'Name cannot be empty',
|
|
descriptionRequired: 'Description cannot be empty',
|
|
createSuccess: 'Created successfully. Please edit pipeline parameters',
|
|
createError: 'Creation failed: ',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Save failed: ',
|
|
copySuffix: ' Copy',
|
|
deleteConfirmation:
|
|
'Are you sure you want to delete this pipeline? Bots bound to this pipeline will not work.',
|
|
defaultPipelineCannotDelete: 'Default pipeline cannot be deleted',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteError: 'Delete failed: ',
|
|
copyConfirmTitle: 'Confirm Copy',
|
|
copyConfirmation:
|
|
'Are you sure you want to copy this pipeline? This will create a new pipeline with all configurations.',
|
|
unsavedChanges: 'You have unsaved changes',
|
|
dangerZone: 'Danger Zone',
|
|
dangerZoneDescription: 'Irreversible and destructive actions',
|
|
deletePipelineAction: 'Delete this pipeline',
|
|
deletePipelineHint:
|
|
'Once deleted, bots bound to this pipeline will stop working.',
|
|
copyPipelineAction: 'Copy this pipeline',
|
|
copyPipelineHint:
|
|
'Create a new pipeline with all configurations duplicated.',
|
|
extensions: {
|
|
title: 'Extensions',
|
|
loadError: 'Failed to load plugins',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Save failed',
|
|
noPluginsAvailable: 'No plugins available',
|
|
disabled: 'Disabled',
|
|
noPluginsSelected: 'No plugins selected',
|
|
addPlugin: 'Add Plugin',
|
|
selectPlugins: 'Select Plugins',
|
|
pluginsTitle: 'Plugins',
|
|
mcpServersTitle: 'MCP Servers',
|
|
noMCPServersSelected: 'No MCP servers selected',
|
|
addMCPServer: 'Add MCP Server',
|
|
selectMCPServers: 'Select MCP Servers',
|
|
toolCount: '{{count}} tools',
|
|
noPluginsInstalled: 'No installed plugins',
|
|
noMCPServersConfigured: 'No configured MCP servers',
|
|
selectAll: 'Select All',
|
|
enableAllPlugins: 'Enable All Plugins',
|
|
enableAllMCPServers: 'Enable All MCP Servers',
|
|
allPluginsEnabled: 'All plugins enabled',
|
|
allMCPServersEnabled: 'All MCP servers enabled',
|
|
},
|
|
debugDialog: {
|
|
title: 'Pipeline Chat',
|
|
selectPipeline: 'Select Pipeline',
|
|
sessionType: 'Session Type',
|
|
privateChat: 'Private Chat',
|
|
groupChat: 'Group Chat',
|
|
send: 'Send',
|
|
reset: 'Reset Conversation',
|
|
inputPlaceholder: 'Send {{type}} message...',
|
|
noMessages: 'No messages',
|
|
userMessage: 'User',
|
|
botMessage: 'Bot',
|
|
sendFailed: 'Send failed',
|
|
resetSuccess: 'Conversation reset successfully',
|
|
resetFailed: 'Reset failed',
|
|
loadMessagesFailed: 'Failed to load messages',
|
|
loadPipelinesFailed: 'Failed to load pipelines',
|
|
atTips: 'Mention the bot',
|
|
streaming: 'Streaming',
|
|
streamOutput: 'Stream',
|
|
connected: 'WebSocket connected',
|
|
disconnected: 'WebSocket disconnected',
|
|
connectionError: 'WebSocket connection error',
|
|
connectionFailed: 'WebSocket connection failed',
|
|
notConnected: 'WebSocket not connected, please try again later',
|
|
imageUploadFailed: 'Image upload failed',
|
|
reply: 'Reply',
|
|
replyTo: 'Reply to',
|
|
showMarkdown: 'Show Markdown',
|
|
showRaw: 'Show Raw',
|
|
allMembers: 'All Members',
|
|
file: 'File',
|
|
voice: 'Voice',
|
|
uploadImage: 'Upload Image',
|
|
uploading: 'Uploading...',
|
|
},
|
|
monitoring: {
|
|
title: 'Dashboard',
|
|
description:
|
|
'View execution logs and errors for this pipeline (last 24 hours)',
|
|
detailedLogs: 'Detailed Logs',
|
|
},
|
|
},
|
|
knowledge: {
|
|
title: 'Knowledge',
|
|
createKnowledgeBase: 'Create Knowledge Base',
|
|
selectFromSidebar: 'Select a knowledge base from the sidebar',
|
|
editKnowledgeBase: 'Edit Knowledge Base',
|
|
selectKnowledgeBase: 'Select Knowledge Base',
|
|
selectKnowledgeBases: 'Select Knowledge Bases',
|
|
addKnowledgeBase: 'Add Knowledge Base',
|
|
noKnowledgeBaseSelected: 'No knowledge bases selected',
|
|
empty: 'Empty',
|
|
editDocument: 'Documents',
|
|
description: 'Configuring knowledge bases for improved LLM responses',
|
|
metadata: 'Metadata',
|
|
documents: 'Documents',
|
|
kbNameRequired: 'Knowledge base name cannot be empty',
|
|
kbDescriptionRequired: 'Knowledge base description cannot be empty',
|
|
embeddingModelUUIDRequired: 'Embedding model cannot be empty',
|
|
daysAgo: 'days ago',
|
|
today: 'Today',
|
|
kbName: 'Knowledge Base Name',
|
|
kbDescription: 'Knowledge Base Description',
|
|
topK: 'Top K',
|
|
topKRequired: 'Top K cannot be empty',
|
|
topKMax: 'Top K maximum value is 30',
|
|
topKdescription:
|
|
'Used to specify the number of relevant documents to retrieve, ranging from 1 to 30.',
|
|
defaultDescription: 'A knowledge base',
|
|
embeddingModelUUID: 'Embedding Model',
|
|
selectEmbeddingModel: 'Select Embedding Model',
|
|
embeddingModelDescription:
|
|
'Used to vectorize the text, you can configure it in the Models page',
|
|
updateTime: 'Updated ',
|
|
cannotChangeEmbeddingModel:
|
|
'Knowledge base created cannot be modified embedding model',
|
|
updateKnowledgeBaseSuccess: 'Knowledge base updated successfully',
|
|
updateKnowledgeBaseFailed: 'Knowledge base update failed: ',
|
|
documentsTab: {
|
|
name: 'Name',
|
|
status: 'Status',
|
|
noResults: 'No documents',
|
|
dragAndDrop: 'Drag and drop files here or click to upload',
|
|
uploading: 'Uploading...',
|
|
supportedFormats:
|
|
'Supports PDF, Word, TXT, Markdown, HTML, ZIP and other document formats',
|
|
uploadSuccess: 'File uploaded successfully!',
|
|
uploadError: 'File upload failed: ',
|
|
uploadingFile: 'Uploading file...',
|
|
fileSizeExceeded:
|
|
'File size exceeds 10MB limit. Please split into smaller files.',
|
|
actions: 'Actions',
|
|
delete: 'Delete File',
|
|
fileDeleteSuccess: 'File deleted successfully',
|
|
fileDeleteFailed: 'File deletion failed: ',
|
|
processing: 'Processing',
|
|
completed: 'Completed',
|
|
failed: 'Failed',
|
|
selectParser: 'Select Parser',
|
|
builtInParser: 'Provided by Knowledge engine',
|
|
noParserAvailable:
|
|
'No parser supports this file type. Please install a parser plugin that can handle this format.',
|
|
installParserHint: 'Browse parser plugins in Marketplace →',
|
|
confirmUpload: 'Upload',
|
|
cancelUpload: 'Cancel',
|
|
},
|
|
deleteKnowledgeBaseConfirmation:
|
|
'Are you sure you want to delete this knowledge base? All documents in this knowledge base will be deleted.',
|
|
retrieve: 'Retrieve Test',
|
|
retrieveTest: 'Retrieve Test',
|
|
query: 'Query',
|
|
queryPlaceholder: 'Enter query text...',
|
|
distance: 'Distance',
|
|
content: 'Content',
|
|
fileName: 'File Name',
|
|
noResults: 'No results',
|
|
retrieveError: 'Retrieve failed: ',
|
|
unknownEngine: 'Unknown Engine',
|
|
knowledgeEngine: 'Knowledge Engine',
|
|
knowledgeEngineRequired: 'Knowledge engine is required',
|
|
selectKnowledgeEngine: 'Select Knowledge Engine',
|
|
builtInEngine: 'Built-in Engine',
|
|
cannotChangeKnowledgeEngine:
|
|
'Knowledge engine cannot be changed after creation',
|
|
basicInfo: 'Basic Information',
|
|
basicInfoDescription: 'Set the knowledge base name, icon and description',
|
|
engineSettings: 'Engine Settings',
|
|
engineSettingsDescription:
|
|
'Configuration for the selected knowledge engine',
|
|
engineSettingsReadonly: 'read-only in edit mode',
|
|
retrievalSettings: 'Retrieval Settings',
|
|
retrievalSettingsDescription:
|
|
'Configure how documents are retrieved from this knowledge base',
|
|
dangerZone: 'Danger Zone',
|
|
dangerZoneDescription: 'Irreversible and destructive actions',
|
|
deleteKbAction: 'Delete this knowledge base',
|
|
deleteKbHint:
|
|
'Once deleted, all documents and data in this knowledge base will be permanently removed.',
|
|
noEnginesAvailable: 'No knowledge base engines available',
|
|
installEngineHint: 'Please install a "Knowledge Engine" plugin first',
|
|
createKnowledgeBaseFailed: 'Failed to create knowledge base: ',
|
|
loadKnowledgeBaseFailed: 'Failed to load knowledge base: ',
|
|
deleteKnowledgeBaseFailed: 'Failed to delete knowledge base: ',
|
|
getKnowledgeBaseListError: 'Failed to get knowledge base list: ',
|
|
embeddingModel: 'Embedding Model',
|
|
embeddingModelRequired: 'Embedding model is required for this engine',
|
|
addExternal: 'Add External Knowledge Base',
|
|
createExternalSuccess: 'External knowledge base created successfully',
|
|
updateExternalSuccess: 'External knowledge base updated successfully',
|
|
deleteExternalSuccess: 'External knowledge base deleted successfully',
|
|
retriever: 'Retriever',
|
|
selectRetriever: 'Select a retriever...',
|
|
retrieverConfiguration: 'Retriever Configuration',
|
|
retrieverInstallInfo: 'You can install Knowledge Retriever plugins from',
|
|
retrieverMarketLink: 'here',
|
|
migration: {
|
|
title: 'Knowledge Base Migration',
|
|
description:
|
|
'The new version has refactored the knowledge base into a plugin-based architecture, unifying built-in and external knowledge bases as "Knowledge Engine" plugins. Migration of legacy knowledge base data is required. Your old data has been automatically backed up in the database.',
|
|
detected:
|
|
'Found {{total}} knowledge base(s) to migrate ({{internal}} internal, {{external}} external).',
|
|
startWithInstall: 'Auto-install Plugin & Migrate',
|
|
startDataOnly: 'Migrate Data Only',
|
|
dataOnlyHint:
|
|
'"Migrate Data Only" is for offline/intranet environments. Please install the corresponding plugin manually after migration.',
|
|
dismiss: 'Discard Original Data',
|
|
running: 'Migrating knowledge bases, please wait...',
|
|
success: 'Knowledge base migration completed',
|
|
error: 'Knowledge base migration failed: ',
|
|
dismissError: 'Operation failed',
|
|
retry: 'Retry',
|
|
},
|
|
},
|
|
register: {
|
|
title: 'Initialize LangBot 👋',
|
|
description: 'This is your first time starting LangBot',
|
|
adminAccountNote:
|
|
'The account you use here will be set as the administrator account',
|
|
register: 'Register',
|
|
initWithSpace: 'Initialize with Space',
|
|
spaceRecommended:
|
|
'Recommended: Use official stable model APIs and cloud services',
|
|
spaceInfoTip1:
|
|
'Space provides unified account authentication services without uploading any of your sensitive information.',
|
|
spaceInfoTip2:
|
|
'Logging in with a Space account gives you access to LangBot Models and other cloud services, including free model call credits to help you get started quickly.',
|
|
spaceInfoTip3:
|
|
'Your login method does not affect other features. You can configure and use models from other sources at any time.',
|
|
registerLocal: 'Register local account',
|
|
registerWithPassword: 'Register with email and password',
|
|
initSuccess: 'Initialization successful, please login',
|
|
initFailed: 'Initialization failed: ',
|
|
},
|
|
resetPassword: {
|
|
title: 'Reset Password 🔐',
|
|
description:
|
|
'Enter your recovery key and new password to reset your account password',
|
|
recoveryKey: 'Recovery Key',
|
|
recoveryKeyDescription:
|
|
'Stored in `system.recovery_key` of config file `data/config.yaml`',
|
|
newPassword: 'New Password',
|
|
enterRecoveryKey: 'Enter recovery key',
|
|
enterNewPassword: 'Enter new password',
|
|
recoveryKeyRequired: 'Recovery key cannot be empty',
|
|
newPasswordRequired: 'New password cannot be empty',
|
|
resetPassword: 'Reset Password',
|
|
resetting: 'Resetting...',
|
|
resetSuccess: 'Password reset successfully, please login',
|
|
resetFailed:
|
|
'Password reset failed, please check your email and recovery key',
|
|
backToLogin: 'Back to Login',
|
|
},
|
|
embedding: {
|
|
description: 'Manage Embedding models for text vectorization',
|
|
createModel: 'Create Embedding Model',
|
|
editModel: 'Edit Embedding Model',
|
|
getModelListError: 'Failed to get Embedding model list: ',
|
|
embeddingModels: 'Embedding',
|
|
extraParametersDescription:
|
|
'Will be attached to the request body, such as encoding_format, dimensions, etc.',
|
|
},
|
|
llm: {
|
|
description: 'Manage LLM models for conversation generation',
|
|
llmModels: 'LLM',
|
|
extraParametersDescription:
|
|
'Will be attached to the request body, such as max_tokens, temperature, top_p, etc.',
|
|
},
|
|
version: {
|
|
newVersionAvailable: 'New Version Available',
|
|
viewUpdateGuide: 'View Update Guide',
|
|
noReleaseNotes: 'No release notes available',
|
|
},
|
|
account: {
|
|
settings: 'Account Settings',
|
|
setPassword: 'Set Password',
|
|
passwordSetSuccess: 'Password set successfully',
|
|
passwordStatus: 'Local Password',
|
|
passwordSet: 'Set',
|
|
passwordNotSet: 'Not Set',
|
|
passwordSetDescription:
|
|
'Password is set, you can login with email and password',
|
|
spaceStatus: 'Space Account',
|
|
spaceBound: 'Bound',
|
|
spaceNotBound: 'Not Bound',
|
|
spaceBoundDescription:
|
|
'Space account bound, official model APIs and cloud services available',
|
|
bindSpace: 'Bind Space Account',
|
|
bindSpaceDescription: 'Bind to use official model APIs and cloud services',
|
|
bindSpaceButton: 'Bind',
|
|
bindSpaceConfirmTitle: 'Confirm Binding',
|
|
bindSpaceConfirmDescription:
|
|
'You are about to bind your local instance to a Space account',
|
|
bindSpaceWarning:
|
|
'After binding, your login email will be changed from {{localEmail}} to the Space account email.',
|
|
bindSpaceSuccess: 'Space account bound successfully',
|
|
bindSpaceFailed: 'Failed to bind Space account',
|
|
bindSpaceInvalidState:
|
|
'Invalid bind request. Please try again from account settings.',
|
|
setPasswordHint: 'Set a password to login with email and password',
|
|
spaceEmailMismatch:
|
|
'Space login email does not match the local account email',
|
|
},
|
|
monitoring: {
|
|
title: 'Dashboard',
|
|
description: 'Monitor bot activities, LLM calls, and system performance',
|
|
overview: 'Overview',
|
|
totalMessages: 'Total Messages',
|
|
llmCallsCount: 'LLM Calls',
|
|
modelCallsCount: 'Model Calls',
|
|
successRate: 'Success Rate',
|
|
activeSessions: 'Active Sessions',
|
|
last24Hours: 'Last 24 hours',
|
|
filters: {
|
|
title: 'Filters',
|
|
bot: 'Bot',
|
|
pipeline: 'Pipeline',
|
|
allBots: 'All Bots',
|
|
selectBot: 'Select Bot',
|
|
allPipelines: 'All Pipelines',
|
|
selectPipeline: 'Select Pipeline',
|
|
loading: 'Loading...',
|
|
timeRange: 'Time Range',
|
|
customRange: 'Custom Range',
|
|
from: 'From',
|
|
to: 'To',
|
|
apply: 'Apply',
|
|
reset: 'Reset Filters',
|
|
lastHour: 'Last 1 hour',
|
|
last6Hours: 'Last 6 hours',
|
|
last24Hours: 'Last 24 hours',
|
|
last7Days: 'Last 7 days',
|
|
last30Days: 'Last 30 days',
|
|
},
|
|
tabs: {
|
|
messages: 'Message Records',
|
|
llmCalls: 'LLM Calls',
|
|
embeddingCalls: 'Embedding Calls',
|
|
modelCalls: 'Model Calls',
|
|
feedback: 'User Feedback',
|
|
sessions: 'Session Analysis',
|
|
errors: 'Error Logs',
|
|
},
|
|
messageList: {
|
|
timestamp: 'Timestamp',
|
|
bot: 'Bot',
|
|
pipeline: 'Pipeline',
|
|
message: 'Message',
|
|
sessionId: 'Session ID',
|
|
status: 'Status',
|
|
actions: 'Actions',
|
|
viewDetails: 'View Details',
|
|
copyId: 'Copy ID',
|
|
noMessages: 'No messages found',
|
|
noMessagesDescription: 'Try adjusting your filters or check back later',
|
|
loading: 'Loading messages...',
|
|
loadMore: 'Load More',
|
|
autoRefresh: 'Auto Refresh',
|
|
platform: 'Role',
|
|
user: 'User',
|
|
level: 'Level',
|
|
runner: 'Runner',
|
|
viewConversation: 'View Conversation',
|
|
},
|
|
llmCalls: {
|
|
title: 'LLM Calls',
|
|
model: 'Model',
|
|
tokens: 'Tokens',
|
|
duration: 'Duration',
|
|
cost: 'Cost',
|
|
noData: 'No LLM calls found',
|
|
inputTokens: 'Input Tokens',
|
|
outputTokens: 'Output Tokens',
|
|
totalTokens: 'Total Tokens',
|
|
avgDuration: 'Avg Duration',
|
|
calls: 'Calls',
|
|
},
|
|
embeddingCalls: {
|
|
title: 'Embedding Calls',
|
|
model: 'Model',
|
|
tokens: 'Tokens',
|
|
duration: 'Duration',
|
|
noData: 'No embedding calls found',
|
|
promptTokens: 'Prompt Tokens',
|
|
totalTokens: 'Total Tokens',
|
|
inputCount: 'Input Count',
|
|
knowledgeBase: 'Knowledge Base',
|
|
queryText: 'Query',
|
|
},
|
|
modelCalls: {
|
|
title: 'Model Calls',
|
|
llmModel: 'LLM',
|
|
embeddingModel: 'Embedding',
|
|
embeddingCall: 'Embedding',
|
|
retrieveCall: 'Retrieve',
|
|
noData: 'No model calls found',
|
|
},
|
|
sessions: {
|
|
sessionId: 'Session ID',
|
|
messageCount: 'Messages',
|
|
duration: 'Duration',
|
|
lastActivity: 'Last Activity',
|
|
noSessions: 'No sessions found',
|
|
startTime: 'Start Time',
|
|
messageStats: 'Message Statistics',
|
|
totalMessages: 'Total Messages',
|
|
successMessages: 'Successful',
|
|
errorMessages: 'Failed',
|
|
llmStats: 'LLM Statistics',
|
|
noData: 'Session not found',
|
|
},
|
|
errors: {
|
|
title: 'Errors',
|
|
errorType: 'Error Type',
|
|
errorMessage: 'Error Message',
|
|
occurredAt: 'Occurred At',
|
|
noErrors: 'No errors found',
|
|
stackTrace: 'Stack Trace',
|
|
},
|
|
feedback: {
|
|
title: 'User Feedback',
|
|
totalFeedback: 'Total Feedback',
|
|
totalLikes: 'Likes',
|
|
totalDislikes: 'Dislikes',
|
|
satisfactionRate: 'Satisfaction Rate',
|
|
like: 'Like',
|
|
dislike: 'Dislike',
|
|
noFeedback: 'No feedback yet',
|
|
noFeedbackDescription: 'User feedback will appear here',
|
|
feedbackList: 'Feedback List',
|
|
feedbackContent: 'Feedback Content',
|
|
contextInfo: 'Context Info',
|
|
userId: 'User ID',
|
|
messageId: 'Message ID',
|
|
streamId: 'Related Query ID',
|
|
inaccurateReasons: 'Inaccurate Reasons',
|
|
platform: 'Platform',
|
|
exportFeedback: 'Export Feedback',
|
|
},
|
|
queries: {
|
|
title: 'Queries',
|
|
},
|
|
messageDetails: {
|
|
noData: 'No LLM calls or errors for this query',
|
|
},
|
|
queryVariables: {
|
|
title: 'Query Variables',
|
|
},
|
|
trafficChart: {
|
|
title: 'Traffic Overview',
|
|
messages: 'Messages',
|
|
llmCalls: 'LLM Calls',
|
|
noData: 'No traffic data available',
|
|
},
|
|
viewMonitoring: 'View Monitoring',
|
|
refreshData: 'Refresh Data',
|
|
exportData: 'Export Data',
|
|
export: {
|
|
title: 'Export Data',
|
|
exporting: 'Exporting...',
|
|
messages: 'Messages',
|
|
llmCalls: 'LLM Calls',
|
|
embeddingCalls: 'Embedding Calls',
|
|
errors: 'Error Logs',
|
|
sessions: 'Sessions',
|
|
feedback: 'User Feedback',
|
|
},
|
|
},
|
|
storageAnalysis: {
|
|
title: 'Storage Analysis',
|
|
description: 'Inspect storage usage and cleanup candidates',
|
|
openDialog: 'View Analysis',
|
|
dialogTitle: 'Storage Analysis',
|
|
generatedAt: 'Generated at {{time}}',
|
|
loading: 'Loading...',
|
|
refresh: 'Refresh',
|
|
totalSize: 'Total size',
|
|
binaryStorage: 'Binary storage',
|
|
uploadCleanup: 'Expired uploads',
|
|
logCleanup: 'Expired logs',
|
|
sections: 'Storage sections',
|
|
monitoringTables: 'Monitoring tables',
|
|
runtimeTasks: 'Runtime tasks',
|
|
cleanupPolicy: 'Cleanup policy',
|
|
uploadRetention: 'Upload retention',
|
|
logRetention: 'Log retention',
|
|
databaseType: 'Database type',
|
|
days: 'days',
|
|
missing: 'Missing',
|
|
expiredUploads: 'Expired uploads',
|
|
expiredLogs: 'Expired logs',
|
|
noExpiredUploads: 'No expired uploaded files',
|
|
noExpiredLogs: 'No expired log files',
|
|
sectionNames: {
|
|
database: 'Database',
|
|
logs: 'Logs',
|
|
storage: 'Uploaded files',
|
|
vector_store: 'Vector store',
|
|
plugins: 'Plugins',
|
|
mcp: 'MCP',
|
|
temp: 'Temporary files',
|
|
},
|
|
},
|
|
limitation: {
|
|
maxBotsReached:
|
|
'Maximum number of bots ({{max}}) reached. Please remove an existing bot before creating a new one.',
|
|
maxPipelinesReached:
|
|
'Maximum number of pipelines ({{max}}) reached. Please remove an existing pipeline before creating a new one.',
|
|
maxExtensionsReached:
|
|
'Maximum number of extensions ({{max}}) reached. Please remove an existing MCP server or plugin before adding a new one.',
|
|
},
|
|
wizard: {
|
|
sidebarDescription: 'Create a bot with guided steps',
|
|
loading: 'Loading wizard...',
|
|
loadError: 'Failed to load wizard data',
|
|
skip: 'Skip',
|
|
skipConfirmMessage:
|
|
'You can re-enter the Quick Start wizard from the account menu later, or create a bot manually.',
|
|
skipConfirmOk: 'OK',
|
|
prev: 'Previous',
|
|
next: 'Next',
|
|
finish: 'Create & Deploy',
|
|
confirmCreateBot: 'Confirm, Create Bot',
|
|
createSuccess: 'Pipeline created and linked to bot successfully!',
|
|
botCreateSuccess: 'Bot created successfully!',
|
|
botSaveSuccess: 'Bot configuration saved and enabled!',
|
|
createError: 'Failed to create resources',
|
|
spaceAuthError: 'Failed to initiate Space authorization',
|
|
skipSaveError: 'Failed to save skip status. Please try again.',
|
|
completeSaveError: 'Failed to save completion status. Please try again.',
|
|
step: {
|
|
platform: 'Platform',
|
|
botConfig: 'Bot Setup',
|
|
aiEngine: 'AI Engine',
|
|
done: 'Done',
|
|
},
|
|
platform: {
|
|
title: 'Select a Platform',
|
|
description: 'Choose the messaging platform your bot will connect to.',
|
|
},
|
|
botConfig: {
|
|
title: 'Configure Your Bot',
|
|
description: 'Set up your bot and verify it works before continuing.',
|
|
saveBot: 'Save & Enable Bot',
|
|
resaveBot: 'Re-save Configuration',
|
|
botSaved:
|
|
'Bot configuration saved and enabled. Check the logs to verify the connection.',
|
|
logsTitle: 'Bot Logs',
|
|
logsDescription:
|
|
'Monitor bot activity to verify the platform connection is working.',
|
|
},
|
|
aiEngine: {
|
|
title: 'Select an AI Engine',
|
|
description:
|
|
"Choose the AI engine that will power your bot's intelligence.",
|
|
},
|
|
spaceBanner: {
|
|
message:
|
|
'Connect to LangBot Space for free trial model credits and zero-config instant setup!',
|
|
action: 'Authorize with Space',
|
|
},
|
|
config: {
|
|
botInfo: 'Bot Information',
|
|
botNamePlaceholder: 'Enter bot name',
|
|
botDescPlaceholder: 'Enter bot description (optional)',
|
|
platformConfig: '{{platform}} Configuration',
|
|
aiConfig: '{{engine}} Configuration',
|
|
},
|
|
done: {
|
|
title: 'All Set!',
|
|
description:
|
|
'Your bot has been created and connected to the AI pipeline. You can now manage it from the workbench.',
|
|
backToWorkbench: 'Back to Workbench',
|
|
},
|
|
},
|
|
workflows: {
|
|
title: 'Workflows',
|
|
description:
|
|
'Create and manage visual workflows for complex message processing logic',
|
|
createWorkflow: 'Create Workflow',
|
|
selectFromSidebar: 'Select a workflow from the sidebar',
|
|
editWorkflow: 'Edit Workflow',
|
|
newWorkflow: 'New Workflow',
|
|
getWorkflowListError: 'Failed to get workflow list: ',
|
|
workflowName: 'Workflow Name',
|
|
workflowDescription: 'Workflow Description',
|
|
workflowNameRequired: 'Workflow name is required',
|
|
defaultDescription: 'A workflow',
|
|
getWorkflowError: 'Failed to get workflow: ',
|
|
loadError: 'Failed to load workflow',
|
|
saveSuccess: 'Saved successfully',
|
|
saveError: 'Failed to save: ',
|
|
createSuccess: 'Workflow created successfully',
|
|
createError: 'Failed to create: ',
|
|
deleteSuccess: 'Deleted successfully',
|
|
deleteError: 'Failed to delete: ',
|
|
deleteConfirmation: 'Are you sure you want to delete this workflow?',
|
|
copySuccess: 'Copied successfully',
|
|
copyError: 'Failed to copy: ',
|
|
export: 'Export',
|
|
import: 'Import',
|
|
exportSuccess: 'Workflow exported',
|
|
importSuccess: 'Workflow imported',
|
|
importError: 'Import failed: Invalid file format',
|
|
publish: 'Publish',
|
|
publishSuccess: 'Published successfully',
|
|
publishError: 'Failed to publish',
|
|
configuration: 'Configuration',
|
|
executions: 'Executions',
|
|
editor: 'Editor',
|
|
debugChat: 'Debug Chat',
|
|
basicInfo: 'Basic Info',
|
|
basicInfoDesc: 'Set workflow name, icon and description',
|
|
basicInfoDescription: 'Set workflow name and description',
|
|
dangerZone: 'Danger Zone',
|
|
dangerZoneDesc: 'Irreversible operations',
|
|
dangerZoneDescription: 'Irreversible operations',
|
|
deleteWorkflowAction: 'Delete this workflow',
|
|
deleteWorkflowHint:
|
|
'Once deleted, all associated configurations will be permanently removed and cannot be recovered.',
|
|
deleteWorkflow: 'Delete Workflow',
|
|
deleteConfirm: 'Confirm Delete',
|
|
deleteConfirmDesc:
|
|
'Are you sure you want to delete workflow "{{name}}"? This action cannot be undone.',
|
|
// Form component
|
|
name: 'Name',
|
|
namePlaceholder: 'Enter workflow name',
|
|
descriptionPlaceholder: 'Enter workflow description (optional)',
|
|
enabled: 'Enabled',
|
|
enabledDesc: 'When enabled, the workflow can be triggered for execution',
|
|
loading: 'Loading...',
|
|
info: 'Workflow Info',
|
|
uuid: 'UUID',
|
|
version: 'Version',
|
|
createdAt: 'Created At',
|
|
updatedAt: 'Updated At',
|
|
// Executions tab
|
|
totalExecutions: '{{count}} execution(s) total',
|
|
statistics: 'Monitoring Logs',
|
|
monitoringDescription: 'View run history and errors for this workflow (last 24 hours)',
|
|
monitoringTotalMessages: 'Total Messages',
|
|
monitoringErrorLogs: 'Error Logs',
|
|
successfulCount: '{{count}} successful',
|
|
successRate: 'Success Rate',
|
|
averageDuration: 'Avg. Duration',
|
|
perExecution: 'per execution',
|
|
failedExecutions: 'Failed',
|
|
lastExecution: 'Last run',
|
|
filterByStatus: 'Filter by status',
|
|
allStatuses: 'All statuses',
|
|
manualTrigger: 'Manual Trigger',
|
|
executionId: 'Execution ID',
|
|
status: 'Status',
|
|
triggerType: 'Trigger Type',
|
|
startedAt: 'Started At',
|
|
duration: 'Duration',
|
|
noExecutions: 'No executions yet',
|
|
executionDetails: 'Execution Details',
|
|
error: 'Error',
|
|
nodeExecutions: 'Node Executions',
|
|
result: 'Result',
|
|
'status.pending': 'Pending',
|
|
'status.running': 'Running',
|
|
'status.completed': 'Completed',
|
|
'status.failed': 'Failed',
|
|
'status.cancelled': 'Cancelled',
|
|
// Editor component translations
|
|
nodePalette: 'Node Palette',
|
|
properties: 'Properties',
|
|
zoomIn: 'Zoom In',
|
|
zoomOut: 'Zoom Out',
|
|
fitView: 'Fit View',
|
|
unsavedChanges: 'Unsaved changes',
|
|
paste: 'Paste',
|
|
deleted: 'Deleted',
|
|
nothingToCopy: 'No nodes selected to copy',
|
|
nothingToPaste: 'Clipboard is empty',
|
|
copied: 'Copied {{count}} node(s)',
|
|
pasted: 'Pasted {{count}} node(s)',
|
|
nodesSelected: '{{count}} node(s) selected',
|
|
edgesSelected: '{{count}} edge(s) selected',
|
|
// Node palette
|
|
searchNodes: 'Search nodes...',
|
|
loadingNodeTypes: 'Loading node types...',
|
|
noNodesFound: 'No matching nodes found',
|
|
clearSearch: 'Clear search',
|
|
dragToAdd: 'Drag nodes to add to canvas',
|
|
// Property panel
|
|
selectNodeOrEdge: 'Select a node or edge',
|
|
selectNodeOrEdgeHint:
|
|
'Click on a node or edge in the canvas to view and edit its properties',
|
|
edgeProperties: 'Edge Properties',
|
|
nodeProperties: 'Node Properties',
|
|
condition: 'Condition',
|
|
hasCondition: 'Set',
|
|
conditionPlaceholder:
|
|
'Enter condition expression, e.g. output.success == true',
|
|
conditionHelp:
|
|
'When condition is empty, this edge will always be executed. Use {{variable}} to reference context variables.',
|
|
deleteEdge: 'Delete Edge',
|
|
deleteEdgeConfirm: 'Confirm Delete Edge',
|
|
deleteEdgeConfirmDesc: 'This edge will be permanently removed.',
|
|
nodeLabel: 'Node Label',
|
|
nodeLabelPlaceholder: 'Enter node display name',
|
|
nodeId: 'Node ID',
|
|
inputOutputVariables: 'Input/Output Variables',
|
|
inputs: 'Inputs',
|
|
outputs: 'Outputs',
|
|
availableVariables: 'Available Variables',
|
|
globalVariables: 'Global Variables',
|
|
messageContent: 'Message Content',
|
|
messageSender: 'Sender',
|
|
platform: 'Platform',
|
|
sessionId: 'Session ID',
|
|
timestamp: 'Timestamp',
|
|
nodeConfig: 'Node Configuration',
|
|
noConfigOptions: 'No configuration options for this node type',
|
|
deleteNode: 'Delete Node',
|
|
deleteNodeConfirm: 'Confirm Delete Node',
|
|
deleteNodeConfirmDesc:
|
|
'This node and all its connections will be permanently removed.',
|
|
// Node inputs/outputs i18n (for port labels)
|
|
nodeInputs: {
|
|
// Common inputs
|
|
input: 'Input',
|
|
message: 'Message',
|
|
text: 'Text',
|
|
query: 'Query',
|
|
data: 'Data',
|
|
condition: 'Condition',
|
|
value: 'Value',
|
|
// Trigger inputs
|
|
content: 'Content',
|
|
context: 'Context',
|
|
body: 'Request Body',
|
|
variables: 'Variables',
|
|
items: 'Items',
|
|
arguments: 'Arguments',
|
|
// AI/Process inputs
|
|
question: 'Question',
|
|
parameters: 'Parameters',
|
|
key: 'Key',
|
|
payload: 'Payload',
|
|
input_value: 'Input Value',
|
|
conversation_id: 'Conversation ID',
|
|
// Control inputs
|
|
case_1: 'Case 1',
|
|
case_2: 'Case 2',
|
|
branch_1: 'Branch 1',
|
|
branch_2: 'Branch 2',
|
|
// Action inputs
|
|
notification_id: 'Notification ID',
|
|
// Integration inputs
|
|
key_template: 'Key Template',
|
|
hash_field: 'Hash Field',
|
|
server_name: 'Server Name',
|
|
tool_name: 'Tool Name',
|
|
arguments_template: 'Arguments Template',
|
|
scope: 'Scope',
|
|
},
|
|
// Data type labels
|
|
'type.string': 'String',
|
|
'type.object': 'Object',
|
|
'type.array': 'Array',
|
|
'type.boolean': 'Boolean',
|
|
'type.number': 'Number',
|
|
'type.any': 'Any',
|
|
'type.datetime': 'DateTime',
|
|
nodes: {
|
|
trigger: 'Triggers',
|
|
triggerDescription: 'Starting nodes for workflows',
|
|
messageTrigger: 'Message Trigger',
|
|
messageTriggerDescription: 'Triggered when a message is received',
|
|
scheduleTrigger: 'Schedule Trigger',
|
|
scheduleTriggerDescription: 'Triggered on a schedule',
|
|
cronTrigger: 'Cron Trigger',
|
|
cronTriggerDescription: 'Trigger workflow on a scheduled time',
|
|
webhookTrigger: 'Webhook Trigger',
|
|
webhookTriggerDescription: 'Triggered via HTTP request',
|
|
eventTrigger: 'Event Trigger',
|
|
eventTriggerDescription: 'Triggered on system events',
|
|
process: 'AI/Process',
|
|
processDescription: 'Data processing nodes',
|
|
aiProcess: 'AI Processing',
|
|
aiProcessDescription: 'Process messages using AI models',
|
|
llmCall: 'LLM Call',
|
|
llmCallDescription:
|
|
'Invoke large language model for conversation or generation',
|
|
codeProcess: 'Code Processing',
|
|
codeProcessDescription: 'Execute custom code',
|
|
codeExecutor: 'Code Executor',
|
|
codeExecutorDescription: 'Execute Python/JavaScript code',
|
|
templateProcess: 'Template Processing',
|
|
templateProcessDescription: 'Format output using templates',
|
|
httpRequest: 'HTTP Request',
|
|
httpRequestDescription: 'Send HTTP requests',
|
|
dataTransform: 'Data Transform',
|
|
dataTransformDescription: 'Transform data format',
|
|
questionClassifier: 'Question Classifier',
|
|
questionClassifierDescription:
|
|
'Classify user questions into predefined categories using LLM',
|
|
parameterExtractor: 'Parameter Extractor',
|
|
parameterExtractorDescription:
|
|
'Extract structured parameters from text using LLM',
|
|
knowledgeRetrieval: 'Knowledge Retrieval',
|
|
knowledgeRetrievalDescription:
|
|
'Retrieve relevant content from knowledge base',
|
|
textTemplate: 'Text Template',
|
|
textTemplateDescription:
|
|
'Generate text using templates with variable interpolation',
|
|
jsonTransform: 'JSON Transform',
|
|
jsonTransformDescription: 'Transform JSON data using expressions',
|
|
dataAggregator: 'Data Aggregator',
|
|
dataAggregatorDescription: 'Aggregate data from multiple sources',
|
|
textSplitter: 'Text Splitter',
|
|
textSplitterDescription: 'Split text into smaller chunks',
|
|
variableAssignment: 'Variable Assignment',
|
|
variableAssignmentDescription: 'Assign values to workflow variables',
|
|
control: 'Control Flow',
|
|
controlDescription: 'Flow control nodes',
|
|
condition: 'Condition Branch',
|
|
conditionDescription: 'Branch based on conditions',
|
|
switch: 'Switch',
|
|
switchDescription: 'Multi-way branching',
|
|
loop: 'Loop',
|
|
loopDescription: 'Repeat execution',
|
|
iterator: 'Iterator',
|
|
iteratorDescription: 'Iterate over array elements',
|
|
parallel: 'Parallel',
|
|
parallelDescription: 'Execute multiple branches in parallel',
|
|
wait: 'Wait',
|
|
waitDescription: 'Wait for specified time',
|
|
delay: 'Delay',
|
|
delayDescription: 'Wait for a specified time',
|
|
merge: 'Merge',
|
|
mergeDescription: 'Merge multiple branches',
|
|
variableAggregator: 'Variable Aggregator',
|
|
variableAggregatorDescription:
|
|
'Aggregate variable outputs from multiple branches',
|
|
action: 'Actions',
|
|
actionDescription: 'Action execution nodes',
|
|
sendMessage: 'Send Message',
|
|
sendMessageDescription: 'Send message to platform',
|
|
replyMessage: 'Reply Message',
|
|
replyMessageDescription:
|
|
'Reply to the message that triggered the workflow',
|
|
storeData: 'Store Data',
|
|
storeDataDescription: 'Store data to database',
|
|
callPipeline: 'Call Pipeline',
|
|
callPipelineDescription: 'Call an existing Pipeline',
|
|
setVariable: 'Set Variable',
|
|
setVariableDescription: 'Set context variable',
|
|
openingStatement: 'Opening Statement',
|
|
openingStatementDescription:
|
|
'Provide conversation opener and suggested questions',
|
|
end: 'End',
|
|
endDescription: 'Mark the end of workflow execution',
|
|
log: 'Log',
|
|
logDescription: 'Record log information',
|
|
integration: 'Integration',
|
|
integrationDescription: 'Third-party platform integration nodes',
|
|
difyWorkflow: 'Dify Workflow',
|
|
difyWorkflowDescription: 'Call Dify platform workflow',
|
|
difyKnowledgeQuery: 'Dify Knowledge Query',
|
|
difyKnowledgeQueryDescription: 'Query Dify knowledge base',
|
|
n8nWorkflow: 'N8n Workflow',
|
|
n8nWorkflowDescription: 'Call n8n workflow',
|
|
langflowFlow: 'Langflow Flow',
|
|
langflowFlowDescription: 'Call Langflow flow',
|
|
cozeBot: 'Coze Bot',
|
|
cozeBotDescription: 'Call Coze Bot',
|
|
// Data & Tools integration nodes
|
|
databaseQuery: 'Database Query',
|
|
databaseQueryDescription: 'Execute database queries',
|
|
redisOperation: 'Redis Operation',
|
|
redisOperationDescription: 'Perform Redis cache operations',
|
|
mcpTool: 'MCP Tool',
|
|
mcpToolDescription: 'Invoke an MCP tool',
|
|
memoryStore: 'Memory Store',
|
|
memoryStoreDescription: 'Store and retrieve data from workflow memory',
|
|
},
|
|
executionHistory: {
|
|
title: 'Execution History',
|
|
noExecutions: 'No executions yet',
|
|
status: 'Status',
|
|
startTime: 'Start Time',
|
|
duration: 'Duration',
|
|
running: 'Running',
|
|
completed: 'Completed',
|
|
failed: 'Failed',
|
|
cancelled: 'Cancelled',
|
|
viewDetails: 'View Details',
|
|
cancel: 'Cancel Execution',
|
|
retry: 'Retry',
|
|
nodeResults: 'Node Execution Results',
|
|
},
|
|
versions: {
|
|
title: 'Version History',
|
|
current: 'Current Version',
|
|
rollback: 'Rollback to this version',
|
|
rollbackConfirm:
|
|
'Are you sure you want to rollback to this version? Current changes will be lost.',
|
|
rollbackSuccess: 'Rollback successful',
|
|
rollbackError: 'Failed to rollback: ',
|
|
},
|
|
// Debug and monitoring
|
|
debug: {
|
|
title: 'Debug',
|
|
mode: 'Debug Mode',
|
|
panel: 'Debug Panel',
|
|
start: 'Start Debug',
|
|
pause: 'Pause',
|
|
resume: 'Resume',
|
|
step: 'Step',
|
|
stop: 'Stop',
|
|
context: 'Debug Context',
|
|
messageContent: 'Simulated Message',
|
|
messageContentPlaceholder: 'Enter the message content to simulate',
|
|
senderId: 'Sender ID',
|
|
senderIdPlaceholder: 'Sender unique identifier',
|
|
senderName: 'Sender Name',
|
|
senderNamePlaceholder: 'Sender display name',
|
|
platform: 'Platform',
|
|
platformPlaceholder: 'e.g. qq, wechat, telegram',
|
|
conversationId: 'Conversation ID',
|
|
conversationIdPlaceholder: 'Conversation unique identifier',
|
|
isGroup: 'Group Chat',
|
|
customVariables: 'Custom Variables',
|
|
customVariablesDesc: 'Add custom variables for debugging',
|
|
variableKey: 'Variable Name',
|
|
variableValue: 'Variable Value',
|
|
addVariable: 'Add Variable',
|
|
variables: 'Watched Variables',
|
|
watchedVariables: 'Watched Variables',
|
|
noWatchedVariables: 'No watched variables',
|
|
addWatchVariable: 'Add Watch',
|
|
nodeStates: 'Node States',
|
|
nodeOutputs: 'Node Outputs',
|
|
noNodeOutputs: 'No node outputs yet',
|
|
toggleBreakpoint: 'Toggle Breakpoint',
|
|
clearBreakpoints: 'Clear All Breakpoints',
|
|
breakpointSet: 'Breakpoint set',
|
|
breakpointRemoved: 'Breakpoint removed',
|
|
logs: 'Debug Logs',
|
|
noLogs: 'No logs yet',
|
|
clearLogs: 'Clear Logs',
|
|
autoScroll: 'Auto Scroll',
|
|
logEntries: 'log entries',
|
|
resetContext: 'Reset Context',
|
|
// Debug execution messages
|
|
starting: 'Starting debug execution...',
|
|
started: 'Debug execution started (ID: {{id}})',
|
|
startError: 'Failed to start debug',
|
|
completed: 'Debug execution completed',
|
|
unknownError: 'Unknown error',
|
|
paused: 'Execution paused',
|
|
pauseError: 'Failed to pause',
|
|
resumed: 'Execution resumed',
|
|
resumeError: 'Failed to resume',
|
|
steppedTo: 'Stepped to node: {{node}}',
|
|
stepError: 'Failed to step',
|
|
stopped: 'Debug stopped',
|
|
stopError: 'Failed to stop',
|
|
},
|
|
debugMode: 'Debug Mode',
|
|
debugPanel: 'Debug Panel',
|
|
startDebug: 'Start Debug',
|
|
pauseDebug: 'Pause',
|
|
resumeDebug: 'Resume',
|
|
stepDebug: 'Step',
|
|
stopDebug: 'Stop',
|
|
debugContext: 'Debug Context',
|
|
simulatedMessage: 'Simulated Message',
|
|
simulatedMessagePlaceholder: 'Enter the message content to simulate',
|
|
senderId: 'Sender ID',
|
|
senderIdPlaceholder: 'Sender unique identifier',
|
|
senderName: 'Sender Name',
|
|
senderNamePlaceholder: 'Sender display name',
|
|
conversationId: 'Conversation ID',
|
|
conversationIdPlaceholder: 'Conversation unique identifier',
|
|
isGroup: 'Group Chat',
|
|
customVariables: 'Custom Variables',
|
|
addVariable: 'Add Variable',
|
|
variableName: 'Variable Name',
|
|
variableValue: 'Variable Value',
|
|
watchedVariables: 'Watched Variables',
|
|
addWatchVariable: 'Add Watch',
|
|
nodeStates: 'Node States',
|
|
breakpoints: 'Breakpoints',
|
|
toggleBreakpoint: 'Toggle Breakpoint',
|
|
breakpointSet: 'Breakpoint set',
|
|
breakpointRemoved: 'Breakpoint removed',
|
|
debugLogs: 'Debug Logs',
|
|
noLogs: 'No logs yet',
|
|
clearLogs: 'Clear Logs',
|
|
autoScroll: 'Auto Scroll',
|
|
debugState: {
|
|
idle: 'Idle',
|
|
running: 'Running',
|
|
paused: 'Paused',
|
|
completed: 'Completed',
|
|
error: 'Error',
|
|
},
|
|
nodeStatus: {
|
|
pending: 'Pending',
|
|
running: 'Running',
|
|
completed: 'Completed',
|
|
failed: 'Failed',
|
|
skipped: 'Skipped',
|
|
},
|
|
debugDialog: {
|
|
title: 'Workflow Chat',
|
|
selectWorkflow: 'Select Workflow',
|
|
sessionType: 'Session Type',
|
|
privateChat: 'Private Chat',
|
|
groupChat: 'Group Chat',
|
|
send: 'Send',
|
|
reset: 'Reset Conversation',
|
|
inputPlaceholder: 'Send {{type}} message...',
|
|
noMessages: 'No messages',
|
|
userMessage: 'User',
|
|
botMessage: 'Bot',
|
|
sendFailed: 'Send failed',
|
|
resetSuccess: 'Conversation reset successfully',
|
|
resetFailed: 'Reset failed',
|
|
loadMessagesFailed: 'Failed to load messages',
|
|
loadWorkflowsFailed: 'Failed to load workflows',
|
|
atTips: 'Mention bot',
|
|
streaming: 'Streaming',
|
|
streamOutput: 'Stream',
|
|
connected: 'WebSocket connected',
|
|
disconnected: 'WebSocket disconnected',
|
|
connectionError: 'WebSocket connection error',
|
|
connectionFailed: 'WebSocket connection failed',
|
|
notConnected: 'WebSocket not connected, please try again later',
|
|
imageUploadFailed: 'Image upload failed',
|
|
reply: 'Reply',
|
|
replyTo: 'Reply to',
|
|
showMarkdown: 'Render',
|
|
showRaw: 'Raw',
|
|
allMembers: 'All Members',
|
|
file: 'File',
|
|
voice: 'Voice',
|
|
uploadImage: 'Upload Image',
|
|
uploading: 'Uploading...',
|
|
},
|
|
// Execution history and monitoring
|
|
filterByDate: 'Filter by Date',
|
|
allTime: 'All Time',
|
|
today: 'Today',
|
|
lastWeek: 'Last Week',
|
|
lastMonth: 'Last Month',
|
|
showingExecutions: 'Showing {{shown}} / {{total}} executions',
|
|
rerun: 'Rerun',
|
|
rerunExecution: 'Rerun Execution',
|
|
logs: 'Logs',
|
|
details: 'Details',
|
|
completedAt: 'Completed At',
|
|
noNodeExecutions: 'No node executions yet',
|
|
// Node config field labels (used by DynamicFormComponent)
|
|
nodeConfigFields: {
|
|
// trigger.py - MessageTriggerNode
|
|
conditions: 'Trigger Conditions',
|
|
keyword_filter: 'Keyword Filter',
|
|
regex_filter: 'Regex Filter',
|
|
min_length: 'Min Length',
|
|
max_length: 'Max Length',
|
|
require_mention: 'Require Mention',
|
|
respond_rules: 'Group Respond Rules',
|
|
access_control: 'Access Control',
|
|
// trigger.py - CronTriggerNode
|
|
cron: 'Cron Expression',
|
|
timezone: 'Timezone',
|
|
// trigger.py - WebhookTriggerNode
|
|
path: 'Webhook Path',
|
|
allowed_methods: 'Allowed HTTP Methods',
|
|
content_type: 'Content-Type',
|
|
auth_type: 'Authentication Type',
|
|
auth_key: 'Auth Key',
|
|
validation: 'Request Validation',
|
|
timeout: 'Timeout',
|
|
// trigger.py - EventTriggerNode
|
|
event_types: 'Event Types',
|
|
filter: 'Event Filter',
|
|
debounce_ms: 'Debounce Time',
|
|
// process.py - LLMCallNode
|
|
model: 'Model',
|
|
prompt_template: 'Prompt Template',
|
|
system_prompt: 'System Prompt',
|
|
temperature: 'Temperature',
|
|
top_p: 'Top P',
|
|
frequency_penalty: 'Frequency Penalty',
|
|
presence_penalty: 'Presence Penalty',
|
|
max_tokens: 'Max Tokens',
|
|
stop_sequences: 'Stop Sequences',
|
|
seed: 'Random Seed',
|
|
stream: 'Stream Output',
|
|
use_conversation_history: 'Use Conversation History',
|
|
// process.py - CodeExecutorNode
|
|
language: 'Programming Language',
|
|
code: 'Code',
|
|
// process.py - HTTPRequestNode
|
|
url: 'Request URL',
|
|
method: 'Request Method',
|
|
auth_config: 'Auth Configuration',
|
|
// process.py - DataTransformNode
|
|
transform_type: 'Transform Type',
|
|
template: 'Template',
|
|
expression: 'Expression',
|
|
output_type: 'Output Type',
|
|
// process.py - QuestionClassifierNode
|
|
categories: 'Categories',
|
|
instruction: 'Instruction',
|
|
// process.py - ParameterExtractorNode
|
|
parameters: 'Parameter Definitions',
|
|
// process.py - KnowledgeRetrievalNode
|
|
knowledge_bases: 'Knowledge Bases',
|
|
top_k: 'Top K Results',
|
|
score_threshold: 'Score Threshold',
|
|
search_method: 'Search Method',
|
|
enable_citations: 'Enable Citations',
|
|
// control.py - ConditionNode
|
|
condition_type: 'Condition Type',
|
|
condition_expression: 'Condition Expression',
|
|
left_value: 'Left Value',
|
|
operator: 'Comparison Operator',
|
|
right_value: 'Right Value',
|
|
// control.py - SwitchNode
|
|
cases: 'Branch Cases',
|
|
// control.py - LoopNode
|
|
max_iterations: 'Max Iterations',
|
|
break_condition: 'Break Condition',
|
|
// control.py - IteratorNode
|
|
parallel: 'Parallel Processing',
|
|
max_concurrency: 'Max Concurrency',
|
|
// control.py - ParallelNode
|
|
branches: 'Branch Configuration',
|
|
wait_all: 'Wait All',
|
|
fail_fast: 'Fail Fast',
|
|
// control.py - WaitNode
|
|
duration: 'Duration',
|
|
duration_type: 'Time Unit',
|
|
// control.py - MergeNode
|
|
merge_strategy: 'Merge Strategy',
|
|
// control.py - VariableAggregatorNode
|
|
variable_mappings: 'Variable Mappings',
|
|
aggregation_mode: 'Aggregation Mode',
|
|
// action.py - SendMessageNode
|
|
target_type: 'Target Type',
|
|
target_id: 'Target ID',
|
|
platform: 'Platform',
|
|
message_type: 'Message Type',
|
|
// action.py - ReplyMessageNode
|
|
reply_mode: 'Reply Mode',
|
|
message_template: 'Message Template',
|
|
long_text_processing: 'Long Text Processing',
|
|
force_delay: 'Force Delay',
|
|
// action.py - CallPipelineNode
|
|
pipeline_uuid: 'Pipeline',
|
|
inherit_context: 'Inherit Context',
|
|
// action.py - StoreDataNode
|
|
storage_type: 'Storage Type',
|
|
ttl: 'TTL',
|
|
key_prefix: 'Key Prefix',
|
|
// action.py - SetVariableNode
|
|
variable_name: 'Variable Name',
|
|
variable_scope: 'Variable Scope',
|
|
set_variable_operation: 'Operation Type',
|
|
// action.py - OpeningStatementNode
|
|
statement: 'Opening Statement',
|
|
suggested_questions: 'Suggested Questions',
|
|
show_suggestions: 'Show Suggestions',
|
|
// action.py - EndNode
|
|
output_format: 'Output Format',
|
|
success_message: 'Success Message',
|
|
// integration.py - DatabaseQueryNode
|
|
connection_type: 'Database Type',
|
|
connection_string: 'Connection String',
|
|
query: 'SQL Query',
|
|
query_type: 'Query Type',
|
|
// integration.py - RedisOperationNode
|
|
connection_url: 'Connection URL',
|
|
operation: 'Operation Type',
|
|
key_template: 'Key Template',
|
|
hash_field: 'Hash Field',
|
|
// integration.py - MCPToolNode
|
|
server_name: 'Server Name',
|
|
tool_name: 'Tool Name',
|
|
arguments_template: 'Arguments Template',
|
|
// integration.py - MemoryStoreNode
|
|
scope: 'Scope',
|
|
// integration.py - DifyWorkflowNode
|
|
'base-url': 'Base URL',
|
|
'api-key': 'API Key',
|
|
'app-type': 'App Type',
|
|
// integration.py - DifyKnowledgeQueryNode
|
|
dataset_id: 'Dataset ID',
|
|
// integration.py - N8nWorkflowNode
|
|
'webhook-url': 'Webhook URL',
|
|
// integration.py - LangflowFlowNode
|
|
'flow-id': 'Flow ID',
|
|
// integration.py - CozeBotNode
|
|
'bot-id': 'Bot ID',
|
|
'api-base': 'API Base URL',
|
|
},
|
|
// Node outputs i18n
|
|
nodeOutputs: {
|
|
// ===== Common Outputs =====
|
|
output: 'Output',
|
|
result: 'Result',
|
|
data: 'Data',
|
|
error: 'Error',
|
|
success: 'Success',
|
|
|
|
// ===== Trigger Nodes =====
|
|
// trigger.py - MessageTriggerNode
|
|
message: 'Message Content',
|
|
sender: 'Sender',
|
|
sender_id: 'Sender ID',
|
|
sender_name: 'Sender Name',
|
|
platform: 'Platform',
|
|
conversation_id: 'Conversation ID',
|
|
is_group: 'Is Group Chat',
|
|
context: 'Full Message Context',
|
|
event: 'Event',
|
|
// trigger.py - CronTriggerNode
|
|
timestamp: 'Trigger Time',
|
|
trigger_time: 'Trigger Time',
|
|
schedule: 'Trigger Schedule',
|
|
cron_timestamp: 'Cron Timestamp',
|
|
cron_schedule: 'Cron Schedule',
|
|
cron_context: 'Cron Context',
|
|
// trigger.py - WebhookTriggerNode
|
|
body: 'Request Body',
|
|
headers: 'Request Headers',
|
|
query: 'Query Parameters',
|
|
query_params: 'Query Parameters',
|
|
method: 'Request Method',
|
|
webhook_body: 'Webhook Body',
|
|
webhook_headers: 'Webhook Headers',
|
|
webhook_query: 'Webhook Query',
|
|
webhook_method: 'Webhook Method',
|
|
// trigger.py - EventTriggerNode
|
|
event_type: 'Event Type',
|
|
event_data: 'Event Data',
|
|
event_timestamp: 'Event Timestamp',
|
|
// process.py - LLMCallNode
|
|
response: 'Model Response',
|
|
usage: 'Token Usage Statistics',
|
|
prompt: 'Prompt/Question',
|
|
context_info: 'Context Information',
|
|
// process.py - CodeExecutorNode
|
|
console: 'Console Output',
|
|
code_input: 'Code Input',
|
|
code_output: 'Code Output',
|
|
logs: 'Logs',
|
|
// process.py - HTTPRequestNode
|
|
status_code: 'Status Code',
|
|
http_body: 'HTTP Body',
|
|
http_headers: 'HTTP Headers',
|
|
http_response: 'HTTP Response',
|
|
response_headers: 'Response Headers',
|
|
// process.py - DataTransformNode
|
|
transform_input: 'Transform Input',
|
|
transform_result: 'Transform Result',
|
|
// process.py - QuestionClassifierNode
|
|
category: 'Category Result',
|
|
confidence: 'Confidence',
|
|
all_scores: 'All Category Scores',
|
|
scores: 'Scores',
|
|
question: 'User Question',
|
|
// process.py - ParameterExtractorNode
|
|
parameters: 'Extracted Parameters',
|
|
extraction_success: 'Extraction Success',
|
|
extract_text: 'Input Text',
|
|
missing: 'Missing Parameters',
|
|
parsed: 'Parsed Result',
|
|
// process.py - KnowledgeRetrievalNode
|
|
documents: 'Retrieved Documents',
|
|
citations: 'Citation Information',
|
|
knowledge_context: 'Merged Context',
|
|
knowledge_query: 'Retrieval Query',
|
|
chunks: 'Text Chunks',
|
|
text: 'Text',
|
|
// control.py - ConditionNode
|
|
true: 'True Branch Output',
|
|
false: 'False Branch Output',
|
|
condition_input: 'Condition Input',
|
|
// control.py - SwitchNode
|
|
matched_case: 'Matched Branch Output',
|
|
default: 'Default Branch Output',
|
|
switch_input: 'Switch Input',
|
|
case_1: 'Case 1',
|
|
case_2: 'Case 2',
|
|
// control.py - LoopNode
|
|
item: 'Current Item',
|
|
index: 'Current Index',
|
|
results: 'All Iteration Results',
|
|
completed: 'Is Completed',
|
|
loop_items: 'Items to Iterate',
|
|
count: 'Count',
|
|
// control.py - IteratorNode
|
|
is_first: 'Is First',
|
|
is_last: 'Is Last',
|
|
iterator_array: 'Input Array',
|
|
iterator_item: 'Current Element',
|
|
iterator_index: 'Current Index',
|
|
// control.py - ParallelNode
|
|
errors: 'Error List',
|
|
parallel_input: 'Parallel Input',
|
|
parallel_results: 'All Branch Results',
|
|
// control.py - WaitNode
|
|
wait_input: 'Passthrough Input',
|
|
wait_output: 'Passthrough Output',
|
|
// control.py - MergeNode
|
|
merged: 'Merged Result',
|
|
merge_array: 'Array Result',
|
|
merge_input_1: 'Input 1',
|
|
merge_input_2: 'Input 2',
|
|
merge_input_3: 'Input 3',
|
|
merge_input_4: 'Input 4',
|
|
branch_1: 'Branch 1 Output',
|
|
branch_2: 'Branch 2 Output',
|
|
// control.py - VariableAggregatorNode
|
|
aggregated: 'Aggregated Variables',
|
|
aggregator_variables: 'Variable Input',
|
|
// action.py - SendMessageNode
|
|
status: 'Send Status',
|
|
message_id: 'Message ID',
|
|
target: 'Target ID',
|
|
execution_id: 'Execution ID',
|
|
notification_id: 'Notification ID',
|
|
// action.py - ReplyMessageNode
|
|
reply_message: 'Reply Content',
|
|
// action.py - CallPipelineNode
|
|
pipeline_response: 'Pipeline Response',
|
|
pipeline_result: 'Full Result',
|
|
pipeline_query: 'Query Content',
|
|
context_data: 'Context Data',
|
|
// action.py - StoreDataNode
|
|
store_status: 'Store Status',
|
|
store_key: 'Store Key',
|
|
store_value: 'Store Value',
|
|
// action.py - SetVariableNode
|
|
variable_value: 'Variable Value',
|
|
variable_result: 'Set Variable Result',
|
|
// action.py - OpeningStatementNode
|
|
statement: 'Opening Statement',
|
|
suggested_questions: 'Suggested Questions',
|
|
suggestions: 'Suggestions',
|
|
// action.py - EndNode
|
|
workflow_output: 'Workflow Output',
|
|
final_result: 'Final Result',
|
|
// integration.py - DatabaseQueryNode
|
|
query_results: 'Query Results',
|
|
row_count: 'Affected/Returned Rows',
|
|
query_success: 'Query Success',
|
|
// integration.py - RedisOperationNode
|
|
redis_result: 'Operation Result',
|
|
redis_success: 'Operation Success',
|
|
redis_key: 'Redis Key',
|
|
redis_value: 'Redis Value',
|
|
plugin_input: 'Plugin Input',
|
|
// integration.py - MCPToolNode
|
|
tool_result: 'Tool Execution Result',
|
|
tool_success: 'Tool Call Success',
|
|
mcp_arguments: 'Tool Arguments',
|
|
// integration.py - MemoryStoreNode
|
|
memory_result: 'Retrieved/Stored Value',
|
|
memory_success: 'Operation Success',
|
|
memory_value: 'Value to Store',
|
|
// integration.py - DifyWorkflowNode
|
|
answer: 'Dify Answer',
|
|
dify_success: 'Call Success',
|
|
dify_query: 'User Input/Query',
|
|
dify_conversation_id: 'Conversation ID',
|
|
// integration.py - DifyKnowledgeQueryNode
|
|
search_results: 'Search Results',
|
|
knowledge_base_query: 'Query Content',
|
|
// integration.py - N8nWorkflowNode
|
|
n8n_result: 'Workflow Execution Result',
|
|
n8n_success: 'Call Success',
|
|
n8n_payload: 'Workflow Input Data',
|
|
// integration.py - LangflowFlowNode
|
|
flow_result: 'Flow Execution Result',
|
|
flow_success: 'Call Success',
|
|
langflow_input: 'Input Content',
|
|
// integration.py - CozeBotNode
|
|
bot_answer: 'Bot Reply',
|
|
bot_success: 'Call Success',
|
|
coze_query: 'User Input/Query',
|
|
coze_conversation_id: 'Conversation ID',
|
|
bot_conversation_id: 'Conversation ID',
|
|
|
|
// ===== Additional Keys =====
|
|
embedding: 'Embedding',
|
|
dimensions: 'Dimensions',
|
|
intent: 'Intent',
|
|
entities: 'Entities',
|
|
},
|
|
},
|
|
unifiedBinding: {
|
|
bindingType: 'Binding Type',
|
|
pipeline: 'Pipeline',
|
|
workflow: 'Workflow',
|
|
pipelineDescription: 'Process messages using traditional pipeline',
|
|
workflowDescription: 'Process messages using visual workflow',
|
|
selectPipeline: 'Select Pipeline',
|
|
selectWorkflow: 'Select Workflow',
|
|
noPipelines: 'No pipelines available',
|
|
noWorkflows: 'No workflows available',
|
|
createPipeline: 'Create Pipeline',
|
|
createWorkflow: 'Create Workflow',
|
|
},
|
|
pluginPages: {
|
|
selectFromSidebar: 'Select a plugin page from the sidebar',
|
|
invalidPage: 'Invalid plugin page',
|
|
},
|
|
};
|
|
|
|
export default enUS;
|