feat: 添加货币管理功能,更新国际化支持,移除报表相关代码

This commit is contained in:
2026-05-21 16:24:56 +08:00
parent 6ecbaf5fb4
commit 055c613a6d
87 changed files with 1615 additions and 1319 deletions

View File

@@ -133,7 +133,6 @@
"jackpot": "Jackpot",
"reconcile": "Reconcile",
"tickets": "Tickets",
"reports": "Reports",
"audit": "Audit Logs",
"settings": "Settings"
},
@@ -141,6 +140,7 @@
"prd.admin_user.manage": "Admin Users · Manage",
"prd.admin_role.manage": "Role Management · Manage",
"prd.users.manage": "Players · Manage",
"prd.currency.manage": "Currency Management · Manage",
"prd.users.view_finance": "Players · View Finance",
"prd.users.view_cs": "Players · View Customer Service Cases",
"prd.player_freeze.manage": "Freeze/Unfreeze Player · Manage",
@@ -162,10 +162,6 @@
"prd.payout.manage": "Payout Confirmation · Manage",
"prd.payout.review": "Payout Confirmation · Review",
"prd.payout.view": "Payout Confirmation · View",
"prd.report.all": "Reports · All",
"prd.report.risk": "Reports · Risk",
"prd.report.finance": "Reports · Finance",
"prd.report.player": "Reports · Single Player",
"prd.audit.all": "Audit Logs · All",
"prd.audit.self": "Audit Logs · Related to Self",
"prd.audit.finance": "Audit Logs · Finance Related"

View File

@@ -62,6 +62,7 @@
"admin_users": "Admin Users",
"admin_roles": "Role Management",
"players": "Players",
"currencies": "Currencies",
"wallet": "Wallet",
"draws": "Draws",
"config": "Configuration",
@@ -70,7 +71,6 @@
"jackpot": "Jackpot",
"reconcile": "Reconcile",
"tickets": "Ticket list",
"reports": "Reports",
"audit": "Audit Logs",
"settings": "Settings"
},

View File

@@ -94,6 +94,54 @@
},
"discard": "Discard changes"
},
"currencies": {
"title": "Currency management",
"description": "Maintain currency master data for admin operations and control whether a currency is enabled or allowed for betting.",
"loading": "Loading currencies…",
"empty": "No currencies yet.",
"loadFailed": "Failed to load currencies",
"createSuccess": "Currency created",
"createFailed": "Failed to create currency",
"updateSuccess": "Currency updated",
"updateFailed": "Failed to update currency",
"deleteSuccess": "Currency {{code}} deleted",
"deleteFailed": "Failed to delete currency",
"actions": {
"create": "Add currency",
"edit": "Edit",
"delete": "Delete",
"openStandalone": "Open dedicated page",
"backToSettings": "Back to settings"
},
"table": {
"code": "Code",
"name": "Name",
"decimals": "Decimals",
"enabled": "Enabled",
"bettable": "Bettable",
"actions": "Actions"
},
"dialog": {
"createTitle": "Add currency",
"editTitle": "Edit currency",
"description": "Currency code is immutable after creation. Disabling a currency also turns off bettable status."
},
"deleteDialog": {
"title": "Delete currency?",
"description": "Delete currency {{code}}? The system blocks deletion when it is still referenced by defaults, wallets, tickets, odds, or jackpot data."
},
"form": {
"code": "Currency code",
"name": "Currency name",
"decimals": "Decimal places",
"enabled": "Enabled status",
"enabledHint": "Disabled currencies should not be used for new business.",
"bettable": "Allow betting",
"bettableHint": "Only enabled currencies can be marked as bettable.",
"required": "Please fill in the required fields",
"decimalInvalid": "Enter a valid decimal place value"
}
},
"play": {
"batchGroups": {
"d2": "2D Global",

View File

@@ -46,7 +46,6 @@
"results": "Results",
"tickets": "Ticket management",
"walletTransactions": "Wallet transactions",
"reports": "Reports",
"auditLogs": "Audit logs"
},
"warnings": {

View File

@@ -1,36 +1,46 @@
{
"title": "Reconcile",
"createTitle": "Create reconcile job",
"createDesc": "Manually check abnormal transfers by period or selected references. Scheduled reconciliation still runs automatically.",
"createDesc": "Manually check abnormal transfers by date range and optional player. Scheduled reconciliation still runs automatically.",
"reconcileType": "Reconcile type",
"walletTransfer": "Wallet transfer (main site ⇄ lottery)",
"startTime": "Start time",
"endTime": "End time",
"scope": "Targets (optional)",
"scopePlaceholder": "One per line: player ID, transfer number, or main-site transaction number.\nLeave empty to check abnormal transfers in the selected period.",
"reconcileTypeFixed": "Wallet transfer (main site ⇄ lottery)",
"reconcileTypeHint": "Only wallet transfer is currently supported.",
"dateRange": "Reconcile date range",
"createTask": "Create reconcile job",
"submitting": "Submitting…",
"loadFailed": "Failed to load",
"loadItemsFailed": "Failed to load details",
"periodRequired": "Enter both reconcile start and end time",
"periodInvalid": "Invalid time range",
"periodRequired": "Enter both reconcile start and end dates",
"periodInvalid": "Invalid date range",
"periodOrderInvalid": "End time must be later than or equal to start time",
"createSuccess": "Reconcile job created",
"createFailed": "Failed to create job",
"noCreatePermission": "Current account cannot create reconcile jobs.",
"jobsTitle": "Reconcile jobs",
"jobsDesc": "Click a row to view paginated item details.",
"jobsDesc": "Use the action on the right to open paginated item details.",
"refresh": "Refresh",
"jobNo": "Job no.",
"type": "Type",
"status": "Status",
"period": "Period",
"createdAt": "Created at",
"operate": "Action",
"view": "View",
"detailsTitle": "Job details",
"sideARef": "Lottery ref",
"sideBRef": "Main site ref",
"differenceAmount": "Difference (cent)",
"noDetails": "No details",
"playerSearch": "Player (optional)",
"playerSearchPlaceholder": "Search by player ID / username / nickname",
"playerSearchHint": "After selection, reconciliation is limited to this player in the chosen date range.",
"playerSearchEmpty": "Enter a keyword to search players.",
"playerNoResults": "No matching players",
"playerChoose": "Choose",
"playerSelected": "Selected player",
"playerSelectedShort": "Selected",
"playerClear": "Clear",
"loadingPlayers": "Searching players…",
"statusCompleted": "Completed",
"statusRunning": "Running",
"statusFailed": "Failed",

View File

@@ -1,45 +0,0 @@
{
"title": "Reports",
"createExport": "Create export",
"reportType": "Report type",
"exportFormat": "Export format",
"filterJson": "filter_json (optional)",
"parseFilterFailed": "Failed to parse filter JSON",
"createSuccess": "Export job created",
"createFailed": "Failed to create job",
"downloadFailed": "Download failed",
"taskList": "Job list",
"jobId": "Job no.",
"type": "Type",
"format": "Format",
"status": "Status",
"output": "Output",
"download": "Download",
"createdAt": "Created at",
"id": "ID",
"empty": "No data",
"formatOptions": {
"csv": "CSV",
"xlsx": "Excel"
},
"statusOptions": {
"pending": "Pending",
"queued": "Queued",
"running": "Running",
"completed": "Completed",
"failed": "Failed"
},
"reportTypes": {
"draw_profit_summary": "Draw profit summary",
"daily_profit_summary": "Daily profit summary",
"player_win_loss": "Player win/loss report",
"wallet_transfer_report": "Wallet transfer report",
"hot_number_risk_report": "Hot number risk report",
"play_dimension_report": "Play dimension report",
"sold_out_number_report": "Sold-out number report",
"rebate_commission_report": "Rebate and commission report",
"audit_operation_report": "Audit operation report",
"wallet_txns_daily": "Wallet transactions daily",
"transfer_orders_daily": "Transfer orders daily"
}
}