Files
vmall/apps/shop-admin/locales-extra.ts
T
james c7fad42105 feat(shop-admin): manage shop coupon templates
Add a coupons page where a shop user lists, creates, edits, enables/disables,
and deletes only its own templates, with localized titles, minor-unit discount
and threshold, currency, claim stock, and an active window. Expose it as a
coupons navigation entry beside the existing shop operations.
2026-09-18 12:13:05 +00:00

178 lines
5.8 KiB
TypeScript

// App-local message extensions, deep-merged over @vmall/shared locales.
// Add keys here (never edit the shared locale files from an app agent).
export const enExtra = {
auth: {
shopRoleError: "This account is not authorized for the merchant console.",
},
nav: {
coupons: "Coupons",
},
shop: {
dashboardTitle: "Merchant dashboard",
profile: "Shop profile",
shopStatus: "Shop status",
slug: "Slug",
totalProducts: "Total products",
publishedProducts: "Published products",
pendingPaymentOrders: "Pending payment",
paidOrders: "Paid orders",
fulfillingOrders: "Fulfilling orders",
shippedOrders: "Shipped orders",
pendingInvoices: "Pending invoice requests",
productList: "Product catalog",
orderList: "Orders",
shipmentList: "Shipments",
invoiceList: "Invoices",
filterStatus: "Filter by status",
filterOrderStatus: "Filter by order status",
created: "Created",
skuCount: "SKUs",
noSkus: "No SKUs",
newProduct: "New product",
saveProduct: "Save product",
updateProduct: "Update product",
productSaved: "Product saved.",
slugInvalid: "Use lowercase letters, numbers, and dashes only.",
productNameRequired: "English product name is required.",
categoryOptional: "No category",
imagesHint: "One URL per line",
skuManager: "SKU manager",
skuPriceMajor: "Price (major units)",
stock: "Stock",
active: "Active",
skuSaved: "SKU saved.",
actions: "Actions",
edit: "Edit",
invoiceNo: "Invoice no.",
noInvoice: "—",
status: "Status",
orderNo: "Order no.",
items: "Items",
total: "Total",
details: "Details",
address: "Shipping address",
recipient: "Recipient",
phone: "Phone",
carrier: "Carrier",
trackingNo: "Tracking number",
shipmentQuantities: "Shipment quantities",
unshipped: "Unshipped",
createShipment: "Create shipment",
shipmentCreated: "Shipment created.",
issueInvoice: "Issue invoice",
taxNo: "Tax number",
kind: "Type",
couponList: "Coupons",
newCoupon: "New coupon",
editCoupon: "Edit coupon",
couponTitleEn: "Title (English)",
couponTitleZh: "Title (中文)",
couponAmount: "Discount (minor units)",
couponThreshold: "Minimum spend (minor units)",
couponCurrency: "Currency",
couponStock: "Claim stock",
couponEnabled: "Enabled",
couponStartsAt: "Starts at",
couponEndsAt: "Ends at",
createCoupon: "Create coupon",
updateCoupon: "Update coupon",
couponSaved: "Coupon saved.",
couponDeleted: "Coupon deleted.",
couponTitleRequired: "Both language titles are required.",
couponAmountInvalid: "Discount must be a positive integer.",
couponThresholdInvalid: "Minimum spend cannot be negative.",
couponStockInvalid: "Claim stock cannot be negative.",
couponWindowInvalid: "End must not precede start.",
enabledOn: "Enabled",
enabledOff: "Disabled",
},
} as Record<string, unknown>;
export const zhExtra = {
auth: {
shopRoleError: "此账号无权访问商家控制台。",
},
nav: {
coupons: "优惠券",
},
shop: {
dashboardTitle: "商家仪表盘",
profile: "店铺信息",
shopStatus: "店铺状态",
slug: "别名",
totalProducts: "商品总数",
publishedProducts: "已上架商品",
pendingPaymentOrders: "待支付订单",
paidOrders: "已支付订单",
fulfillingOrders: "履约中订单",
shippedOrders: "已发货订单",
pendingInvoices: "待处理发票申请",
productList: "商品目录",
orderList: "订单",
shipmentList: "发货单",
invoiceList: "发票",
filterStatus: "按状态筛选",
filterOrderStatus: "按订单状态筛选",
created: "创建时间",
skuCount: "SKU 数量",
noSkus: "暂无 SKU",
newProduct: "新建商品",
saveProduct: "保存商品",
updateProduct: "更新商品",
productSaved: "商品已保存。",
slugInvalid: "只能使用小写字母、数字和短横线。",
productNameRequired: "英文商品名称为必填项。",
categoryOptional: "无分类",
imagesHint: "每行一个链接",
skuManager: "SKU 管理",
skuPriceMajor: "价格(主单位)",
stock: "库存",
active: "启用",
skuSaved: "SKU 已保存。",
actions: "操作",
edit: "编辑",
addSku: "添加 SKU",
status: "状态",
invoiceNo: "发票号",
noInvoice: "—",
items: "商品数",
total: "合计",
details: "详情",
address: "收货地址",
recipient: "收货人",
phone: "电话",
carrier: "承运商",
trackingNo: "物流单号",
shipmentQuantities: "发货数量",
unshipped: "待发货",
createShipment: "创建发货单",
shipmentCreated: "发货单已创建。",
issueInvoice: "开具发票",
taxNo: "税号",
kind: "类型",
couponList: "优惠券",
newCoupon: "新建优惠券",
editCoupon: "编辑优惠券",
couponTitleEn: "标题(英文)",
couponTitleZh: "标题(中文)",
couponAmount: "优惠金额(最小单位)",
couponThreshold: "使用门槛(最小单位)",
couponCurrency: "币种",
couponStock: "可领取库存",
couponEnabled: "启用",
couponStartsAt: "开始时间",
couponEndsAt: "结束时间",
createCoupon: "创建优惠券",
updateCoupon: "更新优惠券",
couponSaved: "优惠券已保存。",
couponDeleted: "优惠券已删除。",
couponTitleRequired: "中英文标题均为必填项。",
couponAmountInvalid: "优惠金额必须为正整数。",
couponThresholdInvalid: "使用门槛不能为负数。",
couponStockInvalid: "可领取库存不能为负数。",
couponWindowInvalid: "结束时间不能早于开始时间。",
enabledOn: "已启用",
enabledOff: "已停用",
},
} as Record<string, unknown>;