// 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: { adminHint: "Dev account: admin@vmall.local / admin1234", wrongRole: "This account does not have platform administrator access.", }, nav: { pointsProducts: "Points products", pointsOrders: "Point redemptions", content: "Content", brands: "Brands", aftersales: "After-sales", }, admin: { dashboardTitle: "Platform overview", refresh: "Refresh", open: "Open", totalUsers: "Total users", totalShops: "Total shops", totalOrders: "Total orders", enabledCurrencies: "Enabled currencies", shopRequired: "Select a shop for shop owners and staff.", noAssignedShop: "No shop assigned", created: "Created", orderShop: "Shop", orderUser: "User", orderTotal: "Total", shopStatus: "Shop status", currencyCode: "Currency code", currencyNameEn: "Currency name (English)", currencyNameZh: "Currency name (中文)", codeInvalid: "Currency code must be three letters.", currencyFormTitle: "Add currency", userManagement: "User management", shopManagement: "Shop management", orderManagement: "Order management", currencyManagement: "Currency management", pageOf: "Page {page} of {total}", pointsProductManagement: "Points catalog", pointsOrderManagement: "Point redemptions", newPointsProduct: "New points product", editPointsProduct: "Edit points product", pointsNameEn: "Name (English)", pointsNameZh: "Name (中文)", pointsPrice: "Points price", pointsStock: "Stock", pointsImage: "Image URL", pointsPosition: "Sort order", pointsRecommend: "Featured", pointsPublished: "Published", publishedOn: "Published", publishedOff: "Draft", savePointsProduct: "Save points product", pointsProductSaved: "Points product saved.", pointsNameRequired: "Both language names are required.", pointsPriceInvalid: "Points price must be a positive integer.", pointsStockInvalid: "Stock cannot be negative.", redemptionNo: "Redemption no.", redemptionCustomer: "Customer", redemptionReward: "Reward", redemptionPoints: "Points", redemptionStatus: "Status", fulfillRedemption: "Fulfil", cancelRedemption: "Cancel", redemptionFulfilled: "Redemption fulfilled.", redemptionCancelled: "Redemption cancelled.", redemptionStatuses: { pending_fulfillment: "Pending", fulfilled: "Fulfilled", cancelled: "Cancelled", }, contentBanners: "Banners", contentPromos: "Promotions", contentQuickLinks: "Quick links", contentFloorAdverts: "Floor adverts", contentImage: "Image URL", contentUrl: "Destination URL", contentLabelEn: "Label (English)", contentLabelZh: "Label (中文)", contentGlyph: "Icon SVG path", contentAddRow: "Add row", contentSaved: "Saved.", contentBannerInvalid: "Image and destination URL are required.", contentImageRequired: "Image URL is required.", contentQuickLinkInvalid: "Both labels, URL and icon are required.", brandSlug: "Slug", brandSlugInvalid: "Use lowercase letters, numbers, and dashes only.", brandNameRequired: "Both language names are required.", brandSlugDuplicate: "Duplicate slug.", brandsSaved: "Brands saved.", aftersaleFilterShop: "Shop ID", aftersaleShopIdPlaceholder: "shop id", aftersaleBuyerIdPlaceholder: "buyer id", aftersaleFilterBuyer: "Buyer ID", aftersaleKind: "Type", aftersaleAmount: "Amount", aftersaleId: "Application", aftersaleShop: "Shop", aftersaleBuyer: "Buyer", aftersaleDetail: "After-sale detail", aftersaleView: "Detail", aftersaleClose: "Close", aftersaleCreated: "Created", aftersaleUpdated: "Updated", aftersaleReason: "Reason", aftersaleEvidence: "Evidence", aftersaleNoEvidence: "No evidence attached", aftersaleItem: "Order item", aftersaleOrder: "Order", aftersaleOrderTotal: "Order total", aftersaleOrderRefunded: "Order refunded total", aftersaleRemaining: "Remaining refundable", aftersaleReturnTracking: "Return tracking", aftersaleMessages: "Messages", aftersaleNoMessages: "No messages yet", aftersaleReopened: "Reopened once", aftersaleArbitrate: "Arbitration", aftersaleArbitrateRefund: "Arbitrate: refund", aftersaleArbitrateReject: "Arbitrate: reject", aftersaleConfirmRefund: "Grant a terminal refund to the buyer? This completes the refund and cannot be undone.", aftersaleConfirmReject: "Reject this dispute terminally? Only the buyer's one-time reopen can resume it.", aftersaleArbitratedRefund: "Arbitration complete: refunded.", aftersaleArbitratedReject: "Arbitration complete: rejected.", aftersaleOutcomeRefunded: "Refunded: the customer ledger is credited and the order refund total updated.", aftersaleOutcomeRejected: "Rejected: only the buyer's one-time reopen can resume it.", aftersaleOutcomeCancelled: "Cancelled by the buyer.", aftersaleConflict: "The application state changed; refresh and try again", aftersaleOrderNotFound: "Order not found in the order list.", aftersaleKinds: { refund_only: "Refund only", return_refund: "Return & refund", }, aftersaleStatuses: { pending: "Pending review", approved: "Approved", rejected: "Rejected", buyer_shipping: "Buyer shipping", merchant_confirmed: "Return received", refunded: "Refunded", cancelled: "Cancelled", }, aftersaleRoles: { buyer: "Buyer", merchant: "Merchant", platform: "Platform", }, }, } as const; export const zhExtra = { auth: { adminHint: "开发账号:admin@vmall.local / admin1234", wrongRole: "此账号没有平台管理员权限。", }, nav: { pointsProducts: "积分商品", pointsOrders: "积分兑换单", content: "内容", brands: "品牌", aftersales: "售后仲裁", }, admin: { dashboardTitle: "平台概览", refresh: "刷新", open: "打开", totalUsers: "用户总数", totalShops: "店铺总数", totalOrders: "订单总数", enabledCurrencies: "启用币种", shopRequired: "店主和店员必须选择所属店铺。", noAssignedShop: "未分配店铺", created: "创建时间", orderShop: "店铺", orderUser: "用户", orderTotal: "合计", shopStatus: "店铺状态", currencyCode: "币种代码", currencyNameEn: "币种名称(英文)", currencyNameZh: "币种名称(中文)", codeInvalid: "币种代码必须是三个字母。", currencyFormTitle: "添加币种", userManagement: "用户管理", shopManagement: "店铺管理", orderManagement: "订单管理", currencyManagement: "币种管理", pageOf: "第 {page} 页,共 {total} 页", pointsProductManagement: "积分商品目录", pointsOrderManagement: "积分兑换单", newPointsProduct: "新建积分商品", editPointsProduct: "编辑积分商品", pointsNameEn: "名称(英文)", pointsNameZh: "名称(中文)", pointsPrice: "积分价格", pointsStock: "库存", pointsImage: "图片链接", pointsPosition: "排序", pointsRecommend: "推荐", pointsPublished: "已发布", publishedOn: "已发布", publishedOff: "草稿", savePointsProduct: "保存积分商品", pointsProductSaved: "积分商品已保存。", pointsNameRequired: "中英文名称均为必填项。", pointsPriceInvalid: "积分价格必须为正整数。", pointsStockInvalid: "库存不能为负数。", redemptionNo: "兑换单号", redemptionCustomer: "用户", redemptionReward: "兑换商品", redemptionPoints: "积分", redemptionStatus: "状态", fulfillRedemption: "发货", cancelRedemption: "取消", redemptionFulfilled: "兑换单已发货。", redemptionCancelled: "兑换单已取消。", redemptionStatuses: { pending_fulfillment: "待发货", fulfilled: "已发货", cancelled: "已取消", }, contentBanners: "横幅", contentPromos: "促销位", contentQuickLinks: "快捷入口", contentFloorAdverts: "楼层广告", contentImage: "图片链接", contentUrl: "跳转链接", contentLabelEn: "名称(英文)", contentLabelZh: "名称(中文)", contentGlyph: "图标 SVG 路径", contentAddRow: "添加一行", contentSaved: "已保存。", contentBannerInvalid: "图片和跳转链接均为必填项。", contentImageRequired: "图片链接为必填项。", contentQuickLinkInvalid: "中英文名称、链接和图标均为必填项。", brandSlug: "别名", brandSlugInvalid: "仅允许小写字母、数字和连字符。", brandNameRequired: "中英文名称均为必填项。", brandSlugDuplicate: "别名重复。", brandsSaved: "品牌已保存。", aftersaleFilterShop: "店铺 ID", aftersaleShopIdPlaceholder: "店铺 ID", aftersaleBuyerIdPlaceholder: "买家 ID", aftersaleFilterBuyer: "买家 ID", aftersaleKind: "类型", aftersaleAmount: "金额", aftersaleId: "售后单", aftersaleShop: "店铺", aftersaleBuyer: "买家", aftersaleDetail: "售后详情", aftersaleView: "详情", aftersaleClose: "收起", aftersaleCreated: "创建时间", aftersaleUpdated: "更新时间", aftersaleReason: "原因", aftersaleEvidence: "凭证", aftersaleNoEvidence: "无凭证", aftersaleItem: "订单商品", aftersaleOrder: "订单", aftersaleOrderTotal: "订单总额", aftersaleOrderRefunded: "订单已退款总额", aftersaleRemaining: "剩余可退金额", aftersaleReturnTracking: "退货物流", aftersaleMessages: "留言记录", aftersaleNoMessages: "暂无留言", aftersaleReopened: "已重新申请", aftersaleArbitrate: "仲裁", aftersaleArbitrateRefund: "仲裁退款", aftersaleArbitrateReject: "仲裁驳回", aftersaleConfirmRefund: "确定仲裁退款给买家吗?退款将立即完成且不可撤销。", aftersaleConfirmReject: "确定仲裁驳回吗?仅买家一次重新申请可恢复。", aftersaleArbitratedRefund: "仲裁完成:已退款。", aftersaleArbitratedReject: "仲裁完成:已驳回。", aftersaleOutcomeRefunded: "已退款:买家账户已入账,订单退款总额已更新。", aftersaleOutcomeRejected: "已驳回:仅买家一次重新申请可恢复。", aftersaleOutcomeCancelled: "买家已取消。", aftersaleConflict: "售后单状态已变化,请刷新后重试", aftersaleOrderNotFound: "订单列表中未找到该订单。", aftersaleKinds: { refund_only: "仅退款", return_refund: "退货退款", }, aftersaleStatuses: { pending: "待处理", approved: "已通过", rejected: "已驳回", buyer_shipping: "买家退货中", merchant_confirmed: "商家已收货", refunded: "已退款", cancelled: "已取消", }, aftersaleRoles: { buyer: "买家", merchant: "商家", platform: "平台", }, }, } as const;