| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610 | const translation = {  common: {    undo: 'Undo',    redo: 'Redo',    editing: 'Editing',    autoSaved: 'Auto-Saved',    unpublished: 'Unpublished',    published: 'Published',    publish: 'Publish',    update: 'Update',    run: 'Run',    running: 'Running',    inRunMode: 'In Run Mode',    inPreview: 'In Preview',    inPreviewMode: 'In Preview Mode',    preview: 'Preview',    viewRunHistory: 'View run history',    runHistory: 'Run History',    goBackToEdit: 'Go back to editor',    conversationLog: 'Conversation Log',    features: 'Features',    featuresDescription: 'Enhance web app user experience',    ImageUploadLegacyTip: 'You can now create file type variables in the start form. We will no longer support the image upload feature in the future. ',    fileUploadTip: 'Image upload features have been upgraded to file upload. ',    featuresDocLink: 'Learn more',    debugAndPreview: 'Preview',    restart: 'Restart',    currentDraft: 'Current Draft',    currentDraftUnpublished: 'Current Draft Unpublished',    latestPublished: 'Latest Published',    publishedAt: 'Published',    restore: 'Restore',    runApp: 'Run App',    batchRunApp: 'Batch Run App',    accessAPIReference: 'Access API Reference',    embedIntoSite: 'Embed Into Site',    addTitle: 'Add title...',    addDescription: 'Add description...',    noVar: 'No variable',    searchVar: 'Search variable',    variableNamePlaceholder: 'Variable name',    setVarValuePlaceholder: 'Set variable',    needConnectTip: 'This step is not connected to anything',    maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch',    needEndNode: 'The End block must be added',    needAnswerNode: 'The Answer block must be added',    workflowProcess: 'Workflow Process',    notRunning: 'Not running yet',    previewPlaceholder: 'Enter content in the box below to start debugging the Chatbot',    effectVarConfirm: {      title: 'Remove Variable',      content: 'The variable is used in other nodes. Do you still want to remove it?',    },    insertVarTip: 'Press the \'/\' key to insert quickly',    processData: 'Process Data',    input: 'Input',    output: 'Output',    jinjaEditorPlaceholder: 'Type \'/\' or \'{\' to insert variable',    viewOnly: 'View Only',    showRunHistory: 'Show Run History',    enableJinja: 'Enable Jinja template support',    learnMore: 'Learn More',    copy: 'Copy',    duplicate: 'Duplicate',    addBlock: 'Add Block',    pasteHere: 'Paste Here',    pointerMode: 'Pointer Mode',    handMode: 'Hand Mode',    model: 'Model',    workflowAsTool: 'Workflow as Tool',    configureRequired: 'Configure Required',    configure: 'Configure',    manageInTools: 'Manage in Tools',    workflowAsToolTip: 'Tool reconfiguration is required after the workflow update.',    viewDetailInTracingPanel: 'View details',    syncingData: 'Syncing data, just a few seconds.',    importDSL: 'Import DSL',    importDSLTip: 'Current draft will be overwritten. Export workflow as backup before importing.',    backupCurrentDraft: 'Backup Current Draft',    chooseDSL: 'Choose DSL(yml) file',    overwriteAndImport: 'Overwrite and Import',    importFailure: 'Import failure',    importSuccess: 'Import success',    parallelRun: 'Parallel Run',    parallelTip: {      click: {        title: 'Click',        desc: ' to add',      },      drag: {        title: 'Drag',        desc: ' to connect',      },      limit: 'Parallelism is limited to {{num}} branches.',      depthLimit: 'Parallel nesting layer limit of {{num}} layers',    },    disconnect: 'Disconnect',    jumpToNode: 'Jump to this node',    addParallelNode: 'Add Parallel Node',    parallel: 'PARALLEL',    branch: 'BRANCH',  },  env: {    envPanelTitle: 'Environment Variables',    envDescription: 'Environment variables can be used to store private information and credentials. They are read-only and can be separated from the DSL file during export.',    envPanelButton: 'Add Variable',    modal: {      title: 'Add Environment Variable',      editTitle: 'Edit Environment Variable',      type: 'Type',      name: 'Name',      namePlaceholder: 'env name',      value: 'Value',      valuePlaceholder: 'env value',      secretTip: 'Used to define sensitive information or data, with DSL settings configured for leak prevention.',    },    export: {      title: 'Export Secret environment variables?',      checkbox: 'Export secret values',      ignore: 'Export DSL',      export: 'Export DSL with secret values ',    },  },  chatVariable: {    panelTitle: 'Conversation Variables',    panelDescription: 'Conversation Variables are used to store interactive information that LLM needs to remember, including conversation history, uploaded files, user preferences. They are read-write. ',    docLink: 'Visit our docs to learn more.',    button: 'Add Variable',    modal: {      title: 'Add Conversation Variable',      editTitle: 'Edit Conversation Variable',      name: 'Name',      namePlaceholder: 'Variable name',      type: 'Type',      value: 'Default Value',      valuePlaceholder: 'Default value, leave blank to not set',      description: 'Description',      descriptionPlaceholder: 'Describe the variable',      editInJSON: 'Edit in JSON',      oneByOne: 'Add one by one',      editInForm: 'Edit in Form',      arrayValue: 'Value',      addArrayValue: 'Add Value',      objectKey: 'Key',      objectType: 'Type',      objectValue: 'Default Value',    },    storedContent: 'Stored content',    updatedAt: 'Updated at ',  },  changeHistory: {    title: 'Change History',    placeholder: 'You haven\'t changed anything yet',    clearHistory: 'Clear History',    hint: 'Hint',    hintText: 'Your editing actions are tracked in a change history, which is stored on your device for the duration of this session. This history will be cleared when you leave the editor.',    stepBackward_one: '{{count}} step backward',    stepBackward_other: '{{count}} steps backward',    stepForward_one: '{{count}} step forward',    stepForward_other: '{{count}} steps forward',    sessionStart: 'Session Start',    currentState: 'Current State',    nodeTitleChange: 'Block title changed',    nodeDescriptionChange: 'Block description changed',    nodeDragStop: 'Block moved',    nodeChange: 'Block changed',    nodeConnect: 'Block connected',    nodePaste: 'Block pasted',    nodeDelete: 'Block deleted',    nodeAdd: 'Block added',    nodeResize: 'Block resized',    noteAdd: 'Note added',    noteChange: 'Note changed',    noteDelete: 'Note deleted',    edgeDelete: 'Block disconnected',  },  errorMsg: {    fieldRequired: '{{field}} is required',    rerankModelRequired: 'Before turning on the Rerank Model, please confirm that the model has been successfully configured in the settings.',    authRequired: 'Authorization is required',    invalidJson: '{{field}} is invalid JSON',    fields: {      variable: 'Variable Name',      variableValue: 'Variable Value',      code: 'Code',      model: 'Model',      rerankModel: 'Rerank Model',      visionVariable: 'Vision Variable',    },    invalidVariable: 'Invalid variable',  },  singleRun: {    testRun: 'Test Run ',    startRun: 'Start Run',    running: 'Running',    testRunIteration: 'Test Run Iteration',    back: 'Back',    iteration: 'Iteration',  },  tabs: {    'searchBlock': 'Search block',    'blocks': 'Blocks',    'searchTool': 'Search tool',    'tools': 'Tools',    'allTool': 'All',    'builtInTool': 'Built-in',    'customTool': 'Custom',    'workflowTool': 'Workflow',    'question-understand': 'Question Understand',    'logic': 'Logic',    'transform': 'Transform',    'utilities': 'Utilities',    'noResult': 'No match found',  },  blocks: {    'start': 'Start',    'end': 'End',    'answer': 'Answer',    'llm': 'LLM',    'knowledge-retrieval': 'Knowledge Retrieval',    'question-classifier': 'Question Classifier',    'if-else': 'IF/ELSE',    'code': 'Code',    'template-transform': 'Template',    'http-request': 'HTTP Request',    'variable-assigner': 'Variable Aggregator',    'variable-aggregator': 'Variable Aggregator',    'assigner': 'Variable Assigner',    'iteration-start': 'Iteration Start',    'iteration': 'Iteration',    'parameter-extractor': 'Parameter Extractor',    'document-extractor': 'Doc Extractor',    'list-operator': 'List Operator',  },  blocksAbout: {    'start': 'Define the initial parameters for launching a workflow',    'end': 'Define the end and result type of a workflow',    'answer': 'Define the reply content of a chat conversation',    'llm': 'Invoking large language models to answer questions or process natural language',    'knowledge-retrieval': 'Allows you to query text content related to user questions from the Knowledge',    'question-classifier': 'Define the classification conditions of user questions, LLM can define how the conversation progresses based on the classification description',    'if-else': 'Allows you to split the workflow into two branches based on if/else conditions',    'code': 'Execute a piece of Python or NodeJS code to implement custom logic',    'template-transform': 'Convert data to string using Jinja template syntax',    'http-request': 'Allow server requests to be sent over the HTTP protocol',    'variable-assigner': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.',    'assigner': 'The variable assignment node is used for assigning values to writable variables(like conversation variables).',    'variable-aggregator': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.',    'iteration': 'Perform multiple steps on a list object until all results are outputted.',    'parameter-extractor': 'Use LLM to extract structured parameters from natural language for tool invocations or HTTP requests.',    'document-extractor': 'Used to parse uploaded documents into text content that is easily understandable by LLM.',    'list-operator': 'Used to filter or sort array content.',  },  operator: {    zoomIn: 'Zoom In',    zoomOut: 'Zoom Out',    zoomTo50: 'Zoom to 50%',    zoomTo100: 'Zoom to 100%',    zoomToFit: 'Zoom to Fit',  },  panel: {    userInputField: 'User Input Field',    changeBlock: 'Change Block',    helpLink: 'Help Link',    about: 'About',    createdBy: 'Created By ',    nextStep: 'Next Step',    addNextStep: 'Add the next block in this workflow',    selectNextStep: 'Select Next Block',    runThisStep: 'Run this step',    checklist: 'Checklist',    checklistTip: 'Make sure all issues are resolved before publishing',    checklistResolved: 'All issues are resolved',    organizeBlocks: 'Organize blocks',    change: 'Change',    optional: '(optional)',  },  nodes: {    common: {      outputVars: 'Output Variables',      insertVarTip: 'Insert Variable',      memory: {        memory: 'Memory',        memoryTip: 'Chat memory settings',        windowSize: 'Window Size',        conversationRoleName: 'Conversation Role Name',        user: 'User prefix',        assistant: 'Assistant prefix',      },      memories: {        title: 'Memories',        tip: 'Chat memory',        builtIn: 'Built-in',      },    },    start: {      required: 'required',      inputField: 'Input Field',      builtInVar: 'Built-in Variables',      outputVars: {        query: 'User input',        memories: {          des: 'Conversation history',          type: 'message type',          content: 'message content',        },        files: 'File list',      },      noVarTip: 'Set inputs that can be used in the Workflow',    },    end: {      outputs: 'Outputs',      output: {        type: 'output type',        variable: 'output variable',      },      type: {        'none': 'None',        'plain-text': 'Plain Text',        'structured': 'Structured',      },    },    answer: {      answer: 'Answer',      outputVars: 'Output Variables',    },    llm: {      model: 'model',      variables: 'variables',      context: 'context',      contextTooltip: 'You can import Knowledge as context',      notSetContextInPromptTip: 'To enable the context feature, please fill in the context variable in PROMPT.',      prompt: 'prompt',      roleDescription: {        system: 'Give high level instructions for the conversation',        user: 'Provide instructions, queries, or any text-based input to the model',        assistant: 'The model’s responses  based on the user messages',      },      addMessage: 'Add Message',      vision: 'vision',      files: 'Files',      resolution: {        name: 'Resolution',        high: 'High',        low: 'Low',      },      outputVars: {        output: 'Generate content',        usage: 'Model Usage Information',      },      singleRun: {        variable: 'Variable',      },      sysQueryInUser: 'sys.query in user message is required',    },    knowledgeRetrieval: {      queryVariable: 'Query Variable',      knowledge: 'Knowledge',      outputVars: {        output: 'Retrieval segmented data',        content: 'Segmented content',        title: 'Segmented title',        icon: 'Segmented icon',        url: 'Segmented URL',        metadata: 'Other metadata',      },    },    http: {      inputVars: 'Input Variables',      api: 'API',      apiPlaceholder: 'Enter URL, type ‘/’ insert variable',      notStartWithHttp: 'API should start with http:// or https://',      key: 'Key',      type: 'Type',      value: 'Value',      bulkEdit: 'Bulk Edit',      keyValueEdit: 'Key-Value Edit',      headers: 'Headers',      params: 'Params',      body: 'Body',      binaryFileVariable: 'Binary File Variable',      outputVars: {        body: 'Response Content',        statusCode: 'Response Status Code',        headers: 'Response Header List JSON',        files: 'Files List',      },      authorization: {        'authorization': 'Authorization',        'authorizationType': 'Authorization Type',        'no-auth': 'None',        'api-key': 'API-Key',        'auth-type': 'Auth Type',        'basic': 'Basic',        'bearer': 'Bearer',        'custom': 'Custom',        'api-key-title': 'API Key',        'header': 'Header',      },      insertVarPlaceholder: 'type \'/\' to insert variable',      timeout: {        title: 'Timeout',        connectLabel: 'Connection Timeout',        connectPlaceholder: 'Enter connection timeout in seconds',        readLabel: 'Read Timeout',        readPlaceholder: 'Enter read timeout in seconds',        writeLabel: 'Write Timeout',        writePlaceholder: 'Enter write timeout in seconds',      },    },    code: {      inputVars: 'Input Variables',      outputVars: 'Output Variables',      advancedDependencies: 'Advanced Dependencies',      advancedDependenciesTip: 'Add some preloaded dependencies that take more time to consume or are not default built-in here',      searchDependencies: 'Search Dependencies',    },    templateTransform: {      inputVars: 'Input Variables',      code: 'Code',      codeSupportTip: 'Only supports Jinja2',      outputVars: {        output: 'Transformed content',      },    },    ifElse: {      if: 'If',      else: 'Else',      elseDescription: 'Used to define the logic that should be executed when the if condition is not met.',      and: 'and',      or: 'or',      operator: 'Operator',      notSetVariable: 'Please set variable first',      comparisonOperator: {        'contains': 'contains',        'not contains': 'not contains',        'start with': 'start with',        'end with': 'end with',        'is': 'is',        'is not': 'is not',        'empty': 'is empty',        'not empty': 'is not empty',        'null': 'is null',        'not null': 'is not null',        'in': 'in',        'not in': 'not in',        'all of': 'all of',        'exists': 'exists',        'not exists': 'not exists',      },      optionName: {        image: 'Image',        doc: 'Doc',        audio: 'Audio',        video: 'Video',        localUpload: 'Local Upload',        url: 'URL',      },      enterValue: 'Enter value',      addCondition: 'Add Condition',      conditionNotSetup: 'Condition NOT setup',      selectVariable: 'Select variable...',      addSubVariable: 'Sub Variable',      select: 'Select',    },    variableAssigner: {      title: 'Assign variables',      outputType: 'Output Type',      varNotSet: 'Variable not set',      noVarTip: 'Add the variables to be assigned',      type: {        string: 'String',        number: 'Number',        object: 'Object',        array: 'Array',      },      aggregationGroup: 'Aggregation Group',      aggregationGroupTip: 'Enabling this feature allows the variable aggregator to aggregate multiple sets of variables.',      addGroup: 'Add Group',      outputVars: {        varDescribe: '{{groupName}} output',      },      setAssignVariable: 'Set assign variable',    },    assigner: {      'assignedVariable': 'Assigned Variable',      'writeMode': 'Write Mode',      'writeModeTip': 'Append mode: Available for array variables only.',      'over-write': 'Overwrite',      'append': 'Append',      'plus': 'Plus',      'clear': 'Clear',      'setVariable': 'Set Variable',      'variable': 'Variable',    },    tool: {      toAuthorize: 'To authorize',      inputVars: 'Input Variables',      outputVars: {        text: 'tool generated content',        files: {          title: 'tool generated files',          type: 'Support type. Now only support image',          transfer_method: 'Transfer method.Value is  remote_url or local_file',          url: 'Image url',          upload_file_id: 'Upload file id',        },        json: 'tool generated json',      },    },    questionClassifiers: {      model: 'model',      inputVars: 'Input Variables',      outputVars: {        className: 'Class Name',      },      class: 'Class',      classNamePlaceholder: 'Write your class name',      advancedSetting: 'Advanced Setting',      topicName: 'Topic Name',      topicPlaceholder: 'Write your topic name',      addClass: 'Add Class',      instruction: 'Instruction',      instructionTip: 'Input additional instructions to help the question classifier better understand how to categorize questions.',      instructionPlaceholder: 'Write your instruction',    },    parameterExtractor: {      inputVar: 'Input Variable',      extractParameters: 'Extract Parameters',      importFromTool: 'Import from tools',      addExtractParameter: 'Add Extract Parameter',      addExtractParameterContent: {        name: 'Name',        namePlaceholder: 'Extract Parameter Name',        type: 'Type',        typePlaceholder: 'Extract Parameter Type',        description: 'Description',        descriptionPlaceholder: 'Extract Parameter Description',        required: 'Required',        requiredContent: 'Required is only used as a reference for model inference, and not for mandatory validation of parameter output.',      },      extractParametersNotSet: 'Extract Parameters not setup',      instruction: 'Instruction',      instructionTip: 'Input additional instructions to help the parameter extractor understand how to extract parameters.',      advancedSetting: 'Advanced Setting',      reasoningMode: 'Reasoning Mode',      reasoningModeTip: 'You can choose the appropriate reasoning mode based on the model\'s ability to respond to instructions for function calling or prompts.',      isSuccess: 'Is Success.On success the value is 1, on failure the value is 0.',      errorReason: 'Error Reason',    },    iteration: {      deleteTitle: 'Delete Iteration Node?',      deleteDesc: 'Deleting the iteration node will delete all child nodes',      input: 'Input',      output: 'Output Variables',      iteration_one: '{{count}} Iteration',      iteration_other: '{{count}} Iterations',      currentIteration: 'Current Iteration',    },    note: {      addNote: 'Add Note',      editor: {        placeholder: 'Write your note...',        small: 'Small',        medium: 'Medium',        large: 'Large',        bold: 'Bold',        italic: 'Italic',        strikethrough: 'Strikethrough',        link: 'Link',        openLink: 'Open',        unlink: 'Unlink',        enterUrl: 'Enter URL...',        invalidUrl: 'Invalid URL',        bulletList: 'Bullet List',        showAuthor: 'Show Author',      },    },    docExtractor: {      inputVar: 'Input Variable',      outputVars: {        text: 'Extracted text',      },      supportFileTypes: 'Support file types: {{types}}.',      learnMore: 'Learn more',    },    listFilter: {      inputVar: 'Input Variable',      filterCondition: 'Filter Condition',      filterConditionKey: 'Filter Condition Key',      filterConditionComparisonOperator: 'Filter Condition Comparison Operator',      filterConditionComparisonValue: 'Filter Condition value',      selectVariableKeyPlaceholder: 'Select sub variable key',      limit: 'Top N',      orderBy: 'Order by',      asc: 'ASC',      desc: 'DESC',      outputVars: {        result: 'Filter result',        first_record: 'First record',        last_record: 'Last record',      },    },  },  tracing: {    stopBy: 'Stop by {{user}}',  },}export default translation
 |