const translation = {
  common: {
    editing: '编辑中',
    autoSaved: '自动保存',
    unpublished: '未发布',
    published: '已发布',
    publish: '发布',
    update: '更新',
    run: '运行',
    running: '运行中',
    inRunMode: '在运行模式中',
    inPreview: '预览中',
    inPreviewMode: '预览中',
    preview: '预览',
    viewRunHistory: '查看运行历史',
    runHistory: '运行历史',
    goBackToEdit: '返回编辑模式',
    conversationLog: '对话记录',
    features: '功能',
    debugAndPreview: '调试和预览',
    restart: '重新开始',
    currentDraft: '当前草稿',
    currentDraftUnpublished: '当前草稿未发布',
    latestPublished: '最新发布',
    publishedAt: '发布于',
    restore: '恢复',
    runApp: '运行',
    batchRunApp: '批量运行',
    accessAPIReference: '访问 API',
    embedIntoSite: '嵌入网站',
    addTitle: '添加标题...',
    addDescription: '添加描述...',
    noVar: '没有变量',
    variableNamePlaceholder: '变量名',
    searchVar: '搜索变量',
    setVarValuePlaceholder: '设置变量值',
    needConnecttip: '此节点尚未连接到其他节点',
    maxTreeDepth: '每个分支最大限制 {{depth}} 个节点',
    needEndNode: '必须添加结束节点',
    needAnswerNode: '必须添加直接回复节点',
    workflowProcess: '工作流',
    notRunning: '尚未运行',
    previewPlaceholder: '在下面的框中输入内容开始调试聊天机器人',
    effectVarConfirm: {
      title: '移除变量',
      content: '该变量在其他节点中使用。您是否仍要删除它？',
    },
    insertVarTip: "按 '/' 键快速插入",
    processData: '数据处理',
    input: '输入',
    output: '输出',
    jinjaEditorPlaceholder: '输入 “/” 或 “{” 插入变量',
    viewOnly: '只读',
    showRunHistory: '显示运行历史',
    enableJinja: '开启支持 Jinja 模板',
    learnMore: '了解更多',
    copy: '拷贝',
    duplicate: '复制',
    addBlock: '添加节点',
    pasteHere: '粘贴到这里',
    pointerMode: '指针模式',
    handMode: '手模式',
    model: '模型',
    workflowAsTool: '发布为工具',
    configureRequired: '需要进行配置',
    configure: '配置',
    manageInTools: '访问工具页',
    workflowAsToolTip: '工作流更新后需要重新配置工具参数',
    viewDetailInTracingPanel: '查看详细信息',
  },
  errorMsg: {
    fieldRequired: '{{field}} 不能为空',
    authRequired: '请先授权',
    invalidJson: '{{field}} 是非法的 JSON',
    fields: {
      variable: '变量名',
      variableValue: '变量值',
      code: '代码',
      model: '模型',
      rerankModel: 'Rerank 模型',
    },
    invalidVariable: '无效的变量',
  },
  singleRun: {
    testRun: '测试运行 ',
    startRun: '开始运行',
    running: '运行中',
    testRunIteration: '测试运行迭代',
    back: '返回',
    iteration: '迭代',
  },
  tabs: {
    searchBlock: '搜索节点',
    blocks: '节点',
    tools: '工具',
    allTool: '全部',
    builtInTool: '内置',
    customTool: '自定义',
    workflowTool: '工作流',
    'question-understand': '问题理解',
    logic: '逻辑',
    transform: '转换',
    utilities: '工具',
    noResult: '未找到匹配项',
  },
  blocks: {
    start: '开始',
    end: '结束',
    answer: '直接回复',
    llm: 'LLM',
    'knowledge-retrieval': '知识检索',
    'question-classifier': '问题分类器',
    'if-else': '条件分支',
    train: '训练模型',
    'template-transform': '模板转换',
    'http-request': 'HTTP 请求',
    'variable-assigner': '变量聚合器',
    'variable-aggregator': '变量聚合器',
    'iteration-start': '迭代开始',
    iteration: '迭代',
    'parameter-extractor': '参数提取器',
  },
  blocksAbout: {
    start: '定义一个 workflow 流程启动的初始参数',
    end: '定义一个 workflow 流程的结束和结果类型',
    answer: '定义一个聊天对话的回复内容',
    llm: '调用大语言模型回答问题或者对自然语言进行处理',
    'knowledge-retrieval': '允许你从知识库中查询与用户问题相关的文本内容',
    'question-classifier':
      '定义用户问题的分类条件，LLM 能够根据分类描述定义对话的进展方式',
    'if-else': '允许你根据 if/else 条件将 workflow 拆分成两个分支',
    code: '执行一段 Python 或 NodeJS 代码实现自定义逻辑',
    'template-transform': '使用 Jinja 模板语法将数据转换为字符串',
    'http-request': '允许通过 HTTP 协议发送服务器请求',
    'variable-assigner':
      '将多路分支的变量聚合为一个变量，以实现下游节点统一配置。',
    'variable-aggregator':
      '将多路分支的变量聚合为一个变量，以实现下游节点统一配置。',
    iteration: '对列表对象执行多次步骤直至输出所有结果。',
    'parameter-extractor':
      '利用 LLM 从自然语言内推理提取出结构化参数，用于后置的工具调用或 HTTP 请求。',
  },
  operator: {
    zoomIn: '放大',
    zoomOut: '缩小',
    zoomTo50: '缩放到 50%',
    zoomTo100: '放大到 100%',
    zoomToFit: '自适应视图',
  },
  panel: {
    userInputField: '用户输入字段',
    changeBlock: '更改节点',
    helpLink: '帮助链接',
    about: '关于',
    createdBy: '作者',
    nextStep: '下一步',
    addNextStep: '添加此工作流程中的下一个节点',
    selectNextStep: '选择下一个节点',
    runThisStep: '运行此步骤',
    checklist: '检查清单',
    checklistTip: '发布前确保所有问题均已解决',
    checklistResolved: '所有问题均已解决',
    organizeBlocks: '整理节点',
    change: '更改',
  },
  nodes: {
    common: {
      outputVars: '输出变量',
      insertVarTip: '插入变量',
      memory: {
        memory: '记忆',
        memoryTip: '聊天记忆设置',
        windowSize: '记忆窗口',
        conversationRoleName: '对话角色名',
        user: '用户前缀',
        assistant: '助手前缀',
      },
      memories: {
        title: '记忆',
        tip: '聊天记忆',
        builtIn: '内置',
      },
    },
    start: {
      required: '必填',
      inputField: '输入字段',
      builtInVar: '内置变量',
      outputVars: {
        query: '用户输入',
        memories: {
          des: '会话历史',
          type: '消息类型',
          content: '消息内容',
        },
        files: '文件列表',
      },
      noVarTip: '设置的输入可在工作流程中使用',
    },
    end: {
      outputs: '输出',
      output: {
        type: '输出类型',
        variable: '输出变量',
      },
      type: {
        none: '无',
        'plain-text': '纯文本',
        structured: '结构化',
      },
    },
    answer: {
      answer: '回复',
      outputVars: '输出变量',
    },
    llm: {
      model: '模型',
      variables: '变量',
      context: '上下文',
      contextTooltip: '您可以导入知识库作为上下文',
      notSetContextInPromptTip: '要启用上下文功能，请在提示中填写上下文变量。',
      prompt: '提示词',
      addMessage: '添加消息',
      roleDescription: {
        system: '为对话提供高层指导',
        user: '向模型提供指令、查询或任何基于文本的输入',
        assistant: '基于用户消息的模型回复',
      },
      vision: '视觉',
      files: '文件',
      resolution: {
        name: '分辨率',
        high: '高',
        low: '低',
      },
      outputVars: {
        output: '生成内容',
        usage: '模型用量信息',
      },
      singleRun: {
        variable: '变量',
      },
      sysQueryInUser: 'user message 中必须包含 sys.query',
    },
    knowledgeRetrieval: {
      queryVariable: '查询变量',
      knowledge: '知识库',
      outputVars: {
        output: '召回的分段',
        content: '分段内容',
        title: '分段标题',
        icon: '分段图标',
        url: '分段链接',
        metadata: '其他元数据',
      },
    },
    http: {
      inputVars: '输入变量',
      api: 'API',
      apiPlaceholder: '输入 URL，输入变量时请键入‘/’',
      notStartWithHttp: 'API 应该以 http:// 或 https:// 开头',
      key: '键',
      value: '值',
      bulkEdit: '批量编辑',
      keyValueEdit: '键值编辑',
      headers: 'Headers',
      params: 'Params',
      body: 'Body',
      outputVars: {
        body: '响应内容',
        statusCode: '响应状态码',
        headers: '响应头列表 JSON',
        files: '文件列表',
      },
      authorization: {
        authorization: '鉴权',
        authorizationType: '鉴权类型',
        'no-auth': '无',
        'api-key': 'API-Key',
        'auth-type': 'API 鉴权类型',
        basic: '基础',
        bearer: 'Bearer',
        custom: '自定义',
        'api-key-title': 'API Key',
        header: 'Header',
      },
      insertVarPlaceholder: "键入 '/' 键快速插入变量",
      timeout: {
        title: '超时设置',
        connectLabel: '连接超时',
        connectPlaceholder: '输入连接超时（以秒为单位）',
        readLabel: '读取超时',
        readPlaceholder: '输入读取超时（以秒为单位）',
        writeLabel: '写入超时',
        writePlaceholder: '输入写入超时（以秒为单位）',
      },
    },
    code: {
      inputVars: '输入变量',
      outputVars: '输出变量',
      advancedDependencies: '高级依赖',
      advancedDependenciesTip:
        '在这里添加一些预加载需要消耗较多时间或非默认内置的依赖包',
      searchDependencies: '搜索依赖',
    },
    templateTransform: {
      inputVars: '输入变量',
      code: '代码',
      codeSupportTip: '只支持 Jinja2',
      outputVars: {
        output: '转换后内容',
      },
    },
    ifElse: {
      if: 'If',
      else: 'Else',
      elseDescription: '用于定义当 if 条件不满足时应执行的逻辑。',
      and: 'and',
      or: 'or',
      operator: '操作符',
      notSetVariable: '请先设置变量',
      comparisonOperator: {
        contains: '包含',
        'not contains': '不包含',
        'start with': '开始是',
        'end with': '结束是',
        is: '是',
        'is not': '不是',
        empty: '为空',
        'not empty': '不为空',
        null: '空',
        'not null': '不为空',
      },
      enterValue: '输入值',
      addCondition: '添加条件',
      conditionNotSetup: '条件未设置',
    },
    variableAssigner: {
      title: '变量赋值',
      outputType: '输出类型',
      varNotSet: '未设置变量',
      noVarTip: '添加需要赋值的变量',
      type: {
        string: 'String',
        number: 'Number',
        object: 'Object',
        array: 'Array',
      },
      aggregationGroup: '聚合分组',
      aggregationGroupTip: '开启该功能后，变量聚合器内可以同时聚合多组变量',
      addGroup: '添加分组',
      outputVars: {
        varDescribe: '{{groupName}}的输出变量',
      },
      setAssignVariable: '设置赋值变量',
    },
    tool: {
      toAuthorize: '授权',
      inputVars: '输入变量',
      outputVars: {
        text: '工具生成的内容',
        files: {
          title: '工具生成的文件',
          type: '支持类型。现在只支持图片',
          transfer_method: '传输方式。值为 remote_url 或 local_file',
          url: '图片链接',
          upload_file_id: '上传文件ID',
        },
      },
    },
    questionClassifiers: {
      model: '模型',
      inputVars: '输入变量',
      outputVars: {
        className: '分类名称',
      },
      class: '分类',
      classNamePlaceholder: '输入你的分类名称',
      advancedSetting: '高级设置',
      topicName: '主题内容',
      topicPlaceholder: '在这里输入你的主题内容',
      addClass: '添加分类',
      instruction: '指令',
      instructionTip:
        '你可以输入额外的附加指令，帮助问题分类器更好的理解如何分类',
      instructionPlaceholder: '在这里输入你的指令',
    },
    parameterExtractor: {
      inputVar: '输入变量',
      extractParameters: '提取参数',
      importFromTool: '从工具导入',
      addExtractParameter: '添加提取参数',
      addExtractParameterContent: {
        name: '名称',
        namePlaceholder: '提取参数名称',
        type: '类型',
        typePlaceholder: '提取参数类型',
        description: '描述',
        descriptionPlaceholder: '提取参数描述',
        required: '必填',
        requiredContent: '必填仅作为模型推理的参考，不用于参数输出的强制验证。',
      },
      extractParametersNotSet: '提取参数未设置',
      instruction: '指令',
      instructionTip:
        '你可以输入额外的附加指令，帮助参数提取器理解如何提取参数',
      advancedSetting: '高级设置',
      reasoningMode: '推理模式',
      reasoningModeTip:
        '你可以根据模型对于 Function calling 或 Prompt 的指令响应能力选择合适的推理模式',
      isSuccess: '是否成功。成功时值为 1，失败时值为 0。',
      errorReason: '错误原因',
    },
    iteration: {
      deleteTitle: '删除迭代节点？',
      deleteDesc: '删除迭代节点将删除所有子节点',
      input: '输入',
      output: '输出变量',
      iteration_one: '{{count}}个迭代',
      iteration_other: '{{count}}个迭代',
      currentIteration: '当前迭代',
    },
  },
  tracing: {
    stopBy: '由{{user}}终止',
  },
};

export default translation;
