Files
th-hotel-simple/client/src/i18n/locales/en-US.ts
2026-07-09 11:59:34 +08:00

250 lines
7.7 KiB
TypeScript

export default {
app: {
name: 'Hotel OMS',
theme: 'Theme',
language: 'Language',
navigationAria: 'Reservation navigation',
healthUp: 'Backend connected',
healthDown: 'Backend offline',
healthChecking: 'Checking',
},
nav: {
orders: 'Order list',
taskQueue: 'Task queue',
sourceMessages: 'Source messages',
systemStatus: 'System status',
orderDetail: 'Order detail',
taskDetail: 'Task detail',
sourceMessageConversation: 'Email conversation',
},
common: {
loading: 'Loading',
noData: 'No data',
endpointPending: 'Endpoint pending',
endpointMissing: 'Endpoint field pending',
all: 'All',
unknownStatus: 'Unknown status',
unknownTaskType: 'Unknown task type',
unknownTaskSubtype: 'Unknown task subtype',
unknownReadonlyReason: 'Not processable yet',
unknownActorType: 'Unknown actor',
unknownAuditAction: 'Unknown action',
unknownOperation: 'Unknown operation',
previousPage: 'Previous',
nextPage: 'Next',
pageStatus: 'Page {current} / {total}',
pageSize: 'Page size',
},
workbench: {
title: 'Order workbench',
subtitle: 'Review, filter, and handle Reservation order tasks',
filters: 'Filters',
dateRange: 'Date range',
businessKey: 'Business key / temporary code',
orderStatus: 'Order status',
taskStatus: 'Task status',
taskCardType: 'Task card type',
reset: 'Reset',
tableTitle: 'Orders / tasks',
columns: {
businessKey: 'Business key',
orderStatus: 'Order status',
currentTask: 'Current task',
taskStatus: 'Task status',
updatedAt: 'Last updated',
operation: 'Action',
},
view: 'View',
totalPrefix: 'Total',
totalSuffix: 'task leads',
},
orderList: {
title: 'Order list',
subtitle: 'Review Reservation work by order',
keyword: 'Group Code / Confirmation No.',
keywordPlaceholder: 'Group code / confirmation no.',
tableTitle: 'Order data',
totalSuffix: 'orders',
viewDetail: 'View detail',
continueTask: 'Continue task',
noOpenTask: 'No open task',
endpointPending: 'The order list endpoint is pending backend implementation. No fixture data is shown.',
columns: {
order: 'Order',
status: 'Status',
openTasks: 'Open tasks',
createdAt: 'Created at',
},
},
order: {
summary: 'Order summary',
taskQueue: 'Order task queue',
sourceMessage: 'Source message',
businessKeySource: 'Business key source',
updatedAt: 'Last updated',
guestName: 'Guest',
arrivalDate: 'Arrival date',
roomType: 'Room type',
amount: 'Amount',
openTask: 'Handle task',
groupCode: 'Group Code',
confirmationNumber: 'Confirmation No.',
temporaryOrderNo: 'Temporary order no.',
blockCode: 'Block Code',
createdAt: 'Created at',
conversationMessageCount: 'Conversation messages',
sourceSummaryPending: 'Source email summary fields for the order task timeline are pending backend support. Open a task for available source details.',
},
taskList: {
title: 'Task list',
subtitle: 'Review Reservation work by task queue',
keyword: 'Order / email keyword',
keywordPlaceholder: 'Order no. / email keyword',
taskType: 'Task type',
tableTitle: 'Task data',
totalSuffix: 'tasks',
noSourceSubject: 'No source subject',
canProcess: 'Processable',
cannotProcess: 'Not processable',
queueParticipation: 'Queue participation',
queueAll: 'All queue states',
queueIncluded: 'In queue',
queueExcluded: 'Not in queue',
viewTask: 'View task',
viewOrder: 'View order',
viewConversation: 'View email conversation',
columns: {
task: 'Task',
order: 'Order',
card: 'Task card',
status: 'Status',
source: 'Source email',
queue: 'Queue',
},
},
task: {
title: 'Task card',
fieldContract: 'Field contract',
evidence: 'Evidence',
saveDraft: 'Save draft',
confirm: 'Confirm task',
blocked: 'Blocked',
readOnly: 'Read only',
operaOperations: 'OPERA simulation',
audits: 'Audit timeline',
noOperations: 'OPERA simulation operations are created after confirmation.',
noAudits: 'No audit records yet.',
execute: 'Execute',
retry: 'Retry',
simulateFailure: 'Simulate failure',
fieldNotes: 'Field notes',
emptyValue: 'Empty',
attachments: 'Attachments',
fieldAreaFallback: 'Basic information',
savedLocally: 'Draft saved',
confirmedLocally: 'Task confirmed',
validationFailed: 'Fix field errors first',
validation: {
required: '{field} is required',
enum: '{field} must use one of the allowed options',
date: '{field} must use YYYY-MM-DD',
number: '{field} must be a number',
},
viewOrder: 'View order',
viewConversation: 'View email conversation',
sourceMessageId: 'Source message ID',
sourceSubject: 'Source subject',
sourceSender: 'Sender',
sourceReceivedAt: 'Received at',
sourceSummaryPending: 'Source email summary fields are pending backend support',
},
conversation: {
title: 'Email conversation detail',
subtitle: 'Review all messages in the source email conversation',
endpointPending: 'The email conversation detail endpoint is pending backend implementation. No fixture data is shown.',
subject: 'Conversation subject',
messageCount: 'Messages',
channel: 'Channel',
firstReceivedAt: 'First received',
lastReceivedAt: 'Last received',
emptyBody: 'Empty message body',
attachments: 'Attachments / inline images',
unnamedAttachment: 'Unnamed attachment',
relatedOrders: 'Related orders',
relatedTasks: 'Related tasks',
},
status: {
TEMPORARY: 'Temporary',
ACTIVE: 'Active',
ENDED: 'Ended',
LOGIC_DELETED: 'Deleted',
PENDING_CONFIRM: 'Pending confirmation',
READY: 'Ready',
EXECUTING: 'Executing',
FAILED: 'Failed',
COMPLETED: 'Completed',
PENDING: 'Pending',
SUCCEEDED: 'Succeeded',
BLOCKED: 'Blocked',
SKIPPED: 'Skipped',
},
cardType: {
NEW_BOOKING: 'New booking',
UPDATE_BOOKING: 'Update booking',
CANCEL_BOOKING: 'Cancel booking',
VOUCHER: 'Voucher',
ROOMING_LIST: 'Rooming list',
AMEND_GROUP_CODE: 'Amend group code',
TRACE_NOTE: 'Trace / notes',
TA_RECORD: 'TA record',
MESSAGE_NOTIFICATION: 'Message notification',
MANUAL_REVIEW: 'Manual review',
},
taskSubtype: {
NEW_BOOKING: 'New booking',
UPDATE_BOOKING: 'Update booking',
CANCEL_BOOKING: 'Cancel booking',
RATE_CHANGE: 'Rate change',
UPDATE_STAY_DATES: 'Update stay dates',
UPDATE_ROOM_TYPE: 'Update room type',
UPDATE_FIX_CHARGE: 'Update fixed charge',
NEW_GROUP_BLOCK: 'New group block',
NEW_FIT_RESERVATION: 'New FIT reservation',
MANUAL_REVIEW: 'Manual review',
},
readonlyReason: {
PROCESSABLE: 'Processable',
PREVIOUS_TASK_NOT_FINISHED: 'Previous task is not finished',
TASK_FINISHED: 'Task finished',
TASK_READ_ONLY: 'Task is read only',
ORDER_CLOSED: 'Order closed',
QUEUE_EXCLUDED: 'Not in queue',
BLOCKED: 'Blocked',
},
actorType: {
USER: 'User',
SYSTEM: 'System',
AI: 'AI',
AGENT: 'Agent',
BACKEND: 'Backend service',
},
auditAction: {
TASK_CREATED: 'Task created',
TASK_LOADED: 'Task loaded',
TASK_CONFIRMED: 'Task confirmed',
TASK_CONFIRM: 'Task confirmed',
DRAFT_SAVED: 'Draft saved',
TASK_UPDATED: 'Task updated',
OPERA_EXECUTED: 'OPERA executed',
OPERA_RETRIED: 'OPERA retried',
MANUAL_REVIEW_CREATED: 'Manual review created',
},
operaOperation: {
CREATE_RESERVATION: 'Create reservation',
UPDATE_RESERVATION: 'Update reservation',
CANCEL_RESERVATION: 'Cancel reservation',
UPDATE_ROOMING_LIST: 'Update rooming list',
ADD_TRACE_NOTE: 'Add trace note',
},
}