feat: 新增多语言文案、优化导航及工具函数,修复部分业务逻辑
1. 新增多语言资源文件,覆盖文章、预约日期、会员信息、优惠券、表单、购物车、积分商城、分销、AI聊天等多个模块 2. 优化底部导航组件,使用多语言配置替代硬编码文案 3. 重构工具函数,新增从后端数据提取多语言文案的工具方法 4. 修复邀请好友页面的保存提示文案,替换为多语言版本 5. 修复商品SKU组件的提示文案,使用多语言配置 6. 重构AI聊天页面的帮助文档和回复模板,使用多语言配置 7. 优化空状态组件,支持多语言默认文案 8. 修复跳转逻辑,补全参数传递 9. 新增本地开发环境配置
This commit is contained in:
@@ -72,6 +72,20 @@ export const lang = {
|
||||
prompt: 'Prompt',
|
||||
serviceTypeNotSupported: 'Current service type does not support this page',
|
||||
|
||||
// ====== index.vue - Help Content ======
|
||||
helpContent: '# Help Guide\n\n## Basic Features\n- **Send Message**: Type in the input box and send\n- **Voice Input**: Tap the microphone icon for voice input\n- **Attachments**: Tap + to send images, files, locations\n\n## Message Types\n- **Text Message**: Regular text conversation\n- **Markdown**: Supports formatted document content\n- **File**: Supports various file format previews\n- **Audio**: Supports voice message playback\n- **Video**: Supports video playback\n- **Link**: Supports web link navigation\n- **Product**: Supports product card display\n\n## Actions\n- **Like/Dislike**: Rate AI responses\n- **Copy**: Long press a message to copy content\n- **Forward**: Supports message forwarding',
|
||||
|
||||
// ====== index.vue - AI Response Templates ======
|
||||
aiResponseTemplate1: 'I understand your needs, let me provide you with a detailed answer.',
|
||||
aiResponseTemplate2: 'Thank you for your question, that is a great question.',
|
||||
aiResponseTemplate3: 'Based on your question, I suggest you consider the following aspects:',
|
||||
aiResponseTemplate4: 'This is a common question, let me provide you with some solutions.',
|
||||
aiResponseTemplate5: 'I understand your confusion, let me help you analyze it.',
|
||||
aiProcessingMessage: 'I have received your question "{question}" and am working on it...',
|
||||
|
||||
// ====== index.vue - Product Inquiry ======
|
||||
productInquiryTemplate: 'I would like to learn more about the following product:\nProduct Name: {name}\nPrice: ¥{price}\nProduct ID: {id}',
|
||||
|
||||
// ====== ai-chat-avatar-selector ======
|
||||
avatarSelectorTitle: 'Change Avatar',
|
||||
chooseFromAlbum: 'Choose from Album',
|
||||
|
||||
@@ -28,6 +28,31 @@ export const lang = {
|
||||
weChatWorkKefu: 'WeChat Work Customer Service',
|
||||
},
|
||||
|
||||
// customer service module
|
||||
customerService: {
|
||||
openFailed: 'Failed to open customer service',
|
||||
wxworkConfigIncomplete: 'WeChat Work configuration incomplete',
|
||||
jumpFailed: 'Jump failed, please try again later',
|
||||
miniProgramOnly: 'Third-party mini program customer service is only available in WeChat Mini Program',
|
||||
linkCopied: 'Link copied, please open in browser',
|
||||
customerLinkCopied: 'Customer service link copied',
|
||||
noServicePhone: 'No customer service phone number',
|
||||
getPhoneFailed: 'Failed to get customer service phone',
|
||||
contactCustomerService: 'Contact Customer Service',
|
||||
callServiceTip: 'Please contact customer service at {phone}',
|
||||
noServiceOffline: 'Sorry, no customer service available, please contact offline',
|
||||
configError: 'Customer Service Configuration Error',
|
||||
configErrorDetail: 'Configuration errors:\n{errors}',
|
||||
tip: 'Tip',
|
||||
cannotAddWxwork: 'Cannot add WeChat Work directly, use other methods to contact customer service?',
|
||||
onlineUnavailable: 'Online customer service unavailable, call customer service?',
|
||||
developing: 'Customer service selection feature under development',
|
||||
wxworkNotConfigured: 'WeChat Work customer service not configured',
|
||||
serviceUnavailable: 'Customer service temporarily unavailable',
|
||||
wxworkLinkNotConfigured: 'WeChat Work link not configured',
|
||||
fromFloatButton: 'Inquiry from floating button',
|
||||
},
|
||||
|
||||
getDynacode: 'Get Code',
|
||||
|
||||
login: 'Login/Register',
|
||||
|
||||
4
lang/en-us/components-diy/diy-article.js
Normal file
4
lang/en-us/components-diy/diy-article.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export const lang = {
|
||||
viewMore: 'View More',
|
||||
noArticles: 'No articles found',
|
||||
}
|
||||
30
lang/en-us/components-diy/diy-coupon.js
Normal file
30
lang/en-us/components-diy/diy-coupon.js
Normal file
@@ -0,0 +1,30 @@
|
||||
export const lang = {
|
||||
// Button text
|
||||
claim: 'Claim',
|
||||
claimNow: 'Claim Now',
|
||||
goUse: 'Use Now',
|
||||
useNow: 'Use Now',
|
||||
goBrowse: 'Go Browse',
|
||||
|
||||
// Currency / discount units
|
||||
yuan: 'yuan',
|
||||
discount: '% off',
|
||||
|
||||
// Coupon usage conditions
|
||||
minSpendAvailable: 'Available on orders over {amount}',
|
||||
noThresholdCoupon: 'No threshold coupon',
|
||||
minSpendUse: 'Use on orders over {amount}',
|
||||
noThresholdUse: 'No threshold',
|
||||
allProductsAvailable: 'All products available',
|
||||
specifiedProductsAvailable: 'Specified products available',
|
||||
specifiedProductsUnavailable: 'Specified products unavailable',
|
||||
|
||||
// Other text
|
||||
coupon: 'Coupon',
|
||||
noCoupons: 'No coupons available',
|
||||
validUntil: 'Valid until {date}',
|
||||
|
||||
// Toast messages
|
||||
couponSoldOut: 'This coupon is sold out',
|
||||
claimSuccess: 'Claimed successfully',
|
||||
}
|
||||
22
lang/en-us/components-diy/diy-member-info.js
Normal file
22
lang/en-us/components-diy/diy-member-info.js
Normal file
@@ -0,0 +1,22 @@
|
||||
export const lang = {
|
||||
// Authorization prompt text
|
||||
clickToAuthorizeAvatarNickname: 'Tap to authorize avatar & nickname',
|
||||
clickToGetWechatAvatar: 'Tap to get WeChat avatar',
|
||||
|
||||
// Complete info popup
|
||||
completeInfoTitle: 'Get your nickname and avatar',
|
||||
completeInfoTip: 'Get user avatar and nickname to complete personal profile, mainly to provide a recognizable user center interface',
|
||||
avatarLabel: 'Avatar',
|
||||
nicknameLabel: 'Nickname',
|
||||
nicknamePlaceholder: 'Enter nickname',
|
||||
save: 'Save',
|
||||
|
||||
// Modal prompts
|
||||
tip: 'Tip',
|
||||
bindMobileTip: 'You need to bind a mobile number to use the member code. Bind now?',
|
||||
|
||||
// Toast messages
|
||||
pleaseEnterNickname: 'Please enter nickname',
|
||||
uploadFailed: 'Upload failed',
|
||||
avatarPullFailed: 'Failed to pull avatar',
|
||||
}
|
||||
51
lang/en-us/components/ns-login.js
Normal file
51
lang/en-us/components/ns-login.js
Normal file
@@ -0,0 +1,51 @@
|
||||
export const lang = {
|
||||
// ===== ns-login component =====
|
||||
'ns-login': {
|
||||
// H5 bind mobile popup
|
||||
bindMobileTitle: 'Mobile number not bound yet',
|
||||
bindMobileTip: 'Please bind your mobile number to receive order updates',
|
||||
mobileLabel: 'Mobile',
|
||||
mobilePlaceholder: 'Enter mobile number',
|
||||
captchaLabel: 'Captcha',
|
||||
captchaPlaceholder: 'Enter captcha',
|
||||
dynacodeLabel: 'Code',
|
||||
dynacodePlaceholder: 'Enter code',
|
||||
save: 'Save',
|
||||
|
||||
// Mini Program login popup
|
||||
welcomeTitle: 'Welcome to {siteName}',
|
||||
loginWithMobile: 'Login with mobile, ',
|
||||
registerLogin: 'Register & login, ',
|
||||
getServicesTip: 'to access orders, after-sales and more.',
|
||||
agree: 'I agree',
|
||||
privacyPolicy: '《Privacy Policy》',
|
||||
userServiceAgreement: '《User Service Agreement》',
|
||||
agreeAndAuthorizeMobile: 'Agree & Authorize Mobile',
|
||||
authorizeMobile: 'Authorize Mobile',
|
||||
notNow: 'Not Now',
|
||||
|
||||
// Nickname & Avatar
|
||||
avatarLabel: 'Avatar',
|
||||
nicknameLabel: 'Nickname',
|
||||
nicknamePlaceholder: 'Enter nickname',
|
||||
getMobile: 'Get Mobile Number',
|
||||
|
||||
// Dynacode
|
||||
getDynacode: 'Get Code',
|
||||
resendAfter: 'Resend in {seconds}s',
|
||||
|
||||
// Toast messages
|
||||
pleaseConfirmAgreement: 'Please confirm the agreement',
|
||||
uploadFailed: 'Upload failed',
|
||||
pleaseEnterMobile: 'Please enter mobile number',
|
||||
pleaseEnterCorrectMobile: 'Please enter correct mobile number',
|
||||
pleaseEnterCaptcha: 'Please enter captcha',
|
||||
pleaseEnterDynacode: 'Please enter dynamic code',
|
||||
requestFail: 'request:fail',
|
||||
loggingIn: 'Logging in',
|
||||
loginFailed: 'Login failed',
|
||||
pleaseAuthorizeMobile: 'Please authorize your mobile number',
|
||||
pleaseEnterNickname: 'Please enter nickname',
|
||||
avatarPullFailed: 'Avatar pull failed',
|
||||
}
|
||||
}
|
||||
33
lang/en-us/components/ns-newform.js
Normal file
33
lang/en-us/components/ns-newform.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export const lang = {
|
||||
// ===== ns-newform component =====
|
||||
'ns-newform': {
|
||||
// Input placeholder defaults
|
||||
inputPlaceholder: 'Please enter',
|
||||
selectPlaceholder: 'Please select',
|
||||
datePlaceholder: 'Please select date',
|
||||
timePlaceholder: 'Please select time',
|
||||
startDate: 'Start date',
|
||||
endDate: 'End date',
|
||||
startTime: 'Start time',
|
||||
endTime: 'End time',
|
||||
selectProvinceCity: 'Please select province and city',
|
||||
selectProvinceCityDistrict: 'Please select province, city and district',
|
||||
|
||||
// Validation - required
|
||||
pleaseInput: 'Please enter {title}',
|
||||
pleaseSelect: 'Please select {title}',
|
||||
pleaseSelectAtLeastOne: 'Please select at least one {title}',
|
||||
pleaseUploadAtLeastOne: 'Please upload at least one {title}',
|
||||
|
||||
// Validation - format
|
||||
idCardInvalid: 'Invalid ID card number',
|
||||
mobileInvalid: 'Invalid mobile number',
|
||||
|
||||
// Validation - range
|
||||
endDateBeforeStartDate: 'End date cannot be earlier than start date',
|
||||
endTimeBeforeStartTime: 'End time must be later than start time',
|
||||
|
||||
// Image upload
|
||||
maxUploadImages: 'Upload up to {max} images',
|
||||
}
|
||||
}
|
||||
17
lang/en-us/components/yuyue-date.js
Normal file
17
lang/en-us/components/yuyue-date.js
Normal file
@@ -0,0 +1,17 @@
|
||||
export const lang = {
|
||||
// ===== yuyue-date component =====
|
||||
'yuyueDate': {
|
||||
// Appointed date button
|
||||
appointedDate: 'Appointed Date',
|
||||
|
||||
// Time status text
|
||||
fullyBooked: 'Fully Booked',
|
||||
available: 'Available',
|
||||
|
||||
// Selection status
|
||||
noSelection: 'No Selection',
|
||||
|
||||
// Toast message
|
||||
weekdayCannotBook: '{weekday} cannot be booked',
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,55 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: 'Distributor Application'
|
||||
title: ''
|
||||
}
|
||||
title: '',
|
||||
|
||||
// Page header
|
||||
pleaseFillApplyInfo: 'Please fill in application information',
|
||||
|
||||
// Form fields
|
||||
inviter: 'Inviter',
|
||||
nameLabel: 'Name',
|
||||
namePlaceholder: 'Please enter {name} name',
|
||||
mobile: 'Mobile',
|
||||
mobilePlaceholder: 'Please enter mobile number',
|
||||
|
||||
// Agreement
|
||||
haveReadAndUnderstand: 'I have read and understand',
|
||||
applyAgreement: '【{name} Application Agreement】',
|
||||
|
||||
// Buttons
|
||||
applyBecome: 'Apply to become {name}',
|
||||
reapply: 'Reapply',
|
||||
|
||||
// Application conditions
|
||||
applyConditionTitle: 'Distributor Application Conditions',
|
||||
becomeConditionTitle: 'Conditions to Become a Distributor',
|
||||
conditionConsumeCount: 'To apply to become {name}, your purchase count must reach {count} times',
|
||||
conditionConsumeMoney: 'To apply to become {name}, your purchase amount must reach {money} yuan',
|
||||
conditionBuyGoods: 'To apply to become {name}, you need to purchase one of the following specified products',
|
||||
becomeConditionBuyGoods: 'To become {name}, you need to purchase one of the following specified products',
|
||||
|
||||
// Expand/collapse
|
||||
expandMore: 'Expand more',
|
||||
collapse: 'Collapse',
|
||||
|
||||
// Status messages
|
||||
notFenxiao: 'You are not a distributor yet',
|
||||
applyPending: 'You have submitted the {name} application, waiting for review',
|
||||
applyRejected: 'Your {name} application has been rejected, please try again',
|
||||
|
||||
// Default values
|
||||
none: 'None',
|
||||
|
||||
// Toast messages
|
||||
merchantNotOpenFenxiao: 'Merchant has not enabled distribution',
|
||||
pleaseReadAndCheckAgreement: 'Please read the agreement carefully and check it',
|
||||
|
||||
// Page title suffix
|
||||
applySuffix: 'Application',
|
||||
|
||||
// Form validation
|
||||
pleaseEnterName: 'Please enter {name} name',
|
||||
pleaseEnterMobile: 'Please enter mobile number',
|
||||
pleaseEnterValidMobile: 'Please enter a valid mobile number',
|
||||
}
|
||||
|
||||
@@ -1,5 +1,70 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: 'Distribution Center',
|
||||
title: ''
|
||||
}
|
||||
title: '',
|
||||
|
||||
// Header member info
|
||||
superiorAgent: 'Superior Agent',
|
||||
headquarters: 'Headquarters',
|
||||
invitedSuccess: 'Invited successfully: {count} people',
|
||||
|
||||
// Commission / Balance
|
||||
withdrawable: 'Available {withdraw} (Yuan)',
|
||||
withdrawDetail: 'Withdrawal Details',
|
||||
withdrawing: 'Withdrawing (Yuan)',
|
||||
pendingDeposit: 'Pending (Yuan)',
|
||||
withdraw: 'Withdraw',
|
||||
|
||||
// Menu items
|
||||
myFans: 'My Fans',
|
||||
invitedUsers: 'Invited Users',
|
||||
detail: 'Details',
|
||||
totalAccumulated: 'Total {account} {symbol}{amount}',
|
||||
order: 'Orders',
|
||||
orderDetail: 'Order Details',
|
||||
myInviteCode: 'My Invite Code',
|
||||
inviteFriendsEarnRewards: 'Invite friends, earn rewards',
|
||||
|
||||
// Empty / Not applied state
|
||||
notFenxiaoYet: 'You are not a {name} yet, please submit an application',
|
||||
joinNow: 'Join Now',
|
||||
|
||||
// Task popup
|
||||
quickUpgradeTips: 'Quick Upgrade Tips',
|
||||
completed: 'Completed',
|
||||
incomplete: 'Incomplete',
|
||||
goComplete: 'Go Complete',
|
||||
tip: 'Tip',
|
||||
anyConditionUpgrade: 'Meet any one condition to upgrade',
|
||||
allConditionsUpgrade: 'All conditions must be met to upgrade',
|
||||
|
||||
// Page title suffix
|
||||
center: 'Center',
|
||||
|
||||
// Toast messages
|
||||
merchantNotOpenFenxiao: 'Merchant has not enabled distribution',
|
||||
fenxiaoFrozen: 'Distributor account has been frozen',
|
||||
|
||||
// Upgrade tasks - Subordinate consumption
|
||||
subordinateConsumption: 'Subordinate Consumption',
|
||||
subordinateOrderCount: '{count} subordinate orders completed',
|
||||
subordinateOrderCountTip: 'Number of orders placed by the distributor and their direct referred members',
|
||||
subordinateOrderAmount: 'Subordinate order amount reaches {amount} Yuan',
|
||||
subordinateOrderAmountTip: 'Total order amount of the distributor and their direct referred members',
|
||||
subordinateCommissionAmount: 'Total {account} from subordinate consumption reaches {amount} Yuan',
|
||||
subordinateCommissionAmountTip: 'Total {account} from orders of the distributor and their direct referred members',
|
||||
|
||||
// Upgrade tasks - Self consumption
|
||||
selfConsumption: 'Self Consumption',
|
||||
selfOrderCount: '{count} self orders completed',
|
||||
selfOrderCountTip: 'Number of orders placed by the distributor themselves',
|
||||
selfOrderAmount: 'Self order amount reaches {amount} Yuan',
|
||||
selfOrderAmountTip: 'Total order amount of the distributor\'s own purchases',
|
||||
|
||||
// Upgrade tasks - Invite friends
|
||||
inviteFriends: 'Invite Friends',
|
||||
inviteFriendCount: 'Invite {count} friends',
|
||||
inviteFriendCountTip: 'Number of direct subordinate members (including those who have applied to become distributors)',
|
||||
inviteFenxiaoCount: 'Invite {count} friends to become distributors',
|
||||
inviteFenxiaoCountTip: 'Number of direct subordinate distributors',
|
||||
}
|
||||
|
||||
@@ -1,5 +1,49 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: 'Distributor Level',
|
||||
title: ''
|
||||
}
|
||||
title: '',
|
||||
|
||||
// 页面标题后缀
|
||||
levelSuffix: 'Level',
|
||||
|
||||
// 分佣比率
|
||||
firstLevelCommissionRate: 'First Level Commission Rate',
|
||||
secondLevelCommissionRate: 'Second Level Commission Rate',
|
||||
thirdLevelCommissionRate: 'Third Level Commission Rate',
|
||||
|
||||
// 升级任务
|
||||
quickUpgradeTips: 'Quick Upgrade Tips',
|
||||
completed: 'Completed',
|
||||
incomplete: 'Incomplete',
|
||||
|
||||
// 提示弹窗
|
||||
tip: 'Tip',
|
||||
anyConditionUpgrade: 'Upgrade when any condition is met',
|
||||
allConditionsUpgrade: 'All conditions must be met to upgrade',
|
||||
|
||||
// Toast 提示
|
||||
merchantNotOpenFenxiao: 'Merchant has not enabled distribution',
|
||||
|
||||
// 升级任务 - 下级消费
|
||||
subordinateConsumption: 'Subordinate Consumption',
|
||||
subordinateOrderCount: '{count} subordinate orders required',
|
||||
subordinateOrderCountTip: 'The number of orders placed by the distributor and their direct referrals reaches {count}',
|
||||
subordinateOrderAmount: 'Subordinate order amount reaches {amount} yuan',
|
||||
subordinateOrderAmountTip: 'The total order amount from the distributor and their direct referrals reaches {amount} yuan',
|
||||
subordinateCommissionAmount: 'Commission from subordinate consumption reaches {amount} yuan',
|
||||
subordinateCommissionAmountTip: 'The total commission from orders of the distributor and their direct referrals reaches {amount} yuan',
|
||||
|
||||
// 升级任务 - 自身消费
|
||||
selfConsumption: 'Self Consumption',
|
||||
selfOrderCount: '{count} self orders required',
|
||||
selfOrderCountTip: 'The number of orders placed by the distributor reaches {count}',
|
||||
selfOrderAmount: 'Self order amount reaches {amount} yuan',
|
||||
selfOrderAmountTip: 'The total order amount from the distributor reaches {amount} yuan',
|
||||
|
||||
// 升级任务 - 邀请好友
|
||||
inviteFriends: 'Invite Friends',
|
||||
inviteFriendCount: 'Invite {count} friends',
|
||||
inviteFriendCountTip: 'The number of direct subordinate members reaches {count} (including those who have applied to become distributors)',
|
||||
inviteFenxiaoCount: 'Invite {count} friends to become distributors',
|
||||
inviteFenxiaoCountTip: 'The number of direct subordinate distributors reaches {count}',
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
//title is the title of each page
|
||||
title: 'Shopping Cart',
|
||||
complete: 'Complete',
|
||||
edit: 'Manage',
|
||||
@@ -9,5 +9,39 @@ export const lang = {
|
||||
emptyTips: 'No products yet',
|
||||
goForStroll: 'Go shopping',
|
||||
del: 'Delete',
|
||||
login: 'Go to login'
|
||||
}
|
||||
login: 'Go to login',
|
||||
// cart header
|
||||
totalKinds: '{count} item(s)',
|
||||
// coupon tips
|
||||
coupon: 'Coupon',
|
||||
couponMaxDiscount: 'Save up to {money} with coupons',
|
||||
receive: 'Receive',
|
||||
view: 'View',
|
||||
clickToReceive: 'Click to receive',
|
||||
clickToView: 'Click to view',
|
||||
// full reduction
|
||||
fullReduction: 'Full Reduction',
|
||||
fullReductionItem: 'Spend {limit}, get {discount} off',
|
||||
// invalid goods
|
||||
invalidGoods: '{count} invalid item(s)',
|
||||
clear: 'Clear',
|
||||
invalid: 'Invalid',
|
||||
// empty cart
|
||||
cartEmpty: 'Shopping cart is empty',
|
||||
cartEmptySubText: 'Go browse and find your favorite products',
|
||||
// discount detail popup
|
||||
discountDetail: 'Discount Details',
|
||||
goodsTotal: 'Subtotal',
|
||||
// coupon popup
|
||||
discountLabel: 'off',
|
||||
minSpend: 'Min. spend {amount}',
|
||||
noThreshold: 'No threshold',
|
||||
maxDiscount: 'Max discount {symbol}{limit}',
|
||||
validityPeriod: 'Valid: ',
|
||||
validFromReceive: 'Valid for {days} days from receipt',
|
||||
longTermValid: 'Long-term valid',
|
||||
received: 'Received',
|
||||
// settlement button
|
||||
receiveCouponSettle: 'Receive & Checkout ({count})',
|
||||
settleImmediately: 'Checkout ({count})'
|
||||
}
|
||||
|
||||
@@ -34,6 +34,83 @@ export const lang = {
|
||||
|
||||
kefu:'Contact',
|
||||
follow:'Follow',
|
||||
|
||||
spec:'Spec'
|
||||
}
|
||||
|
||||
spec:'Spec',
|
||||
|
||||
// SKU related
|
||||
stockInsufficient: 'Insufficient stock',
|
||||
offShelves: 'This product has been removed',
|
||||
soldOut: 'Sold out',
|
||||
buyCountNotZero: 'Purchase quantity cannot be less than or equal to 0',
|
||||
stockLessThanMinBuy: 'Stock is less than minimum purchase quantity',
|
||||
purchaseLimit: 'Limit {count} {unit} per person',
|
||||
purchaseLimitWithPurchased: 'Limit {count} {unit} per person, you have purchased {purchased} {unit}',
|
||||
maxPurchasePerTime: 'Maximum purchase of {count} {unit} per time',
|
||||
selectedSpec: 'Selected: ',
|
||||
buyCount: 'Purchase Quantity',
|
||||
exchangeCount: 'Exchange Quantity',
|
||||
joinCart: 'Add to Cart',
|
||||
confirmBtn: 'Confirm',
|
||||
rushBuy: 'Buy Now',
|
||||
exchangeBtn: 'Exchange',
|
||||
addToCartSuccess: 'Added to cart successfully',
|
||||
minBuyStart: 'Minimum order: {minBuy} {unit}',
|
||||
balanceLabel: 'Balance',
|
||||
pointLabel: 'Points: ',
|
||||
stockLabel: 'Stock: ',
|
||||
groupOfNum: '{num}-person group',
|
||||
limitPerPerson: 'Limit: {count} {unit}/person',
|
||||
limitBuyRange: 'From {minBuy} {unit}, limit {maxBuy} {unit}',
|
||||
limitBuyMax: 'Limit: {maxBuy} {unit}',
|
||||
previewCannotBuy: 'Preview products cannot be purchased',
|
||||
specNotInBale: 'This spec is not in the bale activity',
|
||||
goodsStockInsufficient: 'Insufficient product stock',
|
||||
goodsAddCartSuccess: 'Product added to cart successfully',
|
||||
selected: 'Selected: ',
|
||||
startingNum: 'Min. order: {num} pcs',
|
||||
goodsOffShelves: 'Product has been removed',
|
||||
|
||||
// Price & Promotion
|
||||
limitedTimeDiscount: 'Limited Time Discount',
|
||||
sold: 'Sold',
|
||||
countdownEndsIn: 'Ends In',
|
||||
originalPrice: 'Original Price',
|
||||
|
||||
// Combo Package
|
||||
comboPackage: 'Combo Package',
|
||||
comboPrice: 'Combo Price',
|
||||
|
||||
// Coupons
|
||||
coupons: 'Coupons',
|
||||
discountOff: '% off',
|
||||
minSpendAvailable: 'Min. spend {amount}',
|
||||
noThreshold: 'No threshold',
|
||||
maxDiscount: 'Max discount: {symbol}{amount}',
|
||||
validUntilDate: 'Valid until: {date}',
|
||||
validForDays: 'Valid for {days} days after claiming',
|
||||
validPermanent: 'Valid: Permanent',
|
||||
couponSoldOut: 'Sold out',
|
||||
couponClaimed: 'Claimed',
|
||||
couponReceive: 'Claim',
|
||||
|
||||
// Promotions
|
||||
promotion: 'Promotion',
|
||||
fullReduction: 'Full Reduction',
|
||||
fullGift: 'Full Gift',
|
||||
freeShipping: 'Free Shipping',
|
||||
|
||||
// Product Message
|
||||
productMessage: 'Product Message',
|
||||
|
||||
// AI Customer Service
|
||||
aiCustomerService: 'AI Assistant',
|
||||
|
||||
// Contact Popup
|
||||
dialOnMobile: 'Dial {phone} on mobile',
|
||||
cancel: 'Cancel',
|
||||
copyToClipboard: 'Copy to Clipboard',
|
||||
copySuccess: 'Copied successfully',
|
||||
|
||||
// Common Button
|
||||
confirm: 'Confirm',
|
||||
}
|
||||
|
||||
@@ -1,4 +1,57 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Membership Card'
|
||||
}
|
||||
//title is the page title
|
||||
title: 'Membership Card',
|
||||
|
||||
// Member info
|
||||
validUntil: 'Valid until: ',
|
||||
|
||||
// Membership card description
|
||||
enjoyDiscountAnd: 'can enjoy consumption discounts and',
|
||||
memberGiftBenefits: 'member gift package benefits',
|
||||
|
||||
// Card type selection
|
||||
cardTypeSelection: 'Card Type',
|
||||
weekCardName: 'Weekly Card',
|
||||
weekCardUnit: 'week',
|
||||
monthCardName: 'Monthly Card',
|
||||
monthCardUnit: 'month',
|
||||
quarterCardName: 'Quarterly Card',
|
||||
quarterCardUnit: 'quarter',
|
||||
yearCardName: 'Annual Card',
|
||||
yearCardUnit: 'year',
|
||||
|
||||
// Member benefits
|
||||
memberBenefits: 'Member Benefits',
|
||||
freeShipping: 'Free Shipping',
|
||||
enjoyFreeShipping: 'Enjoy free shipping on all products',
|
||||
consumptionDiscount: 'Consumption Discount',
|
||||
enjoyDiscountOnSomeProducts: 'Enjoy {discount}% off on some products',
|
||||
pointsReward: 'Points Reward',
|
||||
earnPointsMultiplier: 'Earn {multiplier}x points on orders',
|
||||
|
||||
// Welcome gift
|
||||
welcomeGift: 'Welcome Gift',
|
||||
pointsGift: 'Points Gift',
|
||||
giftPoints: '{points} points as gift',
|
||||
redPacketGift: 'Red Packet Gift',
|
||||
giftRedPacket: '{amount} yuan red packet as gift',
|
||||
couponGift: 'Coupon Gift',
|
||||
giftCoupons: '{count} coupons as gift',
|
||||
|
||||
// Action buttons
|
||||
renewNow: 'Renew Now',
|
||||
rechargeToActivate: 'Recharge to Activate',
|
||||
activateNow: 'Activate Now',
|
||||
|
||||
// Agreement
|
||||
purchaseAgreement: 'By purchasing, you agree to',
|
||||
|
||||
// Popup
|
||||
cardDescription: 'Card Description',
|
||||
|
||||
// Empty data
|
||||
noCardsAvailable: 'No membership cards available',
|
||||
|
||||
// Confirmation
|
||||
cardOverrideConfirm: 'You have an unexpired membership card. Purchasing again will override your current card. Continue?',
|
||||
}
|
||||
|
||||
@@ -52,5 +52,28 @@ export const lang = {
|
||||
surePhoneNumber: "Please enter a valid phone number",
|
||||
|
||||
alikePhone: "Same as original phone number, no need to modify",
|
||||
modify: 'Modify'
|
||||
modify: 'Modify',
|
||||
|
||||
sexUnknown: "Unknown",
|
||||
sexMale: "Male",
|
||||
sexFemale: "Female",
|
||||
|
||||
pleaseSelectBirthday: "Please select birthday",
|
||||
alikeRealName: "Same as original real name, no need to modify",
|
||||
noEmptyRealName: "Real name cannot be empty",
|
||||
|
||||
passwordMinLength: "New password must be at least {num} characters",
|
||||
passwordComplexityPrefix: "Password must contain",
|
||||
passwordNumber: "numbers",
|
||||
passwordLowercase: "lowercase letters",
|
||||
passwordUppercase: "uppercase letters",
|
||||
passwordSymbol: "special characters",
|
||||
passwordSeparator: ", ",
|
||||
|
||||
pleaseInputMobile: "Please enter phone number",
|
||||
codeSent: "Sent ({seconds}s)",
|
||||
doNotRepeatedlyClick: "Do not click repeatedly",
|
||||
|
||||
pleaseSelectRegion: "Please select region",
|
||||
pleaseInputDetailAddress: "Please enter detailed address"
|
||||
}
|
||||
@@ -57,5 +57,39 @@ export const lang = {
|
||||
surePhoneNumber: "Please enter a valid phone number",
|
||||
|
||||
alikePhone: "Same as original phone number, no need to modify",
|
||||
modify: 'Modify'
|
||||
modify: 'Modify',
|
||||
|
||||
pleaseInput: "Please enter",
|
||||
usernameModifyTip: "Username can only be modified once, please set carefully",
|
||||
pleaseSelectBirthday: "Please select birthday",
|
||||
bindMobileFirstTip: "Please bind your mobile phone first",
|
||||
bindNow: "Bind Now",
|
||||
smsCode: "SMS Verification Code",
|
||||
sendCodeTip: 'Click "Get Dynamic Code" and a verification code will be sent to your bound mobile number {mobile}',
|
||||
oneClickAuthBind: "One-Click Authorization Binding",
|
||||
manualBind: "Manual Binding",
|
||||
region: "Region",
|
||||
pleaseSelectRegion: "Please select province/city/district",
|
||||
detailAddress: "Detailed Address",
|
||||
|
||||
sexUnknown: "Unknown",
|
||||
sexMale: "Male",
|
||||
sexFemale: "Female",
|
||||
|
||||
alikeRealName: "Same as original real name, no need to modify",
|
||||
noEmptyRealName: "Real name cannot be empty",
|
||||
|
||||
passwordMinLength: "New password must be at least {num} characters",
|
||||
passwordComplexityPrefix: "Password must contain",
|
||||
passwordNumber: "numbers",
|
||||
passwordLowercase: "lowercase letters",
|
||||
passwordUppercase: "uppercase letters",
|
||||
passwordSymbol: "special characters",
|
||||
passwordSeparator: ", ",
|
||||
|
||||
pleaseInputMobile: "Please enter phone number",
|
||||
codeSent: "Sent ({seconds}s)",
|
||||
doNotRepeatedlyClick: "Do not click repeatedly",
|
||||
|
||||
pleaseInputDetailAddress: "Please enter detailed address"
|
||||
}
|
||||
@@ -1,3 +1,56 @@
|
||||
export const lang = {
|
||||
// title is the page title
|
||||
title: 'Invite Friends',
|
||||
}
|
||||
|
||||
// Activity header
|
||||
activityDescription: 'Activity Description',
|
||||
activityTime: 'Activity Time: {startTime} to {endTime}',
|
||||
inviteNow: 'Invite Now',
|
||||
|
||||
// Invite list
|
||||
myFriends: 'My Friends',
|
||||
cashRedPacketAmount: '{amount} yuan cash red packet',
|
||||
pointsAmount: '{amount} points',
|
||||
couponsAmount: '{count} coupons',
|
||||
viewMore: 'View More',
|
||||
noMoreData: 'No more data',
|
||||
noInvitedFriendsTip: 'You haven\'t invited any new friends yet',
|
||||
inviteTip: 'Invite friends and earn rewards. Give it a try~',
|
||||
|
||||
// Invite rewards
|
||||
inviteRewards: 'Invite Rewards',
|
||||
cashRedPacket: 'Cash Red Packet',
|
||||
points: 'Points',
|
||||
couponUnit: '',
|
||||
coupon: 'Coupon',
|
||||
shareDesc: 'Share with friends. When friends enter through your share link and register, you can receive the following rewards:',
|
||||
balanceReward: 'Get {amount} yuan red packet',
|
||||
pointReward: 'Get {amount} points',
|
||||
couponReward: 'Get {count} coupons',
|
||||
unlimitedReward: 'Unlimited rewards available',
|
||||
rewardLimit: 'Reward limit: {max} people',
|
||||
|
||||
// Invite steps
|
||||
howToInvite: 'How to Invite',
|
||||
stepShareLink: 'Share link with friends',
|
||||
stepFriendEnter: 'Friend enters',
|
||||
stepFriendRegister: 'Friend registers and gets reward',
|
||||
|
||||
// Poster popup
|
||||
saveImage: 'Save Image',
|
||||
longPressSaveImage: 'Long press to save image',
|
||||
|
||||
// Share popup
|
||||
share: 'Share',
|
||||
shareToFriends: 'Share to Friends',
|
||||
generatePoster: 'Generate Share Poster',
|
||||
copyLink: 'Copy Link',
|
||||
cancelShare: 'Cancel',
|
||||
|
||||
// Empty data
|
||||
noData: 'No relevant data',
|
||||
|
||||
// Action tips
|
||||
saveSuccess: 'Saved successfully',
|
||||
saveFailed: 'Save failed, please try again later',
|
||||
}
|
||||
|
||||
@@ -1,4 +1,108 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Order Details'
|
||||
}
|
||||
//title for each page
|
||||
title: 'Order Details',
|
||||
|
||||
// ====== Order Status ======
|
||||
status: {
|
||||
estimatedDelivery: 'Estimated delivery in {days} days',
|
||||
orderCloseReason: 'Order close reason:',
|
||||
remainingTime: 'Remaining time:'
|
||||
},
|
||||
|
||||
// ====== Address ======
|
||||
address: {
|
||||
receivingAddress: 'Shipping Address:',
|
||||
deliveryTime: 'Delivery Time:',
|
||||
deliverer: 'Deliverer:',
|
||||
delivererMobile: 'Delivery Phone:'
|
||||
},
|
||||
|
||||
// ====== Store Pickup ======
|
||||
store: {
|
||||
businessHours: 'Business Hours:',
|
||||
address: 'Address:',
|
||||
noPickupStore: 'No pickup store available',
|
||||
pickupName: 'Name',
|
||||
reservedMobile: 'Reserved Phone',
|
||||
pickupTime: 'Pickup Time',
|
||||
pickupCode: 'Pickup Code:'
|
||||
},
|
||||
|
||||
// ====== Goods ======
|
||||
goods: {
|
||||
cardDeduction: 'Card Deduction',
|
||||
applyAfterSales: 'After-sales',
|
||||
applyRefund: 'Refund',
|
||||
viewAfterSales: 'View After-sales',
|
||||
viewRefund: 'View Refund'
|
||||
},
|
||||
|
||||
// ====== Order Info ======
|
||||
orderInfo: {
|
||||
orderType: 'Order Type:',
|
||||
orderNo: 'Order No.:',
|
||||
outTradeNo: 'Trade No.:',
|
||||
createTime: 'Created:',
|
||||
closeTime: 'Closed:',
|
||||
payType: 'Payment Method:',
|
||||
payTime: 'Paid At:',
|
||||
deliveryType: 'Delivery Method:',
|
||||
buyerMessage: 'Buyer Message:',
|
||||
promotionDiscount: 'Promotion Discount:',
|
||||
invoiceType: 'Invoice Type:',
|
||||
invoiceTypePaper: 'Paper Invoice',
|
||||
invoiceTypeElectronic: 'Electronic Invoice',
|
||||
invoiceTitleType: 'Invoice Title Type:',
|
||||
invoiceTitlePersonal: 'Personal',
|
||||
invoiceTitleCompany: 'Company',
|
||||
invoiceTitle: 'Invoice Title:',
|
||||
invoiceContent: 'Invoice Content:',
|
||||
invoiceMailAddress: 'Invoice Mailing Address:',
|
||||
invoiceEmail: 'Invoice Email:',
|
||||
myCardPack: 'My Card Pack:',
|
||||
view: 'View'
|
||||
},
|
||||
|
||||
// ====== Virtual Goods Verification ======
|
||||
virtualGoods: {
|
||||
showCodeToVerifier: 'Please show the barcode or QR code to the verifier',
|
||||
verifyInfo: 'Verification Info',
|
||||
verifyCount: 'Verification Count',
|
||||
verifyCountText: '{remaining} remaining / {total} total',
|
||||
validPeriod: 'Valid Period',
|
||||
permanentValid: 'Permanent',
|
||||
verifyRecord: 'Verification Records',
|
||||
verifier: 'Verified By',
|
||||
verifyTime: 'Verification Time',
|
||||
noVerifyRecord: 'No verification records',
|
||||
cardInfo: 'Card Info',
|
||||
cardNo: 'Card No.:',
|
||||
cardPassword: 'Password:'
|
||||
},
|
||||
|
||||
// ====== Amount ======
|
||||
amount: {
|
||||
goodsMoney: 'Goods Amount',
|
||||
deliveryFee: 'Shipping',
|
||||
memberCard: 'Member Card',
|
||||
taxFee: 'Tax',
|
||||
invoiceDeliveryFee: 'Invoice Delivery',
|
||||
orderAdjust: 'Order Adjustment',
|
||||
promotionDiscount: 'Discount',
|
||||
coupon: 'Coupon',
|
||||
balanceUsed: 'Balance Used',
|
||||
pointDeduction: 'Points Deduction',
|
||||
totalPayable: 'Total Payable:'
|
||||
},
|
||||
|
||||
// ====== Buttons ======
|
||||
button: {
|
||||
evaluate: 'Review',
|
||||
additionalEvaluate: 'Add Review'
|
||||
},
|
||||
|
||||
// ====== Toast Messages ======
|
||||
toast: {
|
||||
orderInfoNotFound: 'Order information not found!'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,151 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Pending Payment Order'
|
||||
}
|
||||
//title for each page
|
||||
title: 'Confirm Order',
|
||||
|
||||
// ====== Virtual Goods ======
|
||||
virtual: {
|
||||
tips: 'Please provide your mobile number for virtual goods so the merchant can contact you',
|
||||
mobile: 'Mobile Number',
|
||||
mobilePlaceholder: 'Please enter your mobile number'
|
||||
},
|
||||
|
||||
// ====== Address ======
|
||||
address: {
|
||||
setAddress: 'Please set your delivery address',
|
||||
deliveryTime: 'Delivery Time',
|
||||
selectDeliveryTime: 'Please select delivery time'
|
||||
},
|
||||
|
||||
// ====== Local Delivery ======
|
||||
localDelivery: {
|
||||
providedBy: 'Delivered by ',
|
||||
deliveredBy: '',
|
||||
switchStore: 'Switch',
|
||||
noStoreNearby: 'No stores available for delivery nearby, please choose another delivery method'
|
||||
},
|
||||
|
||||
// ====== Store Pickup ======
|
||||
store: {
|
||||
businessHours: 'Business Hours:',
|
||||
name: 'Name',
|
||||
reservedMobile: 'Reserved Phone',
|
||||
pickupTime: 'Pickup Time',
|
||||
noPickupStore: 'No pickup store available, please choose another delivery method',
|
||||
address: 'Address:'
|
||||
},
|
||||
|
||||
// ====== Store List Popup ======
|
||||
storePopup: {
|
||||
title: 'All relevant stores nearby have been selected for you',
|
||||
businessHours: 'Business Hours:',
|
||||
address: 'Address:',
|
||||
noStoreNearby: 'No pickup stores available near the selected address'
|
||||
},
|
||||
|
||||
// ====== Goods ======
|
||||
goods: {
|
||||
notSupportDeliveryType: 'This product does not support {deliveryType}'
|
||||
},
|
||||
|
||||
// ====== Order Money ======
|
||||
orderMoney: {
|
||||
buyerMessage: 'Buyer Message',
|
||||
noMessage: 'No message',
|
||||
coupon: 'Coupon',
|
||||
couponSelected: '{count} coupon selected',
|
||||
noCoupon: 'No coupon',
|
||||
totalItems: '{count} items',
|
||||
subtotal: 'Subtotal:',
|
||||
goodsAmount: 'Goods Amount',
|
||||
shippingFee: 'Shipping',
|
||||
discount: 'Discount',
|
||||
pointsDeduction: 'Points Deduction'
|
||||
},
|
||||
|
||||
// ====== Member Card ======
|
||||
memberCard: {
|
||||
activate: 'Activate ',
|
||||
expectedSave: 'Estimated savings for this order',
|
||||
yuan: '',
|
||||
weekCard: 'Weekly Card',
|
||||
week: 'week',
|
||||
monthCard: 'Monthly Card',
|
||||
month: 'month',
|
||||
quarterCard: 'Quarterly Card',
|
||||
quarter: 'quarter',
|
||||
yearCard: 'Yearly Card',
|
||||
year: 'year'
|
||||
},
|
||||
|
||||
// ====== Agreement ======
|
||||
agreement: {
|
||||
tipPrefix: 'Please read the ',
|
||||
tipSuffix: ' before purchase. Placing an order means you agree to this agreement'
|
||||
},
|
||||
|
||||
// ====== Settlement Bar ======
|
||||
settlement: {
|
||||
totalItems: '{count} items',
|
||||
total: 'Total:',
|
||||
submitOrder: 'Submit Order'
|
||||
},
|
||||
|
||||
// ====== Promotion Popup ======
|
||||
promotionPopup: {
|
||||
title: 'Promotion Discount',
|
||||
confirm: 'OK'
|
||||
},
|
||||
|
||||
// ====== Buyer Message Popup ======
|
||||
buyerMessagePopup: {
|
||||
title: 'Buyer Message',
|
||||
placeholder: 'Please coordinate with the merchant before leaving a message',
|
||||
confirm: 'OK'
|
||||
},
|
||||
|
||||
// ====== Coupon Popup ======
|
||||
couponPopup: {
|
||||
title: 'Coupons',
|
||||
discount: '% off',
|
||||
minSpend: 'Min. spend {amount}',
|
||||
noThreshold: 'No threshold',
|
||||
maxDiscount: 'Max discount ¥{amount}',
|
||||
validPeriod: 'Valid Period:',
|
||||
permanentValid: 'Permanent',
|
||||
noAvailableCoupon: 'No available coupons',
|
||||
confirm: 'OK'
|
||||
},
|
||||
|
||||
// ====== Form Popup ======
|
||||
formPopup: {
|
||||
title: 'Buyer Info',
|
||||
confirm: 'OK'
|
||||
},
|
||||
|
||||
// ====== Member Card Popup ======
|
||||
memberCardPopup: {
|
||||
title: 'Select Card',
|
||||
unlimited: 'Unlimited',
|
||||
remaining: '{count} remaining',
|
||||
permanentValid: 'Permanent',
|
||||
confirm: 'OK'
|
||||
},
|
||||
|
||||
// ====== Toast Messages ======
|
||||
toast: {
|
||||
enterReservedMobile: 'Please enter reserved mobile number',
|
||||
enterValidMobile: 'Please enter a valid mobile number',
|
||||
noDeliveryMethod: 'Merchant has not set delivery method',
|
||||
selectAddressFirst: 'Please select your delivery address first',
|
||||
noPickupStore: 'No pickup store available, please choose another delivery method',
|
||||
selectPickupTime: 'Please select pickup time',
|
||||
noDeliveryStore: 'No stores available for delivery, please choose another delivery method',
|
||||
selectDeliveryTime: 'Please select delivery time',
|
||||
enterInvoiceTitle: 'Please enter invoice title',
|
||||
enterTaxpayerNumber: 'Please enter taxpayer identification number',
|
||||
enterInvoiceAddress: 'Please enter invoice mailing address',
|
||||
enterEmail: 'Please enter email',
|
||||
enterValidEmail: 'Please enter a valid email',
|
||||
selectInvoiceContent: 'Please select invoice content'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,72 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
//title is the page title
|
||||
title: 'Refund Details',
|
||||
}
|
||||
|
||||
// ====== Status Tips ======
|
||||
statusTip: {
|
||||
merchantReject: 'If the merchant rejects, you can reapply',
|
||||
merchantAgree: 'If the merchant agrees, the application will be approved and refunded to you',
|
||||
merchantConfirmReceive: 'Refund will be issued once the merchant confirms receipt',
|
||||
merchantRejectReceive: 'If the merchant refuses to receive the goods, the refund will be closed and you can reapply'
|
||||
},
|
||||
|
||||
// ====== Consult Record Entry ======
|
||||
consultRecord: 'Negotiation Records',
|
||||
|
||||
// ====== Return Address ======
|
||||
returnAddress: {
|
||||
title: 'Return Address',
|
||||
receiver: 'Receiver: ',
|
||||
contact: 'Contact: ',
|
||||
address: 'Return Address: ',
|
||||
copy: 'Copy'
|
||||
},
|
||||
|
||||
// ====== Refund Information ======
|
||||
refundInfo: {
|
||||
title: 'Refund Information',
|
||||
refundMethod: 'Refund Method: ',
|
||||
refundOnly: 'Refund Only',
|
||||
refundReturn: 'Refund & Return',
|
||||
refundChannel: 'Refund Channel: ',
|
||||
originalRefund: 'Original Payment Refund',
|
||||
offlineRefund: 'Offline Refund',
|
||||
balanceRefund: 'Refund to Balance',
|
||||
refundReason: 'Refund Reason: ',
|
||||
refundAmount: 'Refund Amount: ',
|
||||
refundNo: 'Refund No.: ',
|
||||
applyTime: 'Apply Time: ',
|
||||
refundTime: 'Refund Time: ',
|
||||
refundRemark: 'Refund Remark: ',
|
||||
refundPoint: 'Refund Points: '
|
||||
},
|
||||
|
||||
// ====== Return Goods Form ======
|
||||
returnGoods: {
|
||||
expressCompany: 'Logistics Company',
|
||||
expressCompanyPlaceholder: 'Please enter logistics company',
|
||||
expressNo: 'Tracking Number',
|
||||
expressNoPlaceholder: 'Please enter tracking number',
|
||||
expressRemark: 'Logistics Remark',
|
||||
expressRemarkPlaceholder: 'Optional'
|
||||
},
|
||||
|
||||
// ====== Consult Record Page ======
|
||||
record: {
|
||||
buyer: 'Buyer',
|
||||
seller: 'Seller',
|
||||
backToDetail: 'Back to Details'
|
||||
},
|
||||
|
||||
// ====== Toast Messages ======
|
||||
toast: {
|
||||
noRefundInfo: 'Refund information for this order item not found',
|
||||
cancelSuccess: 'Cancelled successfully'
|
||||
},
|
||||
|
||||
// ====== Form Validation ======
|
||||
validate: {
|
||||
pleaseInputExpressCompany: 'Please enter logistics company',
|
||||
pleaseInputExpressNo: 'Please enter tracking number'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,45 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Exchange'
|
||||
}
|
||||
title: 'Exchange',
|
||||
|
||||
// 积分与价格
|
||||
pointsSuffix: ' points',
|
||||
stockLabel: 'Stock:',
|
||||
unlimitedStock: 'Unlimited',
|
||||
unitPiece: 'pc(s)',
|
||||
|
||||
// 优惠券描述
|
||||
containsBalance: 'Contains {balance}',
|
||||
noThresholdCoupon: 'No threshold coupon',
|
||||
fullReduction: 'Spend {atLeast} save {money}',
|
||||
fullAmount: 'Spend {atLeast}',
|
||||
discountSuffix: '% off',
|
||||
maxDiscount: 'Max discount {limit}',
|
||||
validFromReceive: 'Valid for {days} days from receipt',
|
||||
validUntil: 'Expires {time}',
|
||||
|
||||
// 社群
|
||||
addCommunity: 'Add',
|
||||
addCommunityTitle: 'Add Community',
|
||||
addCommunityTip: 'Long press to scan QR code and join the community',
|
||||
|
||||
// 商品规格与属性
|
||||
selectSpec: 'Select',
|
||||
attribute: 'Attributes',
|
||||
goodsAttribute: 'Product Attributes',
|
||||
goodsService: 'Product Services',
|
||||
confirm: 'Confirm',
|
||||
|
||||
// 详情
|
||||
exchangeDetail: 'Exchange Details',
|
||||
noExchangeDetail: 'No exchange details available!',
|
||||
|
||||
// 底部按钮
|
||||
loginToExchange: 'Login to redeem',
|
||||
insufficientStock: 'Out of stock',
|
||||
insufficientPoints: 'Insufficient points',
|
||||
exchange: 'Redeem',
|
||||
|
||||
// 分享
|
||||
shareTitle: 'Redeem {title} with only {point} points'
|
||||
}
|
||||
|
||||
@@ -1,4 +1,57 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Point Mall'
|
||||
}
|
||||
title: 'Point Mall',
|
||||
|
||||
// 搜索
|
||||
searchPlaceholder: 'Search products',
|
||||
|
||||
// 头部
|
||||
myPoints: 'My Points',
|
||||
points: 'points',
|
||||
reminder: 'Reminder',
|
||||
remarkText: 'Redeem great gifts with points, new items daily!',
|
||||
|
||||
// 储值套餐
|
||||
rechargeAmount: 'Recharge {price}',
|
||||
earnPoints: 'Earn {point} points',
|
||||
goRecharge: 'Recharge',
|
||||
|
||||
// 分类标题
|
||||
exchangeCoupon: 'Points for Coupons',
|
||||
exchangeHongbao: 'Points for Red Packets',
|
||||
exchangeGift: 'Points for Gifts',
|
||||
|
||||
// 优惠券
|
||||
discountSuffix: '% off',
|
||||
noThresholdCoupon: 'No threshold coupon',
|
||||
minSpendAvailable: 'Min. spend {amount}',
|
||||
allStoreCoupon: 'Store-wide',
|
||||
designatedCoupon: 'Designated items',
|
||||
exchange: 'Redeem',
|
||||
|
||||
// 商品
|
||||
yuan: '',
|
||||
stock: 'Stock:',
|
||||
exchanged: 'Redeemed:',
|
||||
|
||||
// 积分说明弹窗
|
||||
pointDescription: 'Point Description',
|
||||
pointAcquisition: 'Earning Points',
|
||||
acquisitionItem1: '1. Points can be earned through registration, check-in, sharing, consumption, and recharge.',
|
||||
acquisitionItem2: '2. Points can be earned when purchasing certain products.',
|
||||
pointUsage: 'Using Points',
|
||||
usageItem1: '1. Points can be used to redeem products in the Points Center.',
|
||||
usageItem2: '2. Points can be used when participating in certain activities.',
|
||||
usageItem3: '3. Points cannot be transferred, sold, and have no expiration date.',
|
||||
pointQuery: 'Checking Points',
|
||||
queryItem1: '1. Points balance and details can be checked in the Member Center.',
|
||||
|
||||
// 分类列表
|
||||
categoryExchangeGoods: 'Points for Goodies',
|
||||
categoryExchangeCoupon: 'Points for Coupons',
|
||||
categoryExchangeHongbao: 'Points for Red Packets',
|
||||
|
||||
// 提示
|
||||
merchantNotEnabled: 'Merchant has not enabled the points mall',
|
||||
noActivity: 'No related activities available'
|
||||
}
|
||||
|
||||
@@ -1,4 +1,63 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Pending Payment Orders'
|
||||
}
|
||||
//title for each page
|
||||
title: 'Confirm Order',
|
||||
|
||||
// ====== Virtual Goods ======
|
||||
virtual: {
|
||||
tips: 'Please provide your mobile number for virtual goods so the merchant can contact you',
|
||||
mobile: 'Mobile Number',
|
||||
mobilePlaceholder: 'Please enter your mobile number'
|
||||
},
|
||||
|
||||
// ====== Address ======
|
||||
address: {
|
||||
setAddress: 'Please set your delivery address',
|
||||
deliveryTime: 'Delivery Time',
|
||||
selectDeliveryTime: 'Please select delivery time'
|
||||
},
|
||||
|
||||
// ====== Local Delivery ======
|
||||
localDelivery: {
|
||||
providedBy: 'Delivered by ',
|
||||
deliveredBy: '',
|
||||
switchStore: 'Switch',
|
||||
noStoreNearby: 'No stores available for delivery nearby, please choose another delivery method'
|
||||
},
|
||||
|
||||
// ====== Store Pickup ======
|
||||
store: {
|
||||
businessHours: 'Business Hours:',
|
||||
name: 'Name',
|
||||
reservedMobile: 'Reserved Phone',
|
||||
mobilePlaceholder: 'Please enter your mobile number',
|
||||
pickupTime: 'Pickup Time',
|
||||
noPickupStore: 'No pickup store available, please choose another delivery method',
|
||||
address: 'Address:'
|
||||
},
|
||||
|
||||
// ====== Store List Popup ======
|
||||
storePopup: {
|
||||
title: 'All relevant stores nearby have been selected for you',
|
||||
businessHours: 'Business Hours:',
|
||||
address: 'Address:',
|
||||
noStoreNearby: 'No pickup stores available near the selected address'
|
||||
},
|
||||
|
||||
// ====== Order Money ======
|
||||
orderMoney: {
|
||||
buyerMessage: 'Buyer Message',
|
||||
buyerMessagePlaceholder: 'Please coordinate with the merchant before leaving a message',
|
||||
pointsRequired: 'Points Required',
|
||||
pointsSuffix: ' pts',
|
||||
shippingFee: 'Shipping'
|
||||
},
|
||||
|
||||
// ====== Settlement Bar ======
|
||||
settlement: {
|
||||
totalItems: '{count} items',
|
||||
total: 'Total:',
|
||||
pointsSuffix: ' pts',
|
||||
submitOrder: 'Submit Order',
|
||||
shortByForMinimum: '{amount} more for minimum order'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,20 @@ export const lang = {
|
||||
prompt: '提示',
|
||||
serviceTypeNotSupported: '当前客服类型不支持此页面',
|
||||
|
||||
// ====== index.vue - 帮助文档 ======
|
||||
helpContent: '# 使用帮助\n\n## 基本功能\n- **发送消息**: 在输入框中输入文字后发送\n- **语音输入**: 点击麦克风图标进行语音输入\n- **附件发送**: 点击+号可以发送图片、文件、位置\n\n## 消息类型\n- **文本消息**: 普通文字对话\n- **Markdown**: 支持格式化的文档内容\n- **文件**: 支持各种文件格式预览\n- **音频**: 支持语音消息播放\n- **视频**: 支持视频播放\n- **链接**: 支持网页链接跳转\n- **商品**: 支持商品卡片展示\n\n## 操作功能\n- **点赞/踩**: 对AI回复进行评价\n- **复制**: 长按消息可复制内容\n- **转发**: 支持消息转发功能',
|
||||
|
||||
// ====== index.vue - AI回复模板 ======
|
||||
aiResponseTemplate1: '我理解您的需求,让我为您详细解答。',
|
||||
aiResponseTemplate2: '感谢您的提问,这是一个很好的问题。',
|
||||
aiResponseTemplate3: '根据您的问题,我建议您可以考虑以下几个方面:',
|
||||
aiResponseTemplate4: '这个问题很常见,让我为您提供一些解决方案。',
|
||||
aiResponseTemplate5: '我明白您的困惑,让我帮您分析一下。',
|
||||
aiProcessingMessage: '您的问题"{question}"我已经收到,正在为您处理中...',
|
||||
|
||||
// ====== index.vue - 商品咨询 ======
|
||||
productInquiryTemplate: '我想了解以下商品的详细信息:\n商品名称:{name}\n价格:¥{price}\n商品ID:{id}',
|
||||
|
||||
// ====== ai-chat-avatar-selector ======
|
||||
avatarSelectorTitle: '更换头像',
|
||||
chooseFromAlbum: '从相册选择',
|
||||
|
||||
@@ -28,6 +28,31 @@ export const lang = {
|
||||
weChatWorkKefu: '企业微信客服',
|
||||
},
|
||||
|
||||
// 客服服务
|
||||
customerService: {
|
||||
openFailed: '打开客服失败',
|
||||
wxworkConfigIncomplete: '企业微信配置不完整',
|
||||
jumpFailed: '跳转失败,请稍后重试',
|
||||
miniProgramOnly: '第三方小程序客服仅在微信小程序中可用',
|
||||
linkCopied: '链接已复制,请在浏览器打开',
|
||||
customerLinkCopied: '客服链接已复制',
|
||||
noServicePhone: '暂无客服电话',
|
||||
getPhoneFailed: '获取客服电话失败',
|
||||
contactCustomerService: '联系客服',
|
||||
callServiceTip: '请联系客服,客服电话是 {phone}',
|
||||
noServiceOffline: '抱歉,商家暂无客服,请线下联系',
|
||||
configError: '客服配置错误',
|
||||
configErrorDetail: '配置有误:\n{errors}',
|
||||
tip: '提示',
|
||||
cannotAddWxwork: '无法直接添加企业微信,是否使用其他方式联系客服?',
|
||||
onlineUnavailable: '在线客服不可用,是否拨打电话联系客服?',
|
||||
developing: '客服选择功能开发中',
|
||||
wxworkNotConfigured: '企业微信客服未配置',
|
||||
serviceUnavailable: '客服暂不可用',
|
||||
wxworkLinkNotConfigured: '企业微信链接未配置',
|
||||
fromFloatButton: '来自悬浮按钮的咨询',
|
||||
},
|
||||
|
||||
login: '登录/注册',
|
||||
loginTips: '点击登录 享受更多精彩信息',
|
||||
toLogin: '去登录',
|
||||
|
||||
4
lang/zh-cn/components-diy/diy-article.js
Normal file
4
lang/zh-cn/components-diy/diy-article.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export const lang = {
|
||||
viewMore: '查看更多',
|
||||
noArticles: '暂无相关文章',
|
||||
}
|
||||
30
lang/zh-cn/components-diy/diy-coupon.js
Normal file
30
lang/zh-cn/components-diy/diy-coupon.js
Normal file
@@ -0,0 +1,30 @@
|
||||
export const lang = {
|
||||
// 按钮文本
|
||||
claim: '领取',
|
||||
claimNow: '立即领取',
|
||||
goUse: '去使用',
|
||||
useNow: '立即使用',
|
||||
goBrowse: '去逛逛',
|
||||
|
||||
// 金额单位
|
||||
yuan: '元',
|
||||
discount: '折',
|
||||
|
||||
// 优惠券使用条件
|
||||
minSpendAvailable: '满{amount}元可用',
|
||||
noThresholdCoupon: '无门槛优惠券',
|
||||
minSpendUse: '满{amount}元使用',
|
||||
noThresholdUse: '无门槛使用',
|
||||
allProductsAvailable: '所有商品可用',
|
||||
specifiedProductsAvailable: '指定商品可用',
|
||||
specifiedProductsUnavailable: '指定商品不可用',
|
||||
|
||||
// 其他文本
|
||||
coupon: '优惠券',
|
||||
noCoupons: '暂无优惠券',
|
||||
validUntil: '有效期至{date}',
|
||||
|
||||
// 提示消息
|
||||
couponSoldOut: '该优惠券已抢光',
|
||||
claimSuccess: '领取成功',
|
||||
}
|
||||
22
lang/zh-cn/components-diy/diy-member-info.js
Normal file
22
lang/zh-cn/components-diy/diy-member-info.js
Normal file
@@ -0,0 +1,22 @@
|
||||
export const lang = {
|
||||
// 授权提示文本
|
||||
clickToAuthorizeAvatarNickname: '点击授权头像昵称',
|
||||
clickToGetWechatAvatar: '点击获取微信头像',
|
||||
|
||||
// 完善资料弹窗
|
||||
completeInfoTitle: '获取您的昵称、头像',
|
||||
completeInfoTip: '获取用户头像、昵称完善个人资料,主要用于向用户提供具有辨识度的用户中心界面',
|
||||
avatarLabel: '头像',
|
||||
nicknameLabel: '昵称',
|
||||
nicknamePlaceholder: '请输入昵称',
|
||||
save: '保存',
|
||||
|
||||
// 弹窗提示
|
||||
tip: '提示',
|
||||
bindMobileTip: '使用会员码需先绑定手机号,是否绑定手机号?',
|
||||
|
||||
// Toast 提示
|
||||
pleaseEnterNickname: '请输入昵称',
|
||||
uploadFailed: '上传失败',
|
||||
avatarPullFailed: '头像拉取失败',
|
||||
}
|
||||
51
lang/zh-cn/components/ns-login.js
Normal file
51
lang/zh-cn/components/ns-login.js
Normal file
@@ -0,0 +1,51 @@
|
||||
export const lang = {
|
||||
// ===== ns-login 组件 =====
|
||||
'ns-login': {
|
||||
// H5 绑定手机号弹窗
|
||||
bindMobileTitle: '检测到您还未绑定手机号',
|
||||
bindMobileTip: '为了方便您接收订单等信息,需要绑定手机号',
|
||||
mobileLabel: '手机号',
|
||||
mobilePlaceholder: '请输入手机号',
|
||||
captchaLabel: '验证码',
|
||||
captchaPlaceholder: '请输入验证码',
|
||||
dynacodeLabel: '动态码',
|
||||
dynacodePlaceholder: '请输入动态码',
|
||||
save: '保存',
|
||||
|
||||
// 小程序登录弹窗
|
||||
welcomeTitle: '欢迎来到 {siteName}',
|
||||
loginWithMobile: '使用手机号登录,',
|
||||
registerLogin: '注册登录,',
|
||||
getServicesTip: '获得订单、售后等服务。',
|
||||
agree: '我同意',
|
||||
privacyPolicy: '《隐私条款》',
|
||||
userServiceAgreement: '《用户服务协议》',
|
||||
agreeAndAuthorizeMobile: '同意隐私协议并授权手机号',
|
||||
authorizeMobile: '授权手机号码',
|
||||
notNow: '暂不登录',
|
||||
|
||||
// 昵称头像
|
||||
avatarLabel: '头像',
|
||||
nicknameLabel: '昵称',
|
||||
nicknamePlaceholder: '请输入昵称',
|
||||
getMobile: '获取手机号',
|
||||
|
||||
// 动态码
|
||||
getDynacode: '获取动态码',
|
||||
resendAfter: '{seconds}s后可重新获取',
|
||||
|
||||
// 提示文案
|
||||
pleaseConfirmAgreement: '请确认相关协议',
|
||||
uploadFailed: '上传失败',
|
||||
pleaseEnterMobile: '请输入手机号',
|
||||
pleaseEnterCorrectMobile: '请输入正确的手机号',
|
||||
pleaseEnterCaptcha: '请输入验证码',
|
||||
pleaseEnterDynacode: '请输入动态码',
|
||||
requestFail: 'request:fail',
|
||||
loggingIn: '登录中',
|
||||
loginFailed: '登录失败',
|
||||
pleaseAuthorizeMobile: '请授权您的手机号码',
|
||||
pleaseEnterNickname: '请输入昵称',
|
||||
avatarPullFailed: '头像拉取失败',
|
||||
}
|
||||
}
|
||||
33
lang/zh-cn/components/ns-newform.js
Normal file
33
lang/zh-cn/components/ns-newform.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export const lang = {
|
||||
// ===== ns-newform 组件 =====
|
||||
'ns-newform': {
|
||||
// 输入框 placeholder 默认值
|
||||
inputPlaceholder: '请输入提示语',
|
||||
selectPlaceholder: '请选择',
|
||||
datePlaceholder: '请选择日期',
|
||||
timePlaceholder: '请选择时间',
|
||||
startDate: '开始日期',
|
||||
endDate: '结束日期',
|
||||
startTime: '开始时间',
|
||||
endTime: '结束时间',
|
||||
selectProvinceCity: '请选择省市',
|
||||
selectProvinceCityDistrict: '请选择省市区',
|
||||
|
||||
// 验证提示 - 必填
|
||||
pleaseInput: '请输入{title}',
|
||||
pleaseSelect: '请选择{title}',
|
||||
pleaseSelectAtLeastOne: '请至少选择一个{title}',
|
||||
pleaseUploadAtLeastOne: '请至少上传一张{title}',
|
||||
|
||||
// 验证提示 - 格式校验
|
||||
idCardInvalid: '身份证输入不合法',
|
||||
mobileInvalid: '手机号输入不合法',
|
||||
|
||||
// 验证提示 - 范围校验
|
||||
endDateBeforeStartDate: '结束日期不能小于开始日期',
|
||||
endTimeBeforeStartTime: '结束时间必须大于开始时间',
|
||||
|
||||
// 图片上传
|
||||
maxUploadImages: '最多上传{max}张图片',
|
||||
}
|
||||
}
|
||||
17
lang/zh-cn/components/yuyue-date.js
Normal file
17
lang/zh-cn/components/yuyue-date.js
Normal file
@@ -0,0 +1,17 @@
|
||||
export const lang = {
|
||||
// ===== yuyue-date 组件 =====
|
||||
'yuyueDate': {
|
||||
// 指定日期按钮
|
||||
appointedDate: '指定日期',
|
||||
|
||||
// 时间状态文本
|
||||
fullyBooked: '已约满',
|
||||
available: '可预约',
|
||||
|
||||
// 选中状态
|
||||
noSelection: '暂无选择',
|
||||
|
||||
// Toast 提示
|
||||
weekdayCannotBook: '{weekday}不可以预约',
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,55 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: '分销商申请'
|
||||
title: ''
|
||||
title: '',
|
||||
|
||||
// 页面头部
|
||||
pleaseFillApplyInfo: '请填写申请信息',
|
||||
|
||||
// 表单字段
|
||||
inviter: '邀请人',
|
||||
nameLabel: '名称',
|
||||
namePlaceholder: '请输入{name}名称',
|
||||
mobile: '手机号',
|
||||
mobilePlaceholder: '请输入手机号',
|
||||
|
||||
// 协议
|
||||
haveReadAndUnderstand: '我已阅读并了解',
|
||||
applyAgreement: '【{name}申请协议】',
|
||||
|
||||
// 按钮
|
||||
applyBecome: '申请成为{name}',
|
||||
reapply: '重新申请',
|
||||
|
||||
// 申请条件
|
||||
applyConditionTitle: '分销商申请条件',
|
||||
becomeConditionTitle: '成为分销商的条件',
|
||||
conditionConsumeCount: '申请成为{name},需要您的消费次数达到{count}次',
|
||||
conditionConsumeMoney: '申请成为{name},需要您的消费金额达到{money}元',
|
||||
conditionBuyGoods: '申请成为{name},需要购买以下指定商品(任选其一)',
|
||||
becomeConditionBuyGoods: '成为{name},需要购买以下指定商品(任选其一)',
|
||||
|
||||
// 展开收起
|
||||
expandMore: '展开更多',
|
||||
collapse: '收起',
|
||||
|
||||
// 状态提示
|
||||
notFenxiao: '您还不是分销商',
|
||||
applyPending: '您已提交{name}申请,等待平台审核',
|
||||
applyRejected: '您提交的{name}申请,已被拒绝,请再接再厉',
|
||||
|
||||
// 默认值
|
||||
none: '无',
|
||||
|
||||
// Toast 提示
|
||||
merchantNotOpenFenxiao: '商家未开启分销',
|
||||
pleaseReadAndCheckAgreement: '请仔细阅读协议,并勾选',
|
||||
|
||||
// 页面标题后缀
|
||||
applySuffix: '申请',
|
||||
|
||||
// 表单校验
|
||||
pleaseEnterName: '请输入{name}名称',
|
||||
pleaseEnterMobile: '请输入手机号',
|
||||
pleaseEnterValidMobile: '请输入正确的手机号',
|
||||
}
|
||||
|
||||
@@ -1,5 +1,70 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: '分销中心',
|
||||
title: ''
|
||||
title: '',
|
||||
|
||||
// 头部会员信息
|
||||
superiorAgent: '上级代理商',
|
||||
headquarters: '总店',
|
||||
invitedSuccess: '已邀请成功:{count}人',
|
||||
|
||||
// 佣金/余额
|
||||
withdrawable: '可{withdraw}(元)',
|
||||
withdrawDetail: '提现明细',
|
||||
withdrawing: '提现中(元)',
|
||||
pendingDeposit: '待入账(元)',
|
||||
withdraw: '提现',
|
||||
|
||||
// 功能菜单
|
||||
myFans: '我的粉丝',
|
||||
invitedUsers: '邀请的用户',
|
||||
detail: '明细',
|
||||
totalAccumulated: '累计{account}{symbol}{amount}',
|
||||
order: '订单',
|
||||
orderDetail: '订单明细',
|
||||
myInviteCode: '我的邀请码',
|
||||
inviteFriendsEarnRewards: '邀好友赚好礼',
|
||||
|
||||
// 未申请/空状态
|
||||
notFenxiaoYet: '您还不是{name},请先提交申请',
|
||||
joinNow: '立即加入',
|
||||
|
||||
// 任务弹窗
|
||||
quickUpgradeTips: '快速升级技巧',
|
||||
completed: '已完成',
|
||||
incomplete: '未完成',
|
||||
goComplete: '去完成',
|
||||
tip: '提示',
|
||||
anyConditionUpgrade: '满足任意一条件即可升级',
|
||||
allConditionsUpgrade: '满足全部条件才能进行升级',
|
||||
|
||||
// 页面标题后缀
|
||||
center: '中心',
|
||||
|
||||
// Toast 提示
|
||||
merchantNotOpenFenxiao: '商家未开启分销',
|
||||
fenxiaoFrozen: '当前分销商已冻结',
|
||||
|
||||
// 升级任务 - 下级消费
|
||||
subordinateConsumption: '下级消费',
|
||||
subordinateOrderCount: '下级消费单数满{count}单',
|
||||
subordinateOrderCountTip: '分销商自己购买和自己推荐的直属会员购买的订单次数',
|
||||
subordinateOrderAmount: '下级消费金额满{amount}元',
|
||||
subordinateOrderAmountTip: '分销商自己购买和推荐的直属会员购买的订单的总额',
|
||||
subordinateCommissionAmount: '下级消费产生{account}总额满{amount}元',
|
||||
subordinateCommissionAmountTip: '分销商自己购买和自己推荐的直属会员购买的订单{account}总额',
|
||||
|
||||
// 升级任务 - 自身消费
|
||||
selfConsumption: '自身消费',
|
||||
selfOrderCount: '自身消费单数满{count}单',
|
||||
selfOrderCountTip: '分销商自己购买的订单次数',
|
||||
selfOrderAmount: '自身消费金额满{amount}元',
|
||||
selfOrderAmountTip: '分销商自己购买的订单总额',
|
||||
|
||||
// 升级任务 - 邀请好友
|
||||
inviteFriends: '邀请好友',
|
||||
inviteFriendCount: '邀请好友人数达到{count}人',
|
||||
inviteFriendCountTip: '分销商的直属下级会员人数(包含已经申请成为分销商的)',
|
||||
inviteFenxiaoCount: '邀请好友成为分销商人数达到{count}人',
|
||||
inviteFenxiaoCountTip: '分销商的直属下级分销商人数',
|
||||
}
|
||||
|
||||
@@ -1,5 +1,49 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
// title: '分销商等级',
|
||||
title: ''
|
||||
title: '',
|
||||
|
||||
// 页面标题后缀
|
||||
levelSuffix: '等级',
|
||||
|
||||
// 分佣比率
|
||||
firstLevelCommissionRate: '一级分佣比率',
|
||||
secondLevelCommissionRate: '二级分佣比率',
|
||||
thirdLevelCommissionRate: '三级分佣比率',
|
||||
|
||||
// 升级任务
|
||||
quickUpgradeTips: '快速升级技巧',
|
||||
completed: '已完成',
|
||||
incomplete: '未完成',
|
||||
|
||||
// 提示弹窗
|
||||
tip: '提示',
|
||||
anyConditionUpgrade: '满足任意一条件即可升级',
|
||||
allConditionsUpgrade: '满足全部条件才能进行升级',
|
||||
|
||||
// Toast 提示
|
||||
merchantNotOpenFenxiao: '商家未开启分销',
|
||||
|
||||
// 升级任务 - 下级消费
|
||||
subordinateConsumption: '下级消费',
|
||||
subordinateOrderCount: '下级消费单数满{count}单',
|
||||
subordinateOrderCountTip: '分销商自己购买和自己推荐的直属会员购买的订单次数达到{count}单',
|
||||
subordinateOrderAmount: '下级消费金额满{amount}元',
|
||||
subordinateOrderAmountTip: '分销商自己购买和推荐的直属会员购买的订单的总额达到{amount}元',
|
||||
subordinateCommissionAmount: '下级消费产生佣金总额满{amount}元',
|
||||
subordinateCommissionAmountTip: '分销商自己购买和自己推荐的直属会员购买的订单佣金总额达到{amount}元',
|
||||
|
||||
// 升级任务 - 自身消费
|
||||
selfConsumption: '自身消费',
|
||||
selfOrderCount: '自身消费单数满{count}单',
|
||||
selfOrderCountTip: '分销商自己购买的订单次数达到{count}单',
|
||||
selfOrderAmount: '自身消费金额满{amount}元',
|
||||
selfOrderAmountTip: '分销商自己购买的订单总额满足{amount}元',
|
||||
|
||||
// 升级任务 - 邀请好友
|
||||
inviteFriends: '邀请好友',
|
||||
inviteFriendCount: '邀请好友人数达到{count}人',
|
||||
inviteFriendCountTip: '分销商的直属下级会员人数达到{count}人(包含已经申请成为分销商的)',
|
||||
inviteFenxiaoCount: '邀请好友成为分销商人数达到{count}人',
|
||||
inviteFenxiaoCountTip: '分销商的直属下级分销商人数达到{count}人',
|
||||
}
|
||||
|
||||
@@ -9,5 +9,39 @@ export const lang = {
|
||||
emptyTips: '暂无商品',
|
||||
goForStroll: '去逛逛',
|
||||
del: '删除',
|
||||
login: '去登录'
|
||||
login: '去登录',
|
||||
// 购物车头部
|
||||
totalKinds: '共{count}种商品',
|
||||
// 优惠券提示
|
||||
coupon: '优惠券',
|
||||
couponMaxDiscount: '领券结算最高可减{money}元',
|
||||
receive: '领取',
|
||||
view: '查看',
|
||||
clickToReceive: '点击领取',
|
||||
clickToView: '点击查看',
|
||||
// 满减
|
||||
fullReduction: '满减',
|
||||
fullReductionItem: '{limit}减{discount}',
|
||||
// 失效商品
|
||||
invalidGoods: '失效商品{count}件',
|
||||
clear: '清空',
|
||||
invalid: '已失效',
|
||||
// 空购物车
|
||||
cartEmpty: '购物车为空',
|
||||
cartEmptySubText: '赶紧去逛逛,购买心仪的商品吧',
|
||||
// 优惠明细弹窗
|
||||
discountDetail: '优惠明细',
|
||||
goodsTotal: '商品总额',
|
||||
// 优惠券弹窗
|
||||
discountLabel: '折',
|
||||
minSpend: '满{amount}可用',
|
||||
noThreshold: '无门槛',
|
||||
maxDiscount: '最多可抵{symbol}{limit}',
|
||||
validityPeriod: '有效期:',
|
||||
validFromReceive: '领取之日起{days}天内有效',
|
||||
longTermValid: '长期有效',
|
||||
received: '已领取',
|
||||
// 结算按钮
|
||||
receiveCouponSettle: '领券结算({count})',
|
||||
settleImmediately: '立即结算({count})'
|
||||
}
|
||||
|
||||
@@ -29,4 +29,81 @@ export const lang = {
|
||||
kefu:'客服',
|
||||
follow:'收藏',
|
||||
spec:'规格',
|
||||
|
||||
// SKU相关
|
||||
stockInsufficient: '库存不足',
|
||||
offShelves: '该商品已下架',
|
||||
soldOut: '商品已售罄',
|
||||
buyCountNotZero: '购买数量不能小于等于0',
|
||||
stockLessThanMinBuy: '库存小于最低购买数量',
|
||||
purchaseLimit: '该商品每人限购{count}{unit}',
|
||||
purchaseLimitWithPurchased: '该商品每人限购{count}{unit},您已购买了{purchased}{unit}',
|
||||
maxPurchasePerTime: '该商品每次最多购买{count}{unit}',
|
||||
selectedSpec: '已选规格:',
|
||||
buyCount: '购买数量',
|
||||
exchangeCount: '兑换数量',
|
||||
joinCart: '加入购物车',
|
||||
confirmBtn: '确认',
|
||||
rushBuy: '立即抢购',
|
||||
exchangeBtn: '兑换',
|
||||
addToCartSuccess: '加入购物车成功',
|
||||
minBuyStart: '{minBuy}{unit}起售',
|
||||
balanceLabel: '尾款',
|
||||
pointLabel: '积分:',
|
||||
stockLabel: '库存:',
|
||||
groupOfNum: '{num}人团',
|
||||
limitPerPerson: '每人限购{count}{unit}',
|
||||
limitBuyRange: '{minBuy}{unit}起售,限购{maxBuy}{unit}',
|
||||
limitBuyMax: '限购{maxBuy}{unit}',
|
||||
previewCannotBuy: '预览商品无法购买',
|
||||
specNotInBale: '该规格未参与打包一口价活动',
|
||||
goodsStockInsufficient: '商品库存不足',
|
||||
goodsAddCartSuccess: '商品添加购物车成功',
|
||||
selected: '已选择:',
|
||||
startingNum: '起售{num}件',
|
||||
goodsOffShelves: '商品已下架',
|
||||
|
||||
// 价格与促销
|
||||
limitedTimeDiscount: '限时折扣',
|
||||
sold: '已售',
|
||||
countdownEndsIn: '距结束仅剩',
|
||||
originalPrice: '原价',
|
||||
|
||||
// 组合套餐
|
||||
comboPackage: '组合套餐',
|
||||
comboPrice: '套餐价',
|
||||
|
||||
// 优惠券
|
||||
coupons: '优惠券',
|
||||
discountOff: '折',
|
||||
minSpendAvailable: '满{amount}可用',
|
||||
noThreshold: '无门槛',
|
||||
maxDiscount: '最多可抵{symbol}{amount}',
|
||||
validUntilDate: '有效期:{date}',
|
||||
validForDays: '有效期:领取之日起{days}天内有效',
|
||||
validPermanent: '有效期:长期有效',
|
||||
couponSoldOut: '已抢光',
|
||||
couponClaimed: '已领取',
|
||||
couponReceive: '领取',
|
||||
|
||||
// 促销活动
|
||||
promotion: '促销',
|
||||
fullReduction: '满减',
|
||||
fullGift: '满送',
|
||||
freeShipping: '包邮',
|
||||
|
||||
// 商品留言
|
||||
productMessage: '商品留言',
|
||||
|
||||
// 智能客服
|
||||
aiCustomerService: '智能客服',
|
||||
|
||||
// 联系弹窗
|
||||
dialOnMobile: '可在手机端拨打{phone}',
|
||||
cancel: '取消',
|
||||
copyToClipboard: '复制到剪切板',
|
||||
copySuccess: '复制成功',
|
||||
|
||||
// 通用按钮
|
||||
confirm: '确定',
|
||||
}
|
||||
|
||||
@@ -1,4 +1,57 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '会员卡'
|
||||
title: '会员卡',
|
||||
|
||||
// 会员信息
|
||||
validUntil: '有效期至:',
|
||||
|
||||
// 会员卡描述
|
||||
enjoyDiscountAnd: '可享受消费折扣和',
|
||||
memberGiftBenefits: '会员大礼包等权益',
|
||||
|
||||
// 卡种选择
|
||||
cardTypeSelection: '卡种选择',
|
||||
weekCardName: '周卡',
|
||||
weekCardUnit: '周',
|
||||
monthCardName: '月卡',
|
||||
monthCardUnit: '月',
|
||||
quarterCardName: '季卡',
|
||||
quarterCardUnit: '季',
|
||||
yearCardName: '年卡',
|
||||
yearCardUnit: '年',
|
||||
|
||||
// 会员权益
|
||||
memberBenefits: '会员权益',
|
||||
freeShipping: '全场包邮',
|
||||
enjoyFreeShipping: '享受商品包邮服务',
|
||||
consumptionDiscount: '消费折扣',
|
||||
enjoyDiscountOnSomeProducts: '部分商品下单可享{discount}折优惠',
|
||||
pointsReward: '积分回馈',
|
||||
earnPointsMultiplier: '下单享{multiplier}倍积分回馈',
|
||||
|
||||
// 开卡礼包
|
||||
welcomeGift: '开卡礼包',
|
||||
pointsGift: '积分礼包',
|
||||
giftPoints: '赠送{points}积分',
|
||||
redPacketGift: '红包礼包',
|
||||
giftRedPacket: '赠送{amount}元红包',
|
||||
couponGift: '优惠券礼包',
|
||||
giftCoupons: '赠送{count}张优惠券',
|
||||
|
||||
// 操作按钮
|
||||
renewNow: '立即续费',
|
||||
rechargeToActivate: '充值开通',
|
||||
activateNow: '立即开通',
|
||||
|
||||
// 协议
|
||||
purchaseAgreement: '购买既视为同意',
|
||||
|
||||
// 弹窗
|
||||
cardDescription: '会员卡说明',
|
||||
|
||||
// 空数据
|
||||
noCardsAvailable: '暂无可开会员卡',
|
||||
|
||||
// 确认提示
|
||||
cardOverrideConfirm: '您有尚未过期的会员卡,再次购卡会覆盖掉之前的卡,是否继续?',
|
||||
}
|
||||
|
||||
@@ -52,5 +52,28 @@ export const lang = {
|
||||
surePhoneNumber: "请输入正确的手机号",
|
||||
|
||||
alikePhone: "与原手机号一致,无需修改",
|
||||
modify: '修改'
|
||||
modify: '修改',
|
||||
|
||||
sexUnknown: "未知",
|
||||
sexMale: "男",
|
||||
sexFemale: "女",
|
||||
|
||||
pleaseSelectBirthday: "请选择生日",
|
||||
alikeRealName: "与原真实姓名一致,无需修改",
|
||||
noEmptyRealName: "真实姓名不能为空",
|
||||
|
||||
passwordMinLength: "新密码长度不能小于{num}位",
|
||||
passwordComplexityPrefix: "密码需包含",
|
||||
passwordNumber: "数字",
|
||||
passwordLowercase: "小写字母",
|
||||
passwordUppercase: "大写字母",
|
||||
passwordSymbol: "特殊字符",
|
||||
passwordSeparator: "、",
|
||||
|
||||
pleaseInputMobile: "请输入手机号",
|
||||
codeSent: "已发送({seconds}s)",
|
||||
doNotRepeatedlyClick: "请勿重复点击",
|
||||
|
||||
pleaseSelectRegion: "请选择所在地区",
|
||||
pleaseInputDetailAddress: "请输入详细地址"
|
||||
}
|
||||
|
||||
@@ -57,5 +57,39 @@ export const lang = {
|
||||
surePhoneNumber: "请输入正确的手机号",
|
||||
|
||||
alikePhone: "与原手机号一致,无需修改",
|
||||
modify: '修改'
|
||||
modify: '修改',
|
||||
|
||||
pleaseInput: "请输入",
|
||||
usernameModifyTip: "用户名仅可修改一次,请谨慎设置",
|
||||
pleaseSelectBirthday: "请选择生日",
|
||||
bindMobileFirstTip: "请先绑定手机再执行该操作",
|
||||
bindNow: "立即绑定",
|
||||
smsCode: "短信验证码",
|
||||
sendCodeTip: '点击"获取动态码",将会向您已绑定的手机号{mobile}发送验证码',
|
||||
oneClickAuthBind: "一键授权绑定",
|
||||
manualBind: "手动绑定",
|
||||
region: "所在地区",
|
||||
pleaseSelectRegion: "请选择省市区县",
|
||||
detailAddress: "详细地址",
|
||||
|
||||
sexUnknown: "未知",
|
||||
sexMale: "男",
|
||||
sexFemale: "女",
|
||||
|
||||
alikeRealName: "与原真实姓名一致,无需修改",
|
||||
noEmptyRealName: "真实姓名不能为空",
|
||||
|
||||
passwordMinLength: "新密码长度不能小于{num}位",
|
||||
passwordComplexityPrefix: "密码需包含",
|
||||
passwordNumber: "数字",
|
||||
passwordLowercase: "小写字母",
|
||||
passwordUppercase: "大写字母",
|
||||
passwordSymbol: "特殊字符",
|
||||
passwordSeparator: "、",
|
||||
|
||||
pleaseInputMobile: "请输入手机号",
|
||||
codeSent: "已发送({seconds}s)",
|
||||
doNotRepeatedlyClick: "请勿重复点击",
|
||||
|
||||
pleaseInputDetailAddress: "请输入详细地址"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,56 @@
|
||||
export const lang = {
|
||||
// title为每个页面的标题
|
||||
title: '邀请好友',
|
||||
}
|
||||
|
||||
// 活动头部
|
||||
activityDescription: '活动说明',
|
||||
activityTime: '活动时间:{startTime}至{endTime}',
|
||||
inviteNow: '立即邀请',
|
||||
|
||||
// 邀请列表
|
||||
myFriends: '我的好友',
|
||||
cashRedPacketAmount: '{amount}元现金红包',
|
||||
pointsAmount: '{amount}积分',
|
||||
couponsAmount: '{count}张优惠券',
|
||||
viewMore: '查看更多',
|
||||
noMoreData: '没有更多数据了',
|
||||
noInvitedFriendsTip: '您还没有邀请到新朋友哦',
|
||||
inviteTip: '邀请好友,赚取好礼。赶紧去试试吧~',
|
||||
|
||||
// 邀请奖励
|
||||
inviteRewards: '邀请好友奖励',
|
||||
cashRedPacket: '现金红包',
|
||||
points: '积分',
|
||||
couponUnit: '张',
|
||||
coupon: '优惠券',
|
||||
shareDesc: '分享给好友,让好友通过你的分享链接进入并注册登录,可获得以下奖励:',
|
||||
balanceReward: '可得{amount}元红包奖励',
|
||||
pointReward: '可得{amount}积分',
|
||||
couponReward: '可得{count}张优惠券',
|
||||
unlimitedReward: '可得奖励不受限制',
|
||||
rewardLimit: '奖励上限为{max}人',
|
||||
|
||||
// 邀请步骤
|
||||
howToInvite: '如何邀请好友',
|
||||
stepShareLink: '分享链接给好友',
|
||||
stepFriendEnter: '好友进入',
|
||||
stepFriendRegister: '好友注册成功获得奖励',
|
||||
|
||||
// 海报弹窗
|
||||
saveImage: '保存图片',
|
||||
longPressSaveImage: '长按保存图片',
|
||||
|
||||
// 分享弹窗
|
||||
share: '分享',
|
||||
shareToFriends: '分享给好友',
|
||||
generatePoster: '生成分享海报',
|
||||
copyLink: '复制链接',
|
||||
cancelShare: '取消分享',
|
||||
|
||||
// 空数据
|
||||
noData: '暂无相关数据',
|
||||
|
||||
// 操作提示
|
||||
saveSuccess: '保存成功',
|
||||
saveFailed: '保存失败,请稍后重试',
|
||||
}
|
||||
|
||||
@@ -1,4 +1,108 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '订单详情'
|
||||
title: '订单详情',
|
||||
|
||||
// ====== 订单状态区 ======
|
||||
status: {
|
||||
estimatedDelivery: '预计{days}日后发货',
|
||||
orderCloseReason: '订单关闭原因:',
|
||||
remainingTime: '剩余时间:'
|
||||
},
|
||||
|
||||
// ====== 地址区 ======
|
||||
address: {
|
||||
receivingAddress: '收货地址:',
|
||||
deliveryTime: '送达时间:',
|
||||
deliverer: '配送员:',
|
||||
delivererMobile: '外卖电话:'
|
||||
},
|
||||
|
||||
// ====== 门店自提区 ======
|
||||
store: {
|
||||
businessHours: '营业时间:',
|
||||
address: '地址:',
|
||||
noPickupStore: '当前无自提门店',
|
||||
pickupName: '姓名',
|
||||
reservedMobile: '预留手机',
|
||||
pickupTime: '提货时间',
|
||||
pickupCode: '提货码:'
|
||||
},
|
||||
|
||||
// ====== 商品区 ======
|
||||
goods: {
|
||||
cardDeduction: '次卡抵扣',
|
||||
applyAfterSales: '申请售后',
|
||||
applyRefund: '申请退款',
|
||||
viewAfterSales: '查看售后',
|
||||
viewRefund: '查看退款'
|
||||
},
|
||||
|
||||
// ====== 订单概况区 ======
|
||||
orderInfo: {
|
||||
orderType: '订单类型:',
|
||||
orderNo: '订单编号:',
|
||||
outTradeNo: '订单交易号:',
|
||||
createTime: '创建时间:',
|
||||
closeTime: '关闭时间:',
|
||||
payType: '支付方式:',
|
||||
payTime: '支付时间:',
|
||||
deliveryType: '配送方式:',
|
||||
buyerMessage: '买家留言:',
|
||||
promotionDiscount: '活动优惠:',
|
||||
invoiceType: '发票类型:',
|
||||
invoiceTypePaper: '纸质发票',
|
||||
invoiceTypeElectronic: '电子发票',
|
||||
invoiceTitleType: '发票抬头类型:',
|
||||
invoiceTitlePersonal: '个人',
|
||||
invoiceTitleCompany: '企业',
|
||||
invoiceTitle: '发票抬头:',
|
||||
invoiceContent: '发票内容:',
|
||||
invoiceMailAddress: '发票邮寄地址:',
|
||||
invoiceEmail: '发票接收邮件:',
|
||||
myCardPack: '我的卡包:',
|
||||
view: '查看'
|
||||
},
|
||||
|
||||
// ====== 虚拟商品核销区 ======
|
||||
virtualGoods: {
|
||||
showCodeToVerifier: '请将条形码或二维码出示给核销员',
|
||||
verifyInfo: '核销信息',
|
||||
verifyCount: '核销次数',
|
||||
verifyCountText: '剩余{remaining}次/共{total}次',
|
||||
validPeriod: '有效期',
|
||||
permanentValid: '永久有效',
|
||||
verifyRecord: '核销记录',
|
||||
verifier: '核销人',
|
||||
verifyTime: '核销时间',
|
||||
noVerifyRecord: '暂无核销记录',
|
||||
cardInfo: '卡密信息',
|
||||
cardNo: '卡号:',
|
||||
cardPassword: '密码:'
|
||||
},
|
||||
|
||||
// ====== 金额区 ======
|
||||
amount: {
|
||||
goodsMoney: '商品金额',
|
||||
deliveryFee: '运费',
|
||||
memberCard: '会员卡',
|
||||
taxFee: '税费',
|
||||
invoiceDeliveryFee: '发票邮寄费',
|
||||
orderAdjust: '订单调整',
|
||||
promotionDiscount: '优惠',
|
||||
coupon: '优惠券',
|
||||
balanceUsed: '使用余额',
|
||||
pointDeduction: '积分抵扣',
|
||||
totalPayable: '实付金额:'
|
||||
},
|
||||
|
||||
// ====== 按钮区 ======
|
||||
button: {
|
||||
evaluate: '评价',
|
||||
additionalEvaluate: '追评'
|
||||
},
|
||||
|
||||
// ====== 提示消息 ======
|
||||
toast: {
|
||||
orderInfoNotFound: '未获取到订单信息!'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,151 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '待付款订单'
|
||||
title: '确认订单',
|
||||
|
||||
// ====== 虚拟商品区 ======
|
||||
virtual: {
|
||||
tips: '购买虚拟类商品需填写手机号,方便商家与您联系',
|
||||
mobile: '手机号码',
|
||||
mobilePlaceholder: '请输入您的手机号码'
|
||||
},
|
||||
|
||||
// ====== 地址区 ======
|
||||
address: {
|
||||
setAddress: '请设置收货地址',
|
||||
deliveryTime: '送达时间',
|
||||
selectDeliveryTime: '请选择送达时间'
|
||||
},
|
||||
|
||||
// ====== 本地配送区 ======
|
||||
localDelivery: {
|
||||
providedBy: '由',
|
||||
deliveredBy: '提供配送',
|
||||
switchStore: '点击切换',
|
||||
noStoreNearby: '您的附近没有可配送的门店,请选择其他配送方式'
|
||||
},
|
||||
|
||||
// ====== 门店自提区 ======
|
||||
store: {
|
||||
businessHours: '营业时间:',
|
||||
name: '姓名',
|
||||
reservedMobile: '预留手机',
|
||||
pickupTime: '提货时间',
|
||||
noPickupStore: '当前无自提门店,请选择其它配送方式',
|
||||
address: '地址:'
|
||||
},
|
||||
|
||||
// ====== 门店列表弹窗 ======
|
||||
storePopup: {
|
||||
title: '已为您甄选出附近所有相关门店',
|
||||
businessHours: '营业时间:',
|
||||
address: '地址:',
|
||||
noStoreNearby: '所选择收货地址附近没有可以自提的门店'
|
||||
},
|
||||
|
||||
// ====== 商品区 ======
|
||||
goods: {
|
||||
notSupportDeliveryType: '该商品不支持{deliveryType}'
|
||||
},
|
||||
|
||||
// ====== 订单金额区 ======
|
||||
orderMoney: {
|
||||
buyerMessage: '买家留言',
|
||||
noMessage: '无留言',
|
||||
coupon: '优惠券',
|
||||
couponSelected: '已选择{count}张优惠券',
|
||||
noCoupon: '不使用优惠券',
|
||||
totalItems: '共{count}件',
|
||||
subtotal: '小计:',
|
||||
goodsAmount: '商品金额',
|
||||
shippingFee: '运费',
|
||||
discount: '优惠',
|
||||
pointsDeduction: '积分抵扣'
|
||||
},
|
||||
|
||||
// ====== 会员卡区 ======
|
||||
memberCard: {
|
||||
activate: '开通',
|
||||
expectedSave: '本单预计可省',
|
||||
yuan: '元',
|
||||
weekCard: '周卡',
|
||||
week: '周',
|
||||
monthCard: '月卡',
|
||||
month: '月',
|
||||
quarterCard: '季卡',
|
||||
quarter: '季',
|
||||
yearCard: '年卡',
|
||||
year: '年'
|
||||
},
|
||||
|
||||
// ====== 交易协议区 ======
|
||||
agreement: {
|
||||
tipPrefix: '购买前请先阅读',
|
||||
tipSuffix: ',下单即代表同意该协议'
|
||||
},
|
||||
|
||||
// ====== 底部结算区 ======
|
||||
settlement: {
|
||||
totalItems: '共{count}件',
|
||||
total: '合计:',
|
||||
submitOrder: '提交订单'
|
||||
},
|
||||
|
||||
// ====== 活动优惠弹窗 ======
|
||||
promotionPopup: {
|
||||
title: '活动优惠',
|
||||
confirm: '确定'
|
||||
},
|
||||
|
||||
// ====== 买家留言弹窗 ======
|
||||
buyerMessagePopup: {
|
||||
title: '买家留言',
|
||||
placeholder: '留言前建议先与商家协调一致',
|
||||
confirm: '确定'
|
||||
},
|
||||
|
||||
// ====== 优惠券弹窗 ======
|
||||
couponPopup: {
|
||||
title: '优惠券',
|
||||
discount: '折',
|
||||
minSpend: '满{amount}可用',
|
||||
noThreshold: '无门槛',
|
||||
maxDiscount: '最多可抵¥{amount}',
|
||||
validPeriod: '有效期:',
|
||||
permanentValid: '长期有效',
|
||||
noAvailableCoupon: '暂无可用的优惠券',
|
||||
confirm: '确定'
|
||||
},
|
||||
|
||||
// ====== 表单修改弹窗 ======
|
||||
formPopup: {
|
||||
title: '买家信息',
|
||||
confirm: '确定'
|
||||
},
|
||||
|
||||
// ====== 次卡选择弹窗 ======
|
||||
memberCardPopup: {
|
||||
title: '选择次卡',
|
||||
unlimited: '不限次数',
|
||||
remaining: '剩余{count}次',
|
||||
permanentValid: '长期有效',
|
||||
confirm: '确定'
|
||||
},
|
||||
|
||||
// ====== 验证提示 ======
|
||||
toast: {
|
||||
enterReservedMobile: '请输入预留手机',
|
||||
enterValidMobile: '请输入正确的手机号',
|
||||
noDeliveryMethod: '商家未设置配送方式',
|
||||
selectAddressFirst: '请先选择您的收货地址',
|
||||
noPickupStore: '没有可提货的门店,请选择其他配送方式',
|
||||
selectPickupTime: '请选择提货时间',
|
||||
noDeliveryStore: '没有可配送的门店,请选择其他配送方式',
|
||||
selectDeliveryTime: '请选择送达时间',
|
||||
enterInvoiceTitle: '请填写发票抬头',
|
||||
enterTaxpayerNumber: '请填写纳税人识别号',
|
||||
enterInvoiceAddress: '请填写发票邮寄地址',
|
||||
enterEmail: '请填写邮箱',
|
||||
enterValidEmail: '请填写正确的邮箱',
|
||||
selectInvoiceContent: '请选择发票内容'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,72 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '退款详情',
|
||||
|
||||
// ====== 状态提示 ======
|
||||
statusTip: {
|
||||
merchantReject: '如果商家拒绝,你可重新发起申请',
|
||||
merchantAgree: '如果商家同意,将通过申请并退款给你',
|
||||
merchantConfirmReceive: '如果商家确认收货将会退款给你',
|
||||
merchantRejectReceive: '如果商家拒绝收货,该次退款将会关闭,你可以重新发起退款'
|
||||
},
|
||||
|
||||
// ====== 协商记录入口 ======
|
||||
consultRecord: '协商记录',
|
||||
|
||||
// ====== 退货地址 ======
|
||||
returnAddress: {
|
||||
title: '退货地址',
|
||||
receiver: '收货人:',
|
||||
contact: '联系方式:',
|
||||
address: '退货地址:',
|
||||
copy: '复制'
|
||||
},
|
||||
|
||||
// ====== 退款信息 ======
|
||||
refundInfo: {
|
||||
title: '退款信息',
|
||||
refundMethod: '退款方式:',
|
||||
refundOnly: '仅退款',
|
||||
refundReturn: '退款退货',
|
||||
refundChannel: '退款途径:',
|
||||
originalRefund: '原路退款',
|
||||
offlineRefund: '线下退款',
|
||||
balanceRefund: '退款到余额',
|
||||
refundReason: '退款原因:',
|
||||
refundAmount: '退款金额:',
|
||||
refundNo: '退款编号:',
|
||||
applyTime: '申请时间:',
|
||||
refundTime: '退款时间:',
|
||||
refundRemark: '退款说明:',
|
||||
refundPoint: '退款积分:'
|
||||
},
|
||||
|
||||
// ====== 退货表单 ======
|
||||
returnGoods: {
|
||||
expressCompany: '物流公司',
|
||||
expressCompanyPlaceholder: '请输入物流公司',
|
||||
expressNo: '物流单号',
|
||||
expressNoPlaceholder: '请输入物流单号',
|
||||
expressRemark: '物流说明',
|
||||
expressRemarkPlaceholder: '选填'
|
||||
},
|
||||
|
||||
// ====== 协商记录页 ======
|
||||
record: {
|
||||
buyer: '买家',
|
||||
seller: '卖家',
|
||||
backToDetail: '返回详情'
|
||||
},
|
||||
|
||||
// ====== 提示信息 ======
|
||||
toast: {
|
||||
noRefundInfo: '未获取到该订单项退款信息',
|
||||
cancelSuccess: '撤销成功'
|
||||
},
|
||||
|
||||
// ====== 表单验证 ======
|
||||
validate: {
|
||||
pleaseInputExpressCompany: '请输入物流公司',
|
||||
pleaseInputExpressNo: '请输入物流单号'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,45 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '兑换'
|
||||
title: '兑换',
|
||||
|
||||
// 积分与价格
|
||||
pointsSuffix: '积分',
|
||||
stockLabel: '库存:',
|
||||
unlimitedStock: '无限',
|
||||
unitPiece: '件',
|
||||
|
||||
// 优惠券描述
|
||||
containsBalance: '内含{balance}元',
|
||||
noThresholdCoupon: '无门槛优惠券',
|
||||
fullReduction: '满{atLeast}减{money}',
|
||||
fullAmount: '满{atLeast}元',
|
||||
discountSuffix: '折',
|
||||
maxDiscount: '最多优惠{limit}元',
|
||||
validFromReceive: '领取之日起{days}天内有效',
|
||||
validUntil: '{time}到期',
|
||||
|
||||
// 社群
|
||||
addCommunity: '添加',
|
||||
addCommunityTitle: '添加社群',
|
||||
addCommunityTip: '长按识别二维码,添加社群',
|
||||
|
||||
// 商品规格与属性
|
||||
selectSpec: '选择',
|
||||
attribute: '属性',
|
||||
goodsAttribute: '商品属性',
|
||||
goodsService: '商品服务',
|
||||
confirm: '确定',
|
||||
|
||||
// 详情
|
||||
exchangeDetail: '兑换详情',
|
||||
noExchangeDetail: '暂无兑换详情!',
|
||||
|
||||
// 底部按钮
|
||||
loginToExchange: '登录之后方可兑换',
|
||||
insufficientStock: '库存不足',
|
||||
insufficientPoints: '积分不足',
|
||||
exchange: '兑换',
|
||||
|
||||
// 分享
|
||||
shareTitle: '仅需{point}积分即可兑换{title}'
|
||||
}
|
||||
|
||||
@@ -1,4 +1,57 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '积分商城'
|
||||
title: '积分商城',
|
||||
|
||||
// 搜索
|
||||
searchPlaceholder: '搜索商品',
|
||||
|
||||
// 头部
|
||||
myPoints: '我的积分',
|
||||
points: '积分',
|
||||
reminder: '提醒',
|
||||
remarkText: '积分兑好礼,每日上新换不停!',
|
||||
|
||||
// 储值套餐
|
||||
rechargeAmount: '储值{price}元',
|
||||
earnPoints: '可得{point}积分',
|
||||
goRecharge: '去储值',
|
||||
|
||||
// 分类标题
|
||||
exchangeCoupon: '积分换券',
|
||||
exchangeHongbao: '积分换红包',
|
||||
exchangeGift: '积分换礼品',
|
||||
|
||||
// 优惠券
|
||||
discountSuffix: '折',
|
||||
noThresholdCoupon: '无门槛优惠券',
|
||||
minSpendAvailable: '满{amount}可用',
|
||||
allStoreCoupon: '全场券',
|
||||
designatedCoupon: '指定券',
|
||||
exchange: '兑换',
|
||||
|
||||
// 商品
|
||||
yuan: '元',
|
||||
stock: '库存:',
|
||||
exchanged: '已兑:',
|
||||
|
||||
// 积分说明弹窗
|
||||
pointDescription: '积分说明',
|
||||
pointAcquisition: '积分的获取',
|
||||
acquisitionItem1: '1、积分可在注册、签到、分享、消费、充值时获得。',
|
||||
acquisitionItem2: '2、在购买部分商品时可获得积分。',
|
||||
pointUsage: '积分的使用',
|
||||
usageItem1: '1、积分可用于兑换积分中心的商品。',
|
||||
usageItem2: '2、积分可在参与某些活动时使用。',
|
||||
usageItem3: '3、积分不得转让,出售,不设有效期。',
|
||||
pointQuery: '积分的查询',
|
||||
queryItem1: '1、积分可在会员中心中查询具体数额以及明细。',
|
||||
|
||||
// 分类列表
|
||||
categoryExchangeGoods: '积分换好物',
|
||||
categoryExchangeCoupon: '积分换券',
|
||||
categoryExchangeHongbao: '积分换红包',
|
||||
|
||||
// 提示
|
||||
merchantNotEnabled: '商家未开启积分商城',
|
||||
noActivity: '暂无相关活动'
|
||||
}
|
||||
|
||||
@@ -1,4 +1,63 @@
|
||||
export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '待付款订单'
|
||||
title: '确认订单',
|
||||
|
||||
// ====== 虚拟商品区 ======
|
||||
virtual: {
|
||||
tips: '购买虚拟类商品需填写手机号,方便商家与您联系',
|
||||
mobile: '手机号码',
|
||||
mobilePlaceholder: '请输入您的手机号码'
|
||||
},
|
||||
|
||||
// ====== 地址区 ======
|
||||
address: {
|
||||
setAddress: '请设置收货地址',
|
||||
deliveryTime: '送达时间',
|
||||
selectDeliveryTime: '请选择送达时间'
|
||||
},
|
||||
|
||||
// ====== 本地配送区 ======
|
||||
localDelivery: {
|
||||
providedBy: '由',
|
||||
deliveredBy: '提供配送',
|
||||
switchStore: '点击切换',
|
||||
noStoreNearby: '您的附近没有可配送的门店,请选择其他配送方式'
|
||||
},
|
||||
|
||||
// ====== 门店自提区 ======
|
||||
store: {
|
||||
businessHours: '营业时间:',
|
||||
name: '姓名',
|
||||
reservedMobile: '预留手机',
|
||||
mobilePlaceholder: '请输入您的手机号码',
|
||||
pickupTime: '自提时间',
|
||||
noPickupStore: '当前无自提门店,请选择其它配送方式',
|
||||
address: '地址:'
|
||||
},
|
||||
|
||||
// ====== 门店列表弹窗 ======
|
||||
storePopup: {
|
||||
title: '已为您甄选出附近所有相关门店',
|
||||
businessHours: '营业时间:',
|
||||
address: '地址:',
|
||||
noStoreNearby: '所选择收货地址附近没有可以自提的门店'
|
||||
},
|
||||
|
||||
// ====== 订单金额区 ======
|
||||
orderMoney: {
|
||||
buyerMessage: '买家留言',
|
||||
buyerMessagePlaceholder: '留言前建议先与商家协调一致',
|
||||
pointsRequired: '所需积分',
|
||||
pointsSuffix: '积分',
|
||||
shippingFee: '运费'
|
||||
},
|
||||
|
||||
// ====== 底部结算区 ======
|
||||
settlement: {
|
||||
totalItems: '共{count}件',
|
||||
total: '合计:',
|
||||
pointsSuffix: '积分',
|
||||
submitOrder: '提交订单',
|
||||
shortByForMinimum: '差{amount}起送'
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user