Ship customer portal and marketing pages, user edit drawer with employee archive, IDE employee numbers, channel config refactor, and related nginx/route updates. Co-authored-by: Cursor <cursoragent@cursor.com>
468 lines
20 KiB
TypeScript
468 lines
20 KiB
TypeScript
export default {
|
||
'h5.center.title': 'Customer Center',
|
||
'h5.tab.assistant': 'AI Advisor',
|
||
'h5.tab.price': 'Rates',
|
||
'h5.tab.createOrder': 'Order',
|
||
'h5.tab.orders': 'Orders',
|
||
'h5.tab.me': 'Me',
|
||
|
||
'h5.assistant.quick.price': 'How do I check shipping rates?',
|
||
'h5.assistant.quick.pay': 'How do I pay a pending order?',
|
||
'h5.assistant.quick.track': 'How often is tracking updated?',
|
||
'h5.assistant.quick.issue': 'What if my shipment has an issue?',
|
||
'h5.assistant.tip.defaultTitle': 'Ask anything',
|
||
'h5.assistant.tip.defaultDesc': 'Rates, payment, tracking, and issues — just ask',
|
||
'h5.assistant.tip.waybillTitle': 'Waybill context loaded',
|
||
'h5.assistant.tip.waybillDesc': 'Ask about tracking, fees, or issues without pasting the number',
|
||
'h5.assistant.tip.priceTitle': 'Quote context loaded',
|
||
'h5.assistant.tip.priceDesc': 'The input is prefilled with your quote — keep asking',
|
||
'h5.assistant.clearContext': 'Clear',
|
||
|
||
'h5.price.title': 'Check Rates',
|
||
'h5.price.subtitle': 'Pick a country and weight — compare and order fast',
|
||
'h5.price.country': 'Destination',
|
||
'h5.price.countryPlaceholder': 'Select destination',
|
||
'h5.price.countrySearchPh': 'Search name or ISO2, e.g. USA / US',
|
||
'h5.price.origin': 'From warehouse',
|
||
'h5.price.originAny': 'Any warehouse',
|
||
'h5.price.destination': 'Destination',
|
||
'h5.price.postalCode': 'Postcode',
|
||
'h5.price.postalCodePh': 'Optional — better zoning',
|
||
'h5.price.packageWeight': 'Package weight',
|
||
'h5.price.cargoAttr': 'Cargo type',
|
||
'h5.price.cargoPick': 'Select',
|
||
'h5.price.cargoAny': 'Any',
|
||
'h5.price.weight': 'Weight',
|
||
'h5.price.weightPlaceholder': '0',
|
||
'h5.price.dimensions': 'Dimensions (cm, optional)',
|
||
'h5.price.length': 'L',
|
||
'h5.price.width': 'W',
|
||
'h5.price.height': 'H',
|
||
'h5.price.query': 'Check rates',
|
||
'h5.price.querying': 'Checking…',
|
||
'h5.price.reset': 'Reset',
|
||
'h5.price.sort.recommend': 'Recommended',
|
||
'h5.price.sort.price': 'Lowest',
|
||
'h5.price.sort.time': 'Fastest',
|
||
'h5.price.recommendTag': 'Best',
|
||
'h5.price.askAdvisor': 'Ask AI',
|
||
'h5.price.goOrder': 'Place order',
|
||
'h5.price.goOrderHint': 'Opening place-order…',
|
||
'h5.price.empty': 'Enter country and weight to get quotes',
|
||
'h5.price.noResult': 'No quotes found. Adjust filters or ask the advisor.',
|
||
'h5.price.delivery': 'Transit',
|
||
'h5.price.chargeableWeight': 'Chargeable wt',
|
||
'h5.price.required': 'Please enter destination and weight',
|
||
'h5.price.referenceTip': 'Estimates only — final charges may differ',
|
||
'h5.price.referenceBanner': 'Rates are estimates. Tap a card for route details.',
|
||
'h5.price.referencePrice': 'Est.',
|
||
'h5.price.cargo': 'Cargo type',
|
||
'h5.price.warehouse': 'Warehouse',
|
||
'h5.price.viewDetail': 'Route details',
|
||
'h5.price.detailTitle': 'Route details',
|
||
'h5.price.detailTitleNamed': '{name} · Details',
|
||
'h5.price.routeGuide': 'Route guide',
|
||
'h5.price.guideEmpty': 'No route guide yet',
|
||
'h5.price.guideMissing': 'Missing product info for route details',
|
||
'h5.price.guideFailed': 'Failed to load route details',
|
||
'h5.price.freight': 'Freight',
|
||
'h5.price.otherFees': 'Other fees',
|
||
'h5.price.shortcut.US': 'US',
|
||
'h5.price.shortcut.CA': 'CA',
|
||
'h5.price.shortcut.MX': 'MX',
|
||
'h5.price.shortcut.BR': 'BR',
|
||
'h5.price.shortcut.NZ': 'NZ',
|
||
'h5.price.shortcut.GB': 'UK',
|
||
'h5.price.shortcut.DE': 'DE',
|
||
'h5.price.shortcut.IT': 'IT',
|
||
'h5.price.shortcut.FR': 'FR',
|
||
'h5.price.shortcut.NL': 'NL',
|
||
|
||
'h5.orders.title': 'My Orders',
|
||
'h5.orders.searchPlaceholder': 'Waybill / customer / tracking no.',
|
||
'h5.orders.empty': 'No orders',
|
||
'h5.orders.emptyGoPrice': 'Check rates',
|
||
'h5.orders.loadMore': 'Load more',
|
||
'h5.orders.todo': 'To-do',
|
||
'h5.orders.group.all': 'All',
|
||
'h5.orders.group.actionNeeded': 'Action needed',
|
||
'h5.orders.group.warehouse': 'In warehouse',
|
||
'h5.orders.group.shipping': 'In transit',
|
||
'h5.orders.group.done': 'Delivered',
|
||
'h5.orders.group.issue': 'Issues',
|
||
'h5.orders.pay': 'Pay',
|
||
'h5.orders.track': 'Track',
|
||
'h5.orders.askAdvisor': 'Ask AI',
|
||
'h5.orders.detail': 'Details',
|
||
'h5.orders.copySuccess': 'Copied',
|
||
'h5.orders.copyFailed': 'Copy failed',
|
||
'h5.orders.payable': 'Due',
|
||
'h5.orders.paid': 'Paid',
|
||
|
||
'h5.orders.detail.title': 'Order detail',
|
||
'h5.orders.detail.overview': 'Overview',
|
||
'h5.orders.detail.track': 'Tracking',
|
||
'h5.orders.detail.fee': 'Fees',
|
||
'h5.orders.detail.waybillNo': 'Waybill',
|
||
'h5.orders.detail.customerOrderNo': 'Customer no.',
|
||
'h5.orders.detail.trackingNo': 'Tracking no.',
|
||
'h5.orders.detail.status': 'Status',
|
||
'h5.orders.detail.channel': 'Channel',
|
||
'h5.orders.detail.country': 'Country',
|
||
'h5.orders.detail.consignee': 'Consignee',
|
||
'h5.orders.detail.weight': 'Chargeable wt',
|
||
'h5.orders.detail.noTrack': 'No tracking yet',
|
||
'h5.orders.detail.noFee': 'No fee details',
|
||
'h5.orders.detail.close': 'Close',
|
||
|
||
'h5.me.guestTitle': 'Welcome to Customer Center',
|
||
'h5.me.guestDesc':
|
||
'Long-press the QR code in WeChat to sign in. New users can register or bind first.',
|
||
'h5.me.register': 'WeChat register',
|
||
'h5.me.bind': 'Bind existing account',
|
||
'h5.me.passwordLogin': 'Password login',
|
||
'h5.me.needLogin': 'Please register or sign in first',
|
||
'h5.me.scanLogin': 'WeChat QR sign-in',
|
||
|
||
'h5.wxQr.loading': 'Loading QR code…',
|
||
'h5.wxQr.loadFailed': 'Failed to load QR code. Please refresh.',
|
||
'h5.wxQr.refresh': 'Refresh QR code',
|
||
'h5.wxQr.longPress': 'Long-press → “Recognize QR Code in Image”',
|
||
'h5.wxQr.valid': 'QR code is valid for 10 minutes',
|
||
'h5.wxQr.success': 'Signed in',
|
||
|
||
'h5.login.title': 'Sign in',
|
||
'h5.login.brand': 'Customer Center',
|
||
'h5.login.tab.wechat': 'WeChat QR',
|
||
'h5.login.tab.password': 'Account',
|
||
'h5.login.switchPassword': 'Sign in with password',
|
||
'h5.login.switchWechat': 'WeChat QR sign-in',
|
||
'h5.login.accountPlaceholder': 'Phone / email / customer code',
|
||
'h5.login.passwordPlaceholder': 'Enter password',
|
||
'h5.login.accountRequired': 'Please enter account',
|
||
'h5.login.passwordRequired': 'Please enter password',
|
||
'h5.login.agreePrefix': 'I have read and agree to the ',
|
||
'h5.login.privacy': 'Privacy Policy',
|
||
'h5.login.and': ' and ',
|
||
'h5.login.terms': 'Terms',
|
||
'h5.login.needAgree': 'Please accept the Privacy Policy and Terms first',
|
||
'h5.login.submit': 'Sign in',
|
||
'h5.login.submitting': 'Signing in...',
|
||
'h5.login.success': 'Signed in',
|
||
'h5.login.failed': 'Sign-in failed. Check your account and password.',
|
||
'h5.login.newUserHint': 'New here? Register or bind an account first',
|
||
'h5.login.goRegister': 'Register',
|
||
'h5.login.goBind': 'Bind account',
|
||
|
||
'h5.recharge.title': 'Recharge',
|
||
'h5.recharge.amount': 'Amount',
|
||
'h5.recharge.custom': 'Custom',
|
||
'h5.recharge.customPlaceholder': 'Enter amount',
|
||
'h5.recharge.payType': 'Payment method',
|
||
'h5.recharge.wechat': 'WeChat Pay',
|
||
'h5.recharge.alipay': 'Alipay',
|
||
'h5.recharge.qrTip': 'Scan to transfer, then upload the voucher',
|
||
'h5.recharge.voucher': 'Transfer voucher (optional)',
|
||
'h5.recharge.upload': 'Upload',
|
||
'h5.recharge.submit': 'Submit for review',
|
||
'h5.recharge.needAmount': 'Please select or enter an amount',
|
||
'h5.recharge.success': 'Submitted. Pending review.',
|
||
'h5.recharge.failed': 'Submit failed',
|
||
'h5.recharge.backMe': 'Back to Me',
|
||
'h5.recharge.done': 'Done',
|
||
|
||
'h5.orderType.title': 'Choose order type',
|
||
'h5.orderType.subtitle': 'Select the type of order to create',
|
||
'h5.orderType.logistics': 'Shipping order',
|
||
'h5.orderType.logisticsDesc': 'Ship overseas — recipient & declaration',
|
||
'h5.orderType.pickup': 'Pickup order',
|
||
'h5.orderType.pickupDesc': 'Door pickup to warehouse',
|
||
'h5.pickupCreate.title': 'Create pickup order',
|
||
|
||
'h5.placeOrder.title': 'Place order',
|
||
'h5.placeOrder.stepBasic': 'Basic',
|
||
'h5.placeOrder.stepReceiver': 'Receiver',
|
||
'h5.placeOrder.stepDeclaration': 'Declaration',
|
||
'h5.placeOrder.fromPriceCheck': 'Some fields were filled from price check',
|
||
'h5.placeOrder.handoffFilled': 'Filled: {items}',
|
||
'h5.placeOrder.clientNo': 'Customer order No.',
|
||
'h5.placeOrder.clientNoPh': 'Auto-generated or enter your own',
|
||
'h5.placeOrder.product': 'Shipping method',
|
||
'h5.placeOrder.productPh': 'Select product',
|
||
'h5.placeOrder.cargo': 'Cargo type',
|
||
'h5.placeOrder.warehouse': 'Warehouse',
|
||
'h5.placeOrder.weight': 'Weight (kg)',
|
||
'h5.placeOrder.weightPh': 'Enter weight',
|
||
'h5.placeOrder.dimensions': 'Dimensions (cm)',
|
||
'h5.placeOrder.length': 'L',
|
||
'h5.placeOrder.width': 'W',
|
||
'h5.placeOrder.height': 'H',
|
||
'h5.placeOrder.sender': 'Sender address (optional)',
|
||
'h5.placeOrder.senderPh': 'Select saved sender',
|
||
'h5.placeOrder.default': 'Default',
|
||
'h5.placeOrder.receiverName': 'Recipient',
|
||
'h5.placeOrder.receiverPhone': 'Phone',
|
||
'h5.placeOrder.country': 'Country',
|
||
'h5.placeOrder.address': 'Address',
|
||
'h5.placeOrder.city': 'City',
|
||
'h5.placeOrder.province': 'State / Province',
|
||
'h5.placeOrder.zip': 'Postal code',
|
||
'h5.placeOrder.currency': 'Declared currency',
|
||
'h5.placeOrder.enName': 'Item name (EN)',
|
||
'h5.placeOrder.cnName': 'Item name (CN)',
|
||
'h5.placeOrder.unitPrice': 'Unit price',
|
||
'h5.placeOrder.unitWeight': 'Unit weight',
|
||
'h5.placeOrder.qty': 'Qty',
|
||
'h5.placeOrder.amount': 'Amount',
|
||
'h5.placeOrder.itemWeight': 'Weight',
|
||
'h5.placeOrder.itemTitle': 'Item {n}',
|
||
'h5.placeOrder.addItem': 'Add item',
|
||
'h5.placeOrder.removeItem': 'Remove',
|
||
'h5.placeOrder.err.itemsEmpty': 'Add at least one declaration item',
|
||
'h5.placeOrder.err.itemLine': 'Item {n}: {msg}',
|
||
'h5.placeOrder.prev': 'Back',
|
||
'h5.placeOrder.next': 'Next',
|
||
'h5.placeOrder.submit': 'Submit order',
|
||
'h5.placeOrder.submitting': 'Submitting…',
|
||
'h5.placeOrder.successTitle': 'Order created',
|
||
'h5.placeOrder.successContent': 'You can view and pay the order in Orders.',
|
||
'h5.placeOrder.goOrders': 'Go to Orders',
|
||
'h5.placeOrder.stay': 'Stay',
|
||
'h5.placeOrder.failed': 'Failed to create order',
|
||
'h5.placeOrder.optionsFailed': 'Failed to load options',
|
||
'h5.placeOrder.err.clientNo': 'Enter customer order No.',
|
||
'h5.placeOrder.err.product': 'Select shipping method',
|
||
'h5.placeOrder.err.cargo': 'Select cargo type',
|
||
'h5.placeOrder.err.warehouse': 'Select warehouse',
|
||
'h5.placeOrder.err.weight': 'Enter weight',
|
||
'h5.placeOrder.err.length': 'Enter length',
|
||
'h5.placeOrder.err.width': 'Enter width',
|
||
'h5.placeOrder.err.height': 'Enter height',
|
||
'h5.placeOrder.err.receiverName': 'Enter recipient',
|
||
'h5.placeOrder.err.receiverPhone': 'Enter phone',
|
||
'h5.placeOrder.err.country': 'Select country',
|
||
'h5.placeOrder.err.address': 'Enter address',
|
||
'h5.placeOrder.err.zip': 'Enter postal code',
|
||
'h5.placeOrder.err.currency': 'Select currency',
|
||
'h5.placeOrder.err.enName': 'Enter English item name',
|
||
'h5.placeOrder.err.unitPrice': 'Enter unit price',
|
||
'h5.placeOrder.err.unitWeight': 'Enter unit weight',
|
||
'h5.placeOrder.err.qty': 'Enter quantity',
|
||
|
||
'h5.me.coupons': 'Coupons',
|
||
'h5.me.couponsDesc': 'Save more on every order',
|
||
'h5.me.couponsDescReady': '{count} ready to use',
|
||
'h5.me.invite': 'Invite',
|
||
'h5.me.inviteDesc': 'Invite friends — both win',
|
||
'h5.me.commission': 'Commission',
|
||
'h5.me.commissionDesc': 'Withdraw or top up balance',
|
||
'h5.me.placeOrder': 'Order',
|
||
'h5.me.placeOrderDesc': 'Ship in a few taps',
|
||
'h5.me.section.services': 'Services',
|
||
'h5.me.section.account': 'Account',
|
||
'h5.me.section.journey': 'Shipping guide',
|
||
|
||
'h5.journey.title': 'Shipping guide',
|
||
'h5.journey.lead': 'Quote → warehouse → order → pay → deliver',
|
||
'h5.journey.expand': 'Expand',
|
||
'h5.journey.collapse': 'Collapse',
|
||
'h5.journey.summaryPay': '{count} pending payment(s) — expand to continue',
|
||
'h5.journey.payCta': 'Pay {count} order(s)',
|
||
'h5.journey.badge': 'For you',
|
||
'h5.journey.tip': 'Tip: ship to warehouse before creating a logistics order. Pending payments highlight “Pay”.',
|
||
'h5.journey.step.price': 'Get a quote',
|
||
'h5.journey.step.priceHint': 'Pick country & weight, compare first',
|
||
'h5.journey.step.warehouse': 'Warehouse address',
|
||
'h5.journey.step.warehouseHint': 'Copy recipient / phone / address',
|
||
'h5.journey.step.ship': 'Ship to warehouse',
|
||
'h5.journey.step.shipHint': 'Self-ship, or create pickup with sender address',
|
||
'h5.journey.step.order': 'Create logistics order',
|
||
'h5.journey.step.orderHint': 'Fill receiver & declaration',
|
||
'h5.journey.step.pay': 'Pay freight',
|
||
'h5.journey.step.payHint': 'Pay pending orders with balance',
|
||
'h5.journey.step.done': 'Track & deliver',
|
||
'h5.journey.step.doneHint': 'Follow tracking until signed',
|
||
|
||
'h5.journey.warehouse.title': 'Warehouse addresses',
|
||
'h5.journey.warehouse.lead': 'Ship to these warehouses and note your customer code for inbound.',
|
||
'h5.journey.warehouse.empty': 'No warehouse addresses',
|
||
'h5.journey.warehouse.copy': 'Copy',
|
||
'h5.journey.warehouse.recipient': 'Recipient: ',
|
||
'h5.journey.warehouse.phone': 'Phone: ',
|
||
'h5.journey.warehouse.address': 'Address: ',
|
||
|
||
'h5.journey.ship.title': 'Ship to warehouse',
|
||
'h5.journey.ship.lead': 'Self-ship to the warehouse, or create a pickup after adding a sender address.',
|
||
'h5.journey.ship.selfTitle': 'I’ll ship myself',
|
||
'h5.journey.ship.selfDesc': 'Copy warehouse address and mark your customer code',
|
||
'h5.journey.ship.pickupTitle': 'Request pickup',
|
||
'h5.journey.ship.pickupDesc': 'Add sender address, then create a pickup order',
|
||
'h5.journey.ship.senderTitle': 'Sender addresses',
|
||
'h5.journey.ship.addSender': 'Add',
|
||
'h5.journey.ship.cancelAdd': 'Cancel',
|
||
'h5.journey.ship.noSender': 'No sender address yet — add one first',
|
||
'h5.journey.ship.senderName': 'Sender name',
|
||
'h5.journey.ship.phone': 'Phone',
|
||
'h5.journey.ship.province': 'State / Province',
|
||
'h5.journey.ship.city': 'City',
|
||
'h5.journey.ship.address': 'Street address',
|
||
'h5.journey.ship.saveSender': 'Save sender address',
|
||
'h5.journey.ship.senderRequired': 'Enter sender name and address',
|
||
'h5.journey.ship.senderSaved': 'Sender address saved',
|
||
'h5.journey.ship.senderFailed': 'Failed to save',
|
||
'h5.journey.ship.pickupFormTitle': 'Create pickup',
|
||
'h5.journey.ship.warehouse': 'Warehouse',
|
||
'h5.journey.ship.product': 'Shipping product',
|
||
'h5.journey.ship.cargoName': 'Cargo name',
|
||
'h5.journey.ship.weight': 'Weight (kg)',
|
||
'h5.journey.ship.pickupTime': 'Pickup time',
|
||
'h5.journey.ship.pickupTimePh': 'YYYY-MM-DD HH:mm:ss',
|
||
'h5.journey.ship.createPickup': 'Submit pickup',
|
||
'h5.journey.ship.pickSender': 'Select a sender address',
|
||
'h5.journey.ship.pickWarehouse': 'Select a warehouse',
|
||
'h5.journey.ship.pickProduct': 'Select a product',
|
||
'h5.journey.ship.pickCargo': 'Enter cargo name',
|
||
'h5.journey.ship.pickWeight': 'Enter a valid weight',
|
||
'h5.journey.ship.pickupOk': 'Pickup created',
|
||
'h5.journey.ship.pickupFailed': 'Failed to create pickup',
|
||
'h5.me.todoTitle': 'To-do',
|
||
|
||
'h5.coupons.title': 'My coupons',
|
||
'h5.coupons.empty': 'No coupons',
|
||
'h5.coupons.unnamed': 'Coupon',
|
||
'h5.coupons.tab.available': 'Available',
|
||
'h5.coupons.tab.used': 'Used',
|
||
'h5.coupons.tab.expired': 'Expired',
|
||
'h5.coupons.minOrder': 'Min order {amount}',
|
||
'h5.coupons.use': 'Use now',
|
||
'h5.coupons.discountUnit': ' off',
|
||
'h5.coupons.expiringSoon': 'Expiring soon',
|
||
'h5.coupons.badge.newcomer': 'New',
|
||
'h5.coupons.validLabel': 'Valid',
|
||
'h5.coupons.howLabel': 'How',
|
||
'h5.coupons.how.fixed': 'Select at checkout. Min order {amount} to redeem',
|
||
'h5.coupons.how.direct': 'Select at checkout for an instant face-value off',
|
||
'h5.coupons.how.percent': 'Select at checkout. Min order {amount} for percent off',
|
||
'h5.coupons.how.shipping': 'Select at checkout. Min order {amount} for shipping off',
|
||
|
||
'h5.invite.title': 'Invite friends',
|
||
'h5.invite.tab.share': 'Share invite',
|
||
'h5.invite.tab.referees': 'Invited',
|
||
'h5.invite.lead':
|
||
'Share your code or QR. Friends open it in WeChat, finish official-account registration, and both unlock rewards.',
|
||
'h5.invite.code': 'Invite code',
|
||
'h5.invite.link': 'Invite link (open in WeChat)',
|
||
'h5.invite.copy': 'Copy',
|
||
'h5.invite.copySuccess': 'Copied',
|
||
'h5.invite.copyShare': 'Copy invite message',
|
||
'h5.invite.share': 'Share',
|
||
'h5.invite.shareTitle': 'Join with my invite',
|
||
'h5.invite.qrTip': 'Friends scan or long-press in WeChat to register via the official account',
|
||
'h5.invite.referees': 'Invited friends',
|
||
'h5.invite.refereesEmpty': 'No friends have registered with your invite yet',
|
||
'h5.invite.empty': 'No invite data',
|
||
|
||
'h5.commission.title': 'My commission',
|
||
'h5.commission.balance': 'Withdrawable',
|
||
'h5.commission.total': 'Total earned',
|
||
'h5.commission.pending': 'Pending',
|
||
'h5.commission.transfer': 'Transfer to balance',
|
||
'h5.commission.withdraw': 'Withdraw',
|
||
'h5.commission.empty': 'No commission data',
|
||
'h5.commission.transferOk': 'Transfer submitted',
|
||
'h5.commission.withdrawOk': 'Withdraw request submitted',
|
||
'h5.commission.amountPh': 'Enter amount',
|
||
|
||
'h5.pay.title': 'Confirm payment',
|
||
'h5.pay.amountDue': 'Amount due',
|
||
'h5.pay.waybillNo': 'Waybill',
|
||
'h5.pay.orderTotal': 'Order due',
|
||
'h5.pay.methodBalance': 'Pay with balance',
|
||
'h5.pay.methodHint': 'Will be deducted from your account balance',
|
||
'h5.pay.confirm': 'Pay now',
|
||
'h5.pay.paying': 'Paying…',
|
||
'h5.pay.cancel': 'Cancel',
|
||
'h5.pay.empty': 'No payable orders',
|
||
'h5.pay.noFeeRows': 'No fee details',
|
||
'h5.pay.success': 'Paid successfully',
|
||
'h5.pay.failed': 'Payment failed',
|
||
'h5.pay.invalidAmount': 'Invalid amount — cannot pay',
|
||
'h5.pay.loadFailed': 'Failed to load fee details',
|
||
'h5.pay.balanceLowTitle': 'Insufficient balance',
|
||
'h5.pay.balanceLow': 'Your balance is not enough for this payment. Recharge first, then come back to pay.',
|
||
'h5.pay.goRecharge': 'Recharge',
|
||
'h5.pay.later': 'Later',
|
||
'h5.me.balance': 'Balance',
|
||
'h5.me.recharge': 'Recharge',
|
||
'h5.me.lowBalance': 'Low balance — recharge soon',
|
||
'h5.me.greet.morning': 'Good morning',
|
||
'h5.me.greet.noon': 'Good noon',
|
||
'h5.me.greet.afternoon': 'Good afternoon',
|
||
'h5.me.greet.evening': 'Good evening',
|
||
'h5.me.greet.night': 'Still up late',
|
||
'h5.me.todoAction': '{count} pending payment',
|
||
'h5.me.todoIssue': '{count} issue',
|
||
'h5.me.todoGo': 'Handle',
|
||
'h5.me.pickupTitle': 'Pickup orders',
|
||
'h5.me.pickupSummary': '{count} order(s) — tap to view',
|
||
'h5.me.pickupEmpty': 'No pickup orders yet',
|
||
'h5.me.pickupGo': 'View',
|
||
'h5.pickup.title': 'Pickup orders',
|
||
'h5.pickup.empty': 'No pickup orders',
|
||
'h5.pickup.loadFailed': 'Failed to load',
|
||
'h5.pickup.loadMore': 'Load more',
|
||
'h5.pickup.loading': 'Loading…',
|
||
'h5.pickup.pickupTime': 'Pickup time',
|
||
'h5.pickup.warehouse': 'Warehouse',
|
||
'h5.pickup.cargo': 'Cargo',
|
||
'h5.me.editProfile': 'Edit profile',
|
||
'h5.me.addressManage': 'Addresses',
|
||
'h5.me.resetPassword': 'Change password',
|
||
'h5.me.language': 'Language',
|
||
'h5.me.logout': 'Sign out',
|
||
'h5.me.logoutConfirm': 'Sign out now?',
|
||
'h5.me.customerCode': 'Code',
|
||
'h5.me.copySuccess': 'Copied',
|
||
'h5.me.defaultName': 'Customer',
|
||
'h5.me.oldPassword': 'Current password',
|
||
'h5.me.newPassword': 'New password',
|
||
'h5.me.confirmPassword': 'Confirm password',
|
||
'h5.me.passwordRequired': 'Enter current and new password',
|
||
'h5.me.passwordMismatch': 'Passwords do not match',
|
||
'h5.me.changePasswordSuccess': 'Password changed. Please sign in again.',
|
||
'h5.me.updateSuccess': 'Saved',
|
||
'h5.me.updateFailed': 'Save failed',
|
||
'h5.me.save': 'Save',
|
||
'h5.address.title': 'Addresses',
|
||
'h5.address.addTitle': 'Add address',
|
||
'h5.address.editTitle': 'Edit address',
|
||
'h5.address.add': 'Add address',
|
||
'h5.address.edit': 'Edit',
|
||
'h5.address.delete': 'Delete',
|
||
'h5.address.default': 'Default',
|
||
'h5.address.setDefault': 'Set default',
|
||
'h5.address.setDefaultTip': 'Set as default for this type',
|
||
'h5.address.setDefaultOk': 'Default address updated',
|
||
'h5.address.deleteOk': 'Deleted',
|
||
'h5.address.empty': 'No addresses yet',
|
||
'h5.address.loadFailed': 'Failed to load addresses',
|
||
'h5.address.saveFailed': 'Save failed',
|
||
'h5.address.typeLabel': 'Address type',
|
||
'h5.address.type.sender': 'Sender',
|
||
'h5.address.type.receiver': 'Receiver',
|
||
'h5.address.type.return': 'Return',
|
||
'h5.address.senderName': 'Contact',
|
||
'h5.address.senderNamePh': 'Name',
|
||
'h5.address.phone': 'Phone',
|
||
'h5.address.addressName': 'Alias',
|
||
'h5.address.addressNamePh': 'e.g. Home / Office',
|
||
'h5.address.countryCode': 'Country code',
|
||
'h5.address.province': 'State / Province',
|
||
'h5.address.city': 'City',
|
||
'h5.address.street': 'Street address',
|
||
'h5.address.streetPh': 'Street, building, unit…',
|
||
'h5.address.zipCode': 'ZIP / Postal',
|
||
'h5.address.nameRequired': 'Enter contact name',
|
||
'h5.address.streetRequired': 'Enter street address',
|
||
};
|