Files
dashboards/apps/business/src/i18n/messages.ts
T

2266 lines
128 KiB
TypeScript
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.
import type { DashboardLocale, RouteTitleRule } from '@meshkee/dashboard-core'
const en = {
'app.dashboardName': 'Business Dashboard',
'app.storeFallback': 'Business',
'app.poweredBy': 'powered by Meshkee.app',
'app.userFallback': 'User',
'role.superAdmin': 'Super Admin',
'role.owner': 'Business Owner',
'role.staff': 'Staff',
'nav.home': 'Home',
'nav.businessProfile': 'Business Profile',
'sidebar.addLogo': 'Add logo',
'nav.products': 'Products',
'nav.products.overview': 'Overview',
'nav.products.list': 'My Products',
'nav.products.new': 'Add New Product',
'nav.products.categories': 'Categories',
'nav.products.brands': 'Brands',
'nav.products.settings': 'Settings',
'nav.store': 'Store',
'nav.store.overview': 'Overview',
'nav.store.items': 'My Store Items',
'nav.store.orders': 'My Orders',
'nav.store.shipping': 'Shipping Fees',
'nav.store.cards': 'Shopping Cards',
'nav.store.settings': 'Settings',
'nav.customers': 'Customers',
'nav.settings': 'Settings',
'nav.blog': 'Blog',
'nav.blog.overview': 'Overview',
'nav.blog.list': 'My Blogs',
'nav.blog.new': 'Add New Blog',
'nav.blog.categories': 'Categories',
'nav.blog.settings': 'Settings',
'nav.portfolios': 'Portfolios',
'nav.portfolios.overview': 'Overview',
'nav.portfolios.list': 'My Portfolios',
'nav.portfolios.new': 'Add New Portfolio',
'nav.portfolios.categories': 'Categories',
'nav.portfolios.settings': 'Settings',
'nav.website': 'Website',
'nav.website.overview': 'Overview',
'nav.website.sliders': 'Sliders',
'nav.website.specialCategories': 'Special Categories',
'nav.website.specialBrands': 'Special Brands',
'nav.website.specialItems': 'Special Items',
'nav.website.contact': 'Contact Us Form',
'nav.website.subscriptions': 'Subscriptions',
'nav.website.faq': 'FAQ',
'nav.website.badges': 'Badges',
'nav.website.ePayment': 'E-Payment',
'nav.help': 'Help Center',
'nav.logout': 'Logout',
'header.toggleMenu': 'Toggle menu',
'header.title': 'Admin Dashboard',
'header.messages': 'Messages',
'header.notifications': 'Notifications',
'header.profile': 'Profile',
'header.setting': 'Setting',
'header.changePassword': 'Change password',
'profile.title': 'My Profile',
'profile.subtitle': 'Manage your personal information and contact details.',
'profile.section.general': 'General',
'profile.section.social': 'Social media',
'profile.firstName': 'First name (FA)',
'profile.lastName': 'Last name (FA)',
'profile.firstNameEn': 'First name (EN)',
'profile.lastNameEn': 'Last name (EN)',
'profile.mobile': 'Mobile number',
'profile.email': 'Email',
'profile.emailPlaceholder': 'you@example.com',
'profile.about': 'About yourself',
'profile.addresses': 'Addresses',
'profile.addresses.add': 'Add address',
'profile.addresses.loading': 'Loading addresses...',
'profile.addresses.remove': 'Remove address',
'profile.addresses.error.load': 'Unable to load addresses.',
'profile.addresses.error.incomplete': 'Complete province, city, and address for each row you start.',
'profile.province': 'Province',
'profile.city': 'City',
'profile.postalCode': 'Postal code',
'profile.address': 'Address',
'profile.landline': 'Landline',
'profile.selectProvince': 'Select province',
'profile.selectCity': 'Select city',
'profile.streetPlaceholder': 'Street address',
'profile.instagram': 'Instagram',
'profile.telegram': 'Telegram ID',
'profile.linkedin': 'LinkedIn',
'profile.save': 'Save changes',
'profile.saving': 'Saving...',
'profile.toast.success': 'Profile saved successfully.',
'profile.error.update': 'Unable to save profile.',
'bizProfile.subtitle': 'Manage your storefront identity, contact details, and social links.',
'bizProfile.loading': 'Loading business profile...',
'bizProfile.loadError': 'Unable to load business profile.',
'bizProfile.saveError': 'Unable to save business profile.',
'bizProfile.toast.saved': 'Business profile saved.',
'bizProfile.section.basic': 'Basic info',
'bizProfile.section.contact': 'Contact',
'bizProfile.section.social': 'Social media',
'bizProfile.logo': 'Logo',
'bizProfile.logo.upload': 'Upload logo',
'bizProfile.logo.hint': 'Transparent PNG recommended',
'bizProfile.logo.change': 'Change logo',
'bizProfile.categories': 'Activity categories',
'bizProfile.categories.placeholder': 'Select activity categories',
'bizProfile.nameFa': 'Name (FA)',
'bizProfile.nameEn': 'Name (EN)',
'bizProfile.email': 'Email address',
'bizProfile.about': 'About us',
'bizProfile.vision': 'Our vision',
'bizProfile.addresses': 'Addresses',
'bizProfile.addresses.add': 'Add address',
'bizProfile.province': 'Province',
'bizProfile.city': 'City',
'bizProfile.address': 'Address',
'bizProfile.postalCode': 'Postal code',
'bizProfile.landline': 'Landline',
'bizProfile.selectProvince': 'Select province',
'bizProfile.selectCity': 'Select city',
'bizProfile.streetPlaceholder': 'Street address',
'bizProfile.removeAddress': 'Remove address',
'bizProfile.phones': 'Phone numbers',
'bizProfile.phones.add': 'Add number',
'bizProfile.phones.type': 'Type',
'bizProfile.phones.number': 'Phone number',
'bizProfile.phones.cell': 'Cell number',
'bizProfile.phones.landline': 'Landline',
'bizProfile.phones.remove': 'Remove phone number',
'bizProfile.social.placeholder': '{name} link or ID',
'bizProfile.save': 'Save profile',
'bizProfile.saving': 'Saving...',
'bc.dashboard': 'Dashboard',
'bc.editProduct': 'Edit Product',
'bc.productDetails': 'Product Details',
'bc.editBlog': 'Edit Blog',
'bc.blogDetails': 'Blog Details',
'bc.editPortfolio': 'Edit Portfolio',
'bc.portfolioDetails': 'Portfolio Details',
'home.welcome': 'Welcome back, {name}!',
'home.welcomeFallback': 'there',
'home.subtitle': "Here's what's happening with your store today.",
'home.card.products.title': 'Products',
'home.card.products.desc': 'Manage your products, inventory and categories.',
'home.card.products.link': 'View products',
'home.card.products.count': 'products',
'home.card.store.title': 'Store',
'home.card.store.desc': 'Manage your store settings, pages and themes.',
'home.card.store.link': 'View store',
'home.card.store.count': 'on sale',
'home.card.customers.title': 'Customers',
'home.card.customers.desc': 'View and manage your customers and their activity.',
'home.card.customers.link': 'View customers',
'home.card.customers.count': 'people',
'home.card.settings.title': 'Settings',
'home.card.settings.desc': 'Configure your store preferences and system settings.',
'home.card.settings.link': 'View settings',
'home.card.blog.title': 'Blog',
'home.card.blog.desc': 'Create and manage blog posts and categories.',
'home.card.blog.link': 'View blog',
'home.card.blog.count': 'posts',
'home.card.portfolios.title': 'Portfolios',
'home.card.portfolios.desc': 'Manage your portfolio items and showcase projects.',
'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.link': 'View website',
'home.chart.orders.title': 'Orders',
'home.chart.orders.subtitle': 'Orders and cart adds in the last 30 days',
'home.chart.orders.legend': 'Orders ({count})',
'home.chart.orders.cartLegend': 'Added to basket ({count})',
'home.chart.orders.loading': 'Loading chart...',
'home.chart.orders.error': 'Unable to load order activity.',
'home.chart.orders.bar': '{day}: {count} orders',
'home.chart.orders.cartBar': '{day}: {count} added to basket',
'home.chart.customers.title': 'Customers',
'home.chart.customers.subtitle': 'Registrations and active users in the last 30 days',
'home.chart.customers.legend': 'Registered ({count})',
'home.chart.customers.activeLegend': 'Active ({count})',
'home.chart.customers.loading': 'Loading chart...',
'home.chart.customers.error': 'Unable to load customer activity.',
'home.chart.customers.bar': '{day}: {count} registered',
'home.chart.customers.activeBar': '{day}: {count} active',
'home.chart.customersJoined.title': 'Customers joined',
'home.chart.customersJoined.subtitle': 'Registrations and active users in the last year',
'home.chart.customersJoined.legend': 'Registered ({count})',
'home.chart.customersJoined.activeLegend': 'Active ({count})',
'home.chart.customersJoined.loading': 'Loading chart...',
'home.chart.customersJoined.error': 'Unable to load customer activity.',
'home.chart.customersJoined.bar': '{day}: {count} registered',
'home.chart.customersJoined.activeBar': '{day}: {count} active',
'home.chart.blogViews.title': 'Article views',
'home.chart.blogViews.subtitle': 'Blog article views in the last 30 days',
'home.chart.placeholder.title': 'Chart',
'home.chart.placeholder.subtitle': 'This chart will appear here once available.',
'home.chart.placeholder.comingSoon': 'Coming soon',
'products.overview.subtitle': 'Manage your products, inventory and categories.',
'products.card.list.desc': 'View, edit and manage all your existing products.',
'products.card.new.title': 'Add a New Product',
'products.card.new.desc': 'Create and publish a new product to your store.',
'products.form.edit.subtitle': 'Update product details and save changes.',
'products.card.categories.desc': 'Organize your products into categories and subcategories.',
'products.card.brands.desc': 'Manage product brands and assign them when creating products.',
'products.card.settings.desc': 'Configure product defaults, variants and display options.',
'products.activity.title': 'Product activity',
'products.activity.subtitle': 'Products added or updated in the last 12 months',
'products.activity.added': 'Added ({count})',
'products.activity.updated': 'Updated ({count})',
'products.activity.loading': 'Loading chart...',
'products.activity.error': 'Unable to load product activity.',
'products.activity.chartAria': 'Bar chart of products added and updated per month',
'products.activity.barAdded': '{month}: {count} added',
'products.activity.barUpdated': '{month}: {count} updated',
'products.list.subtitle': '{count} products · View, edit and manage your catalog.',
'products.list.filters': 'Filters',
'products.list.filterName': 'Name',
'products.list.filterNamePlaceholder': 'Search by product name',
'products.list.search': 'Search',
'products.list.clearFilters': 'Clear filters',
'products.list.loading': 'Loading products...',
'products.list.empty': 'No products found.',
'products.list.emptyFiltered': 'No products match your filters.',
'products.list.errorLoad': 'Unable to load products.',
'products.list.errorDelete': 'Unable to delete product.',
'products.list.pagination': 'Page {page} / {totalPages} · {perPage} per page · {total} total',
'products.list.deleteTitle': 'Delete Product',
'products.list.deleteMessage':
'Are you sure you want to delete "{name}"? This action cannot be undone.',
'products.list.addByAi': 'Add product by AI',
'products.list.addNew': 'Add new product',
'products.card.edit': 'Edit product',
'products.card.quickInfo': 'Quick info',
'products.card.variations': 'Manage variations',
'products.card.comments': 'View comments',
'products.card.technical': 'Technical data',
'products.card.remove': 'Remove product',
'products.card.draft': 'Draft',
'products.form.errorOptions': 'Unable to load form options.',
'products.form.errorSave': 'Unable to save product.',
'products.form.thumbnail': 'Thumbnail Image',
'products.form.thumbnailUpload': 'Upload thumbnail image',
'products.form.thumbnailHint': 'Click to select, then crop',
'products.form.thumbnailChange': 'Change thumbnail',
'products.form.thumbnailRemove': 'Remove thumbnail',
'products.form.zoom': 'Zoom',
'products.form.applyCrop': 'Apply Crop',
'products.form.category': 'Category',
'products.form.categoryPlaceholder': 'Search and select category...',
'products.form.brand': 'Brand',
'products.form.optional': '(optional)',
'products.form.brandPlaceholder': 'Search and select brand...',
'products.form.nameFa': 'Name (FA)',
'products.form.nameFaPlaceholder': 'نام محصول',
'products.form.nameEn': 'Name (EN)',
'products.form.nameEnPlaceholder': 'Product name',
'products.form.summary': 'Summary',
'products.form.summaryPlaceholder': 'Short summary shown in product listings',
'products.form.description': 'Description',
'products.form.descriptionPlaceholder': 'Full product description with formatting...',
'products.form.images': 'Product Images',
'products.form.imagesAdd': 'Add images',
'products.form.imagesHint': 'Upload multiple product images. Click + to add more.',
'products.form.imagesRemove': 'Remove image {index}',
'products.form.tags': 'Tags',
'products.form.tagsPlaceholder': 'Type a tag and press Enter',
'products.form.cancel': 'Cancel',
'products.form.saving': 'Saving...',
'products.form.save': 'Save Product',
'products.form.update': 'Update Product',
'categories.page.subtitle': 'Manage your product categories and subcategories.',
'categories.loading': 'Loading categories...',
'categories.empty': 'No categories yet. Use + or AI to add categories.',
'categories.add': 'Add Category',
'categories.addSub': 'Add Sub Category',
'categories.edit': 'Edit Category',
'categories.addByAi': 'Fill categories by AI',
'categories.deleteTitle': 'Delete Category',
'categories.deleteMessage':
'Are you sure you want to delete "{name}"? Subcategories will also be removed.',
'categories.tooltip.addSub': 'Add sub category',
'categories.tooltip.edit': 'Edit category',
'categories.tooltip.variations': 'Manage variations',
'categories.tooltip.technical': 'Technical data form',
'categories.tooltip.options': 'Category options',
'categories.tooltip.remove': 'Remove category',
'categories.modal.parent': 'Parent Category',
'categories.modal.nameFa': 'Name (FA)',
'categories.modal.nameEn': 'Name (EN)',
'categories.modal.description': 'Description',
'categories.modal.nameFaPlaceholder': 'نام دسته‌بندی',
'categories.modal.nameEnPlaceholder': 'Category name',
'categories.modal.descriptionPlaceholder': 'Short description of this category',
'categories.modal.cancel': 'Cancel',
'categories.modal.save': 'Save Category',
'categories.modal.saving': 'Saving...',
'categories.select.search': 'Search categories...',
'categories.select.none': '— None (root category) —',
'categories.select.empty': 'No categories found',
'categories.select.clear': 'Clear selection',
'brands.page.subtitle': 'Manage product brands for your store catalog.',
'brands.loading': 'Loading brands...',
'brands.empty': 'No brands yet. Click + to add one.',
'brands.add': 'Add Brand',
'brands.edit': 'Edit Brand',
'brands.deleteTitle': 'Delete Brand',
'brands.deleteMessage':
'Are you sure you want to delete "{name}"? Products linked to this brand will have their brand cleared.',
'brands.toast.created': 'Brand created.',
'brands.toast.updated': 'Brand updated.',
'brands.toast.deleted': 'Brand deleted.',
'brands.errorLoad': 'Unable to load brands.',
'brands.errorSave': 'Unable to save brand.',
'brands.errorDelete': 'Unable to delete brand.',
'brands.tooltip.edit': 'Edit brand',
'brands.tooltip.remove': 'Remove brand',
'brands.modal.logo': 'Brand logo',
'brands.modal.uploadLogo': 'Upload brand logo',
'brands.modal.logoHint': 'PNG only — transparent background recommended',
'brands.modal.changeLogo': 'Change logo',
'brands.modal.nameFa': 'Name (FA)',
'brands.modal.nameEn': 'Name (EN)',
'brands.modal.about': 'About',
'brands.modal.nameFaPlaceholder': 'نام برند',
'brands.modal.nameEnPlaceholder': 'Brand name',
'brands.modal.aboutPlaceholder': 'Short description of this brand',
'brands.modal.cancel': 'Cancel',
'brands.modal.save': 'Save Brand',
'brands.modal.saving': 'Saving...',
'productSettings.title': 'Product settings',
'productSettings.subtitle': 'Configure how comments and expert reviews are moderated.',
'productSettings.moderation': 'Moderation',
'productSettings.loading': 'Loading settings...',
'productSettings.errorLoad': 'Unable to load settings.',
'productSettings.errorSave': 'Unable to save settings.',
'productSettings.saved': 'Settings saved.',
'productSettings.commentsAuto': 'Auto-approve comments',
'productSettings.commentsAutoDesc':
'New comments are published immediately when submitted. You can still reject them later if needed.',
'productSettings.reviewsAuto': 'Auto-approve expert reviews',
'productSettings.reviewsAutoDesc':
'New expert reviews are published immediately when submitted. You can still reject them later if needed.',
'store.page.subtitle': 'Manage your store items, orders and settings.',
'store.card.items.desc': 'View and manage all items listed in your store.',
'store.card.items.link': 'View items',
'store.card.orders.desc': 'Track and manage customer orders and fulfillment.',
'store.card.orders.link': 'View orders',
'store.card.shipping.desc': 'Configure shipping rates, zones and delivery options.',
'store.card.shipping.link': 'Manage shipping',
'store.card.cards.desc': 'Manage saved shopping cards and payment methods.',
'store.card.cards.link': 'View cards',
'store.card.settings.desc': 'Configure store preferences, pages and themes.',
'store.card.settings.link': 'View settings',
'storeItems.subtitle': 'Products for sale with one or more priced variants.',
'storeItems.filters': 'Filters',
'storeItems.filterName': 'Name',
'storeItems.filterNamePlaceholder': 'Search by product name',
'storeItems.minPrice': 'Min price (IRT)',
'storeItems.maxPrice': 'Max price (IRT)',
'storeItems.onlyDiscounted': 'Only discounted',
'storeItems.search': 'Search',
'storeItems.clearFilters': 'Clear filters',
'storeItems.loading': 'Loading store items...',
'storeItems.empty': 'No store items yet. Use the + button to add products from your catalog.',
'storeItems.emptyFiltered': 'No store items match your filters.',
'storeItems.errorLoad': 'Unable to load store items.',
'storeItems.errorRemove': 'Unable to remove store item.',
'storeItems.add': 'Add store items',
'storeItems.cartOpen': 'Open shopping cart, {count} items',
'storeItems.cartOne': 'item in cart',
'storeItems.cartMany': 'items in cart',
'storeItems.addedToCart': 'Added to shopping cart.',
'storeItems.deleteTitle': 'Remove from Store',
'storeItems.deleteMessage':
'Remove "{name}" and all {variants} from your store? This cannot be undone.',
'storeItems.card.inStock': '{count} in stock',
'storeItems.card.festival': 'Festival',
'storeItems.card.variantOne': '1 variant',
'storeItems.card.variantMany': '{count} variants',
'storeItems.card.edit': 'Edit store items',
'storeItems.card.discount': 'Set discounts',
'storeItems.card.festivalPoints': 'Festival reward points',
'storeItems.card.remove': 'Remove from store',
'storeItems.card.addToCart': 'Add to shopping cart',
'storeItems.pick.title': 'Choose variant',
'storeItems.pick.inStock': '{count} in stock',
'storeItems.create.title': 'Add Store Items',
'storeItems.create.subtitle': "Create sellable variants from a product's variations.",
'storeItems.create.productPlaceholder': 'Product — type 3+ characters to search',
'storeItems.create.loadingVariations': 'Loading product variations...',
'storeItems.create.price': 'Price (IRT)',
'storeItems.create.stock': 'Stock',
'storeItems.create.removeRow': 'Remove row',
'storeItems.create.addRow': 'Add row',
'storeItems.create.cancel': 'Cancel',
'storeItems.create.submit': 'Create store items',
'storeItems.create.submitting': 'Creating…',
'storeItems.create.errorProducts': 'Unable to load products.',
'storeItems.create.errorVariations': 'Unable to load product variations.',
'storeItems.create.errorCreate': 'Unable to create store items.',
'storeItems.edit.title': 'Edit Store Items',
'storeItems.edit.save': 'Save changes',
'storeItems.edit.saving': 'Saving…',
'storeItems.edit.errorSave': 'Unable to save store items.',
'storeItems.search.clear': 'Clear selection',
'storeItems.search.noProducts': 'No products available.',
'storeItems.search.noMatch': 'No matching products.',
'storeItems.search.minChars': 'Type at least {count} characters to search',
'orders.title': 'Orders',
'orders.subtitle':
'Track customer orders placed through your website, application, or by operators.',
'orders.filters': 'Filters',
'orders.filter.orderId': 'Order ID',
'orders.filter.customer': 'Customer name or number',
'orders.filter.dateFrom': 'Date from',
'orders.filter.dateTo': 'Date to',
'orders.filter.minCost': 'Min cost (IRT)',
'orders.filter.maxCost': 'Max cost (IRT)',
'orders.search': 'Search',
'orders.clearFilters': 'Clear filters',
'orders.listTitle': 'Order list',
'orders.showing': 'Showing {from} - {to} of {total}',
'orders.none': 'No orders',
'orders.empty': 'No results found.',
'orders.loading': 'Loading orders...',
'orders.error.load': 'Unable to load orders.',
'orders.error.minMax': 'Minimum cost cannot be greater than maximum cost.',
'orders.error.remove': 'Unable to remove order.',
'orders.removed': 'Order {orderNumber} has been removed.',
'orders.col.orderId': 'Order ID',
'orders.col.customer': 'Customer',
'orders.col.items': 'Items',
'orders.col.total': 'Total cost',
'orders.col.date': 'Date & time',
'orders.col.step': 'Step',
'orders.col.source': 'Registered by',
'orders.col.actions': 'Actions',
'orders.pageMeta': 'Page {page} / {totalPages} · {pageSize} per page · {total} total',
'orders.viewItems': 'View items',
'orders.transactions': 'Transaction details',
'orders.remove': 'Remove order',
'orders.changeStep': 'Change step: {step}',
'orders.deleteTitle': 'Remove order?',
'orders.deleteMessage': 'Remove order {orderNumber}? This cannot be undone.',
'orders.source.operator': 'Operator',
'orders.source.app': 'Application',
'orders.source.website': 'Website',
'shoppingCards.title': 'Shopping cards',
'shoppingCards.subtitle': 'Saved operator carts waiting to be completed as orders.',
'shoppingCards.listTitle': 'Shopping card list',
'shoppingCards.none': 'No shopping cards',
'shoppingCards.empty': 'No results found.',
'shoppingCards.loading': 'Loading shopping cards...',
'shoppingCards.error.load': 'Unable to load shopping cards.',
'shoppingCards.error.remove': 'Unable to remove shopping card.',
'shoppingCards.removed': 'Shopping card removed.',
'shoppingCards.continue': 'Continue',
'shoppingCards.continueAria': 'Continue shopping card',
'shoppingCards.remove': 'Remove card',
'shoppingCards.removeAria': 'Remove shopping card',
'shoppingCards.deleteTitle': 'Remove shopping card?',
'shoppingCards.deleteMessage':
'Remove this shopping card for {name}? This cannot be undone.',
'storeSettings.title': 'Store settings',
'storeSettings.subtitle':
'Control online sales and define how orders move through fulfillment.',
'storeSettings.sales': 'Sales',
'storeSettings.onlineSell': 'Online sell',
'storeSettings.onlineSellDesc':
'When disabled, all sales on your website are turned off. Customers will not be able to place new orders online.',
'storeSettings.orderProcess': 'Order process',
'storeSettings.orderProcessDesc':
'Define the steps an order can move through — for example: under processing, ready for shipping, shipped, delivered.',
'storeSettings.labelEn': 'Label (EN)',
'storeSettings.labelFa': 'عنوان (فارسی)',
'storeSettings.stepEnAria': 'Order step {index} English label',
'storeSettings.stepFaAria': 'Order step {index} Farsi label',
'storeSettings.stepColorAria': 'Color for step {index}',
'storeSettings.moveUp': 'Move step up',
'storeSettings.moveDown': 'Move step down',
'storeSettings.removeStep': 'Remove step',
'storeSettings.addStep': 'Add step',
'storeSettings.saveSteps': 'Save steps',
'storeSettings.saving': 'Saving...',
'storeSettings.emptySteps':
'No order steps yet. Add the first step to define your workflow.',
'storeSettings.error.minSteps': 'Add at least one order process step.',
'storeSettings.error.labels': 'Every order step needs an English and Farsi label.',
'storeSettings.error.saveSteps': 'Unable to save order process steps.',
'storeSettings.stepsSaved': 'Order process steps saved.',
'customers.title': 'Customers',
'customers.subtitle':
'View customers who have registered or ordered from your business.',
'customers.filters': 'Filters',
'customers.filter.name': 'Search by name',
'customers.filter.cell': 'Cell number',
'customers.search': 'Search',
'customers.clearFilters': 'Clear filters',
'customers.listTitle': 'Customer list',
'customers.showing': 'Showing {from} - {to} of {total}',
'customers.none': 'No customers',
'customers.empty': 'No results found.',
'customers.loading': 'Loading customers...',
'customers.pageMeta': 'Page {page} / {totalPages} · {pageSize} per page · {total} total',
'customers.col.name': 'Name',
'customers.col.cell': 'Cell number',
'customers.col.email': 'Email',
'customers.col.orders': 'Orders',
'customers.col.transactions': 'Transactions',
'customers.col.date': 'Date joined',
'customers.col.actions': 'Actions',
'customers.noOrders': 'No order yet',
'customers.disabled': 'Disabled',
'customers.enable': 'Enable customer',
'customers.disable': 'Disable customer',
'customers.enableAria': 'Enable {name}',
'customers.disableAria': 'Disable {name}',
'customers.edit': 'Edit customer',
'customers.sms': 'Send SMS',
'customers.tickets': 'Tickets',
'customers.remove': 'Remove customer',
'customers.add': 'Add customer',
'customers.error.load': 'Unable to load customers.',
'customers.error.update': 'Unable to update customer.',
'customers.error.remove': 'Unable to remove customer.',
'customers.toast.enabled': '"{name}" has been enabled.',
'customers.toast.disabled': '"{name}" has been disabled.',
'customers.toast.removed': '"{name}" has been removed.',
'customers.toast.updated': '"{name}" has been updated.',
'customers.toast.added': '"{name}" has been added.',
'customers.toast.smsSoon': 'SMS to {phone} is not available yet.',
'customers.toast.ticketsSoon': 'Tickets for "{name}" are not available yet.',
'customers.deleteTitle': 'Remove customer?',
'customers.deleteMessage':
'Remove "{name}" from your business? Their account will not be deleted.',
'customers.addModal.title': 'Add customer',
'customers.addModal.subtitle':
'Creates a verified customer account or links an existing user to your business.',
'customers.addModal.hint':
'Password is required only for new accounts. Existing users are added as verified customers.',
'customers.addModal.firstName': 'First name',
'customers.addModal.lastName': 'Last name',
'customers.addModal.cell': 'Cell number',
'customers.addModal.cellPlaceholder': '0912...',
'customers.addModal.password': 'Password (new users)',
'customers.addModal.passwordPlaceholder': 'Min. 8 characters',
'customers.addModal.passwordConfirm': 'Retype password',
'customers.addModal.passwordConfirmPlaceholder': 'Repeat password',
'customers.addModal.cancel': 'Cancel',
'customers.addModal.submit': 'Add customer',
'customers.addModal.error': 'Unable to add customer.',
'customers.addModal.errorPasswordMatch': 'Passwords do not match.',
'customers.addModal.errorPasswordLength': 'Password must be at least 8 characters.',
'blog.page.subtitle': 'Create and manage blog posts and categories.',
'blog.card.list.desc': 'View, edit and manage all your blog posts.',
'blog.card.list.link': 'View blogs',
'blog.card.new.desc': 'Create and publish a new blog post.',
'blog.card.new.link': 'Add blog',
'blog.card.categories.title': 'Blog Categories',
'blog.card.categories.desc': 'Organize your blog posts into categories and subcategories.',
'blog.card.categories.link': 'View categories',
'blog.card.settings.desc': 'Configure blog comment moderation and display options.',
'blog.card.settings.link': 'View settings',
'blog.list.subtitle': '{count} posts · View, edit and manage your blog content.',
'blog.list.loading': 'Loading blog posts...',
'blog.list.empty': 'No blog posts found.',
'blog.list.errorLoad': 'Unable to load blog posts.',
'blog.list.errorDelete': 'Unable to delete blog post.',
'blog.list.errorVerify': 'Unable to update blog verification.',
'blog.list.toast.removed': 'Blog post removed.',
'blog.list.toast.verified': 'Blog verified.',
'blog.list.toast.unverified': 'Blog unverified.',
'blog.list.deleteTitle': 'Delete Blog Post',
'blog.list.deleteMessage':
'Are you sure you want to delete "{name}"? This action cannot be undone.',
'blog.list.addNew': 'Add new blog',
'blog.card.edit': 'Edit blog',
'blog.card.verify': 'Verify blog',
'blog.card.unverify': 'Unverify blog',
'blog.card.comments': 'View comments',
'blog.card.remove': 'Remove blog',
'blog.card.waiting': 'Waiting',
'blog.card.verified': 'Verified',
'blog.card.noSummary': 'No summary yet.',
'blog.settings.title': 'Blog settings',
'blog.settings.subtitle': 'Configure how blog comments are moderated.',
'blog.settings.commentsAuto': 'Auto-approve comments',
'blog.settings.commentsAutoDesc':
'New blog comments are published immediately when submitted. You can still reject them later if needed.',
'blog.settings.commentsAutoAria': 'Auto-approve blog comments',
'blog.categories.title': 'Blog Categories',
'blog.categories.subtitle': 'Organize your blog posts into categories and subcategories.',
'blog.categories.empty': 'No categories yet. Click + to add one.',
'blog.categories.errorLoad': 'Unable to load categories.',
'blog.categories.errorSave': 'Unable to save category.',
'blog.categories.errorDelete': 'Unable to delete category.',
'blog.form.add.subtitle': 'Create and publish a new blog post.',
'blog.form.edit.subtitle': 'Update blog post details and save changes.',
'blog.form.cancel': 'Cancel',
'blog.form.saving': 'Saving...',
'blog.form.save': 'Save Blog',
'blog.form.update': 'Update Blog',
'blog.form.errorSave': 'Unable to save blog post.',
'blog.form.toast.created': 'Blog post created.',
'blog.form.toast.updated': 'Blog post updated.',
'blog.form.titleImage': 'Title Image',
'blog.form.uploadTitleImage': 'Upload title image',
'blog.form.changeTitleImage': 'Change title image',
'blog.form.cropHint': 'Click to select, then crop',
'blog.form.type': 'Type',
'blog.form.category': 'Category',
'blog.form.categoryPlaceholder': 'Search and select category...',
'blog.form.title': 'Title',
'blog.form.titlePlaceholder': 'Blog post title',
'blog.form.abstract': 'Abstract',
'blog.form.abstractPlaceholder': 'Short summary shown in blog listings',
'blog.form.mainText': 'Main Text',
'blog.form.mainTextPlaceholder': 'Full blog content with formatting and images...',
'blog.form.tags': 'Tags',
'blog.form.type.article': 'Article',
'blog.form.type.news': 'News',
'blog.form.type.blog': 'Blog',
'blog.details.loading': 'Loading blog post...',
'blog.details.notFound': 'Blog post not found.',
'blog.details.errorLoad': 'Unable to load blog post.',
'blog.details.back': 'Back to My Blogs',
'blog.details.noContent': 'No content yet.',
'blog.details.author': 'Author',
'portfolio.page.subtitle': 'Manage your portfolio items and showcase projects.',
'portfolio.card.list.desc': 'View, edit and manage all your portfolio items.',
'portfolio.card.list.link': 'View portfolios',
'portfolio.card.new.desc': 'Create and publish a new portfolio project.',
'portfolio.card.new.link': 'Add portfolio',
'portfolio.card.categories.title': 'Portfolio Categories',
'portfolio.card.categories.desc': 'Organize portfolio items into categories and subcategories.',
'portfolio.card.categories.link': 'View categories',
'portfolio.card.settings.desc': 'Configure portfolio comment moderation and display options.',
'portfolio.card.settings.link': 'View settings',
'portfolio.list.subtitle': '{count} items · View, edit and manage your portfolio content.',
'portfolio.list.loading': 'Loading portfolios...',
'portfolio.list.empty': 'No portfolio items found.',
'portfolio.list.errorLoad': 'Unable to load portfolios.',
'portfolio.list.errorDelete': 'Unable to delete portfolio.',
'portfolio.list.errorMove': 'Unable to move portfolio.',
'portfolio.list.toast.removed': 'Portfolio removed.',
'portfolio.list.toast.movedUp': 'Portfolio moved up.',
'portfolio.list.deleteTitle': 'Delete Portfolio',
'portfolio.list.deleteMessage':
'Are you sure you want to delete "{name}"? This action cannot be undone.',
'portfolio.list.addNew': 'Add new portfolio',
'portfolio.card.moveUp': 'Move up',
'portfolio.card.edit': 'Edit portfolio',
'portfolio.card.comments': 'View comments',
'portfolio.card.remove': 'Remove portfolio',
'portfolio.card.noSummary': 'No summary yet.',
'portfolio.settings.title': 'Portfolio settings',
'portfolio.settings.subtitle': 'Configure how portfolio comments are moderated.',
'portfolio.settings.commentsAuto': 'Auto-approve comments',
'portfolio.settings.commentsAutoDesc':
'New portfolio comments are published immediately when submitted. You can still reject them later if needed.',
'portfolio.settings.commentsAutoAria': 'Auto-approve portfolio comments',
'portfolio.categories.title': 'Portfolio Categories',
'portfolio.categories.subtitle':
'Organize your portfolio items into categories and subcategories.',
'portfolio.categories.empty': 'No categories yet. Click + to add one.',
'portfolio.categories.errorLoad': 'Unable to load categories.',
'portfolio.categories.errorSave': 'Unable to save category.',
'portfolio.categories.errorDelete': 'Unable to delete category.',
'portfolio.form.add.subtitle': 'Create and publish a new portfolio project.',
'portfolio.form.edit.subtitle': 'Update portfolio details and save changes.',
'portfolio.form.cancel': 'Cancel',
'portfolio.form.saving': 'Saving...',
'portfolio.form.save': 'Save Portfolio',
'portfolio.form.update': 'Update Portfolio',
'portfolio.form.errorSave': 'Unable to save portfolio.',
'portfolio.form.toast.created': 'Portfolio created.',
'portfolio.form.toast.updated': 'Portfolio updated.',
'portfolio.form.titleImage': 'Title Image',
'portfolio.form.aspectAria': 'Title image aspect ratio',
'portfolio.form.aspect.square': 'Square',
'portfolio.form.aspect.reel': '9:16 (Reel)',
'portfolio.form.uploadTitleImage': 'Upload title image',
'portfolio.form.changeTitleImage': 'Change title image',
'portfolio.form.cropHint': 'Click to select, then crop',
'portfolio.form.category': 'Category',
'portfolio.form.categoryPlaceholder': 'Search and select category...',
'portfolio.form.titleFa': 'Title (FA)',
'portfolio.form.titleFaPlaceholder': 'عنوان فارسی',
'portfolio.form.titleEn': 'Title (EN)',
'portfolio.form.titleEnPlaceholder': 'English title',
'portfolio.form.abstract': 'Abstract',
'portfolio.form.abstractPlaceholder': 'Short summary shown in portfolio listings',
'portfolio.form.mainText': 'Main Text',
'portfolio.form.mainTextPlaceholder': 'Full portfolio content with formatting and images...',
'portfolio.form.gallery': 'Image Gallery',
'portfolio.form.tags': 'Tags',
'portfolio.details.loading': 'Loading portfolio...',
'portfolio.details.notFound': 'Portfolio not found.',
'portfolio.details.errorLoad': 'Unable to load portfolio.',
'portfolio.details.back': 'Back to My Portfolios',
'portfolio.details.noContent': 'No content yet.',
'portfolio.details.gallery': 'Gallery',
'portfolio.details.galleryImage': 'View gallery image {index}',
'website.page.subtitle': 'Manage public website content, forms, and customer-facing settings.',
'website.card.sliders.desc': 'Manage homepage banner sliders and promotional image carousels.',
'website.card.sliders.link': 'Manage sliders',
'website.card.specialCategories.desc':
'Highlight selected product categories on your website homepage.',
'website.card.specialCategories.link': 'Manage categories',
'website.card.specialBrands.desc': 'Showcase partner or featured brands on your website homepage.',
'website.card.specialBrands.link': 'Manage brands',
'website.card.specialItems.desc':
'Curate featured store items into categories for your website carousels.',
'website.card.specialItems.link': 'Manage special items',
'website.card.contact.desc': 'View submissions from your website contact form.',
'website.card.contact.link': 'View submissions',
'website.card.subscriptions.desc':
'Manage newsletter sign-ups and subscription options for visitors.',
'website.card.subscriptions.link': 'Manage subscriptions',
'website.card.faq.desc': 'Create and organize frequently asked questions for your website.',
'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',
'website.scrollLeft': 'Scroll left',
'website.scrollRight': 'Scroll right',
'website.editGroup': 'Edit group',
'website.deleteGroup': 'Delete group',
'website.removeFromGroup': 'Remove from group',
'website.save': 'Save',
'website.create': 'Create',
'website.adding': 'Adding...',
'website.saving': 'Saving...',
'website.groupTitle': 'Group title',
'website.groupTitlePlaceholder': 'e.g. Featured, Best Sellers',
'website.groupKey': 'Key (English)',
'website.groupKeyPlaceholder': 'e.g. top-selling',
'website.groupKeyHint':
'English only — letters, numbers, hyphens, underscores. Used by websites.',
'website.groupValue': 'Display title',
'website.groupValuePlaceholder': 'Shown on the website in any language',
'website.removeFromGroupTitle': 'Remove from Group',
'website.removeFromGroupMessage': 'Remove "{name}" from "{group}"?',
'website.pick.addTo': 'Add to {title}',
'website.pick.addOneCategory': 'Add 1 category',
'website.pick.addCategories': 'Add {count} categories',
'website.pick.addOneBrand': 'Add 1 brand',
'website.pick.addBrands': 'Add {count} brands',
'website.sliders.subtitle': 'Manage homepage banner slides in a 9:4 gallery.',
'website.sliders.loading': 'Loading slides...',
'website.sliders.errorLoad': 'Unable to load slides.',
'website.sliders.errorUpload': 'Unable to upload slide image.',
'website.sliders.errorAdd': 'Unable to add slide.',
'website.sliders.errorRemove': 'Unable to remove slide.',
'website.sliders.toastAdded': 'Slide added.',
'website.sliders.toastRemoved': 'Slide removed.',
'website.sliders.removeTitle': 'Remove Slide',
'website.sliders.removeMessage': 'Remove this slide from the homepage slider?',
'website.sliders.defaultTitle': 'Homepage slider',
'website.sliders.addSlide': 'Add slide',
'website.sliders.removeSlide': 'Remove slide',
'website.sliders.untitled': 'Untitled slide',
'website.sliders.slideAlt': 'Slider slide',
'website.sliders.modal.title': 'Add slide',
'website.sliders.modal.image': 'Slide image',
'website.sliders.modal.upload': 'Upload slide image',
'website.sliders.modal.hint': '9:4 banner ratio recommended',
'website.sliders.modal.changeImage': 'Change image',
'website.sliders.modal.titleOptional': 'Title (optional)',
'website.sliders.modal.titlePlaceholder': 'e.g. Summer sale',
'website.sliders.modal.linkOptional': 'Link URL (optional)',
'website.sliders.modal.addSlide': 'Add slide',
'website.specialCategories.subtitle':
'Curate featured product categories into groups for your website homepage.',
'website.specialCategories.loading': 'Loading special category groups...',
'website.specialCategories.empty':
'No special category groups yet. Use the + button to create one, then add categories to each carousel.',
'website.specialCategories.errorLoad': 'Unable to load special category groups.',
'website.specialCategories.errorCreate': 'Unable to create special category group.',
'website.specialCategories.errorUpdate': 'Unable to update special category group.',
'website.specialCategories.errorDelete': 'Unable to delete special category group.',
'website.specialCategories.errorAdd': 'Unable to add categories.',
'website.specialCategories.errorRemove': 'Unable to remove category.',
'website.specialCategories.toastCreated': 'Special category group created.',
'website.specialCategories.toastUpdated': 'Special category group updated.',
'website.specialCategories.toastDeleted': 'Special category group deleted.',
'website.specialCategories.toastAdded': 'Categories added to group.',
'website.specialCategories.toastRemoved': 'Removed from special category group.',
'website.specialCategories.addFab': 'Add special category group',
'website.specialCategories.addTooltip': 'Add categories to {title}',
'website.specialCategories.createTitle': 'Add Special Category Group',
'website.specialCategories.editTitle': 'Edit Special Category Group',
'website.specialCategories.deleteTitle': 'Delete Special Category Group',
'website.specialCategories.deleteMessage':
'Delete "{title}"? Product categories will remain in your catalog.',
'website.specialCategories.pickSubtitle':
'Select product categories to feature in this group.',
'website.specialCategories.pickLoading': 'Loading categories...',
'website.specialCategories.pickEmpty': 'All categories are already in this group.',
'website.specialCategories.pickSearch': 'Type 3+ characters to search categories',
'website.specialCategories.pickErrorLoad': 'Unable to load categories.',
'website.specialBrands.subtitle': 'Curate featured brands into groups for your website homepage.',
'website.specialBrands.loading': 'Loading special brand groups...',
'website.specialBrands.empty':
'No special brand groups yet. Use the + button to create one, then add brands to each carousel.',
'website.specialBrands.errorLoad': 'Unable to load special brand groups.',
'website.specialBrands.errorCreate': 'Unable to create special brand group.',
'website.specialBrands.errorUpdate': 'Unable to update special brand group.',
'website.specialBrands.errorDelete': 'Unable to delete special brand group.',
'website.specialBrands.errorAdd': 'Unable to add brands.',
'website.specialBrands.errorRemove': 'Unable to remove brand.',
'website.specialBrands.toastCreated': 'Special brand group created.',
'website.specialBrands.toastUpdated': 'Special brand group updated.',
'website.specialBrands.toastDeleted': 'Special brand group deleted.',
'website.specialBrands.toastAdded': 'Brands added to group.',
'website.specialBrands.toastRemoved': 'Removed from special brand group.',
'website.specialBrands.addFab': 'Add special brand group',
'website.specialBrands.addTooltip': 'Add brands to {title}',
'website.specialBrands.createTitle': 'Add Special Brand Group',
'website.specialBrands.editTitle': 'Edit Special Brand Group',
'website.specialBrands.deleteTitle': 'Delete Special Brand Group',
'website.specialBrands.deleteMessage':
'Delete "{title}"? Brands will remain in your catalog.',
'website.specialBrands.pickSubtitle': 'Select brands to feature in this group.',
'website.specialBrands.pickLoading': 'Loading brands...',
'website.specialBrands.pickEmpty': 'All brands are already in this group.',
'website.specialBrands.pickSearch': 'Type 3+ characters to search brands',
'website.specialBrands.pickErrorLoad': 'Unable to load brands.',
'website.specialItems.subtitle':
'Curate featured store items into categories for your website carousels.',
'website.specialItems.loading': 'Loading special categories...',
'website.specialItems.empty':
'No special categories yet. Use the + button to create one, then add store items to each carousel.',
'website.specialItems.errorLoad': 'Unable to load special categories.',
'website.specialItems.errorCreate': 'Unable to create special category.',
'website.specialItems.errorUpdate': 'Unable to update special category.',
'website.specialItems.errorDelete': 'Unable to delete special category.',
'website.specialItems.errorAdd': 'Unable to add store items.',
'website.specialItems.errorRemove': 'Unable to remove store item.',
'website.specialItems.toastCreated': 'Special category created.',
'website.specialItems.toastUpdated': 'Special category updated.',
'website.specialItems.toastDeleted': 'Special category deleted.',
'website.specialItems.toastAdded': 'Store items added to special category.',
'website.specialItems.toastRemoved': 'Removed from special category.',
'website.specialItems.addFab': 'Add special category',
'website.specialItems.createTitle': 'Add Special Category',
'website.specialItems.editTitle': 'Edit Special Category',
'website.specialItems.deleteTitle': 'Delete Special Category',
'website.specialItems.deleteMessage':
'Delete "{title}"? Store items will remain in your catalog.',
'website.specialItems.removeTitle': 'Remove from Special',
'website.specialItems.removeMessage':
'Remove "{name}" from "{group}"?',
'website.specialItems.editCategory': 'Edit category',
'website.specialItems.deleteCategory': 'Delete category',
'website.specialItems.scrollLeft': 'Scroll left',
'website.specialItems.scrollRight': 'Scroll right',
'website.specialItems.addItemsTo': 'Add store items to {title}',
'website.specialItems.removeFromSpecial': 'Remove from special',
'website.specialItems.pickSubtitle': 'Select store items to feature in this category.',
'website.specialItems.pickLoading': 'Loading store items...',
'website.specialItems.pickEmpty': 'All store items are already in this category.',
'website.specialItems.pickSearch': 'Type 3+ characters to search store items',
'website.specialItems.pickErrorLoad': 'Unable to load store items.',
'website.pick.addOneItem': 'Add 1 item',
'website.pick.addItems': 'Add {count} items',
'website.contact.subtitle': 'Submissions received from your website contact form.',
'website.contact.filters': 'Filters',
'website.contact.searchPlaceholder': 'Title, name, email, cell number, or message',
'website.contact.search': 'Search',
'website.contact.clearFilters': 'Clear filters',
'website.contact.listTitle': 'Submissions',
'website.contact.showing': 'Showing {from} - {to} of {total}',
'website.contact.none': 'No submissions',
'website.contact.empty': 'No submissions found.',
'website.contact.loading': 'Loading...',
'website.contact.errorLoad': 'Unable to load contact submissions.',
'website.contact.pageMeta': 'Page {page} / {totalPages} · {pageSize} per page · {total} total',
'website.contact.col.title': 'Title',
'website.contact.col.name': 'Name',
'website.contact.col.email': 'Email',
'website.contact.col.cell': 'Cell number',
'website.contact.col.date': 'Date',
'website.contact.col.time': 'Time',
'website.contact.viewSubmission': 'View submission from {name}',
'website.contact.detailTitle': 'Contact submission',
'website.contact.detailMessage': 'Message',
'website.subscriptions.subtitle': 'Manage newsletter and subscription sign-ups on your website.',
'website.subscriptions.lead': 'Control how visitors subscribe to updates from your business.',
'website.subscriptions.note': 'Subscription management will be connected here. Planned options include:',
'website.subscriptions.feature.enable': 'Enable or disable subscription forms',
'website.subscriptions.feature.welcome': 'Custom welcome message and consent text',
'website.subscriptions.feature.export': 'Export or view subscriber list',
'website.faq.subtitle': 'Create and organize frequently asked questions for your website.',
'website.faq.lead':
'Build an FAQ section to answer common customer questions before they contact you.',
'website.faq.note': 'FAQ editor will be connected here. Planned options include:',
'website.faq.feature.crud': 'Add, edit, and reorder questions and answers',
'website.faq.feature.groups': 'Group items by category',
'website.faq.feature.publish': 'Publish or hide individual entries',
'website.badges.subtitle': 'Show trust badges and highlights on your public website.',
'website.badges.lead':
'Display certifications, guarantees, and trust signals to website visitors.',
'website.badges.note': 'Badge management will be connected here. Planned options include:',
'website.badges.feature.upload': 'Upload badge images with title and link',
'website.badges.feature.reorder': 'Reorder badges for homepage or footer display',
'website.badges.feature.toggle': 'Toggle visibility per badge',
'website.ePayment.subtitle': 'Configure online payment methods for your website checkout.',
'website.ePayment.lead': 'Connect payment gateways so customers can pay online through your store.',
'website.ePayment.note': 'E-payment settings will be connected here. Planned options include:',
'website.ePayment.feature.enable': 'Enable or disable online payments',
'website.ePayment.feature.credentials': 'Configure payment provider credentials',
'website.ePayment.feature.methods': 'Set supported payment methods and test mode',
'title.signIn': 'Sign in',
'title.home': 'Home',
'title.profile': 'Profile',
'title.businessProfile': 'Business Profile',
'title.products': 'Products',
'title.myProducts': 'My Products',
'title.addProduct': 'Add New Product',
'title.editProduct': 'Edit Product',
'title.productDetails': 'Product Details',
'title.categories': 'Categories',
'title.brands': 'Brands',
'title.settings': 'Settings',
'title.store': 'Store',
'title.storeItems': 'My Store Items',
'title.orders': 'My Orders',
'title.shoppingCards': 'Shopping Cards',
'title.customers': 'Customers',
'title.blog': 'Blog',
'title.myBlogs': 'My Blogs',
'title.addBlog': 'Add New Blog',
'title.editBlog': 'Edit Blog',
'title.blogDetails': 'Blog Details',
'title.portfolios': 'Portfolios',
'title.myPortfolios': 'My Portfolios',
'title.addPortfolio': 'Add New Portfolio',
'title.editPortfolio': 'Edit Portfolio',
'title.portfolioDetails': 'Portfolio Details',
'title.website': 'Website',
'title.sliders': 'Sliders',
'title.specialCategories': 'Special Categories',
'title.specialBrands': 'Special Brands',
'title.specialItems': 'Special Items',
'title.contactForm': 'Contact Us Form',
'title.subscriptions': 'Subscriptions',
'title.faq': 'FAQ',
'title.badges': 'Badges',
'title.ePayment': 'E-Payment',
'login.welcome': 'Welcome back',
'login.subtitle': 'Sign in with your mobile number',
'login.mobile': 'Mobile number',
'login.password': 'Password',
'login.passwordPlaceholder': 'Enter your password',
'login.hidePassword': 'Hide password',
'login.showPassword': 'Show password',
'login.forgot': 'Forgot password?',
'login.signIn': 'Sign in',
'login.signingIn': 'Signing in...',
'login.or': 'or',
'login.otp': 'One-time login with SMS',
'login.noAccount': "Don't have an account?",
'login.signUp': 'Sign up',
'login.error.signIn': 'Unable to sign in. Check your connection and try again.',
'login.error.sendCode': 'Unable to send verification code.',
'login.error.access': 'You do not have access to this business dashboard.',
'signup.title': 'Create account',
'signup.subtitle': 'Register for {domain}',
'signup.firstName': 'First name',
'signup.lastName': 'Last name',
'signup.passwordPlaceholder': 'Choose a password',
'signup.confirm': 'Confirm password',
'signup.confirmPlaceholder': 'Repeat your password',
'signup.create': 'Create account',
'signup.creating': 'Creating account...',
'signup.hasAccount': 'Already have an account?',
'signup.signIn': 'Sign in',
'signup.error.match': 'Passwords do not match.',
'signup.error.length': 'Password must be at least 8 characters.',
'signup.error.create': 'Unable to create account.',
'forgot.back': 'Back to sign in',
'forgot.title': 'Forgot password',
'forgot.subtitlePhone': 'We will send a verification code via SMS',
'forgot.subtitleCode': 'Enter the code and your new password',
'forgot.sendCode': 'Send SMS code',
'forgot.sending': 'Sending...',
'forgot.code': 'SMS verification code',
'forgot.newPassword': 'New password',
'forgot.newPasswordPlaceholder': 'Enter new password',
'forgot.reset': 'Reset password',
'forgot.verifying': 'Verifying...',
'forgot.error.length': 'Password must be at least 8 characters.',
'forgot.error.verify': 'Unable to reset password. Check the code and try again.',
'forgot.info.success': 'Password updated. You can sign in with your new password.',
'otp.back': 'Back to sign in',
'otp.title': 'One-time login',
'otp.subtitlePhone': 'We will send a one-time SMS code to your mobile number',
'otp.subtitleCode': 'Enter the SMS code to sign in',
'otp.sendCode': 'Send SMS code',
'otp.sending': 'Sending...',
'otp.code': 'SMS verification code',
'otp.signIn': 'Sign in',
'otp.signingIn': 'Signing in...',
'otp.error.signIn': 'Unable to sign in with SMS code.',
'common.close': 'Close',
'common.resendIn': 'Resend code in {seconds}s',
'common.resend': 'Resend SMS code',
'common.codeSent': 'Verification code sent to {phone}',
'common.breadcrumb': 'Breadcrumb',
'common.overview': 'Overview',
} as const
type MessageKey = keyof typeof en
const fa: Record<MessageKey, string> = {
'app.dashboardName': 'پنل کسب‌وکار',
'app.storeFallback': 'کسب‌وکار',
'app.poweredBy': 'قدرت‌گرفته از Meshkee.app',
'app.userFallback': 'کاربر',
'role.superAdmin': 'سوپرادمین',
'role.owner': 'صاحب کسب‌وکار',
'role.staff': 'کارمند',
'nav.home': 'خانه',
'nav.businessProfile': 'پروفایل کسب‌وکار',
'sidebar.addLogo': 'افزودن لوگو',
'nav.products': 'محصولات',
'nav.products.overview': 'نمای کلی',
'nav.products.list': 'محصولات من',
'nav.products.new': 'افزودن محصول',
'nav.products.categories': 'دسته‌بندی‌ها',
'nav.products.brands': 'برندها',
'nav.products.settings': 'تنظیمات',
'nav.store': 'فروشگاه',
'nav.store.overview': 'نمای کلی',
'nav.store.items': 'اقلام فروشگاه',
'nav.store.orders': 'سفارش‌های من',
'nav.store.shipping': 'هزینه ارسال',
'nav.store.cards': 'کارت‌های خرید',
'nav.store.settings': 'تنظیمات',
'nav.customers': 'مشتریان',
'nav.settings': 'تنظیمات',
'nav.blog': 'بلاگ',
'nav.blog.overview': 'نمای کلی',
'nav.blog.list': 'بلاگ‌های من',
'nav.blog.new': 'افزودن بلاگ',
'nav.blog.categories': 'دسته‌بندی‌ها',
'nav.blog.settings': 'تنظیمات',
'nav.portfolios': 'نمونه کارها',
'nav.portfolios.overview': 'نمای کلی',
'nav.portfolios.list': 'نمونه کارهای من',
'nav.portfolios.new': 'افزودن نمونه کار',
'nav.portfolios.categories': 'دسته‌بندی‌ها',
'nav.portfolios.settings': 'تنظیمات',
'nav.website': 'وب‌سایت',
'nav.website.overview': 'نمای کلی',
'nav.website.sliders': 'اسلایدرها',
'nav.website.specialCategories': 'دسته‌های ویژه',
'nav.website.specialBrands': 'برندهای ویژه',
'nav.website.specialItems': 'اقلام ویژه',
'nav.website.contact': 'فرم تماس با ما',
'nav.website.subscriptions': 'عضویت‌ها',
'nav.website.faq': 'سوالات متداول',
'nav.website.badges': 'نشان‌ها',
'nav.website.ePayment': 'پرداخت الکترونیک',
'nav.help': 'مرکز راهنما',
'nav.logout': 'خروج',
'header.toggleMenu': 'باز و بسته کردن منو',
'header.title': 'پنل مدیریت',
'header.messages': 'پیام‌ها',
'header.notifications': 'اعلان‌ها',
'header.profile': 'پروفایل',
'header.setting': 'تنظیمات',
'header.changePassword': 'تغییر رمز عبور',
'profile.title': 'پروفایل من',
'profile.subtitle': 'اطلاعات شخصی و راه‌های ارتباطی خود را مدیریت کنید.',
'profile.section.general': 'عمومی',
'profile.section.social': 'شبکه‌های اجتماعی',
'profile.firstName': 'نام (فارسی)',
'profile.lastName': 'نام خانوادگی (فارسی)',
'profile.firstNameEn': 'نام (انگلیسی)',
'profile.lastNameEn': 'نام خانوادگی (انگلیسی)',
'profile.mobile': 'شماره موبایل',
'profile.email': 'ایمیل',
'profile.emailPlaceholder': 'you@example.com',
'profile.about': 'درباره من',
'profile.addresses': 'آدرس‌ها',
'profile.addresses.add': 'افزودن آدرس',
'profile.addresses.loading': 'در حال بارگذاری آدرس‌ها...',
'profile.addresses.remove': 'حذف آدرس',
'profile.addresses.error.load': 'بارگذاری آدرس‌ها ممکن نشد.',
'profile.addresses.error.incomplete': 'برای هر ردیفی که شروع کرده‌اید، استان، شهر و آدرس را کامل کنید.',
'profile.province': 'استان',
'profile.city': 'شهر',
'profile.postalCode': 'کد پستی',
'profile.address': 'آدرس',
'profile.landline': 'تلفن ثابت',
'profile.selectProvince': 'انتخاب استان',
'profile.selectCity': 'انتخاب شهر',
'profile.streetPlaceholder': 'آدرس خیابان',
'profile.instagram': 'اینستاگرام',
'profile.telegram': 'آیدی تلگرام',
'profile.linkedin': 'لینکدین',
'profile.save': 'ذخیره تغییرات',
'profile.saving': 'در حال ذخیره...',
'profile.toast.success': 'پروفایل با موفقیت ذخیره شد.',
'profile.error.update': 'ذخیره پروفایل ممکن نشد.',
'bizProfile.subtitle': 'هویت فروشگاه، اطلاعات تماس و لینک‌های شبکه‌های اجتماعی را مدیریت کنید.',
'bizProfile.loading': 'در حال بارگذاری پروفایل کسب‌وکار...',
'bizProfile.loadError': 'بارگذاری پروفایل کسب‌وکار ممکن نشد.',
'bizProfile.saveError': 'ذخیره پروفایل کسب‌وکار ممکن نشد.',
'bizProfile.toast.saved': 'پروفایل کسب‌وکار ذخیره شد.',
'bizProfile.section.basic': 'اطلاعات پایه',
'bizProfile.section.contact': 'تماس',
'bizProfile.section.social': 'شبکه‌های اجتماعی',
'bizProfile.logo': 'لوگو',
'bizProfile.logo.upload': 'آپلود لوگو',
'bizProfile.logo.hint': 'PNG شفاف توصیه می‌شود',
'bizProfile.logo.change': 'تغییر لوگو',
'bizProfile.categories': 'دسته‌بندی‌های فعالیت',
'bizProfile.categories.placeholder': 'انتخاب دسته‌بندی‌های فعالیت',
'bizProfile.nameFa': 'نام (فارسی)',
'bizProfile.nameEn': 'نام (انگلیسی)',
'bizProfile.email': 'آدرس ایمیل',
'bizProfile.about': 'درباره ما',
'bizProfile.vision': 'چشم‌انداز ما',
'bizProfile.addresses': 'آدرس‌ها',
'bizProfile.addresses.add': 'افزودن آدرس',
'bizProfile.province': 'استان',
'bizProfile.city': 'شهر',
'bizProfile.address': 'آدرس',
'bizProfile.postalCode': 'کد پستی',
'bizProfile.landline': 'تلفن ثابت',
'bizProfile.selectProvince': 'انتخاب استان',
'bizProfile.selectCity': 'انتخاب شهر',
'bizProfile.streetPlaceholder': 'آدرس خیابان',
'bizProfile.removeAddress': 'حذف آدرس',
'bizProfile.phones': 'شماره‌های تماس',
'bizProfile.phones.add': 'افزودن شماره',
'bizProfile.phones.type': 'نوع',
'bizProfile.phones.number': 'شماره تلفن',
'bizProfile.phones.cell': 'شماره موبایل',
'bizProfile.phones.landline': 'تلفن ثابت',
'bizProfile.phones.remove': 'حذف شماره تماس',
'bizProfile.social.placeholder': 'لینک یا آیدی {name}',
'bizProfile.save': 'ذخیره پروفایل',
'bizProfile.saving': 'در حال ذخیره...',
'bc.dashboard': 'داشبورد',
'bc.editProduct': 'ویرایش محصول',
'bc.productDetails': 'جزئیات محصول',
'bc.editBlog': 'ویرایش بلاگ',
'bc.blogDetails': 'جزئیات بلاگ',
'bc.editPortfolio': 'ویرایش نمونه کار',
'bc.portfolioDetails': 'جزئیات نمونه کار',
'home.welcome': '{name} عزیز، خوش آمدی.',
'home.welcomeFallback': 'کاربر',
'home.subtitle': 'وضعیت فروشگاهتان را از اینجا دنبال کنید.',
'home.card.products.title': 'محصولات',
'home.card.products.desc': 'محصولات، موجودی و دسته‌بندی‌ها را مدیریت کنید.',
'home.card.products.link': 'مشاهده محصولات',
'home.card.products.count': 'محصول',
'home.card.store.title': 'فروشگاه',
'home.card.store.desc': 'تنظیمات، صفحات و ظاهر فروشگاه را مدیریت کنید.',
'home.card.store.link': 'مشاهده فروشگاه',
'home.card.store.count': 'محصول فروش',
'home.card.customers.title': 'مشتریان',
'home.card.customers.desc': 'مشتریان و فعالیت آن‌ها را ببینید و مدیریت کنید.',
'home.card.customers.link': 'مشاهده مشتریان',
'home.card.customers.count': 'نفر',
'home.card.settings.title': 'تنظیمات',
'home.card.settings.desc': 'ترجیحات فروشگاه و تنظیمات سیستم را پیکربندی کنید.',
'home.card.settings.link': 'مشاهده تنظیمات',
'home.card.blog.title': 'بلاگ',
'home.card.blog.desc': 'مطالب و دسته‌بندی‌های بلاگ را ایجاد و مدیریت کنید.',
'home.card.blog.link': 'مشاهده بلاگ',
'home.card.blog.count': 'مطلب',
'home.card.portfolios.title': 'نمونه کارها',
'home.card.portfolios.desc': 'نمونه کارها و پروژه‌های نمایشی را مدیریت کنید.',
'home.card.portfolios.link': 'مشاهده نمونه کارها',
'home.card.portfolios.count': 'نمونه کار',
'home.card.website.title': 'وب‌سایت',
'home.card.website.desc': 'فرم تماس، سوالات متداول، نشان‌ها، عضویت‌ها و پرداخت الکترونیک.',
'home.card.website.link': 'مشاهده وب‌سایت',
'home.chart.orders.title': 'سفارش‌ها',
'home.chart.orders.subtitle': 'سفارش‌ها در ۳۰ روز گذشته',
'home.chart.orders.legend': 'سفارش ({count})',
'home.chart.orders.cartLegend': 'افزودن به سبد ({count})',
'home.chart.orders.loading': 'در حال بارگذاری نمودار...',
'home.chart.orders.error': 'بارگذاری فعالیت سفارش‌ها ممکن نشد.',
'home.chart.orders.bar': '{day}: {count} سفارش',
'home.chart.orders.cartBar': '{day}: {count} افزودن به سبد',
'home.chart.customers.title': 'مشتریان',
'home.chart.customers.subtitle': 'ثبت‌نام و کاربران فعال در ۳۰ روز گذشته',
'home.chart.customers.legend': 'ثبت‌نام ({count})',
'home.chart.customers.activeLegend': 'فعال ({count})',
'home.chart.customers.loading': 'در حال بارگذاری نمودار...',
'home.chart.customers.error': 'بارگذاری فعالیت مشتریان ممکن نشد.',
'home.chart.customers.bar': '{day}: {count} ثبت‌نام',
'home.chart.customers.activeBar': '{day}: {count} فعال',
'home.chart.customersJoined.title': 'مشتریان عضو شده',
'home.chart.customersJoined.subtitle': 'مشتریان عضو شده در ۱ سال گذشته',
'home.chart.customersJoined.legend': 'ثبت‌نام ({count})',
'home.chart.customersJoined.activeLegend': 'فعال ({count})',
'home.chart.customersJoined.loading': 'در حال بارگذاری نمودار...',
'home.chart.customersJoined.error': 'بارگذاری فعالیت مشتریان ممکن نشد.',
'home.chart.customersJoined.bar': '{day}: {count} ثبت‌نام',
'home.chart.customersJoined.activeBar': '{day}: {count} فعال',
'home.chart.blogViews.title': 'بازدید مقالات',
'home.chart.blogViews.subtitle': 'بازدید مقالات در ۳۰ روز گذشته',
'home.chart.placeholder.title': 'نمودار',
'home.chart.placeholder.subtitle': 'این نمودار به‌زودی در دسترس خواهد بود.',
'home.chart.placeholder.comingSoon': 'به‌زودی',
'products.overview.subtitle': 'محصولات، موجودی و دسته‌بندی‌ها را مدیریت کنید.',
'products.card.list.desc': 'همه محصولات موجود را ببینید، ویرایش و مدیریت کنید.',
'products.card.new.title': 'افزودن محصول جدید',
'products.card.new.desc': 'یک محصول جدید بسازید و در فروشگاه منتشر کنید.',
'products.form.edit.subtitle': 'جزئیات محصول را به‌روز کنید و ذخیره کنید.',
'products.card.categories.desc': 'محصولات را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'products.card.brands.desc': 'برندهای محصول را مدیریت کنید و هنگام ساخت محصول به آن‌ها اختصاص دهید.',
'products.card.settings.desc': 'پیش‌فرض‌ها، تنوع‌ها و گزینه‌های نمایش محصول را پیکربندی کنید.',
'products.activity.title': 'فعالیت محصولات',
'products.activity.subtitle': 'محصولات افزوده‌شده یا به‌روزرسانی‌شده در ۱۲ ماه گذشته',
'products.activity.added': 'افزوده‌شده ({count})',
'products.activity.updated': 'به‌روزرسانی‌شده ({count})',
'products.activity.loading': 'در حال بارگذاری نمودار...',
'products.activity.error': 'بارگذاری فعالیت محصولات ممکن نشد.',
'products.activity.chartAria': 'نمودار میله‌ای محصولات افزوده‌شده و به‌روزرسانی‌شده در هر ماه',
'products.activity.barAdded': '{month}: {count} افزوده‌شده',
'products.activity.barUpdated': '{month}: {count} به‌روزرسانی‌شده',
'products.list.subtitle': '{count} محصول · کاتالوگ خود را ببینید، ویرایش و مدیریت کنید.',
'products.list.filters': 'فیلترها',
'products.list.filterName': 'نام',
'products.list.filterNamePlaceholder': 'جستجو بر اساس نام محصول',
'products.list.search': 'جستجو',
'products.list.clearFilters': 'پاک کردن فیلترها',
'products.list.loading': 'در حال بارگذاری محصولات...',
'products.list.empty': 'محصولی یافت نشد.',
'products.list.emptyFiltered': 'هیچ محصولی با فیلترهای شما مطابقت ندارد.',
'products.list.errorLoad': 'بارگذاری محصولات ممکن نشد.',
'products.list.errorDelete': 'حذف محصول ممکن نشد.',
'products.list.pagination': 'صفحه {page} / {totalPages} · {perPage} در هر صفحه · {total} مجموع',
'products.list.deleteTitle': 'حذف محصول',
'products.list.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.',
'products.list.addByAi': 'افزودن محصول با هوش مصنوعی',
'products.list.addNew': 'افزودن محصول جدید',
'products.card.edit': 'ویرایش محصول',
'products.card.quickInfo': 'اطلاعات سریع',
'products.card.variations': 'مدیریت تنوع‌ها',
'products.card.comments': 'مشاهده نظرات',
'products.card.technical': 'اطلاعات فنی',
'products.card.remove': 'حذف محصول',
'products.card.draft': 'پیش‌نویس',
'products.form.errorOptions': 'بارگذاری گزینه‌های فرم ممکن نشد.',
'products.form.errorSave': 'ذخیره محصول ممکن نشد.',
'products.form.thumbnail': 'تصویر بندانگشتی',
'products.form.thumbnailUpload': 'آپلود تصویر بندانگشتی',
'products.form.thumbnailHint': 'برای انتخاب کلیک کنید، سپس برش دهید',
'products.form.thumbnailChange': 'تغییر تصویر بندانگشتی',
'products.form.thumbnailRemove': 'حذف تصویر بندانگشتی',
'products.form.zoom': 'بزرگ‌نمایی',
'products.form.applyCrop': 'اعمال برش',
'products.form.category': 'دسته‌بندی',
'products.form.categoryPlaceholder': 'جستجو و انتخاب دسته‌بندی...',
'products.form.brand': 'برند',
'products.form.optional': '(اختیاری)',
'products.form.brandPlaceholder': 'جستجو و انتخاب برند...',
'products.form.nameFa': 'نام (فارسی)',
'products.form.nameFaPlaceholder': 'نام محصول',
'products.form.nameEn': 'نام (انگلیسی)',
'products.form.nameEnPlaceholder': 'Product name',
'products.form.summary': 'خلاصه',
'products.form.summaryPlaceholder': 'خلاصه کوتاه برای نمایش در فهرست محصولات',
'products.form.description': 'توضیحات',
'products.form.descriptionPlaceholder': 'توضیحات کامل محصول با قالب‌بندی...',
'products.form.images': 'تصاویر محصول',
'products.form.imagesAdd': 'افزودن تصاویر',
'products.form.imagesHint': 'چند تصویر محصول آپلود کنید. برای افزودن بیشتر روی + کلیک کنید.',
'products.form.imagesRemove': 'حذف تصویر {index}',
'products.form.tags': 'برچسب‌ها',
'products.form.tagsPlaceholder': 'برچسب را بنویسید و Enter بزنید',
'products.form.cancel': 'انصراف',
'products.form.saving': 'در حال ذخیره...',
'products.form.save': 'ذخیره محصول',
'products.form.update': 'به‌روزرسانی محصول',
'categories.page.subtitle': 'دسته‌بندی‌ها و زیردسته‌های محصولات خود را مدیریت کنید.',
'categories.loading': 'در حال بارگذاری دسته‌بندی‌ها...',
'categories.empty': 'هنوز دسته‌بندی‌ای نیست. با + یا هوش مصنوعی اضافه کنید.',
'categories.add': 'افزودن دسته‌بندی',
'categories.addSub': 'افزودن زیردسته',
'categories.edit': 'ویرایش دسته‌بندی',
'categories.addByAi': 'پر کردن دسته‌ها با هوش مصنوعی',
'categories.deleteTitle': 'حذف دسته‌بندی',
'categories.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ زیردسته‌ها نیز حذف می‌شوند.',
'categories.tooltip.addSub': 'افزودن زیردسته',
'categories.tooltip.edit': 'ویرایش دسته‌بندی',
'categories.tooltip.variations': 'مدیریت تنوع‌ها',
'categories.tooltip.technical': 'فرم اطلاعات فنی',
'categories.tooltip.options': 'گزینه‌های دسته‌بندی',
'categories.tooltip.remove': 'حذف دسته‌بندی',
'categories.modal.parent': 'دسته والد',
'categories.modal.nameFa': 'نام (فارسی)',
'categories.modal.nameEn': 'نام (انگلیسی)',
'categories.modal.description': 'توضیحات',
'categories.modal.nameFaPlaceholder': 'نام دسته‌بندی',
'categories.modal.nameEnPlaceholder': 'Category name',
'categories.modal.descriptionPlaceholder': 'توضیح کوتاه این دسته‌بندی',
'categories.modal.cancel': 'انصراف',
'categories.modal.save': 'ذخیره دسته‌بندی',
'categories.modal.saving': 'در حال ذخیره...',
'categories.select.search': 'جستجوی دسته‌بندی‌ها...',
'categories.select.none': '— بدون والد (دسته اصلی) —',
'categories.select.empty': 'دسته‌بندی‌ای یافت نشد',
'categories.select.clear': 'پاک کردن انتخاب',
'brands.page.subtitle': 'برندهای محصول فروشگاه خود را مدیریت کنید.',
'brands.loading': 'در حال بارگذاری برندها...',
'brands.empty': 'هنوز برندی نیست. برای افزودن روی + کلیک کنید.',
'brands.add': 'افزودن برند',
'brands.edit': 'ویرایش برند',
'brands.deleteTitle': 'حذف برند',
'brands.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ برند محصولات مرتبط پاک می‌شود.',
'brands.toast.created': 'برند ایجاد شد.',
'brands.toast.updated': 'برند به‌روزرسانی شد.',
'brands.toast.deleted': 'برند حذف شد.',
'brands.errorLoad': 'بارگذاری برندها ممکن نشد.',
'brands.errorSave': 'ذخیره برند ممکن نشد.',
'brands.errorDelete': 'حذف برند ممکن نشد.',
'brands.tooltip.edit': 'ویرایش برند',
'brands.tooltip.remove': 'حذف برند',
'brands.modal.logo': 'لوگوی برند',
'brands.modal.uploadLogo': 'آپلود لوگوی برند',
'brands.modal.logoHint': 'فقط PNG — پس‌زمینه شفاف توصیه می‌شود',
'brands.modal.changeLogo': 'تغییر لوگو',
'brands.modal.nameFa': 'نام (فارسی)',
'brands.modal.nameEn': 'نام (انگلیسی)',
'brands.modal.about': 'درباره',
'brands.modal.nameFaPlaceholder': 'نام برند',
'brands.modal.nameEnPlaceholder': 'Brand name',
'brands.modal.aboutPlaceholder': 'توضیح کوتاه این برند',
'brands.modal.cancel': 'انصراف',
'brands.modal.save': 'ذخیره برند',
'brands.modal.saving': 'در حال ذخیره...',
'productSettings.title': 'تنظیمات محصول',
'productSettings.subtitle': 'نحوه تأیید نظرات و بررسی‌های کارشناسی را پیکربندی کنید.',
'productSettings.moderation': 'نظارت',
'productSettings.loading': 'در حال بارگذاری تنظیمات...',
'productSettings.errorLoad': 'بارگذاری تنظیمات ممکن نشد.',
'productSettings.errorSave': 'ذخیره تنظیمات ممکن نشد.',
'productSettings.saved': 'تنظیمات ذخیره شد.',
'productSettings.commentsAuto': 'تأیید خودکار نظرات',
'productSettings.commentsAutoDesc':
'نظرات جدید بلافاصله پس از ثبت منتشر می‌شوند. در صورت نیاز بعداً می‌توانید آن‌ها را رد کنید.',
'productSettings.reviewsAuto': 'تأیید خودکار بررسی کارشناسی',
'productSettings.reviewsAutoDesc':
'بررسی‌های کارشناسی جدید بلافاصله پس از ثبت منتشر می‌شوند. در صورت نیاز بعداً می‌توانید آن‌ها را رد کنید.',
'store.page.subtitle': 'اقلام، سفارش‌ها و تنظیمات فروشگاه را مدیریت کنید.',
'store.card.items.desc': 'همه اقلام فهرست‌شده در فروشگاه را ببینید و مدیریت کنید.',
'store.card.items.link': 'مشاهده اقلام',
'store.card.orders.desc': 'سفارش‌های مشتریان و ارسال را پیگیری و مدیریت کنید.',
'store.card.orders.link': 'مشاهده سفارش‌ها',
'store.card.shipping.desc': 'نرخ‌ها، مناطق و گزینه‌های ارسال را پیکربندی کنید.',
'store.card.shipping.link': 'مدیریت ارسال',
'store.card.cards.desc': 'کارت‌های خرید ذخیره‌شده و روش‌های پرداخت را مدیریت کنید.',
'store.card.cards.link': 'مشاهده کارت‌ها',
'store.card.settings.desc': 'ترجیحات، صفحات و ظاهر فروشگاه را پیکربندی کنید.',
'store.card.settings.link': 'مشاهده تنظیمات',
'storeItems.subtitle': 'محصولات فروش با یک یا چند تنوع قیمت‌گذاری‌شده.',
'storeItems.filters': 'فیلترها',
'storeItems.filterName': 'نام',
'storeItems.filterNamePlaceholder': 'جستجو بر اساس نام محصول',
'storeItems.minPrice': 'حداقل قیمت (IRT)',
'storeItems.maxPrice': 'حداکثر قیمت (IRT)',
'storeItems.onlyDiscounted': 'فقط تخفیف‌دار',
'storeItems.search': 'جستجو',
'storeItems.clearFilters': 'پاک کردن فیلترها',
'storeItems.loading': 'در حال بارگذاری اقلام فروشگاه...',
'storeItems.empty': 'هنوز قلمی در فروشگاه نیست. با دکمه + از کاتالوگ اضافه کنید.',
'storeItems.emptyFiltered': 'هیچ قلمی با فیلترهای شما مطابقت ندارد.',
'storeItems.errorLoad': 'بارگذاری اقلام فروشگاه ممکن نشد.',
'storeItems.errorRemove': 'حذف قلم از فروشگاه ممکن نشد.',
'storeItems.add': 'افزودن اقلام فروشگاه',
'storeItems.cartOpen': 'باز کردن سبد خرید، {count} قلم',
'storeItems.cartOne': 'قلم در سبد',
'storeItems.cartMany': 'قلم در سبد',
'storeItems.addedToCart': 'به سبد خرید اضافه شد.',
'storeItems.deleteTitle': 'حذف از فروشگاه',
'storeItems.deleteMessage':
'«{name}» و همه {variants} از فروشگاه حذف شوند؟ این عمل قابل بازگشت نیست.',
'storeItems.card.inStock': '{count} موجود',
'storeItems.card.festival': 'جشنواره',
'storeItems.card.variantOne': '۱ تنوع',
'storeItems.card.variantMany': '{count} تنوع',
'storeItems.card.edit': 'ویرایش اقلام فروشگاه',
'storeItems.card.discount': 'تنظیم تخفیف',
'storeItems.card.festivalPoints': 'امتیاز جشنواره',
'storeItems.card.remove': 'حذف از فروشگاه',
'storeItems.card.addToCart': 'افزودن به سبد خرید',
'storeItems.pick.title': 'انتخاب تنوع',
'storeItems.pick.inStock': '{count} موجود',
'storeItems.create.title': 'افزودن اقلام فروشگاه',
'storeItems.create.subtitle': 'تنوع‌های قابل فروش را از تنوع‌های یک محصول بسازید.',
'storeItems.create.productPlaceholder': 'محصول — حداقل ۳ کاراکتر برای جستجو',
'storeItems.create.loadingVariations': 'در حال بارگذاری تنوع‌های محصول...',
'storeItems.create.price': 'قیمت (IRT)',
'storeItems.create.stock': 'موجودی',
'storeItems.create.removeRow': 'حذف ردیف',
'storeItems.create.addRow': 'افزودن ردیف',
'storeItems.create.cancel': 'انصراف',
'storeItems.create.submit': 'ایجاد اقلام فروشگاه',
'storeItems.create.submitting': 'در حال ایجاد…',
'storeItems.create.errorProducts': 'بارگذاری محصولات ممکن نشد.',
'storeItems.create.errorVariations': 'بارگذاری تنوع‌های محصول ممکن نشد.',
'storeItems.create.errorCreate': 'ایجاد اقلام فروشگاه ممکن نشد.',
'storeItems.edit.title': 'ویرایش اقلام فروشگاه',
'storeItems.edit.save': 'ذخیره تغییرات',
'storeItems.edit.saving': 'در حال ذخیره…',
'storeItems.edit.errorSave': 'ذخیره اقلام فروشگاه ممکن نشد.',
'storeItems.search.clear': 'پاک کردن انتخاب',
'storeItems.search.noProducts': 'محصولی موجود نیست.',
'storeItems.search.noMatch': 'محصولی یافت نشد.',
'storeItems.search.minChars': 'حداقل {count} کاراکتر برای جستجو وارد کنید',
'orders.title': 'سفارش‌ها',
'orders.subtitle':
'سفارش‌های مشتریان از وب‌سایت، اپلیکیشن یا ثبت‌شده توسط اپراتور را پیگیری کنید.',
'orders.filters': 'فیلترها',
'orders.filter.orderId': 'شماره سفارش',
'orders.filter.customer': 'نام یا شماره مشتری',
'orders.filter.dateFrom': 'از تاریخ',
'orders.filter.dateTo': 'تا تاریخ',
'orders.filter.minCost': 'حداقل مبلغ (IRT)',
'orders.filter.maxCost': 'حداکثر مبلغ (IRT)',
'orders.search': 'جستجو',
'orders.clearFilters': 'پاک کردن فیلترها',
'orders.listTitle': 'فهرست سفارش‌ها',
'orders.showing': 'نمایش {from} تا {to} از {total}',
'orders.none': 'بدون سفارش',
'orders.empty': 'نتیجه‌ای یافت نشد.',
'orders.loading': 'در حال بارگذاری سفارش‌ها...',
'orders.error.load': 'بارگذاری سفارش‌ها ممکن نشد.',
'orders.error.minMax': 'حداقل مبلغ نمی‌تواند از حداکثر بیشتر باشد.',
'orders.error.remove': 'حذف سفارش ممکن نشد.',
'orders.removed': 'سفارش {orderNumber} حذف شد.',
'orders.col.orderId': 'شماره سفارش',
'orders.col.customer': 'مشتری',
'orders.col.items': 'اقلام',
'orders.col.total': 'مبلغ کل',
'orders.col.date': 'تاریخ و ساعت',
'orders.col.step': 'وضعیت',
'orders.col.source': 'ثبت‌شده توسط',
'orders.col.actions': 'عملیات',
'orders.pageMeta': 'صفحه {page} / {totalPages} · {pageSize} در هر صفحه · {total} کل',
'orders.viewItems': 'مشاهده اقلام',
'orders.transactions': 'جزئیات تراکنش',
'orders.remove': 'حذف سفارش',
'orders.changeStep': 'تغییر وضعیت: {step}',
'orders.deleteTitle': 'حذف سفارش؟',
'orders.deleteMessage': 'سفارش {orderNumber} حذف شود؟ این عمل قابل بازگشت نیست.',
'orders.source.operator': 'اپراتور',
'orders.source.app': 'اپلیکیشن',
'orders.source.website': 'وب‌سایت',
'shoppingCards.title': 'کارت‌های خرید',
'shoppingCards.subtitle': 'سبدهای ذخیره‌شده اپراتور که منتظر تکمیل به‌صورت سفارش هستند.',
'shoppingCards.listTitle': 'فهرست کارت‌های خرید',
'shoppingCards.none': 'بدون کارت خرید',
'shoppingCards.empty': 'نتیجه‌ای یافت نشد.',
'shoppingCards.loading': 'در حال بارگذاری کارت‌های خرید...',
'shoppingCards.error.load': 'بارگذاری کارت‌های خرید ممکن نشد.',
'shoppingCards.error.remove': 'حذف کارت خرید ممکن نشد.',
'shoppingCards.removed': 'کارت خرید حذف شد.',
'shoppingCards.continue': 'ادامه',
'shoppingCards.continueAria': 'ادامه کارت خرید',
'shoppingCards.remove': 'حذف کارت',
'shoppingCards.removeAria': 'حذف کارت خرید',
'shoppingCards.deleteTitle': 'حذف کارت خرید؟',
'shoppingCards.deleteMessage':
'کارت خرید «{name}» حذف شود؟ این عمل قابل بازگشت نیست.',
'storeSettings.title': 'تنظیمات فروشگاه',
'storeSettings.subtitle':
'فروش آنلاین را کنترل کنید و مسیر پردازش سفارش‌ها را تعریف کنید.',
'storeSettings.sales': 'فروش',
'storeSettings.onlineSell': 'فروش آنلاین',
'storeSettings.onlineSellDesc':
'در صورت غیرفعال بودن، همه فروش‌های وب‌سایت خاموش می‌شوند و مشتریان نمی‌توانند سفارش آنلاین ثبت کنند.',
'storeSettings.orderProcess': 'فرآیند سفارش',
'storeSettings.orderProcessDesc':
'مراحل طی‌شده توسط سفارش را تعریف کنید — مثلاً: در حال پردازش، آماده ارسال، ارسال‌شده، تحویل‌شده.',
'storeSettings.labelEn': 'Label (EN)',
'storeSettings.labelFa': 'عنوان (فارسی)',
'storeSettings.stepEnAria': 'برچسب انگلیسی مرحله {index}',
'storeSettings.stepFaAria': 'برچسب فارسی مرحله {index}',
'storeSettings.stepColorAria': 'رنگ مرحله {index}',
'storeSettings.moveUp': 'جابه‌جایی به بالا',
'storeSettings.moveDown': 'جابه‌جایی به پایین',
'storeSettings.removeStep': 'حذف مرحله',
'storeSettings.addStep': 'افزودن مرحله',
'storeSettings.saveSteps': 'ذخیره مراحل',
'storeSettings.saving': 'در حال ذخیره...',
'storeSettings.emptySteps':
'هنوز مرحله‌ای نیست. اولین مرحله را برای تعریف گردش کار اضافه کنید.',
'storeSettings.error.minSteps': 'حداقل یک مرحله فرآیند سفارش اضافه کنید.',
'storeSettings.error.labels': 'هر مرحله باید برچسب انگلیسی و فارسی داشته باشد.',
'storeSettings.error.saveSteps': 'ذخیره مراحل فرآیند سفارش ممکن نشد.',
'storeSettings.stepsSaved': 'مراحل فرآیند سفارش ذخیره شد.',
'customers.title': 'مشتریان',
'customers.subtitle':
'مشتریانی را ببینید که در کسب‌وکار شما ثبت‌نام کرده یا سفارش داده‌اند.',
'customers.filters': 'فیلترها',
'customers.filter.name': 'جستجو بر اساس نام',
'customers.filter.cell': 'شماره موبایل',
'customers.search': 'جستجو',
'customers.clearFilters': 'پاک کردن فیلترها',
'customers.listTitle': 'فهرست مشتریان',
'customers.showing': 'نمایش {from} تا {to} از {total}',
'customers.none': 'بدون مشتری',
'customers.empty': 'نتیجه‌ای یافت نشد.',
'customers.loading': 'در حال بارگذاری مشتریان...',
'customers.pageMeta': 'صفحه {page} / {totalPages} · {pageSize} در هر صفحه · {total} کل',
'customers.col.name': 'نام',
'customers.col.cell': 'شماره موبایل',
'customers.col.email': 'ایمیل',
'customers.col.orders': 'سفارش‌ها',
'customers.col.transactions': 'تراکنش‌ها',
'customers.col.date': 'تاریخ عضویت',
'customers.col.actions': 'عملیات',
'customers.noOrders': 'بدون سفارش',
'customers.disabled': 'غیرفعال',
'customers.enable': 'فعال‌سازی مشتری',
'customers.disable': 'غیرفعال‌سازی مشتری',
'customers.enableAria': 'فعال‌سازی {name}',
'customers.disableAria': 'غیرفعال‌سازی {name}',
'customers.edit': 'ویرایش مشتری',
'customers.sms': 'ارسال پیامک',
'customers.tickets': 'تیکت‌ها',
'customers.remove': 'حذف مشتری',
'customers.add': 'افزودن مشتری',
'customers.error.load': 'بارگذاری مشتریان ممکن نشد.',
'customers.error.update': 'به‌روزرسانی مشتری ممکن نشد.',
'customers.error.remove': 'حذف مشتری ممکن نشد.',
'customers.toast.enabled': '«{name}» فعال شد.',
'customers.toast.disabled': '«{name}» غیرفعال شد.',
'customers.toast.removed': '«{name}» حذف شد.',
'customers.toast.updated': '«{name}» به‌روزرسانی شد.',
'customers.toast.added': '«{name}» اضافه شد.',
'customers.toast.smsSoon': 'ارسال پیامک به {phone} هنوز در دسترس نیست.',
'customers.toast.ticketsSoon': 'تیکت‌های «{name}» هنوز در دسترس نیست.',
'customers.deleteTitle': 'حذف مشتری؟',
'customers.deleteMessage':
'«{name}» از کسب‌وکار شما حذف شود؟ حساب کاربری او حذف نخواهد شد.',
'customers.addModal.title': 'افزودن مشتری',
'customers.addModal.subtitle':
'یک حساب تأییدشده مشتری می‌سازد یا کاربر موجود را به کسب‌وکار شما وصل می‌کند.',
'customers.addModal.hint':
'رمز عبور فقط برای حساب‌های جدید لازم است. کاربران موجود به‌عنوان مشتری تأییدشده اضافه می‌شوند.',
'customers.addModal.firstName': 'نام',
'customers.addModal.lastName': 'نام خانوادگی',
'customers.addModal.cell': 'شماره موبایل',
'customers.addModal.cellPlaceholder': '۰۹۱۲...',
'customers.addModal.password': 'رمز عبور (کاربران جدید)',
'customers.addModal.passwordPlaceholder': 'حداقل ۸ کاراکتر',
'customers.addModal.passwordConfirm': 'تکرار رمز عبور',
'customers.addModal.passwordConfirmPlaceholder': 'رمز عبور را تکرار کنید',
'customers.addModal.cancel': 'انصراف',
'customers.addModal.submit': 'افزودن مشتری',
'customers.addModal.error': 'افزودن مشتری ممکن نشد.',
'customers.addModal.errorPasswordMatch': 'رمزهای عبور یکسان نیستند.',
'customers.addModal.errorPasswordLength': 'رمز عبور باید حداقل ۸ کاراکتر باشد.',
'blog.page.subtitle': 'مطالب و دسته‌بندی‌های بلاگ را ایجاد و مدیریت کنید.',
'blog.card.list.desc': 'همه مطالب بلاگ را مشاهده، ویرایش و مدیریت کنید.',
'blog.card.list.link': 'مشاهده بلاگ‌ها',
'blog.card.new.desc': 'یک مطلب بلاگ جدید ایجاد و منتشر کنید.',
'blog.card.new.link': 'افزودن بلاگ',
'blog.card.categories.title': 'دسته‌بندی‌های بلاگ',
'blog.card.categories.desc': 'مطالب بلاگ را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'blog.card.categories.link': 'مشاهده دسته‌بندی‌ها',
'blog.card.settings.desc': 'تأیید نظرات بلاگ و گزینه‌های نمایش را پیکربندی کنید.',
'blog.card.settings.link': 'مشاهده تنظیمات',
'blog.list.subtitle': '{count} مطلب · مشاهده، ویرایش و مدیریت محتوای بلاگ.',
'blog.list.loading': 'در حال بارگذاری مطالب بلاگ...',
'blog.list.empty': 'مطلب بلاگی یافت نشد.',
'blog.list.errorLoad': 'بارگذاری مطالب بلاگ ممکن نشد.',
'blog.list.errorDelete': 'حذف مطلب بلاگ ممکن نشد.',
'blog.list.errorVerify': 'به‌روزرسانی وضعیت تأیید بلاگ ممکن نشد.',
'blog.list.toast.removed': 'مطلب بلاگ حذف شد.',
'blog.list.toast.verified': 'بلاگ تأیید شد.',
'blog.list.toast.unverified': 'تأیید بلاگ لغو شد.',
'blog.list.deleteTitle': 'حذف مطلب بلاگ',
'blog.list.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.',
'blog.list.addNew': 'افزودن بلاگ',
'blog.card.edit': 'ویرایش بلاگ',
'blog.card.verify': 'تأیید بلاگ',
'blog.card.unverify': 'لغو تأیید بلاگ',
'blog.card.comments': 'مشاهده نظرات',
'blog.card.remove': 'حذف بلاگ',
'blog.card.waiting': 'در انتظار',
'blog.card.verified': 'تأییدشده',
'blog.card.noSummary': 'هنوز خلاصه‌ای نیست.',
'blog.settings.title': 'تنظیمات بلاگ',
'blog.settings.subtitle': 'نحوه تأیید نظرات بلاگ را پیکربندی کنید.',
'blog.settings.commentsAuto': 'تأیید خودکار نظرات',
'blog.settings.commentsAutoDesc':
'نظرات جدید بلاگ بلافاصله پس از ارسال منتشر می‌شوند. در صورت نیاز می‌توانید بعداً آن‌ها را رد کنید.',
'blog.settings.commentsAutoAria': 'تأیید خودکار نظرات بلاگ',
'blog.categories.title': 'دسته‌بندی‌های بلاگ',
'blog.categories.subtitle': 'مطالب بلاگ را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'blog.categories.empty': 'هنوز دسته‌بندی‌ای نیست. برای افزودن روی + کلیک کنید.',
'blog.categories.errorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'blog.categories.errorSave': 'ذخیره دسته‌بندی ممکن نشد.',
'blog.categories.errorDelete': 'حذف دسته‌بندی ممکن نشد.',
'blog.form.add.subtitle': 'یک مطلب بلاگ جدید ایجاد و منتشر کنید.',
'blog.form.edit.subtitle': 'جزئیات مطلب بلاگ را به‌روزرسانی و ذخیره کنید.',
'blog.form.cancel': 'انصراف',
'blog.form.saving': 'در حال ذخیره...',
'blog.form.save': 'ذخیره بلاگ',
'blog.form.update': 'به‌روزرسانی بلاگ',
'blog.form.errorSave': 'ذخیره مطلب بلاگ ممکن نشد.',
'blog.form.toast.created': 'مطلب بلاگ ایجاد شد.',
'blog.form.toast.updated': 'مطلب بلاگ به‌روزرسانی شد.',
'blog.form.titleImage': 'تصویر عنوان',
'blog.form.uploadTitleImage': 'آپلود تصویر عنوان',
'blog.form.changeTitleImage': 'تغییر تصویر عنوان',
'blog.form.cropHint': 'برای انتخاب کلیک کنید، سپس برش دهید',
'blog.form.type': 'نوع',
'blog.form.category': 'دسته‌بندی',
'blog.form.categoryPlaceholder': 'جستجو و انتخاب دسته‌بندی...',
'blog.form.title': 'عنوان',
'blog.form.titlePlaceholder': 'عنوان مطلب بلاگ',
'blog.form.abstract': 'خلاصه',
'blog.form.abstractPlaceholder': 'خلاصه کوتاه برای نمایش در فهرست بلاگ',
'blog.form.mainText': 'متن اصلی',
'blog.form.mainTextPlaceholder': 'محتوای کامل بلاگ با قالب‌بندی و تصاویر...',
'blog.form.tags': 'برچسب‌ها',
'blog.form.type.article': 'مقاله',
'blog.form.type.news': 'خبر',
'blog.form.type.blog': 'بلاگ',
'blog.details.loading': 'در حال بارگذاری مطلب بلاگ...',
'blog.details.notFound': 'مطلب بلاگ یافت نشد.',
'blog.details.errorLoad': 'بارگذاری مطلب بلاگ ممکن نشد.',
'blog.details.back': 'بازگشت به بلاگ‌های من',
'blog.details.noContent': 'هنوز محتوایی نیست.',
'blog.details.author': 'نویسنده',
'portfolio.page.subtitle': 'نمونه کارها را مدیریت کنید و پروژه‌ها را به نمایش بگذارید.',
'portfolio.card.list.desc': 'همه نمونه کارها را مشاهده، ویرایش و مدیریت کنید.',
'portfolio.card.list.link': 'مشاهده نمونه کارها',
'portfolio.card.new.desc': 'یک پروژه نمونه کار جدید ایجاد و منتشر کنید.',
'portfolio.card.new.link': 'افزودن نمونه کار',
'portfolio.card.categories.title': 'دسته‌بندی‌های نمونه کار',
'portfolio.card.categories.desc':
'نمونه کارها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'portfolio.card.categories.link': 'مشاهده دسته‌بندی‌ها',
'portfolio.card.settings.desc': 'تأیید نظرات نمونه کار و گزینه‌های نمایش را پیکربندی کنید.',
'portfolio.card.settings.link': 'مشاهده تنظیمات',
'portfolio.list.subtitle': '{count} مورد · مشاهده، ویرایش و مدیریت محتوای نمونه کار.',
'portfolio.list.loading': 'در حال بارگذاری نمونه کارها...',
'portfolio.list.empty': 'نمونه کاری یافت نشد.',
'portfolio.list.errorLoad': 'بارگذاری نمونه کارها ممکن نشد.',
'portfolio.list.errorDelete': 'حذف نمونه کار ممکن نشد.',
'portfolio.list.errorMove': 'جابه‌جایی نمونه کار ممکن نشد.',
'portfolio.list.toast.removed': 'نمونه کار حذف شد.',
'portfolio.list.toast.movedUp': 'نمونه کار به بالا منتقل شد.',
'portfolio.list.deleteTitle': 'حذف نمونه کار',
'portfolio.list.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.',
'portfolio.list.addNew': 'افزودن نمونه کار',
'portfolio.card.moveUp': 'انتقال به بالا',
'portfolio.card.edit': 'ویرایش نمونه کار',
'portfolio.card.comments': 'مشاهده نظرات',
'portfolio.card.remove': 'حذف نمونه کار',
'portfolio.card.noSummary': 'هنوز خلاصه‌ای نیست.',
'portfolio.settings.title': 'تنظیمات نمونه کار',
'portfolio.settings.subtitle': 'نحوه تأیید نظرات نمونه کار را پیکربندی کنید.',
'portfolio.settings.commentsAuto': 'تأیید خودکار نظرات',
'portfolio.settings.commentsAutoDesc':
'نظرات جدید نمونه کار بلافاصله پس از ارسال منتشر می‌شوند. در صورت نیاز می‌توانید بعداً آن‌ها را رد کنید.',
'portfolio.settings.commentsAutoAria': 'تأیید خودکار نظرات نمونه کار',
'portfolio.categories.title': 'دسته‌بندی‌های نمونه کار',
'portfolio.categories.subtitle':
'نمونه کارها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'portfolio.categories.empty': 'هنوز دسته‌بندی‌ای نیست. برای افزودن روی + کلیک کنید.',
'portfolio.categories.errorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'portfolio.categories.errorSave': 'ذخیره دسته‌بندی ممکن نشد.',
'portfolio.categories.errorDelete': 'حذف دسته‌بندی ممکن نشد.',
'portfolio.form.add.subtitle': 'یک پروژه نمونه کار جدید ایجاد و منتشر کنید.',
'portfolio.form.edit.subtitle': 'جزئیات نمونه کار را به‌روزرسانی و ذخیره کنید.',
'portfolio.form.cancel': 'انصراف',
'portfolio.form.saving': 'در حال ذخیره...',
'portfolio.form.save': 'ذخیره نمونه کار',
'portfolio.form.update': 'به‌روزرسانی نمونه کار',
'portfolio.form.errorSave': 'ذخیره نمونه کار ممکن نشد.',
'portfolio.form.toast.created': 'نمونه کار ایجاد شد.',
'portfolio.form.toast.updated': 'نمونه کار به‌روزرسانی شد.',
'portfolio.form.titleImage': 'تصویر عنوان',
'portfolio.form.aspectAria': 'نسبت تصویر عنوان',
'portfolio.form.aspect.square': 'مربع',
'portfolio.form.aspect.reel': '۹:۱۶ (ریل)',
'portfolio.form.uploadTitleImage': 'آپلود تصویر عنوان',
'portfolio.form.changeTitleImage': 'تغییر تصویر عنوان',
'portfolio.form.cropHint': 'برای انتخاب کلیک کنید، سپس برش دهید',
'portfolio.form.category': 'دسته‌بندی',
'portfolio.form.categoryPlaceholder': 'جستجو و انتخاب دسته‌بندی...',
'portfolio.form.titleFa': 'عنوان (فارسی)',
'portfolio.form.titleFaPlaceholder': 'عنوان فارسی',
'portfolio.form.titleEn': 'عنوان (انگلیسی)',
'portfolio.form.titleEnPlaceholder': 'English title',
'portfolio.form.abstract': 'خلاصه',
'portfolio.form.abstractPlaceholder': 'خلاصه کوتاه برای نمایش در فهرست نمونه کارها',
'portfolio.form.mainText': 'متن اصلی',
'portfolio.form.mainTextPlaceholder': 'محتوای کامل نمونه کار با قالب‌بندی و تصاویر...',
'portfolio.form.gallery': 'گالری تصاویر',
'portfolio.form.tags': 'برچسب‌ها',
'portfolio.details.loading': 'در حال بارگذاری نمونه کار...',
'portfolio.details.notFound': 'نمونه کار یافت نشد.',
'portfolio.details.errorLoad': 'بارگذاری نمونه کار ممکن نشد.',
'portfolio.details.back': 'بازگشت به نمونه کارهای من',
'portfolio.details.noContent': 'هنوز محتوایی نیست.',
'portfolio.details.gallery': 'گالری',
'portfolio.details.galleryImage': 'مشاهده تصویر گالری {index}',
'website.page.subtitle':
'محتوای عمومی وب‌سایت، فرم‌ها و تنظیمات مشتری‌محور را مدیریت کنید.',
'website.card.sliders.desc': 'اسلایدرهای بنر صفحه اصلی و کاروسل‌های تبلیغاتی را مدیریت کنید.',
'website.card.sliders.link': 'مدیریت اسلایدرها',
'website.card.specialCategories.desc':
'دسته‌بندی‌های منتخب محصول را در صفحه اصلی وب‌سایت برجسته کنید.',
'website.card.specialCategories.link': 'مدیریت دسته‌بندی‌ها',
'website.card.specialBrands.desc': 'برندهای شریک یا ویژه را در صفحه اصلی وب‌سایت نمایش دهید.',
'website.card.specialBrands.link': 'مدیریت برندها',
'website.card.specialItems.desc':
'اقلام فروشگاه ویژه را در دسته‌ها برای کاروسل‌های وب‌سایت گردآوری کنید.',
'website.card.specialItems.link': 'مدیریت اقلام ویژه',
'website.card.contact.desc': 'ارسال‌های فرم تماس وب‌سایت را مشاهده کنید.',
'website.card.contact.link': 'مشاهده ارسال‌ها',
'website.card.subscriptions.desc': 'عضویت خبرنامه و گزینه‌های اشتراک بازدیدکنندگان را مدیریت کنید.',
'website.card.subscriptions.link': 'مدیریت عضویت‌ها',
'website.card.faq.desc': 'سوالات متداول وب‌سایت را ایجاد و سازماندهی کنید.',
'website.card.faq.link': 'مدیریت سوالات متداول',
'website.card.badges.desc': 'نشان‌های اعتماد، گواهی‌ها و برجسته‌ها را در وب‌سایت نمایش دهید.',
'website.card.badges.link': 'مدیریت نشان‌ها',
'website.card.ePayment.desc': 'درگاه‌های پرداخت آنلاین و گزینه‌های تسویه حساب را پیکربندی کنید.',
'website.card.ePayment.link': 'مدیریت پرداخت الکترونیک',
'website.scrollLeft': 'اسکرول به چپ',
'website.scrollRight': 'اسکرول به راست',
'website.editGroup': 'ویرایش گروه',
'website.deleteGroup': 'حذف گروه',
'website.removeFromGroup': 'حذف از گروه',
'website.save': 'ذخیره',
'website.create': 'ایجاد',
'website.adding': 'در حال افزودن...',
'website.saving': 'در حال ذخیره...',
'website.groupTitle': 'عنوان گروه',
'website.groupTitlePlaceholder': 'مثلاً: ویژه، پرفروش‌ترین‌ها',
'website.groupKey': 'کلید (انگلیسی)',
'website.groupKeyPlaceholder': 'مثلاً: top-selling',
'website.groupKeyHint':
'فقط انگلیسی — حروف، اعداد، خط تیره و زیرخط. برای استفاده وب‌سایت.',
'website.groupValue': 'عنوان نمایشی',
'website.groupValuePlaceholder': 'عنوانی که در وب‌سایت نمایش داده می‌شود (هر زبانی)',
'website.removeFromGroupTitle': 'حذف از گروه',
'website.removeFromGroupMessage': '«{name}» از «{group}» حذف شود؟',
'website.pick.addTo': 'افزودن به {title}',
'website.pick.addOneCategory': 'افزودن ۱ دسته‌بندی',
'website.pick.addCategories': 'افزودن {count} دسته‌بندی',
'website.pick.addOneBrand': 'افزودن ۱ برند',
'website.pick.addBrands': 'افزودن {count} برند',
'website.sliders.subtitle': 'اسلایدهای بنر صفحه اصلی را در گالری ۹:۴ مدیریت کنید.',
'website.sliders.loading': 'در حال بارگذاری اسلایدها...',
'website.sliders.errorLoad': 'بارگذاری اسلایدها ممکن نشد.',
'website.sliders.errorUpload': 'آپلود تصویر اسلاید ممکن نشد.',
'website.sliders.errorAdd': 'افزودن اسلاید ممکن نشد.',
'website.sliders.errorRemove': 'حذف اسلاید ممکن نشد.',
'website.sliders.toastAdded': 'اسلاید افزوده شد.',
'website.sliders.toastRemoved': 'اسلاید حذف شد.',
'website.sliders.removeTitle': 'حذف اسلاید',
'website.sliders.removeMessage': 'این اسلاید از اسلایدر صفحه اصلی حذف شود؟',
'website.sliders.defaultTitle': 'اسلایدر صفحه اصلی',
'website.sliders.addSlide': 'افزودن اسلاید',
'website.sliders.removeSlide': 'حذف اسلاید',
'website.sliders.untitled': 'اسلاید بدون عنوان',
'website.sliders.slideAlt': 'اسلاید',
'website.sliders.modal.title': 'افزودن اسلاید',
'website.sliders.modal.image': 'تصویر اسلاید',
'website.sliders.modal.upload': 'آپلود تصویر اسلاید',
'website.sliders.modal.hint': 'نسبت بنر ۹:۴ توصیه می‌شود',
'website.sliders.modal.changeImage': 'تغییر تصویر',
'website.sliders.modal.titleOptional': 'عنوان (اختیاری)',
'website.sliders.modal.titlePlaceholder': 'مثلاً: حراج تابستان',
'website.sliders.modal.linkOptional': 'آدرس لینک (اختیاری)',
'website.sliders.modal.addSlide': 'افزودن اسلاید',
'website.specialCategories.subtitle':
'دسته‌بندی‌های ویژه محصول را برای صفحه اصلی وب‌سایت در گروه‌ها گردآوری کنید.',
'website.specialCategories.loading': 'در حال بارگذاری گروه‌های دسته ویژه...',
'website.specialCategories.empty':
'هنوز گروه دسته ویژه‌ای نیست. با دکمه + یکی بسازید، سپس دسته‌ها را به هر کاروسل اضافه کنید.',
'website.specialCategories.errorLoad': 'بارگذاری گروه‌های دسته ویژه ممکن نشد.',
'website.specialCategories.errorCreate': 'ایجاد گروه دسته ویژه ممکن نشد.',
'website.specialCategories.errorUpdate': 'به‌روزرسانی گروه دسته ویژه ممکن نشد.',
'website.specialCategories.errorDelete': 'حذف گروه دسته ویژه ممکن نشد.',
'website.specialCategories.errorAdd': 'افزودن دسته‌بندی‌ها ممکن نشد.',
'website.specialCategories.errorRemove': 'حذف دسته‌بندی ممکن نشد.',
'website.specialCategories.toastCreated': 'گروه دسته ویژه ایجاد شد.',
'website.specialCategories.toastUpdated': 'گروه دسته ویژه به‌روزرسانی شد.',
'website.specialCategories.toastDeleted': 'گروه دسته ویژه حذف شد.',
'website.specialCategories.toastAdded': 'دسته‌بندی‌ها به گروه افزوده شد.',
'website.specialCategories.toastRemoved': 'از گروه دسته ویژه حذف شد.',
'website.specialCategories.addFab': 'افزودن گروه دسته ویژه',
'website.specialCategories.addTooltip': 'افزودن دسته‌بندی به {title}',
'website.specialCategories.createTitle': 'افزودن گروه دسته ویژه',
'website.specialCategories.editTitle': 'ویرایش گروه دسته ویژه',
'website.specialCategories.deleteTitle': 'حذف گروه دسته ویژه',
'website.specialCategories.deleteMessage':
'«{title}» حذف شود؟ دسته‌بندی‌های محصول در کاتالوگ باقی می‌مانند.',
'website.specialCategories.pickSubtitle':
'دسته‌بندی‌های محصول را برای نمایش در این گروه انتخاب کنید.',
'website.specialCategories.pickLoading': 'در حال بارگذاری دسته‌بندی‌ها...',
'website.specialCategories.pickEmpty': 'همه دسته‌بندی‌ها قبلاً در این گروه هستند.',
'website.specialCategories.pickSearch': 'حداقل ۳ حرف برای جستجوی دسته‌بندی تایپ کنید',
'website.specialCategories.pickErrorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'website.specialBrands.subtitle': 'برندهای ویژه را برای صفحه اصلی وب‌سایت در گروه‌ها گردآوری کنید.',
'website.specialBrands.loading': 'در حال بارگذاری گروه‌های برند ویژه...',
'website.specialBrands.empty':
'هنوز گروه برند ویژه‌ای نیست. با دکمه + یکی بسازید، سپس برندها را به هر کاروسل اضافه کنید.',
'website.specialBrands.errorLoad': 'بارگذاری گروه‌های برند ویژه ممکن نشد.',
'website.specialBrands.errorCreate': 'ایجاد گروه برند ویژه ممکن نشد.',
'website.specialBrands.errorUpdate': 'به‌روزرسانی گروه برند ویژه ممکن نشد.',
'website.specialBrands.errorDelete': 'حذف گروه برند ویژه ممکن نشد.',
'website.specialBrands.errorAdd': 'افزودن برندها ممکن نشد.',
'website.specialBrands.errorRemove': 'حذف برند ممکن نشد.',
'website.specialBrands.toastCreated': 'گروه برند ویژه ایجاد شد.',
'website.specialBrands.toastUpdated': 'گروه برند ویژه به‌روزرسانی شد.',
'website.specialBrands.toastDeleted': 'گروه برند ویژه حذف شد.',
'website.specialBrands.toastAdded': 'برندها به گروه افزوده شد.',
'website.specialBrands.toastRemoved': 'از گروه برند ویژه حذف شد.',
'website.specialBrands.addFab': 'افزودن گروه برند ویژه',
'website.specialBrands.addTooltip': 'افزودن برند به {title}',
'website.specialBrands.createTitle': 'افزودن گروه برند ویژه',
'website.specialBrands.editTitle': 'ویرایش گروه برند ویژه',
'website.specialBrands.deleteTitle': 'حذف گروه برند ویژه',
'website.specialBrands.deleteMessage': '«{title}» حذف شود؟ برندها در کاتالوگ باقی می‌مانند.',
'website.specialBrands.pickSubtitle': 'برندها را برای نمایش در این گروه انتخاب کنید.',
'website.specialBrands.pickLoading': 'در حال بارگذاری برندها...',
'website.specialBrands.pickEmpty': 'همه برندها قبلاً در این گروه هستند.',
'website.specialBrands.pickSearch': 'حداقل ۳ حرف برای جستجوی برند تایپ کنید',
'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.toastCreated': 'دسته ویژه ایجاد شد.',
'website.specialItems.toastUpdated': 'دسته ویژه به‌روزرسانی شد.',
'website.specialItems.toastDeleted': 'دسته ویژه حذف شد.',
'website.specialItems.toastAdded': 'اقلام فروشگاه به دسته ویژه افزوده شد.',
'website.specialItems.toastRemoved': 'از دسته ویژه حذف شد.',
'website.specialItems.addFab': 'افزودن دسته ویژه',
'website.specialItems.createTitle': 'افزودن دسته ویژه',
'website.specialItems.editTitle': 'ویرایش دسته ویژه',
'website.specialItems.deleteTitle': 'حذف دسته ویژه',
'website.specialItems.deleteMessage':
'«{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.removeFromSpecial': 'حذف از ویژه',
'website.specialItems.pickSubtitle': 'اقلام فروشگاه را برای نمایش در این دسته انتخاب کنید.',
'website.specialItems.pickLoading': 'در حال بارگذاری اقلام فروشگاه...',
'website.specialItems.pickEmpty': 'همه اقلام فروشگاه قبلاً در این دسته هستند.',
'website.specialItems.pickSearch': 'حداقل ۳ حرف برای جستجوی اقلام فروشگاه تایپ کنید',
'website.specialItems.pickErrorLoad': 'بارگذاری اقلام فروشگاه ممکن نشد.',
'website.pick.addOneItem': 'افزودن ۱ قلم',
'website.pick.addItems': 'افزودن {count} قلم',
'website.contact.subtitle': 'ارسال‌های دریافتی از فرم تماس وب‌سایت.',
'website.contact.filters': 'فیلترها',
'website.contact.searchPlaceholder': 'عنوان، نام، ایمیل، موبایل یا پیام',
'website.contact.search': 'جستجو',
'website.contact.clearFilters': 'پاک کردن فیلترها',
'website.contact.listTitle': 'ارسال‌ها',
'website.contact.showing': 'نمایش {from} تا {to} از {total}',
'website.contact.none': 'بدون ارسال',
'website.contact.empty': 'ارسالی یافت نشد.',
'website.contact.loading': 'در حال بارگذاری...',
'website.contact.errorLoad': 'بارگذاری ارسال‌های تماس ممکن نشد.',
'website.contact.pageMeta': 'صفحه {page} / {totalPages} · {pageSize} در هر صفحه · {total} کل',
'website.contact.col.title': 'عنوان',
'website.contact.col.name': 'نام',
'website.contact.col.email': 'ایمیل',
'website.contact.col.cell': 'شماره موبایل',
'website.contact.col.date': 'تاریخ',
'website.contact.col.time': 'ساعت',
'website.contact.viewSubmission': 'مشاهده ارسال از {name}',
'website.contact.detailTitle': 'ارسال تماس',
'website.contact.detailMessage': 'پیام',
'website.subscriptions.subtitle': 'عضویت خبرنامه و اشتراک‌ها در وب‌سایت را مدیریت کنید.',
'website.subscriptions.lead': 'نحوه عضویت بازدیدکنندگان برای دریافت به‌روزرسانی‌ها را کنترل کنید.',
'website.subscriptions.note': 'مدیریت عضویت به‌زودی اینجا متصل می‌شود. گزینه‌های برنامه‌ریزی‌شده:',
'website.subscriptions.feature.enable': 'فعال یا غیرفعال کردن فرم‌های عضویت',
'website.subscriptions.feature.welcome': 'پیام خوش‌آمد و متن رضایت سفارشی',
'website.subscriptions.feature.export': 'خروجی گرفتن یا مشاهده فهرست مشترکین',
'website.faq.subtitle': 'سوالات متداول وب‌سایت را ایجاد و سازماندهی کنید.',
'website.faq.lead':
'بخش سوالات متداول بسازید تا پیش از تماس، پرسش‌های رایج مشتریان پاسخ داده شود.',
'website.faq.note': 'ویرایشگر سوالات متداول به‌زودی اینجا متصل می‌شود. گزینه‌های برنامه‌ریزی‌شده:',
'website.faq.feature.crud': 'افزودن، ویرایش و مرتب‌سازی پرسش و پاسخ',
'website.faq.feature.groups': 'گروه‌بندی موارد بر اساس دسته',
'website.faq.feature.publish': 'انتشار یا مخفی کردن هر مورد',
'website.badges.subtitle': 'نشان‌های اعتماد و برجسته‌ها را در وب‌سایت عمومی نمایش دهید.',
'website.badges.lead': 'گواهی‌ها، تضمین‌ها و نشانه‌های اعتماد را به بازدیدکنندگان نشان دهید.',
'website.badges.note': 'مدیریت نشان‌ها به‌زودی اینجا متصل می‌شود. گزینه‌های برنامه‌ریزی‌شده:',
'website.badges.feature.upload': 'آپلود تصویر نشان با عنوان و لینک',
'website.badges.feature.reorder': 'مرتب‌سازی نشان‌ها برای صفحه اصلی یا پاورقی',
'website.badges.feature.toggle': 'نمایش یا مخفی کردن هر نشان',
'website.ePayment.subtitle': 'روش‌های پرداخت آنلاین برای تسویه حساب وب‌سایت را پیکربندی کنید.',
'website.ePayment.lead':
'درگاه‌های پرداخت را متصل کنید تا مشتریان از طریق فروشگاه آنلاین پرداخت کنند.',
'website.ePayment.note': 'تنظیمات پرداخت الکترونیک به‌زودی اینجا متصل می‌شود. گزینه‌های برنامه‌ریزی‌شده:',
'website.ePayment.feature.enable': 'فعال یا غیرفعال کردن پرداخت آنلاین',
'website.ePayment.feature.credentials': 'پیکربندی اطلاعات درگاه پرداخت',
'website.ePayment.feature.methods': 'تنظیم روش‌های پرداخت و حالت آزمایشی',
'title.signIn': 'ورود',
'title.home': 'خانه',
'title.profile': 'پروفایل',
'title.businessProfile': 'پروفایل کسب‌وکار',
'title.products': 'محصولات',
'title.myProducts': 'محصولات من',
'title.addProduct': 'افزودن محصول',
'title.editProduct': 'ویرایش محصول',
'title.productDetails': 'جزئیات محصول',
'title.categories': 'دسته‌بندی‌ها',
'title.brands': 'برندها',
'title.settings': 'تنظیمات',
'title.store': 'فروشگاه',
'title.storeItems': 'اقلام فروشگاه',
'title.orders': 'سفارش‌های من',
'title.shoppingCards': 'کارت‌های خرید',
'title.customers': 'مشتریان',
'title.blog': 'بلاگ',
'title.myBlogs': 'بلاگ‌های من',
'title.addBlog': 'افزودن بلاگ',
'title.editBlog': 'ویرایش بلاگ',
'title.blogDetails': 'جزئیات بلاگ',
'title.portfolios': 'نمونه کارها',
'title.myPortfolios': 'نمونه کارهای من',
'title.addPortfolio': 'افزودن نمونه کار',
'title.editPortfolio': 'ویرایش نمونه کار',
'title.portfolioDetails': 'جزئیات نمونه کار',
'title.website': 'وب‌سایت',
'title.sliders': 'اسلایدرها',
'title.specialCategories': 'دسته‌های ویژه',
'title.specialBrands': 'برندهای ویژه',
'title.specialItems': 'اقلام ویژه',
'title.contactForm': 'فرم تماس با ما',
'title.subscriptions': 'عضویت‌ها',
'title.faq': 'سوالات متداول',
'title.badges': 'نشان‌ها',
'title.ePayment': 'پرداخت الکترونیک',
'login.welcome': 'خوش آمدید',
'login.subtitle': 'با شماره موبایل وارد شوید',
'login.mobile': 'شماره موبایل',
'login.password': 'رمز عبور',
'login.passwordPlaceholder': 'رمز عبور را وارد کنید',
'login.hidePassword': 'مخفی کردن رمز',
'login.showPassword': 'نمایش رمز',
'login.forgot': 'رمز عبور را فراموش کرده‌اید؟',
'login.signIn': 'ورود',
'login.signingIn': 'در حال ورود...',
'login.or': 'یا',
'login.otp': 'ورود یک‌بارمصرف با پیامک',
'login.noAccount': 'حساب ندارید؟',
'login.signUp': 'ثبت‌نام',
'login.error.signIn': 'ورود ممکن نشد. اتصال را بررسی کنید و دوباره تلاش کنید.',
'login.error.sendCode': 'ارسال کد تأیید ممکن نشد.',
'login.error.access': 'به این پنل کسب‌وکار دسترسی ندارید.',
'signup.title': 'ایجاد حساب',
'signup.subtitle': 'ثبت‌نام برای {domain}',
'signup.firstName': 'نام',
'signup.lastName': 'نام خانوادگی',
'signup.passwordPlaceholder': 'یک رمز عبور انتخاب کنید',
'signup.confirm': 'تأیید رمز عبور',
'signup.confirmPlaceholder': 'رمز عبور را تکرار کنید',
'signup.create': 'ایجاد حساب',
'signup.creating': 'در حال ایجاد حساب...',
'signup.hasAccount': 'قبلاً حساب دارید؟',
'signup.signIn': 'ورود',
'signup.error.match': 'رمزهای عبور یکسان نیستند.',
'signup.error.length': 'رمز عبور باید حداقل ۸ کاراکتر باشد.',
'signup.error.create': 'ایجاد حساب ممکن نشد.',
'forgot.back': 'بازگشت به ورود',
'forgot.title': 'فراموشی رمز عبور',
'forgot.subtitlePhone': 'کد تأیید را با پیامک ارسال می‌کنیم',
'forgot.subtitleCode': 'کد و رمز عبور جدید را وارد کنید',
'forgot.sendCode': 'ارسال کد پیامکی',
'forgot.sending': 'در حال ارسال...',
'forgot.code': 'کد تأیید پیامکی',
'forgot.newPassword': 'رمز عبور جدید',
'forgot.newPasswordPlaceholder': 'رمز عبور جدید را وارد کنید',
'forgot.reset': 'بازنشانی رمز عبور',
'forgot.verifying': 'در حال تأیید...',
'forgot.error.length': 'رمز عبور باید حداقل ۸ کاراکتر باشد.',
'forgot.error.verify': 'بازنشانی رمز ممکن نشد. کد را بررسی کنید و دوباره تلاش کنید.',
'forgot.info.success': 'رمز عبور به‌روز شد. می‌توانید با رمز جدید وارد شوید.',
'otp.back': 'بازگشت به ورود',
'otp.title': 'ورود یک‌بارمصرف',
'otp.subtitlePhone': 'کد یک‌بارمصرف را با پیامک به شماره موبایل ارسال می‌کنیم',
'otp.subtitleCode': 'کد پیامکی را وارد کنید تا وارد شوید',
'otp.sendCode': 'ارسال کد پیامکی',
'otp.sending': 'در حال ارسال...',
'otp.code': 'کد تأیید پیامکی',
'otp.signIn': 'ورود',
'otp.signingIn': 'در حال ورود...',
'otp.error.signIn': 'ورود با کد پیامکی ممکن نشد.',
'common.close': 'بستن',
'common.resendIn': 'ارسال مجدد کد تا {seconds} ثانیه',
'common.resend': 'ارسال مجدد کد پیامکی',
'common.codeSent': 'کد تأیید به {phone} ارسال شد',
'common.breadcrumb': 'مسیر صفحه',
'common.overview': 'نمای کلی',
}
const dictionaries: Record<DashboardLocale, Record<MessageKey, string>> = {
en: en as Record<MessageKey, string>,
fa,
}
export type BusinessMessageKey = MessageKey
/** Maps hardcoded English breadcrumb labels used across pages → message keys. */
const BREADCRUMB_LABEL_KEYS: Record<string, MessageKey> = {
Home: 'nav.home',
Dashboard: 'bc.dashboard',
'Business Profile': 'nav.businessProfile',
Products: 'nav.products',
Overview: 'common.overview',
'My Products': 'nav.products.list',
'Add New Product': 'nav.products.new',
'Add a New Product': 'nav.products.new',
'Edit Product': 'bc.editProduct',
'Product Details': 'bc.productDetails',
Categories: 'title.categories',
Brands: 'title.brands',
Settings: 'title.settings',
Store: 'nav.store',
'My Store Items': 'nav.store.items',
'My Orders': 'nav.store.orders',
'Shipping Fees': 'nav.store.shipping',
'Shopping Cards': 'nav.store.cards',
Customers: 'nav.customers',
Blog: 'nav.blog',
'My Blogs': 'nav.blog.list',
'Add New Blog': 'nav.blog.new',
'Edit Blog': 'bc.editBlog',
'Blog Details': 'bc.blogDetails',
Portfolios: 'nav.portfolios',
'My Portfolios': 'nav.portfolios.list',
'Add New Portfolio': 'nav.portfolios.new',
'Edit Portfolio': 'bc.editPortfolio',
'Portfolio Details': 'bc.portfolioDetails',
Website: 'nav.website',
Sliders: 'nav.website.sliders',
'Special Categories': 'nav.website.specialCategories',
'Special Brands': 'nav.website.specialBrands',
'Special Items': 'nav.website.specialItems',
'Contact Us Form': 'nav.website.contact',
Subscriptions: 'nav.website.subscriptions',
FAQ: 'nav.website.faq',
Badges: 'nav.website.badges',
'E-Payment': 'nav.website.ePayment',
Orders: 'nav.store.orders',
Profile: 'header.profile',
'Sign in': 'title.signIn',
}
export function translate(
locale: DashboardLocale,
key: MessageKey,
vars?: Record<string, string | number>,
): string {
const dict = dictionaries[locale] ?? dictionaries.en
let text = dict[key] ?? dictionaries.en[key] ?? key
if (vars) {
for (const [name, value] of Object.entries(vars)) {
text = text.replaceAll(`{${name}}`, String(value))
}
}
return text
}
export function translateBreadcrumbLabel(locale: DashboardLocale, label: string): string {
const key = BREADCRUMB_LABEL_KEYS[label]
return key ? translate(locale, key) : label
}
export function getBusinessRouteTitleRules(locale: DashboardLocale): RouteTitleRule[] {
const t = (key: MessageKey) => translate(locale, key)
return [
{ match: '/login', labels: [t('title.signIn')] },
{ match: '/profile', labels: [t('title.profile')] },
{ match: '/business-profile', labels: [t('title.businessProfile')] },
{ match: '/products/categories', labels: [t('title.products'), t('title.categories')] },
{ match: '/products/brands', labels: [t('title.products'), t('title.brands')] },
{ match: '/products/new', labels: [t('title.products'), t('title.addProduct')] },
{ match: /^\/products\/edit\/[^/]+$/, labels: [t('title.products'), t('title.editProduct')] },
{ match: '/products/list', labels: [t('title.products'), t('title.myProducts')] },
{
match: /^\/products\/detail\/[^/]+$/,
labels: [t('title.products'), t('title.productDetails')],
},
{ match: '/products/settings', labels: [t('title.products'), t('title.settings')] },
{ match: '/products', labels: [t('title.products')] },
{ match: '/store/items', labels: [t('title.store'), t('title.storeItems')] },
{ match: '/store/orders', labels: [t('title.store'), t('title.orders')] },
{ match: '/store/cards', labels: [t('title.store'), t('title.shoppingCards')] },
{ match: '/store/settings', labels: [t('title.store'), t('title.settings')] },
{ match: '/store', labels: [t('title.store')] },
{ match: '/customers', labels: [t('title.customers')] },
{ match: '/blog/list', labels: [t('title.blog'), t('title.myBlogs')] },
{ match: /^\/blog\/detail\/[^/]+$/, labels: [t('title.blog'), t('title.blogDetails')] },
{ match: '/blog/new', labels: [t('title.blog'), t('title.addBlog')] },
{ match: /^\/blog\/edit\/[^/]+$/, labels: [t('title.blog'), t('title.editBlog')] },
{ match: '/blog/categories', labels: [t('title.blog'), t('title.categories')] },
{ match: '/blog/settings', labels: [t('title.blog'), t('title.settings')] },
{ match: '/blog', labels: [t('title.blog')] },
{ match: '/portfolios/list', labels: [t('title.portfolios'), t('title.myPortfolios')] },
{
match: /^\/portfolios\/detail\/[^/]+$/,
labels: [t('title.portfolios'), t('title.portfolioDetails')],
},
{ match: '/portfolios/new', labels: [t('title.portfolios'), t('title.addPortfolio')] },
{
match: /^\/portfolios\/edit\/[^/]+$/,
labels: [t('title.portfolios'), t('title.editPortfolio')],
},
{ match: '/portfolios/categories', labels: [t('title.portfolios'), t('title.categories')] },
{ match: '/portfolios/settings', labels: [t('title.portfolios'), t('title.settings')] },
{ match: '/portfolios', labels: [t('title.portfolios')] },
{ match: '/website/sliders', labels: [t('title.website'), t('title.sliders')] },
{
match: '/website/special-categories',
labels: [t('title.website'), t('title.specialCategories')],
},
{ match: '/website/special-brands', labels: [t('title.website'), t('title.specialBrands')] },
{ match: '/website/special-items', labels: [t('title.website'), t('title.specialItems')] },
{ match: '/website/contact', labels: [t('title.website'), t('title.contactForm')] },
{ 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: '/', labels: [t('title.home')] },
]
}