206 lines
8.3 KiB
TypeScript
206 lines
8.3 KiB
TypeScript
import type {Locale} from '@/types/domain';
|
|
import type {OrderStatus, PaymentStatus} from '@/types/account';
|
|
|
|
export const orderStatusLabels: Record<Locale, Record<OrderStatus, string>> = {
|
|
fa: {
|
|
registered: 'ثبتشده',
|
|
under_review: 'در حال بررسی',
|
|
needs_information: 'نیازمند تکمیل اطلاعات',
|
|
approved: 'تأییدشده',
|
|
proforma_issued: 'پیشفاکتور صادرشده',
|
|
awaiting_payment: 'در انتظار پرداخت',
|
|
preparing: 'در حال آمادهسازی',
|
|
ready_to_ship: 'آماده ارسال',
|
|
shipped: 'ارسالشده',
|
|
delivered: 'تحویلشده',
|
|
cancelled: 'لغوشده',
|
|
},
|
|
en: {
|
|
registered: 'Registered',
|
|
under_review: 'Under review',
|
|
needs_information: 'More information required',
|
|
approved: 'Approved',
|
|
proforma_issued: 'Proforma issued',
|
|
awaiting_payment: 'Awaiting payment',
|
|
preparing: 'Preparing',
|
|
ready_to_ship: 'Ready to ship',
|
|
shipped: 'Shipped',
|
|
delivered: 'Delivered',
|
|
cancelled: 'Cancelled',
|
|
},
|
|
};
|
|
|
|
export const paymentStatusLabels: Record<Locale, Record<PaymentStatus, string>> = {
|
|
fa: {not_payable: 'در انتظار تأیید', awaiting_payment: 'در انتظار پرداخت', paid: 'پرداختشده', failed: 'ناموفق'},
|
|
en: {not_payable: 'Pending approval', awaiting_payment: 'Awaiting payment', paid: 'Paid', failed: 'Failed'},
|
|
};
|
|
|
|
const fa = {
|
|
login: 'ورود',
|
|
account: 'حساب کاربری',
|
|
dashboard: 'داشبورد',
|
|
profile: 'اطلاعات حساب',
|
|
orders: 'سفارشها',
|
|
logout: 'خروج',
|
|
robotMasterPanel: 'پنل روبات مستر',
|
|
otpLogin: 'ورود با کد یکبارمصرف',
|
|
passwordLogin: 'ورود با رمز عبور',
|
|
phone: 'شماره موبایل',
|
|
password: 'رمز عبور',
|
|
otp: 'کد تأیید',
|
|
sendOtp: 'دریافت کد',
|
|
verifyAndLogin: 'تأیید و ورود',
|
|
loginButton: 'ورود به حساب',
|
|
demoTitle: 'اطلاعات ورود آزمایشی',
|
|
demoOtp: 'کد نمونه: ۱۲۳۴۵',
|
|
demoPassword: 'شماره ۰۹۱۲۳۴۵۶۷۸۹ و رمز ۱۲۳۴۵۶',
|
|
otpSent: 'کد آزمایشی برای این شماره آماده است.',
|
|
invalidPhone: 'شماره موبایل معتبر وارد کنید.',
|
|
invalidCredentials: 'شماره یا رمز عبور صحیح نیست.',
|
|
protectedTitle: 'برای ادامه وارد حساب شوید',
|
|
protectedDescription: 'مشاهده جزئیات دستگاه، سبد خرید و داشبورد فقط پس از ورود امکانپذیر است.',
|
|
openLogin: 'ورود به حساب',
|
|
welcome: 'خوش آمدید',
|
|
dashboardDescription: 'اطلاعات حساب و روند سفارشهای خود را از اینجا مدیریت کنید.',
|
|
profileCompletion: 'تکمیل اطلاعات',
|
|
activeOrders: 'سفارش فعال',
|
|
totalOrders: 'همه سفارشها',
|
|
recentOrders: 'آخرین سفارشها',
|
|
viewAll: 'مشاهده همه',
|
|
save: 'ذخیره اطلاعات',
|
|
saved: 'اطلاعات با موفقیت ذخیره شد.',
|
|
individual: 'شخص حقیقی',
|
|
corporate: 'شخص حقوقی',
|
|
customerType: 'نوع خریدار',
|
|
firstName: 'نام',
|
|
lastName: 'نام خانوادگی',
|
|
email: 'ایمیل',
|
|
province: 'استان',
|
|
city: 'شهر',
|
|
address: 'نشانی کامل',
|
|
postalCode: 'کد پستی',
|
|
preferredCallTime: 'زمان مناسب تماس',
|
|
companyName: 'نام شرکت',
|
|
nationalId: 'شناسه ملی',
|
|
economicCode: 'کد اقتصادی',
|
|
verifiedPhone: 'شماره تأییدشده و قابل ویرایش نیست.',
|
|
orderNumber: 'شماره سفارش',
|
|
orderDate: 'تاریخ ثبت',
|
|
lastUpdate: 'آخرین بهروزرسانی',
|
|
orderStatus: 'وضعیت سفارش',
|
|
paymentStatus: 'وضعیت پرداخت',
|
|
details: 'مشاهده جزئیات',
|
|
orderItems: 'اقلام سفارش',
|
|
quantity: 'تعداد',
|
|
unitPrice: 'قیمت واحد',
|
|
total: 'جمع کل',
|
|
modules: 'ماژولها و امکانات',
|
|
timeline: 'روند سفارش',
|
|
invoice: 'پیشفاکتور',
|
|
invoicePending: 'پیشفاکتور پس از بررسی تلفنی و تأیید ادمین در این بخش قرار میگیرد.',
|
|
downloadPdf: 'دانلود PDF',
|
|
downloadExcel: 'دانلود Excel',
|
|
print: 'چاپ',
|
|
invoiceNumber: 'شماره پیشفاکتور',
|
|
issueDate: 'تاریخ صدور',
|
|
validUntil: 'اعتبار تا',
|
|
buyer: 'خریدار',
|
|
seller: 'فروشنده',
|
|
subtotal: 'جمع اقلام',
|
|
discount: 'تخفیف',
|
|
shipping: 'هزینه ارسال',
|
|
tax: 'مالیات',
|
|
finalTotal: 'مبلغ نهایی',
|
|
sellerName: 'شرکت نگین سازان پیشگام رادمهر آتوسا (روبات مارکت)',
|
|
sellerPhone: 'تلفن سفارش: ۰۹۱۵۱۶۰۱۸۴۷',
|
|
emptyOrders: 'هنوز سفارشی ثبت نشده است.',
|
|
backToOrders: 'بازگشت به سفارشها',
|
|
notFound: 'سفارش پیدا نشد.',
|
|
};
|
|
|
|
export const accountCopy: Record<Locale, typeof fa> = {
|
|
fa,
|
|
en: {
|
|
login: 'Login',
|
|
account: 'Account',
|
|
dashboard: 'Dashboard',
|
|
profile: 'Profile',
|
|
orders: 'Orders',
|
|
logout: 'Log out',
|
|
robotMasterPanel: 'Robot Master Panel',
|
|
otpLogin: 'Login with OTP',
|
|
passwordLogin: 'Login with password',
|
|
phone: 'Mobile number',
|
|
password: 'Password',
|
|
otp: 'Verification code',
|
|
sendOtp: 'Send code',
|
|
verifyAndLogin: 'Verify and login',
|
|
loginButton: 'Login',
|
|
demoTitle: 'Demo credentials',
|
|
demoOtp: 'Demo code: 12345',
|
|
demoPassword: 'Phone 09123456789 and password 123456',
|
|
otpSent: 'The demo code is ready for this number.',
|
|
invalidPhone: 'Enter a valid Iranian mobile number.',
|
|
invalidCredentials: 'Incorrect phone number or password.',
|
|
protectedTitle: 'Log in to continue',
|
|
protectedDescription: 'Product details, cart, and dashboard are available after login.',
|
|
openLogin: 'Login',
|
|
welcome: 'Welcome',
|
|
dashboardDescription: 'Manage your account details and follow your orders.',
|
|
profileCompletion: 'Profile completion',
|
|
activeOrders: 'Active orders',
|
|
totalOrders: 'All orders',
|
|
recentOrders: 'Recent orders',
|
|
viewAll: 'View all',
|
|
save: 'Save profile',
|
|
saved: 'Your profile was saved.',
|
|
individual: 'Individual',
|
|
corporate: 'Company',
|
|
customerType: 'Customer type',
|
|
firstName: 'First name',
|
|
lastName: 'Last name',
|
|
email: 'Email',
|
|
province: 'Province',
|
|
city: 'City',
|
|
address: 'Full address',
|
|
postalCode: 'Postal code',
|
|
preferredCallTime: 'Preferred call time',
|
|
companyName: 'Company name',
|
|
nationalId: 'National ID',
|
|
economicCode: 'Economic code',
|
|
verifiedPhone: 'This verified number cannot be edited.',
|
|
orderNumber: 'Order number',
|
|
orderDate: 'Created',
|
|
lastUpdate: 'Last update',
|
|
orderStatus: 'Order status',
|
|
paymentStatus: 'Payment status',
|
|
details: 'View details',
|
|
orderItems: 'Order items',
|
|
quantity: 'Quantity',
|
|
unitPrice: 'Unit price',
|
|
total: 'Total',
|
|
modules: 'Modules and options',
|
|
timeline: 'Order progress',
|
|
invoice: 'Proforma invoice',
|
|
invoicePending: 'The invoice appears here after phone review and admin approval.',
|
|
downloadPdf: 'Download PDF',
|
|
downloadExcel: 'Download Excel',
|
|
print: 'Print',
|
|
invoiceNumber: 'Invoice number',
|
|
issueDate: 'Issue date',
|
|
validUntil: 'Valid until',
|
|
buyer: 'Buyer',
|
|
seller: 'Seller',
|
|
subtotal: 'Subtotal',
|
|
discount: 'Discount',
|
|
shipping: 'Shipping',
|
|
tax: 'Tax',
|
|
finalTotal: 'Grand total',
|
|
sellerName: 'Negin Sazan Pishgam Radmehr Atousa (Robot Market)',
|
|
sellerPhone: 'Sales: 09151601847',
|
|
emptyOrders: 'No orders have been registered.',
|
|
backToOrders: 'Back to orders',
|
|
notFound: 'Order not found.',
|
|
},
|
|
};
|