Commit 5c0a7573 authored by 孙 楠's avatar 孙 楠

add more i18n messages

parent 2cc20476
......@@ -82,7 +82,7 @@ const ImportListModal = props => {
<div className={styles.pagewrapper}>
<Pagination
total={total}
showTotal={e => `总共 ${e} 条数据`}
showTotal={e => `${$t('total')}${e}${$t('data.records')}`}
pageSize={pageInfo.pageSize}
defaultCurrent={pageInfo.pageNo}
onChange={onChangePage}
......
......@@ -316,7 +316,7 @@ const Complex = props => {
<Pagination
onChange={onPageChange}
total={dataTotal}
showTotal={(total, range) => `第${range[0]}-${range[1]}条 /总共${total}条`}
showTotal={(total, range) => `${$t('no')}${range[0]}-${range[1]}${$t('entries.total')}${total}${$t('entries')}`}
showSizeChanger
pageSize={queryParams.pageSize}
current={queryParams.pageNo}
......
......@@ -103,14 +103,14 @@ const UploadImage = forwardRef((props, ref) => {
if (!canUploadFile && !accept.includes(curType)) {
notification.open({
message: file.name,
description: `文件格式须为${accept.join('')}!`,
description: `${$t('file.format.must.be')}${accept.join('')}!`,
});
return resolve(null);
}
if (file.size > MAX_FILE_SIZE * UNIT) {
notification.open({
message: file.name,
description: `单个文件大小不能超过${MAX_FILE_SIZE}M!`,
description: `${$t('single.file.size.cannot.exceed')}${MAX_FILE_SIZE}M!`,
});
return resolve(null);
}
......
......@@ -29,7 +29,7 @@ export const checkConfirm = () => {
confirm({
title: $t('risk.warning'),
icon: <ExclamationCircleOutlined />,
content: `确定关闭${mt}餐品类型?此餐品类型下关联的商户及商品将一并删除,不可逆请谨慎操作!`,
content: `${$t('confirm.close')}${mt}${$t('delete.food.type.associated.merchantsproducts.will.be.permanently.deleted')}`,
onOk() {
resolve(1);
},
......
......@@ -25,7 +25,7 @@ const MealLimitsFormList = (meals, selectedMealTypes) => (
</Col>
<Col span={24}>
<Form.Item
label={`${mealSections[meal]}订单`}
label={`${mealSections[meal]}${$t('order')}`}
required
labelCol={{ span: 4 }}
wrapperCol={{ span: 20 }}
......
......@@ -5,13 +5,13 @@ import { validateRequired, isCheckPriceTwoDecimal } from '@/utils/validator';
const MealLimit = props => (
// console.log('props :>> ', props);
<Form.Item
label={`${props.label}限额`}
label={`${props.label}${$t('quota')}`}
name={props.name}
initialValue={props.value}
labelCol={{ span: 10 }}
wrapperCol={{ span: 14 }}
rules={[
{ validator: validateRequired, message: `请输入${props.label}限额` },
{ validator: validateRequired, message: `${$t('please.enter')}${props.label}${$t('quota')}` },
{ validator: isCheckPriceTwoDecimal, message: $t('enter.valid.price') },
]}
>
......
export default {
"000000": "00:00:00",
"1.decimal.place": "1 decimal place",
"1.first.cover.image": "/ 1) First cover image",
"1.modify.with.caution.this.function.is.used.to.update.recipient.info.postshipment.via.offline.logistics": "1. Modify with caution. This function is used to update recipient info post-shipment via offline logistics.",
"1.only.supports.by.product": "1. Only supports by product",
"11.digits": "11 digits",
......@@ -156,6 +157,7 @@ export default {
"belonging.category": "Belonging category",
"belonging.store": "Belonging store",
"bill.date": "Bill date",
"bill.payment.details": "Bill payment details-",
"bill.type": "Bill type",
"billing.cycle": "Billing cycle",
"block": "Block",
......@@ -232,7 +234,10 @@ export default {
"config.method": "Config method",
"config.success": "Config success",
"confirm": "Confirm",
"confirm.close": "Confirm close",
"confirm.delete.employee.0": "Confirm delete employee #{0}",
"confirm.delete.group": "Confirm delete group",
"confirm.delete.merchant.0": "Confirm delete merchant #{0}",
"confirm.delete.role": "Confirm delete role",
"confirm.deletion": "Confirm deletion",
"confirm.disable.store": "Confirm disable store",
......@@ -267,6 +272,7 @@ export default {
"copy": "Copy",
"corporate": "Corporate",
"county": "County",
"coupon.code": "Coupon code",
"cover.image": "Cover image",
"create.department": "Create department",
"create.group": "Create group",
......@@ -290,12 +296,16 @@ export default {
"daily.min.reception": "Daily min. reception",
"daily.settlement": "Daily settlement",
"data.deleted.successfully": "Data deleted successfully",
"data.items": "Data items",
"data.records": "Data records",
"data.saved.successfully": "Data saved successfully",
"deadline": "Deadline",
"debit.card": "Debit card",
"default": "(Default)",
"default.1year.validity": "Default 1-year validity",
"delete": "Delete",
"delete.failed": "Delete failed",
"delete.food.type.associated.merchantsproducts.will.be.permanently.deleted": "Delete food type? Associated merchants/products will be permanently deleted!",
"delete.success": "Delete success",
"deleted": "Deleted",
"deleted.successfully": "Deleted successfully!",
......@@ -318,6 +328,7 @@ export default {
"detail.address.required": "Detail address required",
"detail.image": "Detail image",
"detail.image.width.800": "Detail image width ≤800",
"detail.image.width.exceeds.limit": "] Detail image width exceeds limit",
"detailed.address.excl.region": "Detailed address (excl. region)",
"dinner": "Dinner",
"direct.enterprise.purchase": "Direct enterprise purchase",
......@@ -510,6 +521,8 @@ export default {
"enterprise.product.price": "Enterprise product price",
"enterprise.purchase": "Enterprise purchase",
"enterprise.type": "Enterprise type",
"entries": "Entries",
"entries.total": "Entries / Total",
"error.reason": "Error reason:",
"esignature": "E-signature",
"evoucher": "E-voucher",
......@@ -526,8 +539,10 @@ export default {
"failed.data": "Failed data",
"failed.to.locate.address": "Failed to locate address",
"fetch.public.images": "Fetch public images",
"file.format.must.be": "File format must be",
"file.upload.failed": "File upload failed",
"file.upload.success": "File upload success",
"files": " files!",
"filter": "Filter",
"fixed.date": "Fixed date",
"food.delivery.service": "Food delivery service",
......@@ -568,6 +583,7 @@ export default {
"home": "Home",
"home.delivery": "Home delivery",
"homepage": "Homepage",
"hours": "Hours",
"household.register.page": "Household register page",
"id.back": "ID back",
"id.expiry.end": "ID expiry end",
......@@ -578,6 +594,7 @@ export default {
"id.name": "ID name",
"id.number": "ID number",
"image.format.must.be.jpgjpegpng": "Image format must be jpg/jpeg/png!",
"image.size.cannot.exceed.2mb": "] Image size cannot exceed 2MB",
"image.upload.failed": "Image upload failed",
"import": "Import",
"import.file": "Import file",
......@@ -688,9 +705,12 @@ export default {
"max.50.dishes": "Max 50 dishes",
"max.file.size.200k": "Max file size: 200K",
"max.file.size.5m": "Max file size: 5M!",
"max.selectable.billing.cycles": "Max selectable billing cycles",
"max.stock": "Max stock",
"max.stock.cannot.be.0": "Max stock cannot be 0",
"max.upload.limit": "Max upload limit",
"maximum": "Maximum",
"maximum.upload": "Maximum upload",
"meal.package.content": "Meal package content",
"meal.period.config": "Meal period config",
"meal.type.required": "Meal type required",
......@@ -722,12 +742,14 @@ export default {
"merchant.confirmed": "Merchant confirmed",
"merchant.meal.types.at.pickup": "Merchant meal types at pickup",
"merchant.name": "Merchant name:",
"merchant.order.list": "Merchant order list-",
"merchant.phone": "Merchant phone",
"merchant.refund.address": "Merchant refund address",
"merchant.rejected": "Merchant rejected",
"merchant.rejection.reason": "Merchant rejection reason",
"merchant.return.address": "Merchant return address",
"merchant.return.info": "Merchant return info",
"merchant.settlement.details": "Merchant settlement details-",
"merchant.system": "Merchant system",
"merchant.under.review": "Merchant under review",
"message": "Message",
......@@ -782,6 +804,8 @@ export default {
"notice": "Notice",
"notification": "Notification",
"notifications": "Notifications",
"number.in.range": "Number in range",
"numbers.between": "] Numbers between",
"numbers.or.commaseparated": "Numbers or comma-separated",
"numbers.or.hyphens": "Numbers or hyphens",
"numbers.or.letters": "Numbers or letters",
......@@ -851,6 +875,7 @@ export default {
"payment.in.progress.oa.approved": "Payment in progress (OA approved)",
"payment.in.progress.oa.processing": "Payment in progress (OA processing)",
"payment.in.progress.pending.transfer": "Payment in progress (pending transfer)",
"payment.order.export.data": "Payment order export data-",
"payment.slip": "Payment slip",
"payment.slip.date": "Payment slip date",
"payment.slip.start.time.required": "Payment slip start time required",
......@@ -904,12 +929,17 @@ export default {
"platform.remark": "Platform remark",
"please.check": "Please check",
"please.configure": "Please configure",
"please.enter": "Please enter [",
"please.select": "Please select",
"please.select.first": "Please select first",
"please.upload": "Please upload",
"pop.merchants.only": "POP merchants only",
"portion": "Portion",
"portion.name.must.be.unique": "Portion name must be unique!",
"portion.size": "Portion size",
"portion.size.eg.largesmall.mildspicy": "Portion size (e.g., large/small, mild/spicy)",
"positive.integer.required": "Positive integer required",
"positive.integers.between": "] Positive integers between",
"postchange.content": "Post-change content",
"prechange.content": "Pre-change content",
"precise.weight.unit": "Precise weight unit",
......@@ -925,6 +955,7 @@ export default {
"product.beyond.aftersale.period": "Product beyond after-sale period",
"product.brand": "Product brand",
"product.category": "Product category",
"product.category.changed.weight.unit.autoswitched.to": "Product category changed. Weight unit auto-switched to",
"product.change.review": "Product change review",
"product.damaged": "Product damaged",
"product.description": "Product description",
......@@ -933,6 +964,7 @@ export default {
"product.id": "Product ID:",
"product.image": "Product image",
"product.image.only": "Product image only",
"product.images": "Product images(",
"product.mismatch": "Product mismatch",
"product.name": "Product name",
"product.name.2.chars": "Product name (2+ chars)",
......@@ -964,6 +996,7 @@ export default {
"quantity.star": "Quantity Star",
"quantity.star.merchant.system": "Quantity Star Merchant System",
"query": "Query",
"quota": "Quota",
"read": "Read",
"reason": "Reason",
"recalled": "Recalled",
......@@ -976,8 +1009,11 @@ export default {
"recipient.info": "Recipient info",
"recipient.name": "Recipient name",
"recommended.candidate.qu.nini.passed.3rd.interview": "Recommended candidate Qu Nini passed 3rd interview",
"recommended.size.widthheight": "Recommended size: ##width##height (",
"recommended.size.widthheight.sku.carousel": "Recommended size: ##width##height, SKU carousel(",
"reconciled.count": "Reconciled count",
"reconciliation.batch": "Reconciliation batch",
"reconciliation.details": "Reconciliation details-",
"reconciliation.status": "Reconciliation status",
"red.amount": "Red amount",
"reduce.stock": "Reduce stock",
......@@ -1006,6 +1042,7 @@ export default {
"reminder": "Reminder",
"reminder.current.aftersales.type.is.product.not.received": "Reminder: Current after-sales type is 'Product not received' - ",
"request.data.returned.successfully": "Request data returned successfully",
"request.error": "Request error",
"request.settlement": "Request settlement",
"request.targets.nonexistent.record": "Request targets nonexistent record",
"required": "Required",
......@@ -1061,6 +1098,7 @@ export default {
"search.for.logistics": "// Search for logistics",
"secondary.menu": "Secondary menu",
"secondary.specification": "Secondary specification",
"seconds": "Seconds",
"select": "Select",
"select.1100.batches": "Select 1-100 batches",
"select.account.type": "Select account type",
......@@ -1136,6 +1174,7 @@ export default {
"selected.shipping.zones": "Selected shipping zones",
"selection.required": "Selection required",
"selfoperated": "Self-operated",
"selfoperated.product.price.update": "Self-operated product price update-",
"selling.price": "Selling price",
"sentry.failed.to.load": "Sentry failed to load",
"serial.no": "Serial No.",
......@@ -1181,6 +1220,7 @@ export default {
"sichuan.girl": "Sichuan girl",
"signing.date": "Signing date",
"signing.time": "Signing time",
"single.file.size.cannot.exceed": "Single file size cannot exceed",
"single.item.delivery": "Single item delivery",
"single.item.no.delivery": "Single item no delivery",
"single.specification": "Single specification",
......@@ -1192,6 +1232,7 @@ export default {
"sku.code": "SKU code",
"sku.name": "SKU name",
"sku.product.name": "SKU product name",
"slider.image.size.exceeds.limit": "] Slider image size exceeds limit",
"smallscale": "Small-scale",
"sold.out": "Sold out",
"sort": "Sort",
......@@ -1203,6 +1244,7 @@ export default {
"spicy": "Spicy~",
"spu.name": "SPU name:",
"start.date": "Start date",
"start.time.cannot.be.before": "Start time cannot be before",
"startend.time.mismatch": "Start/end time mismatch",
"status": "Status",
"stock": "Stock:",
......@@ -1278,6 +1320,7 @@ export default {
"top.up.balance": "Top up balance",
"topup.details": "Top-up details",
"topup.time": "Top-up time",
"total": "Total",
"total.refund": "Total refund",
"total.sales": "Total sales",
"town": "Town",
......@@ -1388,6 +1431,7 @@ export default {
"week.preview.required": "Week preview required",
"weekly.preview": "Weekly preview",
"weekly.settlement": "Weekly settlement",
"weight": "Weight(",
"welcome.to.merchant.system": "Welcome to Merchant System",
"westore.id": "WeStore ID",
"westore.name": "WeStore name",
......
export default {
"000000": "0时0分0秒",
"1.decimal.place": "小数点保留1位",
"1.first.cover.image": "/ 1) 封面图第一张",
"1.modify.with.caution.this.function.is.used.to.update.recipient.info.postshipment.via.offline.logistics": "1、请谨慎修改,此功能仅在发货后,线下联系物流公司变更收货信息时填写,系统用于获取物流轨迹",
"1.only.supports.by.product": "1、仅支持按商品",
"11.digits": "11位数字",
......@@ -156,6 +157,7 @@ export default {
"belonging.category": "所属类目",
"belonging.store": "所属门店",
"bill.date": "账单日期",
"bill.payment.details": "账单付款单明细-",
"bill.type": "账单类型",
"billing.cycle": "账期",
"block": "拉黑",
......@@ -232,7 +234,10 @@ export default {
"config.method": "配置方式",
"config.success": "配置成功!",
"confirm": "确认",
"confirm.close": "确定关闭",
"confirm.delete.employee.0": "确认删除企业员工#",
"confirm.delete.group": "确定删除该分组吗?",
"confirm.delete.merchant.0": "确认删除企业商户#",
"confirm.delete.role": "确定删除该角色吗?",
"confirm.deletion": "确定要删除吗?",
"confirm.disable.store": "确认要禁用这家门店吗?",
......@@ -267,6 +272,7 @@ export default {
"copy": "复制",
"corporate": "对公",
"county": "",
"coupon.code": "券码",
"cover.image": "封面图片",
"create.department": "创建部门",
"create.group": "新建分组",
......@@ -290,12 +296,16 @@ export default {
"daily.min.reception": "每日最低接待量",
"daily.settlement": "日结",
"data.deleted.successfully": "删除数据成功。",
"data.items": "项数据",
"data.records": "条数据",
"data.saved.successfully": "新建或修改数据成功。",
"deadline": "截止时间",
"debit.card": "借记卡",
"default": "(默认)",
"default.1year.validity": "自商品售卖起默认一年",
"delete": "删除",
"delete.failed": "删除失败",
"delete.food.type.associated.merchantsproducts.will.be.permanently.deleted": "餐品类型?此餐品类型下关联的商户及商品将一并删除,不可逆请谨慎操作!",
"delete.success": "删除成功",
"deleted": "已删除",
"deleted.successfully": "删除成功!",
......@@ -318,6 +328,7 @@ export default {
"detail.address.required": "请输入详情地址!",
"detail.image": "详情图",
"detail.image.width.800": "详情图宽度不可大于800",
"detail.image.width.exceeds.limit": "] 详情图宽度不可大于",
"detailed.address.excl.region": "请输入详细地址,不包含省市区地址",
"dinner": "晚餐",
"direct.enterprise.purchase": "企业购直连",
......@@ -510,6 +521,8 @@ export default {
"enterprise.product.price": "企业商品价格",
"enterprise.purchase": "企业购",
"enterprise.type": "企业类型",
"entries": "",
"entries.total": "条 /总共",
"error.reason": "异常原因:",
"esignature": "电子签章",
"evoucher": "虚拟卡券",
......@@ -526,8 +539,10 @@ export default {
"failed.data": "失败数据",
"failed.to.locate.address": "根据地址查询位置失败",
"fetch.public.images": "拉取公共图",
"file.format.must.be": "文件格式须为",
"file.upload.failed": "文件上传失败",
"file.upload.success": "文件上传成功",
"files": "个文件!",
"filter": "筛选",
"fixed.date": "固定日期",
"food.delivery.service": "到家外卖业务(外卖配送业务)",
......@@ -568,6 +583,7 @@ export default {
"home": "首页",
"home.delivery": "到家业务",
"homepage": "主页",
"hours": "",
"household.register.page": "户口本本人页",
"id.back": "身份证国徽面",
"id.expiry.end": "身份证结束有效期",
......@@ -578,6 +594,7 @@ export default {
"id.name": "证件姓名",
"id.number": "身份证号码",
"image.format.must.be.jpgjpegpng": "图片格式须为jpg、jpeg、png!",
"image.size.cannot.exceed.2mb": "] 图片不可以大于2MB",
"image.upload.failed": "图片上传失败",
"import": "导入",
"import.file": "导入文件",
......@@ -688,9 +705,12 @@ export default {
"max.50.dishes": "最多添加50个菜品",
"max.file.size.200k": "文件大小不能超过200K",
"max.file.size.5m": "文件大小不能超过5M!",
"max.selectable.billing.cycles": "帐期最多可选",
"max.stock": "最大库存",
"max.stock.cannot.be.0": "最大库存不能为0",
"max.upload.limit": "最多只能上传",
"maximum": "最大",
"maximum.upload": "最多上传",
"meal.package.content": "套餐内容",
"meal.period.config": "餐段配置",
"meal.type.required": "请选择餐品类型!",
......@@ -722,12 +742,14 @@ export default {
"merchant.confirmed": "商家已确认",
"merchant.meal.types.at.pickup": "取餐点下商户餐品类型",
"merchant.name": "商家名称:",
"merchant.order.list": "商户订单列表-",
"merchant.phone": "商家手机号",
"merchant.refund.address": "商家退款地址",
"merchant.rejected": "商家已拒绝",
"merchant.rejection.reason": "商家拒绝原因",
"merchant.return.address": "商家退货地址",
"merchant.return.info": "商家退货信息",
"merchant.settlement.details": "商户货款结算明细-",
"merchant.system": "商户管理系统",
"merchant.under.review": "商户审核中",
"message": "消息",
......@@ -782,6 +804,8 @@ export default {
"notice": "提示",
"notification": "通知",
"notifications": "消息提醒",
"number.in.range": "区间的数字",
"numbers.between": "]之间的数字",
"numbers.or.commaseparated": "请输入数字或数字+英文逗号,以数字结尾",
"numbers.or.hyphens": "请输入数字或数字和-,以数字结尾",
"numbers.or.letters": "请输入数字或字母",
......@@ -851,6 +875,7 @@ export default {
"payment.in.progress.oa.approved": "付款中(已OA)",
"payment.in.progress.oa.processing": "付款中(OA中)",
"payment.in.progress.pending.transfer": "付款中(待打款)",
"payment.order.export.data": "付款单导出数据-",
"payment.slip": "付款单",
"payment.slip.date": "付款单生成日期",
"payment.slip.start.time.required": "付款单开始时间不能为空",
......@@ -904,12 +929,17 @@ export default {
"platform.remark": "平台备注",
"please.check": ",请查看",
"please.configure": "请配置",
"please.enter": "请输入[",
"please.select": "请选择",
"please.select.first": "请先选择",
"please.upload": "请上传",
"pop.merchants.only": "仅限POP商家设置",
"portion": "",
"portion.name.must.be.unique": "份量名称不能重复!",
"portion.size": "份量",
"portion.size.eg.largesmall.mildspicy": "份量(如大小/小份、微辣/特辣等)",
"positive.integer.required": "请输入正整数",
"positive.integers.between": "]之间的正整数",
"postchange.content": "变更后内容",
"prechange.content": "变更前内容",
"precise.weight.unit": "准确重量单位",
......@@ -925,6 +955,7 @@ export default {
"product.beyond.aftersale.period": "商品已超过售后期",
"product.brand": "商品品牌",
"product.category": "商品分组",
"product.category.changed.weight.unit.autoswitched.to": "商品品类已切换,规格重量单位已自动切换为",
"product.change.review": "商品信息变更审核",
"product.damaged": "商品破损",
"product.description": "商品描述",
......@@ -933,6 +964,7 @@ export default {
"product.id": "商品id:",
"product.image": "商品图片",
"product.image.only": "仅商品图片",
"product.images": "商品图片(",
"product.mismatch": "商品与出售商品不符",
"product.name": "商品名称",
"product.name.2.chars": "请输入最少两个字符的商品名称!",
......@@ -964,6 +996,7 @@ export default {
"quantity.star": "量星球",
"quantity.star.merchant.system": "量星球商户管理系统",
"query": "查询",
"quota": "限额",
"read": "已读",
"reason": "原因",
"recalled": "已收回",
......@@ -976,8 +1009,11 @@ export default {
"recipient.info": "收货人信息",
"recipient.name": "收件人姓名",
"recommended.candidate.qu.nini.passed.3rd.interview": "你推荐的 曲妮妮 已通过第三轮面试",
"recommended.size.widthheight": "建议尺寸: ##宽##高 (",
"recommended.size.widthheight.sku.carousel": "建议尺寸: ##宽##高,sku商品轮播图(",
"reconciled.count": "对账成功条数",
"reconciliation.batch": "对账批次号",
"reconciliation.details": "对账明细-",
"reconciliation.status": "对账状态",
"red.amount": "红字金额",
"reduce.stock": "减库存",
......@@ -1006,6 +1042,7 @@ export default {
"reminder": "催单",
"reminder.current.aftersales.type.is.product.not.received": "温馨提示:当前售后类型为用户未收到产品,申请",
"request.data.returned.successfully": "服务器成功返回请求的数据。",
"request.error": "请求错误",
"request.settlement": "申请结算",
"request.targets.nonexistent.record": "发出的请求针对的是不存在的记录,服务器没有进行操作。",
"required": "必填项",
......@@ -1061,6 +1098,7 @@ export default {
"search.for.logistics": "// 选择物流可搜索",
"secondary.menu": "二级菜单",
"secondary.specification": "二级规格",
"seconds": "",
"select": "请选择",
"select.1100.batches": "请选择1~100条账单批次",
"select.account.type": "请选择账户类型!",
......@@ -1136,6 +1174,7 @@ export default {
"selected.shipping.zones": "勾选商品配送区域设置",
"selection.required": "请选择!",
"selfoperated": "自营",
"selfoperated.product.price.update": "自营商品供货价更新表-",
"selling.price": "销售价",
"sentry.failed.to.load": "Sentry无法加载",
"serial.no": "序号",
......@@ -1181,6 +1220,7 @@ export default {
"sichuan.girl": "川妹子",
"signing.date": "签约日期",
"signing.time": "签约时间",
"single.file.size.cannot.exceed": "单个文件大小不能超过",
"single.item.delivery": "单点送",
"single.item.no.delivery": "单点不送",
"single.specification": "单规格",
......@@ -1192,6 +1232,7 @@ export default {
"sku.code": "SKU编码",
"sku.name": "sku名称",
"sku.product.name": "SKU商品名称",
"slider.image.size.exceeds.limit": "] 滑动图尺寸不可大于",
"smallscale": "小规模",
"sold.out": "已售罄",
"sort": "排序",
......@@ -1203,6 +1244,7 @@ export default {
"spicy": "辣~",
"spu.name": "SPU名称:",
"start.date": "开始日期",
"start.time.cannot.be.before": "起始时间不能早于",
"startend.time.mismatch": "选择开始时间结束时间不能一样",
"status": "状态",
"stock": "库存数:",
......@@ -1278,6 +1320,7 @@ export default {
"top.up.balance": "充值余额",
"topup.details": "充值明细",
"topup.time": "充值时间",
"total": "总共",
"total.refund": "退款总额",
"total.sales": "销售总额",
"town": "",
......@@ -1388,6 +1431,7 @@ export default {
"week.preview.required": "请选择是否周预览!",
"weekly.preview": "是否周预览",
"weekly.settlement": "周结",
"weight": "重量(",
"welcome.to.merchant.system": "欢迎使用商户管理后台系统",
"westore.id": "微店ID",
"westore.name": "微店名称",
......
......@@ -109,7 +109,7 @@ const ViewDepartmentModal = ({ visible, onClose, enterpriseList }) => {
const pagination = {
...pageInfo,
total,
showTotal: t => `${t}`,
showTotal: t => `${$t('total')}${t}${$t('entries')}`,
onChange,
onShowSizeChange: onChange,
};
......
......@@ -177,7 +177,7 @@ const StoreManagement = () => {
// 删除
const delEmployee = ({ staffName, id }) => {
confirm({
title: `确认删除企业员工#${staffName || ''}#?`,
title: `${$t('confirm.delete.employee.0')}${staffName || ''}#?`,
onOk() {
deleteEmployee(id);
},
......@@ -255,7 +255,7 @@ const StoreManagement = () => {
const pagination = {
...page,
total,
showTotal: t => `${t}`,
showTotal: t => `${$t('total')}${t}${$t('entries')}`,
onChange,
onShowSizeChange: onChange,
};
......
......@@ -63,7 +63,7 @@ const DraftModal = props => {
const pagination = {
...pageInfo,
total,
showTotal: t => `${t} 项数据`,
showTotal: t => `${$t('total')}${t}${$t('data.items')}`,
onChange,
pageSizeOptions: [4, 20, 50, 100],
showSizeChanger: !0,
......
......@@ -119,7 +119,7 @@ class goodsManage extends Component {
});
if (res) {
const blob = new Blob([res]);
saveAs(blob, `商品明细-${format(new Date(), 'yyyyMMdd')}.xlsx`);
saveAs(blob, `${$t('product.details')}${format(new Date(), 'yyyyMMdd')}.xlsx`);
} else {
notification.error({ message: $t('download.failed') });
}
......
......@@ -216,7 +216,7 @@ class supplyPriceUpdate extends Component {
style={{ marginBottom: 10 }}
onChange={this.onPageChange}
total={tableData.total}
showTotal={total => `共${total}条`}
showTotal={total => `${$t('total')}${total}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -11,7 +11,7 @@ const ActionBar = options => {
console.log('options.shopId :>> ', options.shopId);
Modal.confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiGoodsActionBatch({
skuIds: options.selectedRowKeys,
......
......@@ -257,7 +257,7 @@ const Takeaway = options => {
className={styles['takeawayBox--page']}
onChange={onPageChange}
total={total}
showTotal={o => `共${o}条`}
showTotal={o => `${$t('total')}${o}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -495,7 +495,7 @@ class goodsManage extends Component {
style={{ marginBottom: 10 }}
onChange={this.onPageChange}
total={tableData.total}
showTotal={total => `共${total}条`}
showTotal={total => `${$t('total')}${total}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -17,7 +17,7 @@ const InfoAudit = props => {
const obj = {
1: '-',
2: $t('review.passed'),
3: `审核拒绝,${audit.rejectReason}`,
3: `${$t('rejected')}${audit.rejectReason}`,
};
if (audit) {
return obj[audit.status] || '';
......
......@@ -455,5 +455,5 @@ export async function apiDownBiddingTemplate(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([res]);
saveAs(blob, `自营商品供货价更新表-${format(new Date(), 'yyyy-MM-dd')}.xlsx`);
saveAs(blob, `${$t('selfoperated.product.price.update')}${format(new Date(), 'yyyy-MM-dd')}.xlsx`);
}
......@@ -48,7 +48,7 @@ export function column() {
const onChangeState = async ({ skuId, state }) => {
confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiChangeStateGoods({
ids: skuId,
......@@ -251,7 +251,7 @@ export function takeawayColumn(actions) {
const onChangeState = async ({ skuId, state }) => {
confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiGoodsActionBatch({
skuIds: [skuId],
......
......@@ -26,7 +26,7 @@ const CustomUpload = props => {
}
}
if (fileList.length >= limit) {
message.warning(`最多上传${limit}个!`);
message.warning(`${$t('maximum.upload')}${limit}${$t('items')}`);
return;
}
......
......@@ -52,7 +52,7 @@ const PaymentMange = props => {
const data = await selfPaymentexportDetail(params);
if (data) {
const blob = new Blob([data]);
saveAs(blob, `账单付款单明细-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('bill.payment.details')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
} else {
notification.error({ message: $t('download.failed') });
}
......@@ -140,7 +140,7 @@ const PaymentMange = props => {
if (checkedTime(params)) {
const data = await selfPaymentExport(params);
const blob = new Blob([data]);
saveAs(blob, `付款单导出数据-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('payment.order.export.data')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
setloading(false);
};
......
......@@ -63,7 +63,7 @@ const DraftModal = props => {
const pagination = {
...pageInfo,
total,
showTotal: t => `${t} 项数据`,
showTotal: t => `${$t('total')}${t}${$t('data.items')}`,
onChange,
pageSizeOptions: [4, 20, 50, 100],
showSizeChanger: !0,
......
......@@ -119,7 +119,7 @@ class goodsManage extends Component {
});
if (res) {
const blob = new Blob([res]);
saveAs(blob, `商品明细-${format(new Date(), 'yyyyMMdd')}.xlsx`);
saveAs(blob, `${$t('product.details')}${format(new Date(), 'yyyyMMdd')}.xlsx`);
} else {
notification.error({ message: $t('download.failed') });
}
......
......@@ -11,7 +11,7 @@ const ActionBar = options => {
console.log('options.shopId :>> ', options.shopId);
Modal.confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiGoodsActionBatch({
skuIds: options.selectedRowKeys,
......
......@@ -257,7 +257,7 @@ const Takeaway = options => {
className={styles['takeawayBox--page']}
onChange={onPageChange}
total={total}
showTotal={o => `共${o}条`}
showTotal={o => `${$t('total')}${o}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -499,7 +499,7 @@ class popGoodsManage extends Component {
style={{ marginBottom: 10 }}
onChange={this.onPageChange}
total={tableData.total}
showTotal={total => `共${total}条`}
showTotal={total => `${$t('total')}${total}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -17,7 +17,7 @@ const InfoAudit = props => {
const obj = {
1: '-',
2: $t('review.passed'),
3: `审核拒绝,${audit.rejectReason}`,
3: `${$t('rejected')}${audit.rejectReason}`,
};
if (audit) {
return obj[audit.status] || '';
......
......@@ -455,5 +455,5 @@ export async function apiDownBiddingTemplate(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([res]);
saveAs(blob, `自营商品供货价更新表-${format(new Date(), 'yyyy-MM-dd')}.xlsx`);
saveAs(blob, `${$t('selfoperated.product.price.update')}${format(new Date(), 'yyyy-MM-dd')}.xlsx`);
}
......@@ -48,7 +48,7 @@ export function column() {
const onChangeState = async ({ skuId, state }) => {
confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiChangeStateGoods({
ids: skuId,
......@@ -251,7 +251,7 @@ export function takeawayColumn(actions) {
const onChangeState = async ({ skuId, state }) => {
confirm({
icon: <ExclamationCircleOutlined />,
content: `确认${+state === 6 ? '下架' : '上架'}商品?`,
content: `${$t('confirm')}${+state === 6 ? '下架' : '上架'}${$t('product')}`,
onOk: async () => {
const res = await apiGoodsActionBatch({
skuIds: [skuId],
......
......@@ -68,7 +68,7 @@ export async function downOrder(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([data]);
saveAs(blob, `商户订单列表-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('merchant.order.list')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
// 批量发货订单
export async function queryToBatchSend(params) {
......@@ -111,7 +111,7 @@ export async function downUploadeOrder(params) {
1: $t('successful.data'),
2: $t('all.data'),
};
saveAs(blob, `批量发货-${status[params.status]}-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('batch.shipping')}${status[params.status]}-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
// 延迟发货
export function apiDelayDeliverGoods(data) {
......
......@@ -86,7 +86,7 @@ export const CreateFormInput = props => {
{...roleProps}
{...options}
style={{ width: '100%' }}
placeholder={`请输入${title}`}
placeholder={`${$t('please.enter')}${title}`}
onBlur={e => {
const inputTarget = e.target;
const timer = setTimeout(() => {
......@@ -137,7 +137,7 @@ export const CreateFormInput = props => {
{...roleProps}
{...options}
style={{ width: '100%' }}
placeholder={`请输入${title}`}
placeholder={`${$t('please.enter')}${title}`}
onBlur={e => {
const inputTarget = e.target;
const timer = setTimeout(() => {
......
......@@ -150,7 +150,7 @@ const EditFormTable = forwardRef((props, ref) => {
key={`${dataIndex}_${rowIndex}`}
name={['tableList', rowIndex, dataIndex]}
initialValue={record[dataIndex] || null}
rules={[{ required: roleRules.required, message: `请输入${title}.` }]}
rules={[{ required: roleRules.required, message: `${$t('please.enter')}${title}.` }]}
>
<CreateFormInput
{...otherParams}
......
......@@ -276,7 +276,7 @@ const FormPackage = forwardRef((props, ref) => {
}
arr.push({
uuid: i,
specName: `套餐${i + 1}`,
specName: `${$t('combo')}${i + 1}`,
children,
});
});
......
......@@ -77,7 +77,7 @@ const SpecificationTemplate = (props, _) => {
if (!specId) {
Modal.warning({
maskClosable: true,
title: `请先选择${label}!`,
title: `${$t('please.select.first')}${label}!`,
});
return;
}
......@@ -105,7 +105,7 @@ const SpecificationTemplate = (props, _) => {
options={specList}
style={{ width: 200 }}
fieldNames={{ label: 'specName', value: 'specId' }}
placeholder={`请选择${label}`}
placeholder={`${$t('please.select')}${label}`}
showSearch
filterOption={(input, option) =>
option.specName.toLowerCase().indexOf(input.toLowerCase()) >= 0
......
......@@ -193,7 +193,7 @@ const FormRuleVPictures = forwardRef((props, ref) => {
{
required: imgConfig.cardImageList.rule,
type: 'array',
message: `请上传${imgConfig.cardImageList.title}!`,
message: `${$t('please.upload')}${imgConfig.cardImageList.title}!`,
},
]}
>
......@@ -212,7 +212,7 @@ const FormRuleVPictures = forwardRef((props, ref) => {
<Form.Item
name={['imageList', key]}
key={key}
label={`商品图片(${key})`}
label={`${$t('product.images')}${key})`}
rules={[
{ required: imgConfig.imageList.rule, type: 'array', message: $t('upload.images') },
]}
......@@ -243,7 +243,7 @@ const FormRuleVPictures = forwardRef((props, ref) => {
{
type: 'array',
required: imgConfig.detailImageList.rule,
message: `请上传${imgConfig.detailImageList.title}!`,
message: `${$t('please.upload')}${imgConfig.detailImageList.title}!`,
},
]}
extra={imgConfig.detailImageList.renderExtra()}
......
......@@ -89,7 +89,7 @@ const UploadCropImage = forwardRef((props, ref) => {
new Promise((resolve, reject) => {
const LtMB = file.size / 1024 / 1024;
if (LtMB > 2) {
warningTip(`[${file.name}] 图片不可以大于2MB`);
warningTip(`[${file.name}${$t('image.size.cannot.exceed.2mb')}`);
resolve(null);
}
getBase64(file, url => {
......@@ -103,7 +103,7 @@ const UploadCropImage = forwardRef((props, ref) => {
resolve(file);
});
image.addEventListener('error', () => {
warningTip(`${file.name}图片上传失败!`);
warningTip(`${file.name}${$t('image.upload.failed')}`);
resolve(null);
});
image.src = url;
......
......@@ -96,7 +96,7 @@ const UploadImage = forwardRef((props, ref) => {
new Promise((resolve, reject) => {
const LtMB = file.size / 1024 / 1024;
if (LtMB > 2) {
warningTip(`[${file.name}] 图片不可以大于2MB`);
warningTip(`[${file.name}${$t('image.size.cannot.exceed.2mb')}`);
resolve(null);
}
getBase64(file, url => {
......@@ -110,7 +110,7 @@ const UploadImage = forwardRef((props, ref) => {
resolve(file);
});
image.addEventListener('error', () => {
warningTip(`${file.name}图片上传失败!`);
warningTip(`${file.name}${$t('image.upload.failed')}`);
resolve(null);
});
image.src = url;
......
......@@ -70,7 +70,7 @@ export const TaskList = (canAddService, canAddNormal, canTakeawayService) => [
rule: true,
limit: 1,
renderExtra(leng) {
return `建议尺寸: ##宽##高 (${leng} / 1) 封面图第一张 `;
return `${$t('recommended.size.widthheight')}${leng}${$t('1.first.cover.image')}`;
},
},
cardImageList: {
......@@ -78,7 +78,7 @@ export const TaskList = (canAddService, canAddNormal, canTakeawayService) => [
rule: true,
limit: 11,
renderExtra(leng) {
return `建议尺寸: ##宽##高,sku商品轮播图(${leng} / 11)`;
return `${$t('recommended.size.widthheight.sku.carousel')}${leng} / 11)`;
},
},
detailImageList: {
......@@ -102,7 +102,7 @@ export const TaskList = (canAddService, canAddNormal, canTakeawayService) => [
rule: true,
limit: 1,
renderExtra(leng) {
return `建议尺寸: ##宽##高 (${leng} / 1) 封面图第一张 `;
return `${$t('recommended.size.widthheight')}${leng}${$t('1.first.cover.image')}`;
},
},
cardImageList: {
......@@ -110,7 +110,7 @@ export const TaskList = (canAddService, canAddNormal, canTakeawayService) => [
rule: true,
limit: 11,
renderExtra(leng) {
return `建议尺寸: ##宽##高,sku商品轮播图(${leng} / 11)`;
return `${$t('recommended.size.widthheight.sku.carousel')}${leng} / 11)`;
},
},
detailImageList: {
......@@ -223,7 +223,7 @@ export const StaticColumns = customer => [
disabeldRender: () => customer.isDisabled,
},
{
title: `重量(${customer.isGold ? 'g' : 'kg'})`,
title: `${$t('weight')}${customer.isGold ? 'g' : 'kg'})`,
dataIndex: 'weight',
editable: true,
batchRole: [1],
......@@ -372,7 +372,7 @@ export const StaticColumnsPop = customer => [
disabeldRender: () => customer.isDisabled,
},
{
title: `重量(${customer.isGold ? 'g' : 'kg'})`,
title: `${$t('weight')}${customer.isGold ? 'g' : 'kg'})`,
dataIndex: 'weight',
editable: true,
batchRole: [1],
......
......@@ -235,7 +235,7 @@ const ServiceGoods = options => {
const sendAsyncHttpRequest = isEdit ? merchantProductEdit : merchantProductAdd;
const addResponse = await sendAsyncHttpRequest(sendData);
if (addResponse.data) {
message.success(`${isEdit ? '修改' : '添加'}成功!`);
message.success(`${isEdit ? '修改' : '添加'}${$t('success')}`);
localStorage.remove(localAutoSaveKey);
handleCancel(true, sendData);
}
......@@ -450,7 +450,7 @@ const ServiceGoods = options => {
txt = $t('kilogram');
}
if (txt) {
message.warning(`商品品类已切换,规格重量单位已自动切换为${txt}`, 6);
message.warning(`${$t('product.category.changed.weight.unit.autoswitched.to')}${txt}`, 6);
}
};
......
......@@ -144,7 +144,7 @@ export const filterSendData = (type, params) => {
item.specs.forEach(itm => {
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
`${itm?.quantity}`.indexOf($t('approx')) > -1 ? itm?.quantity : `${itm?.quantity}`;
`${itm?.quantity}`.indexOf($t('approx')) > -1 ? itm?.quantity : `${$t('approx')}${itm?.quantity}`;
}
});
}
......@@ -162,7 +162,7 @@ export const filterSendData = (type, params) => {
}
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
`${itm?.quantity}`.indexOf($t('approx')) > -1 ? itm?.quantity : `${itm?.quantity}`;
`${itm?.quantity}`.indexOf($t('approx')) > -1 ? itm?.quantity : `${$t('approx')}${itm?.quantity}`;
}
});
}
......
......@@ -47,7 +47,7 @@ const SettlementSheet = props => {
return true;
}
notification.error({
message: `${billPeriodData.text}帐期最多可选${billPeriodData?.maxlength || 0}`,
message: `${billPeriodData.text}${$t('max.selectable.billing.cycles')}${billPeriodData?.maxlength || 0}${$t('entries')}`,
});
return false;
};
......
......@@ -23,7 +23,7 @@ const repastType = list => {
.filter(item => item !== 4)
.map(item => {
const name = repastTypeList.find(i => i.value === item)?.label;
return name ? `${name}/到店 ` : null;
return name ? `${name}${$t('instore')}` : null;
});
}
return list.map(item => {
......
......@@ -130,7 +130,7 @@ const StoreManagement = () => {
// 删除
const delShop = ({ shopName, id }) => {
confirm({
title: `确认删除企业商户#${shopName || ''}#?`,
title: `${$t('confirm.delete.merchant.0')}${shopName || ''}#?`,
content: $t('note.deleting.shop.removes.all.merchant.products'),
onOk() {
editShop(id);
......@@ -194,7 +194,7 @@ const StoreManagement = () => {
const pagination = {
...page,
total,
showTotal: t => `${t}`,
showTotal: t => `${$t('total')}${t}${$t('entries')}`,
onChange: handleTableChange,
onShowSizeChange: handleTableChange,
};
......
......@@ -167,7 +167,7 @@ const AddressForm = props => {
return (
<Modal
title={`${formData.id ? '修改' : '增加'}售后地址`}
title={`${formData.id ? '修改' : '增加'}${$t('aftersales.address')}`}
visible={visible}
onCancel={() => onCancel()}
onOk={handleSubmit}
......@@ -210,14 +210,14 @@ const AddressForm = props => {
rules: [
{
required: area.required,
message: `请选择${area.name}!`,
message: `${$t('please.select')}${area.name}!`,
},
],
})(
<Select
showSearch
optionFilterProp="label"
placeholder={`请选择${area.name}`}
placeholder={`${$t('please.select')}${area.name}`}
onChange={val => getAddr(val, area.child)}
labelInValue
allowClear
......
......@@ -49,7 +49,7 @@ const CustomerInfo = props => {
if (curren < item.endTime) {
valid = true;
const name = meals[item.mealPeriodType];
notification.error({ message: `${curName}起始时间不能早于${name}截止时间` });
notification.error({ message: `${curName}${$t('start.time.cannot.be.before')}${name}${$t('deadline')}` });
}
});
return valid;
......@@ -145,7 +145,7 @@ const CustomerInfo = props => {
confirm({
title: $t('risk.warning'),
icon: <ExclamationCircleOutlined />,
content: `确定关闭${mt}餐品类型?此餐品类型下关联的商户及商品将一并删除,不可逆请谨慎操作!`,
content: `${$t('confirm.close')}${mt}${$t('delete.food.type.associated.merchantsproducts.will.be.permanently.deleted')}`,
onOk() {
resolve(1);
},
......@@ -343,7 +343,7 @@ const CustomerInfo = props => {
{fields => (
<>
{Object.keys(meals).map(meal => (
<Form.Item label={`${mealSections[meal]}订单`} required wrapperCol={{ span: 20 }}>
<Form.Item label={`${mealSections[meal]}${$t('order')}`} required wrapperCol={{ span: 20 }}>
<Form.List
name={`limit${meal}`}
key={`${meal}limit`}
......
......@@ -5,10 +5,10 @@ import { validateRequired, isCheckPriceTwoDecimal } from '@/utils/validator';
const MealLimit = props => (
<Form.Item
label={`${props.label}限额`}
label={`${props.label}${$t('quota')}`}
name={props.name}
rules={[
{ validator: validateRequired, message: `请输入${props.label}限额` },
{ validator: validateRequired, message: `${$t('please.enter')}${props.label}${$t('quota')}` },
{ validator: isCheckPriceTwoDecimal, message: $t('enter.valid.price') },
]}
>
......
......@@ -168,7 +168,7 @@ export function uploadPropsFn(
return;
}
if (that.state.businessInfo[keyName] && that.state.businessInfo[keyName].length >= limit) {
notification.error({ message: `最多只能上传${limit}个文件!` });
notification.error({ message: `${$t('max.upload.limit')}${limit}${$t('files')}` });
return;
}
const res = await uploadFile([file], type);
......@@ -188,7 +188,7 @@ export function uploadPropsFn(
if (imgList.length <= limit) {
state.businessInfo[keyName] = imgList;
} else {
notification.error({ message: `最多只能上传${limit}个文件!` });
notification.error({ message: `${$t('max.upload.limit')}${limit}${$t('files')}` });
}
return {
businessInfo: state.businessInfo,
......@@ -208,7 +208,7 @@ export function uploadPropsFn(
if (flist.length + imgList.length > limit) {
clearTimeout(timer);
timer = setTimeout(() => {
notification.error({ message: `最多只能上传${limit}个文件!` });
notification.error({ message: `${$t('max.upload.limit')}${limit}${$t('files')}` });
}, 100);
return false;
}
......
......@@ -96,7 +96,7 @@ export default props => {
const seconds = parseInt(timeNumber % 60)
.toString()
.padStart(2, '0');
const str = `${hours}${minutes}${seconds}`;
const str = `${hours}${$t('hours')}${minutes}${$t('minutes')}${seconds}${$t('seconds')}`;
timeString[record.orderId] = str;
const strings = _.cloneDeep(timeString);
setTimeString(strings);
......
......@@ -144,7 +144,7 @@ export default () => {
const enable = +state === 1 ? 0 : 1;
const res = await apiEnableStore({ id, state: enable });
if (res === '0000') {
notification.success({ message: `${state ? '禁用' : '启用'}` });
notification.success({ message: `${$t('completed')}${state ? '禁用' : '启用'}` });
onSearch(refSearch.current?.getFieldValue?.() || {});
}
};
......@@ -344,7 +344,7 @@ export default () => {
style={{ marginBottom: 10 }}
onChange={onPageChange}
total={totalNum}
showTotal={total => `共${total}条`}
showTotal={total => `${$t('total')}${total}${$t('entries')}`}
current={pageNo}
pageSize={pageSize}
showSizeChanger
......
......@@ -37,7 +37,7 @@ const ImageInfo = file =>
new Promise((resolve, reject) => {
const LtMB = file.size / 1024 / 1024;
if (LtMB > 2) {
warningTip(`[${file.name}] 图片不可以大于2MB`);
warningTip(`[${file.name}${$t('image.size.cannot.exceed.2mb')}`);
resolve(null);
}
getBase64(file, url => {
......@@ -51,7 +51,7 @@ const ImageInfo = file =>
resolve(file);
});
image.addEventListener('error', () => {
warningTip(`${file.name}图片上传失败!`);
warningTip(`${file.name}${$t('image.upload.failed')}`);
resolve(null);
});
image.src = url;
......@@ -68,13 +68,13 @@ const isUploadNext = async (imgFileList, id) => {
const filterImage = imgFileList.filter(({ width, height, name }) => {
if (id === 'detailImageList') {
if (width > DETAIL_IMG_MAX_WIDTH) {
warningTip(`[${name}] 详情图宽度不可大于${DETAIL_IMG_MAX_WIDTH}`);
warningTip(`[${name}${$t('detail.image.width.exceeds.limit')}${DETAIL_IMG_MAX_WIDTH}`);
return false;
}
return true;
}
if (width > LOOP_IMG_WIDTH_HEIGHT || height > LOOP_IMG_WIDTH_HEIGHT) {
warningTip(`[${name}] 滑动图尺寸不可大于 ${LOOP_IMG_WIDTH_HEIGHT}*${LOOP_IMG_WIDTH_HEIGHT}`);
warningTip(`[${name}${$t('slider.image.size.exceeds.limit')}${LOOP_IMG_WIDTH_HEIGHT}*${LOOP_IMG_WIDTH_HEIGHT}`);
return false;
}
return true;
......
......@@ -68,7 +68,7 @@ export async function downOrder(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([data]);
saveAs(blob, `商户订单列表-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('merchant.order.list')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
// 批量发货订单
export async function queryToBatchSend(params) {
......@@ -111,7 +111,7 @@ export async function downUploadeOrder(params) {
1: $t('successful.data'),
2: $t('all.data'),
};
saveAs(blob, `批量发货-${status[params.status]}-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('batch.shipping')}${status[params.status]}-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
// 延迟发货
export function apiDelayDeliverGoods(data) {
......
......@@ -87,7 +87,7 @@ const DetailModal = (props, ref) => {
{
title: $t('voucher.code'),
width: 150,
render: (value, record, index) => `券码${index + 1}`,
render: (value, record, index) => `${$t('coupon.code')}${index + 1}`,
},
{
title: $t('validity.period'),
......
......@@ -456,7 +456,7 @@ const OrderList = props => {
<Pagination
onChange={onPageChange}
total={dataTotal}
showTotal={(total, range) => `第${range[0]}-${range[1]}条 /总共${total}条`}
showTotal={(total, range) => `${$t('no')}${range[0]}-${range[1]}${$t('entries.total')}${total}${$t('entries')}`}
pageSize={pagination.pageSize}
current={pagination.pageNo}
/>
......
......@@ -166,7 +166,7 @@ const AddressForm = props => {
return (
<Modal
title={`${formData.id ? '修改' : '增加'}售后地址`}
title={`${formData.id ? '修改' : '增加'}${$t('aftersales.address')}`}
visible={visible}
onCancel={() => onCancel()}
onOk={handleSubmit}
......@@ -198,13 +198,13 @@ const AddressForm = props => {
rules: [
{
required: area.required,
message: `请选择${area.name}!`,
message: `${$t('please.select')}${area.name}!`,
},
],
})(
<Select
showSearch
placeholder={`请选择${area.name}`}
placeholder={`${$t('please.select')}${area.name}`}
onChange={val => getAddr(val, area.child)}
labelInValue
allowClear
......
......@@ -55,7 +55,7 @@ export async function downDetail(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([data]);
saveAs(blob, `对账明细-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('reconciliation.details')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
export async function detailQuery(params) {
......
......@@ -67,7 +67,7 @@ export async function download(params) {
responseType: 'arrayBuffer',
});
const blob = new Blob([data]);
saveAs(blob, `商户货款结算明细-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
saveAs(blob, `${$t('merchant.settlement.details')}${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
}
// 附件信息
export async function docQuery(settlementNo) {
......
......@@ -38,7 +38,7 @@ const errorHandler = error => {
const errorText = codeMessage[response.status] || response.statusText;
const { status, url } = response;
notification.error({
message: `请求错误 ${status}: ${url}`,
message: `${$t('request.error')}${status}: ${url}`,
description: errorText,
});
}
......
......@@ -96,11 +96,11 @@ export function checkMaxNumber(rule, value, callback) {
if (!value || value === 'undefined') {
callback();
} else if (rule.isInteger && !rsCheck) {
callback(new Error(`请输入[${rule.min}, ${rule.max}]之间的正整数`));
callback(new Error(`${$t('please.enter')}${rule.min}, ${rule.max}${$t('positive.integers.between')}`));
} else if (!Number(value)) {
callback(new Error(`请输入[${rule.min}, ${rule.max}]之间的数字`));
callback(new Error(`${$t('please.enter')}${rule.min}, ${rule.max}${$t('numbers.between')}`));
} else if (value < rule.min || value > rule.max) {
callback(new Error(`请输入[${rule.min}, ${rule.max}]之间的数字`));
callback(new Error(`${$t('please.enter')}${rule.min}, ${rule.max}${$t('numbers.between')}`));
} else {
callback();
}
......@@ -184,7 +184,7 @@ export const isNumberSection = (rule, value, callback) => {
if (!Number(value)) {
callback(new Error($t('numbers.required')));
} else if (rule.min > +value || rule.max < +value) {
callback(new Error(rule.message || `请输入${rule.min}-${rule.max}区间的数字`));
callback(new Error(rule.message || `${$t('please.enter')}${rule.min}-${rule.max}${$t('number.in.range')}`));
} else {
callback();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment