839 lines
34 KiB
Dart
839 lines
34 KiB
Dart
const Map<String, String> en = {
|
|
// ============ Common ============
|
|
'common.confirm': 'Confirm',
|
|
'common.cancel': 'Cancel',
|
|
'common.save': 'Save',
|
|
'common.delete': 'Delete',
|
|
'common.edit': 'Edit',
|
|
'common.search': 'Search',
|
|
'common.loading': 'Loading...',
|
|
'common.retry': 'Retry',
|
|
'common.done': 'Done',
|
|
'common.next': 'Next',
|
|
'common.back': 'Back',
|
|
'common.close': 'Close',
|
|
'common.more': 'More',
|
|
'common.all': 'All',
|
|
'common.filter': 'Filter',
|
|
'common.sort': 'Sort',
|
|
'common.copy': 'Copy',
|
|
'common.copied': 'Copied to clipboard',
|
|
'common.today': 'Today',
|
|
'common.thisWeek': 'This Week',
|
|
'common.thisMonth': 'This Month',
|
|
|
|
// ============ Navigation ============
|
|
'nav.home': 'Home',
|
|
'nav.trading': 'Trade',
|
|
'nav.messages': 'Messages',
|
|
'nav.profile': 'Profile',
|
|
|
|
// ============ Welcome / Auth ============
|
|
'welcome.slogan': 'Where Every Coupon Flows Freely',
|
|
'welcome.phoneRegister': 'Phone Sign Up',
|
|
'welcome.emailRegister': 'Email Sign Up',
|
|
'welcome.wechat': 'WeChat',
|
|
'welcome.wechatNotInstalled': 'Please install WeChat first',
|
|
'welcome.wechatLoginFailed': 'WeChat login failed, please try again',
|
|
'welcome.alipay': 'Alipay',
|
|
'welcome.alipayNotInstalled': 'Please install Alipay first',
|
|
'welcome.alipayLoginFailed': 'Alipay login failed, please try again',
|
|
'welcome.googleLoginFailed': 'Google login failed, please try again',
|
|
'welcome.appleLoginFailed': 'Apple login failed, please try again',
|
|
'welcome.otherLogin': 'Other Login Methods',
|
|
'welcome.hasAccount': 'Already have an account?',
|
|
'welcome.login': 'Log In',
|
|
'welcome.agreement': 'By signing up you agree to Terms of Service and Privacy Policy',
|
|
|
|
'login.title': 'Welcome Back',
|
|
'login.subtitle': 'Log in to manage your coupon assets',
|
|
'login.passwordTab': 'Password',
|
|
'login.codeTab': 'Verification Code',
|
|
'login.phoneOrEmail': 'Phone or Email',
|
|
'login.password': 'Password',
|
|
'login.forgotPassword': 'Forgot password?',
|
|
'login.submit': 'Log In',
|
|
'login.phone': 'Phone',
|
|
'login.verifyCode': 'Code',
|
|
'login.getCode': 'Get Code',
|
|
'login.noAccount': 'Don\'t have an account? ',
|
|
'login.registerNow': 'Sign Up',
|
|
'login.networkError': 'Network error, please try again',
|
|
'login.errorPhoneRequired': 'Please enter your phone number',
|
|
'login.errorPasswordMin': 'Password must be at least 8 characters',
|
|
'login.errorCodeInvalid': 'Please enter a 6-digit code',
|
|
|
|
'register.title': 'Create Account',
|
|
'register.emailSubtitle': 'Sign up with your email',
|
|
'register.phoneSubtitle': 'Sign up with your phone number',
|
|
'register.email': 'Email',
|
|
'register.phone': 'Phone',
|
|
'register.emailHint': 'Enter your email',
|
|
'register.phoneHint': 'Enter your phone number',
|
|
'register.code': 'Code',
|
|
'register.codeHint': 'Enter 6-digit code',
|
|
'register.getCode': 'Get Code',
|
|
'register.setPassword': 'Set Password',
|
|
'register.passwordHint': '8-20 chars, letters and numbers',
|
|
'register.agreement': 'I have read and agree to',
|
|
'register.userAgreement': 'Terms of Service',
|
|
'register.privacyPolicy': 'Privacy Policy',
|
|
'register.and': 'and',
|
|
'register.submit': 'Sign Up',
|
|
'register.stepVerify': 'Verify',
|
|
'register.stepPassword': 'Password',
|
|
'register.stepDone': 'Done',
|
|
'register.rule8chars': '8+ chars',
|
|
'register.ruleLetter': 'Letters',
|
|
'register.ruleNumber': 'Numbers',
|
|
'register.hasAccount': 'Already have an account? ',
|
|
'register.loginNow': 'Log In',
|
|
'register.errorPhoneRequired': 'Please enter your phone number',
|
|
'register.errorEmailRequired': 'Please enter your email address',
|
|
'register.errorCodeInvalid': 'Please enter a 6-digit code',
|
|
'register.errorPasswordWeak': 'Password must be 8+ characters with letters and numbers',
|
|
'register.errorTermsRequired': 'Please agree to the Terms of Service',
|
|
'register.referralCode': 'Referral Code (optional)',
|
|
'register.referralCodeHint': 'Enter inviter\'s referral code',
|
|
'register.referralCodeValid': 'Referral code is valid',
|
|
'register.referralCodeInvalid': 'Invalid referral code',
|
|
|
|
'forgot.title': 'Reset Password',
|
|
'forgot.inputAccount': 'Enter phone or email',
|
|
'forgot.sendHint': 'We\'ll send you a verification code',
|
|
'forgot.accountHint': 'Phone / Email',
|
|
'forgot.getCode': 'Get Code',
|
|
'forgot.inputCode': 'Enter Code',
|
|
'forgot.codeSentTo': 'Code sent to',
|
|
'forgot.codeHint': '6-digit code',
|
|
'forgot.resend': 'Resend',
|
|
'forgot.next': 'Next',
|
|
'forgot.setNewPassword': 'Set New Password',
|
|
'forgot.newPasswordHint': 'Enter new password (8+ chars)',
|
|
'forgot.newPassword': 'New Password',
|
|
'forgot.confirmPassword': 'Confirm Password',
|
|
'forgot.confirmChange': 'Confirm',
|
|
'forgot.success': 'Password Changed',
|
|
'forgot.successHint': 'Please log in with your new password',
|
|
'forgot.backToLogin': 'Back to Login',
|
|
|
|
// ============ Home ============
|
|
'home.searchHint': 'Search coupons, brands, categories...',
|
|
'home.position': 'Holdings',
|
|
'home.hold': 'Hold',
|
|
'home.couponUnit': ' coupons',
|
|
'home.totalValue': 'Value',
|
|
'home.receive': 'Receive',
|
|
'home.transfer': 'Gift',
|
|
'home.sell': 'Sell',
|
|
'home.redeem': 'Redeem',
|
|
'home.flashSale': 'Flash Sale',
|
|
'home.newRelease': 'New',
|
|
'home.discountRank': 'Top Deals',
|
|
'home.expiringSoon': 'Expiring',
|
|
'home.priceCompare': 'Compare',
|
|
'home.resaleMarket': 'Resale',
|
|
'home.hotTrades': 'Hot Trades',
|
|
'home.viewAll': 'All',
|
|
'home.aiRecommend': 'AI Picks',
|
|
'home.aiRecommendDesc': 'Found 3 great deals based on your preferences',
|
|
'home.featuredCoupons': 'Featured Coupons',
|
|
'home.viewAllCoupons': 'View All',
|
|
'home.loadFailed': 'Failed to load, please try again',
|
|
'home.retry': 'Retry',
|
|
'home.noCoupons': 'No featured coupons yet',
|
|
|
|
// ============ Market ============
|
|
'market.title': 'Trade',
|
|
'market.primary': 'Primary Market',
|
|
'market.secondary': 'Secondary Market',
|
|
'market.dining': 'Dining',
|
|
'market.shopping': 'Shopping',
|
|
'market.entertainment': 'Entertainment',
|
|
'market.travel': 'Travel',
|
|
'market.lifestyle': 'Lifestyle',
|
|
'market.sports': 'Sports',
|
|
'market.discountRate': 'Discount',
|
|
'market.priceUp': 'Price ↑',
|
|
'market.priceDown': 'Price ↓',
|
|
'market.expiryDate': 'Expiry',
|
|
'market.issuePrice': 'Issue Price',
|
|
'market.faceValue': 'Face Value',
|
|
'market.discount': 'Discount',
|
|
'market.totalSupply': 'Supply',
|
|
'market.salesProgress': 'Sales Progress',
|
|
'market.upcoming': 'Upcoming',
|
|
'market.subscribing': 'Live',
|
|
'market.ended': 'Ended',
|
|
'market.timeToStart': 'Starts in',
|
|
'market.couponBrand': 'Coupon / Brand',
|
|
'market.latestPrice': 'Price',
|
|
'market.change24h': '24h Change',
|
|
'market.discountSuffix': ' off',
|
|
|
|
// ============ Trading Detail ============
|
|
'trading.depth': 'Order Book',
|
|
'trading.askSide': 'Ask',
|
|
'trading.bidSide': 'Bid',
|
|
'trading.quantitySheets': 'Qty (pcs)',
|
|
'trading.placeOrder': 'Place Order',
|
|
'trading.buy': 'Buy',
|
|
'trading.sell': 'Sell',
|
|
'trading.limitOrder': 'Limit',
|
|
'trading.marketOrder': 'Market',
|
|
'trading.price': 'Price',
|
|
'trading.quantity': 'Qty',
|
|
'trading.available': 'Available',
|
|
'trading.currentOrders': 'Open Orders',
|
|
'trading.historyOrders': 'History',
|
|
'trading.cancelOrder': 'Cancel',
|
|
'trading.high24h': '24h High',
|
|
'trading.low24h': '24h Low',
|
|
'trading.open': 'Open',
|
|
'trading.vol24h': '24h Vol',
|
|
'trading.sheetsUnit': 'pcs',
|
|
'trading.discountLabel': 'Discount',
|
|
|
|
// ============ Transfer ============
|
|
'transfer.title': 'Gift Transfer',
|
|
'transfer.scanTransfer': 'Scan to Transfer',
|
|
'transfer.scanDesc': 'Scan recipient\'s code\nInstant delivery',
|
|
'transfer.inputTransfer': 'Enter ID/Email/Phone',
|
|
'transfer.inputDesc': 'Enter recipient info\nSecure transfer',
|
|
'transfer.recentRecipients': 'Recent Recipients',
|
|
'transfer.manage': 'Manage',
|
|
'transfer.noRecent': 'No recent transfers\nCompleted transfers will appear here',
|
|
'transfer.expired': 'Expired',
|
|
'transfer.refresh': 'Refresh',
|
|
'transfer.transferHistory': 'Transfer History',
|
|
'transfer.viewAll': 'View All',
|
|
'transfer.lastTransfer': 'Last Transfer',
|
|
'transfer.inputRecipient': 'Enter Recipient',
|
|
'transfer.recipientIdHint': 'ID / Email / Phone',
|
|
'transfer.paste': 'Paste',
|
|
'transfer.pasteFromClipboard': 'Paste from clipboard',
|
|
'transfer.searchRecipient': 'Search',
|
|
'transfer.selectCoupon': 'Select Coupon to Transfer',
|
|
'transfer.noCoupons': 'No coupons available',
|
|
'transfer.confirmTransfer': 'Confirm Transfer',
|
|
'transfer.transferTo': 'Transfer to',
|
|
'transfer.couponInfo': 'Coupon',
|
|
'transfer.confirmBtn': 'Confirm Transfer',
|
|
'transfer.outgoing': 'Sent',
|
|
'transfer.incoming': 'Received',
|
|
|
|
// ============ Wallet Coupons ============
|
|
'walletCoupons.title': 'My Holdings',
|
|
'walletCoupons.receiveTip': 'Receive Coupon',
|
|
'walletCoupons.usable': 'Active',
|
|
'walletCoupons.pendingRedeem': 'Pending',
|
|
'walletCoupons.expired': 'Expired',
|
|
'walletCoupons.holdCount': 'Coupons Held',
|
|
'walletCoupons.totalFaceValue': 'Total Value',
|
|
'walletCoupons.saved': 'Saved',
|
|
'walletCoupons.faceValue': 'Value',
|
|
'walletCoupons.expiredText': 'Expired',
|
|
'walletCoupons.expiringToday': 'Expires today',
|
|
'walletCoupons.daysToExpiry': 'd left',
|
|
'walletCoupons.expiryFormat': 'Expires',
|
|
|
|
// ============ Coupon Detail ============
|
|
'couponDetail.title': 'Coupon Details',
|
|
'couponDetail.saveBadge': 'Save',
|
|
'couponDetail.faceValue': 'Face Value',
|
|
'couponDetail.validUntil': 'Valid Until',
|
|
'couponDetail.type': 'Type',
|
|
'couponDetail.issuer': 'Issuer',
|
|
'couponDetail.consumeCoupon': 'Voucher',
|
|
'couponDetail.usageNote': 'Usage Notes',
|
|
'couponDetail.allStores': 'Valid at all nationwide stores',
|
|
'couponDetail.canTransfer': 'Can be gifted to others',
|
|
'couponDetail.useAnytime': 'Use anytime before expiry',
|
|
'couponDetail.noStack': 'Cannot be combined',
|
|
'couponDetail.noCash': 'Not redeemable for cash',
|
|
'couponDetail.stores': 'Stores',
|
|
'couponDetail.storeCount': '12,800+ Stores Nationwide',
|
|
'couponDetail.storeDesc': 'Valid at all official stores nationwide',
|
|
'couponDetail.priceTrend': 'Price Trend',
|
|
'couponDetail.last30Days': 'Last 30 Days',
|
|
'couponDetail.highest': 'High',
|
|
'couponDetail.lowest': 'Low',
|
|
'couponDetail.average': 'Avg',
|
|
'couponDetail.tradeHistory': 'Trade History',
|
|
'couponDetail.nearbyStores': 'Nearby Stores',
|
|
'couponDetail.distance': 'Distance',
|
|
'couponDetail.open': 'Open',
|
|
'couponDetail.similar': 'Similar Coupons',
|
|
'couponDetail.favorite': 'Favorite',
|
|
'couponDetail.buyNow': 'Buy Now',
|
|
|
|
// ============ My Coupon Detail ============
|
|
'myCoupon.title': 'My Coupon',
|
|
'myCoupon.active': 'Active',
|
|
'myCoupon.showQrHint': 'Show this QR code to the merchant to redeem',
|
|
'myCoupon.switchBarcode': 'Switch to Barcode',
|
|
'myCoupon.faceValue': 'Face Value',
|
|
'myCoupon.purchasePrice': 'Purchase Price',
|
|
'myCoupon.validUntil': 'Valid Until',
|
|
'myCoupon.orderNo': 'Order No.',
|
|
'myCoupon.resellCount': 'Resale Remaining',
|
|
'myCoupon.transfer': 'Gift',
|
|
'myCoupon.sell': 'Sell',
|
|
'myCoupon.usageNote': 'Usage Notes',
|
|
'myCoupon.useInStore': 'Valid at all nationwide stores',
|
|
'myCoupon.useInTime': 'Use before expiry date',
|
|
'myCoupon.onePerVisit': 'One coupon per visit',
|
|
'myCoupon.noCash': 'Not redeemable for cash',
|
|
'myCoupon.extractToWallet': 'Withdraw to External Wallet',
|
|
'myCoupon.requireKycL2': 'Requires KYC L2+',
|
|
'myCoupon.viewTrades': 'View Trade Records',
|
|
'myCoupon.help': 'Help',
|
|
|
|
// ============ Order Confirm ============
|
|
'orderConfirm.title': 'Confirm Order',
|
|
'orderConfirm.quantity': 'Quantity',
|
|
'orderConfirm.paymentMethod': 'Payment Method',
|
|
'orderConfirm.bankCard': 'Bank/Credit Card',
|
|
'orderConfirm.priceDetail': 'Price Details',
|
|
'orderConfirm.buyingNote': 'You are purchasing a voucher for consumption',
|
|
'orderConfirm.total': 'Total',
|
|
'orderConfirm.confirmPay': 'Confirm Payment',
|
|
'orderConfirm.unitPrice': 'Unit Price',
|
|
'orderConfirm.count': 'Qty',
|
|
'orderConfirm.saveBadge': 'Savings vs Face Value',
|
|
'orderConfirm.biometricHint': 'Verify with fingerprint or face to complete payment',
|
|
'orderConfirm.usePasswordPay': 'Use Password Instead',
|
|
|
|
// ============ Payment ============
|
|
'payment.title': 'Select Payment Method',
|
|
'payment.addNew': 'Add New Payment Method',
|
|
'payment.confirmPay': 'Confirm Payment',
|
|
'payment.bankTransfer': 'Bank Transfer',
|
|
|
|
'paymentSuccess.title': 'Payment Successful',
|
|
'paymentSuccess.hint': 'Coupon added to your holdings',
|
|
'paymentSuccess.couponName': 'Coupon',
|
|
'paymentSuccess.payAmount': 'Amount Paid',
|
|
'paymentSuccess.orderNo': 'Order No.',
|
|
'paymentSuccess.payTime': 'Payment Time',
|
|
'paymentSuccess.viewMyCoupon': 'View My Coupons',
|
|
'paymentSuccess.continueBrowse': 'Continue Browsing',
|
|
|
|
// ============ Search ============
|
|
'search.hint': 'Search coupons, brands, categories...',
|
|
'search.cancel': 'Cancel',
|
|
'search.hotSearch': 'Trending Searches',
|
|
'search.history': 'Search History',
|
|
'search.clear': 'Clear',
|
|
'search.diningCoupon': 'Dining',
|
|
'search.discountCoupon': 'Discount',
|
|
'search.travel': 'Travel',
|
|
|
|
// ============ Redeem ============
|
|
'redeem.title': 'Show Code',
|
|
'redeem.faceValue': 'Face Value',
|
|
'redeem.validTime': 'Valid Time',
|
|
'redeem.refresh': 'Refresh Code',
|
|
'redeem.showHint': 'Show this code to merchant. Screen brightness auto-maximized.',
|
|
|
|
// ============ Sell Order ============
|
|
'sellOrder.title': 'List for Sale',
|
|
'sellOrder.faceValue': 'Face Value',
|
|
'sellOrder.credit': 'Rating',
|
|
'sellOrder.setPrice': 'Set Price',
|
|
'sellOrder.price': 'Price',
|
|
'sellOrder.aiSuggest': 'AI Suggested Price',
|
|
'sellOrder.bestDealRate': 'Best chance of selling',
|
|
'sellOrder.discountRate': 'Discount',
|
|
'sellOrder.platformFee': 'Platform Fee (1.5%)',
|
|
'sellOrder.estimatedReceive': 'Est. Receive',
|
|
'sellOrder.marketAvg': 'Market Average',
|
|
'sellOrder.recent24hTrades': '24h Trades',
|
|
'sellOrder.tradesUnit': ' trades',
|
|
'sellOrder.confirmList': 'Confirm Listing',
|
|
'sellOrder.success': 'Listed Successfully',
|
|
'sellOrder.successHint': 'Your coupon is now on the market. It will be auto-matched when a buyer places an order.',
|
|
'sellOrder.ok': 'OK',
|
|
|
|
// ============ Trading Page ============
|
|
'tradingPage.title': 'My Trades',
|
|
'tradingPage.pendingOrders': 'Open Orders',
|
|
'tradingPage.tradeRecords': 'Trade History',
|
|
'tradingPage.listPrice': 'List Price',
|
|
'tradingPage.listTime': 'Listed',
|
|
'tradingPage.cancelOrder': 'Cancel',
|
|
|
|
// ============ Wallet ============
|
|
'wallet.myBalance': 'My Balance',
|
|
'wallet.totalBalance': 'Total Balance',
|
|
'wallet.withdrawable': 'Withdrawable',
|
|
'wallet.frozen': 'Frozen',
|
|
'wallet.deposit': 'Deposit',
|
|
'wallet.withdraw': 'Withdraw',
|
|
'wallet.records': 'Records',
|
|
|
|
'deposit.title': 'Deposit',
|
|
'deposit.currentBalance': 'Current Balance',
|
|
'deposit.amount': 'Amount',
|
|
'deposit.custom': 'Custom Amount',
|
|
'deposit.paymentMethod': 'Payment Method',
|
|
'deposit.submit': 'Deposit',
|
|
|
|
'withdraw.title': 'Withdraw',
|
|
'withdraw.availableBalance': 'Available Balance',
|
|
'withdraw.amount': 'Amount',
|
|
'withdraw.all': 'All',
|
|
'withdraw.to': 'Withdraw to',
|
|
'withdraw.savingsAccount': 'Savings Account',
|
|
'withdraw.fee': 'Fee (0.5%)',
|
|
'withdraw.actualReceive': 'You\'ll Receive',
|
|
'withdraw.estimateTime': 'Estimated 1-2 business days',
|
|
'withdraw.submit': 'Confirm Withdrawal',
|
|
|
|
'txRecords.title': 'Transaction Records',
|
|
'txRecords.buy': 'Buy',
|
|
'txRecords.sell': 'Sell',
|
|
'txRecords.transfer': 'Gift',
|
|
'txRecords.noRecords': 'No records',
|
|
'txRecords.orderNo': 'Order No.',
|
|
'txRecords.transferTo': 'Gifted to',
|
|
|
|
// ============ Profile ============
|
|
'profile.favorites': 'Favorites',
|
|
'profile.orders': 'Orders',
|
|
'profile.coupons': 'Coupons',
|
|
'profile.wallet': 'Wallet',
|
|
'profile.myTrades': 'My Trades',
|
|
'profile.walletBalance': 'Balance',
|
|
'profile.paymentManage': 'Payment',
|
|
'profile.kyc': 'Verification',
|
|
'profile.proMode': 'Pro Mode',
|
|
'profile.settings': 'Settings',
|
|
'profile.helpCenter': 'Help',
|
|
'profile.issuerPortal': 'Issuer Portal',
|
|
'profile.merchantPortal': 'Merchant Portal',
|
|
|
|
// ============ Settings ============
|
|
'settings.title': 'Settings',
|
|
'settings.accountSecurity': 'Account & Security',
|
|
'settings.phone': 'Phone',
|
|
'settings.email': 'Email',
|
|
'settings.changePassword': 'Change Password',
|
|
'settings.identity': 'Verification',
|
|
'settings.paymentManage': 'Payment Management',
|
|
'settings.paymentMethod': 'Payment Methods',
|
|
'settings.bankAccount': 'Bank Account',
|
|
'settings.paymentPassword': 'Payment Password',
|
|
'settings.notifications': 'Notifications',
|
|
'settings.tradeNotify': 'Trade Alerts',
|
|
'settings.expiryRemind': 'Expiry Reminders',
|
|
'settings.marketChange': 'Market Updates',
|
|
'settings.marketingPush': 'Promotions',
|
|
'settings.general': 'General',
|
|
'settings.language': 'Language',
|
|
'settings.currency': 'Currency',
|
|
'settings.clearCache': 'Clear Cache',
|
|
'settings.about': 'About',
|
|
'settings.version': 'Version',
|
|
'settings.userAgreement': 'Terms of Service',
|
|
'settings.privacyPolicy': 'Privacy Policy',
|
|
'settings.helpCenter': 'Help Center',
|
|
'settings.logout': 'Log Out',
|
|
'settings.selectCurrency': 'Select Currency',
|
|
'settings.currencyNote': 'This affects currency display in all trading pages',
|
|
'settings.selectLanguage': 'Select Language',
|
|
'settings.currencySymbol': 'Symbol',
|
|
|
|
// ============ KYC ============
|
|
'kyc.title': 'Verification',
|
|
'kyc.currentLevel': 'Current Level',
|
|
'kyc.l1Title': 'L1 Basic',
|
|
'kyc.l1Desc': 'Phone + Email verification',
|
|
'kyc.l1Limit': 'Daily limit \$500',
|
|
'kyc.l1Feature': 'Buy coupons, redeem at stores',
|
|
'kyc.l2Title': 'L2 Identity',
|
|
'kyc.l2Desc': 'ID / Passport verification',
|
|
'kyc.l2Limit': 'Daily limit \$5,000',
|
|
'kyc.l2Feature': 'Unlock trading & P2P transfers',
|
|
'kyc.l3Title': 'L3 Advanced',
|
|
'kyc.l3Desc': 'Video review + Proof of address',
|
|
'kyc.l3Limit': 'No limit',
|
|
'kyc.l3Feature': 'Unlimited trading & withdrawals',
|
|
'kyc.completed': 'Completed',
|
|
'kyc.goVerify': 'Verify',
|
|
|
|
// ============ Payment Management ============
|
|
'payManage.title': 'Payment Management',
|
|
'payManage.myCards': 'My Cards',
|
|
'payManage.addCard': 'Add New Card',
|
|
'payManage.bankAccount': 'Bank Account (for withdrawals)',
|
|
'payManage.paymentSecurity': 'Payment Security',
|
|
'payManage.paymentPassword': 'Payment Password',
|
|
'payManage.passwordSet': 'Set',
|
|
'payManage.biometricPay': 'Biometric Payment',
|
|
'payManage.biometricEnabled': 'Enabled',
|
|
'payManage.noPasswordPay': 'Quick Pay',
|
|
'payManage.noPasswordLimit': 'Up to \$10/txn',
|
|
|
|
// ============ AI Chat ============
|
|
'aiChat.title': 'AI Assistant',
|
|
'aiChat.greeting': 'Hi! I\'m Genex AI Assistant. I can help you find great deals, compare prices, and recommend combos. Try asking:',
|
|
'aiChat.suggest1': 'Recommend coupons for me',
|
|
'aiChat.suggest2': 'Is Starbucks coupon worth buying?',
|
|
'aiChat.suggest3': 'Help me compare prices',
|
|
'aiChat.suggest4': 'My coupon is expiring soon',
|
|
'aiChat.inputHint': 'Ask me anything about coupons...',
|
|
'aiChat.confirmAction': 'Confirm',
|
|
'aiChat.riskLow': 'Low Risk',
|
|
'aiChat.riskNormal': 'Confirm',
|
|
'aiChat.riskHigh': 'High Risk',
|
|
|
|
// ============ Messages ============
|
|
'message.title': 'Messages',
|
|
'message.detailTitle': 'Message Details',
|
|
'message.tradeNotify': 'Trade Alert',
|
|
'message.expiryRemind': 'Expiry Reminder',
|
|
'message.systemNotify': 'System Notice',
|
|
'message.promoNotify': 'Promotion',
|
|
'message.tradeSuccess': 'Trade Successful',
|
|
'message.couponName': 'Coupon',
|
|
'message.faceValue': 'Face Value',
|
|
'message.payAmount': 'Amount Paid',
|
|
'message.orderNo': 'Order No.',
|
|
'message.payMethod': 'Payment Method',
|
|
'message.viewCouponDetail': 'View Coupon Details',
|
|
|
|
// ============ Status Tags ============
|
|
'status.active': 'Active',
|
|
'status.pending': 'Pending',
|
|
'status.expired': 'Expired',
|
|
'status.used': 'Used',
|
|
'status.processing': 'Processing',
|
|
'status.completed': 'Completed',
|
|
'status.cancelled': 'Cancelled',
|
|
'status.refunding': 'Refunding',
|
|
'status.onSale': 'On Sale',
|
|
|
|
// ============ Empty States ============
|
|
'empty.noCoupons': 'No Coupons Yet',
|
|
'empty.noCouponsHint': 'Browse the market for great deals',
|
|
'empty.browse': 'Browse',
|
|
'empty.noTrades': 'No Trades Yet',
|
|
'empty.noTradesHint': 'Your trade records will appear here',
|
|
'empty.noResults': 'No Results Found',
|
|
'empty.noResultsHint': 'Try a different keyword',
|
|
'empty.noMessages': 'No Messages',
|
|
'empty.noMessagesHint': 'Trade alerts and notifications will appear here',
|
|
'empty.networkError': 'Network Error',
|
|
'empty.networkErrorHint': 'Please check your connection and try again',
|
|
|
|
// ============ Receive Coupon ============
|
|
'receiveCoupon.title': 'Receive Coupon',
|
|
'receiveCoupon.hint': 'Show the QR code or ID below to the sender. They can scan or enter the ID to transfer a coupon to you.',
|
|
'receiveCoupon.id': 'Receive ID',
|
|
'receiveCoupon.idCopied': 'Receive ID copied to clipboard',
|
|
'receiveCoupon.note': 'Received coupons will be automatically added to your holdings.',
|
|
|
|
// ============ Issuer ============
|
|
'issuer.title': 'Issuer Portal',
|
|
'issuer.verified': 'Verified Issuer',
|
|
'issuer.overview': 'Overview',
|
|
'issuer.issue': 'Issue',
|
|
'issuer.redeem': 'Redeem',
|
|
'issuer.finance': 'Finance',
|
|
'issuer.totalIssued': 'Total Issued',
|
|
'issuer.totalSold': 'Sold',
|
|
'issuer.totalRedeemed': 'Redeemed',
|
|
'issuer.redeemRate': 'Redeem Rate',
|
|
'issuer.quickActions': 'Quick Actions',
|
|
'issuer.createCoupon': 'Create Coupon',
|
|
'issuer.storeManage': 'Stores',
|
|
'issuer.salesAnalysis': 'Analytics',
|
|
'issuer.statement': 'Statements',
|
|
'issuer.myCoupons': 'My Coupons',
|
|
'issuer.listed': 'Listed',
|
|
'issuer.underReview': 'Under Review',
|
|
'issuer.soldOut': 'Sold Out',
|
|
'issuer.issuedSlash': 'Issued',
|
|
'issuer.sold': 'Sold',
|
|
'issuer.issueCenter': 'Issue Center',
|
|
'issuer.selectTemplate': 'Select Template',
|
|
'issuer.voucherType': 'Voucher',
|
|
'issuer.discountType': 'Discount',
|
|
'issuer.giftCardType': 'Gift Card',
|
|
'issuer.storedValueType': 'Stored Value',
|
|
'issuer.couponManage': 'Manage',
|
|
'issuer.viewAll': 'View All',
|
|
'issuer.couponEvents': 'Events',
|
|
'issuer.createNew': 'Create New',
|
|
'issuer.redeemManage': 'Redemption',
|
|
'issuer.redeemTrend': 'Redemption Trends',
|
|
'issuer.allStores': 'All Stores',
|
|
'issuer.employees': ' staff',
|
|
'issuer.financeManage': 'Finance',
|
|
'issuer.totalSales': 'Total Sales',
|
|
'issuer.settled': 'Settled',
|
|
'issuer.pendingSettle': 'Pending',
|
|
'issuer.breakage': 'Breakage',
|
|
'issuer.withdrawBtn': 'Withdraw',
|
|
'issuer.reportBtn': 'Reports',
|
|
'issuer.settleDetail': 'Settlement Details',
|
|
'issuer.creditLevel': 'Credit Rating',
|
|
'issuer.issueQuota': 'Issue Quota',
|
|
'issuer.usedQuota': 'Used Quota',
|
|
'issuer.dataCenter': 'Data Center',
|
|
'issuer.issueSalesRate': 'Issue/Sales/Redeem Rate',
|
|
'issuer.userProfile': 'User Insights',
|
|
'issuer.userProfileDesc': 'Buyer demographics',
|
|
'issuer.creditDetail': 'Credit Details',
|
|
'issuer.creditDetailDesc': 'Score and improvement tips',
|
|
'issuer.quotaChange': 'Quota Changes',
|
|
'issuer.quotaChangeDesc': 'Historical quota adjustments',
|
|
'issuer.companyInfo': 'Company Info',
|
|
'issuer.companyInfoDesc': 'License / Contacts',
|
|
'issuer.settingsItem': 'Settings',
|
|
'issuer.settingsItemDesc': 'Notifications / Security',
|
|
'issuer.helpItem': 'Help Center',
|
|
'issuer.helpItemDesc': 'FAQ & Support',
|
|
|
|
// ============ Merchant ============
|
|
'merchant.today': 'Today',
|
|
'merchant.onlineMode': 'Online Mode',
|
|
'merchant.offlineMode': 'Offline Mode',
|
|
'merchant.pendingSync': 'Pending Sync',
|
|
'merchant.syncUnit': ' txns',
|
|
'merchant.scanHint': 'Align coupon QR code in the frame',
|
|
'merchant.flashlight': 'Flashlight',
|
|
'merchant.manualInput': 'Manual Entry',
|
|
'merchant.redeemRecords': 'Records',
|
|
'merchant.storeData': 'Store Data',
|
|
'merchant.inputCode': 'Enter Coupon Code',
|
|
'merchant.inputCodeHint': 'Enter code',
|
|
'merchant.query': 'Look Up',
|
|
'merchant.userNickname': 'User',
|
|
'merchant.consumer': 'Consumer',
|
|
'merchant.couponName': 'Coupon',
|
|
'merchant.faceValue': 'Value',
|
|
'merchant.validUntil': 'Valid Until',
|
|
'merchant.useCondition': 'Conditions',
|
|
'merchant.noMinSpend': 'No minimum spend',
|
|
'merchant.confirmRedeem': 'Confirm Redemption',
|
|
'merchant.redeemSuccess': 'Redeemed',
|
|
'merchant.continueRedeem': 'Continue',
|
|
'merchant.synced': 'Synced',
|
|
'merchant.pendingSyncLabel': 'Pending',
|
|
'merchant.redeemOperator': 'Operator',
|
|
'merchant.todayRedeem': 'Today',
|
|
'merchant.redeemAmount': 'Amount',
|
|
'merchant.weekTrend': 'Weekly Trend',
|
|
'merchant.operatorRank': 'Operator Ranking',
|
|
|
|
// ============ Profile Page (additional) ============
|
|
'profile.account': 'Account',
|
|
'profile.trade': 'Trades',
|
|
'profile.holdCoupons': 'Held',
|
|
'profile.saved': 'Saved',
|
|
'profile.credit': 'Credit',
|
|
'profile.creditScore': 'Credit Score',
|
|
'profile.myFavorites': 'My Favorites',
|
|
'profile.securitySettings': 'Security',
|
|
'profile.advancedSettings': 'Advanced',
|
|
'profile.aboutGenex': 'About Genex',
|
|
'profile.simplifiedChinese': 'Simplified Chinese',
|
|
|
|
// ============ Pro Mode ============
|
|
'proMode.toggleDesc': 'View on-chain info and connect external wallets',
|
|
'proMode.requireKycL2': 'Requires KYC L2 or above',
|
|
'proMode.connected': 'Connected',
|
|
'proMode.disconnect': 'Disconnect',
|
|
'proMode.connectWallet': 'Connect External Wallet',
|
|
'proMode.walletDesc': 'After connecting, you can withdraw platform assets to your own address',
|
|
'proMode.showChainAddress': 'Show Chain Address',
|
|
'proMode.showChainAddressDesc': 'Display contract address in coupon details',
|
|
'proMode.showTxHash': 'Show Tx Hash',
|
|
'proMode.showTxHashDesc': 'Display on-chain hash in transaction records',
|
|
'proMode.txExplorer': 'Transaction Explorer',
|
|
'proMode.txBuyExample': 'Buy Starbucks \$25 Gift Card',
|
|
'proMode.txSellExample': 'Sell Amazon \$100 Coupon',
|
|
'proMode.confirmed': 'Confirmed',
|
|
'proMode.confirming': 'Confirming',
|
|
'proMode.viewAllTx': 'View All On-Chain Transactions',
|
|
'proMode.chainAssets': 'On-Chain Assets',
|
|
'proMode.custodialWallet': 'Custodial Wallet',
|
|
'proMode.externalWallet': 'External Wallet (MetaMask)',
|
|
'proMode.couponCount5': '5 coupons',
|
|
'proMode.couponCount0': '0 coupons',
|
|
'proMode.extractToWallet': 'Extract to External Wallet',
|
|
'proMode.tradeTrack': 'Trading Track',
|
|
'proMode.utilityTrackDesc': 'Coupon validity ≤12 months, no securities license needed',
|
|
'proMode.securitiesTrackDesc': 'Long-term investment coupons (coming soon)',
|
|
'proMode.trackNote': 'Currently only Utility Track is available',
|
|
'proMode.comingSoon': 'Coming Soon',
|
|
'proMode.whatIsTitle': 'What is Pro Mode?',
|
|
'proMode.whatIsDesc': 'Pro Mode is for users with blockchain experience. After enabling, you can:\n'
|
|
'• Connect external wallets (MetaMask, etc.)\n'
|
|
'• View on-chain addresses and transaction hashes\n'
|
|
'• Extract assets to your own wallet\n'
|
|
'• View underlying on-chain data\n\n'
|
|
'KYC L2 verification is required to enable.',
|
|
|
|
// ============ Wallet Page (additional) ============
|
|
'wallet.buyIn': 'Buy',
|
|
'wallet.sellOut': 'Sell',
|
|
'wallet.giftTransfer': 'Gift',
|
|
'wallet.redeemUse': 'Redeem',
|
|
|
|
// ============ AI Fab ============
|
|
'aiFab.greeting': 'Hi! I\'m Genex AI Assistant. I can help you manage coupon assets, find deals, and analyze prices. How can I help?',
|
|
'aiFab.inputHint': 'Type a message...',
|
|
'aiFab.suggest1': 'Find high-discount coupons',
|
|
'aiFab.suggest2': 'Are my coupons expiring soon?',
|
|
'aiFab.suggest3': 'Recommend today\'s best deals',
|
|
'aiFab.suggest4': 'Analyze my coupon portfolio',
|
|
|
|
// ============ KYC Badge ============
|
|
'kyc.badgeLabel': 'Verified',
|
|
|
|
// ============ Message Tabs ============
|
|
'message.markAllRead': 'Mark All Read',
|
|
'message.tabTrade': 'Trades',
|
|
'message.tabExpiry': 'Expiry',
|
|
'message.tabAnnouncement': 'Notices',
|
|
|
|
// ============ Transfer additions ============
|
|
'transfer.contactEmail': 'Email',
|
|
'transfer.contactPhone': 'Phone',
|
|
'transfer.yesterday': 'Yesterday',
|
|
'transfer.daysAgo': 'd ago',
|
|
'transfer.weeksAgo': 'w ago',
|
|
'transfer.monthsAgo': 'mo ago',
|
|
|
|
// ============ Merchant AI ============
|
|
'merchantAi.redeemAssist': 'Redeem Assist',
|
|
'merchantAi.trafficForecast': 'Traffic Forecast',
|
|
'merchantAi.anomalyAlert': 'Anomaly Alerts',
|
|
'merchantAi.verifyAuth': 'Verify Coupon',
|
|
'merchantAi.checkStatus': 'Check Status',
|
|
'merchantAi.batchRedeem': 'Batch Redeem',
|
|
'merchantAi.feedback': 'Feedback',
|
|
'merchantAi.quickActions': 'AI Quick Actions',
|
|
'merchantAi.redeemTips': 'Redemption Tips',
|
|
'merchantAi.todayHotRedeem': 'Today\'s Top Redemptions',
|
|
'merchantAi.countUnit': ' txns',
|
|
'merchantAi.aiMarketing': 'AI Marketing Suggestions',
|
|
'merchantAi.crossSellTitle': 'Cross-sell Recommendation',
|
|
'merchantAi.crossSellDesc': 'Customers buying coffee coupons also show interest in bakery coupons. Consider offering combos.',
|
|
'merchantAi.weekendPromoTitle': 'Weekend Promo Suggestion',
|
|
'merchantAi.weekendPromoDesc': 'Historical data shows +30% redemptions on Saturdays. Consider launching a weekend flash deal.',
|
|
'merchantAi.todayForecast': 'Today\'s Traffic Forecast',
|
|
'merchantAi.expectedRedeem': 'Expected Redemptions',
|
|
'merchantAi.peakHours': 'Peak Hours',
|
|
'merchantAi.expectedRevenue': 'Expected Revenue',
|
|
'merchantAi.trafficInsight': '+12% vs. last week. Consider adding 1 more cashier during lunch.',
|
|
'merchantAi.hourlyForecast': 'Hourly Forecast',
|
|
'merchantAi.weeklyForecast': 'Weekly Forecast',
|
|
'merchantAi.staffSuggestion': 'Staff Scheduling',
|
|
'merchantAi.pendingCount': 'Pending',
|
|
'merchantAi.resolvedToday': 'Resolved Today',
|
|
'merchantAi.riskIndex': 'Risk Index',
|
|
'merchantAi.riskLow': 'Low',
|
|
'merchantAi.activeAlerts': 'Active Alerts',
|
|
'merchantAi.highFreqRedeem': 'High-frequency Redemption',
|
|
'merchantAi.suspectFakeCode': 'Suspected Fake Code',
|
|
'merchantAi.suspiciousPatterns': 'Suspicious Patterns',
|
|
'merchantAi.consecutiveRedeem': 'Consecutive Redemptions by Same User',
|
|
'merchantAi.offHoursRedeem': 'Off-hours Redemption Attempts',
|
|
'merchantAi.expiredRedeemAttempt': 'Expired Coupon Redemption Attempts',
|
|
'merchantAi.statusAbnormal': 'Abnormal',
|
|
'merchantAi.statusWarning': 'Warning',
|
|
'merchantAi.statusNormal': 'Normal',
|
|
'merchantAi.expiredBlock': 'Expired Coupon Blocked',
|
|
'merchantAi.duplicateBlock': 'Duplicate Redemption Blocked',
|
|
'merchantAi.wrongStoreAlert': 'Wrong Store Alert',
|
|
'merchantAi.insufficientBalance': 'Insufficient Balance',
|
|
'merchantAi.systemRetry': 'System Timeout Retry',
|
|
'merchantAi.monday': 'Mon',
|
|
'merchantAi.tuesday': 'Tue',
|
|
'merchantAi.wednesday': 'Wed',
|
|
'merchantAi.thursday': 'Thu',
|
|
'merchantAi.friday': 'Fri',
|
|
'merchantAi.saturday': 'Sat',
|
|
'merchantAi.sunday': 'Sun',
|
|
|
|
// ============ Issuer additions ============
|
|
'issuer.unlisted': 'Unlisted',
|
|
|
|
// ============ Update ============
|
|
'update.newVersion': 'New Version Available',
|
|
'update.importantUpdate': 'Important Update',
|
|
'update.latestVersion': 'Latest version',
|
|
'update.fileSize': 'File size',
|
|
'update.changelog': "What's New",
|
|
'update.marketHint': 'Your app was installed from an app store. We recommend updating through the store.',
|
|
'update.goMarket': 'Go to App Store',
|
|
'update.later': 'Later',
|
|
'update.skipUpdate': 'Skip',
|
|
'update.updateNow': 'Update Now',
|
|
'update.preparing': 'Preparing...',
|
|
'update.downloading': 'Downloading...',
|
|
'update.downloadComplete': 'Download Complete',
|
|
'update.cancelled': 'Download Cancelled',
|
|
'update.failed': 'Download failed, please try again',
|
|
'update.installing': 'Installing...',
|
|
'update.installFailed': 'Installation failed',
|
|
'update.installLater': 'Install Later',
|
|
'update.installNow': 'Install Now',
|
|
'update.updating': 'Updating',
|
|
'update.updateFailed': 'Update Failed',
|
|
'update.cancel': 'Cancel',
|
|
'update.retry': 'Retry',
|
|
'update.close': 'Close',
|
|
'update.isLatest': 'Already up to date',
|
|
'update.checkUpdate': 'Check for Updates',
|
|
|
|
// ============ Share / Invite ============
|
|
'share.title': 'Invite Friends',
|
|
'share.scanToJoin': 'Scan to Download Genex',
|
|
'share.myReferralCode': 'My Referral Code',
|
|
'share.copyCode': 'Copy Code',
|
|
'share.copyLink': 'Copy Link',
|
|
'share.shareToFriend': 'Share with Friends',
|
|
'share.directReferrals': 'Direct Referrals',
|
|
'share.teamSize': 'Team Size',
|
|
'share.quickShare': 'Share Via',
|
|
'share.codeCopied': 'Referral Code Copied',
|
|
'share.linkCopied': 'Link Copied',
|
|
'share.shareText': 'Join me on Genex, the digital coupon finance platform!\nUse my referral code {code} when signing up for exclusive rewards.\nDownload here: {link}',
|
|
'share.nativeShareTitle': 'Share Genex',
|
|
'share.shareSubtitle': 'Share via WeChat, WhatsApp, or more',
|
|
'share.loading': 'Loading referral info...',
|
|
'share.loadFailed': 'Failed to load, please retry',
|
|
'share.retry': 'Retry',
|
|
'share.inviteBanner': 'Invite Friends',
|
|
'share.inviteBannerSub': 'Earn rewards for every referral',
|
|
'share.scanToDownload': 'Scan to Download Genex App',
|
|
'share.apkUrlLoading': 'Fetching download link...',
|
|
'share.rewardPlanTitle': 'Referral Reward Program',
|
|
'share.rewardDirect': 'Direct Referral Bonus',
|
|
'share.rewardDirectDesc': 'Earn a reward for each friend who successfully registers',
|
|
'share.rewardTeam': 'Team Level Earnings',
|
|
'share.rewardTeamDesc': 'Earn from multi-level team performance, up to 50 referral levels',
|
|
'share.rewardNewbie': 'New User Exclusive Perks',
|
|
'share.rewardNewbieDesc': 'Friends who register with your code receive an exclusive welcome package',
|
|
'share.myReferrer': 'My Referrer',
|
|
'share.noReferrer': 'No referrer',
|
|
'share.joinWith': 'Use my referral code {code} to register on Genex. Scan to download:',
|
|
'share.shareTextApk': '[Genex Invite] {name} invites you to the digital coupon finance platform!\nSign up with referral code {code} and get exclusive new user rewards.\n📱 Scan or tap to download the App: {link}',
|
|
|
|
// ============ Notification ============
|
|
'notification.system': 'System',
|
|
'notification.activity': 'Activity',
|
|
'notification.reward': 'Reward',
|
|
'notification.upgrade': 'Upgrade',
|
|
'notification.announcement': 'Announcement',
|
|
'notification.markAllRead': 'Mark All Read',
|
|
'notification.empty': 'No notifications',
|
|
'notification.loadFailed': 'Load failed',
|
|
'notification.retry': 'Retry',
|
|
};
|