Files
MTKJPAY-FRONT/src/i18n/locales.js
qiube 48156d72aa feat(auth): 添加用户认证系统和导航菜单重构
- 实现用户登录注册功能并添加路由守卫
- 将Element UI菜单替换为自定义导航菜单样式
- 添加多语言用户相关文本资源
- 重构订单确认页面货币转换逻辑
- 实现支付成功/取消页面返回商品详情功能
- 在商品管理页面添加用户信息入口
- 调整API请求添加ERP接口认证机制
- 优化移动端导航菜单适配样式
2025-12-25 15:09:32 +08:00

1361 lines
55 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 静态翻译文本不依赖后端API
* 根据国家/货币代码预定义的翻译文本
*/
// 中文(默认)
const zh = {
// 订单创建页
order: {
fillOrderInfo: '填写订单信息',
productInfo: '商品信息',
customerInfo: '客户信息',
shippingAddress: '收货地址',
customerName: '客户姓名',
customerPhone: '客户电话',
customerEmail: '客户邮箱',
shippingName: '收货人姓名',
shippingPhone: '收货人电话',
shippingCountry: '收货国家',
addressLine1: '详细地址1',
addressLine2: '详细地址2',
state: '州/省',
city: '城市',
cityTown: '城市/城镇',
postcode: '邮编',
postcodeHint: '邮编为{0}位数字',
remark: '订单备注',
submit: '提交订单',
back: '返回',
pleaseEnter: '请输入',
optional: '可选',
required: '必填',
addressFormat: '地址格式',
phoneCode: '国际区号',
mustMatchId: '需与证件一致,支持当地语言+英文',
subtotal: '小计',
// 验证错误消息
validationRequired: '请输入{0}',
validationInvalidPhone: '请输入有效的电话号码',
validationInvalidEmail: '请输入有效的邮箱地址',
validationSelectCountry: '请选择收货国家',
validationPostcodeFormat: '邮编格式不正确,应为{0}位数字',
validationFillComplete: '请填写完整信息',
validationProductMissing: '商品信息缺失,请重新选择商品',
validationOrderCreateFailed: '创建订单失败',
validationOrderCreateRetry: '创建订单失败,请稍后重试',
validationProductParseFailed: '商品信息解析失败',
validationProductInfoMissing: '缺少商品信息',
validationOrderCreateSuccess: '订单创建成功',
// 特殊地址字段
blockNumber: '组屋号',
unitNumber: '单元号',
barangay: '社区编号',
addressThai: '泰文地址',
province: '省',
district: '市/郡',
ward: '区/坊',
stateMalaysia: '州属',
administrativeArea: '区Tambon',
floorUnit: '楼层/单元/代收点',
street: '街道地址',
// 占位符文本
placeholderAddressLine1: '请输入门牌号、街道、楼栋',
placeholderAddressLine2: '请输入楼层、单元号(可选)',
placeholderBlockNumber: '例如Blk 123',
placeholderUnitNumber: '例如:#01-234',
placeholderBarangay: '请输入社区编号',
placeholderAddressThai: '请输入泰文地址(支持双语)',
placeholderProvince: '请输入省',
placeholderDistrict: '请输入市/郡',
placeholderWard: '请输入区/坊',
placeholderStateMalaysia: '例如Selangor雪兰莪',
placeholderAdministrativeArea: '请输入区Tambon',
placeholderFloorUnit: '楼层、单元号或代收点信息(可选)',
placeholderStreet: '请输入详细街道地址',
placeholderCity: '请输入城市/城镇',
placeholderPostcode: '请输入邮编',
placeholderRemark: '请输入订单备注(可选)',
// 国家特定占位符
placeholderCityTH: '请输入县 (Amphoe)',
placeholderStateTH: '府 (Changwat)',
placeholderStatePH: '省 (Province)',
placeholderStateOptional: '州/省(可选)',
placeholderProvinceVN: '请输入省 (Tỉnh)',
placeholderDistrictVN: '请输入市/郡 (Thành phố/Huyện)',
placeholderWardVN: '请输入区/坊 (Quận/Phường)'
},
// 商品详情页
product: {
selectCurrency: '选择货币和语言',
selectSku: '选择商品规格SKU',
currentPrice: '现价',
quantity: '数量',
stock: '库存',
buyNow: '立即购买',
productDetails: '商品详情',
specifications: '规格参数',
outOfStock: '缺货',
confirmPurchase: '确认购买',
cancel: '取消',
unitPrice: '单价',
total: '总计',
confirmPurchaseInfo: '确认购买信息',
sku: 'SKU',
noSkuAvailable: '暂无可用SKU',
selectSkuForPrice: '请选择SKU查看价格',
selectSku: '请选择SKU',
sevenDayReturn: '7天无理由退货',
authenticGuarantee: '正品保证',
expeditedShipping: '极速发货',
imageLoadFailed: '图片加载失败',
noProductDetails: '暂无商品详情',
selectSkuForSpecs: '请先选择SKU查看规格参数',
skuCode: 'SKU编码',
price: '价格',
weight: '重量',
size: '尺寸'
},
// 订单确认页
confirm: {
orderInfo: '订单信息',
orderNo: '订单号',
orderStatus: '订单状态',
paymentStatus: '支付状态',
payNow: '立即支付',
orderAmount: '订单金额',
productName: '商品名称',
skuName: 'SKU名称',
quantity: '购买数量',
unitPrice: '单价',
createTime: '创建时间',
recipient: '收货人',
recipientPhone: '收货电话',
shippingAddress: '收货地址',
orderRemark: '订单备注',
back: '返回',
orderNotFound: '订单不存在',
notFilled: '未填写',
addressLine1: '详细地址1',
addressLine2: '详细地址2',
addressIncomplete: '地址信息不完整',
postcodeLabel: '邮编',
// 货币转换提示
willPayIn: '您将以{0}支付',
actualCost: '实际费用',
approximately: '约',
exchangeRate: '汇率',
rateLockedAt: '汇率锁定时间',
// 订单状态文本
statusPending: '待支付',
statusPaid: '已支付',
statusShipped: '已发货',
statusCompleted: '已完成',
statusCancelled: '已取消',
// 货币名称
currencyUSD: '美元',
currencyEUR: '欧元',
currencyGBP: '英镑',
currencyCNY: '人民币',
currencyMYR: '马来西亚林吉特',
currencyVND: '越南盾',
currencyJPY: '日元',
currencyKRW: '韩元',
currencyTHB: '泰铢',
currencySGD: '新加坡元',
currencyHKD: '港币',
currencyPHP: '菲律宾比索'
},
// 用户相关
user: {
login: '登录',
register: '注册',
logout: '退出登录',
username: '账号',
password: '密码',
nickName: '用户名称',
phone: '手机号',
email: '邮箱',
storeCode: '店铺号',
loginTitle: '用户登录',
registerTitle: '用户注册',
loginSuccess: '登录成功',
registerSuccess: '注册成功',
logoutSuccess: '退出登录成功',
usernameRequired: '请输入账号',
passwordRequired: '请输入密码',
storeCodeRequired: '请输入店铺号',
usernamePlaceholder: '请输入账号3-50个字符',
passwordPlaceholder: '请输入密码6-20个字符',
nickNamePlaceholder: '请输入用户名称(可选)',
phonePlaceholder: '请输入手机号(可选)',
emailPlaceholder: '请输入邮箱(可选)',
storeCodePlaceholder: '请输入店铺号',
usernameInvalid: '账号只能包含字母、数字和下划线',
passwordInvalid: '密码长度必须在6-20个字符之间',
phoneInvalid: '手机号格式不正确',
emailInvalid: '邮箱格式不正确',
noAccount: '还没有账号?',
hasAccount: '已有账号?',
goRegister: '立即注册',
goLogin: '立即登录',
rememberMe: '记住我',
forgotPassword: '忘记密码?',
userInfo: '用户信息',
welcome: '欢迎',
lastLoginTime: '最后登录时间',
lastLoginIp: '最后登录IP'
}
}
// 英语
const en = {
order: {
fillOrderInfo: 'Fill Order Information',
productInfo: 'Product Information',
customerInfo: 'Customer Information',
shippingAddress: 'Shipping Address',
customerName: 'Customer Name',
customerPhone: 'Customer Phone',
customerEmail: 'Customer Email',
shippingName: 'Recipient Name',
shippingPhone: 'Recipient Phone',
shippingCountry: 'Shipping Country',
addressLine1: 'Address Line 1',
addressLine2: 'Address Line 2',
state: 'State/Province',
city: 'City',
cityTown: 'City/Town',
postcode: 'Postal Code',
postcodeHint: 'Postal code is {0} digits',
remark: 'Order Remarks',
submit: 'Submit Order',
back: 'Back',
pleaseEnter: 'Please enter',
optional: 'Optional',
required: 'Required',
addressFormat: 'Address Format',
phoneCode: 'Phone Code',
mustMatchId: 'Must match ID, supports local language + English',
// 特殊地址字段
blockNumber: 'Block Number',
unitNumber: 'Unit Number',
barangay: 'Barangay',
addressThai: 'Thai Address',
province: 'Province',
district: 'District',
ward: 'Ward',
stateMalaysia: 'State',
administrativeArea: 'Administrative Area (Tambon)',
floorUnit: 'Floor/Unit/Collection Point',
street: 'Street Address',
// 占位符文本
placeholderAddressLine1: 'Please enter house number, street, building',
placeholderAddressLine2: 'Please enter floor, unit number (optional)',
placeholderBlockNumber: 'e.g.: Blk 123',
placeholderUnitNumber: 'e.g.: #01-234',
placeholderBarangay: 'Please enter Barangay',
placeholderAddressThai: 'Please enter Thai address (bilingual supported)',
placeholderProvince: 'Please enter province',
placeholderDistrict: 'Please enter district',
placeholderWard: 'Please enter ward',
placeholderStateMalaysia: 'e.g.: Selangor',
placeholderAdministrativeArea: 'Please enter administrative area (Tambon)',
placeholderFloorUnit: 'Floor, unit number or collection point information (optional)',
placeholderStreet: 'Please enter detailed street address',
placeholderCity: 'Please enter city/town',
placeholderPostcode: 'Please enter postal code',
placeholderRemark: 'Please enter order remarks (optional)',
// 国家特定占位符
placeholderCityTH: 'Please enter district (Amphoe)',
placeholderStateTH: 'Province (Changwat)',
placeholderStatePH: 'Province',
placeholderStateOptional: 'State/Province (optional)',
placeholderProvinceVN: 'Please enter province (Tỉnh)',
placeholderDistrictVN: 'Please enter city/district (Thành phố/Huyện)',
placeholderWardVN: 'Please enter ward (Quận/Phường)',
subtotal: 'Subtotal',
// 验证错误消息
validationRequired: 'Please enter {0}',
validationInvalidPhone: 'Please enter a valid phone number',
validationInvalidEmail: 'Please enter a valid email address',
validationSelectCountry: 'Please select shipping country',
validationPostcodeFormat: 'Postcode format is incorrect, should be {0} digits',
validationFillComplete: 'Please fill in complete information',
validationProductMissing: 'Product information is missing, please reselect product',
validationOrderCreateFailed: 'Failed to create order',
validationOrderCreateRetry: 'Failed to create order, please try again later',
validationProductParseFailed: 'Failed to parse product information',
validationProductInfoMissing: 'Product information is missing',
validationOrderCreateSuccess: 'Order created successfully'
},
product: {
selectCurrency: 'Select Currency and Language',
selectSku: 'Select Product Specification (SKU)',
currentPrice: 'Current Price',
quantity: 'Quantity',
stock: 'Stock',
buyNow: 'Buy Now',
productDetails: 'Product Details',
specifications: 'Specifications',
outOfStock: 'Out of Stock',
confirmPurchase: 'Confirm Purchase',
cancel: 'Cancel',
unitPrice: 'Unit Price',
total: 'Total',
confirmPurchaseInfo: 'Confirm Purchase Information',
sku: 'SKU',
noSkuAvailable: 'No SKU Available',
selectSkuForPrice: 'Please select SKU to view price',
selectSku: 'Please select SKU',
sevenDayReturn: '7-Day Return Policy',
authenticGuarantee: 'Authentic Guarantee',
expeditedShipping: 'Fast Shipping',
imageLoadFailed: 'Image Load Failed',
noProductDetails: 'No Product Details',
selectSkuForSpecs: 'Please select SKU to view specifications',
skuCode: 'SKU Code',
price: 'Price',
weight: 'Weight',
size: 'Size'
},
confirm: {
orderInfo: 'Order Information',
orderNo: 'Order Number',
orderStatus: 'Order Status',
paymentStatus: 'Payment Status',
payNow: 'Pay Now',
orderAmount: 'Order Amount',
productName: 'Product Name',
skuName: 'SKU Name',
quantity: 'Quantity',
unitPrice: 'Unit Price',
createTime: 'Creation Time',
recipient: 'Recipient',
recipientPhone: 'Recipient Phone',
shippingAddress: 'Shipping Address',
orderRemark: 'Order Remarks',
back: 'Back',
orderNotFound: 'Order not found',
notFilled: 'Not filled',
addressLine1: 'Address Line 1',
addressLine2: 'Address Line 2',
addressIncomplete: 'Address information incomplete',
postcodeLabel: 'Postcode',
// 货币转换提示
willPayIn: 'You will pay in {0}',
actualCost: 'Actual Cost',
approximately: 'Approximately',
exchangeRate: 'Exchange Rate',
rateLockedAt: 'Rate Locked At',
// 订单状态文本
statusPending: 'Pending Payment',
statusPaid: 'Paid',
statusShipped: 'Shipped',
statusCompleted: 'Completed',
statusCancelled: 'Cancelled',
// 货币名称
currencyUSD: 'US Dollar',
currencyEUR: 'Euro',
currencyGBP: 'British Pound',
currencyCNY: 'Chinese Yuan',
currencyMYR: 'Malaysian Ringgit',
currencyVND: 'Vietnamese Dong',
currencyJPY: 'Japanese Yen',
currencyKRW: 'South Korean Won',
currencyTHB: 'Thai Baht',
currencySGD: 'Singapore Dollar',
currencyHKD: 'Hong Kong Dollar',
currencyPHP: 'Philippine Peso'
},
// 用户相关
user: {
login: 'Login',
register: 'Register',
logout: 'Logout',
username: 'Username',
password: 'Password',
nickName: 'Nick Name',
phone: 'Phone',
email: 'Email',
storeCode: 'Store Code',
loginTitle: 'User Login',
registerTitle: 'User Register',
loginSuccess: 'Login successful',
registerSuccess: 'Registration successful',
logoutSuccess: 'Logout successful',
usernameRequired: 'Please enter username',
passwordRequired: 'Please enter password',
storeCodeRequired: 'Please enter store code',
usernamePlaceholder: 'Please enter username (3-50 characters)',
passwordPlaceholder: 'Please enter password (6-20 characters)',
nickNamePlaceholder: 'Please enter nick name (optional)',
phonePlaceholder: 'Please enter phone number (optional)',
emailPlaceholder: 'Please enter email (optional)',
storeCodePlaceholder: 'Please enter store code',
usernameInvalid: 'Username can only contain letters, numbers and underscores',
passwordInvalid: 'Password length must be between 6-20 characters',
phoneInvalid: 'Invalid phone number format',
emailInvalid: 'Invalid email format',
noAccount: 'No account yet?',
hasAccount: 'Already have an account?',
goRegister: 'Register now',
goLogin: 'Login now',
rememberMe: 'Remember me',
forgotPassword: 'Forgot password?',
userInfo: 'User Information',
welcome: 'Welcome',
lastLoginTime: 'Last Login Time',
lastLoginIp: 'Last Login IP'
}
}
// 马来语(马来西亚)
const may = {
order: {
fillOrderInfo: 'Isi Maklumat Pesanan',
productInfo: 'Maklumat Produk',
customerInfo: 'Maklumat Pelanggan',
shippingAddress: 'Alamat Penghantaran',
customerName: 'Nama Pelanggan',
customerPhone: 'Telefon Pelanggan',
customerEmail: 'E-mel Pelanggan',
shippingName: 'Nama Penerima',
shippingPhone: 'Telefon Penerima',
shippingCountry: 'Negara Penghantaran',
addressLine1: 'Alamat Baris 1',
addressLine2: 'Alamat Baris 2',
state: 'Negeri',
city: 'Bandar',
cityTown: 'Bandar/Pekan',
postcode: 'Poskod',
postcodeHint: 'Poskod adalah {0} digit',
remark: 'Catatan Pesanan',
submit: 'Hantar Pesanan',
back: 'Kembali',
pleaseEnter: 'Sila masukkan',
optional: 'Pilihan',
required: 'Diperlukan',
addressFormat: 'Format Alamat',
phoneCode: 'Kod Telefon',
mustMatchId: 'Mesti sepadan dengan ID, menyokong bahasa tempatan + Inggeris',
// 特殊地址字段
blockNumber: 'Nombor Blok',
unitNumber: 'Nombor Unit',
barangay: 'Barangay',
addressThai: 'Alamat Thai',
province: 'Wilayah',
district: 'Daerah',
ward: 'Ward',
stateMalaysia: 'Negeri',
administrativeArea: 'Kawasan Pentadbiran (Tambon)',
floorUnit: 'Tingkat/Unit/Titik Kumpulan',
street: 'Alamat Jalan',
// 占位符文本
placeholderAddressLine1: 'Sila masukkan nombor rumah, jalan, bangunan',
placeholderAddressLine2: 'Sila masukkan tingkat, nombor unit (pilihan)',
placeholderBlockNumber: 'Contoh: Blk 123',
placeholderUnitNumber: 'Contoh: #01-234',
placeholderBarangay: 'Sila masukkan Barangay',
placeholderAddressThai: 'Sila masukkan alamat Thai (dua bahasa disokong)',
placeholderProvince: 'Sila masukkan wilayah',
placeholderDistrict: 'Sila masukkan daerah',
placeholderWard: 'Sila masukkan ward',
placeholderStateMalaysia: 'Contoh: Selangor',
placeholderAdministrativeArea: 'Sila masukkan kawasan pentadbiran (Tambon)',
placeholderFloorUnit: 'Maklumat tingkat, nombor unit atau titik kumpulan (pilihan)',
placeholderStreet: 'Sila masukkan alamat jalan terperinci',
placeholderCity: 'Sila masukkan bandar/pekan',
placeholderPostcode: 'Sila masukkan poskod',
placeholderRemark: 'Sila masukkan catatan pesanan (pilihan)',
// 国家特定占位符
placeholderCityTH: 'Sila masukkan daerah (Amphoe)',
placeholderStateTH: 'Wilayah (Changwat)',
placeholderStatePH: 'Wilayah',
placeholderStateOptional: 'Negeri/Wilayah (pilihan)',
placeholderProvinceVN: 'Sila masukkan wilayah (Tỉnh)',
placeholderDistrictVN: 'Sila masukkan bandar/daerah (Thành phố/Huyện)',
placeholderWardVN: 'Sila masukkan ward (Quận/Phường)',
subtotal: 'Jumlah Kecil',
// 验证错误消息
validationRequired: 'Sila masukkan {0}',
validationInvalidPhone: 'Sila masukkan nombor telefon yang sah',
validationInvalidEmail: 'Sila masukkan alamat e-mel yang sah',
validationSelectCountry: 'Sila pilih negara penghantaran',
validationPostcodeFormat: 'Format poskod tidak betul, mestilah {0} digit',
validationFillComplete: 'Sila isi maklumat lengkap',
validationProductMissing: 'Maklumat produk hilang, sila pilih semula produk',
validationOrderCreateFailed: 'Gagal membuat pesanan',
validationOrderCreateRetry: 'Gagal membuat pesanan, sila cuba lagi kemudian',
validationProductParseFailed: 'Gagal menguraikan maklumat produk',
validationProductInfoMissing: 'Maklumat produk hilang',
validationOrderCreateSuccess: 'Pesanan berjaya dibuat'
},
product: {
selectCurrency: 'Pilih Mata Wang dan Bahasa',
selectSku: 'Pilih Spesifikasi Produk (SKU)',
currentPrice: 'Harga Semasa',
quantity: 'Kuantiti',
stock: 'Stok',
buyNow: 'Beli Sekarang',
productDetails: 'Butiran Produk',
specifications: 'Spesifikasi',
outOfStock: 'Kehabisan Stok',
confirmPurchase: 'Sahkan Pembelian',
cancel: 'Batal',
unitPrice: 'Harga Unit',
total: 'Jumlah',
confirmPurchaseInfo: 'Sahkan Maklumat Pembelian',
sku: 'SKU',
noSkuAvailable: 'Tiada SKU Tersedia',
selectSkuForPrice: 'Sila pilih SKU untuk melihat harga',
selectSku: 'Sila pilih SKU',
sevenDayReturn: 'Polisi Pulangan 7 Hari',
authenticGuarantee: 'Jaminan Asli',
expeditedShipping: 'Penghantaran Pantas',
imageLoadFailed: 'Gagal Memuatkan Imej',
noProductDetails: 'Tiada Butiran Produk',
selectSkuForSpecs: 'Sila pilih SKU untuk melihat spesifikasi',
skuCode: 'Kod SKU',
price: 'Harga',
weight: 'Berat',
size: 'Saiz'
},
confirm: {
orderInfo: 'Maklumat Pesanan',
orderNo: 'Nombor Pesanan',
orderStatus: 'Status Pesanan',
paymentStatus: 'Status Pembayaran',
payNow: 'Bayar Sekarang',
orderAmount: 'Jumlah Pesanan',
productName: 'Nama Produk',
skuName: 'Nama SKU',
quantity: 'Kuantiti',
unitPrice: 'Harga Unit',
createTime: 'Masa Penciptaan',
recipient: 'Penerima',
recipientPhone: 'Telefon Penerima',
shippingAddress: 'Alamat Penghantaran',
orderRemark: 'Catatan Pesanan',
back: 'Kembali',
orderNotFound: 'Pesanan tidak dijumpai',
notFilled: 'Tidak diisi',
addressLine1: 'Alamat Baris 1',
addressLine2: 'Alamat Baris 2',
addressIncomplete: 'Maklumat alamat tidak lengkap',
postcodeLabel: 'Poskod',
willPayIn: 'Anda akan membayar dalam {0}',
actualCost: 'Kos Sebenar',
approximately: 'Kira-kira',
exchangeRate: 'Kadar Pertukaran',
rateLockedAt: 'Masa Kadar Dikunci',
statusPending: 'Menunggu Pembayaran',
statusPaid: 'Dibayar',
statusShipped: 'Dihantar',
statusCompleted: 'Selesai',
statusCancelled: 'Dibatalkan',
currencyUSD: 'Dolar AS',
currencyEUR: 'Euro',
currencyGBP: 'Pound British',
currencyCNY: 'Yuan China',
currencyMYR: 'Ringgit Malaysia',
currencyVND: 'Dong Vietnam',
currencyJPY: 'Yen Jepun',
currencyKRW: 'Won Korea Selatan',
currencyTHB: 'Baht Thailand',
currencySGD: 'Dolar Singapura',
currencyHKD: 'Dolar Hong Kong',
currencyPHP: 'Peso Filipina'
},
// 用户相关
user: {
login: 'Log Masuk',
register: 'Daftar',
logout: 'Log Keluar',
username: 'Nama Pengguna',
password: 'Kata Laluan',
nickName: 'Nama Panggilan',
phone: 'Telefon',
email: 'E-mel',
storeCode: 'Kod Kedai',
loginTitle: 'Log Masuk Pengguna',
registerTitle: 'Pendaftaran Pengguna',
loginSuccess: 'Log masuk berjaya',
registerSuccess: 'Pendaftaran berjaya',
logoutSuccess: 'Log keluar berjaya',
usernameRequired: 'Sila masukkan nama pengguna',
passwordRequired: 'Sila masukkan kata laluan',
storeCodeRequired: 'Sila masukkan kod kedai',
usernamePlaceholder: 'Sila masukkan nama pengguna (3-50 aksara)',
passwordPlaceholder: 'Sila masukkan kata laluan (6-20 aksara)',
nickNamePlaceholder: 'Sila masukkan nama panggilan (pilihan)',
phonePlaceholder: 'Sila masukkan nombor telefon (pilihan)',
emailPlaceholder: 'Sila masukkan e-mel (pilihan)',
storeCodePlaceholder: 'Sila masukkan kod kedai',
usernameInvalid: 'Nama pengguna hanya boleh mengandungi huruf, nombor dan garis bawah',
passwordInvalid: 'Panjang kata laluan mestilah antara 6-20 aksara',
phoneInvalid: 'Format nombor telefon tidak sah',
emailInvalid: 'Format e-mel tidak sah',
noAccount: 'Belum ada akaun?',
hasAccount: 'Sudah ada akaun?',
goRegister: 'Daftar sekarang',
goLogin: 'Log masuk sekarang',
rememberMe: 'Ingat saya',
forgotPassword: 'Lupa kata laluan?',
userInfo: 'Maklumat Pengguna',
welcome: 'Selamat datang',
lastLoginTime: 'Masa Log Masuk Terakhir',
lastLoginIp: 'IP Log Masuk Terakhir'
}
}
// 菲律宾语
const fil = {
order: {
fillOrderInfo: 'Punan ang Impormasyon ng Order',
productInfo: 'Impormasyon ng Produkto',
customerInfo: 'Impormasyon ng Customer',
shippingAddress: 'Address ng Pagpapadala',
customerName: 'Pangalan ng Customer',
customerPhone: 'Telepono ng Customer',
customerEmail: 'Email ng Customer',
shippingName: 'Pangalan ng Tatanggap',
shippingPhone: 'Telepono ng Tatanggap',
shippingCountry: 'Bansa ng Pagpapadala',
addressLine1: 'Address Line 1',
addressLine2: 'Address Line 2',
state: 'Estado/Probinsya',
city: 'Lungsod',
postcode: 'Postal Code',
remark: 'Tandaan',
submit: 'Ipasa ang Order',
back: 'Bumalik',
pleaseEnter: 'Mangyaring ipasok',
optional: 'Opsiyonal',
required: 'Kinakailangan',
addressFormat: 'Format ng Address',
phoneCode: 'Phone Code',
mustMatchId: 'Dapat tumugma sa ID, sumusuporta sa lokal na wika + Ingles'
},
product: {
selectCurrency: 'Pumili ng Currency at Wika',
selectSku: 'Pumili ng Product Specification (SKU)',
currentPrice: 'Kasalukuyang Presyo',
quantity: 'Dami',
stock: 'Stock',
buyNow: 'Bumili Ngayon',
productDetails: 'Mga Detalye ng Produkto',
specifications: 'Mga Specification',
outOfStock: 'Walang Stock',
confirmPurchase: 'Kumpirmahin ang Pagbili',
cancel: 'Kanselahin',
unitPrice: 'Presyo ng Unit',
total: 'Kabuuan',
confirmPurchaseInfo: 'Kumpirmahin ang Impormasyon ng Pagbili',
sku: 'SKU',
noSkuAvailable: 'Walang Available na SKU',
selectSkuForPrice: 'Mangyaring pumili ng SKU para makita ang presyo',
selectSku: 'Mangyaring pumili ng SKU',
sevenDayReturn: '7-Araw na Return Policy',
authenticGuarantee: 'Authentic Guarantee',
expeditedShipping: 'Mabilis na Pagpapadala',
imageLoadFailed: 'Nabigo ang Pag-load ng Larawan',
noProductDetails: 'Walang Detalye ng Produkto',
selectSkuForSpecs: 'Mangyaring pumili ng SKU para makita ang mga specification',
skuCode: 'SKU Code',
price: 'Presyo',
weight: 'Timbang',
size: 'Sukat'
},
confirm: {
orderInfo: 'Impormasyon ng Order',
orderNo: 'Numero ng Order',
orderStatus: 'Status ng Order',
paymentStatus: 'Status ng Pagbabayad',
payNow: 'Magbayad Ngayon',
orderAmount: 'Halaga ng Order',
productName: 'Pangalan ng Produkto',
skuName: 'Pangalan ng SKU',
quantity: 'Dami',
unitPrice: 'Presyo ng Unit',
createTime: 'Oras ng Paglikha',
recipient: 'Tatanggap',
recipientPhone: 'Telepono ng Tatanggap',
shippingAddress: 'Address ng Pagpapadala',
orderRemark: 'Tandaan ng Order',
back: 'Bumalik',
orderNotFound: 'Hindi natagpuan ang order',
notFilled: 'Hindi napunan',
addressLine1: 'Address Line 1',
addressLine2: 'Address Line 2',
addressIncomplete: 'Hindi kumpleto ang impormasyon ng address',
postcodeLabel: 'Postal Code',
willPayIn: 'Magbabayad ka sa {0}',
actualCost: 'Tunay na Gastos',
approximately: 'Humigit-kumulang',
exchangeRate: 'Rate ng Palitan',
rateLockedAt: 'Oras na Na-lock ang Rate',
statusPending: 'Naghihintay ng Pagbabayad',
statusPaid: 'Bayad na',
statusShipped: 'Naipadala na',
statusCompleted: 'Natapos na',
statusCancelled: 'Nakansela',
currencyUSD: 'US Dollar',
currencyEUR: 'Euro',
currencyGBP: 'British Pound',
currencyCNY: 'Chinese Yuan',
currencyMYR: 'Malaysian Ringgit',
currencyVND: 'Vietnamese Dong',
currencyJPY: 'Japanese Yen',
currencyKRW: 'South Korean Won',
currencyTHB: 'Thai Baht',
currencySGD: 'Singapore Dollar',
currencyHKD: 'Hong Kong Dollar',
currencyPHP: 'Philippine Peso'
},
// 用户相关
user: {
login: 'Mag-login',
register: 'Magrehistro',
logout: 'Mag-logout',
username: 'Username',
password: 'Password',
nickName: 'Palayaw',
phone: 'Telepono',
email: 'Email',
storeCode: 'Store Code',
loginTitle: 'User Login',
registerTitle: 'User Register',
loginSuccess: 'Matagumpay na pag-login',
registerSuccess: 'Matagumpay na pagrehistro',
logoutSuccess: 'Matagumpay na pag-logout',
usernameRequired: 'Mangyaring maglagay ng username',
passwordRequired: 'Mangyaring maglagay ng password',
storeCodeRequired: 'Mangyaring maglagay ng store code',
usernamePlaceholder: 'Mangyaring maglagay ng username (3-50 characters)',
passwordPlaceholder: 'Mangyaring maglagay ng password (6-20 characters)',
nickNamePlaceholder: 'Mangyaring maglagay ng palayaw (opsyonal)',
phonePlaceholder: 'Mangyaring maglagay ng numero ng telepono (opsyonal)',
emailPlaceholder: 'Mangyaring maglagay ng email (opsyonal)',
storeCodePlaceholder: 'Mangyaring maglagay ng store code',
usernameInvalid: 'Ang username ay maaari lamang maglaman ng mga titik, numero at underscore',
passwordInvalid: 'Ang haba ng password ay dapat nasa pagitan ng 6-20 characters',
phoneInvalid: 'Hindi wasto ang format ng numero ng telepono',
emailInvalid: 'Hindi wasto ang format ng email',
noAccount: 'Wala pang account?',
hasAccount: 'Mayroon nang account?',
goRegister: 'Magrehistro ngayon',
goLogin: 'Mag-login ngayon',
rememberMe: 'Tandaan ako',
forgotPassword: 'Nakalimutan ang password?',
userInfo: 'Impormasyon ng User',
welcome: 'Maligayang pagdating',
lastLoginTime: 'Huling Oras ng Login',
lastLoginIp: 'Huling IP ng Login'
}
}
// 泰语
const th = {
order: {
fillOrderInfo: 'กรอกข้อมูลคำสั่งซื้อ',
productInfo: 'ข้อมูลสินค้า',
customerInfo: 'ข้อมูลลูกค้า',
shippingAddress: 'ที่อยู่จัดส่ง',
customerName: 'ชื่อลูกค้า',
customerPhone: 'เบอร์โทรลูกค้า',
customerEmail: 'อีเมลลูกค้า',
shippingName: 'ชื่อผู้รับ',
shippingPhone: 'เบอร์โทรผู้รับ',
shippingCountry: 'ประเทศจัดส่ง',
addressLine1: 'ที่อยู่บรรทัด 1',
addressLine2: 'ที่อยู่บรรทัด 2',
state: 'จังหวัด',
city: 'เมือง',
postcode: 'รหัสไปรษณีย์',
remark: 'หมายเหตุ',
submit: 'ส่งคำสั่งซื้อ',
back: 'กลับ',
pleaseEnter: 'กรุณากรอก',
optional: 'ไม่บังคับ',
required: 'จำเป็น',
addressFormat: 'รูปแบบที่อยู่',
phoneCode: 'รหัสโทรศัพท์',
mustMatchId: 'ต้องตรงกับบัตรประชาชน รองรับภาษาท้องถิ่น + อังกฤษ',
// 补充缺失字段
cityTown: 'เมือง/อำเภอ',
postcodeHint: 'รหัสไปรษณีย์คือ {0} หลัก',
blockNumber: 'หมายเลขบล็อก',
unitNumber: 'หมายเลขหน่วย',
barangay: 'Barangay',
addressThai: 'ที่อยู่ภาษาไทย',
province: 'จังหวัด',
district: 'อำเภอ/เขต',
ward: 'แขวง/ตำบล',
stateMalaysia: 'รัฐ',
administrativeArea: 'พื้นที่บริหาร (Tambon)',
floorUnit: 'ชั้น/หน่วย/จุดรับ',
street: 'ที่อยู่ถนน',
subtotal: 'ยอดรวมย่อย',
// 占位符文本
placeholderAddressLine1: 'กรุณากรอกเลขที่บ้าน ถนน อาคาร',
placeholderAddressLine2: 'กรุณากรอกชั้น หมายเลขหน่วย (ไม่บังคับ)',
placeholderBlockNumber: 'เช่น: Blk 123',
placeholderUnitNumber: 'เช่น: #01-234',
placeholderBarangay: 'กรุณากรอก Barangay',
placeholderAddressThai: 'กรุณากรอกที่อยู่ภาษาไทย (รองรับสองภาษา)',
placeholderProvince: 'กรุณากรอกจังหวัด',
placeholderDistrict: 'กรุณากรอกอำเภอ/เขต',
placeholderWard: 'กรุณากรอกแขวง/ตำบล',
placeholderStateMalaysia: 'เช่น: Selangor',
placeholderAdministrativeArea: 'กรุณากรอกพื้นที่บริหาร (Tambon)',
placeholderFloorUnit: 'ข้อมูลชั้น หมายเลขหน่วย หรือจุดรับ (ไม่บังคับ)',
placeholderStreet: 'กรุณากรอกที่อยู่ถนนโดยละเอียด',
placeholderCity: 'กรุณากรอกเมือง/อำเภอ',
placeholderPostcode: 'กรุณากรอกรหัสไปรษณีย์',
placeholderRemark: 'กรุณากรอกหมายเหตุคำสั่งซื้อ (ไม่บังคับ)',
placeholderCityTH: 'กรุณากรอกอำเภอ (Amphoe)',
placeholderStateTH: 'จังหวัด (Changwat)',
placeholderStatePH: 'จังหวัด',
placeholderStateOptional: 'รัฐ/จังหวัด (ไม่บังคับ)',
placeholderProvinceVN: 'กรุณากรอกจังหวัด (Tỉnh)',
placeholderDistrictVN: 'กรุณากรอกเมือง/อำเภอ (Thành phố/Huyện)',
placeholderWardVN: 'กรุณากรอกแขวง/ตำบล (Quận/Phường)',
// 验证错误消息
validationRequired: 'กรุณากรอก {0}',
validationInvalidPhone: 'กรุณากรอกหมายเลขโทรศัพท์ที่ถูกต้อง',
validationInvalidEmail: 'กรุณากรอกอีเมลที่ถูกต้อง',
validationSelectCountry: 'กรุณาเลือกประเทศจัดส่ง',
validationPostcodeFormat: 'รูปแบบรหัสไปรษณีย์ไม่ถูกต้อง ควรเป็น {0} หลัก',
validationFillComplete: 'กรุณากรอกข้อมูลให้ครบถ้วน',
validationProductMissing: 'ข้อมูลสินค้าหายไป กรุณาเลือกสินค้าใหม่',
validationOrderCreateFailed: 'สร้างคำสั่งซื้อล้มเหลว',
validationOrderCreateRetry: 'สร้างคำสั่งซื้อล้มเหลว กรุณาลองใหม่อีกครั้งในภายหลัง',
validationProductParseFailed: 'แยกวิเคราะห์ข้อมูลสินค้าล้มเหลว',
validationProductInfoMissing: 'ข้อมูลสินค้าหายไป',
validationOrderCreateSuccess: 'สร้างคำสั่งซื้อสำเร็จ'
},
product: {
selectCurrency: 'เลือกสกุลเงินและภาษา',
selectSku: 'เลือกรายละเอียดสินค้า (SKU)',
currentPrice: 'ราคาปัจจุบัน',
quantity: 'จำนวน',
stock: 'สต็อก',
buyNow: 'ซื้อทันที',
productDetails: 'รายละเอียดสินค้า',
specifications: 'ข้อมูลจำเพาะ',
outOfStock: 'หมดสต็อก',
confirmPurchase: 'ยืนยันการซื้อ',
cancel: 'ยกเลิก',
unitPrice: 'ราคาต่อหน่วย',
total: 'รวม',
confirmPurchaseInfo: 'ยืนยันข้อมูลการซื้อ',
sku: 'SKU',
noSkuAvailable: 'ไม่มี SKU ที่ใช้ได้',
selectSkuForPrice: 'กรุณาเลือก SKU เพื่อดูราคา',
selectSku: 'กรุณาเลือก SKU',
sevenDayReturn: 'นโยบายคืนสินค้า 7 วัน',
authenticGuarantee: 'การรับประกันของแท้',
expeditedShipping: 'จัดส่งด่วน',
imageLoadFailed: 'โหลดรูปภาพล้มเหลว',
noProductDetails: 'ไม่มีรายละเอียดสินค้า',
selectSkuForSpecs: 'กรุณาเลือก SKU เพื่อดูข้อมูลจำเพาะ',
skuCode: 'รหัส SKU',
price: 'ราคา',
weight: 'น้ำหนัก',
size: 'ขนาด'
},
confirm: {
orderInfo: 'ข้อมูลคำสั่งซื้อ',
orderNo: 'หมายเลขคำสั่งซื้อ',
orderStatus: 'สถานะคำสั่งซื้อ',
paymentStatus: 'สถานะการชำระเงิน',
payNow: 'ชำระเงินทันที',
orderAmount: 'จำนวนเงินคำสั่งซื้อ',
productName: 'ชื่อสินค้า',
skuName: 'ชื่อ SKU',
quantity: 'จำนวน',
unitPrice: 'ราคาต่อหน่วย',
createTime: 'เวลาสร้าง',
recipient: 'ผู้รับ',
recipientPhone: 'เบอร์โทรผู้รับ',
shippingAddress: 'ที่อยู่จัดส่ง',
orderRemark: 'หมายเหตุคำสั่งซื้อ',
back: 'กลับ',
orderNotFound: 'ไม่พบคำสั่งซื้อ',
notFilled: 'ไม่ได้กรอก',
addressLine1: 'ที่อยู่บรรทัด 1',
addressLine2: 'ที่อยู่บรรทัด 2',
addressIncomplete: 'ข้อมูลที่อยู่ไม่ครบถ้วน',
postcodeLabel: 'รหัสไปรษณีย์',
willPayIn: 'คุณจะชำระด้วย {0}',
actualCost: 'ค่าใช้จ่ายจริง',
approximately: 'ประมาณ',
exchangeRate: 'อัตราแลกเปลี่ยน',
rateLockedAt: 'เวลาล็อกอัตรา',
statusPending: 'รอการชำระเงิน',
statusPaid: 'ชำระแล้ว',
statusShipped: 'จัดส่งแล้ว',
statusCompleted: 'เสร็จสมบูรณ์',
statusCancelled: 'ยกเลิก',
currencyUSD: 'ดอลลาร์สหรัฐ',
currencyEUR: 'ยูโร',
currencyGBP: 'ปอนด์อังกฤษ',
currencyCNY: 'หยวนจีน',
currencyMYR: 'ริงกิตมาเลเซีย',
currencyVND: 'ดองเวียดนาม',
currencyJPY: 'เยนญี่ปุ่น',
currencyKRW: 'วอนเกาหลีใต้',
currencyTHB: 'บาทไทย',
currencySGD: 'ดอลลาร์สิงคโปร์',
currencyHKD: 'ดอลลาร์ฮ่องกง',
currencyPHP: 'เปโซฟิลิปปินส์'
},
// 用户相关
user: {
login: 'เข้าสู่ระบบ',
register: 'ลงทะเบียน',
logout: 'ออกจากระบบ',
username: 'ชื่อผู้ใช้',
password: 'รหัสผ่าน',
nickName: 'ชื่อเล่น',
phone: 'เบอร์โทรศัพท์',
email: 'อีเมล',
storeCode: 'รหัสร้านค้า',
loginTitle: 'เข้าสู่ระบบผู้ใช้',
registerTitle: 'ลงทะเบียนผู้ใช้',
loginSuccess: 'เข้าสู่ระบบสำเร็จ',
registerSuccess: 'ลงทะเบียนสำเร็จ',
logoutSuccess: 'ออกจากระบบสำเร็จ',
usernameRequired: 'กรุณากรอกชื่อผู้ใช้',
passwordRequired: 'กรุณากรอกรหัสผ่าน',
storeCodeRequired: 'กรุณากรอกรหัสร้านค้า',
usernamePlaceholder: 'กรุณากรอกชื่อผู้ใช้ (3-50 ตัวอักษร)',
passwordPlaceholder: 'กรุณากรอกรหัสผ่าน (6-20 ตัวอักษร)',
nickNamePlaceholder: 'กรุณากรอกชื่อเล่น (ไม่บังคับ)',
phonePlaceholder: 'กรุณากรอกเบอร์โทรศัพท์ (ไม่บังคับ)',
emailPlaceholder: 'กรุณากรอกอีเมล (ไม่บังคับ)',
storeCodePlaceholder: 'กรุณากรอกรหัสร้านค้า',
usernameInvalid: 'ชื่อผู้ใช้สามารถมีได้เฉพาะตัวอักษร ตัวเลข และขีดล่าง',
passwordInvalid: 'ความยาวรหัสผ่านต้องอยู่ระหว่าง 6-20 ตัวอักษร',
phoneInvalid: 'รูปแบบเบอร์โทรศัพท์ไม่ถูกต้อง',
emailInvalid: 'รูปแบบอีเมลไม่ถูกต้อง',
noAccount: 'ยังไม่มีบัญชี?',
hasAccount: 'มีบัญชีแล้ว?',
goRegister: 'ลงทะเบียนตอนนี้',
goLogin: 'เข้าสู่ระบบตอนนี้',
rememberMe: 'จำฉันไว้',
forgotPassword: 'ลืมรหัสผ่าน?',
userInfo: 'ข้อมูลผู้ใช้',
welcome: 'ยินดีต้อนรับ',
lastLoginTime: 'เวลาเข้าสู่ระบบล่าสุด',
lastLoginIp: 'IP เข้าสู่ระบบล่าสุด'
}
}
// 越南语
const vie = {
order: {
fillOrderInfo: 'Điền Thông Tin Đơn Hàng',
productInfo: 'Thông Tin Sản Phẩm',
customerInfo: 'Thông Tin Khách Hàng',
shippingAddress: 'Địa Chỉ Giao Hàng',
customerName: 'Tên Khách Hàng',
customerPhone: 'Số Điện Thoại Khách Hàng',
customerEmail: 'Email Khách Hàng',
shippingName: 'Tên Người Nhận',
shippingPhone: 'Số Điện Thoại Người Nhận',
shippingCountry: 'Quốc Gia Giao Hàng',
addressLine1: 'Địa Chỉ Dòng 1',
addressLine2: 'Địa Chỉ Dòng 2',
state: 'Tỉnh/Thành Phố',
city: 'Thành Phố',
cityTown: 'Thành Phố/Thị Trấn',
postcode: 'Mã Bưu Điện',
postcodeHint: 'Mã bưu điện là {0} chữ số',
remark: 'Ghi Chú',
submit: 'Gửi Đơn Hàng',
back: 'Quay Lại',
pleaseEnter: 'Vui lòng nhập',
optional: 'Tùy chọn',
required: 'Bắt buộc',
addressFormat: 'Định Dạng Địa Chỉ',
phoneCode: 'Mã Điện Thoại',
mustMatchId: 'Phải khớp với ID, hỗ trợ ngôn ngữ địa phương + tiếng Anh',
// 特殊地址字段
blockNumber: 'Số Block',
unitNumber: 'Số Đơn Vị',
barangay: 'Barangay',
addressThai: 'Địa Chỉ Tiếng Thái',
province: 'Tỉnh',
district: 'Thành Phố/Huyện',
ward: 'Quận/Phường',
stateMalaysia: 'Bang',
administrativeArea: 'Khu Vực Hành Chính (Tambon)',
floorUnit: 'Tầng/Đơn Vị/Điểm Thu Gom',
street: 'Địa Chỉ Đường',
subtotal: 'Tổng Phụ',
// 占位符文本
placeholderAddressLine1: 'Vui lòng nhập số nhà, đường, tòa nhà',
placeholderAddressLine2: 'Vui lòng nhập tầng, số đơn vị (tùy chọn)',
placeholderBlockNumber: 'Ví dụ: Blk 123',
placeholderUnitNumber: 'Ví dụ: #01-234',
placeholderBarangay: 'Vui lòng nhập Barangay',
placeholderAddressThai: 'Vui lòng nhập địa chỉ tiếng Thái (hỗ trợ song ngữ)',
placeholderProvince: 'Vui lòng nhập tỉnh',
placeholderDistrict: 'Vui lòng nhập thành phố/huyện',
placeholderWard: 'Vui lòng nhập quận/phường',
placeholderStateMalaysia: 'Ví dụ: Selangor',
placeholderAdministrativeArea: 'Vui lòng nhập khu vực hành chính (Tambon)',
placeholderFloorUnit: 'Thông tin tầng, số đơn vị hoặc điểm thu gom (tùy chọn)',
placeholderStreet: 'Vui lòng nhập địa chỉ đường chi tiết',
placeholderCity: 'Vui lòng nhập thành phố/thị trấn',
placeholderPostcode: 'Vui lòng nhập mã bưu điện',
placeholderRemark: 'Vui lòng nhập ghi chú đơn hàng (tùy chọn)',
// 国家特定占位符
placeholderCityTH: 'Vui lòng nhập huyện (Amphoe)',
placeholderStateTH: 'Tỉnh (Changwat)',
placeholderStatePH: 'Tỉnh',
placeholderStateOptional: 'Tỉnh/Thành Phố (tùy chọn)',
placeholderProvinceVN: 'Vui lòng nhập tỉnh (Tỉnh)',
placeholderDistrictVN: 'Vui lòng nhập thành phố/huyện (Thành phố/Huyện)',
placeholderWardVN: 'Vui lòng nhập quận/phường (Quận/Phường)',
// 验证错误消息
validationRequired: 'Vui lòng nhập {0}',
validationInvalidPhone: 'Vui lòng nhập số điện thoại hợp lệ',
validationInvalidEmail: 'Vui lòng nhập địa chỉ email hợp lệ',
validationSelectCountry: 'Vui lòng chọn quốc gia giao hàng',
validationPostcodeFormat: 'Định dạng mã bưu điện không đúng, phải là {0} chữ số',
validationFillComplete: 'Vui lòng điền đầy đủ thông tin',
validationProductMissing: 'Thiếu thông tin sản phẩm, vui lòng chọn lại sản phẩm',
validationOrderCreateFailed: 'Tạo đơn hàng thất bại',
validationOrderCreateRetry: 'Tạo đơn hàng thất bại, vui lòng thử lại sau',
validationProductParseFailed: 'Phân tích thông tin sản phẩm thất bại',
validationProductInfoMissing: 'Thiếu thông tin sản phẩm',
validationOrderCreateSuccess: 'Tạo đơn hàng thành công'
},
product: {
selectCurrency: 'Chọn Tiền Tệ và Ngôn Ngữ',
selectSku: 'Chọn Thông Số Sản Phẩm (SKU)',
currentPrice: 'Giá Hiện Tại',
quantity: 'Số Lượng',
stock: 'Tồn Kho',
buyNow: 'Mua Ngay',
productDetails: 'Chi Tiết Sản Phẩm',
specifications: 'Thông Số Kỹ Thuật',
outOfStock: 'Hết Hàng',
confirmPurchase: 'Xác Nhận Mua',
cancel: 'Hủy',
unitPrice: 'Đơn Giá',
total: 'Tổng',
confirmPurchaseInfo: 'Xác Nhận Thông Tin Mua',
sku: 'SKU',
noSkuAvailable: 'Không có SKU khả dụng',
selectSkuForPrice: 'Vui lòng chọn SKU để xem giá',
selectSku: 'Vui lòng chọn SKU',
sevenDayReturn: 'Chính sách đổi trả 7 ngày',
authenticGuarantee: 'Đảm bảo chính hãng',
expeditedShipping: 'Giao hàng nhanh',
imageLoadFailed: 'Tải hình ảnh thất bại',
noProductDetails: 'Không có chi tiết sản phẩm',
selectSkuForSpecs: 'Vui lòng chọn SKU để xem thông số kỹ thuật',
skuCode: 'Mã SKU',
price: 'Giá',
weight: 'Trọng lượng',
size: 'Kích thước'
},
confirm: {
orderInfo: 'Thông Tin Đơn Hàng',
orderNo: 'Số Đơn Hàng',
orderStatus: 'Trạng Thái Đơn Hàng',
paymentStatus: 'Trạng Thái Thanh Toán',
payNow: 'Thanh Toán Ngay',
orderAmount: 'Số Tiền Đơn Hàng',
productName: 'Tên Sản Phẩm',
skuName: 'Tên SKU',
quantity: 'Số Lượng',
unitPrice: 'Đơn Giá',
createTime: 'Thời Gian Tạo',
recipient: 'Người Nhận',
recipientPhone: 'Số Điện Thoại Người Nhận',
shippingAddress: 'Địa Chỉ Giao Hàng',
orderRemark: 'Ghi Chú Đơn Hàng',
back: 'Quay Lại',
orderNotFound: 'Không tìm thấy đơn hàng',
notFilled: 'Chưa điền',
addressLine1: 'Địa Chỉ Dòng 1',
addressLine2: 'Địa Chỉ Dòng 2',
addressIncomplete: 'Thông tin địa chỉ không đầy đủ',
postcodeLabel: 'Mã Bưu Điện',
willPayIn: 'Bạn sẽ thanh toán bằng {0}',
actualCost: 'Chi Phí Thực Tế',
approximately: 'Khoảng',
exchangeRate: 'Tỷ Giá',
rateLockedAt: 'Thời Gian Khóa Tỷ Giá',
statusPending: 'Chờ Thanh Toán',
statusPaid: 'Đã Thanh Toán',
statusShipped: 'Đã Giao Hàng',
statusCompleted: 'Hoàn Thành',
statusCancelled: 'Đã Hủy',
currencyUSD: 'Đô La Mỹ',
currencyEUR: 'Euro',
currencyGBP: 'Bảng Anh',
currencyCNY: 'Nhân Dân Tệ',
currencyMYR: 'Ringgit Malaysia',
currencyVND: 'Đồng Việt Nam',
currencyJPY: 'Yên Nhật',
currencyKRW: 'Won Hàn Quốc',
currencyTHB: 'Bạt Thái',
currencySGD: 'Đô La Singapore',
currencyHKD: 'Đô La Hồng Kông',
currencyPHP: 'Peso Philippines'
},
// 用户相关
user: {
login: 'Đăng nhập',
register: 'Đăng ký',
logout: 'Đăng xuất',
username: 'Tên đăng nhập',
password: 'Mật khẩu',
nickName: 'Tên hiển thị',
phone: 'Số điện thoại',
email: 'Email',
storeCode: 'Mã cửa hàng',
loginTitle: 'Đăng nhập người dùng',
registerTitle: 'Đăng ký người dùng',
loginSuccess: 'Đăng nhập thành công',
registerSuccess: 'Đăng ký thành công',
logoutSuccess: 'Đăng xuất thành công',
usernameRequired: 'Vui lòng nhập tên đăng nhập',
passwordRequired: 'Vui lòng nhập mật khẩu',
storeCodeRequired: 'Vui lòng nhập mã cửa hàng',
usernamePlaceholder: 'Vui lòng nhập tên đăng nhập (3-50 ký tự)',
passwordPlaceholder: 'Vui lòng nhập mật khẩu (6-20 ký tự)',
nickNamePlaceholder: 'Vui lòng nhập tên hiển thị (tùy chọn)',
phonePlaceholder: 'Vui lòng nhập số điện thoại (tùy chọn)',
emailPlaceholder: 'Vui lòng nhập email (tùy chọn)',
storeCodePlaceholder: 'Vui lòng nhập mã cửa hàng',
usernameInvalid: 'Tên đăng nhập chỉ có thể chứa chữ cái, số và dấu gạch dưới',
passwordInvalid: 'Độ dài mật khẩu phải từ 6-20 ký tự',
phoneInvalid: 'Định dạng số điện thoại không hợp lệ',
emailInvalid: 'Định dạng email không hợp lệ',
noAccount: 'Chưa có tài khoản?',
hasAccount: 'Đã có tài khoản?',
goRegister: 'Đăng ký ngay',
goLogin: 'Đăng nhập ngay',
rememberMe: 'Ghi nhớ đăng nhập',
forgotPassword: 'Quên mật khẩu?',
userInfo: 'Thông tin người dùng',
welcome: 'Chào mừng',
lastLoginTime: 'Thời gian đăng nhập cuối',
lastLoginIp: 'IP đăng nhập cuối'
}
}
// 印尼语
const id = {
order: {
fillOrderInfo: 'Isi Informasi Pesanan',
productInfo: 'Informasi Produk',
customerInfo: 'Informasi Pelanggan',
shippingAddress: 'Alamat Pengiriman',
customerName: 'Nama Pelanggan',
customerPhone: 'Telepon Pelanggan',
customerEmail: 'Email Pelanggan',
shippingName: 'Nama Penerima',
shippingPhone: 'Telepon Penerima',
shippingCountry: 'Negara Pengiriman',
addressLine1: 'Alamat Baris 1',
addressLine2: 'Alamat Baris 2',
state: 'Provinsi',
city: 'Kota',
postcode: 'Kode Pos',
remark: 'Catatan',
submit: 'Kirim Pesanan',
back: 'Kembali',
pleaseEnter: 'Silakan masukkan',
optional: 'Opsional',
required: 'Diperlukan',
addressFormat: 'Format Alamat',
phoneCode: 'Kode Telepon',
mustMatchId: 'Harus sesuai dengan ID, mendukung bahasa lokal + Inggris'
},
product: {
selectCurrency: 'Pilih Mata Uang dan Bahasa',
selectSku: 'Pilih Spesifikasi Produk (SKU)',
currentPrice: 'Harga Saat Ini',
quantity: 'Jumlah',
stock: 'Stok',
buyNow: 'Beli Sekarang',
productDetails: 'Detail Produk',
specifications: 'Spesifikasi',
outOfStock: 'Kehabisan Stok',
confirmPurchase: 'Konfirmasi Pembelian',
cancel: 'Batal',
unitPrice: 'Harga Satuan',
total: 'Total',
confirmPurchaseInfo: 'Konfirmasi Informasi Pembelian',
sku: 'SKU',
noSkuAvailable: 'Tidak Ada SKU Tersedia',
selectSkuForPrice: 'Silakan pilih SKU untuk melihat harga',
selectSku: 'Silakan pilih SKU',
sevenDayReturn: 'Kebijakan Pengembalian 7 Hari',
authenticGuarantee: 'Jaminan Asli',
expeditedShipping: 'Pengiriman Cepat',
imageLoadFailed: 'Gagal Memuat Gambar',
noProductDetails: 'Tidak Ada Detail Produk',
selectSkuForSpecs: 'Silakan pilih SKU untuk melihat spesifikasi',
skuCode: 'Kode SKU',
price: 'Harga',
weight: 'Berat',
size: 'Ukuran'
},
confirm: {
orderInfo: 'Informasi Pesanan',
orderNo: 'Nomor Pesanan',
orderStatus: 'Status Pesanan',
paymentStatus: 'Status Pembayaran',
payNow: 'Bayar Sekarang',
orderAmount: 'Jumlah Pesanan',
productName: 'Nama Produk',
skuName: 'Nama SKU',
quantity: 'Jumlah',
unitPrice: 'Harga Satuan',
createTime: 'Waktu Pembuatan',
recipient: 'Penerima',
recipientPhone: 'Telepon Penerima',
shippingAddress: 'Alamat Pengiriman',
orderRemark: 'Catatan Pesanan',
back: 'Kembali',
orderNotFound: 'Pesanan tidak ditemukan',
notFilled: 'Tidak diisi',
addressLine1: 'Alamat Baris 1',
addressLine2: 'Alamat Baris 2',
addressIncomplete: 'Informasi alamat tidak lengkap',
postcodeLabel: 'Kode Pos',
willPayIn: 'Anda akan membayar dengan {0}',
actualCost: 'Biaya Aktual',
approximately: 'Sekitar',
exchangeRate: 'Nilai Tukar',
rateLockedAt: 'Waktu Penguncian Nilai Tukar',
statusPending: 'Menunggu Pembayaran',
statusPaid: 'Dibayar',
statusShipped: 'Terkirim',
statusCompleted: 'Selesai',
statusCancelled: 'Dibatalkan',
currencyUSD: 'Dolar AS',
currencyEUR: 'Euro',
currencyGBP: 'Pound Inggris',
currencyCNY: 'Yuan China',
currencyMYR: 'Ringgit Malaysia',
currencyVND: 'Dong Vietnam',
currencyJPY: 'Yen Jepang',
currencyKRW: 'Won Korea Selatan',
currencyTHB: 'Baht Thailand',
currencySGD: 'Dolar Singapura',
currencyHKD: 'Dolar Hong Kong',
currencyPHP: 'Peso Filipina'
},
// 用户相关
user: {
login: 'Masuk',
register: 'Daftar',
logout: 'Keluar',
username: 'Nama Pengguna',
password: 'Kata Sandi',
nickName: 'Nama Panggilan',
phone: 'Telepon',
email: 'Email',
storeCode: 'Kode Toko',
loginTitle: 'Masuk Pengguna',
registerTitle: 'Pendaftaran Pengguna',
loginSuccess: 'Berhasil masuk',
registerSuccess: 'Pendaftaran berhasil',
logoutSuccess: 'Berhasil keluar',
usernameRequired: 'Silakan masukkan nama pengguna',
passwordRequired: 'Silakan masukkan kata sandi',
storeCodeRequired: 'Silakan masukkan kode toko',
usernamePlaceholder: 'Silakan masukkan nama pengguna (3-50 karakter)',
passwordPlaceholder: 'Silakan masukkan kata sandi (6-20 karakter)',
nickNamePlaceholder: 'Silakan masukkan nama panggilan (opsional)',
phonePlaceholder: 'Silakan masukkan nomor telepon (opsional)',
emailPlaceholder: 'Silakan masukkan email (opsional)',
storeCodePlaceholder: 'Silakan masukkan kode toko',
usernameInvalid: 'Nama pengguna hanya dapat berisi huruf, angka dan garis bawah',
passwordInvalid: 'Panjang kata sandi harus antara 6-20 karakter',
phoneInvalid: 'Format nomor telepon tidak valid',
emailInvalid: 'Format email tidak valid',
noAccount: 'Belum punya akun?',
hasAccount: 'Sudah punya akun?',
goRegister: 'Daftar sekarang',
goLogin: 'Masuk sekarang',
rememberMe: 'Ingat saya',
forgotPassword: 'Lupa kata sandi?',
userInfo: 'Informasi Pengguna',
welcome: 'Selamat datang',
lastLoginTime: 'Waktu Masuk Terakhir',
lastLoginIp: 'IP Masuk Terakhir'
}
}
// 货币代码到语言代码的映射
const currencyToLanguage = {
'USD': 'en',
'SGD': 'en',
'CNY': 'zh',
'MYR': 'may',
'PHP': 'fil',
'THB': 'th',
'VND': 'vie',
'IDR': 'id'
}
// 语言代码到翻译文本的映射
const languageMap = {
'zh': zh,
'en': en,
'may': may,
'fil': fil,
'th': th,
'vie': vie,
'id': id
}
/**
* 根据货币代码获取语言代码
*/
export function getLanguageByCurrency(currency) {
return currencyToLanguage[currency?.toUpperCase()] || 'en'
}
/**
* 根据语言代码获取翻译文本
*/
export function getTranslations(language) {
return languageMap[language] || en
}
/**
* 根据货币代码获取翻译文本
*/
export function getTranslationsByCurrency(currency) {
const language = getLanguageByCurrency(currency)
return getTranslations(language)
}
export default {
zh,
en,
may,
fil,
th,
vie,
id,
currencyToLanguage,
languageMap,
getLanguageByCurrency,
getTranslations,
getTranslationsByCurrency
}