refactor: 合并多语言支持的显示名称字段,优化奖池手动爆发功能的返回数据结构,增强管理端权限控制
This commit is contained in:
@@ -159,6 +159,7 @@
|
||||
"prd.rebate.view": "Commission/Rebate · View",
|
||||
"prd.jackpot.manage": "Jackpot Configuration · Manage",
|
||||
"prd.jackpot.view": "Jackpot Configuration · View",
|
||||
"prd.jackpot.manual_burst": "Jackpot Manual Burst · Super Admin Only",
|
||||
"prd.payout.manage": "Payout Confirmation · Manage",
|
||||
"prd.payout.review": "Payout Confirmation · Review",
|
||||
"prd.payout.view": "Payout Confirmation · View",
|
||||
|
||||
@@ -26,7 +26,31 @@
|
||||
"createTask": "Create task",
|
||||
"clear": "Clear",
|
||||
"done": "Done",
|
||||
"exportExcel": "Export Excel"
|
||||
"exportExcel": "Export Excel",
|
||||
"save": "Save changes",
|
||||
"updateSuccess": "Updated successfully",
|
||||
"updateFailed": "Update failed",
|
||||
"updatePassword": "Update password"
|
||||
},
|
||||
"accountSettings": "Account settings",
|
||||
"accountSettingsDesc": "Manage your profile and security settings.",
|
||||
"profileSettings": "Profile",
|
||||
"profileSettingsDesc": "Update your display name.",
|
||||
"securitySettings": "Security",
|
||||
"securitySettingsDesc": "Change your login password. Leave blank if you are not changing it.",
|
||||
"fields": {
|
||||
"nickname": "Nickname",
|
||||
"newPassword": "New password",
|
||||
"confirmPassword": "Confirm password"
|
||||
},
|
||||
"placeholders": {
|
||||
"nickname": "Enter nickname",
|
||||
"password": "Enter new password",
|
||||
"confirmPassword": "Re-enter new password"
|
||||
},
|
||||
"validation": {
|
||||
"required": "{{field}} is required",
|
||||
"passwordMismatch": "Passwords do not match"
|
||||
},
|
||||
"aria": {
|
||||
"expand": "Expand",
|
||||
@@ -59,7 +83,16 @@
|
||||
"date": {
|
||||
"placeholder": "Select date",
|
||||
"rangePlaceholder": "Select date range",
|
||||
"rangeHint": "Select a start date, then an end date. For a single day, click the same date twice. Click Done to close."
|
||||
"rangeHint": "Select a start date, then an end date. For a single day, click the same date twice. Click Done to close.",
|
||||
"weekdays": {
|
||||
"sunday": "Sunday",
|
||||
"monday": "Monday",
|
||||
"tuesday": "Tuesday",
|
||||
"wednesday": "Wednesday",
|
||||
"thursday": "Thursday",
|
||||
"friday": "Friday",
|
||||
"saturday": "Saturday"
|
||||
}
|
||||
},
|
||||
"pagination": {
|
||||
"perPage": "Per page",
|
||||
@@ -76,6 +109,10 @@
|
||||
"errors": {
|
||||
"loadFailed": "Failed to load"
|
||||
},
|
||||
"permission": {
|
||||
"deniedTitle": "Access denied",
|
||||
"deniedDescription": "Your account does not have permission to open this page. Ask an administrator to assign the required role permissions."
|
||||
},
|
||||
"table": {
|
||||
"id": "ID"
|
||||
},
|
||||
@@ -98,6 +135,7 @@
|
||||
"draws": "Draws",
|
||||
"rules_plays": "Play rules",
|
||||
"rules_odds": "Odds & rebate",
|
||||
"rules": "Betting rules",
|
||||
"risk_cap": "Risk cap rules",
|
||||
"risk": "Risk center",
|
||||
"settlement": "Settlement",
|
||||
@@ -105,12 +143,18 @@
|
||||
"reconcile": "Reconcile",
|
||||
"tickets": "Ticket list",
|
||||
"audit": "Audit Logs",
|
||||
"settings": "Settings"
|
||||
"settings": "Settings",
|
||||
"account": "Account settings"
|
||||
},
|
||||
"sidebar": {
|
||||
"workspace": "Workspace"
|
||||
},
|
||||
"auth": {
|
||||
"checking": "Checking sign-in status…"
|
||||
},
|
||||
"confirm": {
|
||||
"cancel": "Cancel",
|
||||
"confirm": "Confirm",
|
||||
"confirmSave": "Save"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,9 @@
|
||||
"outMin": "Per-order minimum from lottery wallet to main wallet",
|
||||
"outMax": "Per-order maximum from lottery wallet to main wallet"
|
||||
},
|
||||
"discard": "Discard changes"
|
||||
"discard": "Discard changes",
|
||||
"confirmSaveTitle": "Save wallet limits?",
|
||||
"confirmSaveDescription": "This updates per-order transfer-in/out limits and immediately affects player wallet transfers."
|
||||
},
|
||||
"system": {
|
||||
"title": "Draw and settlement runtime settings",
|
||||
@@ -99,19 +101,25 @@
|
||||
"manualReview": "Require manual review for draw results",
|
||||
"cooldownMinutes": "Cooldown duration (minutes)",
|
||||
"autoSettlement": "Run settlement automatically",
|
||||
"autoApprove": "Auto-approve settlement batches",
|
||||
"autoPayout": "Auto-credit winnings to wallets",
|
||||
"playRulesHtml": "Play rules HTML (i18n)",
|
||||
"playRulesHtmlDesc": "Rendered on the player play-rules page per locale. Leave empty to fall back to another language or the default empty state."
|
||||
},
|
||||
"hints": {
|
||||
"manualReview": "When enabled, RNG draw results enter pending review and must be published manually in admin.",
|
||||
"cooldownMinutes": "How long to wait after publishing before entering settling. Use 0 to settle immediately.",
|
||||
"autoSettlement": "When disabled, tick will not run settlement automatically and admins must trigger it manually."
|
||||
"autoSettlement": "When disabled, tick will not run settlement automatically and admins must trigger it manually.",
|
||||
"autoApprove": "After cooldown ends and settlement completes, whether batches are automatically marked as approved.",
|
||||
"autoPayout": "After a batch is approved, whether tick automatically credits winnings to player wallets."
|
||||
},
|
||||
"states": {
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled"
|
||||
},
|
||||
"discard": "Discard changes"
|
||||
"discard": "Discard changes",
|
||||
"confirmSaveTitle": "Save system runtime parameters?",
|
||||
"confirmSaveDescription": "This updates draw review, cooldown, auto settlement/approval/payout, and play-rules display. It may affect site-wide operation."
|
||||
},
|
||||
"currencies": {
|
||||
"title": "Currency management",
|
||||
@@ -173,9 +181,23 @@
|
||||
},
|
||||
"validation": {
|
||||
"minMaxInvalid": "{{playCode}}: min bet cannot exceed max bet",
|
||||
"nameZhRequired": "Chinese display name is required"
|
||||
"displayNameRequired": "Display name is required"
|
||||
},
|
||||
"publishFailed": "Publish failed",
|
||||
"publishDialog": {
|
||||
"title": "Publish play configuration?",
|
||||
"description": "New settings affect future bets. Existing tickets still settle by their saved snapshot.",
|
||||
"confirm": "Confirm publish"
|
||||
},
|
||||
"batchSwitchConfirmTitle": "Batch {{action}}?",
|
||||
"batchSwitchConfirmDescription": "{{action}} {{count}} play types under «{{group}}» and write to the current draft.",
|
||||
"batchSwitchEnable": "Enable",
|
||||
"batchSwitchDisable": "Disable",
|
||||
"toggleConfirmTitle": "{{action}} play {{playCode}}?",
|
||||
"toggleConfirmDescription": "This calls the API immediately (not draft-only).",
|
||||
"toggleEnable": "Enable",
|
||||
"toggleDisable": "Disable",
|
||||
"toggleInstantFailed": "Failed to apply play switch. Try again later.",
|
||||
"createDraftSuccess": "Created draft v{{version}}",
|
||||
"createDraftFailed": "Failed to create draft",
|
||||
"ruleSavedLocal": "Rule text was saved into the local draft. Save the draft to persist it.",
|
||||
@@ -191,7 +213,7 @@
|
||||
"enable": "Enable",
|
||||
"disable": "Disable",
|
||||
"ruleText": "Rule text",
|
||||
"displayNames": "Display names"
|
||||
"editDisplayName": "Edit name"
|
||||
},
|
||||
"locales": {
|
||||
"zh": "Chinese",
|
||||
@@ -217,8 +239,8 @@
|
||||
"enablePlay": "Enable {{playCode}}"
|
||||
},
|
||||
"nameDialog": {
|
||||
"title": "Display names (i18n)",
|
||||
"description": "Play {{playCode}}. Chinese is required; English and Nepali are optional. The player site picks the label by locale after publish.",
|
||||
"title": "Edit display name",
|
||||
"description": "Play {{playCode}}. The player site shows this label after you save and publish the draft.",
|
||||
"apply": "Apply to draft",
|
||||
"savedLocal": "Display names were saved into the local draft. Save the draft to persist them."
|
||||
},
|
||||
@@ -228,6 +250,13 @@
|
||||
"apply": "Apply to draft"
|
||||
}
|
||||
},
|
||||
"prizeScopes": {
|
||||
"first": "First prize odds",
|
||||
"second": "Second prize odds",
|
||||
"third": "Third prize odds",
|
||||
"starter": "Starter prize odds",
|
||||
"consolation": "Consolation prize odds"
|
||||
},
|
||||
"odds": {
|
||||
"sectionHint": "Pick a version to edit prize-tier odds; publishing applies to new tickets immediately.",
|
||||
"tabs": {
|
||||
@@ -273,6 +302,11 @@
|
||||
"publishLabel": "Publish",
|
||||
"publishSuccess": "Published odds version with rebate",
|
||||
"publishFailed": "Publish failed",
|
||||
"publishDialog": {
|
||||
"title": "Publish rebate/odds version?",
|
||||
"description": "After publish, rebate calculation applies to new tickets.",
|
||||
"confirm": "Confirm publish"
|
||||
},
|
||||
"createDraftSuccess": "Created draft v{{version}}",
|
||||
"createDraftFailed": "Failed to create draft",
|
||||
"deleteFailed": "Delete failed",
|
||||
@@ -297,6 +331,11 @@
|
||||
"enterValidCapAmount": "Enter a valid cap amount"
|
||||
},
|
||||
"publishFailed": "Publish failed",
|
||||
"publishDialog": {
|
||||
"title": "Publish cap configuration?",
|
||||
"description": "After publish, per-number risk-pool cap limits take effect.",
|
||||
"confirm": "Confirm publish"
|
||||
},
|
||||
"createDraftSuccess": "Created draft v{{version}}",
|
||||
"createDraftFailed": "Failed to create draft",
|
||||
"savedLocalDraft": "Saved into local draft. Save the draft to persist it.",
|
||||
|
||||
@@ -2,7 +2,65 @@
|
||||
"title": "Dashboard",
|
||||
"refresh": "Refresh",
|
||||
"notice": "Notice",
|
||||
"todayBetTotal": "Current draw total bet",
|
||||
"sections": {
|
||||
"today": "Today",
|
||||
"lifetime": "All-time totals",
|
||||
"currentDraw": "Current draw",
|
||||
"currentDrawDetail": "Current draw · {{drawNo}}",
|
||||
"operations": "Operations (current draw)"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Financial analytics",
|
||||
"periodLabel": "Period",
|
||||
"metricLabel": "Metric",
|
||||
"playLabel": "Play filter",
|
||||
"allPlays": "All plays",
|
||||
"customRange": "Custom dates",
|
||||
"rangeHint": "Range {{range}}",
|
||||
"selectPeriod": "Select a period",
|
||||
"chartTruncated": "Trend shows {{from}} — {{to}} only ({{days}} days in full range)",
|
||||
"summaryBet": "Period bet",
|
||||
"summaryPayout": "Period payout",
|
||||
"summaryProfit": "Period profit",
|
||||
"dailyTrend": "Daily trend",
|
||||
"playBreakdown": "Play breakdown",
|
||||
"periodDistribution": "Period structure",
|
||||
"noPlayData": "No play data in this period",
|
||||
"periods": {
|
||||
"today": "Today",
|
||||
"last_7_days": "Last 7 days",
|
||||
"last_30_days": "Last 30 days",
|
||||
"this_month": "This month",
|
||||
"lifetime": "All time",
|
||||
"custom": "Custom"
|
||||
},
|
||||
"metrics": {
|
||||
"overview": "Overview",
|
||||
"bet": "Bet",
|
||||
"payout": "Payout",
|
||||
"profit": "Profit"
|
||||
}
|
||||
},
|
||||
"chartLegend": {
|
||||
"bet": "Bet",
|
||||
"payout": "Payout",
|
||||
"profit": "Profit"
|
||||
},
|
||||
"playBreakdownHint": "Payout {{payout}} · Profit {{profit}}",
|
||||
"viewReports": "Reports",
|
||||
"lifetimeBetTotal": "Lifetime total bet",
|
||||
"lifetimePayout": "Lifetime total payout",
|
||||
"lifetimeProfit": "Lifetime platform profit",
|
||||
"lifetimeActivityHint": "{{draws}} draws with bets · {{days}} business days",
|
||||
"lifetimeDateRangeHint": "Range {{range}}",
|
||||
"currentDrawBetTotal": "Draw total bet",
|
||||
"currentDrawPayout": "Draw payout",
|
||||
"currentDrawProfit": "Draw profit",
|
||||
"drawFinanceDetails": "Draw finance details",
|
||||
"todayBetTotal": "Today's total bet",
|
||||
"todayPayout": "Today's payout",
|
||||
"todayProfit": "Today's profit",
|
||||
"todayBusinessDateHint": "Business date {{date}}",
|
||||
"drawNoHint": "Draw {{drawNo}}",
|
||||
"orderAndTicket": "{{orders}} orders · {{tickets}} items",
|
||||
"marginRate": "Gross margin ~{{rate}}%",
|
||||
@@ -21,8 +79,9 @@
|
||||
"settlementOverview": "Settlement batches",
|
||||
"noSettlementBatches": "No settlement batches",
|
||||
"quickLinksTitle": "Quick links",
|
||||
"currentPayout": "Current payout",
|
||||
"currentProfit": "Current platform profit",
|
||||
"currentPayout": "Current draw payout",
|
||||
"currentProfit": "Current draw profit",
|
||||
"currentDrawFinanceHint": "Charts below are for draw {{drawNo}}",
|
||||
"currentDraw": "Current draw",
|
||||
"drawSequence": "Round {{sequence}}",
|
||||
"drawDetails": "Draw details",
|
||||
@@ -64,8 +123,9 @@
|
||||
"auditLogs": "Audit logs"
|
||||
},
|
||||
"warnings": {
|
||||
"drawPermission": "This account has no draw view/manage permission. Finance and risk data were not returned.",
|
||||
"drawPermission": "This account has no draw/dashboard view permission. Finance and risk data were not returned.",
|
||||
"walletPermission": "This account has no wallet reconciliation permission. Abnormal transfer count was not returned.",
|
||||
"loadFailed": "Failed to load. Check the API and login state."
|
||||
"loadFailed": "Failed to load. Check the API and login state.",
|
||||
"apiResourceMissing": "Dashboard analytics API is not registered. Run: php artisan lottery:admin-auth-sync (or apply the latest migration), then refresh."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,5 +144,23 @@
|
||||
"third": "3rd prize",
|
||||
"starter": "Starter {{index}}",
|
||||
"consolation": "Consolation {{index}}"
|
||||
},
|
||||
"confirm": {
|
||||
"manualCloseTitle": "Confirm manual close?",
|
||||
"manualCloseDescription": "Players will no longer be able to bet on this draw.",
|
||||
"cancelDrawTitle": "Confirm cancel draw?",
|
||||
"cancelDrawDescription": "This draw will not be drawn. Ensure there is no outstanding bet risk.",
|
||||
"rngDrawTitle": "Confirm RNG draw?",
|
||||
"rngDrawDescription": "The system will generate draw numbers and continue the pipeline.",
|
||||
"reopenTitle": "Confirm cooldown reopen?",
|
||||
"reopenDescription": "Results may need re-review; displayed numbers may change.",
|
||||
"runSettlementTitle": "Confirm run settlement?",
|
||||
"runSettlementDescription": "A settlement batch will be created from the published result.",
|
||||
"saveManualDraftTitle": "Confirm save manual draft?",
|
||||
"saveManualDraftDescription": "23 numbers will be saved for review.",
|
||||
"publishTitle": "Confirm publish results?",
|
||||
"publishDescription": "Results become visible to players and may trigger settlement.",
|
||||
"generatePlanTitle": "Confirm generate draw plan?",
|
||||
"generatePlanDescription": "Future bettable draws will be created per system rules."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,14 @@
|
||||
"enabled": "Enabled",
|
||||
"saving": "Saving…",
|
||||
"save": "Save",
|
||||
"manualBurstDrawId": "Manual burst draw number",
|
||||
"manualBurstAmount": "Burst amount (empty for all)",
|
||||
"manualBurstDrawId": "Draw ID for manual burst",
|
||||
"manualBurstHint": "Super admin only. Requires a settled draw with first-prize winners. Pool release follows the configured payout rate.",
|
||||
"manualBurstConfirmTitle": "Confirm manual jackpot burst?",
|
||||
"manualBurstConfirmDescription": "Jackpot will be split among first-prize winners for draw {{drawId}} using the payout rate. Pool balance will be reduced. This cannot be undone automatically.",
|
||||
"processing": "Processing…",
|
||||
"manualBurst": "Manual burst",
|
||||
"manualBurst": "Manual burst (super admin only)",
|
||||
"manualBurstConfirm": "Confirm burst",
|
||||
"cancel": "Cancel",
|
||||
"filter": "Filter",
|
||||
"drawNo": "Draw no.",
|
||||
"optional": "Optional",
|
||||
|
||||
@@ -29,6 +29,12 @@
|
||||
"lastLogin": "Last login",
|
||||
"actions": "Actions",
|
||||
"edit": "Edit",
|
||||
"freeze": "Freeze",
|
||||
"unfreeze": "Unfreeze",
|
||||
"freezeSuccess": "Player {{name}} frozen",
|
||||
"unfreezeSuccess": "Player {{name}} unfrozen",
|
||||
"freezeFailed": "Failed to freeze player",
|
||||
"unfreezeFailed": "Failed to unfreeze player",
|
||||
"delete": "Delete",
|
||||
"createDialogTitle": "Create player",
|
||||
"editDialogTitle": "Edit player",
|
||||
@@ -44,6 +50,10 @@
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving…",
|
||||
"confirmFreezeTitle": "Confirm freeze player?",
|
||||
"confirmFreezeDescription": "Player {{name}} will not be able to place bets.",
|
||||
"confirmUnfreezeTitle": "Confirm unfreeze player?",
|
||||
"confirmUnfreezeDescription": "Player {{name}} will return to normal status.",
|
||||
"confirmDelete": "Confirm delete",
|
||||
"confirmDeleteDesc": "Delete player {{name}}? This action cannot be undone."
|
||||
}
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
"periodRequired": "Enter both reconcile start and end dates",
|
||||
"periodInvalid": "Invalid date range",
|
||||
"periodOrderInvalid": "End time must be later than or equal to start time",
|
||||
"confirmCreateTitle": "Create reconcile job?",
|
||||
"confirmCreateDescription": "Start a manual reconcile for the selected date range{{playerHint}}.",
|
||||
"confirmCreatePlayer": " for the selected player",
|
||||
"confirmCreateAllPlayers": " (all players)",
|
||||
"createSuccess": "Reconcile job created",
|
||||
"createFailed": "Failed to create job",
|
||||
"noCreatePermission": "Current account cannot create reconcile jobs.",
|
||||
|
||||
@@ -46,6 +46,12 @@
|
||||
"manualCloseSuccess": "Number betting closed manually",
|
||||
"recoverSuccess": "Number betting recovered",
|
||||
"actionFailed": "Action failed",
|
||||
"confirm": {
|
||||
"closeTitle": "Confirm close number?",
|
||||
"closeDescription": "Number {{number}} will be blocked for this draw.",
|
||||
"recoverTitle": "Confirm recover number?",
|
||||
"recoverDescription": "Number {{number}} will be open for betting again."
|
||||
},
|
||||
"detailTitle": "Risk pool details",
|
||||
"loadDetailFailed": "Failed to load risk pool details",
|
||||
"backToList": "Back to list",
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
"pending_confirm": "Pending confirmation",
|
||||
"partial_pending_confirm": "Partially pending confirmation",
|
||||
"success": "Bet placed",
|
||||
"pending_draw": "Awaiting draw",
|
||||
"failed": "Bet failed",
|
||||
"pending_payout": "Pending payout",
|
||||
"settled_win": "Settled win",
|
||||
|
||||
@@ -47,6 +47,12 @@
|
||||
"reverseSuccess": "Reversed successfully",
|
||||
"manualProcessSuccess": "Manually processed successfully",
|
||||
"actionFailed": "Action failed",
|
||||
"confirm": {
|
||||
"reverseTitle": "Confirm reverse transfer?",
|
||||
"reverseDescription": "Reverse order {{transferNo}}. This may affect player wallet balance.",
|
||||
"manualProcessTitle": "Confirm manual process?",
|
||||
"manualProcessDescription": "Mark order {{transferNo}} as manually processed without automatic wallet adjustment."
|
||||
},
|
||||
"txnNo": "Txn no.",
|
||||
"bizType": "Business type",
|
||||
"type": "Type",
|
||||
|
||||
Reference in New Issue
Block a user