3588 lines
203 KiB
TypeScript
3588 lines
203 KiB
TypeScript
import localeMessageBox from '@/components/message-box/locale/en-US';
|
||
import localeLogin from '@/views/login/locale/en-US';
|
||
import localeWechat from '@/views/wechat/locale/en-US';
|
||
import localeH5TrackQuery from '@/views/h5/track-query/locale/en-US';
|
||
|
||
import localeWorkplace from '@/views/home/workplace/locale/en-US';
|
||
|
||
import localeMonitor from '@/views/home/monitor/locale/en-US';
|
||
|
||
import localeSearchTable from '@/views/list/search-table/locale/en-US';
|
||
import localeCardList from '@/views/list/card/locale/en-US';
|
||
|
||
import localeStepForm from '@/views/form/step/locale/en-US';
|
||
import localeGroupForm from '@/views/form/group/locale/en-US';
|
||
|
||
import localeSuccess from '@/views/result/success/locale/en-US';
|
||
import localeError from '@/views/result/error/locale/en-US';
|
||
|
||
import locale403 from '@/views/exception/403/locale/en-US';
|
||
import locale404 from '@/views/exception/404/locale/en-US';
|
||
import locale500 from '@/views/exception/500/locale/en-US';
|
||
|
||
import localeSettings from './en-US/settings';
|
||
|
||
export default {
|
||
// Common
|
||
'app.language': 'Language',
|
||
'common.all': 'All',
|
||
'common.actions': 'Actions',
|
||
'common.viewDetail': 'View Detail',
|
||
'common.selectPlaceholder': 'Please select...',
|
||
'common.search': 'Search',
|
||
'common.reset': 'Reset',
|
||
'common.add': 'Add',
|
||
'common.editSuccess': 'Edit successful',
|
||
'common.addSuccess': 'Add successful',
|
||
'common.inputProviderName': 'Please enter provider name',
|
||
'common.inputValidTime': 'Please enter valid time',
|
||
'common.selected': 'Selected ({count})',
|
||
'common.clear': 'Clear',
|
||
'common.delete': 'Delete',
|
||
'common.saveSuccess': 'Save successful',
|
||
'common.importFailed': 'Import failed',
|
||
'common.operationFailed': 'Operation failed',
|
||
'pagination.pageExceeded': 'Page number exceeds maximum limit, automatically jumped to page {max}',
|
||
'common.pagination.total': 'Total {count} records',
|
||
'common.pagination.prev': 'Previous',
|
||
'common.pagination.next': 'Next',
|
||
'common.pagination.perPage': 'per page',
|
||
'common.pagination.goTo': 'Go to',
|
||
'common.pagination.page': 'page',
|
||
|
||
// Menus (keep existing demo keys)
|
||
'menu.home': 'Home',
|
||
'menu.server.home': 'Home-Server',
|
||
'menu.server.workplace': 'Workplace-Server',
|
||
'menu.server.monitor': 'Monitor-Server',
|
||
'menu.list': 'List',
|
||
'menu.result': 'Result',
|
||
'menu.exception': 'Exception',
|
||
'menu.form': 'Form',
|
||
'menu.user': 'User Center',
|
||
'menu.user.customer': 'Customer Management',
|
||
'menu.user.subAccount': 'Sub Accounts',
|
||
'menu.user.profile': 'Personal Center',
|
||
'menu.user.recharge': 'Recharge',
|
||
'menu.finance': 'Finance',
|
||
'menu.finance.rechargeRecord': 'Recharge Records',
|
||
'menu.finance.accountFlow': 'Account Transactions',
|
||
'menu.finance.receivablePayable': 'Receivables & Payables',
|
||
'menu.arcoWebsite': 'Arco Design',
|
||
'menu.faq': 'FAQ',
|
||
'menu.example': 'Example',
|
||
'menu.example.proTable': 'Pro Table',
|
||
'menu.demo': 'Demo',
|
||
'menu.demo.index': 'Data Table',
|
||
'navbar.docs': 'Docs',
|
||
'navbar.action.locale': 'Switch to English',
|
||
'menu.order': 'Order',
|
||
'menu.order.orderGuide': 'Getting Started',
|
||
'menu.order.priceCheck': 'Price Check',
|
||
'menu.order.placeOrder': 'Place Order',
|
||
'menu.order.templateMapping': 'Template Mapping',
|
||
'menu.order.myOrders': 'My Orders',
|
||
'menu.order.batchJobs': 'Batch Jobs',
|
||
'menu.order.platformStore': 'Platform Stores',
|
||
'menu.order.platformStoreOrder': 'Store Orders',
|
||
'menu.warehouse': 'Warehouse',
|
||
'menu.warehouse.parcel': 'My Parcels',
|
||
'menu.warehouse.inventory': 'My Inventory',
|
||
'menu.warehouse.sku': 'My SKU',
|
||
'menu.warehouse.inboundNotice': 'Inbound Notice',
|
||
'warehouse.common.search': 'Search',
|
||
'warehouse.common.add': 'Add',
|
||
'warehouse.common.edit': 'Edit',
|
||
'warehouse.common.delete': 'Delete',
|
||
'warehouse.common.save': 'Save',
|
||
'warehouse.common.cancel': 'Cancel',
|
||
'warehouse.common.confirm': 'Confirm',
|
||
'warehouse.common.detail': 'Detail',
|
||
'warehouse.common.warehouse': 'Warehouse',
|
||
'warehouse.common.yes': 'Yes',
|
||
'warehouse.common.no': 'No',
|
||
'warehouse.sku.table.dimensions': 'Size(cm)',
|
||
'warehouse.sku.table.createTime': 'Created At',
|
||
'warehouse.sku.table.skuCode': 'SKU Code',
|
||
'warehouse.sku.table.skuName': 'SKU Name',
|
||
'warehouse.sku.table.totalQty': 'Qty',
|
||
'warehouse.sku.table.weightG': 'Weight(g)',
|
||
'warehouse.sku.table.remark': 'Remark',
|
||
'warehouse.sku.search.keyword': 'Code / Name',
|
||
'warehouse.sku.form.skuCode': 'SKU Code',
|
||
'warehouse.sku.form.skuName': 'SKU Name',
|
||
'warehouse.sku.form.weightG': 'Weight(g)',
|
||
'warehouse.sku.form.remark': 'Remark',
|
||
'warehouse.sku.form.imageUrl': 'Image URL',
|
||
'warehouse.sku.form.dimensions': 'Dimensions',
|
||
'warehouse.sku.form.length': 'L',
|
||
'warehouse.sku.form.width': 'W',
|
||
'warehouse.sku.form.height': 'H',
|
||
'warehouse.sku.form.clearSize': 'Clear size',
|
||
'warehouse.sku.form.volumeEstimate': 'Volume estimate',
|
||
'warehouse.modal.noWarehouse': 'No warehouse selected',
|
||
'warehouse.modal.section.basic': 'Basic Info',
|
||
'warehouse.modal.section.weightSize': 'Weight & Size',
|
||
'warehouse.modal.section.products': 'Products',
|
||
'warehouse.sku.modal.add': 'Add SKU',
|
||
'warehouse.sku.modal.edit': 'Edit SKU',
|
||
'warehouse.sku.actions.delete': 'Delete SKU',
|
||
'warehouse.sku.message.loadFailed': 'Failed to load SKU list',
|
||
'warehouse.sku.message.saveSuccess': 'Saved',
|
||
'warehouse.sku.message.saveFailed': 'Save failed',
|
||
'warehouse.sku.message.deleteSuccess': 'Deleted',
|
||
'warehouse.sku.message.deleteFailed': 'Delete failed',
|
||
'warehouse.sku.message.deleteConfirm': 'Delete {code}?',
|
||
'warehouse.sku.message.required': 'SKU code and name are required',
|
||
'warehouse.inventory.table.warehouse': 'Warehouse',
|
||
'warehouse.inventory.table.binName': 'Bin Name',
|
||
'warehouse.inventory.table.skuCode': 'SKU Code',
|
||
'warehouse.inventory.table.skuName': 'SKU Name',
|
||
'warehouse.inventory.table.warehouseId': 'Warehouse',
|
||
'warehouse.inventory.table.totalQty': 'Total Qty',
|
||
'warehouse.inventory.table.binCount': 'Bins',
|
||
'warehouse.inventory.table.binCode': 'Bin',
|
||
'warehouse.inventory.table.qty': 'Qty',
|
||
'warehouse.inventory.search.keyword': 'Code / Name',
|
||
'warehouse.inventory.actions.binDetail': 'Bin Detail',
|
||
'warehouse.inventory.actions.relocate': 'Relocate',
|
||
'warehouse.inventory.drawer.binDetail': 'Bin Detail',
|
||
'warehouse.inventory.modal.relocate': 'Relocate',
|
||
'warehouse.inventory.form.sourceBin': 'Source Bin',
|
||
'warehouse.inventory.form.targetBin': 'Target Bin',
|
||
'warehouse.inventory.form.qty': 'Qty',
|
||
'warehouse.inventory.form.selectBin': 'Select bin',
|
||
'warehouse.inventory.message.loadFailed': 'Failed to load inventory',
|
||
'warehouse.inventory.message.binDetailFailed': 'Failed to load bin detail',
|
||
'warehouse.inventory.message.relocateRequired': 'Fill relocate fields',
|
||
'warehouse.inventory.message.relocateSuccess': 'Relocated',
|
||
'warehouse.inventory.message.relocateFailed': 'Relocate failed',
|
||
'warehouse.inventory.message.sameBin': 'Source and target bin must differ',
|
||
'warehouse.parcel.status.all': 'All',
|
||
'warehouse.parcel.status.inTransit': 'In Transit',
|
||
'warehouse.parcel.status.arrived': 'Arrived',
|
||
'warehouse.parcel.status.stored': 'Stored',
|
||
'warehouse.parcel.table.warehouse': 'Warehouse',
|
||
'warehouse.parcel.table.items': 'Items',
|
||
'warehouse.parcel.table.arrivalTime': 'Arrival Time',
|
||
'warehouse.parcel.table.createTime': 'Created At',
|
||
'warehouse.parcel.table.trackingNo': 'Tracking No',
|
||
'warehouse.parcel.table.carrierName': 'Carrier',
|
||
'warehouse.parcel.table.lifecycleStatus': 'Status',
|
||
'warehouse.parcel.table.warehouseId': 'Warehouse',
|
||
'warehouse.parcel.table.remark': 'Remark',
|
||
'warehouse.parcel.search.trackingNo': 'Tracking No',
|
||
'warehouse.parcel.form.trackingNo': 'Tracking No',
|
||
'warehouse.parcel.form.carrierName': 'Carrier',
|
||
'warehouse.parcel.form.productName': 'Product',
|
||
'warehouse.parcel.form.quantity': 'Qty',
|
||
'warehouse.parcel.form.remark': 'Remark',
|
||
'warehouse.parcel.form.itemRemark': 'Item remark',
|
||
'warehouse.parcel.form.currentWarehouse': 'Current warehouse',
|
||
'warehouse.parcel.form.autoAddRow': 'A new row is added after you fill product name',
|
||
'warehouse.parcel.modal.add': 'Add Parcel',
|
||
'warehouse.parcel.actions.delete': 'Delete Parcel',
|
||
'warehouse.parcel.message.loadFailed': 'Failed to load parcels',
|
||
'warehouse.parcel.message.saveSuccess': 'Saved',
|
||
'warehouse.parcel.message.saveFailed': 'Save failed',
|
||
'warehouse.parcel.message.deleteSuccess': 'Deleted',
|
||
'warehouse.parcel.message.required': 'Warehouse and tracking no required',
|
||
'warehouse.parcel.message.itemsRequired': 'Add at least one product',
|
||
'warehouse.inbound.status.all': 'All',
|
||
'warehouse.inbound.status.forecasted': 'Forecasted',
|
||
'warehouse.inbound.status.completed': 'Completed',
|
||
'warehouse.inbound.status.received': 'Received',
|
||
'warehouse.inbound.table.warehouse': 'Warehouse',
|
||
'warehouse.inbound.table.inboundType': 'Inbound Type',
|
||
'warehouse.inbound.table.expectedArrival': 'ETA',
|
||
'warehouse.inbound.type.normal': 'Normal',
|
||
'warehouse.inbound.type.return': 'Return',
|
||
'warehouse.inbound.table.noticeNo': 'Notice No',
|
||
'warehouse.inbound.table.markReference': 'Mark Ref',
|
||
'warehouse.inbound.table.receiptStatus': 'Status',
|
||
'warehouse.inbound.table.boxCount': 'Boxes',
|
||
'warehouse.inbound.table.plannedQty': 'Planned Qty',
|
||
'warehouse.inbound.table.createTime': 'Created',
|
||
'warehouse.inbound.search.keyword': 'Notice / Mark',
|
||
'warehouse.inbound.form.markReference': 'Mark Ref',
|
||
'warehouse.inbound.form.markBoxNo': 'Box No',
|
||
'warehouse.inbound.form.sku': 'SKU',
|
||
'warehouse.inbound.form.plannedQty': 'Planned Qty',
|
||
'warehouse.inbound.form.markPlaceholder': 'Usually the tracking number',
|
||
'warehouse.inbound.form.boxSkuDetail': 'Boxes & SKU lines',
|
||
'warehouse.inbound.form.boxCount': 'Boxes {n}',
|
||
'warehouse.inbound.form.skuCount': 'SKU {n}',
|
||
'warehouse.inbound.form.totalQty': 'Total qty {n}',
|
||
'warehouse.inbound.form.boxWeight': 'Weight/g',
|
||
'warehouse.inbound.form.boxLength': 'L/cm',
|
||
'warehouse.inbound.form.boxWidth': 'W/cm',
|
||
'warehouse.inbound.form.boxHeight': 'H/cm',
|
||
'warehouse.inbound.form.selectSku': 'Select SKU',
|
||
'warehouse.inbound.actions.addBox': 'Add box',
|
||
'warehouse.inbound.actions.addBox5': 'Add 5 boxes',
|
||
'warehouse.inbound.actions.removeBox': 'Remove boxes',
|
||
'warehouse.inbound.actions.addSku': 'Add SKU line',
|
||
'warehouse.inbound.modal.add': 'Add Inbound',
|
||
'warehouse.inbound.drawer.detail': 'Inbound Detail',
|
||
'warehouse.inbound.box': 'Box',
|
||
'warehouse.inbound.line.skuCode': 'SKU',
|
||
'warehouse.inbound.line.plannedQty': 'Planned',
|
||
'warehouse.inbound.line.receivedQty': 'Received',
|
||
'warehouse.inbound.actions.delete': 'Delete',
|
||
'warehouse.inbound.message.loadFailed': 'Failed to load inbound list',
|
||
'warehouse.inbound.message.saveSuccess': 'Saved',
|
||
'warehouse.inbound.message.saveFailed': 'Save failed',
|
||
'warehouse.inbound.message.deleteSuccess': 'Deleted',
|
||
'warehouse.inbound.message.required': 'Select warehouse',
|
||
'warehouse.inbound.message.boxRequired': 'Add SKU lines to at least one box',
|
||
'warehouse.inbound.message.detailFailed': 'Failed to load detail',
|
||
'order.platformStore.platform.manual': 'Manual',
|
||
'order.platformStore.table.siteCountry': 'Site Country',
|
||
'order.platformStore.table.autoFulfill': 'Auto Fulfill',
|
||
'order.platformStore.table.authTime': 'Auth Time',
|
||
'order.platformStore.table.createTime': 'Created At',
|
||
'order.platformStore.form.siteCountry': 'Site',
|
||
'order.platformStore.form.authCode': 'Auth code',
|
||
'order.platformStore.form.tip': 'Note',
|
||
'order.platformStore.form.authRenewTip': 'Re-authorizing the same store renews binding without changing the nickname.',
|
||
'order.platformStore.form.manualTip': 'Enter any name; the system creates a mock manual store.',
|
||
'order.platformStore.site.crossBorder': 'Cross-border',
|
||
'order.platformStore.actions.bind': 'Bind store',
|
||
'order.platformStore.actions.startAuth': 'Start authorization',
|
||
'order.platformStore.auth.active': 'Active',
|
||
'order.platformStore.auth.expired': 'Expired',
|
||
'order.platformStore.auth.revoked': 'Revoked',
|
||
'order.platformStore.table.platform': 'Platform',
|
||
'order.platformStore.table.nickname': 'Nickname',
|
||
'order.platformStore.table.account': 'Account',
|
||
'order.platformStore.table.authStatus': 'Auth Status',
|
||
'order.platformStore.table.tokenExpire': 'Token Expire',
|
||
'order.platformStore.search.platform': 'Platform',
|
||
'order.platformStore.search.nickname': 'Nickname',
|
||
'order.platformStore.form.platform': 'Platform',
|
||
'order.platformStore.form.nickname': 'Nickname',
|
||
'order.platformStore.form.account': 'Account',
|
||
'order.platformStore.form.autoFulfill': 'Auto Fulfill',
|
||
'order.platformStore.modal.add': 'Add Store',
|
||
'order.platformStore.modal.bind': 'Bind Store',
|
||
'order.platformStore.form.nicknamePlaceholder': 'Store nickname (custom)',
|
||
'order.platformStore.form.authCodePlaceholder': 'Auth code from store management',
|
||
'order.platformStore.form.sitePlaceholder': 'Select site',
|
||
'order.platformStore.form.selectPlatformHint': 'Select a platform to continue',
|
||
'order.platformStore.actions.close': 'Close',
|
||
'order.platformStore.modal.edit': 'Edit Store',
|
||
'order.platformStore.actions.auth': 'Authorize',
|
||
'order.platformStore.actions.delete': 'Delete Store',
|
||
'order.platformStore.message.loadFailed': 'Failed to load stores',
|
||
'order.platformStore.message.saveSuccess': 'Saved',
|
||
'order.platformStore.message.saveFailed': 'Save failed',
|
||
'order.platformStore.message.deleteSuccess': 'Deleted',
|
||
'order.platformStore.message.required': 'Nickname is required',
|
||
'order.platformStore.message.platformRequired': 'Select a platform',
|
||
'order.platformStore.message.authCodeRequired': 'Auth code is required',
|
||
'order.platformStore.message.authPlaceholder': 'OAuth placeholder',
|
||
'order.platformStore.message.authStarted': 'Authorization started; complete it in the new window',
|
||
'order.platformStore.message.authFailed': 'Failed to get auth URL',
|
||
'order.platformStoreOrder.status.all': 'All',
|
||
'order.platformStoreOrder.status.pending': 'Pending',
|
||
'order.platformStoreOrder.status.toShip': 'To Ship',
|
||
'order.platformStoreOrder.status.shipped': 'Shipped',
|
||
'order.platformStoreOrder.status.suspended': 'Suspended',
|
||
'order.platformStoreOrder.table.platform': 'Platform',
|
||
'order.platformStoreOrder.table.country': 'Country',
|
||
'order.platformStoreOrder.table.itemCount': 'Items',
|
||
'order.platformStoreOrder.table.shippingLabel': 'Label No',
|
||
'order.platformStoreOrder.table.warehouse': 'Warehouse',
|
||
'order.platformStoreOrder.table.lastSync': 'Last Sync',
|
||
'order.platformStoreOrder.table.orderNo': 'Order No',
|
||
'order.platformStoreOrder.table.store': 'Store',
|
||
'order.platformStoreOrder.table.status': 'Status',
|
||
'order.platformStoreOrder.table.amount': 'Amount',
|
||
'order.platformStoreOrder.table.orderTime': 'Order Time',
|
||
'order.platformStoreOrder.table.linkedServiceNo': 'Linked Service No',
|
||
'order.platformStoreOrder.form.product': 'Sales Product',
|
||
'order.platformStoreOrder.search.orderNo': 'Order No',
|
||
'order.platformStoreOrder.summary.pending': 'Pending',
|
||
'order.platformStoreOrder.summary.toShip': 'To Ship',
|
||
'order.platformStoreOrder.drawer.detail': 'Order Detail',
|
||
'order.platformStoreOrder.line.sku': 'Platform SKU',
|
||
'order.platformStoreOrder.line.name': 'Product',
|
||
'order.platformStoreOrder.line.qty': 'Qty',
|
||
'order.platformStoreOrder.line.mappedSku': 'Mapped SKU',
|
||
'order.platformStoreOrder.actions.match': 'Match Inventory',
|
||
'order.platformStoreOrder.actions.batchMatch': 'Batch Match',
|
||
'order.platformStoreOrder.actions.suspend': 'Suspend',
|
||
'order.platformStoreOrder.actions.resume': 'Resume',
|
||
'order.platformStoreOrder.actions.delete': 'Delete',
|
||
'order.platformStoreOrder.message.loadFailed': 'Failed to load orders',
|
||
'order.platformStoreOrder.message.detailFailed': 'Failed to load detail',
|
||
'order.platformStoreOrder.message.matchSuccess': 'Inventory matched',
|
||
'order.platformStoreOrder.message.matchFailed': 'Match failed',
|
||
'order.platformStoreOrder.message.warehouseRequired': 'Select warehouse',
|
||
'order.platformStoreOrder.message.suspendSuccess': 'Status updated',
|
||
'order.platformStoreOrder.message.deleteSuccess': 'Deleted',
|
||
'order.platformStoreOrder.message.batchEmpty': 'No pending orders to match on this page',
|
||
'order.platformStoreOrder.message.batchConfirm': 'Match {count} pending orders on this page and create parcel orders?',
|
||
'order.platformStoreOrder.message.batchResult': 'Batch done: {success} succeeded, {fail} failed',
|
||
'menu.channel': 'Channel',
|
||
'menu.channel.channelGuide': 'Getting Started',
|
||
'menu.channel.salesProducts': 'Sales Products',
|
||
'menu.channel.serviceChannels': 'Service Channels',
|
||
'menu.channel.priceArea': 'Price Area',
|
||
'menu.channel.blacklist': 'Blacklist',
|
||
'menu.channel.remoteZones': 'Remote Zones',
|
||
'menu.channel.weightRules': 'Weight Rules',
|
||
'menu.channel.weightRounding': 'Weight Rounding',
|
||
'menu.channel.autoTrigger': 'Auto Trigger',
|
||
'menu.channel.issueTemplate': 'Issue Template',
|
||
'menu.channel.labelDesign': 'Label Design',
|
||
'menu.track': 'Track',
|
||
'menu.track.trackGuide': 'Getting Started',
|
||
'menu.track.trackOrder': 'Track Order',
|
||
'menu.track.warningOrder': 'Warning Order',
|
||
'menu.track.trackState': 'Track State',
|
||
'menu.track.trackFlag': 'Track Flag',
|
||
'menu.track.trackContent': 'Track Content',
|
||
'menu.track.trackPull': 'Track Pull',
|
||
'menu.track.trackPush': 'Track Push',
|
||
'menu.track.kpiRegion': 'KPI Region',
|
||
'menu.track.kpiEarlyWarningConfig': 'KPI Early Warning Config',
|
||
'menu.operation': 'Operation',
|
||
'menu.operation.inboundScan': 'Inbound Scan',
|
||
'menu.operation.outboundScan': 'Outbound Scan',
|
||
'menu.operation.printLabel': 'Print Label',
|
||
'menu.api': 'API',
|
||
'menu.api.upstreamInterface': 'Upstream Interface',
|
||
'menu.api.downstreamInterface': 'Downstream Interface',
|
||
'menu.api.createInterface': 'Create Interface',
|
||
'menu.api.editInterface': 'Edit Interface',
|
||
'menu.api.appList': 'App List',
|
||
'menu.api.requestLog': 'Request Log',
|
||
'menu.api.callStatistics': 'Call Statistics',
|
||
'menu.api.createApplication': 'Create Application',
|
||
'menu.api.apiDebugger': 'API Debugger',
|
||
'menu.api.apiLike': 'API LIKE',
|
||
'menu.api.apiTest': 'API Test',
|
||
|
||
// API - Call Statistics
|
||
'api.callStatistics.name.app': 'Application Name',
|
||
'api.callStatistics.name.provider': 'Service Provider Name',
|
||
'api.callStatistics.table.date': 'Date',
|
||
'api.callStatistics.table.interfaceName': 'Interface Name',
|
||
'api.callStatistics.table.total': 'Total Calls',
|
||
'api.callStatistics.table.succeedCount': 'Successful Calls',
|
||
'api.callStatistics.table.failCount': 'Failed Calls',
|
||
'api.callStatistics.table.successRate': 'Success Rate',
|
||
'menu.system': 'System',
|
||
'menu.system.org': 'Organization',
|
||
'menu.system.organization': 'Organization',
|
||
'menu.system.user': 'User',
|
||
'menu.system.position': 'Position',
|
||
'menu.system.role': 'Role',
|
||
'menu.system.module': 'Module',
|
||
'menu.system.menu': 'Menu',
|
||
'menu.system.dict': 'Dictionary',
|
||
'menu.system.otherConfig': 'Other Config',
|
||
'menu.system.config': 'Config',
|
||
'menu.system.announcement': 'Announcement',
|
||
'menu.system.vislog': 'Visit Log',
|
||
'menu.system.oplog': 'Operation Log',
|
||
'menu.noPermission': 'No menu permission',
|
||
'menu.system.interface': 'System Interface',
|
||
'menu.system.interface.config': 'Interface Config',
|
||
'menu.system.warehouseAddress': 'Warehouse Address',
|
||
'menu.system.batchEmail': 'Batch Email',
|
||
'menu.system.xhsAiAssistant': 'AI Assistant',
|
||
'menu.system.dataPerm': 'Data Permission',
|
||
'menu.system.dataPermUsers': 'User Data Permission',
|
||
'menu.system.dataPermTemplates': 'Permission Templates',
|
||
'menu.system.dataPermAudit': 'Permission Audit',
|
||
'system.dataPerm.users.title': 'User Data Permission',
|
||
'system.dataPerm.users.desc': 'Configure direct five-dimension permissions for internal users',
|
||
'system.dataPerm.users.loading': 'Loading users...',
|
||
'system.dataPerm.users.emptySelect': 'Select a user on the left',
|
||
'system.dataPerm.users.emptyDesc': 'Configure org, data scope, biz tags, secret level and custom filters for internal users',
|
||
'system.dataPerm.panel.primaryOrg': 'Primary organization',
|
||
'system.dataPerm.panel.configType': 'Config type',
|
||
'system.dataPerm.panel.configTypeDirect': 'Direct user config',
|
||
'system.dataPerm.panel.previewModule': 'Preview module',
|
||
'system.dataPerm.panel.cannotEditSelf': 'You cannot edit your own data permissions',
|
||
'system.dataPerm.panel.stat.total': 'Direct items',
|
||
'system.dataPerm.panel.tab.org': 'Organization',
|
||
'system.dataPerm.panel.tab.scope': 'Data scope',
|
||
'system.dataPerm.panel.tab.biz': 'Business tags',
|
||
'system.dataPerm.panel.tab.secret': 'Secret level',
|
||
'system.dataPerm.panel.tab.filter': 'Custom filter',
|
||
'system.dataPerm.templates.add': 'New template',
|
||
'system.dataPerm.templates.search': 'Search name or code',
|
||
'system.dataPerm.templates.title': 'Permission templates',
|
||
'system.dataPerm.templates.loading': 'Loading templates...',
|
||
'system.dataPerm.templates.emptySelect': 'Select a template on the left, or click Add',
|
||
'system.dataPerm.templates.emptyDesc': 'Templates define five-dimension permission rules and can be applied to users or roles',
|
||
'system.dataPerm.templates.save': 'Save',
|
||
'system.dataPerm.templates.apply': 'Apply template',
|
||
'system.dataPerm.templates.field.name': 'Name',
|
||
'system.dataPerm.templates.field.code': 'Code',
|
||
'system.dataPerm.templates.field.description': 'Description',
|
||
'system.dataPerm.templates.field.roleCode': 'Bound role code',
|
||
'system.dataPerm.templates.field.bindRole': 'Linked role',
|
||
'system.dataPerm.templates.field.bindRolePlaceholder': 'Select an RBAC role',
|
||
'system.dataPerm.templates.field.bindRoleExtra': 'Saved as roleCode — identifies which job role this template belongs to',
|
||
|
||
// Order - Batch Jobs
|
||
'order.batchJobs.filter.jobId': 'Job ID',
|
||
'order.batchJobs.filter.status': 'Status',
|
||
'order.batchJobs.filter.action': 'Action',
|
||
'order.batchJobs.table.jobId': 'Job ID',
|
||
'order.batchJobs.table.action': 'Action',
|
||
'order.batchJobs.table.status': 'Status',
|
||
'order.batchJobs.table.progress': 'Progress',
|
||
'order.batchJobs.table.failCount': '{count} failed',
|
||
'order.batchJobs.table.failCountShort': 'Failed',
|
||
'order.batchJobs.table.createTime': 'Created',
|
||
'order.batchJobs.table.startedAt': 'Started',
|
||
'order.batchJobs.table.finishedAt': 'Finished',
|
||
'order.batchJobs.actions.search': 'Search',
|
||
'order.batchJobs.actions.reset': 'Reset',
|
||
'order.batchJobs.actions.refresh': 'Refresh',
|
||
'order.batchJobs.actions.view': 'View',
|
||
'order.batchJobs.actions.retryFailed': 'Retry Failed',
|
||
'order.batchJobs.actions.cancelPending': 'Cancel Pending',
|
||
'order.batchJobs.drawer.title': 'Batch Job #{id}',
|
||
'order.batchJobs.items.orderId': 'Order ID',
|
||
'order.batchJobs.items.serviceNo': 'Tracking No.',
|
||
'order.batchJobs.items.status': 'Item Status',
|
||
'order.batchJobs.items.failReason': 'Fail Reason',
|
||
'order.batchJobs.message.loadFailed': 'Failed to load batch jobs',
|
||
'order.batchJobs.message.retrySuccess': 'Retried {count} failed item(s)',
|
||
'order.batchJobs.message.retryFailed': 'Failed to retry items',
|
||
'order.batchJobs.message.cancelConfirm': 'Cancel {count} pending item(s)?',
|
||
'order.batchJobs.message.cancelSuccess': 'Cancelled {count} pending item(s)',
|
||
'order.batchJobs.message.cancelFailed': 'Failed to cancel pending items',
|
||
'order.batchJobs.dlx.alert': 'DLX queue has {count} message(s), above threshold {threshold}',
|
||
'order.batchJobs.status.pending': 'Pending',
|
||
'order.batchJobs.status.running': 'Running',
|
||
'order.batchJobs.status.completed': 'Completed',
|
||
'order.batchJobs.status.failed': 'Failed',
|
||
'order.batchJobs.status.cancelled': 'Cancelled',
|
||
'order.batchJobs.status.unknown': 'Unknown',
|
||
'order.batchJobs.itemStatus.pending': 'Pending',
|
||
'order.batchJobs.itemStatus.running': 'Running',
|
||
'order.batchJobs.itemStatus.success': 'Success',
|
||
'order.batchJobs.itemStatus.failed': 'Failed',
|
||
'order.batchJobs.itemStatus.cancelled': 'Cancelled',
|
||
'order.batchJobs.itemStatus.unknown': 'Unknown',
|
||
'order.batchJobs.action.pay': 'Batch Pay',
|
||
'order.batchJobs.action.preDeclare': 'Batch Pre-declare',
|
||
'order.batchJobs.action.intercept': 'Batch Intercept',
|
||
'order.batchJobs.action.cancelIntercept': 'Batch Cancel Intercept',
|
||
'order.batchJobs.action.delete': 'Batch Delete',
|
||
'order.batchJobs.action.print': 'Batch Print',
|
||
'order.batchJobs.action.trackUpsert': 'Batch Track Upsert',
|
||
'order.batchJobs.action.downstreamForward': 'Batch Downstream Forward',
|
||
'order.batchJobs.action.markProblematic': 'Batch Mark Problematic',
|
||
'order.batchJobs.action.markClaimed': 'Batch Mark Claimed',
|
||
'order.batchJobs.action.handleStatusUpdate': 'Batch Handle Status',
|
||
'order.batchJobs.action.parcelCreate': 'Batch Parcel Create',
|
||
'order.batchJobs.action.importRow': 'Order Import',
|
||
'order.batchJobs.action.unknown': 'Other',
|
||
|
||
'system.dataPerm.templates.section.bindApply': 'Role link & apply',
|
||
'system.dataPerm.templates.section.applyNow': 'Apply now',
|
||
'system.dataPerm.templates.bindApplyHint': 'Linking a role is metadata only. Use "Apply now" below to write template items into role or user permissions. Linking does not apply by itself.',
|
||
'system.dataPerm.templates.applyToRole': 'Sync to linked role',
|
||
'system.dataPerm.templates.applyToRoleDesc': 'Write template items into the role\'s data permissions (replaces role direct config)',
|
||
'system.dataPerm.templates.applyToRoleBtn': 'Write to role',
|
||
'system.dataPerm.templates.applyToUsers': 'Apply to users',
|
||
'system.dataPerm.templates.applyToUsersDesc': 'Batch write direct user data permissions; replace or merge',
|
||
'system.dataPerm.templates.applyToUsersBtn': 'Apply to users',
|
||
'system.dataPerm.templates.field.targetUsers': 'Target users',
|
||
'system.dataPerm.templates.field.targetUsersPlaceholder': 'Search and select internal users',
|
||
'system.dataPerm.templates.field.applyMode': 'Apply mode',
|
||
'system.dataPerm.templates.field.temporary': 'Temporary grant (users only)',
|
||
'system.dataPerm.templates.field.effectiveTime': 'Effective from',
|
||
'system.dataPerm.templates.field.expireTime': 'Expires at',
|
||
'system.dataPerm.templates.mode.replace': 'Replace direct config',
|
||
'system.dataPerm.templates.mode.merge': 'Merge with existing',
|
||
'system.dataPerm.templates.applyNeedSave': 'Save the template before applying',
|
||
'system.dataPerm.templates.bindRoleFirst': 'Select a linked role first',
|
||
'system.dataPerm.templates.selectUsersFirst': 'Select target users',
|
||
'system.dataPerm.templates.expireTimeRequired': 'Expire time is required for temporary grants',
|
||
'system.dataPerm.templates.applySuccess': 'Applied to {count} target(s)',
|
||
'system.dataPerm.templates.applyPartial': '{success} succeeded, {fail} failed',
|
||
'system.dataPerm.templates.roleCodePlaceholder': 'Optional, auto-apply when role is assigned',
|
||
'system.dataPerm.templates.itemsTitle': '模板明细',
|
||
'system.dataPerm.templates.itemsHintForm': 'Select a permission type and fill the form — no JSON required',
|
||
'system.dataPerm.templates.addExample': 'Add example preset',
|
||
'system.dataPerm.templates.exampleAdded': 'Added example "{name}"',
|
||
'system.dataPerm.templates.itemInvalid': 'Item #{index} is incomplete: {field}',
|
||
'system.dataPerm.templates.example.salesStaff': 'Sales staff',
|
||
'system.dataPerm.templates.example.salesStaffDesc': 'Personal data scope + public/internal secret levels',
|
||
'system.dataPerm.templates.example.salesSupervisor': 'Sales supervisor',
|
||
'system.dataPerm.templates.example.salesSupervisorDesc': 'Department scope + secret levels 1–3',
|
||
'system.dataPerm.templates.example.branchManager': 'Branch manager',
|
||
'system.dataPerm.templates.example.branchManagerDesc': 'Org-tree scope + secret levels 1–3',
|
||
'system.dataPerm.templates.form.org': 'Organization',
|
||
'system.dataPerm.templates.form.orgPlaceholder': 'Select organization',
|
||
'system.dataPerm.templates.form.orgScope': 'Org scope',
|
||
'system.dataPerm.templates.form.dataScope': 'Data visibility',
|
||
'system.dataPerm.templates.form.module': 'Module',
|
||
'system.dataPerm.templates.form.moduleAll': 'All modules (leave empty)',
|
||
'system.dataPerm.templates.form.bizType': 'Tag type',
|
||
'system.dataPerm.templates.form.bizTag': 'Tag value',
|
||
'system.dataPerm.templates.form.bizTagPlaceholder': 'Select tag',
|
||
'system.dataPerm.templates.form.secretLevels': 'Allowed secret levels',
|
||
'system.dataPerm.templates.form.filterField': 'Field',
|
||
'system.dataPerm.templates.form.filterValuePlaceholder': 'e.g. Paid or 1,2 (comma-separated)',
|
||
'system.dataPerm.templates.form.addCondition': 'Add condition',
|
||
'system.dataPerm.templates.form.orgExample': 'Example: grant East China Sales Dept including sub-orgs for regional leads.',
|
||
'system.dataPerm.templates.form.dataScopeExample': 'Example: Personal = own records only; Department = all records in the dept.',
|
||
'system.dataPerm.templates.form.bizExample': 'Example: restrict to Product Line A orders or customers.',
|
||
'system.dataPerm.templates.form.secretExample': 'Example: Public + Internal means confidential data is hidden.',
|
||
'system.dataPerm.templates.form.filterExample': 'Example: Order module + OrderStatus equals Paid.',
|
||
'system.dataPerm.templates.form.tip.org': 'Which organizations\' data the user can access',
|
||
'system.dataPerm.templates.form.tip.data_scope': 'How broad the visible business data is (personal → global)',
|
||
'system.dataPerm.templates.form.tip.biz': 'Narrow data by product line, warehouse, etc.',
|
||
'system.dataPerm.templates.form.tip.secret': 'Filter by secret level; unchecked levels are hidden',
|
||
'system.dataPerm.templates.form.tip.filter': 'Simple filters on a module (multiple conditions use AND)',
|
||
'system.dataPerm.templates.form.invalid.orgOrganization': 'Please select an organization',
|
||
'system.dataPerm.templates.form.invalid.dataScope': 'Please select data scope',
|
||
'system.dataPerm.templates.form.invalid.biz': 'Please select tag type and value',
|
||
'system.dataPerm.templates.form.invalid.secretLevels': 'Select at least one secret level',
|
||
'system.dataPerm.templates.form.invalid.filterResource': 'Please select a module',
|
||
'system.dataPerm.templates.form.invalid.filterCondition': 'Add at least one filter condition',
|
||
'system.dataPerm.templates.itemJsonPlaceholder': 'JSON, e.g. {"dataScope":1}',
|
||
'system.dataPerm.templates.addItem': 'Add item row',
|
||
'system.dataPerm.templates.removeItem': 'Remove',
|
||
'system.dataPerm.templates.nameCodeRequired': 'Name and code are required',
|
||
'system.dataPerm.templates.invalidJson': 'Invalid JSON in template items',
|
||
'system.dataPerm.templates.createSuccess': 'Created',
|
||
'system.dataPerm.templates.updateSuccess': 'Updated',
|
||
'system.dataPerm.templates.deleteSuccess': 'Deleted',
|
||
'system.dataPerm.templates.builtinDeleteDenied': 'Built-in templates cannot be deleted',
|
||
'system.dataPerm.templates.deleteConfirm': 'Delete template "{name}"?',
|
||
'system.dataPerm.templates.tab.basic': 'Basic info',
|
||
'system.dataPerm.templates.tab.items': 'Template items',
|
||
'system.dataPerm.templates.itemsHint': 'Each row is a JSON config for one permission dimension',
|
||
'system.dataPerm.templates.itemsEmpty': 'No items yet. Click below to add one.',
|
||
'system.dataPerm.templates.jsonPreset': 'JSON preset',
|
||
'system.dataPerm.templates.dimensionPlaceholder': 'Select dimension',
|
||
'system.dataPerm.templates.tag.creating': 'Creating',
|
||
'system.dataPerm.templates.tag.builtin': 'Built-in',
|
||
'system.dataPerm.templates.stat.items': 'Items',
|
||
'system.dataPerm.templates.stat.dimensions': 'Dimensions',
|
||
|
||
'menu.xhs': 'Xiaohongshu',
|
||
'menu.xhs.startService': 'Start Service',
|
||
'menu.xhs.analysis': 'Content Analysis',
|
||
'menu.xhs.creation': 'Content Creation',
|
||
'menu.xhs.publishHistory': 'Publish History',
|
||
'menu.xhs.skills': 'Skill Cards',
|
||
'menu.xhs.humanSettings': 'Human-like Settings',
|
||
|
||
// Top nav - contact & balance
|
||
'nav.contactService.title': 'Q&A & Support',
|
||
'nav.contactService.selectWarehouse': 'Select warehouse',
|
||
'nav.contactService.whseName': 'Warehouse name',
|
||
'nav.contactService.serviceWechat': 'Customer WeChat',
|
||
'nav.contactService.wechatQrcode': 'WeChat QR code',
|
||
'nav.contactService.phone': 'Contact phone',
|
||
'nav.contactService.workingTime': 'Service hours: Mon-Sun 9:00-22:00',
|
||
'nav.contactService.contactUs': 'Contact support',
|
||
'nanaAssistant.title': 'Nana · Exclusive Advisor',
|
||
'nanaAssistant.open': 'Open Nana exclusive advisor',
|
||
'nanaAssistant.tabAi': 'AI Nana',
|
||
'nanaAssistant.tabAdvisor': 'Exclusive Advisor',
|
||
'nanaAssistant.wechatId': 'WeChat ID',
|
||
'nanaAssistant.noAdvisor': 'No exclusive advisor assigned yet',
|
||
'nanaAssistant.noWechatQr': 'WeChat QR code not uploaded',
|
||
'nanaAssistant.greeting': "Hi, I'm Nana, your AI assistant.\n\nAsk me about tracking, shipping times, declared values, customs clearance, and more. How can I help you today?",
|
||
'nanaAssistant.inputPlaceholder': 'Type your logistics question, press Enter to send',
|
||
'nanaAssistant.send': 'Send',
|
||
'nanaAssistant.close': 'Close',
|
||
'nanaAssistant.noProvider': 'AI service is not configured yet. Please contact your administrator.',
|
||
'nanaAssistant.sendFailed': 'Failed to send. Please try again later.',
|
||
'nav.balance.label': 'Balance',
|
||
'nav.balance.recharge': 'Recharge',
|
||
'nav.balance.rechargeRecord': 'Recharge records',
|
||
'nav.balance.accountFlow': 'Account transactions',
|
||
|
||
// Order - My Orders
|
||
'order.myOrders.tabs.all': 'All',
|
||
'order.myOrders.tabs.draft': 'Draft',
|
||
'order.myOrders.tabs.predeclared': 'Pre-declared',
|
||
'order.myOrders.tabs.received': 'Received',
|
||
'order.myOrders.tabs.pendingPayment': 'Pending Payment',
|
||
'order.myOrders.tabs.pendingShip': 'Pending Ship',
|
||
'order.myOrders.tabs.pendingOnline': 'Pending Online',
|
||
'order.myOrders.tabs.shipping': 'Shipping',
|
||
'order.myOrders.tabs.deliverySuccess': 'Delivery Success',
|
||
'order.myOrders.tabs.deliveryFailed': 'Delivery Failed',
|
||
'order.myOrders.tabs.deleted': 'Deleted',
|
||
'order.myOrders.tabs.problematic': 'Problematic',
|
||
'order.myOrders.tabs.claimed': 'Claim Item',
|
||
|
||
'order.myOrders.handleStatus.all': 'All',
|
||
'order.myOrders.handleStatus.pending': 'Pending',
|
||
'order.myOrders.handleStatus.processed': 'Processed',
|
||
'order.myOrders.handleStatus.context.problematic': 'Problematic handling',
|
||
'order.myOrders.handleStatus.context.claimed': 'Claim item handling',
|
||
|
||
'order.myOrders.actions.pay': 'Pay Now',
|
||
'order.myOrders.actions.predeclare': 'Re-predeclare',
|
||
'order.myOrders.actions.createTrackOrder': 'Create track order',
|
||
'order.myOrders.actions.forwardDownstreamCreate': 'Get Tracking No.',
|
||
'order.myOrders.modal.downstreamForwardTitle': 'Downstream forward result',
|
||
'order.myOrders.actions.intercept': 'Intercept',
|
||
'order.myOrders.actions.cancelIntercept': 'Cancel intercept',
|
||
'order.myOrders.actions.delete': 'Delete',
|
||
'order.myOrders.actions.print': 'Print',
|
||
'order.myOrders.actions.export': 'Export',
|
||
'order.myOrders.actions.modifyOrder': 'Edit order',
|
||
'order.myOrders.actions.createProblematic': 'Create problematic',
|
||
'order.myOrders.actions.createClaimed': 'Create claim',
|
||
'order.myOrders.actions.markProcessed': 'Mark processed',
|
||
'order.myOrders.problematic.modalTitle': 'Create problematic ({count} orders)',
|
||
'order.myOrders.problematic.issueType': 'Issue type',
|
||
'order.myOrders.problematic.template': 'Issue template',
|
||
'order.myOrders.problematic.title': 'Title',
|
||
'order.myOrders.problematic.content': 'Content',
|
||
'order.myOrders.problematic.contentHint': 'Placeholders: {serviceNo} {clientNo} {trackNo} {productCode} {channelCode}',
|
||
'order.myOrders.problematic.remark': 'Remark',
|
||
'order.myOrders.problematic.success': 'Problematic orders created',
|
||
'order.myOrders.claimed.modalTitle': 'Create claim ({count} orders)',
|
||
'order.myOrders.claimed.claimType': 'Claim type',
|
||
'order.myOrders.claimed.amount': 'Claim amount',
|
||
'order.myOrders.claimed.amountPlaceholder': 'Enter amount',
|
||
'order.myOrders.claimed.currency': 'Currency',
|
||
'order.myOrders.claimed.reason': 'Reason',
|
||
'order.myOrders.claimed.reasonPlaceholder': 'Describe the reason for this claim',
|
||
'order.myOrders.claimed.remark': 'Remark',
|
||
'order.myOrders.claimed.remarkPlaceholder': 'Optional',
|
||
'order.myOrders.claimed.success': 'Claims created',
|
||
'order.myOrders.claimType.lost': 'Lost',
|
||
'order.myOrders.claimType.damaged': 'Damaged',
|
||
'order.myOrders.claimType.delay': 'Delay',
|
||
'order.myOrders.claimType.customs': 'Customs',
|
||
'order.myOrders.claimType.fee': 'Fee dispute',
|
||
'order.myOrders.claimType.other': 'Other',
|
||
'order.myOrders.handleStatus.success': 'Marked as processed',
|
||
'order.myOrders.handleStatus.failed': 'Failed to update status',
|
||
'order.myOrders.batch.partialSuccess': '{success} succeeded, {fail} failed. {detail}',
|
||
'order.myOrders.actions.more': 'More',
|
||
|
||
'order.myOrders.pagination.totalRecords': 'Total {count} records',
|
||
'order.myOrders.pagination.perPage': 'per page',
|
||
'order.myOrders.pagination.goto': 'Go to',
|
||
'order.myOrders.pagination.page': 'page',
|
||
|
||
'order.myOrders.table.actions': 'Actions',
|
||
'order.myOrders.table.serialNo': 'No.',
|
||
'order.myOrders.table.waybillNo': 'Waybill No.',
|
||
'order.myOrders.table.customerOrderNo': 'Customer Order No.',
|
||
'order.myOrders.table.trackingNo': 'Tracking No.',
|
||
'order.myOrders.table.customerName': 'Customer Name',
|
||
'order.myOrders.table.customerCode': 'Customer Code',
|
||
'order.myOrders.table.shippingMethod': 'Sales Product',
|
||
'order.myOrders.table.serviceChannel': 'Service Channel',
|
||
'order.myOrders.table.isPaid': 'Paid',
|
||
'order.myOrders.table.consignee': 'Consignee',
|
||
'order.myOrders.table.consigneeCountry': 'Consignee Country',
|
||
'order.myOrders.table.consigneePhone': 'Consignee Phone',
|
||
'order.myOrders.table.consigneeCity': 'Consignee City',
|
||
'order.myOrders.table.consigneeAddress': 'Consignee Address',
|
||
'order.myOrders.table.chargeableWeight': 'Chargeable Weight',
|
||
'order.myOrders.table.receivableAmount': 'Receivable Amount',
|
||
'order.myOrders.table.consigneePostcode': 'Consignee Postcode',
|
||
'order.myOrders.table.consigneeState': 'Consignee State',
|
||
'order.myOrders.table.ioss': 'IOSS',
|
||
'order.myOrders.table.eori': 'EORI',
|
||
'order.myOrders.table.orderStatus': 'Order Status',
|
||
'order.myOrders.table.predeclareFailReason': 'Predeclare Failure Reason',
|
||
'order.myOrders.table.createTime': 'Create Time',
|
||
'order.myOrders.table.receiveTime': 'Receive Time',
|
||
'order.myOrders.table.shipTime': 'Ship Time',
|
||
'order.myOrders.table.payTime': 'Pay Time',
|
||
'order.myOrders.table.signTime': 'Sign Time',
|
||
'order.myOrders.table.warehouse': 'Warehouse',
|
||
'order.myOrders.table.inboundTime': 'Inbound Time',
|
||
'order.myOrders.table.outboundTime': 'Outbound Time',
|
||
|
||
'order.myOrders.status.pendingPayment': 'Pending Payment',
|
||
'order.myOrders.status.draft': 'Draft',
|
||
'order.myOrders.status.predeclared': 'Pre-declared',
|
||
'order.myOrders.status.received': 'Received',
|
||
'order.myOrders.status.pendingShip': 'Pending Ship',
|
||
'order.myOrders.status.pendingOnline': 'Pending Online',
|
||
'order.myOrders.status.shipping': 'Shipping',
|
||
'order.myOrders.status.deliverySuccess': 'Delivery Success',
|
||
'order.myOrders.status.deliveryFailed': 'Delivery Failed',
|
||
'order.myOrders.status.deleted': 'Deleted',
|
||
'order.myOrders.status.problematic': 'Problematic',
|
||
'order.myOrders.status.claimed': 'Claim Item',
|
||
|
||
'order.myOrders.selectedCount': 'Selected {count} items',
|
||
|
||
'order.myOrders.drawer.title': 'Order Detail',
|
||
'order.myOrders.drawer.tabs.basic': 'Order Detail',
|
||
'order.myOrders.drawer.tabs.weight': 'Weight/Dimensions',
|
||
'order.myOrders.drawer.tabs.fee': 'Receivables/Payables',
|
||
'order.myOrders.drawer.tabs.track': 'Tracking',
|
||
'order.myOrders.drawer.orderBasic': 'Basic Info',
|
||
'order.myOrders.drawer.basic.viewAll': 'All',
|
||
'order.myOrders.drawer.basic.group.identity': 'Order IDs',
|
||
'order.myOrders.drawer.basic.group.product': 'Product & Channel',
|
||
'order.myOrders.drawer.basic.group.timeline': 'Status & Timeline',
|
||
'order.myOrders.drawer.basic.group.flags': 'Business Flags',
|
||
'order.myOrders.drawer.basic.group.audit': 'Audit Trail',
|
||
'order.myOrders.drawer.sender.empty': 'No sender info',
|
||
'order.myOrders.drawer.declaration.addRow': 'Add declaration row',
|
||
'order.myOrders.drawer.declaration.action': 'Action',
|
||
'order.myOrders.drawer.declaration.delete': 'Delete',
|
||
'order.myOrders.drawer.declaration.empty': 'No declaration items',
|
||
'order.myOrders.drawer.serviceNo': 'Waybill No.',
|
||
'order.myOrders.drawer.clientNo': 'Client Order No.',
|
||
'order.myOrders.drawer.trackNo': 'Tracking No.',
|
||
'order.myOrders.drawer.productCode': 'Product Code',
|
||
'order.myOrders.drawer.productName': 'Sales Product',
|
||
'order.myOrders.drawer.channelCode': 'Channel Code',
|
||
'order.myOrders.drawer.channelName': 'Service Channel',
|
||
'order.myOrders.drawer.isPaid': 'Paid',
|
||
'order.myOrders.drawer.consigneeCountry': 'Country Code',
|
||
'order.myOrders.drawer.consigneeCountryName': 'Country Name (CN)',
|
||
'order.myOrders.drawer.cargoAttribute': 'Cargo Attribute',
|
||
'order.myOrders.drawer.cargoAttribute.general': 'General',
|
||
'order.myOrders.drawer.cargoAttribute.electronics': '3C & Electronics',
|
||
'order.myOrders.drawer.cargoAttribute.sensitive': 'Sensitive',
|
||
'order.myOrders.table.cargoAttribute': 'Cargo Attribute',
|
||
'order.myOrders.drawer.orderStatus': 'Order Status',
|
||
'order.myOrders.drawer.predeclareFailReason': 'Predeclare Failure Reason',
|
||
'order.myOrders.drawer.warehouse': 'Warehouse',
|
||
'order.myOrders.drawer.receiveTime': 'Receive Time',
|
||
'order.myOrders.drawer.shipTime': 'Ship Time',
|
||
'order.myOrders.drawer.payTime': 'Pay Time',
|
||
'order.myOrders.drawer.signTime': 'Sign Time',
|
||
'order.myOrders.drawer.isCod': 'Is COD',
|
||
'order.myOrders.drawer.codCurrency': 'COD Currency',
|
||
'order.myOrders.drawer.codSum': 'COD Amount',
|
||
'order.myOrders.drawer.isIntercept': 'Is Intercept',
|
||
'order.myOrders.drawer.isRemote': 'Is Remote',
|
||
'order.myOrders.drawer.createTime': 'Create Time',
|
||
'order.myOrders.drawer.createBy': 'Created By',
|
||
'order.myOrders.drawer.updateTime': 'Update Time',
|
||
'order.myOrders.drawer.updateBy': 'Updated By',
|
||
'order.myOrders.drawer.sender': 'Sender',
|
||
'order.myOrders.drawer.recipient': 'Recipient',
|
||
'order.myOrders.drawer.declaration': 'Declaration',
|
||
'order.myOrders.drawer.senderName': 'Sender Name',
|
||
'order.myOrders.drawer.company': 'Company',
|
||
'order.myOrders.drawer.country': 'Country',
|
||
'order.myOrders.drawer.province': 'Province',
|
||
'order.myOrders.drawer.city': 'City',
|
||
'order.myOrders.drawer.zipCode': 'Zip Code',
|
||
'order.myOrders.drawer.streetAddress1': 'Address 1',
|
||
'order.myOrders.drawer.streetAddress2': 'Address 2',
|
||
'order.myOrders.drawer.streetAddress3': 'Address 3',
|
||
'order.myOrders.drawer.houseNumber': 'House No.',
|
||
'order.myOrders.drawer.phone': 'Phone',
|
||
'order.myOrders.drawer.telePhone': 'Telephone',
|
||
'order.myOrders.drawer.email': 'Email',
|
||
'order.myOrders.drawer.isDefault': 'Is Default',
|
||
'order.myOrders.drawer.recipientsName': 'Recipient Name',
|
||
'order.myOrders.drawer.companyName': 'Company Name',
|
||
'order.myOrders.drawer.recipientCountry': 'Country',
|
||
'order.myOrders.drawer.recipientPhone': 'Phone',
|
||
'order.myOrders.drawer.recipientZipCode': 'Zip Code',
|
||
'order.myOrders.drawer.recipientTelePhone': 'Telephone',
|
||
'order.myOrders.drawer.streetNumber': 'Street No.',
|
||
'order.myOrders.drawer.taxType': 'Tax Type',
|
||
'order.myOrders.drawer.taxNo': 'Tax No.',
|
||
'order.myOrders.drawer.certificateType': 'Certificate Type',
|
||
'order.myOrders.drawer.certificateNo': 'Certificate No.',
|
||
'order.myOrders.drawer.eori': 'EORI',
|
||
'order.myOrders.drawer.vat': 'Vat',
|
||
'order.myOrders.drawer.declarationCnName': 'Name(CN)',
|
||
'order.myOrders.drawer.declarationEnName': 'Name(EN)',
|
||
'order.myOrders.drawer.declarationSku': 'SKU',
|
||
'order.myOrders.drawer.declarationUnit': 'Unit',
|
||
'order.myOrders.drawer.declarationUnitPrice': 'Unit Price',
|
||
'order.myOrders.drawer.declarationUnitWeight': 'Unit Weight',
|
||
'order.myOrders.drawer.declarationQuantity': 'Quantity',
|
||
'order.myOrders.drawer.declarationAmount': 'Amount',
|
||
'order.myOrders.drawer.declarationWeight': 'Weight',
|
||
'order.myOrders.drawer.declarationHsCode': 'HsCode',
|
||
'order.myOrders.drawer.declarationSkuImage': 'Image',
|
||
'order.myOrders.drawer.declarationCategory': 'Category',
|
||
'order.myOrders.drawer.declarationBrand': 'Brand',
|
||
'order.myOrders.drawer.declarationBrandType': 'Brand Type',
|
||
'order.myOrders.drawer.declarationIsMagnetic': 'Magnetic/Electric',
|
||
'order.myOrders.drawer.declarationDistribution': 'Distribution',
|
||
'order.myOrders.drawer.declarationMaterial': 'Material',
|
||
'order.myOrders.drawer.declarationEnMaterial': 'Material(EN)',
|
||
'order.myOrders.drawer.declarationPurpose': 'Purpose',
|
||
'order.myOrders.drawer.declarationAttributes': 'Attributes',
|
||
'order.myOrders.drawer.declarationOriginCountry': 'Origin Country',
|
||
'order.myOrders.drawer.declarationSalesLink': 'Sales Link',
|
||
'order.myOrders.drawer.declarationModel': 'Model',
|
||
'order.myOrders.drawer.declarationSpecifications': 'Specifications',
|
||
'order.myOrders.drawer.declarationComment': 'Comment',
|
||
'order.myOrders.drawer.yes': 'Yes',
|
||
'order.myOrders.drawer.no': 'No',
|
||
'order.myOrders.drawer.weightType': 'Type',
|
||
'order.myOrders.drawer.weightType.forecast': 'Forecast',
|
||
'order.myOrders.drawer.weightType.receive': 'Inbound',
|
||
'order.myOrders.drawer.weightType.ship': 'Outbound',
|
||
'order.myOrders.drawer.weightType.downstream': 'Downstream',
|
||
'order.myOrders.drawer.weight.viewAll': 'All',
|
||
'order.myOrders.drawer.weight.actualMeta': 'Actual {value} kg',
|
||
'order.myOrders.drawer.weight.empty.forecast': 'No forecast data',
|
||
'order.myOrders.drawer.weight.empty.receive': 'No inbound data',
|
||
'order.myOrders.drawer.weight.empty.ship': 'No outbound data',
|
||
'order.myOrders.drawer.weight.empty.downstream': 'No downstream data',
|
||
'order.myOrders.drawer.weight.emptyAll': 'No weight & dimension data',
|
||
'order.myOrders.drawer.track.count': '{count} events',
|
||
'order.myOrders.drawer.track.refresh': 'Refresh',
|
||
'order.myOrders.drawer.track.empty': 'No tracking data',
|
||
'order.myOrders.drawer.track.latest': 'Latest',
|
||
'order.myOrders.drawer.track.remark': 'Remark',
|
||
'order.myOrders.drawer.track.code': 'Track code',
|
||
'order.myOrders.drawer.track.timezone': 'TZ {zone}',
|
||
'order.myOrders.drawer.weightLength': 'Length(cm)',
|
||
'order.myOrders.drawer.weightWidth': 'Width(cm)',
|
||
'order.myOrders.drawer.weightHeight': 'Height(cm)',
|
||
'order.myOrders.drawer.actualWeight': 'Actual(kg)',
|
||
'order.myOrders.drawer.volumetricWeight': 'Volumetric(kg)',
|
||
'order.myOrders.drawer.chargeableWeight': 'Chargeable(kg)',
|
||
'order.myOrders.drawer.cubic': 'Cubic(m³)',
|
||
'order.myOrders.drawer.feeType': 'Type',
|
||
'order.myOrders.drawer.chargingStage': 'Charging Stage',
|
||
'order.myOrders.drawer.actions.edit': 'Edit',
|
||
'order.myOrders.drawer.actions.save': 'Save',
|
||
'order.myOrders.drawer.actions.cancel': 'Cancel',
|
||
'order.myOrders.drawer.actions.recalculateReceivable': 'Recalc Receivable',
|
||
'order.myOrders.drawer.actions.recalculatePayable': 'Recalc Payable',
|
||
'order.myOrders.drawer.actions.addFee': 'Add Fee',
|
||
'order.myOrders.drawer.editBasicTitle': 'Edit Order Details',
|
||
'order.myOrders.drawer.editWeightTitle': 'Edit Weight & Dimensions',
|
||
'order.myOrders.drawer.message.saveSuccess': 'Saved successfully',
|
||
'order.myOrders.drawer.message.recalculateSuccess': 'Recalculated successfully',
|
||
'order.myOrders.drawer.costItem': 'Cost Item',
|
||
'order.myOrders.drawer.amount': 'Amount',
|
||
'order.myOrders.drawer.currency': 'Currency',
|
||
'order.myOrders.drawer.downstreamProvider': 'Downstream Provider',
|
||
'order.myOrders.drawer.priceNo': 'Price No',
|
||
'order.myOrders.drawer.priceEffectiveTime': 'Price Effective Time',
|
||
'order.myOrders.drawer.fee.receivableTitle': 'Receivable Details',
|
||
'order.myOrders.drawer.fee.payableTitle': 'Payable Details',
|
||
'order.myOrders.drawer.fee.viewAll': 'All',
|
||
'order.myOrders.drawer.fee.itemCount': '{count} items',
|
||
'order.myOrders.drawer.fee.emptyReceivable': 'No receivable fees',
|
||
'order.myOrders.drawer.fee.emptyPayable': 'No payable fees',
|
||
'order.myOrders.drawer.fee.emptyAll': 'No fee data',
|
||
'order.myOrders.drawer.fee.grossProfit': 'Gross profit',
|
||
'order.myOrders.drawer.fee.grossMargin': 'Margin {value}',
|
||
'order.myOrders.drawer.fee.grossMarginEmpty': 'No margin',
|
||
'order.myOrders.drawer.fee.grossProfitFormula': 'Gross profit',
|
||
'order.myOrders.drawer.fee.addTitle': 'Add Fee',
|
||
'order.myOrders.drawer.fee.addSection.basic': 'Fee details',
|
||
'order.myOrders.drawer.fee.addSection.amount': 'Amount',
|
||
'order.myOrders.drawer.fee.addSection.optional': 'Optional',
|
||
'order.myOrders.drawer.fee.addSection.optionalHint': 'Optional',
|
||
'order.myOrders.drawer.fee.addSuccess': 'Fee added successfully',
|
||
'order.myOrders.drawer.fee.addFailed': 'Failed to add fee',
|
||
'order.myOrders.drawer.fee.addMissingOrder': 'Invalid order, cannot add fee',
|
||
'order.myOrders.drawer.fee.amountPlaceholder': 'Enter amount',
|
||
'order.myOrders.drawer.fee.downstreamProviderPlaceholder': 'Enter downstream provider',
|
||
'order.myOrders.drawer.fee.priceNoPlaceholder': 'Enter price no.',
|
||
'order.myOrders.drawer.fee.priceEffectiveTimePlaceholder': 'Select effective time',
|
||
|
||
// Order - Price Check
|
||
'order.priceCheck.form.destinationCountry': 'Destination country',
|
||
'order.priceCheck.form.destinationCountry.placeholder': 'Please select',
|
||
'order.priceCheck.form.shippingMethod': 'Shipping method',
|
||
'order.priceCheck.form.shippingMethod.placeholder': 'Please select',
|
||
'order.priceCheck.form.cargoWeight': 'Cargo weight',
|
||
'order.priceCheck.form.cargoWeight.placeholder': 'Please enter weight (KG)',
|
||
'order.priceCheck.form.dimensions': 'Dimensions',
|
||
'order.priceCheck.form.dimensions.length': 'Length/cm',
|
||
'order.priceCheck.form.dimensions.width': 'Width/cm',
|
||
'order.priceCheck.form.dimensions.height': 'Height/cm',
|
||
'order.priceCheck.form.cargoType': 'Cargo attribute',
|
||
'order.priceCheck.form.cargoType.placeholder': 'Multi-select; defaults to general cargo if empty',
|
||
'order.priceCheck.form.warehouse': 'Warehouse',
|
||
'order.priceCheck.form.warehouse.placeholder': 'Multi-select; all warehouses if empty',
|
||
'order.priceCheck.form.destinationProvince': 'State / Province',
|
||
'order.priceCheck.form.destinationProvince.placeholder': 'Please select',
|
||
'order.priceCheck.form.postalCode': 'Postal code',
|
||
'order.priceCheck.form.postalCode.placeholder': 'Please enter',
|
||
'order.priceCheck.actions.query': 'Search',
|
||
'order.priceCheck.actions.reset': 'Reset',
|
||
'order.priceCheck.shortcuts.countryAria': 'Common destination countries',
|
||
|
||
'order.priceCheck.shortcut.US': 'United States',
|
||
'order.priceCheck.shortcut.CA': 'Canada',
|
||
'order.priceCheck.shortcut.MX': 'Mexico',
|
||
'order.priceCheck.shortcut.BR': 'Brazil',
|
||
'order.priceCheck.shortcut.NZ': 'New Zealand',
|
||
'order.priceCheck.shortcut.GB': 'United Kingdom',
|
||
'order.priceCheck.shortcut.DE': 'Germany',
|
||
'order.priceCheck.shortcut.IT': 'Italy',
|
||
'order.priceCheck.shortcut.FR': 'France',
|
||
'order.priceCheck.shortcut.NL': 'Netherlands',
|
||
|
||
'order.priceCheck.country.US': 'United States',
|
||
'order.priceCheck.country.UK': 'United Kingdom',
|
||
'order.priceCheck.country.DE': 'Germany',
|
||
'order.priceCheck.country.FR': 'France',
|
||
|
||
'order.priceCheck.shippingMethod.air': 'Air',
|
||
'order.priceCheck.shippingMethod.sea': 'Sea',
|
||
'order.priceCheck.shippingMethod.land': 'Land',
|
||
|
||
'order.priceCheck.cargoType.general': 'General cargo',
|
||
'order.priceCheck.cargoType.sensitive': 'Sensitive cargo',
|
||
'order.priceCheck.cargoType.dangerous': 'Dangerous goods',
|
||
|
||
'order.priceCheck.province.CA': 'California',
|
||
'order.priceCheck.province.NY': 'New York',
|
||
'order.priceCheck.province.TX': 'Texas',
|
||
|
||
'order.priceCheck.search.placeholder': 'Search table...',
|
||
'order.priceCheck.search.search': 'Search',
|
||
'order.priceCheck.search.clear': 'Clear',
|
||
'order.priceCheck.search.resetFilters': 'Reset filters',
|
||
|
||
'order.priceCheck.table.serialNo': 'No.',
|
||
'order.priceCheck.table.shippingMethod': 'Shipping Method',
|
||
'order.priceCheck.table.cargoType': 'Cargo attribute',
|
||
'order.priceCheck.table.warehouse': 'Warehouse',
|
||
'order.priceCheck.table.deliveryTime': 'Transit time (days)',
|
||
'order.priceCheck.table.volumetricWeight': 'Volumetric Weight (KG)',
|
||
'order.priceCheck.table.chargeableWeight': 'Chargeable Weight (KG)',
|
||
'order.priceCheck.table.costFormula': 'Cost Formula',
|
||
'order.priceCheck.table.freight': 'Freight (CNY)',
|
||
'order.priceCheck.table.otherFees': 'Other Fees (CNY)',
|
||
'order.priceCheck.table.otherFeesHint': 'Hover to see fee names',
|
||
'order.priceCheck.table.totalCost': 'Total Cost (CNY)',
|
||
'order.priceCheck.table.operation': 'Action',
|
||
'order.priceCheck.table.viewDetail': 'Details',
|
||
'order.priceCheck.table.orderNow': 'Place order now',
|
||
'order.priceCheck.table.empty': 'No quotes yet. Run a search first.',
|
||
|
||
'order.priceCheck.tag.priceOptimal': 'Best price',
|
||
'order.priceCheck.tag.timeOptimal': 'Fastest',
|
||
|
||
'order.priceCheck.customerGuide.drawerTitle': 'Customer guide',
|
||
'order.priceCheck.customerGuide.drawerTitleWithProduct': '{product} · Customer guide',
|
||
'order.priceCheck.customerGuide.empty': 'No customer guide configured for this product',
|
||
'order.priceCheck.customerGuide.loadFailed': 'Failed to load customer guide',
|
||
'order.priceCheck.customerGuide.missingProduct': 'Cannot identify product; customer guide unavailable',
|
||
|
||
'order.priceCheck.pagination.total': 'Total {count} records',
|
||
'order.priceCheck.pagination.prev': 'Prev',
|
||
'order.priceCheck.pagination.next': 'Next',
|
||
'order.priceCheck.pagination.perPage': '/page',
|
||
'order.priceCheck.pagination.goTo': 'Go to',
|
||
'order.priceCheck.pagination.page': 'page',
|
||
'order.priceCheck.pagination.invalidPage': 'Please enter a valid page number',
|
||
|
||
// Order - Place Order
|
||
'order.placeOrder.template.label': 'Standard template',
|
||
'order.placeOrder.template.download': 'Download',
|
||
'order.placeOrder.template.edit': 'Edit',
|
||
'order.placeOrder.template.delete': 'Delete',
|
||
'order.placeOrder.template.cancel': 'Cancel',
|
||
'order.placeOrder.template.deleteSuccess': 'Custom template deleted',
|
||
'order.placeOrder.template.deleteConfirmTitle': 'Delete custom template',
|
||
'order.placeOrder.template.deleteConfirmContent': 'Delete template "{name}"? This cannot be undone.',
|
||
'order.placeOrder.template.standard1': 'Standard template 1',
|
||
'order.placeOrder.template.standard2': 'Standard template 2',
|
||
'order.placeOrder.template.custom1': 'Custom template 1',
|
||
'order.placeOrder.template.updatedAt': 'Updated: {time}',
|
||
|
||
'order.placeOrder.upload.dropText': 'Drag file here, or click to upload',
|
||
'order.placeOrder.upload.tip1': 'Please upload an Excel file and fill in required data according to the template.',
|
||
'order.placeOrder.upload.tip2': 'Maximum 2000 orders per upload.',
|
||
'order.placeOrder.batchOrder': 'Batch order',
|
||
'order.placeOrder.batch.submitted': 'Batch job #{jobId} submitted ({total} items). Opening Batch Jobs…',
|
||
'order.placeOrder.batch.viewJobs': 'View batch jobs',
|
||
'order.placeOrder.batch.uploadTitle': 'Upload & submit',
|
||
'order.placeOrder.batch.stepTemplate': 'Select template',
|
||
'order.placeOrder.batch.stepUpload': 'Upload Excel',
|
||
'order.placeOrder.batch.stepSubmit': 'Submit',
|
||
'order.placeOrder.upload.downloadTemplate': 'Download template',
|
||
'order.placeOrder.upload.fileReady': 'File ready to submit',
|
||
'order.placeOrder.upload.reselect': 'Reselect',
|
||
'order.placeOrder.upload.clearFile': 'Clear',
|
||
'order.placeOrder.upload.invalidType': 'Only .xlsx / .xls files are supported',
|
||
'order.placeOrder.upload.selectTemplateFirst': 'Please select a template first',
|
||
'order.placeOrder.templatePanel.title': 'Templates',
|
||
'order.placeOrder.templatePanel.hint': 'Click a card to select template',
|
||
'order.placeOrder.templatePanel.emptyCustom': 'No custom templates',
|
||
'order.placeOrder.templatePanel.emptyStandard': 'No standard templates. Contact admin or refresh the page.',
|
||
'order.placeOrder.agreement.label': 'I have read and agree to all terms',
|
||
'order.placeOrder.singleOrder': 'Single order',
|
||
'order.placeOrder.single.formTitle': 'Order details',
|
||
'order.placeOrder.single.sampleOrder': 'Generate sample',
|
||
'order.placeOrder.single.stepBasic': 'Basic info',
|
||
'order.placeOrder.single.stepSender': 'Sender',
|
||
'order.placeOrder.single.stepRecipient': 'Recipient',
|
||
'order.placeOrder.single.stepDeclaration': 'Declaration info',
|
||
'order.placeOrder.single.tip1': 'Fields marked * are required. Fill in each section in order.',
|
||
'order.placeOrder.single.tip2': 'Use “Generate sample” to try the full flow quickly.',
|
||
'order.placeOrder.single.submitHint': 'Complete required fields and accept the agreement to submit',
|
||
'order.placeOrder.single.submitReady': 'Ready to submit',
|
||
'order.placeOrder.single.viewCustomerGuide': 'View customer guide',
|
||
'order.placeOrder.single.declaredCurrencyHint': 'Default is USD; please enter declared prices carefully',
|
||
|
||
'order.placeOrder.standardTemplates': 'Standard templates',
|
||
'order.placeOrder.customTemplates': 'Custom templates',
|
||
'order.placeOrder.customTemplates.add': 'Add custom template',
|
||
|
||
'order.placeOrder.progress.title': 'Processing progress',
|
||
'order.placeOrder.progress.header.serialNo': 'No.',
|
||
'order.placeOrder.progress.header.taskName': 'Task name',
|
||
'order.placeOrder.progress.header.quantity': 'Quantity',
|
||
'order.placeOrder.progress.header.status': 'Status',
|
||
'order.placeOrder.progress.header.createTime': 'Created at',
|
||
'order.placeOrder.progress.header.actions': 'Action',
|
||
'order.placeOrder.progress.view': 'View',
|
||
|
||
'order.placeOrder.status.processing': 'Processing',
|
||
'order.placeOrder.status.completed': 'Completed',
|
||
'order.placeOrder.status.pending': 'Pending',
|
||
|
||
// System - Downstream service providers & interfaces
|
||
'system.serviceProviders.search.placeholder': 'Enter provider name',
|
||
'system.serviceProviders.search.refresh': 'Refresh list',
|
||
'system.serviceProviders.search.addProvider': 'Add provider',
|
||
|
||
'system.serviceProviders.dropdown.edit': 'Edit',
|
||
'system.serviceProviders.dropdown.copy': 'Create copy',
|
||
'system.serviceProviders.dropdown.authConfig': 'Auth config',
|
||
'system.serviceProviders.dropdown.accountManage': 'Account management',
|
||
'system.serviceProviders.dropdown.export': 'Export',
|
||
'system.serviceProviders.dropdown.fixedParams': 'Common parameters',
|
||
'system.serviceProviders.dropdown.delete': 'Delete',
|
||
|
||
'system.serviceProviders.list.deleteTip': 'Please delete via the action button in each provider item',
|
||
'system.serviceProviders.list.invalid': 'Invalid provider data',
|
||
'system.serviceProviders.list.deleteConfirmTitle': 'Reminder',
|
||
'system.serviceProviders.list.deleteConfirmContent':
|
||
'Are you sure you want to delete provider “{name}”? All interfaces under this provider will also be deleted.',
|
||
'system.serviceProviders.list.deleteSuccess': 'Deleted successfully',
|
||
'system.serviceProviders.list.deleteFail': 'Delete failed',
|
||
'system.serviceProviders.list.loadFail': 'Failed to load provider list',
|
||
|
||
'system.serviceProviders.interfaceList.title': 'Interface list',
|
||
'system.serviceProviders.interfaceList.refresh': 'Refresh interfaces',
|
||
'system.serviceProviders.interfaceList.add': 'Add interface',
|
||
'system.serviceProviders.interfaceList.loading': 'Loading interface list...',
|
||
'system.serviceProviders.interfaceList.empty': 'No interface data',
|
||
'system.serviceProviders.interfaceList.selectProvider': 'Please select a provider to view its interfaces',
|
||
'system.serviceProviders.interfaceList.loadFail': 'Failed to load interface list',
|
||
|
||
'system.serviceProviders.interface.needProvider': 'Please select a provider first',
|
||
'system.serviceProviders.interface.deleteTip': 'Please delete via the delete button in the interface list',
|
||
'system.serviceProviders.interface.invalid': 'Invalid interface data',
|
||
'system.serviceProviders.interface.deleteConfirmTitle': 'Reminder',
|
||
'system.serviceProviders.interface.deleteConfirmContent':
|
||
'Are you sure you want to delete interface “{name}”?',
|
||
'system.serviceProviders.interface.deleteSuccess': 'Deleted successfully',
|
||
'system.serviceProviders.interface.deleteFail': 'Delete failed',
|
||
|
||
'system.serviceProviders.detail.tab.detail': 'Interface detail',
|
||
'system.serviceProviders.detail.tab.debug': 'API Debugger',
|
||
'system.serviceProviders.detail.actions.cancel': 'Cancel',
|
||
'system.serviceProviders.detail.actions.save': 'Save',
|
||
'system.serviceProviders.interfaceDetail.saveSuccess': 'Saved successfully',
|
||
|
||
// System - Service provider interface modal
|
||
'system.serviceProviders.modal.params.required': 'Required',
|
||
'system.serviceProviders.modal.form.name.placeholder': '* Please enter interface name (Chinese)',
|
||
'system.serviceProviders.modal.form.code.placeholder': 'Interface code (read only)',
|
||
'system.serviceProviders.modal.form.requestProtocol.placeholder': '* Please select protocol',
|
||
'system.serviceProviders.modal.form.requestMethod.placeholder': '* Please select method',
|
||
'system.serviceProviders.modal.form.requestAddress.placeholder': '* Example: http://xx/api/CreateOrder',
|
||
'system.serviceProviders.modal.form.contentType.placeholder': '* Please select Content-Type',
|
||
'system.serviceProviders.modal.form.responseContentType.placeholder': 'Please select Response-Content-Type',
|
||
'system.serviceProviders.modal.form.isDisableAuth.yes': 'Yes',
|
||
'system.serviceProviders.modal.form.isDisableAuth.no': 'No',
|
||
'system.serviceProviders.modal.form.mappedParamType.placeholder': 'Please select root node',
|
||
'system.serviceProviders.modal.form.description.placeholder': 'Please enter remarks',
|
||
|
||
'system.serviceProviders.modal.rules.requiredInput': 'Input cannot be empty',
|
||
'system.serviceProviders.modal.rules.requestProtocol': 'Please select protocol',
|
||
'system.serviceProviders.modal.rules.requestMethod': 'Please select method',
|
||
'system.serviceProviders.modal.rules.contentType': 'Please select Content-Type',
|
||
'system.serviceProviders.modal.rules.descriptionMax': 'Please keep within 200 characters',
|
||
|
||
'system.serviceProviders.modal.load.error': 'Failed to load interface data',
|
||
'system.serviceProviders.modal.load.notFound': 'Interface does not exist or has been deleted',
|
||
'system.serviceProviders.modal.load.noPermission': 'No permission to access this interface',
|
||
'system.serviceProviders.modal.load.serverError': 'Server error, please try again later',
|
||
'system.serviceProviders.modal.load.networkError': 'Network error, please check API endpoint',
|
||
'system.serviceProviders.modal.load.fallbackName': 'Failed to load interface data, please fill in manually',
|
||
|
||
'system.serviceProviders.modal.save.fillAll': 'Please complete all required fields',
|
||
'system.serviceProviders.modal.save.success': 'Saved successfully',
|
||
'system.serviceProviders.modal.save.fail': 'Save failed',
|
||
|
||
'system.serviceProviders.modal.params.addFail': 'Failed to add parameter, please try again',
|
||
'system.serviceProviders.modal.params.typeNotAllow': 'This parameter type cannot add child item',
|
||
|
||
'system.serviceProviders.modal.params.parse.needInput': 'Please enter content before parsing',
|
||
'system.serviceProviders.modal.params.parse.success': 'Parsed successfully',
|
||
'system.serviceProviders.modal.params.parse.fail': 'Parse failed',
|
||
|
||
'system.serviceProviders.modal.params.import.needParse': 'Import failed, please parse first',
|
||
'system.serviceProviders.modal.params.import.success': 'Imported successfully',
|
||
'system.serviceProviders.modal.params.import.fail': 'Import failed',
|
||
|
||
'system.serviceProviders.modal.params.second.addFail': 'Failed to add secondary request parameter, please try again',
|
||
|
||
'system.serviceProviders.modal.secondParams.columns.name': 'Name',
|
||
'system.serviceProviders.modal.secondParams.columns.value': 'Value',
|
||
'system.serviceProviders.modal.secondParams.columns.description': 'Description',
|
||
'system.serviceProviders.modal.secondParams.columns.action': 'Action',
|
||
|
||
'system.serviceProviders.modal.table.requestBody': 'Request body',
|
||
'system.serviceProviders.modal.table.responseBody': 'Response body',
|
||
'system.serviceProviders.modal.table.secondParams': 'Secondary request params',
|
||
'system.serviceProviders.modal.table.action.add': 'Add',
|
||
'system.serviceProviders.modal.table.button.parse': 'Parse',
|
||
|
||
'system.serviceProviders.modal.table.placeholder.paramName': 'Please enter parameter name',
|
||
'system.serviceProviders.modal.table.placeholder.cnName': 'Please enter Chinese name',
|
||
'system.serviceProviders.modal.table.placeholder.type': 'Please select type',
|
||
'system.serviceProviders.modal.table.placeholder.description': 'Please enter description',
|
||
'system.serviceProviders.modal.table.placeholder.paramValue': 'Please enter parameter value',
|
||
|
||
'system.serviceProviders.modal.drawer.title': 'Parameter parsing',
|
||
'system.serviceProviders.modal.drawer.placeholder.json': 'Please enter JSON content',
|
||
'system.serviceProviders.modal.drawer.placeholder.xml': 'Please enter XML content',
|
||
'system.serviceProviders.modal.drawer.actions.cancel': 'Cancel',
|
||
'system.serviceProviders.modal.drawer.actions.parse': 'Parse',
|
||
'system.serviceProviders.modal.drawer.actions.import': 'Import',
|
||
|
||
// System - Upstream interface base form (new-port.vue)
|
||
'system.interface.form.requestAddress': 'Request URL',
|
||
'system.interface.form.requestProtocol': 'Request protocol',
|
||
'system.interface.form.requestMethod': 'Request method',
|
||
'system.interface.form.limit': 'Batch processing',
|
||
'system.interface.form.flowCode': 'Flow Code',
|
||
'system.interface.form.isDisableAuth': 'Disable auth',
|
||
|
||
'system.interface.form.rules.name.required': 'This field is required',
|
||
'system.interface.form.rules.name.max50': 'Please keep within 50 characters',
|
||
'system.interface.form.rules.limit.number': 'Only numbers are allowed',
|
||
'system.interface.form.rules.requestAddress.required': 'This field is required',
|
||
'system.interface.form.rules.requestAddress.max500': 'Please keep within 500 characters',
|
||
'system.interface.form.rules.description.max200': 'Please keep within 200 characters',
|
||
'system.interface.form.rules.category.required': 'Please select interface',
|
||
'system.interface.form.rules.requestProtocol.required': 'Please select protocol',
|
||
'system.interface.form.rules.requestMethod.required': 'Please select method',
|
||
'system.interface.form.rules.isBatch.required': 'Please select',
|
||
'system.interface.form.rules.contentType.required': 'Please select Content-Type',
|
||
'system.interface.form.rules.responseContentType.required': 'Please select Response-Content-Type',
|
||
|
||
'system.interface.params.name.required': 'Parameter name is required',
|
||
'system.interface.params.name.noChinese': 'Spaces and Chinese characters are not allowed',
|
||
'system.interface.params.description.max200': 'Please keep within 200 characters',
|
||
'system.interface.params.parameterId.required': 'Status parameter is required',
|
||
'system.interface.params.statusCode.required': 'Success value is required',
|
||
'system.interface.params.statusCode.alphaNum': 'Only letters and numbers are allowed',
|
||
|
||
'system.interface.sort.onlySameLevel': 'Only reordering within the same level is supported',
|
||
'system.interface.sort.saveSuccess': 'Sorted successfully',
|
||
'system.interface.saveFail': 'Save failed',
|
||
'system.interface.changeLevel': 'Cross-level dragging is not allowed',
|
||
|
||
// System - Interface Management Page
|
||
'system.interface.search.placeholder.nameOrCode': 'Interface name/code',
|
||
'system.interface.search.placeholder.interfaceName': 'Enter interface name',
|
||
'system.interface.search.placeholder.providerName': 'Enter provider name',
|
||
'system.interface.search.placeholder.selectProviderAndInterface': 'Please select provider and interface',
|
||
'system.interface.search.button.query': 'Query',
|
||
'system.interface.actions.refresh': 'Refresh list',
|
||
'system.interface.actions.addInterface': 'Add interface',
|
||
'system.interface.actions.addMapping': 'Add mapping',
|
||
'system.interface.actions.delete': 'Delete',
|
||
'system.interface.actions.cancel': 'Cancel',
|
||
'system.interface.actions.confirm': 'Confirm',
|
||
'system.interface.table.actions': 'Action',
|
||
'system.interface.modal.add': 'Add',
|
||
'system.interface.modal.edit': 'Edit',
|
||
'system.interface.modal.addMapping': 'Add mapping',
|
||
'system.interface.modal.addUpstreamInterface': 'Add upstream interface',
|
||
'system.interface.modal.editUpstreamInterface': 'Edit upstream interface',
|
||
'system.interface.modal.confirmTitle': 'Confirm',
|
||
'system.interface.modal.deleteConfirm': 'Are you sure to delete this record?',
|
||
'system.interface.modal.deleteInterfaceConfirm': 'Are you sure to delete interface "{name}"?',
|
||
'system.interface.modal.warningTitle': 'Warning',
|
||
'system.interface.modal.ok': 'OK',
|
||
'system.interface.modal.cancel': 'Cancel',
|
||
'system.interface.modal.publishConfirm': 'Do you want to publish?',
|
||
'system.interface.message.deleteSuccess': 'Deleted successfully',
|
||
'system.interface.message.deleteFailed': 'Delete failed',
|
||
'system.interface.message.saveSuccess': 'Saved successfully',
|
||
'system.interface.message.cannotDeleteWithMapping': 'Cannot delete interface with existing mappings',
|
||
'system.interface.message.canOnlyDeleteInterface': 'Can only delete interface nodes',
|
||
'system.interface.message.selectProviderForDebug': 'Please select a provider for debugging',
|
||
'system.interface.message.selectLeftInterface': 'Please select an interface from the left',
|
||
'system.interface.message.selectProviderInterface': 'Please select provider interface',
|
||
'system.interface.message.selectInterfaceFirst': 'Please select an interface first',
|
||
'system.interface.mappingList.title': 'Mapping list',
|
||
'system.interface.mapping.outputMapping': 'Output mapping',
|
||
'system.interface.tabs.mappingDetail': 'Mapping detail',
|
||
'system.interface.tabs.apiDebugger': 'API Debugger',
|
||
'system.interface.tabs.interfaceDetail': 'Interface detail',
|
||
'system.interface.empty.selectLeftInterfaceForMapping': 'Please select an interface from the left to view mapping provider list',
|
||
'system.interface.empty.selectLeftInterfaceForDetail': 'Please select an interface from the left to view interface detail',
|
||
'system.interface.empty.selectInterfaceForDetail': 'Please select an interface to view details',
|
||
'system.interface.loading.interfaceList': 'Loading interface list...',
|
||
'system.interface.mapping.inputMapping': 'Input mapping',
|
||
'system.interface.mapping.outputMappingLabel': 'Output mapping',
|
||
'system.interface.mapping.table.systemParamName': 'System parameter name',
|
||
'system.interface.mapping.table.systemParamNameCn': 'System parameter description',
|
||
'system.interface.mapping.table.paramType': 'Parameter type',
|
||
'system.interface.mapping.table.providerParamName': 'Provider parameter name',
|
||
'system.interface.mapping.table.providerParamNameCn': 'Provider parameter description',
|
||
'system.interface.mapping.table.paramValue': 'Parameter value',
|
||
'system.interface.mapping.table.inputParam': 'Input parameter',
|
||
'system.interface.mapping.table.inputParamCn': 'Input parameter description',
|
||
'system.interface.mapping.actions.prefixScript': 'Prefix script',
|
||
'system.interface.mapping.actions.postfixScript': 'Postfix script',
|
||
'system.interface.mapping.actions.allowUnequalMapping': 'Allow unequal structure mapping:',
|
||
'system.interface.mapping.message.noContentToPublish': 'No content to publish',
|
||
'system.interface.mapping.message.publishCacheSuccess': 'Updated {providerName}-{interfaceName}*{count} cache successfully',
|
||
'system.interface.mapping.message.getPublishCompareFailed': 'Failed to get publish compare data',
|
||
'system.interface.mapping.modal.publishTitle': 'Publish',
|
||
'system.interface.mapping.modal.onlineCache': 'Online cache',
|
||
'system.interface.mapping.modal.updateCache': 'Update cache ({count})',
|
||
'system.interface.mapping.modal.publishWarning': 'Publishing will affect normal data forecasting, continue?',
|
||
'system.interface.mapping.modal.versionRemark': 'Please enter version remark',
|
||
'system.interface.mapping.modal.deleteConfirm': 'Are you sure to delete this record?',
|
||
'system.interface.mapping.empty.noProvider': 'No mapping provider',
|
||
'system.interface.mapping.actions.actions': 'Actions',
|
||
'system.interface.mapping.actions.delete': 'Delete',
|
||
'system.interface.mapping.actions.publish': 'Publish',
|
||
'system.interface.mapping.actions.rollback': 'Rollback',
|
||
'common.yes': 'Yes',
|
||
'common.no': 'No',
|
||
|
||
// System - Interface Config Page
|
||
'system.interface.config.message.addParamFailed': 'Failed to add parameter, please try again',
|
||
'system.interface.config.message.addRequestParamFailed': 'Failed to add request parameter, please try again',
|
||
'system.interface.config.message.addResponseParamFailed': 'Failed to add response parameter, please try again',
|
||
'system.interface.config.message.typeNotAllow': 'This parameter type cannot add child item',
|
||
'system.interface.config.message.saveSuccess': 'Saved successfully',
|
||
'system.interface.config.message.saveFailed': 'Save failed, please check data',
|
||
'system.interface.config.message.cancelEditFailed': 'Failed to cancel edit',
|
||
'system.interface.config.message.editFailed': 'Edit failed, please try again',
|
||
'system.interface.config.message.addSuccess': 'Added successfully',
|
||
'system.interface.config.message.updateSuccess': 'Updated successfully',
|
||
'system.interface.config.message.parseSuccess': 'Parsed successfully',
|
||
'system.interface.config.message.importSuccess': 'Imported successfully',
|
||
'system.interface.config.message.importFailedNeedFormat': 'Import failed, please import text format first',
|
||
'system.interface.config.message.importFailedNeedParse': 'Import failed, please import text format or parse first',
|
||
'system.interface.config.modal.warningTitle': 'Warning',
|
||
'system.interface.config.modal.publishConfirm': 'Do you want to publish?',
|
||
'system.interface.config.table.requestBody': 'Request body',
|
||
'system.interface.config.table.responseBody': 'Response body',
|
||
'system.interface.config.actions.add': 'Add',
|
||
'system.interface.config.actions.parse': 'Parse',
|
||
'system.interface.config.actions.import': 'Import',
|
||
'system.interface.config.actions.cancel': 'Cancel',
|
||
'system.interface.config.placeholder.paramName': 'Enter parameter name',
|
||
'system.interface.config.placeholder.cnName': 'Enter Chinese name',
|
||
'system.interface.config.placeholder.type': 'Select type',
|
||
'system.interface.config.placeholder.description': 'Enter description',
|
||
'system.interface.config.drawer.title': 'Parameter parsing',
|
||
'system.interface.config.drawer.placeholder.import': 'Please import',
|
||
'system.interface.config.drawer.placeholder.parse': 'Please parse',
|
||
|
||
// System - User Management
|
||
'system.user.search.placeholder.orgName': 'Enter organization name',
|
||
'system.user.search.placeholder.accountOrName': 'Enter account or name',
|
||
'system.user.actions.refresh': 'Refresh list',
|
||
'system.user.actions.add': 'Add',
|
||
'system.user.actions.edit': 'Edit',
|
||
'system.user.actions.delete': 'Delete',
|
||
'system.user.actions.more': 'More',
|
||
'system.user.actions.grantRole': 'Grant role',
|
||
'system.user.actions.grantResource': 'Grant resource',
|
||
'system.user.actions.resetPassword': 'Reset password',
|
||
'system.user.status.enabled': 'Enabled',
|
||
'system.user.status.disabled': 'Disabled',
|
||
'system.user.table.avatar': 'Avatar',
|
||
'system.user.table.account': 'Account',
|
||
'system.user.table.realName': 'Name',
|
||
'system.user.table.phone': 'Phone',
|
||
'system.user.table.email': 'Email',
|
||
'system.user.table.orgName': 'Organization',
|
||
'system.user.table.positionName': 'Position',
|
||
'system.user.table.roles': 'Roles',
|
||
'system.user.table.status': 'Status',
|
||
'system.user.table.createTime': 'Create time',
|
||
'system.user.table.actions': 'Action',
|
||
'system.user.message.selectUsersToDelete': 'Please select users to delete',
|
||
'system.user.message.selectUsersToGrant': 'Please select users to grant',
|
||
'system.user.message.batchGrantRolePending': 'Batch grant role feature pending',
|
||
'system.user.message.batchGrantResourcePending': 'Batch grant resource feature pending',
|
||
'system.user.message.exportPending': 'Export feature pending',
|
||
'system.user.message.importPending': 'Import feature pending',
|
||
'system.user.message.resetPasswordSuccess': 'Password reset successfully',
|
||
'system.user.message.resetPasswordFailed': 'Password reset failed',
|
||
'system.user.message.selectUsersToResetPassword': 'Please select users to reset password',
|
||
'system.user.message.deleteSuccess': 'Delete successful',
|
||
'system.user.message.updateSuccess': 'Update successful',
|
||
'system.user.message.createSuccess': 'Create successful',
|
||
'system.user.message.assignRolesSuccess': 'Roles assigned successfully',
|
||
'system.user.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.user.modal.deleteConfirmContent': 'Are you sure to delete {count} selected users? This action cannot be undone!',
|
||
'system.user.modal.okDelete': 'Confirm delete',
|
||
'system.user.modal.cancel': 'Cancel',
|
||
'system.user.modal.resetPasswordTitle': 'Reset password confirmation',
|
||
'system.user.modal.resetPasswordContentSingle': 'Are you sure to reset password for user "{account}"?',
|
||
'system.user.modal.resetPasswordContentBatch': 'Are you sure to reset password for {count} selected users?',
|
||
|
||
// System - Role Management
|
||
'system.role.search.placeholder.orgName': 'Enter organization name',
|
||
'system.role.search.placeholder.roleNameOrCode': 'Enter role name or code',
|
||
'system.role.actions.refresh': 'Refresh list',
|
||
'system.role.actions.add': 'Add',
|
||
'system.role.actions.edit': 'Edit',
|
||
'system.role.actions.delete': 'Delete',
|
||
'system.role.actions.save': 'Save',
|
||
'system.role.emptySelect': 'Select a role on the left, or click Add',
|
||
'system.role.emptyDesc': 'Edit basic info and assign permissions after selecting a role',
|
||
'system.role.pageTitle': 'Role management',
|
||
'system.role.tab.info': 'Basic info',
|
||
'system.role.loading': 'Loading roles...',
|
||
'system.role.permission.save': 'Save permissions',
|
||
'system.role.status.enabled': 'Enabled',
|
||
'system.role.status.disabled': 'Disabled',
|
||
'system.role.category.business': 'Business role',
|
||
'system.role.category.system': 'System role',
|
||
'system.role.table.name': 'Role name',
|
||
'system.role.table.code': 'Role code',
|
||
'system.role.table.boundWarehouse': 'Bound Warehouse',
|
||
'system.role.table.category': 'Category',
|
||
'system.role.table.status': 'Status',
|
||
'system.role.table.sortCode': 'Sort',
|
||
'system.role.table.remark': 'Remark',
|
||
'system.role.table.createTime': 'Create time',
|
||
'system.role.table.actions': 'Action',
|
||
'system.role.message.selectRolesToDelete': 'Please select roles to delete',
|
||
'system.role.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.role.modal.deleteConfirmContent': 'Are you sure to delete {count} selected roles? This action cannot be undone!',
|
||
'system.role.modal.okDelete': 'Confirm delete',
|
||
'system.role.modal.cancel': 'Cancel',
|
||
|
||
// System - Menu Management
|
||
'system.menu.search.placeholder.menuNameOrCode': 'Enter menu name or code',
|
||
'system.menu.actions.add': 'Add',
|
||
'system.menu.actions.batchImport': 'Batch import',
|
||
'system.menu.actions.delete': 'Delete',
|
||
'system.menu.actions.edit': 'Edit',
|
||
'system.menu.actions.more': 'More',
|
||
'system.menu.actions.manageButton': 'Manage button',
|
||
'system.menu.actions.syncLevel3Buttons': 'Sync level-3 buttons',
|
||
'system.menu.actions.syncSubMenusAndButtons': 'Sync sub-menus & buttons',
|
||
'system.menu.status.enabled': 'Enabled',
|
||
'system.menu.status.disabled': 'Disabled',
|
||
'system.menu.table.title': 'Menu name',
|
||
'system.menu.table.code': 'Menu code',
|
||
'system.menu.table.menuType': 'Menu type',
|
||
'system.menu.table.path': 'Route path',
|
||
'system.menu.table.component': 'Component path',
|
||
'system.menu.table.icon': 'Icon',
|
||
'system.menu.table.sortCode': 'Sort',
|
||
'system.menu.table.status': 'Status',
|
||
'system.menu.table.createTime': 'Create time',
|
||
'system.menu.table.actions': 'Action',
|
||
'system.menu.message.selectMenusToDelete': 'Please select menus to delete',
|
||
'system.menu.message.selectModuleFirst': 'Please select a module first',
|
||
'system.menu.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.menu.modal.deleteConfirmContent': 'Are you sure to delete {count} selected menus? This action cannot be undone!',
|
||
'system.menu.modal.okDelete': 'Confirm delete',
|
||
'system.menu.modal.cancel': 'Cancel',
|
||
'system.menu.modal.batchImportTitle': 'Batch import menus',
|
||
'system.menu.modal.batchImportContent': 'Are you sure to import all menus? Existing menus will be skipped.',
|
||
'system.menu.modal.okImport': 'Confirm import',
|
||
'system.menu.modal.syncLevel3Title': 'Sync level-3 buttons',
|
||
'system.menu.modal.syncLevel3Content': 'Sync level-3 buttons from the frontend catalog and permission tree for menu "{name}". Existing buttons will be skipped.',
|
||
'system.menu.modal.syncModuleTitle': 'Sync sub-menus & buttons',
|
||
'system.menu.modal.syncModuleContent':
|
||
'Sync level-2 page menus from route config for module "{name}", then sync level-3 buttons for each page. Existing menus/buttons will be skipped.',
|
||
'system.menu.modal.syncLevel3Ok': 'Sync now',
|
||
'system.menu.message.syncLevel3Success': 'Synced: {created} created, {skipped} skipped',
|
||
'system.menu.message.syncLevel3Skipped': 'Nothing to sync, {skipped} existing button(s) skipped',
|
||
'system.menu.message.syncLevel3Failed': 'Failed to sync level-3 buttons',
|
||
'system.menu.message.syncModuleSuccess':
|
||
'Synced: {level2Created} level-2 menu(s) created, {level2Skipped} skipped; {level3Created} level-3 button(s) created, {level3Skipped} skipped',
|
||
'system.menu.message.syncModuleSkipped':
|
||
'Nothing to sync, skipped {level2Skipped} level-2 menu(s) and {level3Skipped} level-3 button(s)',
|
||
'system.menu.message.syncModulePartialFailed': 'Some pages failed to sync level-3 buttons: {details}',
|
||
|
||
// System - Organization Management
|
||
'system.organization.actions.add': 'Add Organization',
|
||
'system.organization.actions.addChild': 'Add Child Organization',
|
||
'system.organization.actions.edit': 'Edit',
|
||
'system.organization.actions.delete': 'Delete',
|
||
'system.organization.modal.add': 'Add Organization',
|
||
'system.organization.modal.edit': 'Edit Organization',
|
||
'system.organization.modal.deleteConfirm': 'Are you sure to delete?',
|
||
'system.organization.form.parentOrg': 'Parent Organization',
|
||
'system.organization.form.parentOrgPlaceholder': 'Select parent organization (leave empty for top level)',
|
||
'system.organization.form.name': 'Organization Name',
|
||
'system.organization.form.namePlaceholder': 'Enter organization name',
|
||
'system.organization.form.code': 'Organization Code',
|
||
'system.organization.form.codePlaceholder': 'Auto-generated after save',
|
||
'system.organization.form.type': 'Organization Type',
|
||
'system.organization.form.typePlaceholder': 'Select organization type',
|
||
'system.organization.form.type.company': 'Company',
|
||
'system.organization.form.type.department': 'Department',
|
||
'system.organization.form.type.group': 'Group',
|
||
'system.organization.form.type.position': 'Position',
|
||
'system.organization.form.leader': 'Leader',
|
||
'system.organization.form.leaderPlaceholder': 'Enter leader ID (optional)',
|
||
'system.organization.form.order': 'Order',
|
||
'system.organization.form.description': 'Description',
|
||
'system.organization.form.descriptionPlaceholder': 'Enter description',
|
||
'system.organization.form.isEnabled': 'Enabled',
|
||
'system.organization.table.name': 'Organization Name',
|
||
'system.organization.table.code': 'Organization Code',
|
||
'system.organization.table.type': 'Type',
|
||
'system.organization.table.order': 'Order',
|
||
'system.organization.table.status': 'Status',
|
||
'system.organization.table.actions': 'Actions',
|
||
'system.organization.status.enabled': 'Enabled',
|
||
'system.organization.status.disabled': 'Disabled',
|
||
'system.organization.type.unknown': 'Unknown',
|
||
'system.organization.rules.name.required': 'Please enter organization name',
|
||
'system.organization.rules.code.required': 'Please enter organization code',
|
||
'system.organization.rules.type.required': 'Please select organization type',
|
||
|
||
// System - User Management (Additional)
|
||
'system.user.actions.batchDelete': 'Batch Delete',
|
||
'system.user.actions.assignRoles': 'Assign Roles',
|
||
'system.user.modal.add': 'Add User',
|
||
'system.user.modal.edit': 'Edit User',
|
||
'system.user.modal.assignRoles': 'Assign Roles',
|
||
'system.user.form.name': 'User Name',
|
||
'system.user.form.namePlaceholder': 'Enter user name',
|
||
'system.user.form.account': 'Account',
|
||
'system.user.form.accountPlaceholder': 'Enter account',
|
||
'system.user.form.password': 'Password',
|
||
'system.user.form.passwordPlaceholder': 'Enter password',
|
||
'system.user.form.email': 'Email',
|
||
'system.user.form.emailPlaceholder': 'Enter email',
|
||
'system.user.form.organization': 'Organization',
|
||
'system.user.form.organizationPlaceholder': 'Select organization',
|
||
'system.user.form.avatar': 'Avatar',
|
||
'system.user.form.avatarPlaceholder': 'Enter avatar URL',
|
||
'system.user.form.roles': 'Roles',
|
||
'system.user.form.rolesPlaceholder': 'Select roles',
|
||
'system.user.form.phone': 'Phone',
|
||
'system.user.form.phonePlaceholder': 'Enter phone number',
|
||
'system.user.form.employeeNo': 'Employee No.',
|
||
'system.user.form.employeeNoPlaceholder': 'Auto-generated',
|
||
'system.user.form.wechatId': 'WeChat ID',
|
||
'system.user.form.wechatIdPlaceholder': 'Enter WeChat ID',
|
||
'system.user.form.wechatQrCode': 'WeChat QR Code',
|
||
'system.user.form.wechatQrUpload': 'Upload QR code',
|
||
'system.user.table.employeeNo': 'Employee No.',
|
||
'system.user.table.phone': 'Phone',
|
||
'system.user.message.wechatQrTooLarge': 'WeChat QR image must be under 2MB',
|
||
'system.user.search.organizationPlaceholder': 'Filter by organization',
|
||
'system.user.search.accountOrNamePlaceholder': 'Search username or account',
|
||
'system.user.rules.name.required': 'Please enter user name',
|
||
'system.user.rules.account.required': 'Please enter account',
|
||
'system.user.rules.password.required': 'Please enter password',
|
||
'system.user.rules.password.minLength': 'Password must be at least 6 characters',
|
||
'system.user.rules.email.format': 'Please enter a valid email format',
|
||
|
||
// System - Role Management (Additional)
|
||
'system.role.modal.add': 'Add Role',
|
||
'system.role.modal.edit': 'Edit Role',
|
||
'system.role.modal.assignPermissions': 'Assign Menus',
|
||
'system.role.form.name': 'Role Name',
|
||
'system.role.form.namePlaceholder': 'Enter role name',
|
||
'system.role.form.code': 'Role Code',
|
||
'system.role.form.codePlaceholder': 'Enter role code',
|
||
'system.role.form.boundWarehouse': 'Bound Warehouse',
|
||
'system.role.form.boundWarehousePlaceholder': 'Please select warehouse address',
|
||
'system.role.rules.name.required': 'Please enter role name',
|
||
'system.role.rules.code.required': 'Please enter role code',
|
||
|
||
// System - Menu Management (Additional)
|
||
'system.menu.actions.addChild': 'Add Child Menu',
|
||
'system.menu.modal.add': 'Add Menu',
|
||
'system.menu.modal.edit': 'Edit Menu',
|
||
'system.menu.type.menu': 'Menu',
|
||
'system.menu.type.button': 'Button',
|
||
'system.menu.status.show': 'Show',
|
||
'system.menu.status.hide': 'Hide',
|
||
|
||
'system.menu.iconPicker.choose': 'Choose icon',
|
||
'system.menu.iconPicker.title': 'Choose menu icon',
|
||
'system.menu.iconPicker.placeholder': 'Enter or pick an icon, e.g. IconBook',
|
||
'system.menu.iconPicker.searchPlaceholder': 'Search icon name, e.g. Book, User, File',
|
||
'system.menu.iconPicker.current': 'Selected',
|
||
'system.menu.iconPicker.common': 'Common',
|
||
'system.menu.iconPicker.all': 'All icons',
|
||
'system.menu.iconPicker.searchResult': 'Search results',
|
||
'system.menu.iconPicker.empty': 'No matching icons',
|
||
|
||
// System - Role Management (Permission Assignment)
|
||
'system.role.permission.expandAll': 'Expand All',
|
||
'system.role.permission.collapseAll': 'Collapse All',
|
||
'system.role.permission.checkAll': 'Check All',
|
||
'system.role.permission.uncheckAll': 'Uncheck All',
|
||
'system.role.permission.loading': 'Loading permission data...',
|
||
'system.role.permission.assignSuccess': 'Permission assigned successfully',
|
||
'system.role.permission.search': 'Search permission name or code',
|
||
'system.role.permission.selected': 'Selected',
|
||
'system.role.permission.total': 'Total',
|
||
'system.role.permission.selectedCount': '{selected} / {total} selected',
|
||
'system.role.permission.noMatch': 'No matching permissions',
|
||
'system.role.permission.col.level1': 'Level 1 menu',
|
||
'system.role.permission.col.level2': 'Level 2 menu',
|
||
'system.role.permission.col.level3': 'Level 3 buttons',
|
||
'system.role.tag.creating': 'Creating',
|
||
'system.role.tag.boundWarehouse': 'Warehouse bound',
|
||
'system.role.message.deleteSuccess': 'Delete successful',
|
||
'system.role.message.cannotDeleteSystemRole': 'Built-in system roles (e.g. Customer) cannot be deleted',
|
||
'system.role.message.updateSuccess': 'Update successful',
|
||
'system.role.message.createSuccess': 'Create successful',
|
||
|
||
// System - Organization Management
|
||
'system.org.search.placeholder.orgName': 'Enter organization name',
|
||
'system.org.search.placeholder.orgNameOrCode': 'Enter organization name or code',
|
||
'system.org.actions.refresh': 'Refresh list',
|
||
'system.org.actions.add': 'Add',
|
||
'system.org.actions.addOrg': 'Add organization',
|
||
'system.org.actions.edit': 'Edit',
|
||
'system.org.actions.delete': 'Delete',
|
||
'system.org.actions.copy': 'Copy',
|
||
'system.org.actions.select': 'Select',
|
||
'system.org.actions.cancel': 'Cancel',
|
||
'system.org.actions.confirm': 'Confirm',
|
||
'system.org.status.enabled': 'Enabled',
|
||
'system.org.status.disabled': 'Disabled',
|
||
'system.org.category.company': 'Company',
|
||
'system.org.category.dept': 'Department',
|
||
'system.org.common.yes': 'Yes',
|
||
'system.org.common.no': 'No',
|
||
'system.org.table.orgName': 'Organization name',
|
||
'system.org.table.orgFullName': 'Organization full name',
|
||
'system.org.table.category': 'Category',
|
||
'system.org.table.code': 'Code',
|
||
'system.org.table.status': 'Status',
|
||
'system.org.table.sortCode': 'Sort',
|
||
'system.org.table.createTime': 'Create time',
|
||
'system.org.table.actions': 'Action',
|
||
'system.org.form.parentOrg': 'Parent organization',
|
||
'system.org.form.orgName': 'Organization name',
|
||
'system.org.form.orgCode': 'Organization code',
|
||
'system.org.form.category': 'Organization category',
|
||
'system.org.form.status': 'Status',
|
||
'system.org.form.director': 'Director',
|
||
'system.org.form.sortCode': 'Sort',
|
||
'system.org.form.targetOrg': 'Target organization',
|
||
'system.org.form.containsChild': 'Include children',
|
||
'system.org.form.containsPosition': 'Include positions',
|
||
'system.org.form.placeholder.selectParentOrg': 'Select parent organization',
|
||
'system.org.form.placeholder.orgName': 'Enter organization name',
|
||
'system.org.form.placeholder.orgCode': 'Auto-generated after save',
|
||
'system.org.form.placeholder.selectCategory': 'Select category',
|
||
'system.org.form.placeholder.selectStatus': 'Select status',
|
||
'system.org.form.placeholder.selectTargetOrg': 'Select target organization',
|
||
'system.org.form.rules.orgNameRequired': 'Please enter organization name',
|
||
'system.org.form.rules.parentOrgRequired': 'Please select parent organization',
|
||
'system.org.form.rules.categoryRequired': 'Please select organization category',
|
||
'system.org.form.rules.statusRequired': 'Please select status',
|
||
'system.org.form.rules.targetOrgRequired': 'Please select target organization',
|
||
'system.org.form.rules.containsChildRequired': 'Please select whether to include children',
|
||
'system.org.form.rules.containsPositionRequired': 'Please select whether to include positions',
|
||
'system.org.modal.addOrgTitle': 'Add organization',
|
||
'system.org.modal.editOrgTitle': 'Edit organization',
|
||
'system.org.modal.copyOrgTitle': 'Copy organization',
|
||
'system.org.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.org.modal.deleteConfirmContentSingle': 'Are you sure to delete organization 【{name}】? This action cannot be undone!',
|
||
'system.org.modal.deleteConfirmContentBatch': 'Are you sure to delete {count} selected organizations? This action cannot be undone!',
|
||
'system.org.modal.okDelete': 'Confirm delete',
|
||
'system.org.modal.cancel': 'Cancel',
|
||
'system.org.message.selectOrgsToDelete': 'Please select organizations to delete',
|
||
'system.org.message.deleteSuccess': 'Delete successfully',
|
||
'system.org.message.deleteFailed': 'Delete failed',
|
||
'system.org.message.copySuccess': 'Copy successfully',
|
||
'system.org.message.copyFailed': 'Copy failed',
|
||
'system.org.message.editSuccess': 'Edit successfully',
|
||
'system.org.message.editFailed': 'Edit failed',
|
||
'system.org.message.addSuccess': 'Add successfully',
|
||
'system.org.message.addFailed': 'Add failed',
|
||
'system.org.message.getDetailFailed': 'Failed to get organization details',
|
||
'system.org.loading': 'Loading organizations...',
|
||
'system.org.level.root': 'Level 1',
|
||
'system.org.level.n': 'Level {n}',
|
||
'system.org.level.children': '{count} sub-orgs',
|
||
'system.org.users.emptySelect': 'Select an organization',
|
||
'system.org.users.emptyDesc': 'Select an organization on the left to view its users',
|
||
|
||
// System - Position Management
|
||
'system.position.search.placeholder.orgName': 'Enter organization name',
|
||
'system.position.search.placeholder.positionNameOrCode': 'Enter position name or code',
|
||
'system.position.actions.refresh': 'Refresh list',
|
||
'system.position.actions.add': 'Add',
|
||
'system.position.actions.edit': 'Edit',
|
||
'system.position.actions.delete': 'Delete',
|
||
'system.position.table.name': 'Position name',
|
||
'system.position.table.code': 'Position code',
|
||
'system.position.table.sortCode': 'Sort',
|
||
'system.position.table.remark': 'Remark',
|
||
'system.position.table.createTime': 'Create time',
|
||
'system.position.table.actions': 'Action',
|
||
'system.position.message.selectPositionsToDelete': 'Please select positions to delete',
|
||
'system.position.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.position.modal.deleteConfirmContent': 'Are you sure to delete {count} selected positions? This action cannot be undone!',
|
||
'system.position.modal.okDelete': 'Confirm delete',
|
||
'system.position.modal.cancel': 'Cancel',
|
||
|
||
// System - Module Management
|
||
'system.module.search.placeholder.moduleNameOrCode': 'Enter module name or code',
|
||
'system.module.actions.add': 'Add',
|
||
'system.module.actions.edit': 'Edit',
|
||
'system.module.actions.delete': 'Delete',
|
||
'system.module.status.enabled': 'Enabled',
|
||
'system.module.status.disabled': 'Disabled',
|
||
'system.module.table.title': 'Module name',
|
||
'system.module.table.name': 'Module alias',
|
||
'system.module.table.code': 'Module code',
|
||
'system.module.table.icon': 'Icon',
|
||
'system.module.table.status': 'Status',
|
||
'system.module.table.sortCode': 'Sort',
|
||
'system.module.table.description': 'Description',
|
||
'system.module.table.createTime': 'Create time',
|
||
'system.module.table.actions': 'Action',
|
||
'system.module.message.selectModulesToDelete': 'Please select modules to delete',
|
||
'system.module.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.module.modal.deleteConfirmContent': 'Are you sure to delete {count} selected modules? This action cannot be undone!',
|
||
'system.module.modal.okDelete': 'Confirm delete',
|
||
'system.module.modal.cancel': 'Cancel',
|
||
|
||
// System - Dictionary Management
|
||
'system.dict.tabs.system': 'System',
|
||
'system.dict.tabs.business': 'Business',
|
||
'system.dict.search.placeholder.dictNameOrValue': 'Enter dictionary name or value',
|
||
'system.dict.search.placeholder': 'Enter dictionary code or name',
|
||
'system.dict.filter.dictType': 'Dictionary Type',
|
||
'system.dict.actions.add': 'Add',
|
||
'system.dict.actions.edit': 'Edit',
|
||
'system.dict.actions.delete': 'Delete',
|
||
'system.dict.actions.batchImport': 'Batch import',
|
||
'system.dict.batchImport.confirmTitle': 'Batch import dictionaries',
|
||
'system.dict.batchImport.confirmContent':
|
||
'Predefined dictionary rows from the OMS design spec will be created; existing rows with the same dictType and dictCode are skipped. Import order: dict types in alphabetical order; each type is fully written before the next. Rules: many rows may share one dictType; dictCode must be unique within that dictType (the same code may appear under another dictType, e.g. 0/1). Use yes_no for yes/no; use enable_status for disabled/enabled. Continue?',
|
||
'system.dict.batchImport.ok': 'Import',
|
||
'system.dict.batchImport.resultDetail': 'Done: created {created}, skipped {skipped}, failed {failed}.',
|
||
'system.dict.batchImport.failed': 'Batch import failed: {error}',
|
||
'system.dict.status.enabled': 'Enabled',
|
||
'system.dict.status.disabled': 'Disabled',
|
||
'system.dict.table.dictLabel': 'Dictionary name',
|
||
'system.dict.table.dictValue': 'Dictionary value',
|
||
'system.dict.table.status': 'Status',
|
||
'system.dict.table.sortCode': 'Sort',
|
||
'system.dict.table.createTime': 'Create time',
|
||
'system.dict.table.actions': 'Action',
|
||
'system.dict.table.dictType': 'Dictionary Type',
|
||
'system.dict.table.dictSort': 'Sort',
|
||
'system.dict.table.dictCode': 'Dictionary Code',
|
||
'system.dict.table.dictName': 'Dictionary Name',
|
||
'system.dict.form.dictType': 'Dictionary Type',
|
||
'system.dict.form.dictSort': 'Sort',
|
||
'system.dict.form.dictCode': 'Dictionary Code',
|
||
'system.dict.form.dictName': 'Dictionary Name',
|
||
'system.dict.placeholder.input': 'Please enter',
|
||
'system.dict.modal.addTitle': 'Add Dictionary',
|
||
'system.dict.modal.editTitle': 'Edit Dictionary',
|
||
'system.dict.modal.deleteConfirmContentSingle': 'Are you sure to delete dictionary [{dictName}]?',
|
||
'system.dict.rule.dictTypeRequired': 'Please enter dictionary type',
|
||
'system.dict.rule.dictSortRequired': 'Please enter dictionary sort',
|
||
'system.dict.rule.dictCodeRequired': 'Please enter dictionary code',
|
||
'system.dict.rule.dictNameRequired': 'Please enter dictionary name',
|
||
'system.dict.message.addSuccess': 'Added successfully',
|
||
'system.dict.message.editSuccess': 'Updated successfully',
|
||
'system.dict.message.deleteSuccess': 'Deleted successfully',
|
||
'system.dict.message.selectDictsToDelete': 'Please select dictionaries to delete',
|
||
'system.dict.message.loadDataFailed': 'Failed to load dictionary data: {error}',
|
||
'system.dict.message.unknownError': 'Unknown error',
|
||
'system.dict.modal.deleteConfirmTitle': 'Delete confirmation',
|
||
'system.dict.modal.deleteConfirmContent': 'Are you sure to delete {count} selected dictionaries? This action cannot be undone!',
|
||
'system.dict.modal.okDelete': 'Confirm delete',
|
||
'system.dict.modal.cancel': 'Cancel',
|
||
|
||
// System - Other Config
|
||
'system.otherConfig.pageTitle': 'Other Config',
|
||
'system.otherConfig.search.placeholder': 'Search by config code or name',
|
||
'system.otherConfig.actions.add': 'Add',
|
||
'system.otherConfig.actions.edit': 'Edit',
|
||
'system.otherConfig.actions.delete': 'Delete',
|
||
'system.otherConfig.actions.refresh': 'Refresh',
|
||
'system.otherConfig.status.enabled': 'Enabled',
|
||
'system.otherConfig.status.disabled': 'Disabled',
|
||
'system.otherConfig.table.configCode': 'Config Code',
|
||
'system.otherConfig.table.configName': 'Config Name',
|
||
'system.otherConfig.table.enabled': 'Status',
|
||
'system.otherConfig.table.baseUrl': 'Base URL',
|
||
'system.otherConfig.table.appKey': 'AppKey',
|
||
'system.otherConfig.table.appSecret': 'AppSecret',
|
||
'system.otherConfig.table.timeoutSeconds': 'Timeout (s)',
|
||
'system.otherConfig.table.updateTime': 'Updated At',
|
||
'system.otherConfig.form.configCode': 'Config Code',
|
||
'system.otherConfig.form.configName': 'Config Name',
|
||
'system.otherConfig.form.enabled': 'Enabled',
|
||
'system.otherConfig.form.baseUrl': 'Base URL',
|
||
'system.otherConfig.form.appKey': 'AppKey',
|
||
'system.otherConfig.form.appSecret': 'AppSecret',
|
||
'system.otherConfig.form.timeoutSeconds': 'Timeout (seconds)',
|
||
'system.otherConfig.form.remark': 'Remark',
|
||
'system.otherConfig.placeholder.input': 'Please enter',
|
||
'system.otherConfig.placeholder.configCode': 'e.g. track_service',
|
||
'system.otherConfig.placeholder.baseUrl': 'e.g. http://api.nanafa.com/track',
|
||
'system.otherConfig.placeholder.appSecretEdit': 'Leave blank to keep unchanged',
|
||
'system.otherConfig.modal.addTitle': 'Add Config',
|
||
'system.otherConfig.modal.editTitle': 'Edit Config',
|
||
'system.otherConfig.modal.deleteConfirmContentSingle': 'Delete config "{configName}"?',
|
||
'system.otherConfig.rule.configCodeRequired': 'Please enter config code',
|
||
'system.otherConfig.rule.configNameRequired': 'Please enter config name',
|
||
'system.otherConfig.rule.baseUrlRequired': 'Please enter base URL',
|
||
'system.otherConfig.rule.appKeyRequired': 'Please enter AppKey',
|
||
'system.otherConfig.rule.appSecretRequired': 'Please enter AppSecret',
|
||
'system.otherConfig.rule.timeoutSecondsRequired': 'Please enter timeout seconds',
|
||
'system.otherConfig.message.addSuccess': 'Added successfully',
|
||
'system.otherConfig.message.editSuccess': 'Updated successfully',
|
||
'system.otherConfig.message.deleteSuccess': 'Deleted successfully',
|
||
'system.otherConfig.defaults.trackServiceName': 'Small Bag Track Service',
|
||
|
||
// System - Button Management
|
||
'system.button.actions.add': 'Add button',
|
||
'system.button.actions.batchDelete': 'Batch delete',
|
||
'system.button.actions.edit': 'Edit',
|
||
'system.button.actions.delete': 'Delete',
|
||
'system.button.form.title': 'Button name',
|
||
'system.button.form.code': 'Button code',
|
||
'system.button.form.parentMenu': 'Parent menu',
|
||
'system.button.form.sortCode': 'Sort',
|
||
'system.button.form.description': 'Remark',
|
||
'system.button.form.placeholder.title': 'Enter button name',
|
||
'system.button.form.placeholder.code': 'Enter button code',
|
||
'system.button.form.placeholder.parentMenu': 'Select parent menu',
|
||
'system.button.form.placeholder.sortCode': 'Enter sort',
|
||
'system.button.form.placeholder.description': 'Enter remark',
|
||
'system.button.form.rules.titleRequired': 'Please enter button name',
|
||
'system.button.form.rules.codeRequired': 'Please enter button code',
|
||
'system.button.table.title': 'Button name',
|
||
'system.button.table.code': 'Button code',
|
||
'system.button.table.parentId': 'Parent menu ID',
|
||
'system.button.table.sortCode': 'Sort',
|
||
'system.button.table.description': 'Remark',
|
||
'system.button.table.createTime': 'Create time',
|
||
'system.button.table.actions': 'Action',
|
||
'system.button.modal.addTitle': 'Add button',
|
||
'system.button.modal.editTitle': 'Edit button',
|
||
'system.button.modal.deleteConfirmTitle': 'Confirm delete',
|
||
'system.button.modal.deleteConfirmContentSingle': 'Are you sure to delete button "{title}"?',
|
||
'system.button.modal.deleteConfirmContentBatch': 'Are you sure to delete {count} selected buttons?',
|
||
'system.button.message.selectButtonsToDelete': 'Please select buttons to delete',
|
||
'system.button.message.deleteSuccess': 'Delete successfully',
|
||
'system.button.message.deleteFailed': 'Delete failed',
|
||
'system.button.message.editSuccess': 'Edit successfully',
|
||
'system.button.message.editFailed': 'Edit failed',
|
||
'system.button.message.addSuccess': 'Add successfully',
|
||
'system.button.message.addFailed': 'Add failed',
|
||
'system.button.message.getDetailFailed': 'Failed to get button details',
|
||
|
||
// Operation Module - Common
|
||
'operation.common.keepScanFocus': 'Keep focus on scan field',
|
||
'operation.common.voiceBroadcast': 'Voice broadcast',
|
||
'operation.common.feedback.idle': 'Scan a number — result will appear here',
|
||
'operation.common.message.orderNotFound': 'Order not found',
|
||
'operation.common.message.lookupSuccess': 'Order matched',
|
||
|
||
// Operation Module - Inbound Scan
|
||
'operation.inbound.pageTitle': 'Waybill Information',
|
||
'operation.inbound.broadcastSettings': 'Broadcast Settings',
|
||
'operation.inbound.form.scanNumber': 'Scan Number:',
|
||
'operation.inbound.form.receivedWeight': 'Received Weight:',
|
||
'operation.inbound.form.dimensions': 'Length × Width × Height:',
|
||
'operation.inbound.form.salesProduct': 'Sales Product:',
|
||
'operation.inbound.form.destinationCountry': 'Destination Country:',
|
||
'operation.inbound.form.remarks': 'Remarks:',
|
||
'operation.inbound.form.placeholder.scanOrInput': 'Scan or enter number',
|
||
'operation.inbound.form.placeholder.input': 'Please enter',
|
||
'operation.inbound.form.placeholder.length': 'Length/CM',
|
||
'operation.inbound.form.placeholder.width': 'Width/CM',
|
||
'operation.inbound.form.placeholder.height': 'Height/CM',
|
||
'operation.inbound.form.placeholder.select': 'Please select',
|
||
'operation.inbound.form.placeholder.scanFirst': 'Auto-filled after scanning',
|
||
'operation.inbound.form.hint.supportedTypes': 'Supported: Waybill number, Service provider number, Channel transfer number, Platform order number',
|
||
'operation.inbound.actions.reset': 'Reset',
|
||
'operation.inbound.actions.inbound': 'Inbound',
|
||
'operation.inbound.recentOrders.title': 'Recent Orders',
|
||
'operation.inbound.recentOrders.subtitle': 'Maximum 50 recent orders displayed here',
|
||
'operation.inbound.recentOrders.empty': 'No data',
|
||
'operation.inbound.table.index': 'Index',
|
||
'operation.inbound.table.waybillNumber': 'Waybill Number',
|
||
'operation.inbound.table.weight': 'Weight',
|
||
'operation.inbound.table.dimensions': 'Dimensions',
|
||
'operation.inbound.table.product': 'Product',
|
||
'operation.inbound.table.country': 'Destination Country',
|
||
'operation.inbound.table.warehouse': 'Warehouse',
|
||
'operation.inbound.table.operateTime': 'Operate Time',
|
||
'operation.inbound.table.operator': 'Operator',
|
||
'operation.inbound.message.waybillNumberRequired': 'Please enter or scan waybill number',
|
||
'operation.inbound.message.metricsRequired': 'Please enter received weight and dimensions',
|
||
'operation.inbound.message.inboundSuccess': 'Inbound successful',
|
||
'operation.inbound.message.inboundFailed': 'Inbound failed',
|
||
'operation.inbound.message.loadRecentFailed': 'Failed to load recent inbound records',
|
||
|
||
// Operation Module - Outbound Scan
|
||
'operation.outbound.pageTitle': 'Waybill Information',
|
||
'operation.outbound.broadcastSettings': 'Broadcast Settings',
|
||
'operation.outbound.form.scanNumber': 'Scan Number:',
|
||
'operation.outbound.form.shipWeight': 'Shipped weight:',
|
||
'operation.outbound.form.dimensions': 'L × W × H:',
|
||
'operation.outbound.form.salesProduct': 'Sales product:',
|
||
'operation.outbound.form.destinationCountry': 'Destination country:',
|
||
'operation.outbound.form.serviceChannel': 'Service channel:',
|
||
'operation.outbound.form.placeholder.scanOrInput': 'Scan or enter number',
|
||
'operation.outbound.form.placeholder.input': 'Enter',
|
||
'operation.outbound.form.placeholder.length': 'L / CM',
|
||
'operation.outbound.form.placeholder.width': 'W / CM',
|
||
'operation.outbound.form.placeholder.height': 'H / CM',
|
||
'operation.outbound.form.placeholder.select': 'Select',
|
||
'operation.outbound.form.placeholder.scanFirst': 'Auto-filled after scan',
|
||
'operation.outbound.form.hint.supportedTypes': 'Supported: Waybill number only',
|
||
'operation.outbound.actions.reset': 'Reset',
|
||
'operation.outbound.actions.outbound': 'Outbound',
|
||
'operation.outbound.recentOrders.title': 'Recent orders',
|
||
'operation.outbound.recentOrders.subtitle': 'Maximum 50 recent orders displayed here',
|
||
'operation.outbound.recentOrders.empty': 'No data',
|
||
'operation.outbound.table.index': 'Index',
|
||
'operation.outbound.table.waybillNumber': 'Waybill Number',
|
||
'operation.outbound.table.weight': 'Weight',
|
||
'operation.outbound.table.dimensions': 'Dimensions',
|
||
'operation.outbound.table.product': 'Product',
|
||
'operation.outbound.table.country': 'Destination',
|
||
'operation.outbound.table.serviceChannel': 'Service channel',
|
||
'operation.outbound.table.warehouse': 'Warehouse',
|
||
'operation.outbound.table.operateTime': 'Operate Time',
|
||
'operation.outbound.table.operator': 'Operator',
|
||
'operation.outbound.message.waybillNumberRequired': 'Please enter or scan waybill number',
|
||
'operation.outbound.message.outboundSuccess': 'Outbound successful',
|
||
'operation.outbound.message.outboundFailed': 'Outbound failed',
|
||
'operation.outbound.message.loadRecentFailed': 'Failed to load recent outbound records',
|
||
|
||
// Operation Module - Print Label
|
||
'operation.printLabel.pageTitle': 'Print Label',
|
||
'operation.printLabel.broadcastSettings': 'Broadcast Settings',
|
||
'operation.printLabel.form.scanNumber': 'Number:',
|
||
'operation.printLabel.form.placeholder.scanOrInput': 'Scan or enter number',
|
||
'operation.printLabel.form.placeholder.numberType': 'Select number type',
|
||
'operation.printLabel.form.placeholder.labelTemplate': 'Select label template',
|
||
'operation.printLabel.form.hint.supportedTypes': 'Supported: Waybill, Customer order, Tracking, Other',
|
||
'operation.printLabel.actions.reset': 'Reset',
|
||
'operation.printLabel.actions.print': 'Print',
|
||
'operation.printLabel.recentOrders.subtitle': 'Maximum 50 recent records displayed here',
|
||
'operation.printLabel.recentOrders.empty': 'No data',
|
||
'operation.printLabel.numberType.waybill': 'Waybill Number',
|
||
'operation.printLabel.numberType.customerOrder': 'Customer Order Number',
|
||
'operation.printLabel.numberType.tracking': 'Tracking Number',
|
||
'operation.printLabel.numberType.other': 'Other Number',
|
||
'operation.printLabel.labelTemplate.lastMile': 'Last Mile Label',
|
||
'operation.printLabel.labelTemplate.customer': 'Customer Label',
|
||
'operation.printLabel.labelTemplate.inbound': 'Inbound Label',
|
||
'operation.printLabel.labelTemplate.outbound': 'Outbound Label',
|
||
'operation.printLabel.labelTemplate.sku': 'SKU Label',
|
||
'operation.printLabel.table.index': 'Index',
|
||
'operation.printLabel.table.waybillNumber': 'Waybill Number',
|
||
'operation.printLabel.table.customerOrderNumber': 'Customer Order Number',
|
||
'operation.printLabel.table.trackingNumber': 'Tracking Number',
|
||
'operation.printLabel.table.otherNumber': 'Other Number',
|
||
'operation.printLabel.table.labelTemplate': 'Label Template',
|
||
'operation.printLabel.table.printSuccess': 'Print Success',
|
||
'operation.printLabel.table.warehouse': 'Warehouse',
|
||
'operation.printLabel.table.operateTime': 'Operate Time',
|
||
'operation.printLabel.table.operator': 'Operator',
|
||
'operation.printLabel.message.waybillNumberRequired': 'Please enter or scan number',
|
||
'operation.printLabel.message.printSuccess': 'Print successful',
|
||
'operation.printLabel.printSuccess.yes': 'Yes',
|
||
'operation.printLabel.printSuccess.no': 'No',
|
||
'operation.printLabel.pagination.invalidPage': 'Please enter a valid page number',
|
||
|
||
// System - Warehouse Address
|
||
'system.warehouseAddress.pageTitle': 'Warehouse Address',
|
||
'system.warehouseAddress.fields.warehouseName': 'Warehouse Name',
|
||
'system.warehouseAddress.fields.warehouseType': 'Warehouse Type',
|
||
'system.warehouseAddress.fields.recipient': 'Recipient',
|
||
'system.warehouseAddress.fields.contactPhone': 'Contact Phone',
|
||
'system.warehouseAddress.fields.shippingAddress': 'Shipping Address',
|
||
'system.warehouseAddress.fields.servicePhone': 'Service Phone',
|
||
'system.warehouseAddress.fields.serviceWechat': 'Service WeChat',
|
||
'system.warehouseAddress.actions.add': 'Add',
|
||
'system.warehouseAddress.actions.edit': 'Edit',
|
||
'system.warehouseAddress.actions.copy': 'Copy',
|
||
'system.warehouseAddress.actions.delete': 'Delete',
|
||
'system.warehouseAddress.actions.refresh': 'Refresh',
|
||
'system.warehouseAddress.uploadWechat': 'Upload Image',
|
||
'system.warehouseAddress.hint.wechatBase64': 'Images are stored as Base64 (data URL). Max 2MB recommended.',
|
||
'system.warehouseAddress.placeholder.input': 'Please enter',
|
||
'system.warehouseAddress.placeholder.select': 'Please select',
|
||
'system.warehouseAddress.modal.addTitle': 'Add Warehouse Address',
|
||
'system.warehouseAddress.modal.editTitle': 'Edit Warehouse Address',
|
||
'system.warehouseAddress.message.nameRequired': 'Please enter warehouse name',
|
||
'system.warehouseAddress.message.addSuccess': 'Added successfully',
|
||
'system.warehouseAddress.message.editSuccess': 'Updated successfully',
|
||
'system.warehouseAddress.message.deleteConfirm': 'Delete this warehouse?',
|
||
'system.warehouseAddress.message.deleteSuccess': 'Deleted successfully',
|
||
'system.warehouseAddress.message.deleteFailed': 'Delete failed',
|
||
'system.warehouseAddress.message.copySuccess': 'Copied to clipboard',
|
||
'system.warehouseAddress.message.copyFailed': 'Copy failed',
|
||
'system.warehouseAddress.message.imageTooLarge': 'Image must be 2MB or smaller',
|
||
'system.warehouseAddress.message.dictLoadFailed': 'Failed to load warehouse type dictionary',
|
||
'system.warehouseAddress.message.wechatQrSaveFailed': 'Failed to save WeChat QR image',
|
||
|
||
// System - batch email (parity with desktop emailAuto.py)
|
||
'system.batchEmail.import': 'Import file',
|
||
'system.batchEmail.template': 'Template',
|
||
'system.batchEmail.selectTemplate': 'Select a template',
|
||
'system.batchEmail.send': 'Send batch',
|
||
'system.batchEmail.log': 'Log',
|
||
'system.batchEmail.preview': 'Template edit & preview',
|
||
'system.batchEmail.saveTpl': 'Save template',
|
||
'system.batchEmail.deleteTpl': 'Delete template',
|
||
'system.batchEmail.placeholderHint': 'Placeholders: {客户单号}, {最新轨迹}, {换单号}',
|
||
'system.batchEmail.emailConfig': 'Mailbox',
|
||
'system.batchEmail.account': 'Account',
|
||
'system.batchEmail.password': 'App password',
|
||
'system.batchEmail.passwordPlaceholder': 'Enter SMTP app password / authorization code',
|
||
'system.batchEmail.passwordPlaceholderEdit': 'Leave blank to keep the saved password',
|
||
'system.batchEmail.passwordSavedHint': 'Password is stored on the server; leave blank unless you want to change it',
|
||
'system.batchEmail.warnPassword': 'Enter app password (e.g. Aliyun authorization code)',
|
||
'system.batchEmail.serverType': 'SMTP',
|
||
'system.batchEmail.server.qiye': 'Aliyun enterprise 25',
|
||
'system.batchEmail.server.qiyeSsl': 'Aliyun enterprise SSL 465',
|
||
'system.batchEmail.server.aliyun': 'Aliyun personal 25',
|
||
'system.batchEmail.server.aliyunSsl': 'Aliyun personal SSL 465',
|
||
'system.batchEmail.server.mxhichina': 'mxhichina 25',
|
||
'system.batchEmail.saveConfig': 'Save',
|
||
'system.batchEmail.testConnection': 'Test connection',
|
||
'system.batchEmail.subject': 'Subject',
|
||
'system.batchEmail.subjectPlaceholder': 'Placeholders supported, e.g. Order {客户单号}',
|
||
'system.batchEmail.contentPlaceholder': 'Body',
|
||
'system.batchEmail.saveTplModalTitle': 'Save template',
|
||
'system.batchEmail.saveTplNamePlaceholder': 'Template name',
|
||
'system.batchEmail.logSelectTemplate': 'Template selected',
|
||
'system.batchEmail.logTemplateBodyShown': 'Body loaded',
|
||
'system.batchEmail.errMissingColumns': 'Required columns not found. Need order id column and email column; optional: tracking, 换单号',
|
||
'system.batchEmail.logImportOk': 'Imported: {name}, recipient column OK',
|
||
'system.batchEmail.logImportCount': 'Loaded {n} valid rows',
|
||
'system.batchEmail.msgImportOk': 'Imported {n} rows',
|
||
'system.batchEmail.errImport': 'Import failed',
|
||
'system.batchEmail.errLoadTemplates': 'Failed to load templates',
|
||
'system.batchEmail.errLoadRecords': 'Failed to load email records',
|
||
'system.batchEmail.recordList': 'Email records',
|
||
'system.batchEmail.record.toEmail': 'Email',
|
||
'system.batchEmail.record.subject': 'Subject',
|
||
'system.batchEmail.record.content': 'Content',
|
||
'system.batchEmail.record.sendTime': 'Sent at',
|
||
'system.batchEmail.record.sender': 'Sender',
|
||
'system.batchEmail.warnEmptyContent': 'Template body is required',
|
||
'system.batchEmail.warnEmptyName': 'Template name is required',
|
||
'system.batchEmail.confirmOverwriteTitle': 'Overwrite?',
|
||
'system.batchEmail.confirmOverwriteBody': 'Template "{name}" exists. Overwrite?',
|
||
'system.batchEmail.logSaveTplOk': 'Saved template "{name}"',
|
||
'system.batchEmail.msgSaveTplOk': 'Template "{name}" saved',
|
||
'system.batchEmail.warnSelectTplDelete': 'Select a template to delete',
|
||
'system.batchEmail.warnTplMissing': 'Template not found',
|
||
'system.batchEmail.confirmDeleteTitle': 'Delete template',
|
||
'system.batchEmail.confirmDeleteBody': 'Delete template "{name}"? This cannot be undone.',
|
||
'system.batchEmail.confirmOk': 'OK',
|
||
'system.batchEmail.confirmCancel': 'Cancel',
|
||
'system.batchEmail.logDeleteTpl': 'Deleted template "{name}"',
|
||
'system.batchEmail.msgDeleteTplOk': 'Template "{name}" deleted',
|
||
'system.batchEmail.warnAccount': 'Enter account and password',
|
||
'system.batchEmail.msgSaveConfigOk': 'Saved',
|
||
'system.batchEmail.logTesting': 'Testing SMTP...',
|
||
'system.batchEmail.logTestOk': 'Connection OK',
|
||
'system.batchEmail.msgTestOk': 'SMTP test succeeded',
|
||
'system.batchEmail.errUnknown': 'Request failed',
|
||
'system.batchEmail.logTestFail': 'Connection test failed',
|
||
'system.batchEmail.recipients': 'Recipients',
|
||
'system.batchEmail.recipientMode.manual': 'Manual entry',
|
||
'system.batchEmail.recipientMode.excel': 'Excel import',
|
||
'system.batchEmail.manualEmailsPlaceholder': 'One email per line, or separated by comma, semicolon, or space',
|
||
'system.batchEmail.parseEmails': 'Parse emails',
|
||
'system.batchEmail.clearRecipients': 'Clear',
|
||
'system.batchEmail.recipientCount': '{n} recipient(s)',
|
||
'system.batchEmail.invalidEmailCount': 'Skipped {n} invalid email(s)',
|
||
'system.batchEmail.recipientPreview': 'Recipient preview',
|
||
'system.batchEmail.recipientPreviewMore': '{n} more not shown',
|
||
'system.batchEmail.previewOrderNo': 'Order no.',
|
||
'system.batchEmail.previewTrack': 'Latest tracking',
|
||
'system.batchEmail.excelImportHint': 'Supports .xlsx / .xls with email and order id columns',
|
||
'system.batchEmail.msgManualParseOk': 'Parsed {n} valid email(s)',
|
||
'system.batchEmail.warnNoRecipients': 'Add recipient emails first',
|
||
'system.batchEmail.warnNoOrders': 'Import an Excel file first',
|
||
'system.batchEmail.warnNoTemplate': 'Select or enter a template',
|
||
'system.batchEmail.errNoAccount': 'Configure mailbox account and password',
|
||
'system.batchEmail.logSendStart': 'Sending started',
|
||
'system.batchEmail.logSkipNoEmail': 'Skipped (no valid email)',
|
||
'system.batchEmail.logFailEmptyBody': 'Failed - empty body',
|
||
'system.batchEmail.fallbackSubject': 'Order notice',
|
||
'system.batchEmail.logSendOk': 'sent successfully',
|
||
'system.batchEmail.logSendFail': 'failed - {msg}',
|
||
'system.batchEmail.logSendDone': 'Done: {total} total, {successCount} ok, {failCount} failed',
|
||
'system.batchEmail.msgSendDone': 'Done: {successCount} succeeded, {failCount} failed',
|
||
|
||
// System - Announcement
|
||
'system.announcement.search.placeholder': 'Search title or content',
|
||
'system.announcement.search.reset': 'Reset',
|
||
'system.announcement.actions.add': 'Add announcement',
|
||
'system.announcement.actions.addNotice': 'Add notice',
|
||
'system.announcement.actions.addMessage': 'Add message',
|
||
'system.announcement.actions.refresh': 'Refresh',
|
||
'system.announcement.actions.batchDelete': 'Delete selected',
|
||
'system.announcement.actions.edit': 'Edit',
|
||
'system.announcement.actions.view': 'View',
|
||
'system.announcement.actions.delete': 'Delete',
|
||
'system.announcement.actions.readConfirm': 'Confirm Read',
|
||
'system.announcement.messageType.inform': 'Inform',
|
||
'system.announcement.messageType.message': 'Message',
|
||
'system.announcement.messageType.notice': 'Notice',
|
||
'system.announcement.receiverType.user': 'User',
|
||
'system.announcement.receiverType.customer': 'Customer',
|
||
'system.announcement.popup.yes': 'Yes',
|
||
'system.announcement.popup.no': 'No',
|
||
'system.announcement.filter.noticeType': 'Notice Type',
|
||
'system.announcement.filter.receiverType': 'Receiver Type',
|
||
'system.announcement.tab.notice': 'Notice',
|
||
'system.announcement.tab.message': 'Message',
|
||
'system.announcement.desc.notice': 'System notices for all or selected recipients, with optional popup',
|
||
'system.announcement.desc.message': 'Direct messages without a required title',
|
||
'system.announcement.sendWay.now': 'Send now',
|
||
'system.announcement.sendWay.delay': 'Delay send',
|
||
'system.announcement.sendWay.schedule': 'Schedule send',
|
||
'system.announcement.status.ready': 'Ready',
|
||
'system.announcement.status.already': 'Sent',
|
||
'system.announcement.table.index': 'Index',
|
||
'system.announcement.table.subject': 'Subject',
|
||
'system.announcement.table.category': 'Message type',
|
||
'system.announcement.table.content': 'Content',
|
||
'system.announcement.table.noticeType': 'Notice Type',
|
||
'system.announcement.table.receiverType': 'Receiver Type',
|
||
'system.announcement.table.isPopup': 'Popup',
|
||
'system.announcement.table.receiverCount': 'Receivers',
|
||
'system.announcement.table.readCount': 'Read Count',
|
||
'system.announcement.table.sendWay': 'Send way',
|
||
'system.announcement.table.createTime': 'Create time',
|
||
'system.announcement.table.sendTime': 'Send time',
|
||
'system.announcement.table.status': 'Status',
|
||
'system.announcement.table.actions': 'Action',
|
||
'system.announcement.form.receiverType.appoint': 'Appoint User',
|
||
'system.announcement.form.receiverType.role': 'Appoint Role',
|
||
'system.announcement.form.noticeType': 'Notice Type',
|
||
'system.announcement.form.title': 'Title',
|
||
'system.announcement.form.content': 'Content',
|
||
'system.announcement.form.isPopup': 'Popup',
|
||
'system.announcement.form.receiverType': 'Receiver Type',
|
||
'system.announcement.form.receiverIds': 'Receivers',
|
||
'system.announcement.form.receiverIdsPlaceholderUser': 'Search and select internal users',
|
||
'system.announcement.form.receiverIdsPlaceholderCustomer': 'Search and select customers',
|
||
'system.announcement.form.receiverIdsFallback': 'Selected #{id}',
|
||
'system.announcement.form.section.basic': 'Basic info',
|
||
'system.announcement.form.section.receiver': 'Recipients',
|
||
'system.announcement.form.messageTitleHint': 'Messages do not require a title; content is shown directly',
|
||
'system.announcement.form.popupHint': 'When enabled, recipients see a popup on the workplace',
|
||
'system.announcement.drawer.close': 'Close',
|
||
'system.announcement.modal.addNoticeTitle': 'Add notice',
|
||
'system.announcement.modal.addMessageTitle': 'Add message',
|
||
'system.announcement.placeholder.input': 'Please enter',
|
||
'system.announcement.placeholder.select': 'Please select',
|
||
'system.announcement.modal.addTitle': 'Add Announcement',
|
||
'system.announcement.modal.editTitle': 'Edit Announcement',
|
||
'system.announcement.rule.noticeTypeRequired': 'Please select notice type',
|
||
'system.announcement.rule.titleRequired': 'Please enter title',
|
||
'system.announcement.rule.contentRequired': 'Please enter content',
|
||
'system.announcement.rule.receiverTypeRequired': 'Please select receiver type',
|
||
'system.announcement.rule.receiverIdsRequired': 'Please select receivers',
|
||
'system.announcement.message.addSuccess': 'Added successfully',
|
||
'system.announcement.message.editSuccess': 'Updated successfully',
|
||
'system.announcement.message.readSuccess': 'Marked as read',
|
||
'system.announcement.message.cannotEditSent': 'Sent messages cannot be modified',
|
||
'system.announcement.message.selectDataToDelete': 'Please select data to delete',
|
||
'system.announcement.message.deleteSuccess': 'Delete successfully',
|
||
'system.announcement.message.deleteFailed': 'Delete failed',
|
||
'system.announcement.modal.deleteConfirmTitle': 'Tips',
|
||
'system.announcement.modal.deleteConfirmContentSingle': 'Are you sure to delete message 【{subject}】?',
|
||
'system.announcement.modal.deleteConfirmContentBatch': 'Are you sure to delete {count} selected messages?',
|
||
|
||
// System - Message
|
||
'system.message.search.placeholder': 'Enter keyword',
|
||
'system.message.actions.allRead': 'Mark all as read',
|
||
'system.message.actions.markRead': 'Mark as read',
|
||
'system.message.actions.batchDelete': 'Delete selected',
|
||
'system.message.actions.allDelete': 'Delete all',
|
||
'system.message.actions.view': 'View',
|
||
'system.message.actions.delete': 'Delete',
|
||
'system.message.messageType.inform': 'Inform',
|
||
'system.message.messageType.message': 'Message',
|
||
'system.message.messageType.notice': 'Notice',
|
||
'system.message.readStatus.read': 'Read',
|
||
'system.message.readStatus.unread': 'Unread',
|
||
'system.message.table.index': 'Index',
|
||
'system.message.table.subject': 'Subject',
|
||
'system.message.table.content': 'Content',
|
||
'system.message.table.sendTime': 'Send time',
|
||
'system.message.table.read': 'Read status',
|
||
'system.message.table.actions': 'Action',
|
||
'system.message.message.selectMessagesToRead': 'Please select messages to mark as read',
|
||
'system.message.message.markReadSuccess': 'Mark as read successfully',
|
||
'system.message.message.markReadFailed': 'Mark as read failed',
|
||
'system.message.message.allReadSuccess': 'Mark all as read successfully',
|
||
'system.message.message.allReadFailed': 'Mark all as read failed',
|
||
'system.message.message.selectMessagesToDelete': 'Please select messages to delete',
|
||
'system.message.message.deleteSuccess': 'Delete successfully',
|
||
'system.message.message.deleteFailed': 'Delete failed',
|
||
'system.message.message.allDeleteSuccess': 'Delete all successfully',
|
||
'system.message.message.allDeleteFailed': 'Delete all failed',
|
||
|
||
// System - Log Record
|
||
'system.log.table.index': 'Index',
|
||
'system.log.table.requestId': 'Request ID',
|
||
'system.log.table.requestTime': 'Request time',
|
||
'system.log.table.appOrProvider': 'App/Provider',
|
||
'system.log.table.name': 'Name',
|
||
'system.log.table.interfaceName': 'Interface name',
|
||
'system.log.table.interfaceCode': 'Interface code',
|
||
'system.log.table.clientIP': 'Client IP',
|
||
'system.log.table.address': 'Request address',
|
||
'system.log.table.cost': 'Response time',
|
||
'system.log.table.isSuccess': 'Is success',
|
||
'system.log.table.actions': 'Action',
|
||
'system.log.placeholder.requestId': 'Request ID',
|
||
'system.log.placeholder.requestTime': 'Request time',
|
||
'system.log.placeholder.appOrProvider': 'App/Provider',
|
||
'system.log.placeholder.name': 'Name',
|
||
'system.log.placeholder.interfaceName': 'Interface name',
|
||
'system.log.placeholder.cost': 'Response time',
|
||
'system.log.placeholder.isSuccess': 'Is success',
|
||
'system.log.placeholder.clientIP': 'Request IP',
|
||
'system.log.placeholder.address': 'Request address',
|
||
'system.log.placeholder.appName': 'App name',
|
||
'system.log.placeholder.providerName': 'Provider name',
|
||
'system.log.placeholder.appOrProviderName': 'App/Provider name',
|
||
'system.log.options.app': 'App',
|
||
'system.log.options.provider': 'Provider',
|
||
'system.log.pagination.total': 'Total {count} records',
|
||
'system.log.pagination.prevPage': 'Previous',
|
||
'system.log.pagination.nextPage': 'Next',
|
||
'system.log.pagination.itemsPerPage': 'items/page',
|
||
'system.log.pagination.goTo': 'Go to',
|
||
'system.log.pagination.page': 'page',
|
||
'system.log.modal.viewDetail': 'View details',
|
||
'system.log.modal.tabs.requestBody': 'Request body',
|
||
'system.log.modal.tabs.requestHeaders': 'cURL',
|
||
'system.log.modal.tabs.response': 'Response',
|
||
'system.log.modal.tabs.exception': 'Exception',
|
||
'system.log.modal.tabs.queueResult': 'Queue result',
|
||
'system.log.actions.copy': 'Copy',
|
||
'system.log.actions.copyCurrentTab': 'Copy current tab content',
|
||
'system.log.message.loadFailed': 'Failed to load logs',
|
||
'system.log.message.invalidPageNumber': 'Please enter a valid page number',
|
||
'system.log.message.loadDetailFailed': 'Failed to load log details',
|
||
'system.log.message.copySuccess': 'Copy successfully',
|
||
'system.log.message.copyEmpty': 'Content is empty, cannot copy',
|
||
'system.log.message.copyFailed': 'Copy failed',
|
||
|
||
// User - Recharge
|
||
'user.recharge.deposit.panel.subtitle': 'Fund Recharge',
|
||
'user.recharge.deposit.panel.title': 'Complete Recharge in 3 Steps',
|
||
'user.recharge.deposit.panel.desc': 'Select Amount · Upload Voucher · Wait for Review',
|
||
'user.recharge.deposit.steps.selectAmount.title': 'Select Amount',
|
||
'user.recharge.deposit.steps.selectAmount.desc': 'Select amount and confirm payment method',
|
||
'user.recharge.deposit.steps.uploadVoucher.title': 'Upload Voucher',
|
||
'user.recharge.deposit.steps.uploadVoucher.desc': 'Upload transfer screenshot',
|
||
'user.recharge.deposit.steps.review.title': 'Review',
|
||
'user.recharge.deposit.steps.review.desc': 'Wait for finance confirmation',
|
||
'user.recharge.deposit.steps.tip.selectAmount': 'Select amount and confirm',
|
||
'user.recharge.deposit.steps.tip.uploadVoucher': 'Upload recharge voucher',
|
||
'user.recharge.deposit.steps.tip.review': 'Review processing',
|
||
'user.recharge.deposit.steps.tip.complete': 'Complete',
|
||
'user.recharge.deposit.tips.title': 'Tips',
|
||
'user.recharge.deposit.tips.item1': 'Recharge and balance 1:1 arrival',
|
||
'user.recharge.deposit.tips.item2': 'Upload clear and complete payment screenshot',
|
||
'user.recharge.deposit.tips.item3': 'SMS/In-site message reminder after funds arrive',
|
||
'user.recharge.deposit.form.currentAmount': 'Current recharge amount',
|
||
'user.recharge.deposit.form.stepChip': 'Step {step} · {tip}',
|
||
'user.recharge.deposit.form.selectAmount': 'Select Amount',
|
||
'user.recharge.deposit.form.custom': 'Custom',
|
||
'user.recharge.deposit.form.inputAmount': 'Enter Amount',
|
||
'user.recharge.deposit.form.paymentMethod': 'Payment Method',
|
||
'user.recharge.deposit.form.qrTip': 'Click QR code to zoom in and view details',
|
||
'user.recharge.deposit.form.uploadVoucher': 'Upload Voucher',
|
||
'user.recharge.deposit.form.uploadVoucherDesc': 'Please upload a clear payment screenshot for quick finance confirmation',
|
||
'user.recharge.deposit.form.uploading': 'Uploading',
|
||
'user.recharge.deposit.form.uploadScreenshot': 'Upload Screenshot',
|
||
'user.recharge.deposit.payment.alipay': 'Alipay',
|
||
'user.recharge.deposit.payment.alipayDesc': 'Support scan code and transfer',
|
||
'user.recharge.deposit.payment.wechat': 'WeChat Pay',
|
||
'user.recharge.deposit.payment.wechatDesc': 'Recommended for fast arrival',
|
||
'user.recharge.deposit.result.title': 'Submitted Successfully',
|
||
'user.recharge.deposit.result.subtitle': 'Under review, please wait patiently',
|
||
'user.recharge.deposit.result.actions.rechargeAgain': 'Recharge Again',
|
||
'user.recharge.deposit.result.actions.viewBill': 'View Bill',
|
||
'user.recharge.deposit.actions.prevStep': 'Previous',
|
||
'user.recharge.deposit.actions.nextStep': 'Next',
|
||
'user.recharge.deposit.actions.submitReview': 'Submit for Review',
|
||
'user.recharge.deposit.message.selectAmount': 'Please select recharge amount',
|
||
'user.recharge.deposit.message.uploadSuccess': 'Upload successfully',
|
||
'user.recharge.deposit.message.uploadFailed': 'Upload failed',
|
||
'user.recharge.deposit.message.uploadVoucherFirst': 'Please upload recharge voucher first',
|
||
'user.recharge.deposit.message.submitFailed': 'Submit failed',
|
||
'user.recharge.deposit.message.submitSuccess': 'Recharge application submitted, pending review',
|
||
|
||
// User - Recharge Record
|
||
'user.recharge.record.search.serialNo': 'Serial No',
|
||
'user.recharge.record.search.serialNoPlaceholder': 'Search serial no',
|
||
'user.recharge.record.search.status': 'Recharge Status',
|
||
'user.recharge.record.search.statusPlaceholder': 'Please select',
|
||
'user.recharge.record.search.statusAll': 'All',
|
||
'user.recharge.record.search.statusPending': 'Pending',
|
||
'user.recharge.record.search.statusSuccess': 'Success',
|
||
'user.recharge.record.search.statusFailed': 'Failed',
|
||
'user.recharge.record.search.actions.search': 'Search',
|
||
'user.recharge.record.search.actions.reset': 'Reset',
|
||
'user.recharge.record.search.actions.export': 'Export',
|
||
'user.recharge.record.search.dateRange': 'Recharge time',
|
||
'user.recharge.record.search.customerId': 'Customer ID',
|
||
'user.recharge.record.search.customerIdPlaceholder': 'Optional',
|
||
'user.recharge.record.modal.rejectTitle': 'Reject recharge',
|
||
'user.recharge.record.modal.rejectRemark': 'Reason',
|
||
'user.recharge.record.modal.rejectRemarkPlaceholder': 'Optional reason',
|
||
'user.recharge.record.modal.approveConfirmTitle': 'Confirm approval',
|
||
'user.recharge.record.modal.approveConfirm': 'Approve this recharge request?',
|
||
'user.recharge.record.modal.rejectConfirmTitle': 'Confirm rejection',
|
||
'user.recharge.record.modal.rejectConfirm': 'Reject this recharge request?',
|
||
'user.recharge.record.message.loadError': 'Failed to load',
|
||
'user.recharge.record.message.approveError': 'Approve failed',
|
||
'user.recharge.record.message.rejectError': 'Reject failed',
|
||
'user.recharge.record.table.serialNo': 'Serial No',
|
||
'user.recharge.record.table.payTime': 'Recharge Time',
|
||
'user.recharge.record.table.payType': 'Payment Method',
|
||
'user.recharge.record.table.payAmount': 'Recharge Amount',
|
||
'user.recharge.record.table.payImage': 'Recharge Screenshot',
|
||
'user.recharge.record.table.payStatus': 'Recharge Status',
|
||
'user.recharge.record.table.remarks': 'Remarks',
|
||
'user.recharge.record.payment.alipay': 'Alipay',
|
||
'user.recharge.record.payment.wechat': 'WeChat',
|
||
'user.recharge.record.actions.approve': 'Approve',
|
||
'user.recharge.record.actions.reject': 'Reject',
|
||
'user.recharge.record.message.approveSuccess': 'Approved',
|
||
'user.recharge.record.message.rejectSuccess': 'Rejected',
|
||
'user.recharge.record.message.exportSuccess': 'Exported successfully',
|
||
|
||
'user.accountFlow.search.keywordPlaceholder': 'Serial no. / related no.',
|
||
'user.accountFlow.search.bizTypePlaceholder': 'Business type',
|
||
'user.accountFlow.search.bizTypeAll': 'All',
|
||
'user.accountFlow.search.customerIdPlaceholder': 'Customer ID (optional)',
|
||
'user.accountFlow.search.dateRange': 'Transaction time',
|
||
'user.accountFlow.search.actions.search': 'Search',
|
||
'user.accountFlow.search.actions.reset': 'Reset',
|
||
'user.accountFlow.bizType.recharge': 'Recharge credit',
|
||
'user.accountFlow.bizType.orderPay': 'Order payment',
|
||
'user.accountFlow.message.loadError': 'Failed to load account transactions',
|
||
'user.accountFlow.table.serialNumber': 'Serial no.',
|
||
'user.accountFlow.table.createTime': 'Time',
|
||
'user.accountFlow.table.bizType': 'Type',
|
||
'user.accountFlow.table.bizNo': 'Related no.',
|
||
'user.accountFlow.table.amount': 'Amount',
|
||
'user.accountFlow.table.balanceBefore': 'Balance before',
|
||
'user.accountFlow.table.balanceAfter': 'Balance after',
|
||
'user.accountFlow.table.remark': 'Remark',
|
||
'user.accountFlow.table.customerCode': 'Customer code',
|
||
|
||
// Finance - receivable & payable
|
||
'finance.receivablePayable.search.keywordPlaceholder': 'Service no. / client no. / track no.',
|
||
'finance.receivablePayable.search.feeTypePlaceholder': 'Fee type',
|
||
'finance.receivablePayable.search.feeTypeAll': 'All',
|
||
'finance.receivablePayable.search.costItemPlaceholder': 'Cost item',
|
||
'finance.receivablePayable.search.chargingStagePlaceholder': 'Charging stage',
|
||
'finance.receivablePayable.search.chargingStageAll': 'All',
|
||
'finance.receivablePayable.search.customerIdPlaceholder': 'Customer ID (optional)',
|
||
'finance.receivablePayable.search.dateRange': 'Order created time',
|
||
'finance.receivablePayable.search.actions.search': 'Search',
|
||
'finance.receivablePayable.search.actions.reset': 'Reset',
|
||
'finance.receivablePayable.feeType.receivable': 'Receivable',
|
||
'finance.receivablePayable.feeType.payable': 'Payable',
|
||
'finance.receivablePayable.chargingStage.forecast': 'Forecast',
|
||
'finance.receivablePayable.chargingStage.inbound': 'Inbound',
|
||
'finance.receivablePayable.chargingStage.outbound': 'Outbound',
|
||
'finance.receivablePayable.isPaid.yes': 'Paid',
|
||
'finance.receivablePayable.isPaid.no': 'Unpaid',
|
||
'finance.receivablePayable.message.loadError': 'Failed to load receivables & payables',
|
||
'finance.receivablePayable.table.serviceNo': 'Service no.',
|
||
'finance.receivablePayable.table.clientNo': 'Client no.',
|
||
'finance.receivablePayable.table.trackNo': 'Track no.',
|
||
'finance.receivablePayable.table.customerCode': 'Customer code',
|
||
'finance.receivablePayable.table.feeType': 'Fee type',
|
||
'finance.receivablePayable.table.costItem': 'Cost item',
|
||
'finance.receivablePayable.table.amount': 'Amount',
|
||
'finance.receivablePayable.table.currency': 'Currency',
|
||
'finance.receivablePayable.table.chargingStage': 'Charging stage',
|
||
'finance.receivablePayable.table.orderStatus': 'Order status',
|
||
'finance.receivablePayable.table.isPaid': 'Payment status',
|
||
'finance.receivablePayable.table.productCode': 'Product code',
|
||
'finance.receivablePayable.table.channelCode': 'Channel code',
|
||
'finance.receivablePayable.table.consigneeCountryName': 'Destination country',
|
||
'finance.receivablePayable.table.downstreamProvider': 'Downstream provider',
|
||
'finance.receivablePayable.table.priceNo': 'Price no.',
|
||
'finance.receivablePayable.table.priceEffectiveTime': 'Price effective time',
|
||
'finance.receivablePayable.table.payTime': 'Pay time',
|
||
'finance.receivablePayable.table.receiveTime': 'Receive time',
|
||
'finance.receivablePayable.table.shipTime': 'Ship time',
|
||
|
||
'user.recharge.record.message.exportError': 'Export failed',
|
||
'user.recharge.record.pagination.total': '{count} total',
|
||
'user.recharge.record.pagination.prev': 'Prev',
|
||
'user.recharge.record.pagination.next': 'Next',
|
||
'user.recharge.record.pagination.perPage': '/page',
|
||
'user.recharge.record.pagination.goTo': 'Go to',
|
||
'user.recharge.record.pagination.page': 'page',
|
||
'user.recharge.record.pagination.invalidPage': 'Please enter a valid page number',
|
||
|
||
// Personal Center
|
||
'profile.defaultName': 'User',
|
||
'profile.contactInfo': 'Contact Info',
|
||
'profile.quickActions': 'Quick Actions',
|
||
'profile.myOrders': 'My Orders',
|
||
'profile.accountDetails': 'Account Details',
|
||
'profile.edit': 'Edit Profile',
|
||
'profile.resetPassword': 'Reset Password',
|
||
'profile.editProfile': 'Edit Profile',
|
||
'profile.changePassword': 'Change Password',
|
||
'profile.oldPassword': 'Current Password',
|
||
'profile.newPassword': 'New Password',
|
||
'profile.confirmPassword': 'Confirm New Password',
|
||
'profile.passwordMismatch': 'Passwords do not match',
|
||
'profile.changePasswordSuccess': 'Password changed successfully, please login again',
|
||
|
||
// Customer Management
|
||
'user.customer.searchPlaceholder': 'Customer code/name/phone',
|
||
'user.customer.actions.add': 'Add',
|
||
'user.customer.actions.search': 'Search',
|
||
'user.customer.actions.reset': 'Reset',
|
||
'user.customer.actions.edit': 'Edit',
|
||
'user.customer.actions.delete': 'Delete',
|
||
'user.customer.actions.resetPassword': 'Reset Password',
|
||
'user.customer.actions.omsLogin': 'OMS Login',
|
||
'user.customer.fields.customerCode': 'Customer Code',
|
||
'user.customer.fields.customerName': 'Customer Name',
|
||
'user.customer.fields.wechatAvatar': 'WeChat Avatar',
|
||
'user.customer.fields.wechatAvatarUrl': 'WeChat Avatar URL',
|
||
'user.customer.fields.wechatNickname': 'WeChat Nickname',
|
||
'user.customer.fields.email': 'Email',
|
||
'user.customer.fields.phone': 'Phone',
|
||
'user.customer.fields.password': 'Password',
|
||
'user.customer.fields.accountBalance': 'Account Balance',
|
||
'user.customer.fields.totalQuota': 'Total Quota',
|
||
'user.customer.fields.usedQuota': 'Used Quota',
|
||
'user.customer.fields.status': 'Status',
|
||
'user.customer.fields.customerGroup': 'Customer Group',
|
||
'user.customer.fields.remark': 'Remark',
|
||
'user.customer.fields.createTime': 'Create Time',
|
||
'user.customer.fields.createdAt': 'Created At',
|
||
'user.customer.fields.createBy': 'Create By',
|
||
'user.customer.fields.createdBy': 'Created By',
|
||
'user.customer.fields.updateTime': 'Update Time',
|
||
'user.customer.fields.updateBy': 'Update By',
|
||
'user.customer.fields.salesPerson': 'Sales Person',
|
||
'user.customer.fields.customerService': 'Advisor',
|
||
'user.customer.fields.role': 'Role',
|
||
'user.customer.role.customer': 'Customer',
|
||
'user.customer.role.admin': 'Admin',
|
||
'user.customer.role.operator': 'Operator',
|
||
'user.customer.role.viewer': 'Viewer',
|
||
'user.customer.fields.lastOnlineTime': 'Last Online Time',
|
||
'user.customer.fields.lastOnlineIp': 'Last Online IP',
|
||
'user.customer.table.actions': 'Actions',
|
||
'user.customer.status.enabled': 'Enabled',
|
||
'user.customer.status.disabled': 'Disabled',
|
||
'user.customer.status.frozen': 'Frozen',
|
||
'user.customer.group.normal': 'Normal',
|
||
'user.customer.group.vip1': 'VIP1',
|
||
'user.customer.group.vip2': 'VIP2',
|
||
'user.customer.group.vip3': 'VIP3',
|
||
'user.customer.group.vip4': 'VIP4',
|
||
'user.customer.group.vip5': 'VIP5',
|
||
'user.customer.placeholder.input': 'Please enter',
|
||
'user.customer.placeholder.select': 'Please select',
|
||
'user.customer.modal.addTitle': 'Add Customer',
|
||
'user.customer.modal.editTitle': 'Edit Customer',
|
||
'user.customer.modal.deleteConfirm': 'Are you sure to delete this customer?',
|
||
'user.customer.rules.customerNameRequired': 'Please enter customer name',
|
||
'user.customer.rules.phoneRequired': 'Please enter phone number',
|
||
'user.customer.rules.emailRequired': 'Please enter email',
|
||
'user.customer.rules.passwordRequired': 'Please enter password',
|
||
'user.customer.rules.passwordLetterAndDigit': 'Password must contain both letters and numbers',
|
||
'user.customer.hint.autoCustomerCode': 'Auto-generated on save (e.g. AF0A1, 1st customer in Jun 2026)',
|
||
'user.customer.message.loadFailed': 'Load failed',
|
||
'user.customer.message.createSuccess': 'Created successfully',
|
||
'user.customer.message.updateSuccess': 'Updated successfully',
|
||
'user.customer.message.deleteSuccess': 'Deleted successfully',
|
||
'user.customer.message.deleteFailed': 'Delete failed',
|
||
'user.customer.message.saveFailed': 'Save failed',
|
||
'user.customer.message.resetPasswordSuccess': 'Password reset successfully',
|
||
'user.customer.message.resetPasswordFailed': 'Password reset failed',
|
||
'user.customer.pagination.total': 'Total {count} records',
|
||
'user.customer.pagination.prev': 'Prev',
|
||
'user.customer.pagination.next': 'Next',
|
||
'user.customer.pagination.perPage': '/page',
|
||
'user.customer.pagination.goTo': 'Go to',
|
||
'user.customer.pagination.page': 'Page',
|
||
'user.customer.pagination.invalidPage': 'Please enter a valid page number',
|
||
|
||
'user.subAccount.searchPlaceholder': 'Sub-account code/name/phone',
|
||
'user.subAccount.filter.mainCustomer': 'Filter by main customer',
|
||
'user.subAccount.actions.add': 'Add Sub Account',
|
||
'user.subAccount.fields.customerCode': 'Sub Account Code',
|
||
'user.subAccount.fields.customerName': 'Sub Account Name',
|
||
'user.subAccount.fields.phone': 'Phone',
|
||
'user.subAccount.fields.email': 'Email',
|
||
'user.subAccount.fields.password': 'Password',
|
||
'user.subAccount.fields.status': 'Status',
|
||
'user.subAccount.fields.remark': 'Remark',
|
||
'user.subAccount.fields.permissions': 'Permissions',
|
||
'user.subAccount.fields.parentCustomerId': 'Main Customer ID',
|
||
'user.subAccount.fields.createTime': 'Create Time',
|
||
'user.subAccount.fields.updateTime': 'Update Time',
|
||
'user.subAccount.status.enabled': 'Normal',
|
||
'user.subAccount.status.disabled': 'Disabled',
|
||
'user.subAccount.status.frozen': 'Frozen',
|
||
'user.subAccount.placeholder.input': 'Please enter',
|
||
'user.subAccount.placeholder.select': 'Please select',
|
||
'user.subAccount.modal.addTitle': 'Add Sub Account',
|
||
'user.subAccount.rules.customerCodeRequired': 'Please enter sub account code',
|
||
'user.subAccount.rules.customerNameRequired': 'Please enter sub account name',
|
||
'user.subAccount.rules.phoneRequired': 'Please enter phone number',
|
||
'user.subAccount.rules.passwordRequired': 'Please enter password',
|
||
'user.subAccount.message.loadFailed': 'Load failed',
|
||
'user.subAccount.message.createSuccess': 'Sub account created',
|
||
'user.subAccount.message.createFailed': 'Create failed',
|
||
'user.subAccount.tip.mainCustomerOnly': 'Only main customer accounts can create sub accounts. Please log in as main customer.',
|
||
'user.subAccount.permission.expandAll': 'Expand All',
|
||
'user.subAccount.permission.collapseAll': 'Collapse All',
|
||
'user.subAccount.permission.checkAll': 'Select All',
|
||
'user.subAccount.permission.uncheckAll': 'Clear All',
|
||
'user.subAccount.permission.loading': 'Loading permissions...',
|
||
|
||
// System - Config
|
||
'system.config.tabs.sysConfig': 'System Config',
|
||
'system.config.tabs.safety': 'Safety Config',
|
||
'system.config.message.loadFailed': 'Failed to load system config',
|
||
|
||
// System Config - Base Config
|
||
'system.config.sysBase.form.sysName': 'System Name',
|
||
'system.config.sysBase.form.sysVersion': 'System Version',
|
||
'system.config.sysBase.form.copyright': 'Copyright',
|
||
'system.config.sysBase.form.copyrightUrl': 'Copyright URL',
|
||
'system.config.sysBase.form.webStatus': 'Website Access (Business Only)',
|
||
'system.config.sysBase.form.tenantOptions': 'Multi-tenant Config',
|
||
'system.config.sysBase.form.webClosePrompt': 'Website Close Prompt',
|
||
'system.config.sysBase.form.footerLinks': 'Footer Links',
|
||
'system.config.sysBase.form.logo': 'System Logo',
|
||
'system.config.sysBase.form.linkName': 'Link Name',
|
||
'system.config.sysBase.form.linkUrl': 'Link URL',
|
||
'system.config.sysBase.form.sortCode': 'Sort',
|
||
'system.config.sysBase.form.placeholder.sysName': 'Please enter system name',
|
||
'system.config.sysBase.form.placeholder.sysVersion': 'Please enter system version',
|
||
'system.config.sysBase.form.placeholder.copyright': 'Please enter copyright',
|
||
'system.config.sysBase.form.placeholder.copyrightUrl': 'Please enter copyright URL',
|
||
'system.config.sysBase.form.placeholder.webClosePrompt': 'Please enter website close prompt',
|
||
'system.config.sysBase.form.placeholder.linkName': 'Please enter link name',
|
||
'system.config.sysBase.form.placeholder.linkUrl': 'Please enter link URL',
|
||
'system.config.sysBase.form.placeholder.sortCode': 'Please enter sort',
|
||
'system.config.sysBase.form.logoPreviewTip': 'Click image to preview, click delete to remove',
|
||
'system.config.sysBase.form.rules.sysNameRequired': 'Please enter system name',
|
||
'system.config.sysBase.form.rules.sysVersionRequired': 'Please enter system version',
|
||
'system.config.sysBase.form.rules.copyrightRequired': 'Please enter system copyright',
|
||
'system.config.sysBase.form.rules.copyrightUrlRequired': 'Please enter system copyright URL',
|
||
'system.config.sysBase.form.rules.linkNameRequired': 'Please enter link name',
|
||
'system.config.sysBase.form.rules.linkUrlRequired': 'Please enter link URL',
|
||
'system.config.sysBase.form.rules.sortCodeRequired': 'Please enter sort',
|
||
'system.config.sysBase.options.enable': 'Enable',
|
||
'system.config.sysBase.options.disable': 'Disable',
|
||
'system.config.sysBase.options.close': 'Close',
|
||
'system.config.sysBase.options.open': 'Open',
|
||
'system.config.sysBase.actions.add': 'Add',
|
||
'system.config.sysBase.actions.save': 'Save',
|
||
'system.config.sysBase.actions.reset': 'Reset',
|
||
'system.config.sysBase.actions.uploadLogo': 'Upload Logo',
|
||
'system.config.sysBase.modal.linkTitle': 'Link Information',
|
||
'system.config.sysBase.message.saveSuccess': 'Save successful',
|
||
'system.config.sysBase.message.saveFailed': 'Save failed',
|
||
'system.config.sysBase.message.fileNotExists': 'File does not exist',
|
||
'system.config.sysBase.message.onlyImageAllowed': 'Only image files are allowed',
|
||
'system.config.sysBase.message.imageSizeExceeded': 'Image size cannot exceed 5MB',
|
||
'system.config.sysBase.message.uploadSuccess': 'Logo upload successful',
|
||
'system.config.sysBase.message.uploadFailedNoFileId': 'Upload failed: File ID not obtained',
|
||
'system.config.sysBase.message.uploadFailed': 'Logo upload failed',
|
||
'system.config.sysBase.message.logoRemoved': 'Logo removed',
|
||
|
||
// System Config - Safety Config
|
||
'system.config.safety.tabs.login': 'Login Policy',
|
||
'system.config.safety.tabs.password': 'Password Policy',
|
||
'system.config.safety.common.yes': 'Yes',
|
||
'system.config.safety.common.no': 'No',
|
||
'system.config.safety.common.save': 'Save',
|
||
'system.config.safety.common.reset': 'Reset',
|
||
'system.config.safety.common.saveSuccess': 'Save successful',
|
||
'system.config.safety.common.saveFailed': 'Save failed',
|
||
'system.config.safety.login.form.singleOpen': 'Single User Login',
|
||
'system.config.safety.login.form.captchaOpen': 'Login Captcha',
|
||
'system.config.safety.login.form.errorCount': 'Allowed Login Error Count',
|
||
'system.config.safety.login.form.resetTime': 'Login Error Reset Time (minutes)',
|
||
'system.config.safety.login.form.lockTime': 'Account Lock Duration (minutes)',
|
||
'system.config.safety.login.form.captchaType': 'Login Captcha Type',
|
||
'system.config.safety.login.form.placeholder.errorCount': 'Please enter allowed login error count',
|
||
'system.config.safety.login.form.placeholder.resetTime': 'Please enter login error reset time',
|
||
'system.config.safety.login.form.placeholder.lockTime': 'Please enter account lock duration',
|
||
'system.config.safety.login.form.placeholder.captchaType': 'Please select captcha type',
|
||
'system.config.safety.login.form.rules.errorCountRequired': 'Please enter allowed login error count',
|
||
'system.config.safety.login.form.rules.resetTimeRequired': 'Please enter login error reset time',
|
||
'system.config.safety.login.form.rules.lockTimeRequired': 'Please enter account lock duration',
|
||
'system.config.safety.login.form.rules.captchaTypeRequired': 'Please select login captcha type',
|
||
'system.config.safety.login.form.rules.singleOpenRequired': 'Please select single user login',
|
||
'system.config.safety.login.form.rules.captchaOpenRequired': 'Please select login captcha',
|
||
'system.config.safety.login.options.arithmetic': 'Arithmetic Captcha',
|
||
'system.config.safety.login.options.chinese': 'Chinese Captcha',
|
||
'system.config.safety.login.options.slider': 'Slider Captcha',
|
||
'system.config.safety.password.form.defaultPassword': 'System Default Password',
|
||
'system.config.safety.password.form.minLength': 'Password Min Length',
|
||
'system.config.safety.password.form.remind': 'Password Remind Update',
|
||
'system.config.safety.password.form.remindDay': 'Password Remind Update Time (days)',
|
||
'system.config.safety.password.form.updateDefault': 'Update Initial Password Remind',
|
||
'system.config.safety.password.form.containNum': 'Contain Number',
|
||
'system.config.safety.password.form.containLower': 'Contain Lowercase',
|
||
'system.config.safety.password.form.containUpper': 'Contain Uppercase',
|
||
'system.config.safety.password.form.containCharacter': 'Contain Special Character',
|
||
'system.config.safety.password.form.placeholder.defaultPassword': 'Please enter system default password',
|
||
'system.config.safety.password.form.placeholder.minLength': 'Please enter password min length',
|
||
'system.config.safety.password.form.placeholder.remindDay': 'Please enter password remind update time',
|
||
'system.config.safety.password.form.rules.defaultPasswordRequired': 'Please enter system default password',
|
||
'system.config.safety.password.form.rules.remindRequired': 'Please select password remind update',
|
||
'system.config.safety.password.form.rules.remindDayRequired': 'Please enter password remind update time',
|
||
'system.config.safety.password.form.rules.updateDefaultRequired': 'Please select update initial password remind',
|
||
'system.config.safety.password.form.rules.minLengthRequired': 'Please enter password min length',
|
||
'system.config.safety.password.form.rules.containNumRequired': 'Please select contain number',
|
||
'system.config.safety.password.form.rules.containLowerRequired': 'Please select contain lowercase',
|
||
'system.config.safety.password.form.rules.containUpperRequired': 'Please select contain uppercase',
|
||
'system.config.safety.password.form.rules.containCharacterRequired': 'Please select contain special character',
|
||
|
||
// System - Audit Log - Operation Log
|
||
'system.audit.oplog.search.placeholder': 'Enter keyword',
|
||
'system.audit.oplog.type.operate': 'Operation Log',
|
||
'system.audit.oplog.type.exception': 'Exception Log',
|
||
'system.audit.oplog.table.name': 'Name',
|
||
'system.audit.oplog.table.opIp': 'IP Address',
|
||
'system.audit.oplog.table.opAddress': 'Address',
|
||
'system.audit.oplog.table.className': 'Class Name',
|
||
'system.audit.oplog.table.methodName': 'Method Name',
|
||
'system.audit.oplog.table.opUser': 'User',
|
||
'system.audit.oplog.table.opAccount': 'Account',
|
||
'system.audit.oplog.table.opTime': 'Operation Time',
|
||
'system.audit.oplog.table.operation': 'Action',
|
||
'system.audit.oplog.actions.clear': 'Clear',
|
||
'system.audit.oplog.actions.clearCurrent': 'Clear current log',
|
||
'system.audit.oplog.actions.view': 'View',
|
||
'system.audit.oplog.modal.clearConfirmTitle': 'Confirm Clear',
|
||
'system.audit.oplog.modal.clearConfirmContent': 'Are you sure to {msg}?',
|
||
'system.audit.oplog.message.loadFailed': 'Failed to load operation log',
|
||
'system.audit.oplog.message.clearSuccess': 'Clear successfully',
|
||
'system.audit.oplog.message.clearFailed': 'Clear failed',
|
||
|
||
// System - Audit Log - Visit Log
|
||
'system.audit.vislog.search.placeholder': 'Enter keyword',
|
||
'system.audit.vislog.type.login': 'Login Log',
|
||
'system.audit.vislog.type.logout': 'Logout Log',
|
||
'system.audit.vislog.table.name': 'Name',
|
||
'system.audit.vislog.table.opIp': 'IP Address',
|
||
'system.audit.vislog.table.opAddress': 'Address',
|
||
'system.audit.vislog.table.opBrowser': 'Browser',
|
||
'system.audit.vislog.table.opOs': 'Operating System',
|
||
'system.audit.vislog.table.opUser': 'User',
|
||
'system.audit.vislog.table.opAccount': 'Account',
|
||
'system.audit.vislog.table.opTime': 'Operation Time',
|
||
'system.audit.vislog.table.operation': 'Action',
|
||
'system.audit.vislog.actions.clear': 'Clear',
|
||
'system.audit.vislog.actions.clearCurrent': 'Clear current log',
|
||
'system.audit.vislog.actions.view': 'View',
|
||
'system.audit.vislog.modal.clearConfirmTitle': 'Confirm Clear',
|
||
'system.audit.vislog.modal.clearConfirmContent': 'Are you sure to {msg}?',
|
||
'system.audit.vislog.message.loadFailed': 'Failed to load visit log',
|
||
'system.audit.vislog.message.clearSuccess': 'Clear successfully',
|
||
'system.audit.vislog.message.clearFailed': 'Clear failed',
|
||
|
||
// System - Upstream interface parameter maintenance (new-port.vue)
|
||
'system.interface.section.basicInfo': 'Basic Info',
|
||
'system.interface.section.requestParams': 'Request Parameters',
|
||
'system.interface.section.secondRequestParams': 'Secondary Request Parameters',
|
||
'system.interface.section.responseParams': 'Response Parameters',
|
||
|
||
'system.interface.actions.addParam': 'Add Parameter',
|
||
'system.interface.actions.paramParse': 'Parse Parameters',
|
||
'system.interface.actions.add': 'Add',
|
||
'system.interface.actions.save': 'Save',
|
||
|
||
'system.interface.parse.needImportFirst': 'Import failed, please provide content in the required format first',
|
||
'system.interface.parse.needImportOrParseFirst': 'Import failed, please provide content in the required format or parse it first',
|
||
'system.interface.parse.success': 'Parsed successfully',
|
||
'system.interface.import.success': 'Imported successfully',
|
||
'system.interface.import.fail': 'Import failed',
|
||
|
||
// Channel - Label Design
|
||
'channel.labelDesign.pageTitle': 'Label Template Config',
|
||
'channel.labelDesign.configTitle': 'Template Config',
|
||
'channel.labelDesign.sizeLabel': 'Label Size (W×H)',
|
||
'channel.labelDesign.widthPlaceholder': 'Width',
|
||
'channel.labelDesign.heightPlaceholder': 'Height',
|
||
'channel.labelDesign.titleLabel': 'Label Title',
|
||
'channel.labelDesign.titlePlaceholder': 'Enter label title',
|
||
'channel.labelDesign.contentLabel': 'Label Content',
|
||
'channel.labelDesign.contentPlaceholder': 'Enter label content',
|
||
'channel.labelDesign.apply': 'Apply',
|
||
'channel.labelDesign.reset': 'Reset',
|
||
'channel.labelDesign.previewTitle': 'Preview (drag to move, resize from corner)',
|
||
'channel.labelDesign.sizeMinError': 'Min size is 50px',
|
||
'channel.labelDesign.noTitle': 'No title',
|
||
'channel.labelDesign.noContent': 'No content',
|
||
'channel.labelDesign.applySuccess': 'Config applied',
|
||
'channel.labelDesign.resetSuccess': 'Config reset',
|
||
|
||
// Channel - Sales Products
|
||
'channel.salesProducts.search.placeholder': 'Enter product name',
|
||
'channel.salesProducts.search.refresh': 'Refresh list',
|
||
'channel.salesProducts.search.addProduct': 'Add product',
|
||
|
||
'channel.salesProducts.tabs.config': 'Product config',
|
||
'channel.salesProducts.tabs.price': 'Product pricing',
|
||
'channel.salesProducts.tabs.rules': 'Shipping rules',
|
||
'channel.salesProducts.tabs.customerGuide': 'Customer guide',
|
||
'channel.salesProducts.tabs.records': 'Publish records',
|
||
|
||
'channel.salesProducts.actions.save': 'Save',
|
||
'channel.salesProducts.actions.add': 'Add',
|
||
'channel.salesProducts.actions.edit': 'Edit',
|
||
'channel.salesProducts.actions.delete': 'Delete',
|
||
'channel.salesProducts.actions.publish': 'Publish',
|
||
'channel.salesProducts.actions.rollback': 'Rollback to this version',
|
||
|
||
'channel.salesProducts.customerGuide.editing': 'Editing',
|
||
'channel.salesProducts.customerGuide.cancel': 'Cancel',
|
||
'channel.salesProducts.customerGuide.useTemplate': 'Use template',
|
||
'channel.salesProducts.customerGuide.clear': 'Clear',
|
||
'channel.salesProducts.customerGuide.source': 'Markdown source',
|
||
'channel.salesProducts.customerGuide.preview': 'Preview',
|
||
'channel.salesProducts.customerGuide.previewEmpty': 'Preview will appear here after you enter Markdown',
|
||
'channel.salesProducts.customerGuide.placeholder': 'Enter customer-facing notes (Markdown supported)',
|
||
'channel.salesProducts.customerGuide.empty': 'No customer guide yet. Click Edit or Use template',
|
||
'channel.salesProducts.customerGuide.selectProduct': 'Select a sales product on the left first',
|
||
|
||
'channel.salesProducts.price.effectiveVersion': 'Effective version: {version}',
|
||
|
||
'channel.salesProducts.rules.schemeTitle': 'Shipping scheme',
|
||
'channel.salesProducts.rules.scheme.costLowest': 'Lowest cost',
|
||
'channel.salesProducts.rules.scheme.timeFastest': 'Fastest time',
|
||
'channel.salesProducts.rules.scheme.overallBest': 'Best overall',
|
||
'channel.salesProducts.rules.scheme.explanation':
|
||
'(Use a scoring mechanism, the lowest score is considered optimal)',
|
||
|
||
'channel.salesProducts.table.providers.serialNo': 'No.',
|
||
'channel.salesProducts.table.providers.providerName': 'Provider name',
|
||
'channel.salesProducts.table.providers.serviceChannel': 'Service channel',
|
||
'channel.salesProducts.table.providers.weight': 'Weight',
|
||
'channel.salesProducts.table.providers.customers': 'Customers',
|
||
'channel.salesProducts.table.providers.actions': 'Action',
|
||
'channel.salesProducts.table.providers.placeholder.providerName': 'Enter provider name',
|
||
'channel.salesProducts.table.providers.placeholder.serviceChannel': 'Enter service channel',
|
||
'channel.salesProducts.table.price.status': 'Status',
|
||
|
||
'channel.salesProducts.publish.tabs.price': 'Price',
|
||
'channel.salesProducts.publish.tabs.rules': 'Rules',
|
||
'channel.salesProducts.publish.versionRemark': 'Version note',
|
||
'channel.salesProducts.publish.noRemark': 'No notes',
|
||
|
||
'channel.salesProducts.modal.publishDateTitle': 'Select publish date',
|
||
'channel.salesProducts.modal.publishDate.placeholder': 'Please select date',
|
||
'channel.salesProducts.modal.actions.cancel': 'Cancel',
|
||
'channel.salesProducts.modal.actions.ok': 'OK',
|
||
|
||
'channel.salesProducts.form.productCode': 'Product code',
|
||
'channel.salesProducts.form.productName': 'Product name',
|
||
'channel.salesProducts.form.group': 'Group',
|
||
'channel.salesProducts.form.efficiency': 'Transit time',
|
||
'channel.salesProducts.form.customerWaybill': 'Customer waybill',
|
||
'channel.salesProducts.form.blacklistArea': 'Blacklist area',
|
||
'channel.salesProducts.form.remoteAreaDivision': 'Remote area division',
|
||
'channel.salesProducts.form.priceArea': 'Price area',
|
||
'channel.salesProducts.form.weightCalculationRule': 'Weight rule',
|
||
'channel.salesProducts.form.weightRounding': 'Weight rounding',
|
||
'channel.salesProducts.form.productDescription': 'Product description',
|
||
'channel.salesProducts.form.preStorageScript': 'Pre-storage script',
|
||
'channel.salesProducts.form.placeholder.input': 'Please enter',
|
||
'channel.salesProducts.form.placeholder.min': 'Min',
|
||
'channel.salesProducts.form.placeholder.max': 'Max',
|
||
'channel.salesProducts.form.placeholder.select': 'Please select',
|
||
|
||
'channel.salesProducts.referencePreview.view': 'View details',
|
||
'channel.salesProducts.referencePreview.title': 'View: {name}',
|
||
'channel.salesProducts.referencePreview.noSelection': 'Please select an item first',
|
||
'channel.salesProducts.referencePreview.loadFailed': 'Failed to load details',
|
||
'channel.salesProducts.referencePreview.empty': 'No detail data',
|
||
|
||
'channel.salesProducts.drawer.tabs.basic': 'Basic info',
|
||
'channel.salesProducts.drawer.tabs.priceList': 'Price table',
|
||
|
||
'channel.salesProducts.drawer.form.costItem': 'Cost item',
|
||
'channel.salesProducts.drawer.form.costUnit': 'Cost unit',
|
||
'channel.salesProducts.drawer.form.currency': 'Currency',
|
||
'channel.salesProducts.drawer.form.chargingCondition': 'Charging condition',
|
||
|
||
'channel.salesProducts.drawer.section.billingFactors': 'Billing factors',
|
||
'channel.salesProducts.drawer.table.billingFactors.serialNo': 'No.',
|
||
'channel.salesProducts.drawer.table.billingFactors.factor': 'Factor',
|
||
'channel.salesProducts.drawer.table.billingFactors.factorValues': 'Factor values',
|
||
'channel.salesProducts.drawer.table.billingFactors.actions': 'Action',
|
||
|
||
'channel.salesProducts.drawer.section.priceListTitle': 'Freight',
|
||
'channel.salesProducts.drawer.table.priceList.division': 'Division',
|
||
'channel.salesProducts.drawer.table.priceList.cargoType': 'Cargo type',
|
||
'channel.salesProducts.drawer.table.priceList.billingWeight': 'Billing weight/kg',
|
||
'channel.salesProducts.drawer.table.priceList.calculationFormula': 'Formula',
|
||
'channel.salesProducts.drawer.table.priceList.calculatedValue': 'Value',
|
||
'channel.salesProducts.drawer.table.priceList.customerGroup1': 'Customer group 1',
|
||
'channel.salesProducts.drawer.table.priceList.customerGroup2': 'Customer group 2',
|
||
|
||
'channel.salesProducts.drawer.footer.cancel': 'Cancel',
|
||
'channel.salesProducts.drawer.footer.generatePriceList': 'Generate price table',
|
||
'channel.salesProducts.drawer.footer.save': 'Save',
|
||
|
||
// Channel - Service Channels
|
||
'channel.serviceChannels.search.placeholder': 'Enter channel name',
|
||
'channel.serviceChannels.search.refresh': 'Refresh list',
|
||
'channel.serviceChannels.search.addProvider': 'Add provider',
|
||
'channel.serviceChannels.search.addChannel': 'Add channel',
|
||
'channel.serviceChannels.leftMenu.editProvider': 'Edit provider',
|
||
'channel.serviceChannels.leftMenu.deleteProvider': 'Delete provider',
|
||
'channel.serviceChannels.leftMenu.addChannelHere': 'Add channel',
|
||
'channel.serviceChannels.leftMenu.editChannel': 'Edit channel',
|
||
'channel.serviceChannels.tabs.config': 'Channel config',
|
||
'channel.serviceChannels.tabs.price': 'Channel pricing',
|
||
'channel.serviceChannels.tabs.record': 'Publish records',
|
||
'channel.serviceChannels.actions.save': 'Save',
|
||
'channel.serviceChannels.actions.add': 'Add',
|
||
'channel.serviceChannels.actions.edit': 'Edit',
|
||
'channel.serviceChannels.actions.delete': 'Delete',
|
||
'channel.serviceChannels.form.channelCode': 'Channel code',
|
||
'channel.serviceChannels.form.channelName': 'Channel name',
|
||
'channel.serviceChannels.form.timeLimit': 'Transit time',
|
||
'channel.serviceChannels.form.forecastConfig': 'Forecast config',
|
||
'channel.serviceChannels.form.forecastType': 'Forecast number type',
|
||
'channel.serviceChannels.form.forecastType.standard': 'Standard forecast',
|
||
'channel.serviceChannels.form.forecastType.custom': 'Custom forecast',
|
||
'channel.serviceChannels.form.forecastCode': 'Forecast channel code',
|
||
'channel.serviceChannels.form.description': 'Channel description',
|
||
'channel.serviceChannels.form.preScript': 'Pre-forecast script',
|
||
'channel.serviceChannels.form.placeholder.input': 'Please enter',
|
||
'channel.serviceChannels.form.placeholder.min': 'Min',
|
||
'channel.serviceChannels.form.placeholder.max': 'Max',
|
||
'channel.serviceChannels.form.placeholder.selectForecastType': 'Please select forecast number type',
|
||
'channel.serviceChannels.form.placeholder.forecastCode': 'Enter forecast channel code',
|
||
'channel.serviceChannels.form.placeholder.description': 'Enter channel description',
|
||
'channel.serviceChannels.form.placeholder.preScript': 'Enter pre-forecast script',
|
||
'channel.serviceChannels.price.effectiveVersion': 'Effective version: {version}',
|
||
'channel.serviceChannels.price.table.serialNo': 'No.',
|
||
'channel.serviceChannels.price.table.status': 'Status',
|
||
'channel.serviceChannels.price.table.priceName': 'Price name',
|
||
'channel.serviceChannels.price.table.costItem': 'Cost item',
|
||
'channel.serviceChannels.price.table.costUnit': 'Cost unit',
|
||
'channel.serviceChannels.price.table.currency': 'Currency',
|
||
'channel.serviceChannels.price.table.billingFactors': 'Billing factors',
|
||
'channel.serviceChannels.price.table.modifyTime': 'Modify time',
|
||
'channel.serviceChannels.price.table.modifier': 'Modifier',
|
||
'channel.serviceChannels.price.table.actions': 'Action',
|
||
'channel.serviceChannels.record.tabs.price': 'Price',
|
||
'channel.serviceChannels.record.tabs.rules': 'Rules',
|
||
'channel.serviceChannels.record.actions.publish': 'Publish',
|
||
'channel.serviceChannels.record.actions.rollback': 'Rollback to this version',
|
||
'channel.serviceChannels.record.versionRemark': 'Version note',
|
||
'channel.serviceChannels.record.noRemark': 'No notes',
|
||
'channel.serviceChannels.record.versionNumber': 'Version: {version}',
|
||
'channel.serviceChannels.modal.publishDateTitle': 'Select publish date',
|
||
'channel.serviceChannels.modal.publishDate.placeholder': 'Please select date',
|
||
'channel.serviceChannels.modal.actions.cancel': 'Cancel',
|
||
'channel.serviceChannels.modal.actions.ok': 'OK',
|
||
'channel.serviceChannels.drawer.title.addPrice': 'Add price config',
|
||
'channel.serviceChannels.drawer.tabs.basic': 'Basic info',
|
||
'channel.serviceChannels.drawer.tabs.priceList': 'Price table',
|
||
'channel.serviceChannels.drawer.form.costItem': 'Cost item',
|
||
'channel.serviceChannels.drawer.form.costUnit': 'Cost unit',
|
||
'channel.serviceChannels.drawer.form.currency': 'Currency',
|
||
'channel.serviceChannels.drawer.form.chargingCondition': 'Charging condition',
|
||
'channel.serviceChannels.drawer.section.billingFactors': 'Billing factors',
|
||
'channel.serviceChannels.drawer.table.billingFactors.serialNo': 'No.',
|
||
'channel.serviceChannels.drawer.table.billingFactors.factor': 'Factor',
|
||
'channel.serviceChannels.drawer.table.billingFactors.factorValues': 'Factor values',
|
||
'channel.serviceChannels.drawer.table.billingFactors.actions': 'Action',
|
||
'channel.serviceChannels.drawer.footer.cancel': 'Cancel',
|
||
'channel.serviceChannels.drawer.footer.generatePriceList': 'Generate price table',
|
||
'channel.serviceChannels.drawer.footer.save': 'Save',
|
||
'channel.serviceChannels.createTime': 'Created: {time}',
|
||
|
||
// Channel - Blacklist/Remote Zones (shared)
|
||
'channel.area.listTitle': 'List',
|
||
'channel.area.search.placeholder': 'Enter keyword',
|
||
'channel.area.search.refresh': 'Refresh list',
|
||
'channel.area.search.addArea': 'Add area',
|
||
'channel.area.empty': 'No data',
|
||
'channel.area.actions.addDetail': 'Add area detail',
|
||
'channel.area.actions.edit': 'Edit',
|
||
'channel.area.actions.delete': 'Delete',
|
||
'channel.area.pagination.total': 'Total {count} records',
|
||
'channel.area.pagination.prev': 'Previous',
|
||
'channel.area.pagination.next': 'Next',
|
||
'channel.area.pagination.perPage': 'per page',
|
||
'channel.area.pagination.goTo': 'Go to',
|
||
'channel.area.pagination.page': 'page',
|
||
'channel.area.form.keyword': 'Keyword',
|
||
'channel.area.form.areaName': 'Area name',
|
||
'channel.area.form.country': 'Country/Region',
|
||
'channel.area.form.province': 'State/Province',
|
||
'channel.area.form.city': 'City',
|
||
'channel.area.form.leftPostCode': 'Start postcode',
|
||
'channel.area.form.rightPostCode': 'End postcode',
|
||
'channel.area.form.placeholder.keyword': 'Enter keyword',
|
||
'channel.area.form.placeholder.areaName': 'Enter area name',
|
||
'channel.area.form.placeholder.input': 'Please enter',
|
||
'channel.area.form.rules.areaNameRequired': 'Please enter area name',
|
||
'channel.area.form.rules.countryRequired': 'Please select country/region',
|
||
'channel.area.form.rules.maxLength128': 'Cannot exceed 128 characters',
|
||
'channel.area.form.rules.maxLength30': 'Cannot exceed 30 characters',
|
||
'channel.area.form.rules.noChinese': 'Cannot contain Chinese characters',
|
||
'channel.area.form.rules.noSpacesOnly': 'Start postcode cannot be spaces only',
|
||
'channel.area.form.rules.noSpacesOnlyEnd': 'End postcode cannot be spaces only',
|
||
'channel.area.modal.addArea': 'Add area',
|
||
'channel.area.modal.editArea': 'Edit area',
|
||
'channel.area.modal.addDetail': 'Add area detail',
|
||
'channel.area.modal.editDetail': 'Edit area detail',
|
||
'channel.area.modal.deleteConfirm': 'Are you sure to delete?',
|
||
'channel.area.modal.deleteConfirmDetail': 'Confirm deletion?',
|
||
'channel.area.modal.warningTitle': 'Warning',
|
||
'channel.area.table.serialNo': 'No.',
|
||
'channel.area.table.leftPostcode': 'Start postcode',
|
||
'channel.area.table.rightPostcode': 'End postcode',
|
||
'channel.area.table.leftPostCode': 'Start postcode code',
|
||
'channel.area.table.rightPostCode': 'End postcode code',
|
||
'channel.area.table.remark': 'Remark',
|
||
'channel.area.table.actions': 'Action',
|
||
'channel.area.message.deleteSuccess': 'Deleted successfully',
|
||
'channel.area.message.loadFailed': 'Failed to load data',
|
||
'channel.area.message.invalidPage': 'Please enter a valid page number',
|
||
'channel.area.search.button.query': 'Query',
|
||
'channel.area.search.button.reset': 'Reset',
|
||
|
||
// Channel - Weight Rules
|
||
'channel.weightRules.listTitle': 'List',
|
||
'channel.weightRules.search.placeholder': 'Enter keyword',
|
||
'channel.weightRules.search.refresh': 'Refresh list',
|
||
'channel.weightRules.search.addRule': 'Add rule',
|
||
'channel.weightRules.empty': 'No data',
|
||
'channel.weightRules.actions.add': 'Add',
|
||
'channel.weightRules.actions.delete': 'Delete',
|
||
'channel.weightRules.pagination.total': 'Total {count} records',
|
||
'channel.weightRules.pagination.prev': 'Previous',
|
||
'channel.weightRules.pagination.next': 'Next',
|
||
'channel.weightRules.pagination.perPage': 'per page',
|
||
'channel.weightRules.pagination.goTo': 'Go to',
|
||
'channel.weightRules.pagination.page': 'page',
|
||
'channel.weightRules.form.keyword': 'Keyword',
|
||
'channel.weightRules.form.ruleName': 'Area name',
|
||
'channel.weightRules.form.condition': 'Condition expression',
|
||
'channel.weightRules.form.billableWeight': 'Billable weight value',
|
||
'channel.weightRules.form.volumetricFactor': 'Volumetric factor',
|
||
'channel.weightRules.form.placeholder.keyword': 'Enter keyword',
|
||
'channel.weightRules.form.placeholder.ruleName': 'Enter area name',
|
||
'channel.weightRules.form.placeholder.condition': 'Enter condition expression',
|
||
'channel.weightRules.form.placeholder.billableWeight': 'Enter billable weight value',
|
||
'channel.weightRules.form.placeholder.volumetricFactor': 'Enter volumetric factor',
|
||
'channel.weightRules.form.rules.ruleNameRequired': 'Please enter area name',
|
||
'channel.weightRules.form.rules.conditionRequired': 'Please enter condition expression',
|
||
'channel.weightRules.form.rules.billableWeightRequired': 'Please enter billable weight value',
|
||
'channel.weightRules.form.rules.volumetricFactorRequired': 'Please enter volumetric factor',
|
||
'channel.weightRules.modal.addArea': 'Add area',
|
||
'channel.weightRules.modal.editArea': 'Edit area',
|
||
'channel.weightRules.modal.addRule': 'Add rule',
|
||
'channel.weightRules.modal.editRule': 'Edit rule',
|
||
'channel.weightRules.modal.deleteConfirm': 'Are you sure to delete?',
|
||
'channel.weightRules.modal.deleteConfirmDetail': 'Confirm deletion?',
|
||
'channel.weightRules.modal.warningTitle': 'Warning',
|
||
'channel.weightRules.table.serialNo': 'No.',
|
||
'channel.weightRules.table.condition': 'Condition expression',
|
||
'channel.weightRules.table.billableWeight': 'Billable weight value',
|
||
'channel.weightRules.table.volumetricFactor': 'Volumetric factor',
|
||
'channel.weightRules.table.actions': 'Action',
|
||
'channel.weightRules.message.deleteSuccess': 'Deleted successfully',
|
||
'channel.weightRules.message.loadFailed': 'Failed to load data',
|
||
'channel.weightRules.message.invalidPage': 'Please enter a valid page number',
|
||
'channel.weightRules.search.button.query': 'Query',
|
||
'channel.weightRules.search.button.reset': 'Reset',
|
||
'channel.weightRules.updateTime': 'Updated: {time}',
|
||
|
||
// Channel - Weight Rounding
|
||
'channel.weightRounding.listTitle': 'List',
|
||
'channel.weightRounding.search.placeholder': 'Enter keyword',
|
||
'channel.weightRounding.search.refresh': 'Refresh list',
|
||
'channel.weightRounding.search.addRounding': 'Add rounding',
|
||
'channel.weightRounding.empty': 'No data',
|
||
'channel.weightRounding.actions.add': 'Add',
|
||
'channel.weightRounding.actions.delete': 'Delete',
|
||
'channel.weightRounding.pagination.total': 'Total {count} records',
|
||
'channel.weightRounding.pagination.prev': 'Previous',
|
||
'channel.weightRounding.pagination.next': 'Next',
|
||
'channel.weightRounding.pagination.perPage': 'per page',
|
||
'channel.weightRounding.pagination.goTo': 'Go to',
|
||
'channel.weightRounding.pagination.page': 'page',
|
||
'channel.weightRounding.form.keyword': 'Keyword',
|
||
'channel.weightRounding.form.roundingName': 'Rounding name',
|
||
'channel.weightRounding.form.startValue': 'Start value',
|
||
'channel.weightRounding.form.endValue': 'End value',
|
||
'channel.weightRounding.form.public': 'Rounding value (kg)',
|
||
'channel.weightRounding.form.placeholder.keyword': 'Enter keyword',
|
||
'channel.weightRounding.form.placeholder.roundingName': 'Enter rounding name',
|
||
'channel.weightRounding.form.placeholder.startValue': 'Enter start value',
|
||
'channel.weightRounding.form.placeholder.endValue': 'Enter end value',
|
||
'channel.weightRounding.form.placeholder.public': 'e.g. 0.5 means round up per 0.5 kg',
|
||
'channel.weightRounding.form.rules.roundingNameRequired': 'Please enter rounding name',
|
||
'channel.weightRounding.form.rules.startValueRequired': 'Please enter start value',
|
||
'channel.weightRounding.form.rules.endValueRequired': 'Please enter end value',
|
||
'channel.weightRounding.form.rules.publicRequired': 'Please enter rounding value',
|
||
'channel.weightRounding.modal.addRounding': 'Add rounding',
|
||
'channel.weightRounding.modal.editRounding': 'Edit rounding',
|
||
'channel.weightRounding.modal.addRule': 'Add rule',
|
||
'channel.weightRounding.modal.editRule': 'Edit rule',
|
||
'channel.weightRounding.modal.deleteConfirm': 'Are you sure to delete?',
|
||
'channel.weightRounding.modal.deleteConfirmDetail': 'Confirm deletion?',
|
||
'channel.weightRounding.modal.warningTitle': 'Warning',
|
||
'channel.weightRounding.table.serialNo': 'No.',
|
||
'channel.weightRounding.table.startValue': 'Start value',
|
||
'channel.weightRounding.table.endValue': 'End value',
|
||
'channel.weightRounding.table.public': 'Rounding value (kg)',
|
||
'channel.weightRounding.table.actions': 'Action',
|
||
'channel.weightRounding.message.deleteSuccess': 'Deleted successfully',
|
||
'channel.weightRounding.message.loadFailed': 'Failed to load data',
|
||
'channel.weightRounding.message.invalidPage': 'Please enter a valid page number',
|
||
'channel.weightRounding.search.button.query': 'Query',
|
||
'channel.weightRounding.search.button.reset': 'Reset',
|
||
'channel.weightRounding.updateTime': 'Updated: {time}',
|
||
|
||
// Channel - Auto Trigger
|
||
'channel.autoTrigger.actions.add': 'Add',
|
||
'channel.autoTrigger.pagination.total': 'Total {count} records',
|
||
'channel.autoTrigger.pagination.prev': 'Previous',
|
||
'channel.autoTrigger.pagination.next': 'Next',
|
||
'channel.autoTrigger.pagination.perPage': 'per page',
|
||
'channel.autoTrigger.table.serialNo': 'No.',
|
||
'channel.autoTrigger.table.ruleName': 'Rule name',
|
||
'channel.autoTrigger.table.priority': 'Priority',
|
||
'channel.autoTrigger.table.status': 'Status',
|
||
'channel.autoTrigger.table.operation': 'Operation',
|
||
'channel.autoTrigger.table.triggerTiming': 'Trigger timing',
|
||
'channel.autoTrigger.table.triggerCondition': 'Trigger condition',
|
||
'channel.autoTrigger.table.promptMessage': 'Prompt message',
|
||
'channel.autoTrigger.table.notifier': 'Notifier',
|
||
'channel.autoTrigger.table.createTime': 'Create time',
|
||
'channel.autoTrigger.table.creator': 'Creator',
|
||
'channel.autoTrigger.table.actions': 'Action',
|
||
'channel.autoTrigger.actions.edit': 'Edit',
|
||
'channel.autoTrigger.actions.delete': 'Delete',
|
||
'channel.autoTrigger.message.statusEnabled': 'Status enabled',
|
||
'channel.autoTrigger.message.statusDisabled': 'Status disabled',
|
||
'channel.autoTrigger.message.deletePending': 'Delete function pending',
|
||
'channel.autoTrigger.message.editPending': 'Edit function pending',
|
||
'channel.autoTrigger.message.addPending': 'Add function pending',
|
||
'channel.autoTrigger.empty': 'No data',
|
||
|
||
'channel.autoTrigger.form.ruleNameRequired': 'Please enter a rule name',
|
||
'channel.autoTrigger.form.promptRequired': 'Please enter a prompt message',
|
||
'channel.autoTrigger.form.ruleNamePlaceholder': 'e.g. UK oversize intercept',
|
||
'channel.autoTrigger.form.promptPlaceholder': 'e.g. Oversize — order blocked',
|
||
'channel.autoTrigger.form.notifierPlaceholder': 'Optional notifier users for warn/problem',
|
||
'channel.autoTrigger.form.loadExample': 'Load oversize example',
|
||
'channel.autoTrigger.form.legacyTitle': 'Legacy plain-text condition detected — rebuild with the builder below',
|
||
'channel.autoTrigger.form.testFormula': 'Test formula',
|
||
'channel.autoTrigger.form.testSample': 'Sample data',
|
||
'channel.autoTrigger.form.testMatched': 'Matched',
|
||
'channel.autoTrigger.form.testNotMatched': 'Not matched',
|
||
'channel.autoTrigger.form.testFailed': 'Formula test failed',
|
||
'channel.autoTrigger.form.sampleCountry': 'Country',
|
||
'channel.autoTrigger.form.sampleCustomer': 'Customer name',
|
||
'channel.autoTrigger.form.sampleProduct': 'Product code',
|
||
'channel.autoTrigger.form.sampleLength': 'Length',
|
||
'channel.autoTrigger.form.sampleWidth': 'Width',
|
||
'channel.autoTrigger.form.sampleHeight': 'Height',
|
||
|
||
// Channel - Issue Template
|
||
'channel.issueTemplate.actions.add': 'Add',
|
||
'channel.issueTemplate.actions.edit': 'Edit',
|
||
'channel.issueTemplate.actions.delete': 'Delete',
|
||
'channel.issueTemplate.pagination.total': 'Total {count} records',
|
||
'channel.issueTemplate.pagination.prev': 'Previous',
|
||
'channel.issueTemplate.pagination.next': 'Next',
|
||
'channel.issueTemplate.table.status': 'Status',
|
||
'channel.issueTemplate.table.organization': 'Organization',
|
||
'channel.issueTemplate.table.issueType': 'Issue Type',
|
||
'channel.issueTemplate.table.title': 'Title',
|
||
'channel.issueTemplate.table.content': 'Content',
|
||
'channel.issueTemplate.table.notifyMethod': 'Notify Method',
|
||
'channel.issueTemplate.org.platform': 'Platform Default',
|
||
'channel.issueTemplate.issueType.address': 'Address Issue',
|
||
'channel.issueTemplate.issueType.customs': 'Customs Issue',
|
||
'channel.issueTemplate.issueType.weight': 'Weight Issue',
|
||
'channel.issueTemplate.issueType.document': 'Document Issue',
|
||
'channel.issueTemplate.issueType.cargo': 'Cargo Issue',
|
||
'channel.issueTemplate.issueType.channel': 'Channel Issue',
|
||
'channel.issueTemplate.issueType.payment': 'Payment Issue',
|
||
'channel.issueTemplate.issueType.other': 'Other',
|
||
'channel.issueTemplate.notify.inApp': 'In-app',
|
||
'channel.issueTemplate.notify.email': 'Email',
|
||
'channel.issueTemplate.notify.sms': 'SMS',
|
||
'channel.issueTemplate.notify.feishu': 'Feishu',
|
||
'channel.issueTemplate.notify.wechat': 'WeChat',
|
||
'channel.issueTemplate.message.statusEnabled': 'Enabled',
|
||
'channel.issueTemplate.message.statusDisabled': 'Disabled',
|
||
'channel.issueTemplate.message.deleteConfirm': 'Delete this issue template?',
|
||
'channel.issueTemplate.message.loadFailed': 'Failed to load',
|
||
'channel.issueTemplate.message.saveFailed': 'Failed to save',
|
||
|
||
// Track Center - Track Order
|
||
'track.order.search.placeholder.orderNo': 'Enter order number',
|
||
'track.order.search.placeholder.isExternal': 'Please select if external',
|
||
'track.order.search.label.showTrajectory': 'Show track',
|
||
'track.order.search.label.hideTrajectory': 'Hide track',
|
||
'track.order.search.placeholder.time': 'Enter time',
|
||
'track.order.search.placeholder.timezone': 'Enter timezone',
|
||
'track.order.search.placeholder.location': 'Enter location',
|
||
'track.order.search.placeholder.content': 'Enter content',
|
||
'track.order.search.placeholder.remark': 'Enter remark',
|
||
'track.order.drawer.tabs.detail': 'Detail',
|
||
'track.order.drawer.tabs.pushRecord': 'Push record',
|
||
'track.order.drawer.tabs.log': 'Log',
|
||
'track.order.drawer.tabs.pullConfig': 'Track pull config',
|
||
'track.order.drawer.tabs.track': 'Order tracking',
|
||
'track.order.drawer.tabs.externalTrack': 'External order tracking',
|
||
'track.order.drawer.tabs.small': 'Small package',
|
||
'track.order.drawer.tabs.main': 'Main order',
|
||
'track.order.table.orderType': 'Order type',
|
||
'track.order.table.orderNo': 'Customer order number',
|
||
'track.order.table.customerShortName': 'Customer short name',
|
||
'track.order.table.thirdPartyOrderNo': 'Last mile order number',
|
||
'track.order.table.estimatedDeliveryTime': 'Estimated delivery time',
|
||
'track.order.table.deliveryTimezone': 'Delivery timezone',
|
||
'track.order.table.latestTrajectoryStatus': 'Latest trajectory status',
|
||
'track.order.table.latestTrajectoryContent': 'Latest trajectory content',
|
||
'track.order.table.latestTrajectoryContentEn': 'Latest trajectory content (EN)',
|
||
'track.order.table.latestTrajectoryTime': 'Latest trajectory time',
|
||
'track.order.table.latestTrajectoryTimezone': 'Latest trajectory timezone',
|
||
'track.order.table.latestTrajectoryLocation': 'Latest trajectory location',
|
||
'track.order.table.isComplete': 'Is complete',
|
||
'track.order.table.createTime': 'Create time',
|
||
'track.order.table.actions': 'Action',
|
||
'track.order.table.trackNo': 'Last mile order number',
|
||
'track.order.table.otherNo': 'Other order number',
|
||
'track.order.table.product': 'Sales product',
|
||
'track.order.table.channel': 'Service channel',
|
||
'track.order.table.apiCode': 'API service provider',
|
||
'track.order.table.countryCode': 'Country',
|
||
'track.order.table.province': 'Province/State',
|
||
'track.order.table.city': 'City',
|
||
'track.order.table.postcode': 'Postcode',
|
||
'track.order.table.email': 'Email',
|
||
'track.order.detail.title.trajectoryCode': 'Track code',
|
||
'track.order.detail.title.trajectoryContent': 'Track content',
|
||
'track.order.detail.title.trajectoryContentEn': 'Track content (EN)',
|
||
'track.order.detail.title.remark': 'Remark',
|
||
'track.order.detail.title.createUser': 'Creator',
|
||
'track.order.detail.title.trajectoryType': 'Track type',
|
||
'track.order.detail.title.trackTime': 'Track time',
|
||
'track.order.detail.title.trackTimeZone': 'Track timezone',
|
||
'track.order.detail.title.pushDetail': 'Push detail',
|
||
'track.order.detail.title.originTrackContent': 'Service provider source track content',
|
||
'track.order.detail.title.serviceProvider': 'Service provider',
|
||
'track.order.detail.title.trackPlaceCity': 'Track location (city)',
|
||
'track.order.detail.title.trackPlaceProvince': 'Track location (province/state)',
|
||
'track.order.detail.title.trackPlaceNation': 'Track location (country/region)',
|
||
'track.order.detail.title.trackPlacePostcode': 'Track location postcode',
|
||
'track.order.detail.title.trackPlace': 'Track location',
|
||
'track.order.detail.title.isVisibility': 'Is visible',
|
||
'track.order.detail.trajectoryType.external': 'External service provider created',
|
||
'track.order.detail.trajectoryType.internal': 'Internal system created',
|
||
'track.order.detail.trajectoryType.manual': 'Manual created',
|
||
'track.order.detail.showAllSourceTrajectory': 'Show all source tracks from service provider',
|
||
'track.order.pagination.total': 'Total {count} records',
|
||
'track.order.pagination.prev': 'Previous',
|
||
'track.order.pagination.next': 'Next',
|
||
'track.order.pagination.perPage': 'per page',
|
||
'track.order.pagination.goTo': 'Go to',
|
||
'track.order.pagination.page': 'page',
|
||
'track.order.table.serialNo': 'No.',
|
||
'track.order.table.appName': 'Application',
|
||
'track.order.actions.addTrajectory': 'Add track',
|
||
'track.order.actions.updateTrajectory': 'Update track',
|
||
'track.order.actions.refreshTrajectory': 'Refresh track',
|
||
'track.order.actions.deleteTrajectory': 'Delete track',
|
||
'track.order.actions.pushTrajectory': 'Push track',
|
||
'track.order.actions.deleteOrder': 'Delete order',
|
||
'track.order.actions.batchUpdatePullConfig': 'Batch update pull config',
|
||
'track.order.modal.addTrajectory': 'Add track',
|
||
'track.order.modal.updateTrajectory': 'Update track',
|
||
'track.order.modal.deleteTrajectory': 'Delete track',
|
||
'track.order.modal.pushTrajectory': 'Push track',
|
||
'track.order.modal.viewDetail': 'View detail',
|
||
'track.order.modal.deleteSingleTrajectory': 'Are you sure to delete track {content}?',
|
||
'track.order.modal.deleteMultipleTrajectory': 'Are you sure to delete the following {count} tracks?',
|
||
'track.order.modal.deleteOrder': 'Are you sure to delete order {orderNo}?',
|
||
'track.order.modal.deleteMultipleOrders': 'Are you sure to delete the following {count} orders?',
|
||
'track.order.message.selectSameOrderType': 'Please select the same order type and subsystem',
|
||
'track.order.message.selectSameOrderTypeOnly': 'Please select the same order type',
|
||
'track.order.message.cannotDeleteExternal': 'Tracks from external service providers cannot be deleted',
|
||
'track.order.message.operationSuccess': 'Operation successful, please check the result later.',
|
||
'track.order.message.refreshSuccess': 'Operation successful, please check the result later.',
|
||
'track.order.message.invalidPage': 'Page number out of range',
|
||
'track.order.log.table.optionType': 'Operation type',
|
||
'track.order.log.table.content': 'Log source text',
|
||
'track.order.log.table.createUserName': 'Operator',
|
||
'track.order.log.table.createTime': 'Operation time',
|
||
'track.order.pushRecord.table.requestId': 'Request ID',
|
||
'track.order.pushRecord.table.isSuccess': 'Is success',
|
||
'track.order.pushRecord.table.message': 'Message',
|
||
'track.order.pushRecord.table.optionType': 'Operation type',
|
||
'track.order.pushRecord.table.trackStatus': 'Track status',
|
||
'track.order.pushRecord.table.trackCode': 'Track content code',
|
||
'track.order.pushRecord.table.trackContent': 'Track content',
|
||
'track.order.pushRecord.table.trackPlace': 'Track location',
|
||
'track.order.pushRecord.table.trackGTMTimeZone': 'Track timezone',
|
||
'track.order.pushRecord.table.pushContent': 'Push detail',
|
||
'track.order.pushRecord.table.createUser': 'Creator',
|
||
'track.order.pushRecord.table.createTime': 'Create time',
|
||
'track.order.titleStrs.trajectoryCode': 'Track code',
|
||
'track.order.titleStrs.trajectoryContent': 'Track content',
|
||
'track.order.titleStrs.trajectoryContentEn': 'Track content (EN)',
|
||
'track.order.common.yes': 'Yes',
|
||
'track.order.common.no': 'No',
|
||
'track.order.pullConfig.appKey': 'App Key',
|
||
'track.order.pullConfig.orderType': 'Order Type',
|
||
'track.order.pullConfig.orderNos': 'Order Numbers',
|
||
'track.order.pullConfig.items': 'Config Items',
|
||
'track.order.pullConfig.noData': 'No data',
|
||
'track.order.pullConfig.table.index': 'No.',
|
||
'track.order.pullConfig.table.pullOrderNo': 'Pull order no',
|
||
'track.order.pullConfig.table.serviceCode': 'Service provider',
|
||
'track.order.pullConfig.table.startCode': 'Start track pull',
|
||
'track.order.pullConfig.table.endCode': 'End track pull',
|
||
'track.order.pullConfig.table.silenceTime': 'Silence before start (h)',
|
||
'track.order.pullConfig.table.stopTime': 'Silence after end (h)',
|
||
'track.order.pullConfig.table.pullStatus': 'Pull status',
|
||
'track.order.pullConfig.table.startTime': 'Cron start time',
|
||
'track.order.pullConfig.table.endTime': 'Cron end time',
|
||
'track.order.pullConfig.pullStatus.initial': 'Initial',
|
||
'track.order.pullConfig.pullStatus.silenceBeforeStart': 'Silence before start',
|
||
'track.order.pullConfig.pullStatus.pulling': 'Pulling',
|
||
'track.order.pullConfig.pullStatus.silenceAfterEnd': 'Silence after end',
|
||
'track.order.pullConfig.pullStatus.completed': 'Completed',
|
||
|
||
'track.order.modal.columnConfig': 'Column config',
|
||
'track.order.modal.columnOrderTitle': 'Column order settings',
|
||
'track.order.modal.currentOrder': 'Current order',
|
||
'track.order.modal.editOrder': 'Edit order',
|
||
'track.order.modal.moveUp': 'Move up',
|
||
'track.order.modal.moveDown': 'Move down',
|
||
'track.order.modal.resetDefault': 'Reset default',
|
||
'track.order.pushRecord.title': 'Push record',
|
||
'track.order.pushRecord.table.pushContentCol': 'Push content',
|
||
'track.order.pushRecord.table.pushTime': 'Push time',
|
||
'track.order.pushRecord.table.pushStatus': 'Push status',
|
||
'track.order.pushRecord.table.pushResult': 'Push result',
|
||
'track.order.modal.batchInput': 'Batch input',
|
||
'track.order.modal.multiValueTips': 'Enter multiple values, one per line; paste comma-separated data to convert to rows; support copy, paste, cut; duplicates are auto-removed',
|
||
'track.order.modal.multiValuePlaceholder': 'Enter values, one per line, or paste comma-separated data',
|
||
'track.order.modal.valueCount': '{count} values',
|
||
'track.order.modal.noOrderNo': 'No order numbers',
|
||
'track.order.pagination.selectedCount': 'Selected',
|
||
'track.order.pagination.records': ' records',
|
||
|
||
// Track Center - Warning Order
|
||
'track.warningOrder.tabs.return': 'Track return',
|
||
'track.warningOrder.tabs.transitTime': 'Transit time',
|
||
'track.warningOrder.tabs.complete': 'Trajectory complete',
|
||
'track.warningOrder.status.aboutToTimeout': 'About to timeout',
|
||
'track.warningOrder.status.timeout': 'Timeout',
|
||
'track.warningOrder.status.completed': 'Completed',
|
||
'track.warningOrder.status.timeoutCompleted': 'Timeout completed',
|
||
'track.warningOrder.status.closed': 'Closed',
|
||
'track.warningOrder.actions.addTrajectory': 'Add track',
|
||
'track.warningOrder.actions.refreshTrajectory': 'Refresh track',
|
||
'track.warningOrder.actions.pushTrajectory': 'Push track',
|
||
'track.warningOrder.pushRecord.title': 'Push record',
|
||
'track.warningOrder.modal.addTrajectory': 'Add track',
|
||
'track.warningOrder.modal.missingTrackDetail': 'Missing track detail',
|
||
'track.warningOrder.pagination.total': 'Total {count} records',
|
||
'track.warningOrder.pagination.prev': 'Previous',
|
||
'track.warningOrder.pagination.next': 'Next',
|
||
'track.warningOrder.pagination.perPage': 'per page',
|
||
'track.warningOrder.pagination.goTo': 'Go to',
|
||
'track.warningOrder.pagination.page': 'page',
|
||
'track.warningOrder.table.serialNo': 'No.',
|
||
'track.warningOrder.table.orderNo': 'Order number',
|
||
'track.warningOrder.table.status': 'Status',
|
||
'track.warningOrder.table.createTime': 'Create time',
|
||
'track.warningOrder.message.loadFailed': 'Failed to load data',
|
||
'track.warningOrder.message.invalidPage': 'Please enter a valid page number',
|
||
|
||
// Track Center - Track State
|
||
'track.state.search.placeholder': 'Enter track status code or name',
|
||
'track.state.actions.add': 'Add',
|
||
'track.state.actions.edit': 'Edit',
|
||
'track.state.actions.delete': 'Delete',
|
||
'track.state.modal.add': 'Add',
|
||
'track.state.modal.edit': 'Edit',
|
||
'track.state.modal.deleteConfirm': 'Are you sure to delete? If track content is bound to this status, deletion is prohibited. Please confirm.',
|
||
'track.state.modal.warningTitle': 'Warning',
|
||
'track.state.message.deleteSuccess': 'Deleted successfully',
|
||
'track.state.table.serialNo': 'No.',
|
||
'track.state.table.statusCode': 'Track status code',
|
||
'track.state.table.status': 'Track status',
|
||
'track.state.table.statusEn': 'Track status (EN)',
|
||
'track.state.table.isComplete': 'Is complete',
|
||
'track.state.table.isBroadcast': 'Is broadcast',
|
||
'track.state.table.createTime': 'Create time',
|
||
'track.state.table.creator': 'Creator',
|
||
'track.state.table.modifyTime': 'Modify time',
|
||
'track.state.table.modifier': 'Modifier',
|
||
'track.state.table.application': 'Application',
|
||
'track.state.table.actions': 'Action',
|
||
'track.state.form.statusCode': 'Track status code',
|
||
'track.state.form.statusCodeRequired': 'Please enter track status code',
|
||
'track.state.form.statusCodePlaceholder': 'Enter track status code',
|
||
'track.state.form.status': 'Track status',
|
||
'track.state.form.statusRequired': 'Please enter track status',
|
||
'track.state.form.statusPlaceholder': 'Enter track status',
|
||
'track.state.form.statusEn': 'Track status (EN)',
|
||
'track.state.form.statusEnRequired': 'Please enter track status (EN)',
|
||
'track.state.form.statusEnOnlyAlphanumeric': 'Only letters, numbers and underscores allowed',
|
||
'track.state.form.statusEnPlaceholder': 'Enter track status (EN)',
|
||
'track.state.form.isComplete': 'Is complete',
|
||
'track.state.form.isCompletePlaceholder': 'Please select if complete',
|
||
'track.state.form.isBroadcast': 'Is broadcast',
|
||
'track.state.form.isBroadcastPlaceholder': 'Please select if broadcast',
|
||
'track.state.form.application': 'Application',
|
||
'track.state.form.applicationRequired': 'Please select application',
|
||
'track.state.form.applicationPlaceholder': 'Please select application',
|
||
'track.state.common.yes': 'Yes',
|
||
'track.state.common.no': 'No',
|
||
|
||
// Track Center - Track Flag
|
||
'track.flag.search.placeholder': 'Enter flag name',
|
||
'track.flag.actions.add': 'Add',
|
||
'track.flag.actions.edit': 'Edit',
|
||
'track.flag.actions.delete': 'Delete',
|
||
'track.flag.modal.add': 'Add',
|
||
'track.flag.modal.edit': 'Edit',
|
||
'track.flag.modal.deleteConfirm': 'Are you sure to delete? Deletion will affect track flag push. Please confirm.',
|
||
'track.flag.modal.warningTitle': 'Warning',
|
||
'track.flag.message.deleteSuccess': 'Deleted successfully',
|
||
'track.flag.table.serialNo': 'No.',
|
||
'track.flag.table.flag': 'Flag',
|
||
'track.flag.table.code': 'Code',
|
||
'track.flag.table.isBroadcast': 'Is broadcast',
|
||
'track.flag.table.createTime': 'Create time',
|
||
'track.flag.table.creator': 'Creator',
|
||
'track.flag.table.modifyTime': 'Modify time',
|
||
'track.flag.table.modifier': 'Modifier',
|
||
'track.flag.table.application': 'Application',
|
||
'track.flag.table.actions': 'Action',
|
||
'track.flag.form.flag': 'Flag',
|
||
'track.flag.form.flagRequired': 'Please enter flag',
|
||
'track.flag.form.flagOnlyChinese': 'Only Chinese characters allowed',
|
||
'track.flag.form.flagPlaceholder': 'Enter flag',
|
||
'track.flag.form.code': 'Code',
|
||
'track.flag.form.codeRequired': 'Please enter 2 uppercase letters',
|
||
'track.flag.form.codePlaceholder': 'Enter 2 uppercase letters',
|
||
'track.flag.form.isBroadcast': 'Is broadcast',
|
||
'track.flag.form.isBroadcastPlaceholder': 'Please select if broadcast',
|
||
'track.flag.form.application': 'Application',
|
||
'track.flag.form.applicationRequired': 'Please select application',
|
||
'track.flag.form.applicationPlaceholder': 'Please select application',
|
||
'track.flag.common.yes': 'Yes',
|
||
'track.flag.common.no': 'No',
|
||
|
||
// Track Center - Track Content
|
||
'track.content.modal.addTitle': 'Add track content',
|
||
'track.content.modal.deleteConfirm': 'Are you sure to delete? If templates are bound to this track content, deletion is prohibited. Please confirm.',
|
||
'track.content.modal.warningTitle': 'Warning',
|
||
'track.content.message.deleteSuccess': 'Deleted successfully',
|
||
'track.content.search.placeholder': 'Enter track code or content',
|
||
'track.content.form.application': 'Application',
|
||
'track.content.form.applicationRequired': 'Please select application',
|
||
'track.content.form.applicationPlaceholder': 'Please select application',
|
||
'track.content.actions.add': 'Add',
|
||
'track.content.actions.edit': 'Edit',
|
||
'track.content.actions.delete': 'Delete',
|
||
'track.content.table.serialNo': 'No.',
|
||
'track.content.table.trajectoryCode': 'Track code',
|
||
'track.content.table.trajectoryContent': 'Track content',
|
||
'track.content.table.trajectoryContentEn': 'Track content (EN)',
|
||
'track.content.table.status': 'Status',
|
||
'track.content.table.flag': 'Track flag',
|
||
'track.content.table.isExternal': 'Is external',
|
||
'track.content.table.isRepeatable': 'Is repeatable',
|
||
'track.content.table.allowManualModify': 'Allow manual modify',
|
||
'track.content.table.allowManualCreate': 'Allow manual create',
|
||
'track.content.table.createTime': 'Create time',
|
||
'track.content.table.creator': 'Creator',
|
||
'track.content.table.modifyTime': 'Modify time',
|
||
'track.content.table.modifier': 'Modifier',
|
||
'track.content.table.application': 'Application',
|
||
'track.content.table.actions': 'Action',
|
||
'track.content.form.status': 'Status',
|
||
'track.content.form.statusPlaceholder': 'Please select',
|
||
'track.content.form.statusRequired': 'Please select status',
|
||
'track.content.form.trajectoryCode': 'Track code',
|
||
'track.content.form.trajectoryCodePlaceholder': 'Enter track code',
|
||
'track.content.form.trajectoryCodeRequired': 'Please enter track code',
|
||
'track.content.form.trajectoryContent': 'Track content',
|
||
'track.content.form.trajectoryContentPlaceholder': 'Enter track content',
|
||
'track.content.form.trajectoryContentRequired': 'Please enter track content',
|
||
'track.content.form.trajectoryContentEn': 'Track content (EN)',
|
||
'track.content.form.trajectoryContentEnPlaceholder': 'Enter track content (EN)',
|
||
'track.content.form.trajectoryContentEnRequired': 'Please enter track content (EN)',
|
||
'track.content.form.trajectoryContentEnNoChinese': 'Chinese characters not allowed',
|
||
'track.content.form.trackContentEnNoChinese': 'Chinese characters not allowed',
|
||
'track.content.form.flag': 'Track flag',
|
||
'track.content.form.flagPlaceholder': 'Please select',
|
||
'track.content.form.isExternal': 'Is external',
|
||
'track.content.form.isExternalPlaceholder': 'Please select if external',
|
||
'track.content.form.isRepeatable': 'Is repeatable',
|
||
'track.content.form.isRepeatablePlaceholder': 'Please select if repeatable',
|
||
'track.content.form.allowManualCreate': 'Support manual create',
|
||
'track.content.form.allowManualCreatePlaceholder': 'Please select if support manual create',
|
||
'track.content.form.allowManualModify': 'Support manual modify',
|
||
'track.content.form.allowManualModifyPlaceholder': 'Please select if support manual modify',
|
||
'track.content.titleStrs.statusCode': 'Track status code',
|
||
'track.content.titleStrs.status': 'Track status',
|
||
'track.content.titleStrs.flag': 'Flag',
|
||
'track.content.titleStrs.code': 'Code',
|
||
'track.content.titleStrs.isBroadcast': 'Is broadcast',
|
||
'track.content.common.yes': 'Yes',
|
||
'track.content.common.no': 'No',
|
||
|
||
// Track Center - Track Push
|
||
'track.push.table.serialNo': 'No.',
|
||
'track.push.table.pushOrder': 'Push order',
|
||
'track.push.table.trajectoryCode': 'Track code',
|
||
'track.push.table.trajectoryContent': 'Track content',
|
||
'track.push.table.trajectoryContentEn': 'Track content (EN)',
|
||
'track.push.table.trackCode': 'Track code',
|
||
'track.push.table.trackContent': 'Track content',
|
||
'track.push.table.trackContentEn': 'Track content (EN)',
|
||
'track.push.table.standardTrajectory': 'Standard trajectory',
|
||
'track.push.table.standardTrack': 'Standard track',
|
||
'track.push.table.systemStandardTrack': 'System standard track',
|
||
'track.push.table.pushTrajectoryCode': 'Push track code',
|
||
'track.push.table.pushTrajectoryStatus': 'Push track status',
|
||
'track.push.table.pushTrajectoryContent': 'Push track content',
|
||
'track.push.table.pushTrajectoryContentEn': 'Push track content (EN)',
|
||
'track.push.table.pushExtendedField': 'Push extended field',
|
||
'track.push.table.actions': 'Action',
|
||
'track.push.form.application': 'Application',
|
||
'track.push.form.applicationRequired': 'Please select application',
|
||
'track.push.form.applicationPlaceholder': 'Please select application',
|
||
'track.push.form.customer': 'Customer',
|
||
'track.push.form.customerPlaceholder': 'Enter customer',
|
||
'track.push.form.customerRequired': 'Please select customer',
|
||
'track.push.form.serviceProvider': 'Service provider',
|
||
'track.push.form.serviceProviderPlaceholder': 'Please select service provider',
|
||
'track.push.form.serviceProviderRequired': 'Please select service provider',
|
||
'track.push.form.isAutoPush': 'Is auto push',
|
||
'track.push.form.isAutoPushPlaceholder': 'Please select if auto push',
|
||
'track.push.form.supportRepush': 'Support repush',
|
||
'track.push.form.supportRepushPlaceholder': 'Please select if support repush',
|
||
'track.push.form.supportDelete': 'Support delete',
|
||
'track.push.form.supportDeletePlaceholder': 'Please select if support delete',
|
||
'track.push.form.isFullPush': 'Is full push',
|
||
'track.push.form.isFullPushPlaceholder': 'Please select if full push',
|
||
'track.push.form.isLatestFullPush': 'Is full push (latest)',
|
||
'track.push.form.isLatestFullPushPlaceholder': 'Please select if full push latest',
|
||
'track.push.form.pushTimeStyle': 'Push time style',
|
||
'track.push.form.pushTimeStyle.none': 'Default',
|
||
'track.push.form.pushTimeStyle.timestamp': 'Timestamp',
|
||
'track.push.form.pushTimeStyle.timezone': 'Time + timezone',
|
||
'track.push.form.time': 'Time',
|
||
'track.push.form.timePlaceholder': 'Time format: yyyy-MM-dd HH:mm:ss or yyyy/MM/dd HH:mm:ss',
|
||
'track.push.form.timezone': 'Timezone',
|
||
'track.push.form.timezonePlaceholder': 'Timezone format: GMT/UTC',
|
||
'track.push.form.trajectoryCode': 'Track code',
|
||
'track.push.form.trajectoryCodeRequired': 'Please select track code',
|
||
'track.push.form.trackCode': 'Track code',
|
||
'track.push.form.trackCodeRequired': 'Please select track code',
|
||
'track.push.form.pushTrajectoryStatus': 'Push track status',
|
||
'track.push.form.pushTrajectoryStatusPlaceholder': 'Enter parameter value',
|
||
'track.push.form.pushTrackStatus': 'Push track status',
|
||
'track.push.form.pushTrackStatusPlaceholder': 'Enter parameter value',
|
||
'track.push.form.pushTrajectoryCode': 'Push track code',
|
||
'track.push.form.pushTrackCode': 'Push track code',
|
||
'track.push.form.pushTrajectoryContent': 'Push track content',
|
||
'track.push.form.pushTrackContent': 'Push track content',
|
||
'track.push.form.pushTrajectoryContentEn': 'Push track content (EN)',
|
||
'track.push.form.pushTrackContentEn': 'Push track content (EN)',
|
||
'track.push.form.pushExtendedField': 'Push track extended field',
|
||
'track.push.form.swapTrackContent': 'Swap track content',
|
||
'track.push.actions.add': 'Add',
|
||
'track.push.actions.edit': 'Edit',
|
||
'track.push.actions.delete': 'Delete',
|
||
'track.push.modal.deleteConfirm': 'Are you sure to delete?',
|
||
'track.push.modal.warningTitle': 'Warning',
|
||
'track.push.message.deleteSuccess': 'Deleted successfully',
|
||
'track.push.search.placeholder': 'Enter service provider name or appkey',
|
||
'track.push.actions.refresh': 'Refresh list',
|
||
'track.push.actions.addPush': 'Add push',
|
||
'track.push.common.yes': 'Yes',
|
||
'track.push.common.no': 'No',
|
||
'track.push.titleStrs.trajectoryCode': 'Track code',
|
||
'track.push.titleStrs.trajectoryContent': 'Track content',
|
||
'track.push.titleStrs.trackCode': 'Track code',
|
||
'track.push.titleStrs.trackContent': 'Track content',
|
||
|
||
// Track Center - Warning Region (shared with channel.area keys)
|
||
'track.region.search.placeholder': 'Enter keyword',
|
||
'track.region.search.refresh': 'Refresh list',
|
||
'track.region.search.addArea': 'Add area',
|
||
'track.region.search.button.query': 'Query',
|
||
'track.region.search.button.reset': 'Reset',
|
||
'track.region.empty': 'No data',
|
||
'track.region.actions.add': 'Add',
|
||
'track.region.actions.edit': 'Edit',
|
||
'track.region.actions.delete': 'Delete',
|
||
'track.region.modal.addArea': 'Add area',
|
||
'track.region.modal.editArea': 'Edit area',
|
||
'track.region.modal.add': 'Add',
|
||
'track.region.modal.edit': 'Edit',
|
||
'track.region.modal.warningTitle': 'Tips',
|
||
'track.region.modal.deleteConfirm': 'Are you sure to delete this area?',
|
||
'track.region.modal.deleteConfirmContent': 'Are you sure to delete this area detail?',
|
||
'track.region.message.deleteSuccess': 'Deleted successfully',
|
||
'track.region.form.keyword': 'Keyword',
|
||
'track.region.form.areaName': 'Area name',
|
||
'track.region.form.country': 'Country/Region',
|
||
'track.region.form.province': 'State/Province',
|
||
'track.region.form.city': 'City',
|
||
'track.region.form.leftPostCode': 'Start postcode',
|
||
'track.region.form.rightPostCode': 'End postcode',
|
||
'track.region.form.placeholder.keyword': 'Enter keyword',
|
||
'track.region.form.placeholder.areaName': 'Enter area name',
|
||
'track.region.form.placeholder.input': 'Please enter',
|
||
'track.region.form.rules.areaNameRequired': 'Please enter area name',
|
||
'track.region.form.rules.countryRequired': 'Please select country/region',
|
||
'track.region.form.rules.maxLength128': 'Cannot exceed 128 characters',
|
||
'track.region.form.rules.maxLength30': 'Cannot exceed 30 characters',
|
||
'track.region.form.rules.noChinese': 'Cannot contain Chinese characters',
|
||
'track.region.form.rules.noSpacesOnly': 'Start postcode cannot be spaces only',
|
||
'track.region.form.rules.noSpacesOnlyEnd': 'End postcode cannot be spaces only',
|
||
'track.region.table.serialNo': 'No.',
|
||
'track.region.table.country': 'Country/Region',
|
||
'track.region.table.province': 'State/Province',
|
||
'track.region.table.city': 'City',
|
||
'track.region.table.leftPostCode': 'Start postcode',
|
||
'track.region.table.rightPostCode': 'End postcode',
|
||
'track.region.table.actions': 'Action',
|
||
|
||
// Track Center - Warning Config
|
||
'track.warningConfig.tabs.complete': 'Track complete',
|
||
'track.warningConfig.tabs.transitTime': 'Transit time',
|
||
'track.warningConfig.tabs.returnTime': 'Track return',
|
||
'track.warningConfig.search.placeholder.customer': 'Enter customer short name',
|
||
'track.warningConfig.search.label.customer': 'Customer short name',
|
||
'track.warningConfig.search.label.kpiName': 'KPI name',
|
||
'track.warningConfig.search.placeholder.kpiName': 'Enter KPI name',
|
||
'track.warningConfig.search.label.status': 'Status',
|
||
'track.warningConfig.search.status.enabled': 'Enabled',
|
||
'track.warningConfig.search.status.disabled': 'Disabled',
|
||
'track.warningConfig.search.button.query': 'Query',
|
||
'track.warningConfig.search.button.reset': 'Reset',
|
||
'track.warningConfig.actions.refresh': 'Refresh list',
|
||
'track.warningConfig.actions.addRule': 'Add warning rule',
|
||
'track.warningConfig.actions.addScene': 'Add scene',
|
||
'track.warningConfig.actions.editScene': 'Edit scene',
|
||
'track.warningConfig.message.getRuleItemsFailed': 'Failed to get scene rule items data',
|
||
'track.warningConfig.message.getSceneFailed': 'Failed to get scene data',
|
||
'track.warningConfig.message.deleteSuccess': 'Deleted successfully',
|
||
'track.warningConfig.message.selectRuleFirst': 'Please select a warning rule item from the left list first',
|
||
'track.warningConfig.message.selectRule': 'Please select a warning rule from the left first',
|
||
'track.warningConfig.message.enterAtLeastOneFactor': 'Please enter at least one factor value',
|
||
'track.warningConfig.message.saveSuccess': 'Saved successfully',
|
||
'track.warningConfig.message.getSceneDetailFailed': 'Failed to get scene details',
|
||
'track.warningConfig.modal.deletePushConfirm': 'Confirm to delete this push?',
|
||
'track.warningConfig.modal.deleteSceneConfirm': 'Confirm to delete [{summary}]?',
|
||
'track.warningConfig.modal.warningTitle': 'Warning',
|
||
'track.warningConfig.factor.type.cargoType': 'Cargo type',
|
||
'track.warningConfig.factor.type.month': 'Month',
|
||
'track.warningConfig.factor.type.division': 'Division',
|
||
'track.warningConfig.factor.type.isTransit': 'Is transit',
|
||
'track.warningConfig.factor.type.port': 'Port',
|
||
'track.warningConfig.factor.type.salesProduct': 'Sales product',
|
||
|
||
// Track Center - Track Pull
|
||
'track.pull.table.trackKeyword': 'Pull track keyword',
|
||
'track.pull.table.trackKeywordReverse': 'Pull track keyword (filter)',
|
||
'track.pull.table.trackPlaceValue': 'Fallback track location',
|
||
'track.pull.table.standardTrack': 'Standard track',
|
||
'track.pull.actions.add': 'Add',
|
||
'track.pull.actions.edit': 'Edit',
|
||
'track.pull.actions.delete': 'Delete',
|
||
'track.pull.actions.addPull': 'Add pull',
|
||
'track.pull.modal.deleteConfirm': 'Are you sure to delete this pull?',
|
||
'track.pull.modal.deleteContentConfirm': 'Are you sure to delete this pull content?',
|
||
'track.pull.modal.warningTitle': 'Warning',
|
||
'track.pull.message.deleteSuccess': 'Deleted successfully',
|
||
|
||
...localeSettings,
|
||
...localeMessageBox,
|
||
...localeLogin,
|
||
...localeWechat,
|
||
...localeH5TrackQuery,
|
||
...localeWorkplace,
|
||
|
||
...localeMonitor,
|
||
...localeSearchTable,
|
||
...localeCardList,
|
||
...localeStepForm,
|
||
...localeGroupForm,
|
||
...localeSuccess,
|
||
...localeError,
|
||
...locale403,
|
||
...locale404,
|
||
...locale500,
|
||
};
|