Files
th-hotel-simple/client/src/i18n/locales/zh-CN.ts
2026-07-17 17:24:19 +07:00

686 lines
25 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: '任务队列',
manualInvoice: '手工开票',
sourceMessages: '消息来源',
systemStatus: '系统状态',
orderDetail: '订单详情',
taskDetail: '任务详情',
sourceMessageConversation: '邮件会话',
debugEml: 'Debug EML',
systemSettings: '系统设置',
systemUsers: '用户管理',
systemRoles: '角色权限',
systemMenus: '菜单管理',
systemHotels: '酒店管理',
systemAudits: '管理审计',
},
common: {
loading: '加载中',
noData: '暂无数据',
endpointPending: '接口待接入',
endpointMissing: '接口待补',
all: '全部',
unknownStatus: '未知状态',
unknownTaskType: '未知任务类型',
unknownTaskSubtype: '未知任务细分',
unknownReadonlyReason: '暂不可处理',
unknownActorType: '未知操作者',
unknownAuditAction: '未知操作',
unknownOperation: '未知操作',
previousPage: '上一页',
nextPage: '下一页',
pageStatus: '第 {current} / {total} 页',
pageSize: '每页',
refresh: '刷新',
saving: '保存中',
cancel: '取消',
},
notFound: {
title: '页面不可用',
message: '当前菜单或链接对应的前端页面尚未接入。',
backHome: '返回可访问页面',
},
systemAdmin: {
title: '系统设置',
subtitle: '维护用户、角色权限、菜单和酒店资料',
navigationAria: '系统设置导航',
common: {
keyword: '关键词',
viewDetail: '查看详情',
selectRow: '选择一行查看详情',
create: '新增',
save: '保存',
edit: '编辑',
yes: '是',
no: '否',
},
status: {
ACTIVE: '启用',
DISABLED: '禁用',
},
users: {
title: '用户筛选',
tableTitle: '用户数据',
detailTitle: '用户详情',
createTitle: '新增用户',
totalSuffix: '个用户',
keywordPlaceholder: '用户名 / 展示名 / 邮箱',
userStatus: '用户状态',
username: '用户名',
initialPassword: '初始密码',
displayName: '展示名称',
email: '邮箱',
phone: '手机号',
roles: '角色',
hotels: '授权酒店',
defaultHotel: '默认酒店',
saveRoles: '保存角色',
saveHotels: '保存酒店授权',
resetPassword: '重置密码',
temporaryPassword: '临时密码:',
created: '用户已创建',
columns: {
user: '用户',
status: '状态',
roles: '角色',
defaultHotel: '默认酒店',
},
},
roles: {
title: '角色筛选',
tableTitle: '角色数据',
detailTitle: '角色详情',
createTitle: '新增自定义角色',
totalSuffix: '个角色',
keywordPlaceholder: '角色代码 / 角色名称',
roleStatus: '角色状态',
roleCode: '角色代码',
roleName: '角色名称',
builtinReadonly: '内置角色由系统启动矩阵维护,不能在页面修改。',
savePermissions: '保存权限',
columns: {
role: '角色',
status: '状态',
builtin: '内置',
permissions: '权限',
users: '用户数',
},
},
menus: {
title: '菜单筛选',
managementTitle: '菜单管理',
managementHint: '维护侧边栏菜单的父子层级、排序、可见性和权限入口。',
createTitle: '新增菜单',
editTitle: '编辑菜单',
tableTitle: '菜单数据',
totalSuffix: '个菜单',
keywordPlaceholder: '菜单代码 / 名称 / 路由',
menuStatus: '菜单状态',
visibleOnly: '只看可见菜单',
treeWarningTitle: '菜单树存在异常配置',
treeWarningHint: '后端已返回菜单树,但以下配置需要管理员确认。',
treeTitle: '菜单树',
treeDirty: '树结构有未保存调整',
treeDirtyActionBlocked: '请先保存树结构后再继续操作。',
treeWarningSaveBlocked: '请先处理菜单树异常,确认父级关系正确后再保存树结构。',
saveTreeOrder: '保存树结构',
menuCode: '菜单代码',
menuName: '菜单名称',
parentMenu: '上级菜单',
rootMenu: '根菜单',
componentKey: '组件标识',
iconKey: '图标标识',
unknownRoute: '未知路由',
unknownRouteHint: '当前路由未被前端识别,菜单可能会进入未接入页面。',
permissionLoadFailed: '权限列表加载失败,权限选择和菜单配置保存暂不可用。',
moveUp: '上移',
moveDown: '下移',
columns: {
menu: '菜单',
route: '路由',
permission: '权限码',
visible: '可见',
status: '状态',
sort: '排序',
knownRoute: '已知路由',
},
},
hotels: {
title: '酒店筛选',
createTitle: '新增酒店',
editTitle: '编辑酒店',
tableTitle: '酒店数据',
totalSuffix: '家酒店',
keywordPlaceholder: '酒店 ID / 酒店名称',
hotelStatus: '酒店状态',
hotelId: '酒店 ID',
hotelName: '酒店名称',
saveStatus: '保存状态',
singleActiveRule: '单酒店阶段只允许一家 ACTIVE 酒店;新增酒店默认禁用。',
columns: {
hotel: '酒店',
status: '状态',
timeZone: '时区',
authorizedUsers: '授权用户',
sort: '排序',
},
},
audits: {
title: '审计筛选',
tableTitle: '管理审计数据',
totalSuffix: '条审计记录',
targetType: '对象类型',
targetId: '对象 ID',
action: '操作类型',
columns: {
action: '操作',
target: '对象',
actor: '操作者',
occurredAt: '发生时间',
},
},
},
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: '订单列表接口待后端接入,当前不展示假数据。',
columns: {
order: '订单',
status: '状态',
openTasks: '未关闭任务',
createdAt: '创建时间',
},
},
manualInvoice: {
title: '手工开票',
createTitle: '创建 Invoice',
subtitle: '无订单、无任务时,手工填写 Proforma Invoice 字段并生成 PDF。',
sourceBadge: '手工生成',
independentHint: '本页第一版不关联订单或任务,生成记录和审计由后端统一落库。',
documentSection: '单据信息',
recipientSection: '收件方',
bookingSection: '预订信息',
chargesSection: '费用明细',
previewSection: '金额预览',
resultSection: '生成结果',
invoiceDate: '开票日期Invoice Date',
bookingDate: '预订日期Booking Date',
dueDate: '付款截止日期Due Date',
companySeed: '选择公司Company',
contactSeed: '选择收件人Attention',
selectCompany: '请选择公司',
selectContact: '请选择收件人',
company: '公司Company',
attention: '收件人Attention',
address: '地址Address',
companyInputPlaceholder: '输入公司名称',
attentionInputPlaceholder: '输入收件人',
addressInputPlaceholder: '输入客户完整账单地址',
telephone: 'Tel',
email: 'Email',
groupName: '团队名称Group Name',
arrivalDate: '到店日期Arrival Date',
departureDate: '离店日期Departure Date',
roomRateNote: '房价备注Room Rate Note',
roomRateNotePlaceholder: '例如 including BF',
extraBedRate: '加床价格Extra Bed Rate',
description: '费用描述Description',
roomType: '房型Room Type',
quantity: '数量Quantity',
rate: '单价Rate',
nights: '晚数Nights',
amount: 'Amount',
subtotal: 'Sub-Total',
vat: 'VAT 7%',
total: 'Total',
addCharge: '新增一行',
removeCharge: '删除',
chargeLineLabel: '第 {index} 行',
removeChargeLineAria: '删除第 {index} 行',
maxChargesReached: '第一版最多支持 10 条费用明细。',
previewDisclaimer: '前端仅做金额预览,最终金额以后端返回 totals 为准。',
manualOverrideHint: '选择 Company / Attention 后会自动带出资料,带出的文本仍可手工覆盖。',
generate: '确认并生成 PDF',
generating: '生成中',
openPdf: '打开 PDF',
downloadPdf: '下载 PDF',
downloadingPdf: '下载中',
downloadFallback: '浏览器未能直接下载,已尝试打开 PDF 页面。',
technicalDetails: '技术详情',
generationId: '生成记录 ID',
generationStatus: '生成状态',
pdfUrl: 'PDF 链接',
hotelId: '酒店 ID',
templateCode: '模板',
createdAt: '创建时间',
noPdfUrl: '后端未返回 PDF 链接。',
backendTotals: '后端返回金额',
validationTitle: '请先修正表单',
fieldErrors: {
required: '必填',
invalidEmail: 'Email 格式不正确',
dateOrder: '日期顺序不正确',
positiveNumber: '必须大于 0',
nonNegativeNumber: '不能小于 0',
},
statuses: {
SUCCEEDED: '已生成',
GENERATED: '已生成',
FAILED: '生成失败',
PROCESSING: '生成中',
},
errors: {
FRONTEND_VALIDATION: '表单校验未通过,请检查必填字段和费用明细。',
RESERVATION_INVOICE_VALIDATION_FAILED: 'Invoice 字段校验失败,请检查表单内容。',
RESERVATION_INVOICE_CONTEXT_MISMATCH: '订单或任务上下文不匹配。',
DOCUMENT_CONVERSION_FAILED: 'PDF 生成失败,请稍后重试或联系管理员。',
DOCUMENT_CONVERSION_TIMEOUT: 'PDF 生成超时,请稍后重试。',
AUTH_401: '登录已失效,请重新登录后再生成。',
AUTH_403: '当前账号没有手工开票权限。',
UNKNOWN: '生成失败,请稍后重试。',
requiredFields: '请补充日期、收件方、预订信息和至少一条有效费用明细。',
invalidEmail: 'Email 格式不正确。',
dueDateBeforeBookingDate: 'Due Date 不能早于 Booking 日期。',
departureBeforeArrival: 'Departure Date 必须晚于 Arrival Date。',
extraBedNegative: '加床价格不能小于 0。',
chargePositive: '费用明细的 Quantity、Rate、Nights 必须大于 0。',
},
},
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: '暂无来源主题',
sourceReceivedAt: '来源时间',
canProcess: '可处理',
cannotProcess: '不可处理',
queueParticipation: '是否参与队列',
queueAll: '全部队列状态',
queueIncluded: '参与队列',
queueExcluded: '不参与队列',
viewTask: '查看任务',
viewOrder: '查看订单',
viewConversation: '查看邮件会话',
sourceOnlyOrderLabel: '来源消息只读',
hiddenTechnicalOrder: '不关联可见订单',
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: '查看邮件会话',
parentGroup: 'Parent Group',
sourceMessageId: '来源消息编号ID',
sourceSubject: '来源主题',
sourceSender: '发件人',
sourceReceivedAt: '接收时间',
sourceSummaryPending: '来源邮件摘要字段待后端补充',
sourceEmailPreview: '来源邮件预览',
sourceEmailExcerpt: '邮件片段',
sourceEmailAttachments: '相关附件',
sourceEmailNoExcerpt: '暂无邮件片段',
sourceEmailNoAttachments: '无附件',
sourceEmailFullConversation: '查看完整邮件会话',
sourceOnlyResult: '来源消息入口结果',
sourceOnlyReadonly: '该任务仅用于展示来源消息入口结果,不进入订单处理、字段编辑或 OPERA 操作。',
sourceOnlyNoOpera: '该类任务不涉及 OPERA 操作。',
routeInfo: '路由与处理信息',
resultType: '识别结果类型',
aiTaskType: 'AI 任务类型',
systemTaskType: '系统任务类型',
taskCardType: '任务卡类型',
taskSubtype: '任务细分',
routeCode: '路由代码',
systemProcessCategory: '系统处理分类',
reviewStatus: '复核状态',
entryResultCode: '入口结果码',
entryResultMeaning: '结果含义',
entryResultDescription: '结果说明',
entryResultSourceMessageId: '结果来源消息编号',
rawAnswer: 'SuperAgent 原始回答',
agentAssessment: 'AI 原始字段',
sourceNotification: '来源消息通知',
manualReviewData: '人工复核信息',
manualReviewEvidence: '人工复核证据',
manualReviewEvidenceFallback: '请根据来源邮件和候选信息确认 Parent Group 身份。',
manualReviewMissingFields: '缺失字段',
manualReviewBlockingPoints: '阻塞点',
manualReviewConflictingPoints: '冲突点',
manualReviewSuggestedActions: '建议动作',
manualReviewEvidenceToCheck: '建议核对证据',
parentIdentityCandidates: 'Parent Group 候选',
parentIdentityCandidate: '候选项',
noParentIdentityCandidates: '暂无 Parent Group 候选;需要后端透出 context_used.parent_identity_candidates。',
adapterContractErrors: '适配契约异常',
unhandledIntents: '未处理意图',
noSourceOnlyResult: '暂无来源消息入口结果。',
manualResolution: {
title: '人工复核解阻',
description: '在原任务卡上补齐缺失字段,提交后由后端校验并解除阻塞。',
pendingStatus: '待复核',
resolvedTitle: '复核已完成',
reasonCode: '复核原因代码',
reviewInstruction: '复核说明',
confirmedOrderId: '确认订单编号',
fieldValuePlaceholder: '填写确认后的值',
noSupportedMissingFields: '当前缺失字段暂不支持前端解阻,请联系后端确认字段映射。',
unopenedFieldsTitle: '未开放编辑字段',
fieldBackendUnopened: '当前字段后端未开放编辑',
fieldRequired: '请填写缺失字段和确认订单编号',
reason: '处理说明',
reasonPlaceholder: '可选,说明人工判断依据',
submit: '提交复核结果',
succeeded: '人工复核已解阻,任务状态已刷新。',
},
manualConversion: {
title: '人工转换',
description: '将人工复核任务转换为可处理的预订任务。',
targetTaskType: '目标任务类型',
targetOrder: '目标订单',
targetOrderHelp: '修改或取消预订必须选择一个未删除订单。',
targetOrderKeyword: '目标订单搜索',
targetOrderKeywordPlaceholder: '团队号、确认号或订单关键词',
searchTargetOrders: '搜索订单',
noTargetOrderCandidates: '请输入关键词并搜索目标订单',
orderDeletedDisabled: '已删除订单不可选',
newBookingHint: '转为新预订时不强制选择目标订单,后端会按当前任务重新归属。',
reason: '转换原因',
reasonPlaceholder: '可选,说明人工判断依据',
submit: '转换任务',
targetOrderRequired: '请选择目标订单',
succeeded: '人工转换已完成:{taskType},目标订单 {orderId}',
orderId: '订单编号',
},
},
conversation: {
title: '邮件会话详情',
subtitle: '查看来源邮件所在会话下的全部历史邮件和回复',
endpointPending: '邮件会话详情接口待后端接入,当前不展示假数据。',
subject: '会话主题',
messageCount: '邮件数',
channel: '渠道',
firstReceivedAt: '首次接收',
lastReceivedAt: '最近接收',
emptyBody: '邮件正文为空',
attachments: '附件 / 内嵌图片',
unnamedAttachment: '未命名附件',
relatedOrders: '关联订单',
relatedTasks: '关联任务',
},
debugEml: {
title: 'Debug EML 调试上传',
subtitle: '上传单封 .eml 邮件并查看 SourceMessage 与 SuperAgent 调试结果',
uploadConfig: '上传配置',
hotelId: '酒店 ID',
debugUploadKey: 'Debug 上传口令',
runLabel: '运行标签',
emlFile: '.eml 文件',
submit: '提交调试',
submitting: '等待 SuperAgent 返回',
executionStatus: '执行状态',
status: '状态',
debugRunId: 'Debug 运行 ID',
backendStatus: '后端状态',
backendMessage: '后端消息',
waitingSuperAgent: '正在解析邮件并等待 SuperAgent 返回',
systemStages: '本系统处理阶段',
superAgentTrace: 'SuperAgent Trace',
traceToolName: '工具',
traceInputSummary: '入参摘要',
traceOutputSummary: '出参摘要',
traceStatus: '状态',
traceTime: '时间',
sourceTrace: 'SourceMessage 追溯',
sourceMessageId: 'SourceMessage ID',
sourceProvider: '来源 Provider',
externalMessageId: '外部消息 ID',
externalConversationId: '外部会话 ID',
mailPreview: '邮件内容预览',
noSafeHtml: '当前没有可安全渲染的 HTML 正文',
uploadedMedia: '上传媒体',
unnamedMedia: '未命名媒体',
rawHtml: '原始处理 HTML',
superAgentResult: 'SuperAgent 结果',
superAgentSessionId: 'SuperAgent Session ID',
superAgentRunId: 'SuperAgent Run ID',
parsedJson: '解析 JSON',
rawAnswer: '原始回答',
warnings: '警告',
debugPayload: '调试 Payload',
statuses: {
idle: '待上传',
uploading: '执行中',
succeeded: '成功',
failed: '失败',
},
errors: {
REQUEST_FIELD_REQUIRED: '缺少必填字段,请检查酒店 ID、文件或请求参数',
EML_FILE_REQUIRED: '请选择 .eml 邮件文件',
EML_FILE_TOO_LARGE: '邮件文件超过后端限制',
INVALID_FILE_TYPE: '只支持 .eml 邮件文件',
DEBUG_UPLOAD_KEY_INVALID: '调试上传口令缺失或错误',
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: '取消预订',
CANCEL_ALLOTMENT: '取消 Parent Group 配额',
VOUCHER: '凭证',
ROOMING_LIST: '房表',
AMEND_GROUP_CODE: '修改团队号',
TRACE_NOTE: '追踪备注Trace',
TA_RECORD: '旅行社记录',
MESSAGE_NOTIFICATION: '消息通知',
INFORMATIONAL_MESSAGE: '消息通知(历史 Message Notification',
SOURCE_MESSAGE_REVIEW_NOTIFICATION: '来源消息通知',
SOURCE_MESSAGE_ONLY: '来源消息只读',
MANUAL_REVIEW: '人工复核',
FALLBACK_REVIEW: '人工复核',
},
taskSubtype: {
NEW_BOOKING: '新预订',
UPDATE_BOOKING: '修改预订',
CANCEL_BOOKING: '取消预订',
RATE_CHANGE: '价格调整',
UPDATE_STAY_DATES: '修改入住日期',
UPDATE_ROOM_TYPE: '修改房型',
UPDATE_FIX_CHARGE: '修改固定收费',
CANCEL_ALLOTMENT_CONTROL_BLOCK: '取消 Parent Group 整块配额',
NEW_GROUP_BLOCK: '新团队预留',
NEW_FIT_RESERVATION: '新散客预订',
MANUAL_REVIEW: '人工复核',
S10: '纯信息类邮件S10',
S99: '无法形成业务素材包S99',
S000: '纯信息类邮件',
S999: '无法形成业务素材包',
},
resultType: {
NORMAL_TASK: '普通任务',
MANUAL_REVIEW: '人工复核',
SOURCE_MESSAGE_REVIEW_NOTIFICATION: '来源消息通知',
ADAPTER_CONTRACT_ERROR: '适配契约异常',
UNHANDLED_CURRENT_INTENT: '未处理意图',
},
systemProcessCategory: {
BUSINESS_TASK: '业务任务',
SOURCE_MESSAGE_NOTIFICATION: '来源消息通知',
ADAPTER_CONTRACT_ERROR: '适配契约异常',
UNHANDLED_CURRENT_INTENT: '未处理意图',
},
readonlyReason: {
PROCESSABLE: '可处理',
PREVIOUS_TASK_NOT_FINISHED: '前序任务未完成',
TASK_FINISHED: '任务已结束',
TASK_READ_ONLY: '任务只读',
ORDER_CLOSED: '订单已关闭',
QUEUE_EXCLUDED: '未参与队列',
BLOCKED: '阻塞中',
MANUAL_REVIEW_REQUIRED: '需要人工复核',
},
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: '人工转换',
MANUAL_REVIEW_RESOLVED: '人工复核解阻',
},
operaOperation: {
CREATE_RESERVATION: '创建预订',
UPDATE_RESERVATION: '更新预订',
CANCEL_RESERVATION: '取消预订',
UPDATE_ROOMING_LIST: '更新房表',
ADD_TRACE_NOTE: '添加追踪备注',
},
}