The product page loads a shop's claimable coupons through the shared client and claims them in place; the buyer coupon list reads owned snapshots with their claimed/redeemed/expired state. Checkout offers each shop order at most one owned coupon and submits only the choice; the pay page and order detail render the server-persisted discount and reduced total, never a client figure. Coupon fixtures leave the pages; the fixed-data adapter still serves the coupon domain as the rollback path. The demo seed creates two deterministic templates and claims them for the demo customer.
100 lines
3.0 KiB
TypeScript
100 lines
3.0 KiB
TypeScript
// Product browse/detail domain strings (foundation-owned base keys; extend, don't remove).
|
|
export default {
|
|
en: {
|
|
product: {
|
|
salesCount: "{n} sold",
|
|
commentCount: "{n} reviews",
|
|
home: "Home",
|
|
detail: "Product details",
|
|
currentPrice: "Sale price",
|
|
marketPrice: "Market price",
|
|
stock: "In stock: {n}",
|
|
sold: "{n} sold",
|
|
coupon: "Coupon",
|
|
coupons: "Available coupons",
|
|
claim: "Claim",
|
|
claimed: "Claimed",
|
|
claimFailed: "Unable to claim this coupon",
|
|
loginToClaim: "Sign in to claim",
|
|
choose: "Choose",
|
|
selected: "Selected",
|
|
quantity: "Quantity",
|
|
buyNow: "Buy now",
|
|
addCart: "Add to cart",
|
|
addedCart: "Added to cart",
|
|
favorite: "Favorite",
|
|
unfavorite: "Unfavorite",
|
|
noStock: "Out of stock",
|
|
unavailable: "This combination is unavailable",
|
|
store: "Store",
|
|
quality: "Product quality",
|
|
company: "Company",
|
|
region: "Region",
|
|
rates: "Store ratings",
|
|
overall: "Overall",
|
|
service: "Service",
|
|
delivery: "Delivery",
|
|
enterStore: "Visit store",
|
|
contact: "Contact seller",
|
|
salesRank: "Best sellers",
|
|
tabsDetail: "Product details",
|
|
tabsReviews: "Customer reviews",
|
|
tabsAfterSale: "After-sales service",
|
|
description: "Description",
|
|
reviewSummary: "{rate}% positive reviews ({n} total)",
|
|
reviewAll: "All reviews",
|
|
reply: "Seller reply",
|
|
expires: "Expires {date}",
|
|
productNotFound: "Product not found",
|
|
},
|
|
},
|
|
zh: {
|
|
product: {
|
|
salesCount: "已售 {n} 件",
|
|
commentCount: "{n} 条评价",
|
|
home: "首页",
|
|
detail: "商品详情",
|
|
currentPrice: "活动价",
|
|
marketPrice: "市场价",
|
|
stock: "库存 {n} 件",
|
|
sold: "已售 {n} 件",
|
|
coupon: "优惠券",
|
|
coupons: "可用优惠券",
|
|
claim: "领取",
|
|
claimed: "已领取",
|
|
claimFailed: "优惠券领取失败",
|
|
loginToClaim: "登录后领取",
|
|
choose: "选择",
|
|
selected: "已选",
|
|
quantity: "数量",
|
|
buyNow: "立即购买",
|
|
addCart: "加入购物车",
|
|
addedCart: "已加入购物车",
|
|
favorite: "收藏",
|
|
unfavorite: "取消收藏",
|
|
noStock: "暂时缺货",
|
|
unavailable: "该规格暂不可用",
|
|
store: "店铺",
|
|
quality: "商品质量",
|
|
company: "公司",
|
|
region: "所在地区",
|
|
rates: "店铺评分",
|
|
overall: "描述相符",
|
|
service: "服务态度",
|
|
delivery: "物流服务",
|
|
enterStore: "进入店铺",
|
|
contact: "联系客服",
|
|
salesRank: "销售排行",
|
|
tabsDetail: "商品详情",
|
|
tabsReviews: "用户评价",
|
|
tabsAfterSale: "售后服务",
|
|
description: "商品描述",
|
|
reviewSummary: "好评率 {rate}%(共 {n} 条评价)",
|
|
reviewAll: "全部评价",
|
|
reply: "商家回复",
|
|
expires: "有效期至 {date}",
|
|
productNotFound: "商品不存在",
|
|
},
|
|
},
|
|
};
|