feat(i18n): enhance locale support for rebate settings and report exports

- Updated English, Nepali, and Chinese locale files to include new translations for the "apply rebate to payout" feature, enhancing clarity on its functionality.
- Added new export options for previewing CSV and Excel files in reports, improving user experience with clearer export capabilities.
- Enhanced internationalization support across multiple locales to ensure consistent messaging in the admin interface.
This commit is contained in:
2026-05-26 13:53:22 +08:00
parent a76b681828
commit 60271d87fb
17 changed files with 222 additions and 76 deletions

View File

@@ -115,6 +115,7 @@
"autoSettlement": "Run settlement automatically",
"autoApprove": "Auto-approve settlement batches",
"autoPayout": "Auto-credit winnings to wallets",
"applyRebateToPayout": "Deduct rebate again on winning payouts",
"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."
},
@@ -123,7 +124,8 @@
"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.",
"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."
"autoPayout": "After a batch is approved, whether tick automatically credits winnings to player wallets.",
"applyRebateToPayout": "When enabled, payout = gross win × (1 - rebate_rate_snapshot). Default off (rebate already reflected in actual deduct)."
},
"states": {
"enabled": "Enabled",
@@ -333,9 +335,11 @@
"d4": "4D rebate rate (%)"
},
"winEnjoy": {
"label": "Apply rebate on winning tickets",
"description": "Placeholder field. It can later be aligned with risk and settlement rules and persisted.",
"pendingNote": "Required by the product spec, but the API has no field yet. This row is informational only—you cannot change it here."
"label": "Deduct rebate on winning payouts",
"description": "Maps to settlement.apply_rebate_to_payout: when enabled, winning payout uses gross win × (1 - rebate_rate_snapshot).",
"hint": "Global switch; affects future settlement payouts immediately (not tied to odds version publish).",
"saveSuccess": "Winning-ticket rebate setting updated",
"saveFailed": "Update failed"
},
"effectiveTime": "Effective time (current active odds version)"
},

View File

@@ -24,8 +24,11 @@
"csv": "CSV",
"excel": "Excel",
"csvServer": "Export CSV (full)",
"excelServer": "Export Excel (full)"
"excelServer": "Export Excel (full)",
"csvPreview": "Export preview CSV",
"excelPreview": "Export preview Excel"
},
"exportPreviewHint": "Exports only rows on the current preview page (pagination applies)",
"tasks": {
"refresh": "Refresh",
"download": "Download",

View File

@@ -115,6 +115,7 @@
"autoSettlement": "सेटलमेन्ट स्वतः चलाउने",
"autoApprove": "सेटलमेन्ट ब्याच स्वतः स्वीकृत",
"autoPayout": "जित रकम स्वतः वालेटमा जम्मा",
"applyRebateToPayout": "जितेको टिकटको पेआउटमा पुनः रिबेट घटाउने",
"playRulesHtml": "खेल नियम HTML (बहुभाषी)",
"playRulesHtmlDesc": "खेलाडीको नियम पृष्ठमा भाषा अनुसार HTML देखिन्छ। खाली छोड्दा अर्को भाषा वा पूर्वनिर्धारित खाली सूचना देखिन्छ।"
},
@@ -123,7 +124,8 @@
"cooldownMinutes": "प्रकाशनपछि settling मा जानुअघि कति समय पर्खने। 0 राखे तुरुन्त सेटलमेन्ट सुरु हुन्छ।",
"autoSettlement": "बन्द हुँदा tick ले सेटलमेन्ट स्वतः चलाउँदैन र एडमिनले म्यानुअल रूपमा ट्रिगर गर्नुपर्छ।",
"autoApprove": "कूलडाउन सकिएर सेटलमेन्ट पूरा भएपछि ब्याच स्वतः अनुमोदित हुने हो कि होइन।",
"autoPayout": "ब्याच अनुमोदित भएपछि tick ले जित रकम खेलाडीको वालेटमा स्वतः जम्मा गर्ने हो कि होइन।"
"autoPayout": "ब्याच अनुमोदित भएपछि tick ले जित रकम खेलाडीको वालेटमा स्वतः जम्मा गर्ने हो कि होइन।",
"applyRebateToPayout": "सक्रिय हुँदा पेआउट = gross win × (1 - rebate_rate_snapshot)। पूर्वनिर्धारित बन्द (रिबेट actual deduct मा पहिले नै समायोजित)।"
},
"states": {
"enabled": "सक्रिय",
@@ -333,9 +335,11 @@
"d4": "4D रिबेट दर (%)"
},
"winEnjoy": {
"label": "जितेक टिकटहरूमा पनि रिबेट लागू गर्ने",
"description": "यो placeholder field हो। पछि risk र settlement नियमसँग मिलाएर स्थायी रूपमा राख्न सकिन्छ।",
"pendingNote": "उत्पादन विनिर्देशनले यो switch चाहिन्छ, तर API मा field छैन। यहाँ केवल जानकारी देखाइन्छ—यहाँबाट बदल्न मिल्दैन।"
"label": "जितेक टिकटको पेआउटमा पुनः रिबेट घटाउने",
"description": "settlement.apply_rebate_to_payout सँग जोडिएको: सक्रिय हुँदा जित पेआउटमा rebate_rate_snapshot अनुसार घटाउँछ।",
"hint": "वैश्विक switch; odds संस्करण प्रकाशनसँग नजोडिएको, सुरक्षित गर्दा तुरुन्त लागू।",
"saveSuccess": "जित टिकट रिबेट सेटिङ अद्यावधिक भयो",
"saveFailed": "अद्यावधिक असफल"
},
"effectiveTime": "लागू समय (हाल सक्रिय अड्स संस्करण)"
},

View File

@@ -24,8 +24,11 @@
"csv": "CSV",
"excel": "Excel",
"csvServer": "CSV निर्यात (पूर्ण)",
"excelServer": "Excel निर्यात (पूर्ण)"
"excelServer": "Excel निर्यात (पूर्ण)",
"csvPreview": "पूर्वावलोकन CSV",
"excelPreview": "पूर्वावलोकन Excel"
},
"exportPreviewHint": "हालको पूर्वावलोकन पृष्ठका पङ्क्तिहरू मात्र (पेजिनेसन लागू)",
"tasks": {
"refresh": "रिफ्रेस",
"download": "डाउनलोड",

View File

@@ -115,6 +115,7 @@
"autoSettlement": "自动执行结算",
"autoApprove": "自动审核结算批次",
"autoPayout": "自动派彩入账",
"applyRebateToPayout": "中奖注单结算时再扣回水",
"playRulesHtml": "玩法规则 HTML多语言",
"playRulesHtmlDesc": "该内容将直接在玩家端的玩法规则页面作为 HTML 渲染。按语言分别配置;留空则回退其它语言或显示默认提示。"
},
@@ -123,7 +124,8 @@
"cooldownMinutes": "结果发布后等待多久再进入 settling。填 0 表示发布后直接进入结算。",
"autoSettlement": "关闭后tick 不会自动跑结算,只能由后台手工执行。",
"autoApprove": "冷静期结束并跑完结算后,是否自动将批次标记为已审核。",
"autoPayout": "批次已审核后,是否由 tick 自动把中奖金额打入玩家钱包。"
"autoPayout": "批次已审核后,是否由 tick 自动把中奖金额打入玩家钱包。",
"applyRebateToPayout": "开启后派彩金额 = 毛赢 × (1 - 回水率快照)。默认关闭(下注实扣已体现回水)。"
},
"states": {
"enabled": "已开启",
@@ -333,9 +335,11 @@
"d4": "4D 回水比例 (%)"
},
"winEnjoy": {
"label": "中奖注单也应用回水",
"description": "这是预留字段,后续可和风控、结算规则对齐后再真正落库存储。",
"pendingNote": "产品要求支持该开关,但后端尚未提供配置字段;当前仅展示说明,无法在此修改。"
"label": "中奖注单结算时再扣回水",
"description": "对应系统参数 settlement.apply_rebate_to_payout开启后中奖派彩在毛赢基础上再乘 (1 - 回水率快照)。",
"hint": "全局开关,保存后立即影响后续结算派彩,不随赔率版本发布。",
"saveSuccess": "已更新中奖回水结算开关",
"saveFailed": "更新失败"
},
"effectiveTime": "生效时间(当前赔率生效版本)"
},

View File

@@ -24,8 +24,11 @@
"csv": "CSV",
"excel": "Excel",
"csvServer": "导出 CSV全量",
"excelServer": "导出 Excel全量"
"excelServer": "导出 Excel全量",
"csvPreview": "导出当前页 CSV",
"excelPreview": "导出当前页 Excel"
},
"exportPreviewHint": "仅导出当前预览表格中的数据(受分页限制)",
"tasks": {
"refresh": "刷新",
"download": "下载",