1834b97fe2
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Squash merge of fix/134-促销前端展示对齐 (4702dee).
HIF-79/HIF-113 落地后前端有三处对齐缺失:
- promo-info.tsx 仍读 promo.end_time,但后端 SubscribeDiscountPromo
JSON 字段是 expires_at(×2 处)
- billing.tsx 缺 Promo Discount 行,PreOrderResponse 拿到 promo_discount
时无处可渲染
- typings.d.ts: SubscribeDiscountPromo 缺 expires_at/rule_type,
PreOrderResponse 缺 promo_discount
本次仅修字段对齐与展示行,不动业务逻辑、不动 OrderDetail 类型 (后端
当前未透出 promo_discount)。新增 billing.promoDiscount 中英文文案。
70 lines
2.5 KiB
JSON
70 lines
2.5 KiB
JSON
{
|
|
"balanceRecharge": "Balance Recharge",
|
|
"billing": {
|
|
"billingTitle": "Product Billing",
|
|
"couponDiscount": "Coupon Discount",
|
|
"duration": "Duration",
|
|
"fee": "Fee",
|
|
"gift": "gift Deduction",
|
|
"originalPrice": "Original Price (Monthly)",
|
|
"price": "Price",
|
|
"productDiscount": "Product Discount",
|
|
"promoDiscount": "Promo Discount",
|
|
"total": "Total"
|
|
},
|
|
"buy": "Buy",
|
|
"buyNow": "Buy Now",
|
|
"buySubscription": "Buy Subscription",
|
|
"coupon": "Coupon",
|
|
"Day": "Day",
|
|
"detail": {
|
|
"availableTraffic": "Available Traffic",
|
|
"connectedDevices": "Connected Devices",
|
|
"connectionSpeed": "Connection Speed",
|
|
"productDetail": "Product Details"
|
|
},
|
|
"discount": "Discount",
|
|
"discountInfo": "Discount Info",
|
|
"emailDomainNotAllowed": "Email domain is not in the whitelist",
|
|
"emailInputTitle": "Enter the email address for your {{siteName}} account",
|
|
"emailRequired": "Please enter your email address.",
|
|
"enterAmount": "Enter recharge amount",
|
|
"enterCoupon": "Enter Coupon Code",
|
|
"Hour": "Hour",
|
|
"invalidEmail": "Please enter a valid email address",
|
|
"Minute": "Minute",
|
|
"Month": "Month",
|
|
"NoLimit": "No Limit",
|
|
"passwordHint": "If you do not enter a password, we will automatically generate one and send it to your email.",
|
|
"paymentMethod": "Payment Method",
|
|
"productDescription": "productDescription",
|
|
"promo": {
|
|
"available": "Promo Available",
|
|
"validUntil": "Valid until"
|
|
},
|
|
"purchaseDuration": "Purchase Duration",
|
|
"recharge": "Recharge",
|
|
"rechargeAmount": "Recharge Amount",
|
|
"rechargeDescription": "One-click recharge, easy to handle",
|
|
"rechargeNow": "Recharge Now",
|
|
"renew": "Renew",
|
|
"renewSubscription": "Renew Subscription",
|
|
"resetPrice": "Reset Price",
|
|
"resetTraffic": "Reset Traffic",
|
|
"resetTrafficDescription": "Reset traffic to zero, and start a new billing cycle",
|
|
"resetTrafficTitle": "Reset Traffic",
|
|
"subscriptionNotFound": "Subscription not found",
|
|
"unsubscribe": {
|
|
"cancel": "Cancel",
|
|
"confirm": "Confirm",
|
|
"confirmUnsubscribe": "Confirm Unsubscribe",
|
|
"confirmUnsubscribeDescription": "Are you sure you want to unsubscribe?",
|
|
"failed": "Failed to unsubscribe. Please try again.",
|
|
"residualValue": "Residual value:",
|
|
"success": "You have been unsubscribed successfully.",
|
|
"unsubscribe": "Unsubscribe",
|
|
"unsubscribeDescription": "Please note: If you unsubscribe now, the remaining value of the subscription will be refunded to your account balance, which can be used for your next subscription purchase or renewal."
|
|
},
|
|
"Year": "Year"
|
|
}
|