{ "title": "配置中心", "nav": { "aria": "运营配置子导航", "sidebarTitle": "运营配置导航", "groups": { "betting": "投注与展示", "risk": "风控" }, "items": { "plays": "玩法与限额", "odds": "赔率", "rebate": "佣金 / 回水", "jackpot": "奖池配置", "risk-cap": "赔付封顶" }, "rulesPlaysTitle": "投注规则", "rulesOddsTitle": "赔率与回水", "rulesOddsDescription": "赔率矩阵与回水比例在同一页维护,共用赔率版本线。", "riskCapTitle": "限额版本" }, "hub": { "title": "运营配置总览", "description": "按业务域进入玩法、赔率回水、奖池与限额配置。侧栏已提供直达入口,本页为汇总导航。", "playsTitle": "投注规则", "playsDesc": "玩法开关、限额与规则说明", "oddsTitle": "赔率与回水", "oddsDesc": "赔率矩阵与回水比例,版本一体发布", "jackpotTitle": "奖池", "jackpotDesc": "奖池参数与进账流水", "riskCapTitle": "限额版本", "riskCapDesc": "号码赔付封顶与占用视图", "integrationTitle": "接入站点", "integrationDesc": "site_code、JWT 密钥、主站钱包 URL 与 iframe 白名单" }, "integrationSites": { "title": "接入站点", "description": "由运营在后台维护各主站对接参数,并通过权限控制谁能查看或修改。site_code 创建后不可修改。", "create": "新建站点", "edit": "编辑", "save": "保存", "saving": "保存中…", "cancel": "取消", "copy": "复制", "loading": "加载中…", "empty": "暂无接入站点", "loadFailed": "加载接入站点失败", "saveFailed": "保存失败", "createSuccess": "已创建站点 {{code}}", "updateSuccess": "已更新站点 {{code}}", "connectivityTest": "联通检测", "connectivityTitle": "主站钱包联通检测", "connectivityDescription": "使用测试玩家调用站点 {{code}} 的 balance 接口。", "connectivityPlayerId": "测试 site_player_id", "connectivityRun": "开始检测", "connectivityRunning": "检测中…", "connectivitySuccess": "联通成功", "connectivityFailed": "联通失败", "exportParams": "导出参数表", "exportSuccess": "已导出 {{code}} 参数表", "exportFailed": "导出失败", "rotateSecrets": "重置密钥", "rotateSuccess": "已重置站点 {{code}} 的密钥", "rotateFailed": "重置密钥失败", "rotateConfirmTitle": "确认重置密钥?", "rotateConfirmDescription": "将重新生成站点 {{code}} 的 SSO 与钱包密钥,旧密钥立即失效。", "rotateConfirm": "确认重置", "secretsTitle": "请妥善保存密钥", "secretsDescription": "站点 {{code}} 的密钥仅显示一次,关闭后无法再次查看完整内容。", "secretsDismiss": "我已保存", "copied": "已复制 {{field}}", "copyFailed": "复制失败", "noPermission": "当前账号无接入站点查看权限", "codeImmutable": "site_code 创建后不可修改", "statusEnabled": "启用", "statusDisabled": "停用", "dialogCreateTitle": "新建接入站点", "dialogEditTitle": "编辑接入站点", "dialogDescription": "钱包路径使用默认值即可,除非主站 URL 规范不同。", "form": { "required": "请填写站点名称", "codeRequired": "请填写 site_code" }, "columns": { "code": "site_code", "name": "名称", "status": "状态", "walletUrl": "钱包 API", "actions": "操作" }, "fields": { "code": "site_code", "name": "站点名称", "currency": "默认币种", "status": "状态", "walletApiUrl": "主站钱包根 URL", "lotteryH5BaseUrl": "彩票 H5 基址(可选)", "iframeOrigins": "iframe 白名单(每行一个 origin)", "notes": "备注", "ssoSecret": "SSO 密钥", "walletApiKey": "钱包 API 密钥" } }, "versionStatus": { "active": "生效中", "draft": "草稿", "archived": "已归档" }, "versionSwitcher": { "sheetTitle": "切换配置版本", "sheetDescription": "选择一条版本在本页查看;草稿可编辑,生效中与已归档为只读。", "loading": "加载中…", "noneSelected": "未选择版本", "switch": "切换版本", "empty": "暂无版本记录。", "count": "{{count}} 条", "effectiveAt": "生效时间:{{value}}", "note": "备注:{{value}}", "current": "当前查看", "moreActions": "版本 v{{version}} 更多操作", "selected": "已选中", "view": "查看", "rollback": "回滚", "delete": "删除", "deleteConfirmTitle": "确认删除版本?", "deleteConfirmDescription": "将永久删除版本 ID {{id}}(version_no {{version}})。生效中的版本不可删除。" }, "versionToolbar": { "draftEditing": "正在编辑草稿,保存并发布后生效" }, "versionActions": { "publishCurrent": "发布生效", "refreshing": "刷新中", "refresh": "刷新版本", "newDraft": "新建草稿", "saveDraft": "保存草稿", "saveFailed": "配置保存失败", "rollbackSuccess": "已从 v{{fromVersion}} 克隆出新草稿 v{{version}}", "rollbackFailed": "回滚失败", "rollbackDialog": { "title": "确认回滚", "description": "系统会基于版本 v{{version}} 克隆出新的草稿,不会直接覆盖当前生效版本。", "confirm": "确认回滚" } }, "wallet": { "title": "钱包转账限额配置", "description": "金额单位为游戏币种最小单位(如 NPR 下 100 = 1.00 NPR)。最小金额至少为 1 最小单位。", "loadFailed": "加载失败", "saveSuccess": "保存成功", "saveFailed": "保存失败", "fields": { "inMin": "转入最小金额", "inMax": "转入最大金额", "outMin": "转出最小金额", "outMax": "转出最大金额" }, "placeholders": { "min": "例如 1.00", "max": "例如 10000.00" }, "hints": { "inMin": "主站钱包转入彩票钱包的单笔下限", "inMax": "主站钱包转入彩票钱包的单笔上限", "outMin": "彩票钱包转出主站钱包的单笔下限", "outMax": "彩票钱包转出主站钱包的单笔上限" }, "discard": "放弃更改", "confirmSaveTitle": "确认保存钱包限额?", "confirmSaveDescription": "将更新转入/转出单笔限额,立即影响玩家钱包转账。" }, "system": { "title": "开奖与结算运行参数", "runtimeTitle": "全局运行参数", "runtimeIntro1": "这里放不属于玩法版本、赔率版本、风控版本的全局系统参数。它们会直接影响钱包转账、任务开关或系统运行策略。", "runtimeIntro2": "玩法、赔率、回水、封顶仍然统一放在“运营配置”里管理;系统设置只承接跨模块的运行参数,避免后台入口职责重叠。", "description": "用于控制 RNG 开奖后的审核流转、冷静期时长和系统自动结算行为。这些参数属于全局运行策略,不跟随玩法/赔率版本发布。", "loadFailed": "系统设置加载失败", "saveSuccess": "系统设置已保存", "saveRuntimeSuccess": "开奖与结算参数已保存", "saveDrawSuccess": "开奖参数已保存", "saveCurrencyFormatSuccess": "金额显示格式已保存", "saveSettlementSuccess": "结算自动化参数已保存", "saveFrontendSuccess": "前端展示配置已保存", "sections": { "draw": "开奖节奏与审核", "drawDescription": "控制期号节奏、封盘与开奖后人工审核、冷静期。仅保存本区块内修改过的项。", "currencyFormat": "金额显示格式", "currencyFormatDescription": "全站金额展示的小数位与分隔符,与币种主数据无关。", "settlement": "结算自动化", "settlementDescription": "控制 tick 是否自动结算、审核与派彩。修改后只提交本区块变更项。" }, "saveFailed": "系统设置保存失败", "unsavedChanges": "有未保存的更改", "frontendConfig": "前端配置", "fields": { "manualReview": "开奖结果必须人工审核", "cooldownMinutes": "冷静期时长(分钟)", "defaultCurrency": "默认币种代码", "drawIntervalMinutes": "开奖间隔(分钟)", "drawBettingWindowSeconds": "下注窗口(秒)", "drawCloseBeforeDrawSeconds": "封盘提前(秒)", "drawBufferDrawsAhead": "预生成未来期数", "currencyDisplayDecimals": "金额显示小数位", "currencyDecimalSeparator": "小数分隔符", "currencyThousandsSeparator": "千位分隔符", "autoSettlement": "自动执行结算", "autoApprove": "自动审核结算批次", "autoPayout": "自动派彩入账", "applyRebateToPayout": "中奖注单结算时再扣回水", "playRulesHtml": "玩法规则 HTML(多语言)", "playRulesHtmlDesc": "该内容将直接在玩家端的玩法规则页面作为 HTML 渲染。按语言分别配置;留空则回退其它语言或显示默认提示。" }, "hints": { "manualReview": "开启后,RNG 开奖结果会先进入待审核,必须由后台人工发布。", "cooldownMinutes": "结果发布后等待多久再进入 settling。填 0 表示发布后直接进入结算。", "autoSettlement": "关闭后,tick 不会自动跑结算,只能由后台手工执行。", "autoApprove": "冷静期结束并跑完结算后,是否自动将批次标记为已审核。", "autoPayout": "批次已审核后,是否由 tick 自动把中奖金额打入玩家钱包。", "applyRebateToPayout": "开启后派彩金额 = 毛赢 × (1 - 回水率快照)。默认关闭(下注实扣已体现回水)。" }, "states": { "enabled": "已开启", "disabled": "已关闭" }, "discard": "放弃更改", "confirmSaveTitle": "确认保存系统运行参数?", "confirmSaveDescription": "将更新开奖审核、冷静期、自动结算/审核/派彩及玩法规则展示,可能影响全站运行。", "confirmSaveRuntimeTitle": "确认保存开奖与结算参数?", "confirmSaveRuntimeDescription": "将更新开奖审核、期号节奏、冷静期、自动结算/审核/派彩等,不影响玩法规则 HTML。", "confirmSaveDrawTitle": "确认保存开奖参数?", "confirmSaveDrawDescription": "将更新开奖审核、期号节奏与冷静期等本区块字段。", "confirmSaveCurrencyFormatTitle": "确认保存金额显示格式?", "confirmSaveCurrencyFormatDescription": "将更新小数位与千分位/小数分隔符。", "confirmSaveSettlementTitle": "确认保存结算自动化?", "confirmSaveSettlementDescription": "将更新自动结算、审核与派彩相关开关。", "confirmSaveFrontendTitle": "确认保存前端展示配置?", "confirmSaveFrontendDescription": "将更新玩家端玩法规则页面 HTML,不影响开奖与结算逻辑。" }, "currencies": { "title": "币种管理", "description": "维护后台可用的币种主数据,控制是否启用以及是否允许用于下注。", "loading": "正在加载币种列表…", "empty": "暂无币种。", "loadFailed": "币种列表加载失败", "createSuccess": "币种已创建", "createFailed": "币种创建失败", "updateSuccess": "币种已更新", "updateFailed": "币种更新失败", "deleteSuccess": "币种 {{code}} 已删除", "deleteFailed": "币种删除失败", "actions": { "create": "新增币种", "edit": "编辑", "delete": "删除", "openStandalone": "进入独立页面", "backToSettings": "返回系统设置" }, "table": { "code": "代码", "name": "名称", "decimals": "小数位", "enabled": "启用", "bettable": "可下注", "actions": "操作" }, "dialog": { "createTitle": "新增币种", "editTitle": "编辑币种", "description": "币种代码创建后不可修改;禁用币种时会自动关闭“可下注”。" }, "deleteDialog": { "title": "确认删除币种", "description": "确定删除币种 {{code}} 吗?如果该币种已被默认配置、钱包、注单、赔率或奖池引用,系统会阻止删除。" }, "form": { "code": "币种代码", "name": "币种名称", "decimals": "小数位", "enabled": "启用状态", "enabledHint": "关闭后,新业务不应继续使用该币种。", "bettable": "允许下注", "bettableHint": "仅启用中的币种才可设置为可下注。", "required": "请先填写必填字段", "decimalInvalid": "请输入合法的小数位" } }, "play": { "batchGroups": { "d2": "2D 全局", "d3": "3D 全局", "d4": "4D 全局", "big-small": "Big / Small", "position": "位置类玩法", "box": "包号类玩法", "jackpot": "奖池" }, "validation": { "minMaxInvalid": "{{playCode}}:最小下注额不能大于最大下注额", "displayNameRequired": "显示名称不能为空" }, "publishFailed": "发布失败", "publishDialog": { "title": "确认发布玩法配置?", "description": "新配置将影响后续下注;已下注注单仍按各自快照结算。", "confirm": "确认发布" }, "batchSwitchConfirmTitle": "确认批量{{action}}?", "batchSwitchConfirmDescription": "将{{action}}「{{group}}」下 {{count}} 个玩法,并写入当前草稿。", "batchSwitchEnable": "开启", "batchSwitchDisable": "关闭", "toggleConfirmTitle": "确认{{action}}玩法 {{playCode}}?", "toggleConfirmDescription": "将写入当前草稿;保存并发布后才会影响玩家端。", "batchPartialEnabled": "{{enabledCount}}/{{total}} 已开启(未全开,打开开关将全部开启)", "toggleEnable": "开启", "toggleDisable": "关闭", "toggleInstantFailed": "玩法开关即时生效失败,请稍后重试", "createDraftSuccess": "已创建草稿 v{{version}}", "createDraftFailed": "创建草稿失败", "ruleSavedLocal": "规则文案已写入本地草稿,记得保存草稿后再发布。", "deleteFailed": "删除失败", "activeVersion": "当前生效版本 v{{version}}", "readOnlyHint": "当前限额与规则为只读,请先创建草稿。", "batchSwitchesTitle": "批量开关", "batchSwitchesDesc": "这里只会修改当前草稿;保存并发布后,玩家下注表会按新配置刷新。", "readOnlyDraftHint": "当前版本为只读,请先创建草稿。", "batchEnabledCount": "{{enabledCount}}/{{total}} 已开启", "noPlayTypes": "暂无玩法", "actions": { "enable": "开启", "disable": "关闭", "ruleText": "规则文案", "editDisplayName": "编辑名称" }, "locales": { "zh": "中文", "en": "English", "ne": "नेपाली" }, "table": { "playCode": "玩法编码", "category": "分类", "status": "状态", "displayName": "显示名称", "order": "排序", "minBet": "最小下注", "maxBet": "最大下注", "actions": "操作" }, "states": { "enabled": "开启", "disabled": "关闭", "readOnly": "只读" }, "aria": { "enablePlay": "切换 {{playCode}} 启用状态", "batchGroupSwitch": "切换「{{group}}」批量开关" }, "nameDialog": { "title": "编辑显示名称", "description": "玩法 {{playCode}};保存草稿并发布后,玩家端将展示该名称。", "apply": "应用到草稿", "savedLocal": "显示名称已写入本地草稿,记得保存草稿后再发布。" }, "ruleDialog": { "title": "规则文案(多语言)", "description": "玩法 {{playCode}};修改内容只会暂存到草稿,保存并发布后才会生效。", "apply": "应用到草稿" } }, "prizeScopes": { "first": "头奖赔率", "second": "二奖赔率", "third": "三奖赔率", "starter": "特别奖赔率", "consolation": "安慰奖赔率" }, "odds": { "sectionHint": "选择版本后可编辑各奖级赔率;发布后立即作用于新注单。", "sections": { "playScope": "玩法范围", "oddsConfig": "赔率配置" }, "currentSelection": "当前选择:{{category}} / {{play}}", "playGroups": { "bigSmall": "大小类", "combo4": "组合类", "number3": "号码类", "number2": "2D 位置类", "other": "其他类" }, "summary": { "title": "配置摘要", "version": "版本", "statusLabel": "状态", "readOnlyTag": "只读", "readOnlyHint": "当前为只读版本,如需修改请先创建草稿。", "activeHint": "当前版本已生效,新注单将按此配置计算。" }, "tabs": { "all": "全部" }, "category": "分类", "playType": "玩法类型", "noPlayTypes": "该分类下暂无玩法。", "sheetDescription": "选择一个版本在此查看;非草稿版本可以回滚成新的草稿。", "activeVersionPrefix": "当前生效版本:", "readOnlyHint": "当前版本为只读,请先创建草稿后再修改赔率。", "loadingDetails": "正在加载详情…", "multiplier": "倍数 x{{value}} · {{currency}}", "missingScopeRow": "缺少 {{scope}} 对应行,请检查种子或版本数据。", "rebateRate": "回水比例 (%)", "rebateRateHint": "会把 rebate_rate 写入该玩法下所有奖级范围。", "publishFailed": "发布失败", "createDraftSuccess": "已创建草稿 v{{version}}", "createDraftFailed": "创建草稿失败", "rollbackSuccess": "已从 v{{fromVersion}} 克隆出新草稿 v{{version}}", "rollbackFailed": "回滚失败", "deleteFailed": "删除失败", "rollbackDialog": { "title": "确认回滚", "description": "系统会基于版本 v{{version}} 克隆出新的草稿,不会直接覆盖当前生效版本。", "confirm": "确认回滚" }, "publishDialog": { "title": "确认发布赔率版本?", "description": "新赔率会立即影响后续新注单;已成功下注的历史注单仍按各自保存的赔率快照结算。", "confirm": "确认发布", "columns": { "prizeScope": "奖级范围", "currentActive": "当前生效", "afterPublish": "发布后" } } }, "rebate": { "sectionHint": "回水比例写入赔率版本;请先在上方选择或创建赔率草稿。", "lazyLoadHint": "向下滚动至回水区域后加载", "embeddedVersionHint": "回水与上方赔率共用版本线,请在「赔率」区块切换版本。", "sheetDescription": "回水配置存放在赔率草稿版本中,与赔率共用同一套版本记录。", "publishLabel": "发布", "publishSuccess": "已发布带回水的赔率版本", "publishFailed": "发布失败", "publishDialog": { "title": "确认发布回水/赔率版本?", "description": "发布后将影响后续新注单的回水计算。", "confirm": "确认发布" }, "createDraftSuccess": "已创建草稿 v{{version}}", "createDraftFailed": "创建草稿失败", "deleteFailed": "删除失败", "editingVersion": "当前编辑版本 v{{version}} · {{status}}", "readOnlyHint": "修改回水前请先创建草稿。", "dimensionRatesMixedHint": "检测到同一维度(2D/3D/4D)内各玩法的首奖级回水比例不完全相同:上方三个百分比输入仅展示按玩法编码排序后的第一个有值示例,实际回水请以下方表格各行数据为准;使用批量输入会先按维度覆盖为同一比例。", "fields": { "d2": "2D 回水比例 (%)", "d3": "3D 回水比例 (%)", "d4": "4D 回水比例 (%)" }, "winEnjoy": { "label": "中奖注单结算时再扣回水", "description": "对应系统参数 settlement.apply_rebate_to_payout:开启后中奖派彩在毛赢基础上再乘 (1 - 回水率快照)。", "hint": "全局开关,保存后立即影响后续结算派彩,不随赔率版本发布。", "saveSuccess": "已更新中奖回水结算开关", "saveFailed": "更新失败" }, "effectiveTime": "生效时间(当前赔率生效版本)" }, "riskCap": { "validation": { "requireAtLeastOne": "至少需要一条封顶配置", "defaultGreaterThanZero": "默认封顶金额必须大于 0", "numberMustBe4Digits": "号码必须为 4 位数字:{{number}}", "enterValidCapAmount": "请输入有效的封顶金额" }, "publishFailed": "发布失败", "publishDialog": { "title": "确认发布封顶配置?", "description": "发布后将影响各号码的风险池封顶额度。", "confirm": "确认发布" }, "createDraftSuccess": "已创建草稿 v{{version}}", "createDraftFailed": "创建草稿失败", "savedLocalDraft": "已写入本地草稿,记得保存草稿后再发布。", "deleteFailed": "删除失败", "effectiveAt": "生效时间:{{value}}", "note": "备注:{{value}}", "readOnlyHint": "当前为只读,请先创建草稿。", "readOnly": "只读", "defaultCap": { "title": "默认封顶", "description": "没有单独特殊封顶的号码,统一使用这条默认封顶模板。", "fieldLabel": "封顶金额(最小单位)" }, "specialCaps": { "title": "特殊封顶" }, "loadingDetails": "正在加载详情…", "noDetailRows": "暂无明细行。", "table": { "number": "号码", "capAmount": "封顶金额", "used": "已占用", "remaining": "剩余额度", "soldOut": "售罄", "ratio": "占比", "actions": "操作" }, "occupancy": { "searchLabel": "搜索号码", "searchPlaceholder": "例如 8888" }, "runtime": { "title": "按期号查看占用(实时)", "description": "数据来自该期号风险池 API,与上方版本草稿无关。请选择期号后查看已占用、剩余额度与售罄状态。", "drawLabel": "期号", "drawPlaceholder": "选择期号", "filterAll": "全部", "filterSoldOut": "仅售罄", "filterHighRisk": "高占用", "manageHint": "完整风控操作请使用上方链接进入期号风控子页。", "noDraws": "暂无可用期号,无法加载占用数据。", "soldYes": "是", "soldNo": "否" }, "actions": { "update": "更新", "addSpecialCap": "+ 新增特殊封顶", "filterPresets": "筛选预设…", "exportCsv": "导出 CSV", "close": "关闭" }, "syncDialog": { "title": "同步默认封顶", "description": "默认封顶模板将被设为 {{value}}。这次只会修改草稿,确认后仍需保存并发布。", "confirm": "确认" } } }