const translation = {
  common: {
    editing: 'Chỉnh sửa',
    autoSaved: 'Tự động lưu',
    unpublished: 'Chưa xuất bản',
    published: 'Đã xuất bản',
    publish: 'Xuất bản',
    update: 'Cập nhật',
    run: 'Chạy',
    running: 'Đang chạy',
    inRunMode: 'Ở Chế độ chạy',
    inPreview: 'Ở Chế độ xem trước',
    inPreviewMode: 'Ở Chế độ xem trước',
    preview: 'Xem trước',
    viewRunHistory: 'Xem lịch sử chạy',
    runHistory: 'Lịch sử chạy',
    goBackToEdit: 'Quay lại trình soạn thảo',
    conversationLog: 'Nhật ký cuộc trò chuyện',
    features: 'Tính năng',
    debugAndPreview: 'Debug và Xem trước',
    restart: 'Khởi động lại',
    currentDraft: 'Bản nháp hiện tại',
    currentDraftUnpublished: 'Bản nháp hiện tại chưa xuất bản',
    latestPublished: 'Bản xuất bản mới nhất',
    publishedAt: 'Đã xuất bản lúc',
    restore: 'Khôi phục',
    runApp: 'Chạy ứng dụng',
    batchRunApp: 'Chạy ứng dụng hàng loạt',
    accessAPIReference: 'Truy cập Tài liệu API',
    embedIntoSite: 'Nhúng vào trang web',
    addTitle: 'Thêm tiêu đề...',
    addDescription: 'Thêm mô tả...',
    noVar: 'Không có biến',
    searchVar: 'Tìm kiếm biến',
    variableNamePlaceholder: 'Tên biến',
    setVarValuePlaceholder: 'Đặt giá trị biến',
    needConnecttip: 'Bước này chưa kết nối với bất kỳ điều gì',
    maxTreeDepth: 'Giới hạn tối đa của {{depth}} nút mỗi nhánh',
    needEndNode: 'Khối Kết thúc phải được thêm vào',
    needAnswerNode: 'Khối Trả lời phải được thêm vào',
    workflowProcess: 'Quy trình làm việc',
    notRunning: 'Chưa chạy',
    previewPlaceholder: 'Nhập nội dung vào ô dưới đây để bắt đầu gỡ lỗi Chatbot',
    effectVarConfirm: {
      title: 'Xóa biến',
      content: 'Biến được sử dụng trong các nút khác. Bạn vẫn muốn xóa nó?',
    },
    insertVarTip: 'Nhấn phím \'/\' để chèn nhanh',
    processData: 'Xử lý dữ liệu',
    input: 'Nhập',
    output: 'Đầu ra',
  },
  errorMsg: {
    fieldRequired: '{{field}} là bắt buộc',
    authRequired: 'Yêu cầu xác thực',
    invalidJson: '{{field}} không hợp lệ',
    fields: {
      variable: 'Tên Biến',
      variableValue: 'Giá trị Biến',
      code: 'Mã',
      model: 'Mô hình',
      rerankModel: 'Mô hình Rerank',
    },
    invalidVariable: 'Biến không hợp lệ',
  },
  singleRun: {
    testRun: 'Chạy thử ',
    startRun: 'Bắt đầu chạy',
    running: 'Đang chạy',
  },
  tabs: {
    'searchBlock': 'Tìm kiếm khối',
    'blocks': 'Khối',
    'builtInTool': 'Công cụ tích hợp',
    'customTool': 'Công cụ tùy chỉnh',
    'question-understand': 'Hiểu câu hỏi',
    'logic': 'Logic',
    'transform': 'Chuyển đổi',
    'utilities': 'Tiện ích',
    'noResult': 'Không tìm thấy kết quả',
  },
  blocks: {
    'start': 'Bắt đầu',
    'end': 'Kết thúc',
    'answer': 'Trả lời',
    'llm': 'LLM',
    'knowledge-retrieval': 'Truy xuất Kiến thức',
    'question-classifier': 'Bộ phân loại Câu hỏi',
    'if-else': 'NẾU/NGƯỢC LẠI',
    'code': 'Mã',
    'template-transform': 'Mẫu',
    'http-request': 'Yêu cầu HTTP',
    'variable-assigner': 'Bộ gán biến',
  },
  blocksAbout: {
    'start': 'Xác định các tham số ban đầu cho việc khởi chạy một quy trình',
    'end': 'Xác định kết thúc và loại kết quả của một quy trình',
    'answer': 'Xác định nội dung trả lời của một cuộc trò chuyện chat',
    'llm': 'Gọi các mô hình ngôn ngữ lớn để trả lời câu hỏi hoặc xử lý ngôn ngữ tự nhiên',
    'knowledge-retrieval': 'Cho phép bạn truy vấn nội dung văn bản liên quan đến các câu hỏi của người dùng từ Kiến thức',
    'question-classifier': 'Xác định các điều kiện phân loại của các câu hỏi của người dùng, LLM có thể xác định cách cuộc trò chuyện tiến triển dựa trên mô tả phân loại',
    'if-else': 'Cho phép bạn chia quy trình thành hai nhánh dựa trên các điều kiện if/else',
    'code': 'Thực thi một đoạn mã Python hoặc NodeJS để thực hiện logic tùy chỉnh',
    'template-transform': 'Chuyển đổi dữ liệu thành chuỗi sử dụng cú pháp mẫu Jinja',
    'http-request': 'Cho phép gửi các yêu cầu máy chủ qua giao thức HTTP',
    'variable-assigner': 'Gán biến trong các nhánh khác nhau vào cùng một biến để đạt được cấu hình thống nhất của các nút sau',
  },
  operator: {
    zoomIn: 'Phóng to',
    zoomOut: 'Thu nhỏ',
    zoomTo50: 'Thu phóng đến 50%',
    zoomTo100: 'Thu phóng đến 100%',
    zoomToFit: 'Thu phóng vừa với cửa sổ',
  },
  panel: {
    userInputField: 'Trường nhập của người dùng',
    changeBlock: 'Thay đổi Khối',
    helpLink: 'Liên kết Trợ giúp',
    about: 'Về',
    createdBy: 'Được tạo bởi ',
    nextStep: 'Bước tiếp theo',
    addNextStep: 'Thêm khối tiếp theo trong quy trình làm việc này',
    selectNextStep: 'Chọn Khối Tiếp theo',
    runThisStep: 'Chạy bước này',
    checklist: 'Danh sách kiểm tra',
    checklistTip: 'Đảm bảo tất cả các vấn đề được giải quyết trước khi xuất bản',
    checklistResolved: 'Tất cả các vấn đề đã được giải quyết',
    organizeBlocks: 'Sắp xếp các khối',
    change: 'Thay đổi',
  },
  nodes: {
    common: {
      outputVars: 'Biến đầu ra',
      insertVarTip: 'Chèn Biến',
      memory: {
        memory: 'Bộ nhớ',
        memoryTip: 'Cài đặt bộ nhớ trò chuyện',
        windowSize: 'Kích thước cửa sổ',
        conversationRoleName: 'Tên vai trò cuộc trò chuyện',
        user: 'Tiền tố người dùng',
        assistant: 'Tiền tố trợ lý',
      },
      memories: {
        title: 'Các ký ức',
        tip: 'Bộ nhớ trò chuyện',
        builtIn: 'Tích hợp sẵn',
      },
    },
    start: {
      required: 'bắt buộc',
      inputField: 'Trường nhập',
      builtInVar: 'Biến tích hợp sẵn',
      outputVars: {
        query: 'Đầu vào người dùng',
        memories: {
          des: 'Lịch sử cuộc trò chuyện',
          type: 'loại tin nhắn',
          content: 'nội dung tin nhắn',
        },
        files: 'Danh sách tệp',
      },
      noVarTip: 'Thiết lập các đầu vào có thể được sử dụng trong Quy trình làm việc',
    },
    end: {
      outputs: 'Đầu ra',
      output: {
        type: 'loại đầu ra',
        variable: 'biến đầu ra',
      },
      type: {
        'none': 'Không',
        'plain-text': 'Văn bản thuần',
        'structured': 'Cấu trúc',
      },
    },
    answer: {
      answer: 'Trả lời',
      outputVars: 'Biến đầu ra',
    },
    llm: {
      model: 'mô hình',
      variables: 'biến',
      context: 'bối cảnh',
      contextTooltip: 'Bạn có thể nhập Kiến thức dưới dạng bối cảnh',
      notSetContextInPromptTip: 'Để bật tính năng bối cảnh, vui lòng điền vào biến ngữ cảnh trong PROMPT.',
      prompt: 'nhắc nhở',
      roleDescription: {
        system: 'Đưa ra chỉ thị cấp cao cho cuộc trò chuyện',
        user: 'Cung cấp chỉ thị, truy vấn hoặc bất kỳ đầu vào dựa trên văn bản nào cho mô hình',
        assistant: 'Các phản hồi của mô hình dựa trên các tin nhắn của người dùng',
      },
      addMessage: 'Thêm Tin nhắn',
      vision: 'tầm nhìn',
      files: 'Tệp',
      resolution: {
        name: 'Độ phân giải',
        high: 'Cao',
        low: 'Thấp',
      },
      outputVars: {
        output: 'Tạo nội dung',
        usage: 'Thông tin Sử dụng Mô hình',
      },
      singleRun: {
        variable: 'Biến',
      },
    },
    knowledgeRetrieval: {
      queryVariable: 'Biến Truy vấn',
      knowledge: 'Kiến thức',
      outputVars: {
        output: 'Dữ liệu phân đoạn truy xuất',
        content: 'Nội dung phân đoạn',
        title: 'Tiêu đề phân đoạn',
        icon: 'Biểu tượng phân đoạn',
        url: 'URL phân đoạn',
        metadata: 'Các siêu dữ liệu khác',
      },
    },
    http: {
      inputVars: 'Biến đầu vào',
      api: 'API',
      apiPlaceholder: 'Nhập URL, nhập ‘/’ chèn biến',
      notStartWithHttp: 'API phải bắt đầu bằng http:// hoặc https://',
      key: 'Khóa',
      value: 'Giá trị',
      bulkEdit: 'Chỉnh sửa hàng loạt',
      keyValueEdit: 'Chỉnh sửa Khóa-Giá trị',
      headers: 'Tiêu đề',
      params: 'Tham số',
      body: 'Nội dung',
      outputVars: {
        body: 'Nội dung Phản hồi',
        statusCode: 'Mã trạng thái Phản hồi',
        headers: 'Danh sách Tiêu đề Phản hồi JSON',
        files: 'Danh sách Tệp',
      },
      authorization: {
        'authorization': 'Xác thực',
        'authorizationType': 'Loại Xác thực',
        'no-auth': 'Không',
        'api-key': 'Khóa API',
        'auth-type': 'Loại Xác thực',
        'basic': 'Cơ bản',
        'bearer': 'Bearer',
        'custom': 'Tùy chỉnh',
        'api-key-title': 'Khóa API',
        'header': 'Tiêu đề',
      },
      insertVarPlaceholder: 'nhập \'/\' để chèn biến',
      timeout: {
        title: 'Hết thời gian',
        connectLabel: 'Hết thời gian kết nối',
        connectPlaceholder: 'Nhập thời gian kết nối bằng giây',
        readLabel: 'Hết thời gian đọc',
        readPlaceholder: 'Nhập thời gian đọc bằng giây',
        writeLabel: 'Hết thời gian ghi',
        writePlaceholder: 'Nhập thời gian ghi bằng giây',
      },
    },
    code: {
      inputVars: 'Biến đầu vào',
      outputVars: 'Biến đầu ra',
    },
    templateTransform: {
      inputVars: 'Biến đầu vào',
      code: 'Mã',
      codeSupportTip: 'Chỉ hỗ trợ Jinja2',
      outputVars: {
        output: 'Nội dung đã chuyển đổi',
      },
    },
    ifElse: {
      if: 'Nếu',
      else: 'Ngược lại',
      elseDescription: 'Được sử dụng để xác định logic sẽ được thực hiện khi điều kiện if không được đáp ứng.',
      and: 'và',
      or: 'hoặc',
      operator: 'Toán tử',
      notSetVariable: 'Vui lòng thiết lập biến trước',
      comparisonOperator: {
        'contains': 'chứa',
        'not contains': 'không chứa',
        'start with': 'bắt đầu bằng',
        'end with': 'kết thúc bằng',
        'is': 'là',
        'is not': 'không phải là',
        'empty': 'trống',
        'not empty': 'không trống',
        'null': 'null',
        'not null': 'không null',
      },
      enterValue: 'Nhập giá trị',
      addCondition: 'Thêm Điều kiện',
      conditionNotSetup: 'Điều kiện CHƯA được thiết lập',
    },
    variableAssigner: {
      title: 'Gán biến',
      outputType: 'Loại đầu ra',
      outputVarType: 'Loại Biến đầu ra',
      varNotSet: 'Biến không được thiết lập',
      noVarTip: 'Thêm các biến cần gán',
      type: {
        string: 'Chuỗi',
        number: 'Số',
        object: 'Đối tượng',
        array: 'Mảng',
      },
      outputVars: {
        output: 'Giá trị biến được gán',
      },
    },
    tool: {
      toAuthorize: 'Để ủy quyền',
      inputVars: 'Biến đầu vào',
      outputVars: {
        text: 'nội dung được tạo ra bởi công cụ',
        files: {
          title: 'tệp được tạo ra bởi công cụ',
          type: 'Loại hỗ trợ. Hiện chỉ hỗ trợ hình ảnh',
          transfer_method: 'Phương pháp chuyển. Giá trị là remote_url hoặc local_file',
          url: 'URL Hình ảnh',
          upload_file_id: 'ID tệp tải lên',
        },
      },
    },
    questionClassifiers: {
      model: 'mô hình',
      inputVars: 'Biến đầu vào',
      outputVars: {
        className: 'Tên phân loại',
      },
      class: 'Lớp',
      classNamePlaceholder: 'Viết tên lớp của bạn',
      advancedSetting: 'Cài đặt Nâng cao',
      topicName: 'Tên Chủ đề',
      topicPlaceholder: 'Viết tên chủ đề của bạn',
      addClass: 'Thêm Lớp',
      instruction: 'Hướng dẫn',
      instructionPlaceholder: 'Viết hướng dẫn của bạn',
    },
  },
  tracing: {
    stopBy: 'Dừng lại bởi {{user}}',
  },
}

export default translation
