front/src/views/h5/customer-center/locale/en-US.ts
zzh 6fb1f4fd66 feat: 接入企业微信客服,并同步工作台与下单页改动
官网/H5 支持企微客服跳转;用户资料新增 WecomKfUrl;工作台与下单相关体验一并更新。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 19:09:34 +08:00

922 lines
45 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.editQuery': 'Edit',
'h5.price.reset': 'Reset',
'h5.price.sort.recommend': 'Recommend',
'h5.price.sort.price': 'Price',
'h5.price.sort.time': 'Speed',
'h5.price.resultCount': '{n} quotes',
'h5.price.recommendTag': 'Best',
'h5.price.tag.priceOptimal': 'Best price',
'h5.price.tag.timeOptimal': 'Fastest',
'h5.price.tag.best': 'Best',
'h5.price.dimensionsToggle': 'Size (optional)',
'h5.price.dimensionsHint': 'L×W×H for volumetric weight',
'h5.price.accuracy.postalCta': 'Estimate only — add a postal code for better accuracy',
'h5.price.accuracy.fillPostal': 'Add postal code',
'h5.price.accuracy.dismiss': 'Dismiss',
'h5.price.ai.title': 'AI route pick',
'h5.price.ai.entry': 'Not sure which? Enter a product name for AI pick',
'h5.price.ai.placeholder': 'e.g. lipstick, apparel, power bank',
'h5.price.ai.action': 'AI Recommend',
'h5.price.ai.needQuotes': 'Run a quote search first, then use AI recommend',
'h5.price.ai.needName': 'Please enter a product name',
'h5.price.hint.estimated': 'Indicative only; final after inbound',
'h5.price.hint.estimatedShort': 'Est. · final after inbound',
'h5.price.hint.dduExtra': 'Duties may apply at destination',
'h5.price.chargeableWeightShort': 'Billable {w}KG',
'h5.price.askAdvisor': 'Ask AI',
'h5.price.askAiCanShip': 'Can this ship?',
'h5.price.askAiCheaper': 'Anything cheaper?',
'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.workingDays': 'business days',
'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': 'Estimates only. Tap Details for route guide.',
'h5.price.referenceBannerShort': 'Estimates only',
'h5.price.referencePrice': 'Est.',
'h5.price.productGroup': 'Product group',
'h5.price.cargo': 'Cargo type',
'h5.price.warehouse': 'Warehouse',
'h5.price.tradeTerms': 'Trade terms',
'h5.price.tradeTerms.ddp': 'DDP (duties included)',
'h5.price.tradeTerms.ddu': 'DDU (duties excluded)',
'h5.price.detailShort': 'Details',
'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.GB': 'UK',
'h5.price.shortcut.DE': 'DE',
'h5.price.shortcut.CA': 'CA',
'h5.price.shortcut.FR': 'FR',
'h5.price.shortcut.ES': 'ES',
'h5.price.shortcut.MX': 'MX',
'h5.price.shortcut.BR': 'BR',
'h5.price.shortcut.NZ': 'NZ',
'h5.price.shortcut.IT': 'IT',
'h5.price.shortcut.NL': 'NL',
'h5.orders.title': 'My Orders',
'h5.orders.searchPlaceholder': 'Waybill / customer / tracking no.',
'h5.orders.search': 'Search',
'h5.orders.empty': 'No orders',
'h5.orders.emptyGoPrice': 'Check rates',
'h5.orders.fulfill.domestic': 'Domestic',
'h5.orders.loadMore': 'Load more',
'h5.orders.todo': 'To-do',
// Waybill statuses in H5 bootstrap — avoid blocking on full en-US after login
'order.myOrders.status.draft': 'Draft',
'order.myOrders.status.predeclared': 'Predeclared',
'order.myOrders.status.pendingAllocation': 'Pending allocation',
'order.myOrders.status.pendingPayment': 'Pending payment',
'order.myOrders.status.pendingShip': 'Pending ship',
'order.myOrders.status.pendingOnline': 'Pending online',
'order.myOrders.status.shipping': 'Shipping',
'order.myOrders.status.deliverySuccess': 'Delivered',
'order.myOrders.status.deliveryFailed': 'Delivery failed',
'order.myOrders.status.deleted': 'Deleted',
'order.myOrders.status.problematic': 'Problematic',
'order.myOrders.status.claimed': 'Claimed',
'h5.orders.group.all': 'All',
'h5.orders.group.actionNeeded': 'Action needed',
'h5.orders.group.fulfill': 'Fulfill',
'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.actions.predeclare': 'Re-predeclare',
'h5.orders.actions.edit': 'Edit',
'h5.orders.actions.intercept': 'Intercept',
'h5.orders.actions.cancelIntercept': 'Cancel intercept',
'h5.orders.actions.busy': 'Working…',
'h5.orders.batch.entry': 'Batch',
'h5.orders.batch.done': 'Done',
'h5.orders.batch.hint': 'Select orders to pay, pre-declare, intercept, or merge pickup. Numbers show eligible count.',
'h5.orders.batch.selectAll': 'Select page',
'h5.orders.batch.unselectAll': 'Clear page',
'h5.orders.batch.selected': '{count} selected',
'h5.orders.batch.needPay': 'No payable orders in selection',
'h5.orders.batch.needPredeclare': 'No draft orders to pre-declare',
'h5.orders.batch.needIntercept': 'No orders eligible to intercept',
'h5.orders.batch.needCancelIntercept': 'No orders eligible to cancel intercept',
'h5.orders.batch.needPickup': 'No orders eligible for merge pickup (pre-declared, same warehouse, unbound)',
'h5.orders.batch.pickupSkipped': 'Skipped {count} orders not eligible for merge pickup',
'h5.orders.batch.interceptConfirm': 'Intercept {count} selected orders?',
'h5.orders.batch.cancelInterceptConfirm': 'Cancel intercept on {count} selected orders?',
'h5.orders.intercept.confirmTitle': 'Submit intercept?',
'h5.orders.intercept.confirmContent': 'This will request an intercept downstream. Continue?',
'h5.orders.intercept.confirmOk': 'Submit',
'h5.orders.intercept.cancelConfirmTitle': 'Cancel intercept?',
'h5.orders.intercept.cancelConfirmContent': 'This clears the intercept flag. Continue?',
'h5.orders.intercept.cancelConfirmOk': 'Confirm',
'h5.orders.intercept.submitSuccess': 'Intercept submitted',
'h5.orders.intercept.submitFailed': 'Intercept failed',
'h5.orders.intercept.cancelSuccess': 'Intercept cancelled',
'h5.orders.intercept.cancelFailed': 'Failed to cancel intercept',
'h5.orders.predeclareOk': 'Pre-declared',
'h5.orders.predeclareFailed': 'Pre-declare failed',
'h5.orders.detail': 'Details',
'h5.orders.copySuccess': 'Copied',
'h5.orders.copyFailed': 'Copy failed',
'h5.orders.payable': 'Due',
'h5.orders.paid': 'Paid',
'h5.orders.signTime': 'Signed: ',
'h5.orders.etaSignTime': 'ETA: ',
'h5.orders.createTime': 'Created: ',
'h5.orders.signEarly': '{hours}h earlier than ETA',
'h5.orders.signLate': '{hours}h later than ETA',
'h5.orders.signOnTime': 'On time',
'h5.orders.mergePickup.entry': 'Merge pickup',
'h5.orders.mergePickup.title': 'Schedule door pickup',
'h5.orders.mergePickup.cancel': 'Cancel',
'h5.orders.mergePickup.hint': 'Pre-declared waybills not yet on a pickup sheet, same warehouse only',
'h5.orders.mergePickup.stepSelect': 'Select',
'h5.orders.mergePickup.stepForm': 'Details',
'h5.orders.mergePickup.heroTitle': 'Select waybills to merge',
'h5.orders.mergePickup.selectableCount': '{count} eligible on this page',
'h5.orders.mergePickup.predeclaredOnly': 'Pre-declared only',
'h5.orders.mergePickup.selected': '{count} selected',
'h5.orders.mergePickup.selectedWithWarehouse': '{count} selected · {warehouse}',
'h5.orders.mergePickup.next': 'Next',
'h5.orders.mergePickup.submit': 'Create pickup',
'h5.orders.mergePickup.createTitle': 'Pickup details',
'h5.orders.mergePickup.createSub': 'Step 2 · Address & time',
'h5.orders.mergePickup.needSelect': 'Select waybills first',
'h5.orders.mergePickup.emptyPredeclared': 'No eligible pre-declared waybills',
'h5.orders.mergePickup.summaryWarehouse': 'Warehouse',
'h5.orders.mergePickup.summaryOrders': 'Waybills',
'h5.orders.mergePickup.moreOptions': 'More options',
'h5.orders.mergePickup.timePresetTomorrowAm': 'Tomorrow 10:00',
'h5.orders.mergePickup.timePresetTomorrowPm': 'Tomorrow 14:00',
'h5.orders.mergePickup.timePresetDayAfterAm': 'Day after 10:00',
'h5.orders.mergePickup.timeCustom': 'Custom',
'h5.orders.mergePickup.noSender': 'Add a sender address first',
'h5.orders.mergePickup.reason.notPredeclared': 'Pre-declared only',
'h5.orders.mergePickup.reason.alreadyBound': 'Already bound to pickup',
'h5.orders.mergePickup.reason.noWarehouse': 'Missing warehouse',
'h5.orders.mergePickup.reason.differentWarehouse': 'Same warehouse required',
'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.orders.detail.predeclareFailReason': 'Pre-declare failure',
'h5.orders.detail.predeclare': 'Pre-declare again',
'h5.orders.detail.predeclaring': 'Pre-declaring…',
'h5.orders.detail.predeclareOk': 'Pre-declared',
'h5.orders.detail.predeclareFailed': 'Pre-declare failed',
'h5.orders.detail.fulfillProgress': 'Fulfill progress',
'h5.orders.detail.domesticTracking': 'Domestic tracking',
'h5.orders.detail.bindQty': 'Bind qty',
'h5.me.guestTitle': 'Welcome to Customer Center',
'h5.me.guestDesc':
'Tap authorize 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.bindWechat': 'Bind WeChat',
'h5.me.bindWechatOpenInWechat': 'Please open this page in WeChat to bind WeChat',
'h5.me.passwordLogin': 'Password login',
'h5.me.needLogin': 'Please register or sign in first',
'h5.me.scanLogin': 'WeChat authorize 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.refreshExpired': 'Tap to 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.expired': 'QR code expired',
'h5.wxQr.expiredTip': 'Refresh before scanning to avoid a failed login',
'h5.wxQr.scanned': 'Scanned. Signing you in…',
'h5.wxQr.success': 'Signed in',
'h5.login.title': 'Sign in',
'h5.login.brand': 'IDE Customer Center',
'h5.login.brandName': 'IDE',
'h5.login.brandHint': 'Welcome to your IDE portal',
'h5.login.tab.wechat': 'WeChat',
'h5.login.tab.password': 'Account',
'h5.login.switchPassword': 'Sign in with password',
'h5.login.switchWechat': 'WeChat authorize sign-in',
'h5.login.or': 'or',
'h5.login.oauthLogin': 'Sign in with WeChat',
'h5.login.oauthRedirecting': 'Opening WeChat authorization…',
'h5.login.oauthLoggingIn': 'Authorized. Signing you in…',
'h5.login.oauthFailed': 'WeChat sign-in failed. Please retry.',
'h5.login.openInWechat': 'Open this page in WeChat to use WeChat authorize 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': 'No account?',
'h5.login.goRegister': 'Register with WeChat',
'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': 'Select pre-declared waybills to schedule door pickup',
'h5.contact.title': 'Add your contact details',
'h5.contact.desc':
'Please leave a phone number and email before ordering or scheduling pickup. We use them for customs documents, delivery updates, and fee confirmations — so shipments are not delayed waiting for a reply.',
'h5.contact.cancel': 'Cancel',
'h5.contact.saveContinue': 'Save & continue',
'h5.contact.saved': 'Saved — you can continue',
'h5.contact.saveFailed': 'Save failed. Please retry.',
'h5.contact.phoneInvalid': 'Enter a valid phone number',
'h5.contact.emailInvalid': 'Enter a valid email',
'h5.contact.requiredToast': 'Add phone and email to continue ordering',
'h5.pickupCreate.title': 'Create pickup order',
'h5.placeOrder.title': 'Place order',
'h5.placeOrder.editTitle': 'Edit order',
'h5.placeOrder.save': 'Save',
'h5.placeOrder.saving': 'Saving…',
'h5.placeOrder.editSaved': 'Order saved',
'h5.placeOrder.editSaveFailed': 'Save failed',
'h5.placeOrder.editLoadFailed': 'Failed to load order',
'h5.placeOrder.mock': 'Mock order',
'h5.placeOrder.mockFilled': 'Mock order filled',
'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.additionalServices': 'Additional services',
'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',
'h5.placeOrder.senderPh': 'Select saved sender',
'h5.placeOrder.senderEmpty': 'No sender address yet. Add one before placing an order.',
'h5.placeOrder.addSender': 'Add sender',
'h5.placeOrder.cancelAddSender': 'Cancel',
'h5.placeOrder.senderNamePh': 'Sender name',
'h5.placeOrder.senderPhonePh': 'Phone',
'h5.placeOrder.senderProvincePh': 'Province / State',
'h5.placeOrder.senderCityPh': 'City',
'h5.placeOrder.senderAddressPh': 'Street address',
'h5.placeOrder.saveSender': 'Save sender',
'h5.placeOrder.savingSender': 'Saving…',
'h5.placeOrder.senderSaved': 'Sender address saved',
'h5.placeOrder.senderSaveFailed': 'Failed to save sender address',
'h5.placeOrder.default': 'Default',
'h5.placeOrder.receiverName': 'Recipient',
'h5.placeOrder.receiverPhone': 'Phone',
'h5.placeOrder.company': 'Company',
'h5.placeOrder.telePhone': 'Tel',
'h5.placeOrder.email': 'Email',
'h5.placeOrder.streetNumber': 'House No.',
'h5.placeOrder.country': 'Country',
'h5.placeOrder.address': 'Address 1',
'h5.placeOrder.address2': 'Address 2',
'h5.placeOrder.address3': 'Address 3',
'h5.placeOrder.city': 'City',
'h5.placeOrder.province': 'State / Province',
'h5.placeOrder.zip': 'Postal code',
'h5.placeOrder.taxNo': 'Tax No.',
'h5.placeOrder.taxType': 'Tax type',
'h5.placeOrder.certificateNo': 'ID No.',
'h5.placeOrder.certificateType': 'ID type',
'h5.placeOrder.typePh': 'Number, e.g. 0',
'h5.placeOrder.eori': 'EORI',
'h5.placeOrder.vat': 'VAT',
'h5.placeOrder.currency': 'Declared currency',
'h5.placeOrder.declaredTotal': 'Declared total',
'h5.placeOrder.declaredTotalPh': 'Editable — reverse unit price',
'h5.placeOrder.inboundMethod': 'Inbound method',
'h5.placeOrder.inboundSelfShip': 'Self ship',
'h5.placeOrder.inboundDoorPickup': 'Door pickup',
'h5.placeOrder.inboundDoorPickupHint':
'Door pickup is a paid service. Please fill in the pickup address and expected time.',
'h5.placeOrder.pickupAddress': 'Pickup address',
'h5.placeOrder.pickupAddressPh': 'Select a saved sender address',
'h5.placeOrder.expectPickupTime': 'Expected pickup time',
'h5.placeOrder.expectPickupTimePh': 'Select expected pickup time',
'h5.placeOrder.carrierService': 'Carrier service',
'h5.placeOrder.carrierServicePh': 'Select a domestic pickup product (optional)',
'h5.placeOrder.doorPickupBatchHint':
'For multiple shipments, select orders in My Orders to create pickups in bulk',
'h5.placeOrder.showReceiverOptional': 'More optional',
'h5.placeOrder.hideReceiverOptional': 'Hide optional',
'h5.placeOrder.enName': 'Item name (EN)',
'h5.placeOrder.cnName': 'Item name (CN)',
'h5.placeOrder.sku': 'SKU',
'h5.placeOrder.unit': 'Unit',
'h5.placeOrder.unitPrice': 'Unit price',
'h5.placeOrder.unitWeight': 'Unit weight',
'h5.placeOrder.qty': 'Qty',
'h5.placeOrder.amount': 'Amount',
'h5.placeOrder.itemWeight': 'Weight',
'h5.placeOrder.imHsCode': 'Import HS',
'h5.placeOrder.exHsCode': 'Export HS',
'h5.placeOrder.brand': 'Brand',
'h5.placeOrder.model': 'Model',
'h5.placeOrder.material': 'Material',
'h5.placeOrder.enMaterial': 'Material (EN)',
'h5.placeOrder.purpose': 'Purpose',
'h5.placeOrder.originCountry': 'Origin',
'h5.placeOrder.category': 'Category',
'h5.placeOrder.specifications': 'Specs',
'h5.placeOrder.salesLink': 'Sales link',
'h5.placeOrder.comment': 'Comment',
'h5.placeOrder.itemTitle': 'Item {n}',
'h5.placeOrder.showMore': 'More fields',
'h5.placeOrder.hideMore': 'Hide more',
'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.aiParse': 'AI analyze',
'h5.placeOrder.aiParseTitle': 'Paste address · AI analyze',
'h5.placeOrder.aiParseHint':
'About 60% of overseas delivery failures are due to incomplete address info',
'h5.placeOrder.aiParsePlaceholder':
'e.g. John Smith, +1 310-555-0199, 1001 Sunset Blvd, Los Angeles, CA 90001, USA',
'h5.placeOrder.aiParseProvider': 'AI provider',
'h5.placeOrder.aiParseModel': 'Model',
'h5.placeOrder.aiParseSkill': 'Skill card',
'h5.placeOrder.aiParseNeedProvider': 'Select an AI provider',
'h5.placeOrder.aiParseNeedModel': 'Select a model',
'h5.placeOrder.aiParseNeedSkill': 'Select a skill card',
'h5.placeOrder.aiParseCancel': 'Close',
'h5.placeOrder.aiParseConfirm': 'AI analyze & fill',
'h5.placeOrder.aiParseLoading': 'Analyzing…',
'h5.placeOrder.aiParseEmpty': 'Paste an address first',
'h5.placeOrder.aiParseSuccess': 'Recipient fields updated',
'h5.placeOrder.aiParseFailed': 'AI analyze failed',
'h5.placeOrder.aiParseComplete': 'Address looks complete and was filled in',
'h5.placeOrder.aiParseRequiredOk': 'Required fields OK. ',
'h5.placeOrder.aiParseRequiredOkShort': 'Required fields OK — please double-check details',
'h5.placeOrder.aiParseIncomplete': 'Still incomplete — please fill remaining fields',
'h5.placeOrder.aiParseMissingRequired': 'Missing required: ',
'h5.placeOrder.aiParseMissingRecommended': 'Suggested: ',
'h5.placeOrder.submit': 'Confirm 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.failTitle': 'Order was not placed',
'h5.placeOrder.failTitleDraft': 'Pre-declaration failed (draft saved)',
'h5.placeOrder.failWhat': 'Failure reason',
'h5.placeOrder.failHow': 'Tip',
'h5.placeOrder.failRaw': 'System response',
'h5.placeOrder.failDraftNote': 'Draft saved — edit then pre-declare',
'h5.placeOrder.failNotSavedNote': 'Order was not saved',
'h5.placeOrder.failContinue': 'Continue editing',
'h5.placeOrder.failSaveDraft': 'Save as draft',
'h5.placeOrder.failSaveDraftOk': 'Saved as draft',
'h5.placeOrder.failSaveDraftFailed': 'Failed to save draft',
'h5.placeOrder.failSaveDraftGo': 'Open draft',
'h5.placeOrder.failSaveDraftStay': 'Stay',
'h5.placeOrder.failGoDraft': 'Open draft & pre-declare',
'h5.placeOrder.failAbandon': 'Discard',
'h5.placeOrder.failCancelDraft': 'Cancel (delete draft)',
'h5.placeOrder.failAbandonTitle': 'Discard this form?',
'h5.placeOrder.failAbandonContent': 'The current form will be cleared.',
'h5.placeOrder.failAbandonOk': 'Discard',
'h5.placeOrder.failAbandonDone': 'Cleared',
'h5.placeOrder.failCancelDraftTitle': 'Cancel this submission?',
'h5.placeOrder.failCancelDraftContent': 'The draft just saved will be deleted.',
'h5.placeOrder.failCancelDraftOk': 'Delete draft',
'h5.placeOrder.failKeep': 'Keep editing',
'h5.placeOrder.failCancelDraftDone': 'Draft deleted',
'h5.placeOrder.failCancelDraftFailed': 'Failed to delete',
'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.sender': 'Select a sender address',
'h5.placeOrder.err.senderEmpty': 'Add a sender address before placing an order',
'h5.placeOrder.err.inboundPickupSender': 'Door pickup requires a pickup address',
'h5.placeOrder.err.expectPickupTime': 'Door pickup requires an expected pickup time',
'h5.placeOrder.err.senderForm': 'Enter sender name and street address',
'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.storeOrders': 'Store orders',
'h5.me.storeOrdersDesc': 'Pull, sync & track fulfillment',
'h5.me.opening': 'Loading…',
'h5.me.openFailed': 'Failed to open, please retry',
'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.onlineKf': 'Dedicated advisor',
'h5.me.section.journey': 'Shipping guide',
'h5.storeOrders.title': 'Store orders',
'h5.storeOrders.searchPlaceholder': 'Platform order no.',
'h5.storeOrders.search': 'Search',
'h5.storeOrders.empty': 'No store orders yet',
'h5.storeOrders.loadMore': 'Load more',
'h5.storeOrders.loadFailed': 'Failed to load. Try again.',
'h5.storeOrders.recipient': 'Recipient',
'h5.storeOrders.amount': 'Amount',
'h5.storeOrders.itemCount': '{n} item(s)',
'h5.storeOrders.linkedServiceNo': 'Linked waybill',
'h5.storeOrders.detail': 'Details',
'h5.storeOrders.sync': 'Sync',
'h5.storeOrders.syncing': 'Syncing…',
'h5.storeOrders.syncOk': 'Synced',
'h5.storeOrders.syncFailed': 'Sync failed',
'h5.storeOrders.copied': 'Copied',
'h5.storeOrders.copyFailed': 'Copy failed',
'h5.storeOrders.platform.all': 'All platforms',
'h5.storeOrders.platform.label': 'Platform',
'h5.storeOrders.status.all': 'All',
'h5.storeOrders.status.pending': 'Pending',
'h5.storeOrders.status.toShip': 'To ship',
'h5.storeOrders.status.shipped': 'Shipped',
'h5.storeOrders.status.suspended': 'Suspended',
'h5.storeOrders.status.canceled': 'Canceled',
'h5.storeOrders.status.completed': 'Completed',
'h5.storeOrders.noProduct': 'No product info',
'h5.storeOrders.fetchLabel': 'Get label',
'h5.storeOrders.fetchLabelBusy': 'Fetching…',
'h5.storeOrders.fetchLabelOk': 'Label ready',
'h5.storeOrders.fetchLabelEmpty': 'No label yet',
'h5.storeOrders.fetchLabelFailed': 'Failed to fetch label',
'h5.storeOrders.pull.entry': 'Pull',
'h5.storeOrders.batch.entry': 'Batch',
'h5.storeOrders.batch.done': 'Done',
'h5.storeOrders.batch.hint': 'Select orders to sync, RTS or create waybills; Pull needs no selection',
'h5.storeOrders.batch.selectAll': 'Select page',
'h5.storeOrders.batch.unselectAll': 'Clear page',
'h5.storeOrders.batch.selected': '{count} selected',
'h5.storeOrders.batch.needSelect': 'Select orders first',
'h5.storeOrders.batch.syncConfirm': 'Sync {count} selected order(s)?',
'h5.storeOrders.batch.actionResult': '{success} ok, {fail} failed',
'h5.storeOrders.batch.rts': 'Ready to ship',
'h5.storeOrders.batch.rtsConfirm': 'Mark {count} order(s) ready to ship?',
'h5.storeOrders.batch.rtsSkipTemu': '({count} Temu skipped)',
'h5.storeOrders.batch.needRts': 'No RTS-eligible orders (Temu/suspended excluded)',
'h5.storeOrders.batch.rtsFailed': 'Ready-to-ship failed',
'h5.storeOrders.batch.createLogistics': 'Create waybill',
'h5.storeOrders.batch.createFulfill': 'Create fulfill',
'h5.storeOrders.batch.needCreate': 'Select pending orders without a linked waybill',
'h5.storeOrders.batch.createMax': 'Up to 50 orders per batch',
'h5.storeOrders.batch.createFiltered': '{count} ineligible order(s) excluded',
'h5.storeOrders.create.logisticsTitle': 'Create waybill',
'h5.storeOrders.create.fulfillTitle': 'Create fulfill waybill',
'h5.storeOrders.create.hint': 'Create logistics for {count} order(s)',
'h5.storeOrders.create.logisticsLead': 'Pick product, check address & lines, then submit',
'h5.storeOrders.create.fulfillLead': 'Pick warehouse, bind stock, then create',
'h5.storeOrders.create.readyMeta': '{total} order(s) · {ready} ready',
'h5.storeOrders.create.product': 'Service / product',
'h5.storeOrders.create.productRequired': 'Select a sales product',
'h5.storeOrders.create.pickProduct': 'Select a product',
'h5.storeOrders.create.searchProduct': 'Search product',
'h5.storeOrders.create.warehouse': 'Warehouse',
'h5.storeOrders.create.warehouseRequired': 'Select a warehouse',
'h5.storeOrders.create.pickWarehouse': 'Select a warehouse',
'h5.storeOrders.create.searchWarehouse': 'Search warehouse',
'h5.storeOrders.create.noProduct': 'No sales products',
'h5.storeOrders.create.noWarehouse': 'No warehouses',
'h5.storeOrders.create.fulfillTip': 'Tap Auto-bind first, then fix remaining orders manually',
'h5.storeOrders.create.autoBind': 'Auto-bind inventory',
'h5.storeOrders.create.autoBinding': 'Binding…',
'h5.storeOrders.create.autoBindResult': '{ok} matched, {fail} failed',
'h5.storeOrders.create.autoBindFailed': 'Auto-bind failed',
'h5.storeOrders.create.orderList': 'Orders to create',
'h5.storeOrders.create.bindQtyShort': 'Bound {n}',
'h5.storeOrders.create.tabInfo': 'Address / items',
'h5.storeOrders.create.tabBind': 'Stock bind',
'h5.storeOrders.create.receiverTitle': 'Recipient',
'h5.storeOrders.create.linesTitle': 'Line items',
'h5.storeOrders.create.bindTitle': 'Bound inventory',
'h5.storeOrders.create.bindMeta': 'Order {order} / Bound {bind}',
'h5.storeOrders.create.qtyDiff': 'Qty mismatch: order {order} / bound {bind}',
'h5.storeOrders.create.bindEmpty': 'Not bound yet — auto-bind or pick below',
'h5.storeOrders.create.pickInventory': 'Pick inventory',
'h5.storeOrders.create.searchInventory': 'Search SKU / name',
'h5.storeOrders.create.available': 'Avail {n}',
'h5.storeOrders.create.noInventoryCand': 'No inventory candidates',
'h5.storeOrders.create.tagReceiver': 'Missing recipient',
'h5.storeOrders.create.tagLines': 'No lines',
'h5.storeOrders.create.tagUnbound': 'Unbound',
'h5.storeOrders.create.tagBound': '{n} bound',
'h5.storeOrders.create.tagQtyDiff': 'Qty mismatch',
'h5.storeOrders.create.tagQtyOk': 'Bound',
'h5.storeOrders.create.tagOk': 'Ready',
'h5.storeOrders.create.formIncomplete': 'Fix highlighted / unbound orders first',
'h5.storeOrders.create.logisticsConfirm':
'Create {count} waybill(s) with {product}. Continue?',
'h5.storeOrders.create.fulfillConfirm':
'Create {count} fulfill waybill(s) with {product} from {warehouse}. Continue?',
'h5.storeOrders.create.cancel': 'Cancel',
'h5.storeOrders.create.submit': 'Create',
'h5.storeOrders.create.submitting': 'Creating…',
'h5.storeOrders.create.result': '{success} ok, {fail} failed',
'h5.storeOrders.create.success': 'Created {count} order(s)',
'h5.storeOrders.create.partial': '{success} ok, {fail} failed. {detail}',
'h5.storeOrders.create.failed': 'Create failed',
'h5.storeOrders.create.noMappedSku': 'Order {no} has no mapped shippable SKU',
'h5.storeOrders.create.noInventory': 'Order {no}: no inventory for SKU {sku}',
'h5.storeOrders.create.inventoryShort': 'Order {no}: short stock for {sku}',
'h5.storeOrders.pull.title': 'Pull from stores',
'h5.storeOrders.pull.hint': 'Pick stores and date range to pull orders',
'h5.storeOrders.pull.stores': 'Stores',
'h5.storeOrders.pull.noStore': 'No authorized stores',
'h5.storeOrders.pull.range': 'Date range',
'h5.storeOrders.pull.today': 'Today',
'h5.storeOrders.pull.days7': 'Last 7 days',
'h5.storeOrders.pull.days30': 'Last 30 days',
'h5.storeOrders.pull.cancel': 'Cancel',
'h5.storeOrders.pull.submit': 'Pull orders',
'h5.storeOrders.pull.submitting': 'Pulling…',
'h5.storeOrders.pull.selectStore': 'Select at least one store',
'h5.storeOrders.pull.result': '{success} ok, {fail} failed',
'h5.storeOrders.pull.failed': 'Pull failed',
'h5.storeOrders.detail.title': 'Order detail',
'h5.storeOrders.detail.failed': 'Order missing or failed to load',
'h5.storeOrders.detail.basic': 'Basics',
'h5.storeOrders.detail.recipient': 'Recipient',
'h5.storeOrders.detail.lines': 'Line items',
'h5.storeOrders.detail.shipping': 'Fulfillment',
'h5.storeOrders.detail.noLines': 'No line items',
'h5.storeOrders.detail.shipExcluded': 'Not shipping',
'h5.storeOrders.detail.openLabel': 'Open label',
'h5.storeOrders.detail.platformStatus': 'Platform status',
'h5.storeOrders.detail.items': 'Items',
'h5.storeOrders.detail.orderTime': 'Ordered at',
'h5.storeOrders.detail.lastSync': 'Last sync',
'h5.storeOrders.detail.phone': 'Phone',
'h5.storeOrders.detail.email': 'Email',
'h5.storeOrders.detail.country': 'Country',
'h5.storeOrders.detail.province': 'State/Province',
'h5.storeOrders.detail.city': 'City',
'h5.storeOrders.detail.zip': 'ZIP',
'h5.storeOrders.detail.address1': 'Address 1',
'h5.storeOrders.detail.address2': 'Address 2',
'h5.storeOrders.detail.labelNo': 'Label no.',
'h5.journey.title': 'Shipping guide',
'h5.journey.lead': 'Quote → order → pickup → 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: create a logistics order first, then ship or request pickup. 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.order': 'Create logistics order',
'h5.journey.step.orderHint': 'Fill receiver & declaration',
'h5.journey.step.ship': 'Pickup / ship to warehouse',
'h5.journey.step.shipHint': 'After ordering: self-ship or request pickup',
'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': 'Pickup / ship to warehouse',
'h5.journey.ship.lead': 'Create a logistics order first. Then either self-ship to the warehouse, or add a sender address and request pickup.',
'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 (after ordering)',
'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.posterAlt': 'Invite poster',
'h5.invite.posterLoading': 'Generating poster…',
'h5.invite.posterFailed': 'Failed to generate poster. Please retry.',
'h5.invite.posterRetry': 'Retry',
'h5.invite.savePoster': 'Save poster',
'h5.invite.posterSaved': 'Poster saved',
'h5.invite.posterTip': 'Long-press to recognize the QR, or save and share with friends',
'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.points': 'Points',
'h5.me.pointsToNext': '{points} to {name}',
'h5.me.pointsTopLevel': 'Top level reached',
'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. Choose "Pickup order" when placing orders to merge pickup.',
'h5.me.pickupGo': 'View',
'h5.pickup.title': 'Pickup orders',
'h5.pickup.empty': 'No pickup orders yet. Choose "Pickup order" when placing orders to merge pickup.',
'h5.pickup.loadFailed': 'Failed to load',
'h5.pickup.loadMore': 'Load more',
'h5.pickup.loading': 'Loading…',
'h5.pickup.pickupTime': 'Scheduled pickup',
'h5.pickup.parcelCount': '{count} parcel(s)',
'h5.pickup.filter.all': 'All',
'h5.pickup.filter.pendingPayment': 'Unpaid',
'h5.pickup.detail.title': 'Pickup order detail',
'h5.pickup.detail.receivable': 'Pickup fee due',
'h5.pickup.detail.warehouse': 'Warehouse',
'h5.pickup.detail.expectTime': 'Expected pickup',
'h5.pickup.detail.sender': 'Pickup address',
'h5.pickup.detail.carrierWaybill': 'Carrier waybill',
'h5.pickup.detail.createTime': 'Created',
'h5.pickup.detail.orders': 'Linked shipments',
'h5.pickup.detail.noOrders': 'No linked shipments',
'h5.pickup.detail.pay': 'Pay pickup fee',
'h5.pickup.detail.payOk': 'Pickup fee paid',
'h5.pickup.rebind.stepAdd': 'Add shipments',
'h5.pickup.rebind.heroTitle': 'Select shipments to add',
'h5.pickup.rebind.hint': 'Pre-declared only, not bound to pickup; warehouse: {warehouse}',
'h5.pickup.rebind.confirmAdd': 'Confirm add',
'h5.pickup.rebind.addHint': 'Choose pre-declared shipments in the same warehouse as this pickup order',
'h5.pickup.rebind.goAdd': 'Select shipments',
'h5.pickup.rebind.confirmRemove': 'Confirm remove',
'h5.pickup.rebind.removeCount': '{count} selected',
'h5.pickup.rebind.needRemove': 'Select shipments to remove first',
'h5.pickup.quick.pay': 'Pay',
'h5.pickup.quick.schedule': 'Schedule',
'h5.pickup.quick.rebind': 'Rebind',
'h5.pickup.quick.cancel': 'Cancel',
'h5.me.editProfile': 'Edit profile',
'h5.me.addressManage': 'Addresses',
'h5.me.resetPassword': 'Change password',
'h5.me.language': 'Switch language',
'h5.me.followOfficial': 'Follow official account',
'h5.me.followOfficialMissing': 'Official account link is not configured. Please contact support.',
'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',
};