/** * 静态翻译文本(不依赖后端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 }