export default {
  app: {
    name: 'Hotel OMS',
    theme: 'ธีม',
    language: 'ภาษา',
    navigationAria: 'เมนูการจอง',
    healthUp: 'เชื่อมต่อหลังบ้านแล้ว',
    healthDown: 'หลังบ้านออฟไลน์',
    healthChecking: 'กำลังตรวจสอบ',
  },
  auth: {
    loginTitle: 'เข้าสู่ระบบ',
    loginSubtitle: 'ใช้บัญชีระบบเพื่อเข้าสู่พื้นที่ทำงานการจองของ TH Hotel',
    username: 'ชื่อผู้ใช้',
    password: 'รหัสผ่าน',
    loginSubmit: 'เข้าสู่ระบบ',
    loggingIn: 'กำลังเข้าสู่ระบบ',
    loginFailed: 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง',
    logout: 'ออกจากระบบ',
    currentUser: 'ผู้ใช้ปัจจุบัน',
    currentHotel: 'โรงแรมปัจจุบัน',
    unauthorizedTitle: 'ไม่มีสิทธิ์เข้าถึง',
    unauthorizedMessage: 'บัญชีนี้ไม่มีสิทธิ์เข้าถึงหน้านี้หรือการดำเนินการนี้',
    backHome: 'กลับไปหน้าที่เข้าถึงได้',
  },
  nav: {
    orders: 'รายการออเดอร์',
    taskQueue: 'คิวงาน',
    sourceMessages: 'แหล่งที่มาข้อความ',
    systemStatus: 'สถานะระบบ',
    orderDetail: 'รายละเอียดออเดอร์',
    taskDetail: 'รายละเอียดงาน',
    sourceMessageConversation: 'เธรดอีเมล',
    debugEml: 'Debug EML',
  },
  common: {
    loading: 'กำลังโหลด',
    noData: 'ไม่มีข้อมูล',
    endpointPending: 'รอเชื่อมต่อ API',
    endpointMissing: 'ยังขาดข้อมูลจาก API',
    all: 'ทั้งหมด',
    unknownStatus: 'สถานะไม่ทราบ',
    unknownTaskType: 'ประเภทงานไม่ทราบ',
    unknownTaskSubtype: 'ประเภทย่อยไม่ทราบ',
    unknownReadonlyReason: 'ยังประมวลผลไม่ได้',
    unknownActorType: 'ผู้ดำเนินการไม่ทราบ',
    unknownAuditAction: 'การดำเนินการไม่ทราบ',
    unknownOperation: 'การดำเนินการไม่ทราบ',
    previousPage: 'หน้าก่อนหน้า',
    nextPage: 'หน้าถัดไป',
    pageStatus: 'หน้า {current} / {total}',
    pageSize: 'ต่อหน้า',
  },
  workbench: {
    title: 'โต๊ะงานออเดอร์',
    subtitle: 'ดู กรอง และจัดการงานออเดอร์การจอง',
    filters: 'ตัวกรอง',
    dateRange: 'ช่วงวันที่',
    businessKey: 'เลขธุรกิจ / เลขชั่วคราว',
    orderStatus: 'สถานะออเดอร์',
    taskStatus: 'สถานะงาน',
    taskCardType: 'ประเภทการ์ดงาน',
    reset: 'รีเซ็ต',
    tableTitle: 'ออเดอร์ / งาน',
    columns: {
      businessKey: 'เลขธุรกิจ',
      orderStatus: 'สถานะออเดอร์',
      currentTask: 'งานปัจจุบัน',
      taskStatus: 'สถานะงาน',
      updatedAt: 'อัปเดตล่าสุด',
      operation: 'การดำเนินการ',
    },
    view: 'ดู',
    totalPrefix: 'รวม',
    totalSuffix: 'รายการงาน',
  },
  orderList: {
    title: 'รายการออเดอร์',
    subtitle: 'ดูงานการจองตามออเดอร์',
    keyword: 'เลขกรุ๊ป / เลขยืนยัน',
    keywordPlaceholder: 'เลขกรุ๊ป / เลขยืนยัน',
    groupCode: 'เลขกรุ๊ป',
    groupCodePlaceholder: 'กรอกเลขกรุ๊ป',
    confirmationNumber: 'เลขยืนยัน',
    confirmationNumberPlaceholder: 'กรอกเลขยืนยัน',
    tableTitle: 'ข้อมูลออเดอร์',
    totalSuffix: 'ออเดอร์',
    viewDetail: 'ดูรายละเอียด',
    continueTask: 'ทำงานต่อ',
    noOpenTask: 'ไม่มีงานค้าง',
    endpointPending: 'API รายการออเดอร์ยังไม่เชื่อมต่อ จึงไม่แสดงข้อมูลจำลอง',
    columns: {
      order: 'ออเดอร์',
      status: 'สถานะ',
      openTasks: 'งานที่ยังไม่ปิด',
      createdAt: 'เวลาสร้าง',
    },
  },
  order: {
    summary: 'สรุปออเดอร์',
    taskQueue: 'คิวงานของออเดอร์นี้',
    sourceMessage: 'ข้อความต้นทาง',
    businessKeySource: 'แหล่งที่มาของเลขธุรกิจ',
    updatedAt: 'อัปเดตล่าสุด',
    guestName: 'แขก',
    arrivalDate: 'วันเข้าพัก',
    roomType: 'ประเภทห้อง',
    amount: 'ยอดเงิน',
    openTask: 'จัดการงาน',
    groupCode: 'เลขกรุ๊ป (Group Code)',
    confirmationNumber: 'เลขยืนยัน (Confirmation No.)',
    temporaryOrderNo: 'เลขออเดอร์ชั่วคราว',
    blockCode: 'เลขบล็อกกรุ๊ป (Block Code)',
    createdAt: 'เวลาสร้าง',
    conversationMessageCount: 'จำนวนอีเมลในเธรด',
    sourceSummaryPending: 'ข้อมูลสรุปอีเมลต้นทางในไทม์ไลน์งานยังรอหลังบ้านเพิ่มเติม โปรดเข้าไปดูจากงานที่เกี่ยวข้อง',
  },
  taskList: {
    title: 'รายการงาน',
    subtitle: 'ดูคิวงานการจองตามงาน',
    keyword: 'คำค้นออเดอร์ / อีเมล',
    keywordPlaceholder: 'เลขออเดอร์ / คำค้นอีเมล',
    taskType: 'ประเภทงาน',
    taskSubtype: 'ประเภทย่อยของงาน',
    tableTitle: 'ข้อมูลงาน',
    totalSuffix: 'งาน',
    noSourceSubject: 'ไม่มีหัวข้ออีเมลต้นทาง',
    canProcess: 'ประมวลผลได้',
    cannotProcess: 'ประมวลผลไม่ได้',
    queueParticipation: 'อยู่ในคิวหรือไม่',
    queueAll: 'สถานะคิวทั้งหมด',
    queueIncluded: 'อยู่ในคิว',
    queueExcluded: 'ไม่อยู่ในคิว',
    viewTask: 'ดูงาน',
    viewOrder: 'ดูออเดอร์',
    viewConversation: 'ดูเธรดอีเมล',
    columns: {
      task: 'งาน',
      order: 'ออเดอร์',
      card: 'การ์ดงาน',
      status: 'สถานะ',
      source: 'อีเมลต้นทาง',
      queue: 'คิว',
    },
  },
  task: {
    title: 'การ์ดงาน',
    fieldContract: 'สัญญาข้อมูล',
    evidence: 'หลักฐาน',
    saveDraft: 'บันทึกร่าง',
    confirm: 'ยืนยันงาน',
    blocked: 'ถูกบล็อก',
    readOnly: 'อ่านอย่างเดียว',
    operaOperations: 'การจำลอง OPERA',
    audits: 'ไทม์ไลน์ตรวจสอบ',
    noOperations: 'การจำลอง OPERA จะถูกสร้างหลังยืนยันงาน',
    noAudits: 'ยังไม่มีบันทึกตรวจสอบ',
    execute: 'ดำเนินการ',
    retry: 'ลองใหม่',
    simulateFailure: 'จำลองความล้มเหลว',
    fieldNotes: 'หมายเหตุข้อมูล',
    emptyValue: 'ยังไม่กรอก',
    attachments: 'ไฟล์แนบ',
    fieldAreaFallback: 'ข้อมูลพื้นฐาน',
    savedLocally: 'บันทึกร่างแล้ว',
    confirmedLocally: 'ยืนยันงานแล้ว',
    validationFailed: 'โปรดแก้ไขข้อมูลก่อน',
    validation: {
      required: '{field} จำเป็นต้องกรอก',
      enum: '{field} ต้องเลือกจากตัวเลือกที่กำหนด',
      date: '{field} ต้องใช้รูปแบบวันที่ YYYY-MM-DD',
      number: '{field} ต้องเป็นตัวเลข',
    },
    viewOrder: 'ดูออเดอร์',
    viewConversation: 'ดูเธรดอีเมล',
    sourceMessageId: 'รหัสข้อความต้นทาง (ID)',
    sourceSubject: 'หัวข้อต้นทาง',
    sourceSender: 'ผู้ส่ง',
    sourceReceivedAt: 'เวลารับ',
    sourceSummaryPending: 'ข้อมูลสรุปอีเมลต้นทางยังรอหลังบ้านเพิ่มเติม',
    manualConversion: {
      title: 'แปลงงานด้วยคน',
      description: 'แปลงงาน Fallback / งานตรวจสอบด้วยคนให้เป็นงานการจองที่ประมวลผลได้',
      targetTaskType: 'ประเภทงานปลายทาง',
      targetOrder: 'ออเดอร์ปลายทาง',
      targetOrderHelp: 'งานแก้ไขหรือยกเลิกต้องเลือกออเดอร์ที่ยังไม่ถูกลบ',
      targetOrderKeyword: 'ค้นหาออเดอร์ปลายทาง',
      targetOrderKeywordPlaceholder: 'เลขกรุ๊ป เลขยืนยัน หรือคำค้นออเดอร์',
      searchTargetOrders: 'ค้นหาออเดอร์',
      noTargetOrderCandidates: 'กรอกคำค้นแล้วค้นหาออเดอร์ปลายทาง',
      orderDeletedDisabled: 'เลือกออเดอร์ที่ถูกลบแล้วไม่ได้',
      newBookingHint: 'การแปลงเป็นจองใหม่ไม่จำเป็นต้องเลือกออเดอร์ปลายทาง ระบบหลังบ้านจะจัดออเดอร์ตามบริบทงาน',
      reason: 'เหตุผลการแปลง',
      reasonPlaceholder: 'ไม่บังคับ ระบุเหตุผลการตัดสินใจ',
      submit: 'แปลงงาน',
      targetOrderRequired: 'โปรดเลือกออเดอร์ปลายทาง',
      succeeded: 'แปลงงานสำเร็จ: {taskType}, ออเดอร์ปลายทาง {orderId}',
      orderId: 'รหัสออเดอร์',
    },
  },
  conversation: {
    title: 'รายละเอียดเธรดอีเมล',
    subtitle: 'ดูอีเมลทั้งหมดและการตอบกลับในเธรดต้นทาง',
    endpointPending: 'API รายละเอียดเธรดอีเมลยังไม่เชื่อมต่อ จึงไม่แสดงข้อมูลจำลอง',
    subject: 'หัวข้อเธรด',
    messageCount: 'จำนวนอีเมล',
    channel: 'ช่องทาง',
    firstReceivedAt: 'รับครั้งแรก',
    lastReceivedAt: 'รับล่าสุด',
    emptyBody: 'เนื้อหาอีเมลว่าง',
    attachments: 'ไฟล์แนบ / รูปภาพในอีเมล',
    unnamedAttachment: 'ไฟล์แนบไม่มีชื่อ',
    relatedOrders: 'ออเดอร์ที่เกี่ยวข้อง',
    relatedTasks: 'งานที่เกี่ยวข้อง',
  },
  debugEml: {
    title: 'อัปโหลด Debug EML',
    subtitle: 'อัปโหลดอีเมล .eml หนึ่งฉบับและดูผล Debug ของ SourceMessage กับ SuperAgent',
    uploadConfig: 'ค่าการอัปโหลด',
    hotelId: 'Hotel ID',
    debugUploadKey: 'คีย์อัปโหลด Debug',
    runLabel: 'ป้ายกำกับรัน',
    emlFile: 'ไฟล์ .eml',
    submit: 'ส่ง Debug',
    submitting: 'รอ SuperAgent',
    executionStatus: 'สถานะการทำงาน',
    status: 'สถานะ',
    debugRunId: 'Debug run ID',
    backendStatus: 'สถานะจากระบบหลังบ้าน',
    backendMessage: 'ข้อความจากระบบหลังบ้าน',
    waitingSuperAgent: 'กำลังแยกอีเมลและรอ SuperAgent ตอบกลับ',
    sourceTrace: 'การติดตาม SourceMessage',
    sourceMessageId: 'SourceMessage ID',
    sourceProvider: 'Source provider',
    externalMessageId: 'External message ID',
    externalConversationId: 'External conversation ID',
    mailPreview: 'ตัวอย่างอีเมล',
    noSafeHtml: 'ยังไม่มี HTML ที่ปลอดภัยสำหรับแสดงผล',
    uploadedMedia: 'สื่อที่อัปโหลด',
    unnamedMedia: 'สื่อไม่มีชื่อ',
    rawHtml: 'HTML หลังประมวลผลดิบ',
    superAgentResult: 'ผลจาก SuperAgent',
    superAgentSessionId: 'SuperAgent session ID',
    superAgentRunId: 'SuperAgent run ID',
    parsedJson: 'JSON ที่แยกแล้ว',
    rawAnswer: 'คำตอบดิบ',
    warnings: 'คำเตือน',
    debugPayload: 'Debug payload',
    statuses: {
      idle: 'รออัปโหลด',
      uploading: 'กำลังทำงาน',
      succeeded: 'สำเร็จ',
      failed: 'ล้มเหลว',
    },
    errors: {
      REQUEST_FIELD_REQUIRED: 'ขาดข้อมูลจำเป็น โปรดตรวจ Hotel ID ไฟล์ หรือพารามิเตอร์คำขอ',
      EML_FILE_REQUIRED: 'โปรดเลือกไฟล์อีเมล .eml',
      EML_FILE_TOO_LARGE: 'ไฟล์อีเมลเกินขนาดที่หลังบ้านกำหนด',
      INVALID_FILE_TYPE: 'รองรับเฉพาะไฟล์อีเมล .eml',
      DEBUG_UPLOAD_KEY_INVALID: 'คีย์อัปโหลด Debug ขาดหายหรือไม่ถูกต้อง',
      EML_PARSE_FAILED: 'ไม่สามารถแยกไฟล์อีเมลได้',
      OSS_UPLOAD_FAILED: 'อัปโหลด OSS ล้มเหลว โปรดให้หลังบ้านตรวจสอบ',
      SUPERAGENT_OPEN_API_FAILED: 'เรียก SuperAgent ล้มเหลว SourceMessage อาจถูกบันทึกแล้ว',
      DEBUG_EML_RUN_FAILED: 'กระบวนการ Debug EML ล้มเหลวภายใน',
      UNKNOWN: 'อัปโหลด Debug EML ล้มเหลว',
    },
  },
  status: {
    TEMPORARY: 'ชั่วคราว',
    ACTIVE: 'ใช้งานอยู่',
    ENDED: 'สิ้นสุดแล้ว',
    LOGIC_DELETED: 'ลบแล้ว',
    PENDING_CONFIRM: 'รอยืนยัน',
    READY: 'รอดำเนินการ',
    EXECUTING: 'กำลังดำเนินการ',
    FAILED: 'ล้มเหลว',
    COMPLETED: 'เสร็จแล้ว',
    PENDING: 'รอดำเนินการ',
    SUCCEEDED: 'สำเร็จ',
    BLOCKED: 'ถูกบล็อก',
    SKIPPED: 'ข้าม',
  },
  cardType: {
    NEW_BOOKING: 'จองใหม่',
    UPDATE_BOOKING: 'แก้ไขการจอง',
    CANCEL_BOOKING: 'ยกเลิกการจอง',
    VOUCHER: 'วอเชอร์',
    ROOMING_LIST: 'รายชื่อห้องพัก',
    AMEND_GROUP_CODE: 'แก้ไขเลขกรุ๊ป',
    TRACE_NOTE: 'หมายเหตุติดตาม (Trace)',
    TA_RECORD: 'ข้อมูลบริษัททัวร์',
    MESSAGE_NOTIFICATION: 'แจ้งเตือนข้อความ',
    MANUAL_REVIEW: 'ตรวจสอบด้วยคน',
    FALLBACK_REVIEW: 'ตรวจสอบด้วยคน',
  },
  taskSubtype: {
    NEW_BOOKING: 'จองใหม่',
    UPDATE_BOOKING: 'แก้ไขการจอง',
    CANCEL_BOOKING: 'ยกเลิกการจอง',
    RATE_CHANGE: 'ปรับราคา',
    UPDATE_STAY_DATES: 'แก้ไขวันเข้าพัก',
    UPDATE_ROOM_TYPE: 'แก้ไขประเภทห้อง',
    UPDATE_FIX_CHARGE: 'แก้ไขค่าบริการคงที่',
    NEW_GROUP_BLOCK: 'บล็อกกรุ๊ปใหม่',
    NEW_FIT_RESERVATION: 'จองรายบุคคลใหม่',
    MANUAL_REVIEW: 'ตรวจสอบด้วยคน',
  },
  readonlyReason: {
    PROCESSABLE: 'ประมวลผลได้',
    PREVIOUS_TASK_NOT_FINISHED: 'งานก่อนหน้ายังไม่เสร็จ',
    TASK_FINISHED: 'งานเสร็จแล้ว',
    TASK_READ_ONLY: 'งานเป็นอ่านอย่างเดียว',
    ORDER_CLOSED: 'ออเดอร์ปิดแล้ว',
    QUEUE_EXCLUDED: 'ไม่อยู่ในคิว',
    BLOCKED: 'ถูกบล็อก',
  },
  actorType: {
    USER: 'ผู้ใช้',
    SYSTEM: 'ระบบ',
    AI: 'AI',
    AGENT: 'ผู้ช่วยภายนอก',
    BACKEND: 'บริการหลังบ้าน',
  },
  auditAction: {
    TASK_CREATED: 'สร้างงาน',
    TASK_LOADED: 'อ่านงาน',
    TASK_CONFIRMED: 'ยืนยันงาน',
    TASK_CONFIRM: 'ยืนยันงาน',
    DRAFT_SAVED: 'บันทึกร่าง',
    TASK_UPDATED: 'อัปเดตงาน',
    OPERA_EXECUTED: 'ดำเนินการ OPERA',
    OPERA_RETRIED: 'ลอง OPERA ใหม่',
    MANUAL_REVIEW_CREATED: 'สร้างงานตรวจสอบด้วยคน',
    MANUAL_REVIEW_CONVERT: 'แปลงงานด้วยคน',
  },
  operaOperation: {
    CREATE_RESERVATION: 'สร้างการจอง',
    UPDATE_RESERVATION: 'อัปเดตการจอง',
    CANCEL_RESERVATION: 'ยกเลิกการจอง',
    UPDATE_ROOMING_LIST: 'อัปเดตรายชื่อห้องพัก',
    ADD_TRACE_NOTE: 'เพิ่มหมายเหตุติดตาม',
  },
}
