Files
lotteryAdmin/src/i18n/locales/zh/config.json
kang b15e377187 feat(api, i18n): add agent_node_id to various admin queries and enhance multi-language support
Introduced the agent_node_id field in AdminDrawListQuery, AdminPlayerListQuery, AdminSettlementBatchListQuery, TicketItemsListQuery, and TransferOrderListQuery to improve filtering capabilities. Updated the admin-breadcrumb and admin-sidebar components to include new translations for agent-related terms in English, Nepali, and Chinese, enhancing the overall user experience and multi-language support across the admin interface.
2026-06-02 14:37:08 +08:00

540 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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": "确认"
}
}
}