export function createAccountCopy(isEn: boolean): Record { return { backHome: isEn ? "Back to Home" : "返回首页", accountCenter: isEn ? "Account Center" : "账户中心", loadingAccount: isEn ? "Loading account info..." : "加载账户信息中...", refresh: isEn ? "Refresh" : "刷新", signOut: isEn ? "Sign Out" : "退出", signIn: isEn ? "Sign In" : "登录", upgradePro: isEn ? "Upgrade Pro" : "升级 Pro", guestUser: isEn ? "Signed-out account" : "未登录账户", joinedAt: isEn ? "Joined" : "加入时间", totalPoints: isEn ? "Total Points" : "总积分 (荣誉)", weeklyPoints: isEn ? "This Month Invites" : "本月有效邀请", weeklyRank: isEn ? "Monthly Cap" : "月度上限", weeklyRewards: isEn ? "Referral Rewards" : "邀请奖励", membershipDetails: isEn ? "Membership Details" : "会员权限详情", identityStatus: isEn ? "Identity Status" : "身份状态", authMode: isEn ? "Auth Mode" : "鉴权模式", weatherEngine: isEn ? "Weather Engine" : "气象引擎", intradayAnalysis: isEn ? "Intraday Analysis" : "今日内分析", historyFuture: isEn ? "Future-date + Decision Card Analysis" : "未来日期分析 + 城市决策卡", smartPush: isEn ? "Cross-platform Smart Weather Push" : "全平台智能气象查询", deepMode: isEn ? "Deep mode (incl. high-temp window)" : "深度版(含高温时段)", compactVisible: isEn ? "Compact visible" : "简版可见", enabled: isEn ? "Enabled" : "已开启", locked: isEn ? "Locked" : "锁定", boundEmail: isEn ? "Bound Email" : "绑定邮箱", loginMethod: isEn ? "Sign-in Method" : "登录方式", renewalDate: isEn ? "Renewal Date" : "续费日期", accessUntil: isEn ? "Access Until" : "可用至", authResult: isEn ? "Auth Result" : "鉴权结果", passed: isEn ? "Passed" : "通过", restricted: isEn ? "Restricted" : "受限", telegramBind: isEn ? "Telegram Bot Binding" : "Telegram Bot 绑定", telegramHint: isEn ? "Use one-click Telegram binding first to sync notifications and access. After binding, refresh this page and submit your Telegram group join request." : "优先使用「一键绑定 Telegram Bot」同步通知与权限。绑定完成后刷新本页,再提交 Telegram 群组入群申请。", telegramFallbackHint: isEn ? "Fallback copy method: only use this if one-click binding does not open Telegram correctly. Copy the command below and send it to @polyyuanbot. After binding, refresh this page to show the group entry." : "兜底复制方式:仅在一键绑定无法正常打开 Telegram 时使用。请复制下方命令并发送给 @polyyuanbot。绑定完成后刷新本页,即可显示入群入口。", paymentManualSupport: isEn ? "If payment succeeds but Pro is still not activated, email yhrsc30@gmail.com. This project is currently maintained by one developer, so manual recovery may be needed in edge cases." : "如果付款成功后 Pro 仍未开通,请发邮件到 yhrsc30@gmail.com。当前项目由我一人维护,极少数边缘情况可能需要人工补开。给你带来的不便,敬请谅解!", telegramBotLink: isEn ? "Open Bot (@polyyuanbot)" : "打开机器人 (@polyyuanbot)", telegramBotBindLink: isEn ? "One-click Telegram Binding" : "一键绑定 Telegram Bot", telegramGroupLink: isEn ? "Join Telegram Group" : "加入 Telegram 群组", telegramTopicsGroupLink: isEn ? "Real-time Weather Updates" : "城市实测温度群", copyCommand: isEn ? "Copy fallback command" : "复制兜底命令", paymentMgmt: isEn ? "Payment Management" : "支付管理", proPlan: isEn ? "Pro Plan" : "Pro 套餐", monthlyPlan: isEn ? "Monthly" : "月付", quarterlyPlan: isEn ? "Quarterly" : "季度", trialBadge: isEn ? "3-day trial" : "3天试用", trialPaidGroupLocked: isEn ? "Trial users can use the core product experience, but the paid Telegram group is available to full Pro subscriptions only." : "3天试用用户可体验核心产品,但无法进入付费 Telegram 群;付费群仅对正式 Pro 开放。", referralTitle: isEn ? "Referral Code" : "邀请码", referralMyCode: isEn ? "My invite code" : "我的邀请码", referralApplyLabel: isEn ? "Use invite code" : "使用邀请码", referralApplyPlaceholder: isEn ? "Enter invite code" : "输入邀请码", referralApplyButton: isEn ? "Apply" : "应用", referralApplied: isEn ? "Referral code applied. Your first monthly payment is now discounted." : "邀请码已应用,首月 Pro 将按邀请价结算。", referralApplyFailed: isEn ? "Failed to apply referral code" : "邀请码应用失败", referralDiscountHint: isEn ? "Invite discount: first monthly Pro is 20 USDC." : "邀请首月价:Pro 月付 20 USDC。", referralRewardHint: isEn ? "When an invited user pays for Pro, you receive +3500 points." : "被邀请人成功付费后,邀请人获得 +3500 积分。", referralInviteLimit: isEn ? "Monthly referral reward cap: 10 paid invites, up to +35000 points." : "每月最多 10 个有效付费邀请奖励,最高 +35000 积分。", paymentToken: isEn ? "Payment Token" : "支付币种", paymentAccount: isEn ? "Subscription Account" : "订阅归属账号", paymentWallet: isEn ? "Paying Wallet" : "付款钱包", paymentReceiver: isEn ? "Receiver Contract" : "当前收款合约", paymentNetwork: isEn ? "Payment Network" : "支付网络", paymentHost: isEn ? "Payment Host" : "支付域名", primary: "Primary", polygonChain: isEn ? "Polygon Network" : "Polygon 网络", noWallet: isEn ? "No payment wallet bound yet." : "未绑定任何付款钱包", bindExt: isEn ? "Bind Browser Wallet (EVM Extension)" : "绑定浏览器钱包(EVM扩展)", bindQr: isEn ? "Bind via QR (WalletConnect)" : "扫码绑定(WalletConnect)", walletConnectMissing: isEn ? "WalletConnect disabled: please configure" : "未启用 WalletConnect:请配置", walletExtensionDetected: isEn ? "Detected browser wallets" : "检测到的浏览器钱包", walletExtensionChoose: isEn ? "Choose extension wallet" : "选择浏览器钱包", walletRecoveryBusy: isEn ? "Recovering Pro entitlement after on-chain payment..." : "正在根据链上支付恢复 Pro 权限...", walletRecoveryDone: isEn ? "Pro entitlement recovered." : "Pro 权限已恢复。", walletRecoveryFailed: isEn ? "A recent on-chain payment is still syncing to your subscription. Please refresh in a minute or contact support." : "检测到最近的链上支付流程,但订阅状态仍在同步中。请稍后刷新,或联系管理员处理。", unbind: isEn ? "Unbind" : "解绑", unbindConfirm: isEn ? "Unbind wallet {address}? You can bind it again later." : "确认解绑钱包 {address}?后续可重新绑定。", unbindDone: isEn ? "Wallet unbound." : "钱包已解绑。", unbindDonePrimary: isEn ? "Wallet unbound. New primary: {address}" : "钱包已解绑,新的主钱包:{address}", unbindFailed: isEn ? "Failed to unbind wallet" : "解绑钱包失败", authExpired: isEn ? "Session expired. Please sign out and sign in again." : "登录会话已失效,请退出后重新登录。", payNow: isEn ? "Subscribe & Activate" : "立即订阅并激活服务", connectAndPay: isEn ? "Connect Wallet & Pay" : "连接钱包并支付", loginBeforeBind: isEn ? "Please sign in before binding wallet." : "请先登录后再绑定钱包。", loginBeforePay: isEn ? "Please sign in before payment." : "请先登录后再支付。", bindFirstBeforePay: isEn ? "Please bind a wallet first." : "请先绑定钱包。", payNotReady: isEn ? "Payment service is not fully configured." : "支付服务未配置完成。", paymentHostBlocked: isEn ? "Payments are disabled on this host. Please return to the production site: {host}" : "当前域名不允许发起支付,请回到主站后重试:{host}", paymentGuardHint: isEn ? "Payment will be credited to the current account and bound wallet shown below." : "支付将记入下方显示的当前账号和绑定钱包,请先核对。", openBindFlow: isEn ? "Please bind a wallet first. Opening bind flow..." : "请先完成钱包绑定,正在拉起绑定流程...", walletBoundCreatingOrder: isEn ? "Wallet bound. Creating order and sending payment..." : "钱包已绑定,正在创建订单并发起支付...", proMember: "PRO MEMBER", proPendingSync: isEn ? "Activated (pending sync)" : "已开通(待同步)", subscriptionChecking: isEn ? "Checking subscription" : "订阅同步中", subscriptionUnknown: isEn ? "Subscription status is syncing. Please refresh shortly." : "订阅状态正在同步,请稍后刷新。", noProSubscription: isEn ? "No Pro subscription" : "暂无 Pro 订阅", proEndsSoonTitle: isEn ? "Pro renewal due soon" : "Pro 即将到期", proEndsSoonBody: isEn ? "Your Pro membership will expire soon. Renew now to avoid interruption." : "你的 Pro 会员即将到期。现在续费可避免权限中断。", proExpiredTitle: isEn ? "Pro expired" : "Pro 已到期", proExpiredBody: isEn ? "Your Pro membership has expired. Renew now to restore premium access." : "你的 Pro 会员已到期。立即续费可恢复高级权限。", renewNow: isEn ? "Renew Now" : "立即续费", daysLeft: isEn ? "{days} days left" : "剩余 {days} 天", queuedExtensionSummary: isEn ? "Current plan until {current}. Queued extension: +{days} days. Total access until {total}." : "当前订阅至 {current},已排队延长 +{days} 天,总可用至 {total}。", paymentMethodLabel: isEn ? "Payment Method" : "请选择支付方式", paymentMethodWallet: isEn ? "Wallet Quick Pay" : "钱包快捷支付", paymentMethodManual: isEn ? "Manual On-chain Transfer" : "手动链上转账", paymentWalletDesc: isEn ? "Option 1: Bind your EVM wallet (e.g. MetaMask extension or WalletConnect QR scan) to sign and pay via smart contract. Credits are credited instantly." : "方式一:绑定您的 EVM 钱包(如 MetaMask 扩展或 WalletConnect 扫码),通过智能合约自动签名付款,额度即时到账。", paymentGasWarning: isEn ? "Your wallet needs a small amount of POL for gas fees; USDC alone may not complete authorization or payment. Please confirm your wallet is on Polygon network and keep some POL before paying." : "钱包里需要少量 POL 作为 gas 手续费;只有 USDC 可能无法完成授权或支付。请确认当前钱包在 Polygon 网络,并预留一点 POL 后再支付。", paymentManualDesc: isEn ? "Option 2: Transfer directly to the platform's receiver contract without binding a wallet. After the transfer, submit the transaction hash (Tx Hash) and the system will verify and activate Pro automatically." : "方式二:无需将钱包绑定到账号,直接向平台收款合约转账。转账完成后提交交易哈希(Tx Hash)系统会自动验签并开通 Pro。", paymentManualTitle: isEn ? "Manual Transfer (No Wallet Binding)" : "手动转账(无需绑定钱包)", paymentManualHint: isEn ? "Create an order first, transfer to the specified receiver address, then submit the tx hash here. Do not mix with the wallet payment channel." : "先创建订单,向指定收款地址转账,完成后在此处提交 tx hash。请勿与钱包付款通道重复混用。", paymentManualCreate: isEn ? "Create Transfer Order" : "创建转账订单", paymentAmount: isEn ? "Amount" : "金额", paymentReceiverLabel: isEn ? "Receiver" : "收款地址", paymentTxHash: "Tx Hash", paymentCopyAddress: isEn ? "Copy" : "复制", paymentManualSubmit: isEn ? "Submit Tx Hash & Confirm" : "提交 tx hash 并自动确认", chainReadError: isEn ? "Reading wallet network" : "读取钱包网络", chainSwitchError: isEn ? "Switch wallet network" : "切换钱包网络", chainAddPolygon: isEn ? "Add Polygon network" : "添加 Polygon 网络", chainSwitchPrompt: isEn ? "Please manually switch to Polygon network in your wallet and try again." : "请在钱包中手动切换到 Polygon 网络后再试。", // ── Payment status messages ────────────────────────────────────── orderAlreadyPaid: isEn ? "This order is already paid. Restoring subscription..." : "该订单已支付,正在恢复订阅...", orderExpired: isEn ? "Payment order expired (valid for 30 minutes). Please create a new order." : "支付订单已过期(30分钟有效),请重新创建订单。", paymentConfirmed: isEn ? "Payment confirmed. Transaction: {txHash}" : "支付确认成功,交易: {txHash}", txSubmitted: isEn ? "Transaction submitted: {txHash}, confirming on chain (status: {status})..." : "交易已提交: {txHash},正在链上确认(状态: {status})...", paymentPendingTimeout: isEn ? "Payment pending timeout." : "支付等待超时。", approvalDetected: isEn ? "Insufficient allowance detected. Requesting {symbol} approval..." : "检测到授权不足,正在发起 {symbol} 授权...", approvalDone: isEn ? "{symbol} approval successful. Sending payment..." : "{symbol} 授权成功,正在发起支付...", approvalSufficient: isEn ? "Allowance sufficient. Sending payment..." : "授权额度充足,正在发起支付...", approvalDoneCancelled: isEn ? "{symbol} approval completed. This payment was cancelled. You can pay again." : "{symbol} 授权已完成,本次支付已取消,可直接再次点击支付。", approvalDoneRetry: isEn ? "{symbol} approval completed but payment incomplete. Please retry." : "{symbol} 授权已完成,但支付未完成,请重试。", paymentConfigUpdated: isEn ? "Payment config updated. Switched to latest address {address}." : "检测到支付配置已更新,已切换到最新地址 {address}。", currentReceiver: isEn ? "Current receiver contract: {address}" : "当前收款合约: {address}", manualOrderCreated: isEn ? "Manual transfer order created. Send {amount} {symbol} on {chain} to {receiver}, then submit your tx hash below." : "手动转账订单已创建:请在 {chain} 转 {amount} {symbol} 到 {receiver},完成后在下方提交 tx hash。", manualOrderRequired: isEn ? "Please create a manual transfer order first." : "请先创建手动转账订单。", txHashRequired: isEn ? "Please enter a valid tx hash." : "请输入有效的 tx hash。", verifying: isEn ? "Verifying..." : "验证中...", verifyAddressMatch: isEn ? "Receiver address and amount match" : "收款地址和金额匹配", verifyTxNotMined: isEn ? "Transaction not yet mined. Please wait." : "交易未上链,请等待", verifyAddressMismatch: isEn ? "Receiver address mismatch! Please transfer to the correct receiver address." : "收款地址不匹配!请转账到正确的收款地址。", verifyAmountLow: isEn ? "Transfer amount is insufficient." : "转账金额不足", verifyTxReverted: isEn ? "This transaction was reverted." : "该交易已回滚", verifyFailed: isEn ? "Verification failed: " : "验证失败: ", verifyUnknown: isEn ? "Unknown error" : "未知错误", // ── Telegram bind messages ──────────────────────────────────────── telegramVerifySuccess: isEn ? "Telegram group membership verified. Checkout follows the selected Pro plan." : "Telegram 群成员验证成功,结算金额以当前选择的 Pro 套餐为准。", telegramBindClickHint: isEn ? "Open the Telegram Bot, click Start, and confirm binding. Then refresh this page to request group entry." : "已打开 Telegram Bot,请在 Bot 内点击 Start 并确认绑定;完成后刷新本页再申请入群。", telegramPopupBlocked: isEn ? "Popup blocked. Please click the link below to complete binding:" : "弹窗被拦截,请点击下方链接完成绑定:", telegramBindFailed: isEn ? "Failed to create Telegram bind link" : "创建 Telegram 绑定链接失败", telegramBindLinkMissing: isEn ? "Telegram bind link missing" : "Telegram 绑定链接缺失", // ── Wallet errors ────────────────────────────────────────────────── noWalletProvider: isEn ? "No EVM wallet provider found" : "未检测到 EVM 钱包插件", txReverted: isEn ? "Transaction reverted: {txHash}" : "交易已回滚: {txHash}", txConfirmTimeout: isEn ? "Transaction confirmation timeout: {txHash}" : "交易确认超时: {txHash}", queryIntentFailed: isEn ? "Query intent failed: {raw}" : "查询支付意向失败: {raw}", paymentStatus: isEn ? "Payment {status}" : "支付状态: {status}", createIntentFailed: isEn ? "Create intent failed: {raw}" : "创建支付意向失败: {raw}", intentPayloadInvalid: isEn ? "Intent payload invalid" : "支付意向数据无效", intentTokenInvalid: isEn ? "Intent token/amount invalid" : "支付币种或金额无效", submitTxFailed: isEn ? "Submit transaction failed: {raw}" : "提交交易失败: {raw}", confirmFailed: isEn ? "Confirm failed: {raw}" : "确认失败: {raw}", createManualIntentFailed: isEn ? "Create manual intent failed: {raw}" : "创建手动转账订单失败: {raw}", manualPaymentInvalid: isEn ? "Manual payment payload invalid" : "手动转账数据无效", bindFailed: isEn ? "Bind failed: {raw}" : "绑定失败: {raw}", challengeFailed: isEn ? "Challenge failed: {raw}" : "钱包验证挑战失败: {raw}", challengeInvalid: isEn ? "Challenge payload invalid" : "验证挑战数据无效", verifyFailedRaw: isEn ? "Verify failed: {raw}" : "钱包验证失败: {raw}", httpError: isEn ? "HTTP {status} {raw}" : "HTTP 错误 {status}: {raw}", loadConfigFailed: isEn ? "Load payment config failed: {raw}" : "加载支付配置失败: {raw}", // ── Points / Footer ──────────────────────────────────────────────── pointsRule: isEn ? "Points rule: points are earned through successful paid referrals only. 500 points = 1 USDC. Monthly orders can use up to 3 USDC off; quarterly orders can use up to 8 USDC off." : "积分规则:积分仅通过有效付费邀请获得。500 积分 = 1 USDC。月付订单最多抵扣 3 USDC,季度订单最多抵扣 8 USDC。", pointsDiscount: isEn ? "Available: {points} points discounting ${amount}. Applied automatically on renewal." : "当前可用 {points} 积分抵扣 ${amount},续费时会自动生效。", footerEngine: isEn ? "PolyWeather Global Meteorological Engine · Powered by AI" : "PolyWeather 全球气象引擎 · AI 驱动", binanceBindHint: isEn ? "Binance extension bound. If payment is stuck, please use WalletConnect QR payment." : "Binance 扩展已绑定;如支付卡住,请优先使用 WalletConnect 扫码支付。", walletBound: isEn ? "{label} bound: {address}. You can now pay to activate your subscription." : "{label} 已绑定: {address}。现在可点击「立即订阅并激活服务」。", walletBoundSuccess: isEn ? "{label} bound: {address}." : "{label} 绑定成功: {address}。", }; }