- Mock adapter implementing @vmall/shared ApiClient (localStorage-persisted cart/orders/invoices), runtime switch via mockApi flag (default on) - Fixed bilingual mock catalog: 3-level categories, 24 products w/ SKUs, stores, brands, banners, floors, seckill/collective/integral, comments, coupons, addresses, seeded orders/shipments/invoices - B2B2C mall shell: top bar, logo/search/cart header, dark nav + category mega-menu, value-prop footer, back-to-top; 1200px grid, #ca151e theme - UI primitives replacing element-plus: carousel, pagination, breadcrumb, qty stepper, rating stars, modal, tabs, step bar, product card - Pages: home floors, search (filters/sort/paging), goods detail (SKU picker, store rail, review tabs), cart -> checkout -> pay -> success, auth pages, user center (dashboard/orders/addresses/favorites/coupons/ invoices), stores, seckill, collective, integral - i18n split into per-domain locale modules (en+zh) - OpenSpec change mall-pc-storefront-replica archived; all specs green
83 lines
2.7 KiB
TypeScript
83 lines
2.7 KiB
TypeScript
export default {
|
|
en: {
|
|
marketing: {
|
|
seckillTitle: "Flash sale",
|
|
seckillBreadcrumb: "Flash sale",
|
|
currentSession: "Now",
|
|
upcoming: "Coming soon",
|
|
ended: "Ended",
|
|
countdown: "Ends in {time}",
|
|
seckillPrice: "Flash price",
|
|
originalPrice: "Original price",
|
|
progress: "Sold {n}%",
|
|
buyNow: "Grab now",
|
|
noSeckillProducts: "No flash-sale products right now.",
|
|
collectiveTitle: "Group deals",
|
|
collectiveBreadcrumb: "Group deals",
|
|
collectiveBannerAlt: "Group deal promotion",
|
|
peopleGroup: "{n} people group",
|
|
peopleJoined: "{n} people joined",
|
|
joinGroup: "View deal",
|
|
noCollectiveProducts: "No group deals right now.",
|
|
integralTitle: "Points mall",
|
|
integralBreadcrumb: "Points mall",
|
|
integralBannerAlt: "Points mall promotion",
|
|
loginPrompt: "Sign in to see your points",
|
|
pointsBalance: "My points",
|
|
customize: "Personal customization",
|
|
shipping: "Ships within 24 hours",
|
|
support: "Priority support",
|
|
recommendation: "Popular rewards",
|
|
points: "{n} points",
|
|
marketPrice: "Market price",
|
|
stock: "Stock {n}",
|
|
redeem: "Redeem now",
|
|
redeemed: "Redeemed",
|
|
mockNotice: "Demo redemption completed",
|
|
login: "Sign in",
|
|
register: "Create account",
|
|
noIntegralProducts: "No rewards available right now.",
|
|
},
|
|
},
|
|
zh: {
|
|
marketing: {
|
|
seckillTitle: "限时秒杀",
|
|
seckillBreadcrumb: "秒杀活动",
|
|
currentSession: "正在进行",
|
|
upcoming: "即将开始",
|
|
ended: "已结束",
|
|
countdown: "距结束 {time}",
|
|
seckillPrice: "秒杀价",
|
|
originalPrice: "原价",
|
|
progress: "已抢 {n}%",
|
|
buyNow: "马上抢",
|
|
noSeckillProducts: "当前暂无秒杀商品。",
|
|
collectiveTitle: "拼团购",
|
|
collectiveBreadcrumb: "拼团",
|
|
collectiveBannerAlt: "拼团活动",
|
|
peopleGroup: "{n}人团",
|
|
peopleJoined: "{n}人已拼",
|
|
joinGroup: "查看详情",
|
|
noCollectiveProducts: "当前暂无拼团商品。",
|
|
integralTitle: "积分商城",
|
|
integralBreadcrumb: "积分商城",
|
|
integralBannerAlt: "积分商城活动",
|
|
loginPrompt: "登录后查看您的积分",
|
|
pointsBalance: "我的积分",
|
|
customize: "私人定制",
|
|
shipping: "24小时发货",
|
|
support: "优先客服",
|
|
recommendation: "热门推荐",
|
|
points: "{n}积分",
|
|
marketPrice: "市场价",
|
|
stock: "库存 {n}",
|
|
redeem: "立即兑换",
|
|
redeemed: "已兑换",
|
|
mockNotice: "模拟兑换成功",
|
|
login: "登录",
|
|
register: "注册",
|
|
noIntegralProducts: "当前暂无积分商品。",
|
|
},
|
|
},
|
|
} as const;
|