Move e-payment to Settings and add ZarinPal credentials.
Gateway config now lives on the general Settings page, with Mellat fields in a 3-column layout and ZarinPal available at checkout. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
9a59bc8f65
commit
e79211e3cd
@@ -218,7 +218,7 @@ const en = {
|
||||
'home.card.portfolios.link': 'View portfolios',
|
||||
'home.card.portfolios.count': 'portfolios',
|
||||
'home.card.website.title': 'Website',
|
||||
'home.card.website.desc': 'Manage contact forms, FAQ, badges, subscriptions, and e-payment.',
|
||||
'home.card.website.desc': 'Manage contact forms, FAQ, badges, and subscriptions.',
|
||||
'home.card.website.link': 'View website',
|
||||
'home.card.finance.title': 'Finance Management',
|
||||
'home.card.finance.desc': 'Manage invoices and financial transactions.',
|
||||
@@ -728,6 +728,14 @@ const en = {
|
||||
'storeItems.search.noProducts': 'No products available.',
|
||||
'storeItems.search.noMatch': 'No matching products.',
|
||||
'storeItems.search.minChars': 'Type at least {count} characters to search',
|
||||
'storeItems.discount.title': 'Set Discounts',
|
||||
'storeItems.discount.variant': 'Variant',
|
||||
'storeItems.discount.regularPrice': 'Regular price',
|
||||
'storeItems.discount.discountedPrice': 'Discounted price (IRT)',
|
||||
'storeItems.discount.placeholder': 'No discount',
|
||||
'storeItems.discount.save': 'Save discounts',
|
||||
'storeItems.discount.saving': 'Saving…',
|
||||
'storeItems.discount.errorSave': 'Unable to save discounts.',
|
||||
|
||||
'orders.title': 'Orders',
|
||||
'orders.subtitle':
|
||||
@@ -1263,8 +1271,7 @@ const en = {
|
||||
'website.card.faq.link': 'Manage FAQ',
|
||||
'website.card.badges.desc': 'Show trust badges, certifications, and highlights on your website.',
|
||||
'website.card.badges.link': 'Manage badges',
|
||||
'website.card.ePayment.desc': 'Configure online payment gateways and checkout payment options.',
|
||||
'website.card.ePayment.link': 'Manage e-payment',
|
||||
'settings.subtitle': 'Configure online payment gateways and checkout payment options.',
|
||||
|
||||
'website.scrollLeft': 'Scroll left',
|
||||
'website.scrollRight': 'Scroll right',
|
||||
@@ -1281,6 +1288,8 @@ const en = {
|
||||
'website.groupKeyPlaceholder': 'e.g. top-selling',
|
||||
'website.groupKeyHint':
|
||||
'English only — letters, numbers, hyphens, underscores. Used by websites.',
|
||||
'website.groupKeyError':
|
||||
'Use English letters, numbers, hyphens, or underscores only — e.g. special-sale.',
|
||||
'website.groupValue': 'Display title',
|
||||
'website.groupValuePlaceholder': 'Shown on the website in any language',
|
||||
'website.removeFromGroupTitle': 'Remove from Group',
|
||||
@@ -1461,10 +1470,10 @@ const en = {
|
||||
'website.ePayment.subtitle': 'Configure online payment methods for your website checkout.',
|
||||
'website.ePayment.master': 'Enable online payments',
|
||||
'website.ePayment.masterDesc':
|
||||
'When enabled, customers can pay through a configured gateway at website checkout.',
|
||||
'When a gateway is enabled and configured, customers can use it at website checkout or in the app.',
|
||||
'website.ePayment.gateway.mellat': 'Bank Mellat (Behpardakht)',
|
||||
'website.ePayment.gateway.mellatDesc':
|
||||
'First gateway. Enter terminal ID, username, and password from the Mellat merchant panel.',
|
||||
'Enter terminal ID, username, and password from the Mellat merchant panel.',
|
||||
'website.ePayment.gateway.sep': 'SEP (Saman Kish)',
|
||||
'website.ePayment.gateway.sepDesc': 'Saman electronic payment — coming soon.',
|
||||
'website.ePayment.gateway.snappay': 'Snapp Pay',
|
||||
@@ -1916,7 +1925,7 @@ const fa: Record<MessageKey, string> = {
|
||||
'nav.website.sliders': 'اسلایدرها',
|
||||
'nav.website.specialCategories': 'دستههای ویژه',
|
||||
'nav.website.specialBrands': 'برندهای ویژه',
|
||||
'nav.website.specialItems': 'اقلام ویژه',
|
||||
'nav.website.specialItems': 'محصولات ویژه فروشگاه',
|
||||
'nav.website.contact': 'فرم تماس با ما',
|
||||
'nav.website.subscriptions': 'عضویتها',
|
||||
'nav.website.faq': 'سوالات متداول',
|
||||
@@ -2062,7 +2071,7 @@ const fa: Record<MessageKey, string> = {
|
||||
'home.card.videos.link': 'مشاهده ویدیوها',
|
||||
'home.card.videos.count': 'ویدیو',
|
||||
'home.card.website.title': 'وبسایت',
|
||||
'home.card.website.desc': 'فرم تماس، سوالات متداول، نشانها، عضویتها و پرداخت الکترونیک.',
|
||||
'home.card.website.desc': 'فرم تماس، سوالات متداول، نشانها و عضویتها.',
|
||||
'home.card.website.link': 'مشاهده وبسایت',
|
||||
'home.card.finance.title': 'مدیریت مالی',
|
||||
'home.card.finance.desc': 'فاکتورها و تراکنشهای مالی را مدیریت کنید.',
|
||||
@@ -2570,6 +2579,14 @@ const fa: Record<MessageKey, string> = {
|
||||
'storeItems.search.noProducts': 'محصولی موجود نیست.',
|
||||
'storeItems.search.noMatch': 'محصولی یافت نشد.',
|
||||
'storeItems.search.minChars': 'حداقل {count} کاراکتر برای جستجو وارد کنید',
|
||||
'storeItems.discount.title': 'تنظیم تخفیف',
|
||||
'storeItems.discount.variant': 'تنوع',
|
||||
'storeItems.discount.regularPrice': 'قیمت عادی',
|
||||
'storeItems.discount.discountedPrice': 'قیمت با تخفیف (IRT)',
|
||||
'storeItems.discount.placeholder': 'بدون تخفیف',
|
||||
'storeItems.discount.save': 'ذخیره تخفیف',
|
||||
'storeItems.discount.saving': 'در حال ذخیره…',
|
||||
'storeItems.discount.errorSave': 'ذخیره تخفیف ممکن نشد.',
|
||||
|
||||
'orders.title': 'سفارشها',
|
||||
'orders.subtitle':
|
||||
@@ -3096,8 +3113,8 @@ const fa: Record<MessageKey, string> = {
|
||||
'website.card.specialBrands.desc': 'برندهای شریک یا ویژه را در صفحه اصلی وبسایت نمایش دهید.',
|
||||
'website.card.specialBrands.link': 'مدیریت برندها',
|
||||
'website.card.specialItems.desc':
|
||||
'اقلام فروشگاه ویژه را در دستهها برای کاروسلهای وبسایت گردآوری کنید.',
|
||||
'website.card.specialItems.link': 'مدیریت اقلام ویژه',
|
||||
'محصولات ویژه فروشگاه را در دستهها برای کاروسلهای وبسایت گردآوری کنید.',
|
||||
'website.card.specialItems.link': 'مدیریت محصولات ویژه',
|
||||
'website.card.contact.desc': 'ارسالهای فرم تماس وبسایت را مشاهده کنید.',
|
||||
'website.card.contact.link': 'مشاهده ارسالها',
|
||||
'website.card.subscriptions.desc': 'عضویت خبرنامه و گزینههای اشتراک بازدیدکنندگان را مدیریت کنید.',
|
||||
@@ -3106,8 +3123,7 @@ const fa: Record<MessageKey, string> = {
|
||||
'website.card.faq.link': 'مدیریت سوالات متداول',
|
||||
'website.card.badges.desc': 'نشانهای اعتماد، گواهیها و برجستهها را در وبسایت نمایش دهید.',
|
||||
'website.card.badges.link': 'مدیریت نشانها',
|
||||
'website.card.ePayment.desc': 'درگاههای پرداخت آنلاین و گزینههای تسویه حساب را پیکربندی کنید.',
|
||||
'website.card.ePayment.link': 'مدیریت پرداخت الکترونیک',
|
||||
'settings.subtitle': 'درگاههای پرداخت آنلاین و گزینههای تسویه حساب را پیکربندی کنید.',
|
||||
|
||||
'website.scrollLeft': 'اسکرول به چپ',
|
||||
'website.scrollRight': 'اسکرول به راست',
|
||||
@@ -3124,6 +3140,8 @@ const fa: Record<MessageKey, string> = {
|
||||
'website.groupKeyPlaceholder': 'مثلاً: top-selling',
|
||||
'website.groupKeyHint':
|
||||
'فقط انگلیسی — حروف، اعداد، خط تیره و زیرخط. برای استفاده وبسایت.',
|
||||
'website.groupKeyError':
|
||||
'فقط حروف انگلیسی، اعداد، خط تیره یا زیرخط — مثلاً special-sale.',
|
||||
'website.groupValue': 'عنوان نمایشی',
|
||||
'website.groupValuePlaceholder': 'عنوانی که در وبسایت نمایش داده میشود (هر زبانی)',
|
||||
'website.removeFromGroupTitle': 'حذف از گروه',
|
||||
@@ -3217,40 +3235,40 @@ const fa: Record<MessageKey, string> = {
|
||||
'website.specialBrands.pickErrorLoad': 'بارگذاری برندها ممکن نشد.',
|
||||
|
||||
'website.specialItems.subtitle':
|
||||
'اقلام فروشگاه ویژه را برای کاروسلهای وبسایت در دستهها گردآوری کنید.',
|
||||
'محصولات ویژه فروشگاه را برای کاروسلهای وبسایت در دستهها گردآوری کنید.',
|
||||
'website.specialItems.loading': 'در حال بارگذاری دستههای ویژه...',
|
||||
'website.specialItems.empty':
|
||||
'هنوز دسته ویژهای نیست. با دکمه + یکی بسازید، سپس اقلام فروشگاه را به هر کاروسل اضافه کنید.',
|
||||
'هنوز دسته ویژهای نیست. با دکمه + یکی بسازید، سپس محصولات فروشگاه را به هر کاروسل اضافه کنید.',
|
||||
'website.specialItems.errorLoad': 'بارگذاری دستههای ویژه ممکن نشد.',
|
||||
'website.specialItems.errorCreate': 'ایجاد دسته ویژه ممکن نشد.',
|
||||
'website.specialItems.errorUpdate': 'بهروزرسانی دسته ویژه ممکن نشد.',
|
||||
'website.specialItems.errorDelete': 'حذف دسته ویژه ممکن نشد.',
|
||||
'website.specialItems.errorAdd': 'افزودن اقلام فروشگاه ممکن نشد.',
|
||||
'website.specialItems.errorRemove': 'حذف قلم فروشگاه ممکن نشد.',
|
||||
'website.specialItems.errorAdd': 'افزودن محصولات فروشگاه ممکن نشد.',
|
||||
'website.specialItems.errorRemove': 'حذف محصول فروشگاه ممکن نشد.',
|
||||
'website.specialItems.toastCreated': 'دسته ویژه ایجاد شد.',
|
||||
'website.specialItems.toastUpdated': 'دسته ویژه بهروزرسانی شد.',
|
||||
'website.specialItems.toastDeleted': 'دسته ویژه حذف شد.',
|
||||
'website.specialItems.toastAdded': 'اقلام فروشگاه به دسته ویژه افزوده شد.',
|
||||
'website.specialItems.toastAdded': 'محصولات فروشگاه به دسته ویژه افزوده شد.',
|
||||
'website.specialItems.toastRemoved': 'از دسته ویژه حذف شد.',
|
||||
'website.specialItems.addFab': 'افزودن دسته ویژه',
|
||||
'website.specialItems.createTitle': 'افزودن دسته ویژه',
|
||||
'website.specialItems.editTitle': 'ویرایش دسته ویژه',
|
||||
'website.specialItems.deleteTitle': 'حذف دسته ویژه',
|
||||
'website.specialItems.deleteMessage':
|
||||
'«{title}» حذف شود؟ اقلام فروشگاه در کاتالوگ باقی میمانند.',
|
||||
'«{title}» حذف شود؟ محصولات فروشگاه در کاتالوگ باقی میمانند.',
|
||||
'website.specialItems.removeTitle': 'حذف از ویژه',
|
||||
'website.specialItems.removeMessage': '«{name}» از «{group}» حذف شود؟',
|
||||
'website.specialItems.editCategory': 'ویرایش دسته',
|
||||
'website.specialItems.deleteCategory': 'حذف دسته',
|
||||
'website.specialItems.scrollLeft': 'اسکرول به چپ',
|
||||
'website.specialItems.scrollRight': 'اسکرول به راست',
|
||||
'website.specialItems.addItemsTo': 'افزودن اقلام فروشگاه به {title}',
|
||||
'website.specialItems.addItemsTo': 'افزودن محصولات فروشگاه به {title}',
|
||||
'website.specialItems.removeFromSpecial': 'حذف از ویژه',
|
||||
'website.specialItems.pickSubtitle': 'اقلام فروشگاه را برای نمایش در این دسته انتخاب کنید.',
|
||||
'website.specialItems.pickLoading': 'در حال بارگذاری اقلام فروشگاه...',
|
||||
'website.specialItems.pickEmpty': 'همه اقلام فروشگاه قبلاً در این دسته هستند.',
|
||||
'website.specialItems.pickSearch': 'حداقل ۳ حرف برای جستجوی اقلام فروشگاه تایپ کنید',
|
||||
'website.specialItems.pickErrorLoad': 'بارگذاری اقلام فروشگاه ممکن نشد.',
|
||||
'website.specialItems.pickSubtitle': 'محصولات فروشگاه را برای نمایش در این دسته انتخاب کنید.',
|
||||
'website.specialItems.pickLoading': 'در حال بارگذاری محصولات فروشگاه...',
|
||||
'website.specialItems.pickEmpty': 'همه محصولات فروشگاه قبلاً در این دسته هستند.',
|
||||
'website.specialItems.pickSearch': 'حداقل ۳ حرف برای جستجوی محصولات فروشگاه تایپ کنید',
|
||||
'website.specialItems.pickErrorLoad': 'بارگذاری محصولات فروشگاه ممکن نشد.',
|
||||
'website.pick.addOneItem': 'افزودن ۱ قلم',
|
||||
'website.pick.addItems': 'افزودن {count} قلم',
|
||||
|
||||
@@ -3301,10 +3319,10 @@ const fa: Record<MessageKey, string> = {
|
||||
'website.ePayment.subtitle': 'روشهای پرداخت آنلاین برای تسویه حساب وبسایت را پیکربندی کنید.',
|
||||
'website.ePayment.master': 'فعالسازی پرداخت آنلاین',
|
||||
'website.ePayment.masterDesc':
|
||||
'با فعال بودن این گزینه، مشتریان در تسویه حساب وبسایت میتوانند از درگاه پیکربندیشده پرداخت کنند.',
|
||||
'با فعال بودن هر درگاه و پیکربندی آن، مشتریان در تسویه حساب وبسایت و یا اپلیکیشن از آن درگاه استفاده کنند.',
|
||||
'website.ePayment.gateway.mellat': 'بانک ملت (بهپرداخت)',
|
||||
'website.ePayment.gateway.mellatDesc':
|
||||
'اولین درگاه. شناسه ترمینال، نام کاربری و رمز عبور را از پنل پذیرنده ملت وارد کنید.',
|
||||
'شناسه ترمینال، نام کاربری و رمز عبور را از پنل پذیرنده ملت وارد کنید.',
|
||||
'website.ePayment.gateway.sep': 'سپ (سامان کیش)',
|
||||
'website.ePayment.gateway.sepDesc': 'درگاه پرداخت سامان — بهزودی.',
|
||||
'website.ePayment.gateway.snappay': 'اسنپپی',
|
||||
@@ -3379,7 +3397,7 @@ const fa: Record<MessageKey, string> = {
|
||||
'title.sliders': 'اسلایدرها',
|
||||
'title.specialCategories': 'دستههای ویژه',
|
||||
'title.specialBrands': 'برندهای ویژه',
|
||||
'title.specialItems': 'اقلام ویژه',
|
||||
'title.specialItems': 'محصولات ویژه فروشگاه',
|
||||
'title.contactForm': 'فرم تماس با ما',
|
||||
'title.subscriptions': 'عضویتها',
|
||||
'title.faq': 'سوالات متداول',
|
||||
@@ -3860,8 +3878,8 @@ export function getBusinessRouteTitleRules(locale: DashboardLocale): RouteTitleR
|
||||
{ match: '/website/subscriptions', labels: [t('title.website'), t('title.subscriptions')] },
|
||||
{ match: '/website/faq', labels: [t('title.website'), t('title.faq')] },
|
||||
{ match: '/website/badges', labels: [t('title.website'), t('title.badges')] },
|
||||
{ match: '/website/e-payment', labels: [t('title.website'), t('title.ePayment')] },
|
||||
{ match: '/website', labels: [t('title.website')] },
|
||||
{ match: '/settings', labels: [t('title.settings')] },
|
||||
{ match: '/', labels: [t('title.home')] },
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user