front/src/views/h5/customer-center/locale/en-US.ts
zzh 640562654d
All checks were successful
Build and Deploy Front / deploy (push) Successful in 6m25s
feat: 仓库地址排序备注与映射明细性能、脏检查误报修复
下单/H5 仓库地址展示与排序备注;映射明细加载优化与发布后保留选中;接口明细加载期不再误报未保存。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 14:12:32 +08:00

1018 lines
51 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': 'Get quotes',
'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': 'More',
'h5.price.moreOptional': 'Optional',
'h5.price.moreActive': '{n} filled',
'h5.price.moreDimsLabel': 'Size (cm)',
'h5.price.moreGeoLabel': 'State / City',
'h5.price.dimensionsHint': 'Size for volumetric weight; state/city helps zoning without postal code',
'h5.price.lengthPh': 'L',
'h5.price.widthPh': 'W',
'h5.price.heightPh': 'H',
'h5.price.provincePh': 'State',
'h5.price.cityPh': 'City',
'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.selfShipAddressTitle': 'Ship to warehouse',
'h5.placeOrder.selfShipRecipient': 'Recipient',
'h5.placeOrder.selfShipPhone': 'Phone',
'h5.placeOrder.selfShipAddress': 'Address',
'h5.placeOrder.selfShipRemark': 'Remark',
'h5.placeOrder.selfShipCopy': 'Copy',
'h5.placeOrder.selfShipCopySuccess': 'Warehouse shipping info copied',
'h5.placeOrder.selfShipSelectWarehouse': 'Select a warehouse first',
'h5.placeOrder.selfShipCurrent': 'Current',
'h5.placeOrder.selfShipNoWarehouse': 'No warehouse info yet. Retry later or contact support.',
'h5.placeOrder.selfShipNoAddressConfigured':
'No warehouse has a shipping address configured. Contact support.',
'h5.placeOrder.selfShipAddressEmpty': 'No shipping address configured',
'h5.placeOrder.selfShipAddressHint':
'Ship to the selected warehouse address yourself. Put the client number on the courier label so the warehouse can match it.',
'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.declareElement': 'Export declare element',
'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.placeOrder.packageQty': 'Packages',
'h5.placeOrder.packageQtyPh': 'Default 1',
'h5.placeOrder.packageQtyHint': 'How many boxes in this shipment — usually 1',
'h5.placeOrder.exportCustomsMode': 'Export customs mode',
'h5.placeOrder.exportCustomsModePh': 'Optional — defaults to simplified',
'h5.placeOrder.summaryNeedTitle': 'Summary declaration needs filings',
'h5.placeOrder.summaryNeedDesc':
'Choose your export qualification and enter the ecommerce platform for compliance.',
'h5.placeOrder.exportQualification': 'Export qualification',
'h5.placeOrder.exportQualificationPh': 'Select a filing',
'h5.placeOrder.exportQualificationEmpty':
'No filings yet. Please add them on desktop (Export Qualification) first.',
'h5.placeOrder.exportQualificationLoadFailed': 'Failed to load export qualifications',
'h5.placeOrder.platformCode': 'Ecommerce platform',
'h5.placeOrder.platformCodePh': 'e.g. Amazon / eBay / Shopify',
'h5.placeOrder.receiverAddressBook': 'Saved recipients',
'h5.placeOrder.receiverAddressBookPh': 'Fill from address book',
'h5.placeOrder.receiverAddressBookHint':
'Pick a saved address, or fill manually and tap Save for next time',
'h5.placeOrder.saveReceiver': 'Save',
'h5.placeOrder.savingReceiver': 'Saving…',
'h5.placeOrder.saveReceiverRequired': 'Enter recipient name and address line 1 first',
'h5.placeOrder.saveReceiverSuccess': 'Recipient address saved',
'h5.placeOrder.saveReceiverFailed': 'Failed to save recipient address',
'h5.placeOrder.receiverLoadFailed': 'Failed to load recipient addresses',
'h5.placeOrder.pickSku': 'Pick warehouse SKU',
'h5.placeOrder.pickSkuHint': 'Auto-fills name, weight, HS codes — then confirm unit price',
'h5.placeOrder.skuPickTitle': 'Select warehouse SKU',
'h5.placeOrder.skuPickTip':
'Tap a SKU to fill declaration fields. Empty rows are preferred; otherwise a new row is added.',
'h5.placeOrder.skuPickSearch': 'Search SKU code or name',
'h5.placeOrder.skuPickEmpty': 'No SKUs yet. Add warehouse items on desktop first.',
'h5.placeOrder.skuPickUse': 'Use',
'h5.placeOrder.skuPickPrev': 'Prev',
'h5.placeOrder.skuPickNext': 'Next',
'h5.placeOrder.skuPickFilled': 'Declaration filled — please confirm required fields',
'h5.placeOrder.isMagnetic': 'Battery / magnetic',
'h5.placeOrder.isMagneticHint': 'Turn on if the item has a battery or strong magnet',
'h5.placeOrder.skuImage': 'Product image',
'h5.placeOrder.skuImagePh': 'Image URL (optional)',
'h5.placeOrder.brandType': 'Brand type',
'h5.placeOrder.distribution': 'Fulfillment note',
'h5.placeOrder.attributes': 'Attributes',
'h5.placeOrder.customsGuideTitle': 'Which customs mode?',
'h5.placeOrder.customsGuideLead':
'Not sure? Start with whether you need tax refund or a formal customs declaration.',
'h5.placeOrder.customsGuideSimpleBadge': 'Best for most shippers',
'h5.placeOrder.customsGuideSimpleTitle': '9610 simplified',
'h5.placeOrder.customsGuideSimpleDesc': 'Faster shipping with fewer steps for everyday parcels.',
'h5.placeOrder.customsGuideSimpleLi1': 'Usually no export qualification required',
'h5.placeOrder.customsGuideSimpleLi2': 'Great when you just need to ship out',
'h5.placeOrder.customsGuideSummaryBadge': 'Tax refund / formal filing',
'h5.placeOrder.customsGuideSummaryTitle': '9610 summary',
'h5.placeOrder.customsGuideSummaryDesc':
'Formal customs path — prepare export qualification filings first.',
'h5.placeOrder.customsGuideSummaryLi1': 'Select an export qualification when ordering',
'h5.placeOrder.customsGuideSummaryLi2': 'Enter ecommerce platform (e.g. Amazon)',
'h5.placeOrder.customsGuideSummaryLi3': 'Maintain filings on desktop beforehand',
'h5.placeOrder.customsGuideNote':
'Still unsure? Choose simplified, or ask your dedicated advisor.',
'h5.placeOrder.customsGuideOk': 'Got it',
'h5.placeOrder.err.packageQty': 'Enter package quantity',
'h5.placeOrder.err.exportQualification': 'Select export qualification for summary mode',
'h5.placeOrder.err.platformCode': 'Enter ecommerce platform for summary mode',
'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.warehouse.remark': 'Remark: ',
'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.locked': 'Locked',
'h5.coupons.tab.used': 'Used',
'h5.coupons.tab.expired': 'Expired',
'h5.coupons.minOrder': 'Min order {amount}',
'h5.coupons.noThreshold': 'No minimum',
'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} off base freight',
'h5.coupons.how.unlock': 'Complete first delivery to unlock the ¥15 coupon',
'h5.invite.title': 'Invite friends',
'h5.invite.tab.share': 'Share invite',
'h5.invite.tab.referees': 'Invited',
'h5.invite.lead':
'Friends get ¥5 on register. After their orders are delivered, you earn a percent of paid base freight.',
'h5.invite.locked': 'Upgrade to V1 to invite friends',
'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': '12-month 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.openapi': 'Open API credentials',
'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': 'Domestic sender',
'h5.address.type.pickup': 'Domestic pickup',
'h5.address.type.receiver': 'Overseas receiver',
'h5.address.type.return': 'Domestic 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',
};