{ "addChildNeedParent": "Select a parent agent before adding a subordinate", "bindAccountHint": "No login account is bound yet. Saving will create and bind one automatically.", "bindAccountPasswordRequired": "This agent has no login account yet. Enter an initial password to create one.", "childrenCount": "Direct downline", "code": "Code", "codeRequired": "Code and name are required", "createChild": "Add child agent", "createSuccess": "Created agent {{name}}", "delegation": { "canDelegate": "May delegate further", "empty": "No actions available to assign", "hint": "Select actions this child agent may grant to its own subordinates. Agent roles cannot exceed this ceiling.", "permission": "Action", "rootDenied": "Root nodes do not use delegation ceilings", "save": "Save ceiling", "saveSuccess": "Delegation ceiling saved", "title": "Delegation ceiling" }, "deleteBlocked": { "children": "{{count}} child agent(s) remain", "roles": "{{count}} role(s) must be removed in the Roles tab first", "users": "{{count}} bound account(s) remain" }, "deleteNode": "Delete node", "deleteNodeBlockedHint": "Remove child agents, roles, and accounts before deleting this node", "deleteNodeBlockedPrefix": "Cannot delete yet: ", "deleteNodeConfirm": "This action cannot be undone. Make sure the node has no children, users, or roles.", "deleteSuccess": "Deleted agent {{name}}", "depth": "Depth", "detailTitle": "Node details", "directoryStatus": { "all": "All statuses", "disabled": "Disabled only", "enabled": "Enabled only" }, "downlineAgentsSection": "Sub-agents", "downlineDialogTitle": "{{name}} — sub-agents and players", "downlineNoAgents": "No sub-agents yet", "downlinePlayersSection": "Direct players", "editNode": "Edit node", "filterParent": "Parent agent", "filterParentAll": "All subordinates", "includeRoots": "Include root nodes", "includeRootsHint": "Root nodes represent site boundaries and are excluded from operating agent counts by default.", "isRoot": "Root", "lineFilter": "Level-1 agent", "lineProvision": { "description": "Creates the level-1 agent, admin login, and line settings (share, credit, rebate, settlement cycle) in one step.", "link": "Create level-1 agent", "name": "Level-1 agent name", "noUnboundSite": "No sites without a level-1 agent", "openIntegrationSites": "Go to integration sites", "password": "Initial password", "passwordHint": "At least 8 characters", "secretsOnce": "Integration secrets are shown once — save them now", "siteCode": "Integration site", "siteCodePlaceholder": "Select site", "siteRequired": "Select an integration site", "submit": "Create level-1 agent", "success": "Level-1 agent created", "title": "Create level-1 agent", "username": "Admin login", "walletUrl": "Wallet API URL (optional technical field)" }, "lineUi": { "agentCount": "{{count}} agents in this group", "allocatedCredit": "Allocated", "availableCredit": "Available", "collapse": "Collapse", "currentSite": "Site", "directChildren": "{{count}} direct downline", "downlineColumns": { "downlineCount": "Downline count", "email": "Email" }, "downlineEmpty": "No direct downline yet. Child agents will appear here after creation.", "downlineEmptyShort": "No direct downline yet.", "downlineEmptyTitle": "No direct downline yet", "editAccount": "Account & status", "editCurrent": "Edit this agent", "expand": "Expand", "kicker": "Credit share · Agent tree", "nextSteps": "Suggested next steps", "noDelegatedTabs": "This agent cannot create downline agents or players; only share and credit settings apply.", "overviewDownlineCard": "View and manage direct downline agents", "overviewDownlineCount": "{{count}}", "overviewDownlineHint": "{{count}} direct downline agent(s). Manage them in the Downline tab.", "overviewPlayersHint": "View direct players and credit status", "overviewPlayersSummary": "Player management", "playersNoPermissionHint": "This account does not have player management permission on this node.", "playersUnavailableHint": "This agent cannot create players. Enable “Allow create player” in the agent profile first.", "profileFootnote": "Rebate cap {{rebate}}% · Default {{defaultRebate}}%", "profileReadOnlyHint": "Share, credit, and rebate are configured by your upline. Contact your parent agent or the platform to request changes.", "profileTabHint": "Maintain share, credit, rebate, and risk tags here. Use Account & status for login name and password.", "saveProfile": "Save share & credit", "searchPlaceholder": "Search name or login", "selectAgent": "Select an agent to view share & credit", "selectAgentHint": "Settlement boundaries follow the agent tree; share, credit and rebate are configured per node.", "selfAgentOverviewHint": "Credit below is allocated by your upline. Share and rebate are maintained upstream; this account cannot view or edit them.", "shareRebateCap": "Rebate cap {{rate}}%", "sidebarAvailableCredit": "Available to grant {{amount}}", "sidebarShareRate": "Share {{rate}}%", "stepDownline": "Manage direct downline ({{count}} now)", "stepPlayers": "Create or maintain direct players", "stepProfile": "Configure share, credit, and rebate", "tabDownline": "Downline", "tabOverview": "Overview", "tabPlayers": "Players", "tabProfile": "Share & credit", "tabProfileReadOnly": "Share & credit (read-only)", "viewAll": "View all" }, "listFlatHint": "All operating agents in a flat list. Use row actions to add a child under a specific agent.", "listSearch": "Search name / code / login", "listTitle": "Agents", "loadFailed": "Failed to load agent tree", "modelGuide": "Agent layer controls data scope and delegation ceiling. Account permissions are assigned through roles.", "name": "Name", "namePlaceholder": "Enter agent name", "nameRequired": "Agent name is required", "noAccess": "You do not have permission to manage agents. Contact an administrator.", "pageGuide": "Manage the agent tree, agent roles, agent accounts, and delegation ceilings here. Platform accounts and platform roles stay in platform governance pages.", "parentAgent": "Parent", "passwordMinLength": "Password must be at least 8 characters", "passwordOptionalHint": "Leave empty to keep unchanged, or enter an 8-character password", "passwordPlaceholder": "Enter an 8-character password", "passwordRequired": "Password is required", "path": "Path", "playersPanel": { "allUnderSite": "Players visible on this site", "authSource": "Auth source", "availableToGrant": "Agent available to grant: {{amount}}", "create": "Create player", "createSuccessNative": "Player {{name}} created — use lottery /login", "creditLimit": "Credit limit", "creditLimitAvailable": "Credit limit / available", "creditLimitExceeded": "Credit limit cannot exceed this agent’s available grant", "creditLimitInvalid": "Credit limit must be an integer ≥ 0", "creditListHint": "Credit line: below shows player credit limits and available credit, not main-site wallet balance.", "externalIdHint": "Leave blank to auto-generate", "externalIdOptional": "External ID (optional)", "filterHint": "Filter direct players by parent agent.", "fundingMode": "Funding mode", "initialPassword": "Initial password", "loginRequired": "Enter login username and initial password", "loginUsername": "Login username", "passwordHint": "At least 8 characters", "passwordMinLength": "Initial password must be at least 8 characters", "playerRef": "Player ref", "rebateInherited": "Inherit agent default rebate", "rebateRate": "Rebate rate (%)", "rebateRateHint": "Enter percent, e.g. 5 = 5%", "rebateRateInvalid": "Rebate rate must be between 0 and 100%", "riskTags": "Risk tags", "riskTagsPlaceholder": "Comma-separated", "scopedTo": "Direct players: {{agent}}", "siteCode": "Line site", "usernameNickname": "Username / nickname" }, "profile": { "availableCredit": "Available to grant {{amount}}", "canCreateChildAgent": "Allow creating sub-agents", "canCreatePlayer": "Allow creating players", "canGrantExtraRebate": "Allow extra rebate", "capabilityHint": "Takes effect on this agent’s primary account after save. If the platform Agent role included player/node management, login permissions are now tightened by these switches.", "creditLimit": "Credit limit", "cycleDaily": "Daily", "cycleMonthly": "Monthly", "cycleWeekly": "Weekly", "defaultPlayerRebate": "Default player rebate (%)", "loadFailed": "Failed to load share and credit settings. Close and try again.", "loading": "Loading share and credit settings…", "loadingBlocked": "Share and credit settings are still loading. Please wait before saving.", "parentCaps": "Parent share {{share}}%, available to grant {{credit}}", "rebateLimit": "Rebate ceiling (%)", "relativeShareRate": "Share rate (% of parent)", "relativeShareRateValue": "{{rate}}% of parent", "riskTags": "Risk tags", "riskTagsPlaceholder": "Comma-separated, e.g. overdue, high_turnover", "saveSuccess": "Share and credit settings saved", "section": "Share & credit", "settlementCycle": "Settlement cycle", "totalShareRate": "Share rate (%)", "validation": { "creditBelowAllocated": "Credit limit cannot be below allocated credit (minimum {{min}})", "creditExceedsParentWithMax": "Credit limit cannot exceed {{max}}", "creditInvalid": "Credit limit cannot be negative", "defaultExceedsLimit": "Default player rebate cannot exceed the rebate ceiling", "defaultRebateRange": "Default player rebate must be between 0 and 100%", "rebateLimitRange": "Rebate ceiling must be between 0 and 100%", "shareRange": "Share rate must be between 0 and 100" } }, "roles": { "create": "Create role", "createSuccess": "Created role {{name}}", "deleteSuccess": "Deleted role {{name}}", "groupSelectedCount": "{{selected}} / {{total}}", "inUse": "{{count}} in use", "noAssignablePermissions": "No permissions available to assign", "permissionSaveSuccess": "Permissions updated", "permissionSubsetHint": "Only permissions you hold can be assigned", "permissions": "Permissions", "readOnlyTemplate": "Read-only template", "selectGroup": "Select all in group", "selectedCount": "{{selected}} / {{total}} selected", "slug": "Slug", "title": "Agent roles", "updateSuccess": "Updated role {{name}}", "userCount": "Users" }, "saveFailed": "Save failed", "selectNode": "Select an agent node from the tree", "settlementBills": { "allPeriods": "All periods", "clearPeriodFilter": "Show all periods", "columns": { "counterparty": "Counterparty", "grossWinLoss": "Win/Loss", "id": "ID", "net": "Net", "party": "Party", "period": "Period", "status": "Status", "type": "Type", "unpaid": "Unpaid" }, "confirm": "Confirm bill", "confirmed": "Confirmed", "description": "Bills appear after a period is closed; latest period is selected by default.", "detail": "Details", "emptyNoClosed": "No closed period yet. Bills are generated after close.", "emptyNoPeriodsAgent": "No bills yet. Your upline or platform will close periods; you do not need to enter dates.", "emptyNoPeriodsManage": "No periods or bills yet. Use quick presets under Period management, then close the period.", "filteredByPeriod": "Showing bills for period #{{id}} only", "filteredByPeriodRange": "Bills for {{range}}", "grossWinLoss": "Win/Loss (gross_win_loss)", "paid": "Payment recorded", "paymentAmount": "Payment amount", "periodLabel": "Period", "periodPlaceholder": "Select period", "platform": "Platform", "platformRounding": "Platform rounding", "rebateAmount": "Rebate", "recordPayment": "Record payment", "shareProfit": "Share profit", "subtreeSummary": "Subtree summary", "title": "Agent bills", "typeAgent": "Agent bill", "typePlayer": "Player bill" }, "settlementPeriods": { "close": "Close period and generate bills", "closeFailed": "Failed to close period", "closed": "Period closed; bills generated", "datesRequired": "Enter start and end dates", "empty": "No periods yet. Choose a quick preset and open a period.", "end": "End", "endDate": "End date", "hideAdvanced": "Hide custom dates", "invalidRange": "End date cannot be before start date", "manageHint": "Open and close periods here; bills above update automatically. Quick presets are usually enough.", "manageTitle": "Period management", "open": "Open period", "openFailed": "Failed to open period", "openHint": "Local dates ({{tz}})", "openWithPreset": "Apply quick preset", "opened": "Period opened", "presetHint": "Quick period presets (recommended)", "presetLastWeek": "Last week", "presetThisMonth": "This month", "presetThisWeek": "This week", "range": "Period", "showAdvanced": "Custom start/end dates", "start": "Start", "startDate": "Start date", "status": "Status", "statusClosed": "Closed", "statusOpen": "Open", "title": "Agent periods", "viewBills": "Bills" }, "settlementReports": { "columns": { "agentId": "Agent ID", "allocated": "Allocated", "amount": "Amount", "available": "Available", "billId": "Bill", "billType": "Type", "code": "Code", "count": "Count", "creditLimit": "Credit limit", "drawNo": "Draw no.", "frozen": "Frozen", "gameType": "Play", "grossWinLoss": "Win/Loss", "name": "Name", "overdueDays": "Overdue days", "player": "Player", "rebate": "Rebate", "rebateType": "Rebate type", "status": "Status", "unpaid": "Unpaid", "used": "Used" }, "credit": { "agents": "Agent credit", "players": "Player credit" }, "description": "Report set: player win/loss, agent share, rebate, credit, unpaid/overdue bills, and platform P/L.", "footnote": "These reports use credit-line period semantics, not legacy wallet commission/rebate reports.", "noPeriodHint": "When no specific period is selected, the last 7 days are used. Platform P/L requires a period.", "platformPnl": { "billNet": "Platform bill net", "periodRequired": "Select a specific period to view platform P/L.", "rounding": "Rounding adjustment", "shareProfit": "Share profit (metadata)" }, "rebate": { "accrued": "Accrued", "allocated": "Allocated", "inBill": "In bill", "settled": "Settled" }, "summary": { "billCount": "Bill count", "overdueCount": "Overdue bills", "platformRounding": "Total platform rounding", "totalNet": "Total net", "totalUnpaid": "Total unpaid" }, "title": "Period reports (credit share line)", "type": "Report type", "types": { "agent_share": "Agent share", "credit": "Credit", "draw_period": "By draw", "overdue": "Overdue", "platform_pnl": "Platform P/L", "player_win_loss": "Player win/loss", "rebate": "Rebate", "summary": "Summary", "unpaid_bills": "Unpaid bills" } }, "siteSearch": "Search site name", "sitesListHint": "For integration keys and callbacks, go to", "sitesListLink": "Config · Connected sites", "status": "Status", "subnav": { "label": "Agent management navigation", "noPermission": "No permission", "operations": "Line & agent tree", "provision": "Provision level-1 agent", "provisionHint": "One-time onboarding; use Line & agent tree for daily work", "settlementBills": "Periods & bills" }, "summary": { "currentSiteAgents": "Current site operating agents", "currentSiteNodes": "Current site nodes", "enabledAgents": "Enabled operating agents", "globalAgents": "All-site operating agents", "globalNodes": "All-site node total", "rootNodes": "Root node count", "visibleAgents": "Current visible operating agents", "visibleList": "Current flat list rows" }, "tabs": { "accounts": "Primary account", "delegation": "Delegation ceiling", "overview": "Overview", "players": "Players", "roles": "Roles", "subordinates": "Subordinates", "users": "Accounts" }, "title": "Agent management", "treeTitle": "Agent tree", "updateSuccess": "Updated {{name}}", "usernamePlaceholder": "Enter login username", "usernameRequired": "Login name is required", "users": { "create": "Create account", "createSuccess": "Created account {{name}}", "deleteConfirm": "This admin will no longer be able to sign in. This cannot be undone.", "deleteSuccess": "Deleted account {{name}}", "email": "Email", "password": "Password", "roleSaveSuccess": "Roles updated for {{name}}", "roles": "Roles", "title": "Agent accounts", "username": "Username" }, "viewDownline": "View sub-agents and players" }