Files
dashboards/apps/business/src/i18n/messages.ts
T
Alireza HassaniandCursor e0e68de30f Add a reusable website link generator and polish static image cards.
Editors can pick product, store, blog, portfolio, or video category links, and image cards expose compact info/link actions without dumping URLs in the footer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 00:30:01 +03:30

4054 lines
240 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.admin': 'Admin',
'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': 'Users',
'nav.customerProducts': 'Customer products',
'nav.invoices': 'Invoices',
'nav.invoices.list': 'Invoices',
'nav.invoices.templates': 'Templates',
'nav.finance': 'Finance Management',
'nav.finance.overview': 'Overview',
'nav.finance.invoices': 'Invoices',
'nav.finance.transactions': 'Transactions',
'nav.settings': 'Settings',
'nav.content': 'Content Management',
'nav.content.blog': 'News & Articles',
'nav.content.videos': 'Videos',
'nav.content.instructions': 'Instructions',
'nav.content.overview': 'Overview',
'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.videos': 'Videos',
'nav.videos.overview': 'Overview',
'nav.videos.list': 'My Videos',
'nav.videos.new': 'Add New Video',
'nav.videos.categories': 'Categories',
'nav.videos.settings': 'Settings',
'nav.instructions': 'Instructions',
'nav.instructions.overview': 'Overview',
'nav.instructions.list': 'My Instructions',
'nav.instructions.new': 'Add New Instruction',
'nav.instructions.categories': 'Categories',
'nav.instructions.settings': 'Settings',
'nav.website': 'Website',
'nav.website.overview': 'Overview',
'nav.website.staticImages': 'Static Images',
'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.closeMenu': 'Close 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',
'bc.editVideo': 'Edit Video',
'bc.videoDetails': 'Video Details',
'bc.editInstruction': 'Edit Instruction',
'bc.instructionDetails': 'Instruction 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': 'Users',
'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.content.title': 'Content',
'home.card.content.desc': 'Manage blog posts, videos, and other published content.',
'home.card.content.link': 'Manage content',
'home.card.content.count': 'items',
'content.page.subtitle': 'Blog, videos, and other content types for your website.',
'content.card.blog.desc': 'Create and manage blog posts and categories.',
'content.card.blog.link': 'Open blog',
'content.card.videos.desc': 'Embed YouTube and Aparat videos with categories and comments.',
'content.card.videos.link': 'Open videos',
'content.card.instructions.desc': 'Tutorials with rich text and optional embedded video.',
'content.card.instructions.link': 'Open instructions',
'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.videos.title': 'Videos',
'home.card.videos.desc': 'Embed YouTube and Aparat videos with categories and comments.',
'home.card.videos.link': 'View videos',
'home.card.videos.count': 'videos',
'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, and subscriptions.',
'home.card.website.link': 'View website',
'home.card.finance.title': 'Finance Management',
'home.card.finance.desc': 'Manage invoices and financial transactions.',
'home.card.finance.link': 'View finance',
'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': 'Users',
'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': '{month}: {count} registered',
'home.chart.customersJoined.activeBar': '{month}: {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',
'customerProducts.title': 'Customer products',
'customerProducts.subtitle': '{count} products submitted by customers.',
'customerProducts.empty': 'No customer products yet.',
'customerProducts.form.title': 'My Products',
'customerProducts.form.empty': 'You have not added any products yet.',
'customerProducts.form.add': 'Add product',
'customerProducts.form.addTitle': 'Add product',
'customerProducts.form.addSubtitle': 'Submit a new product for review.',
'customerProducts.form.addComingSoon': 'The add form will be designed next.',
'customerProducts.form.backToList': 'Back to my products',
'customerProducts.form.editTitle': 'Edit product',
'customerProducts.form.editSubtitle': 'Update your listing details, then save.',
'customerProducts.form.detailsTitle': 'Product details',
'customerProducts.form.detailsSubtitle': 'Review your submitted listing.',
'customerProducts.form.edit': 'Edit product',
'customerProducts.form.yes': 'Yes',
'customerProducts.form.editSoon': 'Edit product will be available soon.',
'customerProducts.form.remove': 'Remove product',
'customerProducts.form.removeConfirm': 'Remove this product from your stock?',
'customerProducts.form.removeSuccess': 'Product removed.',
'customerProducts.form.promote': 'Promote product',
'customerProducts.form.promoted': 'Promoted',
'customerProducts.form.promoteSuccess': 'Product promoted.',
'customerProducts.form.priceUnavailable': 'Price on request',
'customerProducts.form.status.pending': 'Pending',
'customerProducts.form.status.published': 'Approved',
'customerProducts.form.status.archived': 'Archived',
'customerProducts.form.stepperLabel': 'Add product steps',
'customerProducts.form.step.basics': 'Basics',
'customerProducts.form.step.basicsHint': 'Category, names, description, price, and location.',
'customerProducts.form.step.basicsPlaceholder': 'Basic fields will go here.',
'customerProducts.form.step.images': 'Images',
'customerProducts.form.step.imagesHint': 'Add a cropped thumbnail and gallery photos.',
'customerProducts.form.step.details': 'Details',
'customerProducts.form.step.detailsHint': 'Description and technical information for the selected category.',
'customerProducts.form.step.detailsPlaceholder': 'Details and technical fields will go here.',
'customerProducts.form.step.technical': 'Technical data',
'customerProducts.form.step.technicalHint':
'Choose condition, add optional notes, then fill the category technical form.',
'customerProducts.form.optional': '(optional)',
'customerProducts.form.loading': 'Loading products…',
'customerProducts.form.fields.category': 'Category',
'customerProducts.form.fields.selectCategory': 'Select category',
'customerProducts.form.fields.searchCategory': 'Search category…',
'customerProducts.form.fields.clearCategory': 'Clear category',
'customerProducts.form.fields.noCategories': 'No categories found',
'customerProducts.form.fields.titleFa': 'Name (FA)',
'customerProducts.form.fields.titleFaPlaceholder': 'Product name in Farsi',
'customerProducts.form.fields.titleEn': 'Name (EN)',
'customerProducts.form.fields.titleEnPlaceholder': 'Product name in English',
'customerProducts.form.fields.description': 'Description',
'customerProducts.form.fields.descriptionPlaceholder': 'Short description of your product',
'customerProducts.form.fields.price': 'Desired price',
'customerProducts.form.fields.priceSuggested': 'Your suggested price',
'customerProducts.form.fields.priceByExpert': 'I want an expert to set the price',
'customerProducts.form.fields.pricePlaceholder': 'e.g. 1,500,000',
'customerProducts.form.fields.priceUnit': 'Unit',
'customerProducts.form.fields.priceUnit.IRT': 'IRT',
'customerProducts.form.fields.priceUnit.USD': 'Dollar',
'customerProducts.form.fields.priceUnit.EUR': 'EURO',
'customerProducts.form.fields.priceUnit.AED': 'AED',
'customerProducts.form.fields.location': 'Location',
'customerProducts.form.fields.country': 'Country',
'customerProducts.form.fields.selectCountry': 'Select country',
'customerProducts.form.fields.province': 'Province',
'customerProducts.form.fields.selectProvince': 'Select province',
'customerProducts.form.fields.city': 'City',
'customerProducts.form.fields.selectCity': 'Select city',
'customerProducts.form.fields.searchCity': 'Search city…',
'customerProducts.form.fields.clearCity': 'Clear city',
'customerProducts.form.fields.noCities': 'No cities found',
'customerProducts.form.fields.deliveryNote': 'Pickup / delivery note',
'customerProducts.form.fields.deliveryNotePlaceholder': 'e.g. pickup only, evening delivery…',
'customerProducts.form.fields.district': 'District',
'customerProducts.form.fields.selectDistrict': 'Select district',
'customerProducts.form.fields.condition': 'Condition',
'customerProducts.form.fields.technicalNotes': 'Technical notes',
'customerProducts.form.fields.technicalNotesPlaceholder': 'Optional extra technical details…',
'customerProducts.form.condition.new': 'New',
'customerProducts.form.condition.stock': 'Stock',
'customerProducts.form.condition.needs_repair': 'Needs repair',
'customerProducts.form.condition.scrap': 'Scrap',
'customerProducts.form.images.thumbnail': 'Thumbnail',
'customerProducts.form.images.thumbnailUpload': 'Upload thumbnail',
'customerProducts.form.images.thumbnailHint': '3:2 landscape works best',
'customerProducts.form.images.thumbnailChange': 'Change thumbnail',
'customerProducts.form.images.thumbnailRemove': 'Remove thumbnail',
'customerProducts.form.images.zoom': 'Zoom',
'customerProducts.form.images.applyCrop': 'Apply crop',
'customerProducts.form.images.gallery': 'Gallery',
'customerProducts.form.images.galleryAdd': 'Add photos',
'customerProducts.form.images.galleryHint': 'You can select multiple images.',
'customerProducts.form.images.galleryRemove': 'Remove image {index}',
'customerProducts.form.technical.select': 'Select…',
'customerProducts.form.technical.needCategory': 'Choose a category in step 1 to load technical fields.',
'customerProducts.form.technical.empty': 'This category has no technical fields yet.',
'customerProducts.form.technical.categoryForm': 'Category technical form',
'customerProducts.form.technical.loading': 'Loading technical fields…',
'customerProducts.form.cancel': 'Cancel',
'customerProducts.form.next': 'Next',
'customerProducts.form.back': 'Back',
'customerProducts.form.submit': 'Submit',
'customerProducts.form.save': 'Save changes',
'customerProducts.form.submitting': 'Submitting…',
'customerProducts.form.submitSuccess': 'Product submitted for review.',
'customerProducts.form.updateSuccess': 'Product updated.',
'customerProducts.form.error.load': 'Unable to load your products.',
'customerProducts.form.error.loadDetail': 'Unable to load this product.',
'customerProducts.form.error.loadLocations': 'Unable to load locations.',
'customerProducts.form.error.loadCategories': 'Unable to load categories.',
'customerProducts.form.error.loadTechnicalForm': 'Unable to load the category technical form.',
'customerProducts.form.error.categoryRequired': 'Please select a category.',
'customerProducts.form.error.titleFaRequired': 'Please enter the Farsi name.',
'customerProducts.form.error.locationRequired': 'Please select country and city.',
'customerProducts.form.error.priceInvalid': 'Please enter a valid price.',
'customerProducts.form.error.conditionRequired': 'Please select a condition.',
'customerProducts.form.error.technicalRequired': 'Please fill required technical fields.',
'customerProducts.form.error.submit': 'Unable to submit the product.',
'customerProducts.form.error.update': 'Unable to update the product.',
'customerProducts.form.error.remove': 'Unable to remove the product.',
'customerProducts.form.error.promote': 'Unable to promote the product.',
'customerProducts.add': 'Add product',
'customerProducts.detailsTitle': 'Product details',
'customerProducts.detailsSubtitle': 'Review a customer-submitted listing.',
'customerProducts.backToList': 'Back to customer products',
'customerProducts.owner': 'Customer',
'customerProducts.location': 'Location',
'customerProducts.promote': 'Promote product',
'customerProducts.promoted': 'Promoted',
'customerProducts.promoteSuccess': 'Product promoted.',
'customerProducts.remove': 'Remove product',
'customerProducts.removeConfirm': 'Delete this customer product?',
'customerProducts.removeSuccess': 'Product deleted.',
'customerProducts.statusChange': 'Change status',
'customerProducts.statusModalTitle': 'Change product status',
'customerProducts.statusModalSave': 'Update status',
'customerProducts.statusModalHint': 'Choose how this listing should appear.',
'customerProducts.status.pending': 'Pending',
'customerProducts.status.published': 'Approved',
'customerProducts.status.rejected': 'Rejected',
'customerProducts.status.archived': 'Archived',
'customerProducts.statusSuccess': 'Status updated.',
'customerProducts.loading': 'Loading products…',
'customerProducts.error.load': 'Unable to load customer products.',
'customerProducts.error.loadDetail': 'Unable to load this product.',
'customerProducts.error.remove': 'Unable to delete the product.',
'customerProducts.error.promote': 'Unable to promote the product.',
'customerProducts.error.status': 'Unable to update status.',
'customerProducts.yes': 'Yes',
'customerProducts.edit': 'Edit product',
'customerProducts.approve': 'Approve product',
'customerProducts.editSoon': 'Customer product editing comes next.',
'customerProducts.toast.approved': 'Product approved.',
'customerProducts.priceUnavailable': 'Price on request',
'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.details.loading': 'Loading product...',
'products.details.notFound': 'Product not found.',
'products.details.errorLoad': 'Unable to load product.',
'products.details.back': 'Back to My Products',
'products.details.openGallery': 'Open image gallery',
'products.details.noImage': 'No image',
'products.details.viewImage': 'View image {index}',
'products.details.tabsAria': 'Product details',
'products.details.tab.technical': 'Technical Info',
'products.details.tab.comments': 'Comments',
'products.details.tab.reviews': 'Expert Reviews',
'products.details.technical.loading': 'Loading technical info...',
'products.details.technical.noForm':
'No technical form is defined for this product category.',
'products.details.technical.noData':
'No technical data has been added for this product yet.',
'products.details.technical.noCategory': 'Product has no category assigned.',
'products.details.technical.empty': 'No technical data available.',
'products.details.technical.errorLoad': 'Unable to load technical info.',
'products.details.comments.loading': 'Loading comments...',
'products.details.comments.empty': 'No comments yet for this product.',
'products.details.comments.errorLoad': 'Unable to load comments.',
'products.details.comments.errorApprove': 'Unable to update comment approval.',
'products.details.comments.errorDelete': 'Unable to delete comment.',
'products.details.reviews.loading': 'Loading expert reviews...',
'products.details.reviews.empty': 'No expert reviews yet.',
'products.details.reviews.errorLoad': 'Unable to load expert reviews.',
'products.details.reviews.errorApprove': 'Unable to update expert review approval.',
'products.details.reviews.errorDelete': 'Unable to delete expert review.',
'products.details.pending': 'Pending approval',
'products.details.approve': 'Approve',
'products.details.reject': 'Reject',
'products.details.remove': 'Remove',
'products.details.positivePoints': 'Positive points',
'products.details.negativePoints': 'Negative points',
'products.details.ratingAria': 'Rating {rate} out of 10',
'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.aiFill': 'AI',
'products.form.aiFillSummaryTitle': 'Generate summary with AI',
'products.form.aiFillDescriptionTitle': 'Generate description with AI',
'products.form.aiFillSubtitle': 'Edit the prompt below, then run it to fill this field.',
'products.form.aiPrompt': 'Prompt',
'products.form.aiPromptTooShort': 'Prompt must be at least 10 characters.',
'products.form.aiFillError': 'Unable to generate with AI.',
'products.form.aiFillNeedName': 'Enter a product name first.',
'products.form.aiGenerating': 'Generating…',
'products.form.aiRun': 'Run',
'products.form.aiSummaryFilled': 'Summary filled with AI.',
'products.form.aiDescriptionFilled': 'Description filled with AI.',
'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.ai.title': 'Fill Categories with AI',
'categories.ai.subtitle':
'Edit the prompt below, then run it to generate and save a category tree.',
'categories.ai.error': 'Unable to generate categories with 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.tooltip.expand': 'Expand',
'categories.tooltip.collapse': 'Collapse',
'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',
'categories.technical.title': 'Technical Data Form',
'categories.technical.loading': 'Loading form...',
'categories.technical.empty':
'No fields yet. Add text, textarea, select, or multi-select inputs.',
'categories.technical.fieldLabel': 'Field label',
'categories.technical.inputType': 'Input type',
'categories.technical.required': 'Required',
'categories.technical.removeField': 'Remove field',
'categories.technical.options': 'Options',
'categories.technical.optionN': 'Option {n}',
'categories.technical.removeOption': 'Remove option',
'categories.technical.addOption': 'Add option',
'categories.technical.addField': 'Add field',
'categories.technical.generateAi': 'Generate with AI',
'categories.technical.save': 'Save form',
'categories.technical.saving': 'Saving…',
'categories.technical.type.text': 'Text',
'categories.technical.type.textarea': 'Textarea',
'categories.technical.type.select': 'Select',
'categories.technical.type.multi_select': 'Multi',
'categories.technical.ai.title': 'Generate Technical Form with AI',
'categories.technical.ai.subtitle':
'Edit the prompt below, then run it to fill the form fields.',
'categories.technical.ai.error': 'Unable to generate technical form with AI.',
'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': "You don't have any products for sale yet.",
'storeItems.emptyHint': 'Add products from your catalog to start selling.',
'storeItems.emptyFiltered': 'No store items match your filters.',
'storeItems.pagination':
'Page {page} / {totalPages} · {perPage} per page · {total} total',
'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.unlimited': 'Unlimited',
'storeItems.create.removeRow': 'Remove row',
'storeItems.create.addRow': 'Add row',
'storeItems.create.addAllProducts': 'Add all products',
'storeItems.create.addingAll': 'Creating for all products…',
'storeItems.create.addAllDone': 'Created {created}, skipped {skipped}, failed {failed}',
'storeItems.create.addAllConfirmTitle': 'Add store items for all products?',
'storeItems.create.addAllConfirmIntro':
'Sellable variants will be created for every product that is not yet in the store. Use this only when you want to add all products to the store at once.',
'storeItems.create.addAllConfirmMax':
'At most the first 5 options from variations will be created (not the full combination of all variations).',
'storeItems.create.addAllConfirmSkip':
'Products that are already in the store will be skipped.',
'storeItems.create.addAllConfirmHeavy':
'Especially with a large number of products, this is a heavy task — use it wisely.',
'storeItems.create.addAllAgree': 'I understand and want to continue',
'storeItems.create.addAllConfirm': 'Create all',
'storeItems.create.addAllResultTitle': 'Bulk create finished',
'storeItems.create.addAllDoneBtn': 'Done',
'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.price.contact': 'Contact for price',
'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',
'storeItems.discount.title': 'Set Discounts',
'storeItems.discount.variant': 'Variant',
'storeItems.discount.regularPrice': 'Regular price',
'storeItems.discount.discountedPrice': 'Discounted price (IRT)',
'storeItems.discount.placeholder': 'No discount',
'storeItems.discount.save': 'Save discounts',
'storeItems.discount.saving': 'Saving…',
'storeItems.discount.errorSave': 'Unable to save discounts.',
'orders.title': 'Orders',
'orders.subtitle':
'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': 'Users',
'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.filter.access': 'User role',
'customers.filter.access.all': 'All users',
'customers.filter.access.customers': 'Customers',
'customers.filter.access.managers': 'Managers',
'customers.search': 'Search',
'customers.clearFilters': 'Clear filters',
'customers.listTitle': 'User 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.role': 'Role',
'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.invoices': 'View invoices',
'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.pointCreate':
'Creates a verified customer account or links an existing user to your business.',
'customers.addModal.pointPassword':
'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.firstNameFa': 'First name (FA)',
'customers.addModal.lastNameFa': 'Last name (FA)',
'customers.addModal.firstNameEn': 'First name (EN)',
'customers.addModal.lastNameEn': 'Last name (EN)',
'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.',
'customers.addModal.errorNameEnLength': 'English names must be at least 2 characters.',
'customers.access.title': 'Change access',
'customers.access.subtitle': 'Choose customer or manager access for {name}.',
'customers.access.customer': 'Customer',
'customers.access.manager': 'Manager',
'customers.access.role.admin': 'Admin',
'customers.access.role.editor': 'Editor',
'customers.access.role.viewer': 'Observer',
'customers.access.role.admin.desc':
'Can view and edit content, and also assign editors and observers.',
'customers.access.role.editor.desc': 'Can view content and edit it.',
'customers.access.role.viewer.desc':
'Can only view content. Best for order management and content quality review.',
'customers.access.hintSuperAdmin':
'Admin can manage other managers (except other admins). Editor and viewer manage content only.',
'customers.access.hintBusiness':
'Managers can be Editor or Observer. Only a super admin can assign Admin.',
'customers.access.cancel': 'Cancel',
'customers.access.save': 'Save',
'customers.access.error': 'Unable to update access.',
'customers.access.change': 'Change access',
'customers.access.ownerLocked': 'Business owner cannot be changed',
'customers.access.adminLocked': 'Only a super admin can change an admin',
'customers.access.badge.owner': 'Owner',
'customers.access.badge.admin': 'Admin',
'customers.access.badge.editor': 'Editor',
'customers.access.badge.viewer': 'Observer',
'customers.access.badge.manager': 'Manager',
'customers.toast.accessUpdated': 'Access updated to {role}.',
'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 yet.',
'blog.list.emptyHint': 'Share news, stories, and updates with your audience.',
'blog.list.emptyCta': 'Write your first post',
'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',
'video.page.subtitle': 'Embed and manage YouTube and Aparat videos for your website.',
'video.card.list.desc': 'View, edit and manage all your videos.',
'video.card.list.link': 'View videos',
'video.card.new.desc': 'Add a new embedded video with cover image and description.',
'video.card.new.link': 'Add video',
'video.card.categories.title': 'Video Categories',
'video.card.categories.desc': 'Organize videos into categories and subcategories.',
'video.card.categories.link': 'View categories',
'video.card.settings.desc': 'Configure video comment moderation options.',
'video.card.settings.link': 'View settings',
'video.list.subtitle': '{count} videos · View, edit and manage your video content.',
'video.list.loading': 'Loading videos...',
'video.list.empty': 'No videos yet.',
'video.list.emptyHint': 'Share embedded videos from YouTube or Aparat with your audience.',
'video.list.emptyCta': 'Add your first video',
'video.list.errorLoad': 'Unable to load videos.',
'video.list.errorDelete': 'Unable to delete video.',
'video.list.toast.removed': 'Video removed.',
'video.list.deleteTitle': 'Delete Video',
'video.list.deleteMessage':
'Are you sure you want to delete "{name}"? This action cannot be undone.',
'video.list.addNew': 'Add new video',
'video.card.edit': 'Edit video',
'video.card.comments': 'View comments',
'video.card.remove': 'Remove video',
'video.card.noSummary': 'No summary yet.',
'video.settings.title': 'Video settings',
'video.settings.subtitle': 'Configure how video comments are moderated.',
'video.settings.commentsAuto': 'Auto-approve comments',
'video.settings.commentsAutoDesc':
'When enabled, new comments on videos are published immediately without manual approval.',
'video.settings.commentsAutoAria': 'Auto-approve video comments',
'video.categories.title': 'Video Categories',
'video.categories.subtitle': 'Organize your videos into categories and subcategories.',
'video.categories.empty': 'No categories yet. Click + to add one.',
'video.categories.errorLoad': 'Unable to load categories.',
'video.categories.errorSave': 'Unable to save category.',
'video.categories.errorDelete': 'Unable to delete category.',
'video.form.add.subtitle': 'Add an embedded video from YouTube or Aparat.',
'video.form.edit.subtitle': 'Update video details and save changes.',
'video.form.cancel': 'Cancel',
'video.form.saving': 'Saving...',
'video.form.save': 'Save Video',
'video.form.update': 'Update Video',
'video.form.errorSave': 'Unable to save video.',
'video.form.toast.created': 'Video created.',
'video.form.toast.updated': 'Video updated.',
'video.form.coverImage': 'Cover Image',
'video.form.uploadCoverImage': 'Upload cover image',
'video.form.changeCoverImage': 'Change cover image',
'video.form.cropHint': 'Click to select, then crop (3:2)',
'video.form.provider': 'Video Provider',
'video.form.category': 'Category',
'video.form.categoryPlaceholder': 'Search and select category...',
'video.form.titleFa': 'Title (FA)',
'video.form.titleFaPlaceholder': 'عنوان فارسی',
'video.form.titleEn': 'Title (EN)',
'video.form.titleEnPlaceholder': 'English title',
'video.form.abstract': 'Abstract',
'video.form.abstractPlaceholder': 'Short summary shown in video listings',
'video.form.embedCode': 'Embed Code',
'video.form.embedCodePlaceholder': 'Paste the full iframe embed code from YouTube or Aparat',
'video.form.description': 'Description',
'video.form.descriptionPlaceholder': 'Full video description with formatting...',
'video.form.tags': 'Tags',
'video.details.loading': 'Loading video...',
'video.details.notFound': 'Video not found.',
'video.details.errorLoad': 'Unable to load video.',
'video.details.back': 'Back to My Videos',
'video.details.noDescription': 'No description yet.',
'video.details.author': 'Author',
'instruction.page.subtitle': 'Create and manage tutorials with rich text and optional embedded video.',
'instruction.card.list.desc': 'View, edit and manage all your instructions.',
'instruction.card.list.link': 'View instructions',
'instruction.card.new.desc': 'Add a new tutorial with cover image, rich text, and optional video embed.',
'instruction.card.new.link': 'Add instruction',
'instruction.card.categories.title': 'Instruction Categories',
'instruction.card.categories.desc': 'Organize instructions into categories and subcategories.',
'instruction.card.categories.link': 'View categories',
'instruction.card.settings.desc': 'Configure instruction comment moderation options.',
'instruction.card.settings.link': 'View settings',
'instruction.list.subtitle': '{count} instructions · View, edit and manage your tutorials.',
'instruction.list.loading': 'Loading instructions...',
'instruction.list.empty': 'No instructions yet.',
'instruction.list.emptyHint': 'Publish tutorials with rich text and optional video for your audience.',
'instruction.list.emptyCta': 'Add your first instruction',
'instruction.list.errorLoad': 'Unable to load instructions.',
'instruction.list.errorDelete': 'Unable to delete instruction.',
'instruction.list.toast.removed': 'Instruction removed.',
'instruction.list.deleteTitle': 'Delete Instruction',
'instruction.list.deleteMessage':
'Are you sure you want to delete "{name}"? This action cannot be undone.',
'instruction.list.addNew': 'Add new instruction',
'instruction.card.edit': 'Edit instruction',
'instruction.card.comments': 'View comments',
'instruction.card.remove': 'Remove instruction',
'instruction.card.noSummary': 'No summary yet.',
'instruction.settings.title': 'Instruction settings',
'instruction.settings.subtitle': 'Configure how instruction comments are moderated.',
'instruction.settings.commentsAuto': 'Auto-approve comments',
'instruction.settings.commentsAutoDesc':
'When enabled, new comments on instructions are published immediately without manual approval.',
'instruction.settings.commentsAutoAria': 'Auto-approve instruction comments',
'instruction.categories.title': 'Instruction Categories',
'instruction.categories.subtitle': 'Organize your instructions into categories and subcategories.',
'instruction.categories.empty': 'No categories yet. Click + to add one.',
'instruction.categories.errorLoad': 'Unable to load categories.',
'instruction.categories.errorSave': 'Unable to save category.',
'instruction.categories.errorDelete': 'Unable to delete category.',
'instruction.form.add.subtitle': 'Add a tutorial with rich text and optional embedded video.',
'instruction.form.edit.subtitle': 'Update instruction details and save changes.',
'instruction.form.cancel': 'Cancel',
'instruction.form.saving': 'Saving...',
'instruction.form.save': 'Save Instruction',
'instruction.form.update': 'Update Instruction',
'instruction.form.errorSave': 'Unable to save instruction.',
'instruction.form.toast.created': 'Instruction created.',
'instruction.form.toast.updated': 'Instruction updated.',
'instruction.form.coverImage': 'Cover Image',
'instruction.form.uploadCoverImage': 'Upload cover image',
'instruction.form.changeCoverImage': 'Change cover image',
'instruction.form.cropHint': 'Click to select, then crop (3:2)',
'instruction.form.provider': 'Video provider',
'instruction.form.category': 'Category',
'instruction.form.categoryPlaceholder': 'Search and select category...',
'instruction.form.titleFa': 'Title (FA)',
'instruction.form.titleFaPlaceholder': 'عنوان فارسی',
'instruction.form.titleEn': 'Title (EN)',
'instruction.form.titleEnPlaceholder': 'English title',
'instruction.form.abstract': 'Abstract',
'instruction.form.abstractPlaceholder': 'Short summary shown in instruction listings',
'instruction.form.embedCode': 'Embed Code',
'instruction.form.embedCodePlaceholder': 'Paste the full iframe embed code from YouTube or Aparat',
'instruction.form.description': 'Description',
'instruction.form.descriptionPlaceholder': 'Full instruction description with formatting...',
'instruction.form.tags': 'Tags',
'instruction.details.loading': 'Loading instruction...',
'instruction.details.notFound': 'Instruction not found.',
'instruction.details.errorLoad': 'Unable to load instruction.',
'instruction.details.back': 'Back to My Instructions',
'instruction.details.noDescription': 'No description yet.',
'instruction.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.staticImages.desc':
'Replace named website images (heroes, banners, galleries) without a deploy.',
'website.card.staticImages.link': 'Manage images',
'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',
'settings.subtitle': 'Configure online payment gateways and checkout payment options.',
'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.groupKeyError':
'Use English letters, numbers, hyphens, or underscores only — e.g. special-sale.',
'website.groupValue': 'Display title',
'website.groupValuePlaceholder': 'Shown on the website in any language',
'website.removeFromGroupTitle': 'Remove from Group',
'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.linkGenerator.generate': 'Generate',
'website.linkGenerator.title': 'Generate link',
'website.linkGenerator.subtitle': 'Pick a content type, then a category. The link is inserted into the field.',
'website.linkGenerator.type': 'Type',
'website.linkGenerator.category': 'Category',
'website.linkGenerator.pickCategory': 'Search categories...',
'website.linkGenerator.insert': 'Insert link',
'website.linkGenerator.loading': 'Loading categories...',
'website.linkGenerator.empty': 'No categories for this type yet.',
'website.linkGenerator.errorLoad': 'Unable to load categories.',
'website.linkGenerator.types.product': 'Product',
'website.linkGenerator.types.storeItem': 'Store item',
'website.linkGenerator.types.blog': 'Blog',
'website.linkGenerator.types.portfolio': 'Portfolio',
'website.linkGenerator.types.video': 'Video',
'website.staticImages.subtitle':
'Websites load these by key from GET /tenants/{domain}/website/static-images',
'website.staticImages.loading': 'Loading static images...',
'website.staticImages.empty': 'No image slots yet for this website.',
'website.staticImages.emptyPage': 'No static images on this page yet.',
'website.staticImages.errorLoad': 'Unable to load static images.',
'website.staticImages.errorCreate': 'Unable to create image slot.',
'website.staticImages.errorUpdate': 'Unable to update image slot.',
'website.staticImages.errorDelete': 'Unable to delete image slot.',
'website.staticImages.errorUpload': 'Unable to upload image.',
'website.staticImages.errorAddImage': 'Unable to save image.',
'website.staticImages.errorRemoveImage': 'Unable to remove image.',
'website.staticImages.toastCreated': 'Image slot created.',
'website.staticImages.toastUpdated': 'Image slot updated.',
'website.staticImages.toastDeleted': 'Image slot deleted.',
'website.staticImages.toastImageSaved': 'Image saved.',
'website.staticImages.toastImageRemoved': 'Image removed.',
'website.staticImages.addSlot': 'Add image slot',
'website.staticImages.createTitle': 'Add image slot',
'website.staticImages.editTitle': 'Edit image slot',
'website.staticImages.deleteTitle': 'Delete image slot',
'website.staticImages.deleteMessage':
'Delete slot {label}? The website placeholder will have no image until you add one again.',
'website.staticImages.addImage': 'Add image',
'website.staticImages.replaceImage': 'Replace image',
'website.staticImages.editImage': 'Edit image',
'website.staticImages.imageInfo': 'Image details',
'website.staticImages.removeImage': 'Remove image',
'website.staticImages.removeImageTitle': 'Remove image',
'website.staticImages.removeImageMessage': 'Remove this image from the slot?',
'website.staticImages.slotLabel': 'Label',
'website.staticImages.slotLabelPlaceholder': 'e.g. Home hero',
'website.staticImages.slotKey': 'Key (matches website placeholder)',
'website.staticImages.kind': 'Type',
'website.staticImages.page': 'Page',
'website.staticImages.pageHome': 'Home',
'website.staticImages.pageProducts': 'Products',
'website.staticImages.pageProduct': 'Product',
'website.staticImages.pageCategories': 'Categories',
'website.staticImages.pageBrands': 'Brands',
'website.staticImages.pageBlog': 'Blog',
'website.staticImages.pageAbout': 'About',
'website.staticImages.pageContact': 'Contact',
'website.staticImages.kindSingle': 'Single image',
'website.staticImages.kindList': 'List (add more)',
'website.staticImages.kindFixed': '{count} images',
'website.staticImages.itemCount': 'Number of images',
'website.staticImages.itemCountPlaceholder': 'Empty = add more freely',
'website.staticImages.itemCountHint': 'e.g. 2 for a two-banner row. Leave empty for an unlimited list.',
'website.staticImages.aspectRatio': 'Aspect ratio',
'website.staticImages.recommendedWidth': 'Recommended width (px)',
'website.staticImages.cropHint': '{ratio} recommended',
'website.staticImages.titleFa': 'Title (FA)',
'website.staticImages.titleEn': 'Title (EN)',
'website.staticImages.titleFaPlaceholder': 'Persian title',
'website.staticImages.titleEnPlaceholder': 'English title',
'website.staticImages.subtext': 'Subtext',
'website.staticImages.subtextPlaceholder': 'Optional caption under the title',
'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.master': 'Enable online payments',
'website.ePayment.masterDesc':
'When a gateway is enabled and configured, customers can use it at website checkout or in the app.',
'website.ePayment.gateway.mellat': 'Bank Mellat (Behpardakht)',
'website.ePayment.gateway.mellatDesc':
'Enter terminal ID, username, and password from the Mellat merchant panel.',
'website.ePayment.gateway.sep': 'SEP (Saman Kish)',
'website.ePayment.gateway.sepDesc': 'Saman electronic payment — coming soon.',
'website.ePayment.gateway.snappay': 'Snapp Pay',
'website.ePayment.gateway.snappayDesc': 'Snapp Pay checkout — coming soon.',
'website.ePayment.gateway.digipay': 'DigiPay',
'website.ePayment.gateway.digipayDesc': 'DigiPay checkout — coming soon.',
'website.ePayment.gateway.zarinpal': 'Zarinpal',
'website.ePayment.gateway.zarinpalDesc':
'Enter your Merchant ID from the ZarinPal panel. Customers can choose ZarinPal or Mellat at checkout when both are enabled.',
'website.ePayment.comingSoon': 'Coming soon',
'website.ePayment.terminalId': 'Terminal ID',
'website.ePayment.username': 'Username',
'website.ePayment.password': 'Password',
'website.ePayment.merchantId': 'Merchant ID',
'website.ePayment.merchantIdPlaceholder': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'website.ePayment.sandbox': 'Sandbox mode',
'website.ePayment.sandboxDesc':
'Use ZarinPal sandbox endpoints for testing. Turn off for live payments.',
'website.ePayment.passwordSet': 'saved',
'website.ePayment.passwordPlaceholder': 'Enter gateway password',
'website.ePayment.passwordPlaceholderSet': 'Leave blank to keep current password',
'website.ePayment.showPassword': 'Show password',
'website.ePayment.hidePassword': 'Hide password',
'website.ePayment.saveCredentials': 'Save credentials',
'website.ePayment.error.credentials': 'Terminal ID and username are required when Mellat is enabled.',
'website.ePayment.error.passwordRequired': 'Password is required the first time you enable Mellat.',
'website.ePayment.error.zarinpalMerchant': 'Merchant ID is required when ZarinPal is enabled.',
'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': 'Users',
'title.customerProducts': 'Customer products',
'title.content': 'Content',
'title.blog': 'Blog',
'title.myBlogs': 'My Blogs',
'title.addBlog': 'Add New Blog',
'title.editBlog': 'Edit Blog',
'title.blogDetails': 'Blog Details',
'title.videos': 'Videos',
'title.instructions': 'Instructions',
'title.myInstructions': 'My Instructions',
'title.addInstruction': 'Add New Instruction',
'title.editInstruction': 'Edit Instruction',
'title.instructionDetails': 'Instruction Details',
'title.myVideos': 'My Videos',
'title.addVideo': 'Add New Video',
'title.editVideo': 'Edit Video',
'title.videoDetails': 'Video 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.staticImages': 'Static Images',
'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',
'title.invoices': 'Invoices',
'title.finance': 'Finance Management',
'title.issueInvoice': 'Issue Invoice',
'title.editInvoice': 'Edit Invoice',
'title.invoiceTemplates': 'Invoice Templates',
'title.addInvoiceTemplate': 'Add Invoice Template',
'title.editInvoiceTemplate': 'Edit Invoice Template',
'title.transactions': 'Transactions',
'finance.page.subtitle': 'Manage invoices and financial transactions.',
'finance.card.invoices.desc': 'Issue and track invoices for your customers.',
'finance.card.transactions.desc': 'View payment and financial transactions.',
'transactions.subtitle': 'View payment and financial transactions.',
'transactions.lead': 'Transactions will appear here.',
'transactions.note': 'This section is coming soon. You can still review order payment details from Orders.',
'invoices.subtitle': 'Manage invoices issued to your customers.',
'invoices.templatesLink': 'Template management',
'invoices.issue': 'Issue invoice',
'invoices.tableTitle': 'Invoices',
'invoices.countOne': '{count} invoice',
'invoices.countMany': '{count} invoices',
'invoices.loading': 'Loading…',
'invoices.empty': 'No invoices yet.',
'invoices.col.name': 'Name',
'invoices.col.customer': 'Customer',
'invoices.col.issued': 'Issued',
'invoices.col.status': 'Status',
'invoices.col.total': 'Total',
'invoices.col.link': 'Link',
'invoices.col.actions': 'Actions',
'invoices.itemCountOne': '{count} item',
'invoices.itemCountMany': '{count} items',
'invoices.changeStatus': 'Change status',
'invoices.changeStatusAria': 'Change status ({status})',
'invoices.view': 'View',
'invoices.viewAria': 'View invoice',
'invoices.edit': 'Edit',
'invoices.editAria': 'Edit invoice',
'invoices.editDisabledTitle': 'Approved invoices cannot be edited',
'invoices.editDisabledAria': 'Edit invoice (disabled — approved)',
'invoices.remove': 'Remove',
'invoices.removeAria': 'Remove invoice',
'invoices.copyLink': 'Copy link',
'invoices.copyLinkAria': 'Copy invoice link',
'invoices.linkCopied': 'Invoice link copied.',
'invoices.linkCopyError': 'Unable to copy link.',
'invoices.deleteTitle': 'Remove invoice?',
'invoices.deleteMessage': 'Remove this invoice permanently? This cannot be undone.',
'invoices.removed': 'Invoice removed.',
'invoices.removeError': 'Unable to remove invoice.',
'invoices.statusUpdated': 'Invoice status updated.',
'invoices.statusUpdateError': 'Unable to update status.',
'invoices.loadError': 'Unable to load invoices.',
'invoices.filterBannerNamed': "{name}'s invoices",
'invoices.filterBannerGeneric': "This customer's invoices",
'invoices.filterCancel': 'Cancel',
'invoices.filterClear': 'Clear filter',
'invoices.issueForCustomer': 'Issue invoice for this customer',
'invoices.detailFallbackTitle': 'Invoice',
'invoices.detail.status': 'Status',
'invoices.detail.total': 'Total',
'invoices.detail.link': 'Public link',
'invoices.detail.billedTo': 'Billed to',
'invoices.detail.notes': 'Notes: {notes}',
'invoices.status.draft': 'Draft',
'invoices.status.issued': 'Issued',
'invoices.status.approved': 'Approved',
'invoices.status.paid': 'Paid',
'invoices.status.cancelled': 'Cancelled',
'issueInvoice.subtitleNew': 'Select an invoice template and edit it, or create a blank invoice.',
'issueInvoice.subtitleEdit': 'Update invoice content. Approved invoices cannot be changed.',
'issueInvoice.startFromTemplate': 'Start from template',
'issueInvoice.blankInvoice': 'Without template',
'issueInvoice.name': 'Name (optional)',
'issueInvoice.namePlaceholder': 'e.g. Website redesign package',
'issueInvoice.noTemplatesHint': 'No invoice templates yet. Manage them in {link}, or fill a blank invoice below.',
'issueInvoice.noTemplatesLink': 'Invoice Templates',
'issueInvoice.topText': 'Top text',
'issueInvoice.topTextPlaceholder': 'Optional intro text at the top of the invoice',
'issueInvoice.notes': 'Notes',
'issueInvoice.notesPlaceholder': 'Optional internal notes',
'issueInvoice.total': 'Total: {total}',
'issueInvoice.totalLabel': 'Total',
'issueInvoice.cancel': 'Cancel',
'issueInvoice.save': 'Save changes',
'issueInvoice.saving': 'Saving…',
'issueInvoice.issue': 'Issue invoice',
'issueInvoice.issuing': 'Issuing…',
'issueInvoice.backToInvoices': 'Back to invoices',
'issueInvoice.approvedLocked': 'This invoice is approved and can no longer be edited.',
'issueInvoice.loadError': 'Unable to load invoice form.',
'issueInvoice.updateError': 'Unable to update invoice.',
'issueInvoice.createError': 'Unable to create invoice.',
'issueInvoice.updated': 'Invoice updated.',
'issueInvoice.issued': 'Invoice issued.',
'issueInvoice.recipient': 'Issue invoice for',
'issueInvoice.recipientFor': 'Issue invoice for {name}',
'issueInvoice.recipientRequired': 'Select a customer to bill this invoice to.',
'issueInvoice.pickCustomer': 'Select customer',
'issueInvoice.pickCustomerPlaceholder': 'Search by name or cell number…',
'issueInvoice.pickCustomerNoResults': 'No customers found.',
'issueInvoice.pickCustomerHint': 'Type at least 2 characters to search.',
'issueInvoice.changeCustomer': 'Change',
'issueInvoice.unknownCustomer': 'Customer',
'issueInvoice.loading': 'Loading…',
'invoiceDraft.itemLabel': 'Item {index}',
'invoiceDraft.removeItem': 'Remove item',
'invoiceDraft.fieldTitle': 'Title',
'invoiceDraft.fieldTitlePlaceholder': 'Service title',
'invoiceDraft.fieldDuration': 'Duration',
'invoiceDraft.fieldDurationPlaceholder': 'e.g. 3 months',
'invoiceDraft.fieldWorktime': 'Worktime',
'invoiceDraft.fieldWorktimePlaceholder': 'e.g. 40 hours',
'invoiceDraft.fieldPrice': 'Price (IRT)',
'invoiceDraft.fieldDiscountedPrice': 'Discounted price (IRT)',
'invoiceDraft.fieldDiscountedPricePlaceholder': 'Optional',
'invoiceDraft.optional': 'Optional',
'invoiceDraft.fieldDescription': 'Description',
'invoiceDraft.fieldDescriptionPlaceholder': 'Optional details',
'invoiceDraft.addFromTemplate': 'Add from template…',
'invoiceDraft.addFromTemplateAria': 'Add from item template',
'invoiceDraft.add': 'Add',
'invoiceDraft.addCustomItem': 'Add custom item',
'invoiceDraft.keyPoints': 'Key points',
'invoiceDraft.addPoint': 'Add point',
'invoiceDraft.noKeyPoints': 'No key points yet.',
'invoiceDraft.keyPointPlaceholder': 'e.g. Payment due within 7 days',
'invoiceDraft.keyPointAria': 'Key point {index}',
'invoiceDraft.removeKeyPoint': 'Remove key point',
'invoiceDraft.accounts': 'Account numbers',
'invoiceDraft.addAccount': 'Add account',
'invoiceDraft.noAccounts': 'No bank accounts yet.',
'invoiceDraft.bankName': 'Bank name',
'invoiceDraft.accountHolder': 'Account holder',
'invoiceDraft.cardNumber': 'Card number',
'invoiceDraft.iban': 'IBAN',
'invoiceDraft.removeAccount': 'Remove account',
'invoiceDraft.error.itemTitle': 'Each item needs a title.',
'invoiceDraft.error.itemPrice': 'Price is required for "{title}".',
'invoiceDraft.error.itemDiscountInvalid': 'Discounted price is invalid for "{title}".',
'invoiceDraft.error.itemDiscountExceeds': 'Discounted price cannot exceed price for "{title}".',
'invoiceTemplates.subtitle': 'Manage reusable invoice templates and predefined line items.',
'invoiceTemplates.section.templates.title': 'Invoice templates',
'invoiceTemplates.section.templates.desc':
'Full blueprints for faster issuing — pick one and edit, or start blank.',
'invoiceTemplates.addTemplate': 'Add template',
'invoiceTemplates.templatesTableTitle': 'Templates',
'invoiceTemplates.countTemplatesOne': '{count} template',
'invoiceTemplates.countTemplatesMany': '{count} templates',
'invoiceTemplates.col.name': 'Name',
'invoiceTemplates.col.items': 'Items',
'invoiceTemplates.col.keyPoints': 'Key points',
'invoiceTemplates.col.accounts': 'Accounts',
'invoiceTemplates.col.actions': 'Actions',
'invoiceTemplates.emptyTemplates': 'No invoice templates yet. Add one to speed up issuing invoices.',
'invoiceTemplates.section.items.title': 'Invoice item templates',
'invoiceTemplates.section.items.desc':
'Reusable line items you can drop into invoice templates or when issuing an invoice.',
'invoiceTemplates.addItem': 'Add item',
'invoiceTemplates.itemsTableTitle': 'Predefined line items',
'invoiceTemplates.countItemsOne': '{count} item',
'invoiceTemplates.countItemsMany': '{count} items',
'invoiceTemplates.col.title': 'Title',
'invoiceTemplates.col.duration': 'Duration',
'invoiceTemplates.col.worktime': 'Worktime',
'invoiceTemplates.col.price': 'Price',
'invoiceTemplates.col.discounted': 'Discounted',
'invoiceTemplates.emptyItems': 'No predefined items yet.',
'invoiceTemplates.editTemplate': 'Edit',
'invoiceTemplates.removeTemplate': 'Remove',
'invoiceTemplates.editItem': 'Edit',
'invoiceTemplates.removeItem': 'Remove',
'invoiceTemplates.deleteTemplateTitle': 'Remove invoice template',
'invoiceTemplates.deleteTemplateMessage': 'Remove "{name}" from invoice templates?',
'invoiceTemplates.deleteItemTitle': 'Remove item template',
'invoiceTemplates.deleteItemMessage': 'Remove "{title}" from predefined line items?',
'invoiceTemplates.itemModalAddTitle': 'Add item template',
'invoiceTemplates.itemModalEditTitle': 'Edit item template',
'invoiceTemplates.itemUpdated': 'Item template updated.',
'invoiceTemplates.itemCreated': 'Item template created.',
'invoiceTemplates.itemRemoved': 'Item template removed.',
'invoiceTemplates.templateRemoved': 'Invoice template removed.',
'invoiceTemplates.loadError': 'Unable to load invoice settings.',
'invoiceTemplates.itemSaveError': 'Unable to save item template.',
'invoiceTemplates.itemRemoveError': 'Unable to remove item.',
'invoiceTemplates.templateRemoveError': 'Unable to remove template.',
'invoiceTemplates.saveItem': 'Save changes',
'invoiceTemplates.savingItem': 'Saving…',
'invoiceTemplates.createItem': 'Create item',
'invoiceTemplates.cancel': 'Cancel',
'invoiceTemplates.hint': 'Tip: issue an invoice from the Invoices page using a template or from scratch.',
'invoiceTemplateEditor.addTitle': 'Add invoice template',
'invoiceTemplateEditor.editTitle': 'Edit invoice template',
'invoiceTemplateEditor.subtitle':
'Define name, top text, line items, key points, and bank accounts for reuse when issuing invoices.',
'invoiceTemplateEditor.name': 'Name',
'invoiceTemplateEditor.namePlaceholder': 'e.g. Standard website package',
'invoiceTemplateEditor.topText': 'Top text',
'invoiceTemplateEditor.topTextPlaceholder': 'Optional intro shown at the top of the invoice',
'invoiceTemplateEditor.nameRequired': 'Template name is required.',
'invoiceTemplateEditor.loadError': 'Unable to load template editor.',
'invoiceTemplateEditor.saveError': 'Unable to save invoice template.',
'invoiceTemplateEditor.updated': 'Invoice template updated.',
'invoiceTemplateEditor.created': 'Invoice template created.',
'invoiceTemplateEditor.backToTemplates': 'Back to templates',
'invoiceTemplateEditor.create': 'Create template',
'invoiceTemplateEditor.save': 'Save changes',
'invoiceTemplateEditor.saving': 'Saving…',
'invoiceTemplateEditor.cancel': 'Cancel',
'invoiceTemplateEditor.loading': 'Loading…',
'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.cellEnglishDigits': 'Please use English digits for the mobile number.',
'login.error.smsProvider': 'SMS service is temporarily unavailable. Please try again later.',
'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.confirm': 'Confirm password',
'forgot.confirmPlaceholder': 'Repeat new password',
'forgot.reset': 'Reset password',
'forgot.verifying': 'Verifying...',
'forgot.error.length': 'Password must be at least 8 characters.',
'forgot.error.strength': 'Please choose a stronger password.',
'forgot.error.match': 'Passwords do not match.',
'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.',
'password.strength': 'Password strength',
'password.strength.empty': 'Enter a password',
'password.strength.weak': 'Weak',
'password.strength.fair': 'Fair',
'password.strength.good': 'Good',
'password.strength.strong': 'Strong',
'password.rule.length': 'At least 8 characters',
'password.rule.upper': 'One uppercase letter',
'password.rule.number': 'One number',
'password.rule.special': 'One special character',
'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.admin': 'ادمین',
'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.customerProducts': 'محصولات مشتریان',
'nav.invoices': 'فاکتورها',
'nav.invoices.list': 'فاکتورها',
'nav.invoices.templates': 'قالب‌ها',
'nav.finance': 'مدیریت مالی',
'nav.finance.overview': 'نمای کلی',
'nav.finance.invoices': 'فاکتورها',
'nav.finance.transactions': 'تراکنش‌ها',
'nav.settings': 'تنظیمات',
'nav.content': 'مدیریت محتوا',
'nav.content.blog': 'اخبار و مطالب',
'nav.content.videos': 'ویدیوها',
'nav.content.instructions': 'آموزش‌ها',
'nav.content.overview': 'نمای کلی',
'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.videos': 'ویدیوها',
'nav.videos.overview': 'نمای کلی',
'nav.videos.list': 'ویدیوهای من',
'nav.videos.new': 'افزودن ویدیو',
'nav.videos.categories': 'دسته‌بندی‌ها',
'nav.videos.settings': 'تنظیمات',
'nav.instructions': 'آموزش‌ها',
'nav.instructions.overview': 'نمای کلی',
'nav.instructions.list': 'آموزش‌های من',
'nav.instructions.new': 'افزودن آموزش',
'nav.instructions.categories': 'دسته‌بندی‌ها',
'nav.instructions.settings': 'تنظیمات',
'nav.website': 'وب‌سایت',
'nav.website.overview': 'نمای کلی',
'nav.website.staticImages': 'تصاویر ثابت',
'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.closeMenu': 'بستن منو',
'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': 'جزئیات نمونه کار',
'bc.editVideo': 'ویرایش ویدیو',
'bc.videoDetails': 'جزئیات ویدیو',
'bc.editInstruction': 'ویرایش آموزش',
'bc.instructionDetails': 'جزئیات آموزش',
'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.content.title': 'مدیریت محتوا',
'home.card.content.desc': 'بلاگ، ویدیو و سایر محتوای منتشرشده را مدیریت کنید.',
'home.card.content.link': 'مدیریت محتوا',
'home.card.content.count': 'مورد',
'content.page.subtitle': 'بلاگ، ویدیو و سایر انواع محتوا برای وب‌سایت شما.',
'content.card.blog.desc': 'مطالب و دسته‌بندی‌های بلاگ را ایجاد و مدیریت کنید.',
'content.card.blog.link': 'ورود به بلاگ',
'content.card.videos.desc': 'ویدیوهای یوتیوب و آپارات را با دسته‌بندی و نظرات مدیریت کنید.',
'content.card.videos.link': 'ورود به ویدیوها',
'content.card.instructions.desc': 'آموزش‌ها با متن غنی و ویدیوی جاسازی‌شده اختیاری.',
'content.card.instructions.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.videos.title': 'ویدیوها',
'home.card.videos.desc': 'ویدیوهای یوتیوب و آپارات را با دسته‌بندی و نظرات مدیریت کنید.',
'home.card.videos.link': 'مشاهده ویدیوها',
'home.card.videos.count': 'ویدیو',
'home.card.website.title': 'وب‌سایت',
'home.card.website.desc': 'فرم تماس، سوالات متداول، نشان‌ها و عضویت‌ها.',
'home.card.website.link': 'مشاهده وب‌سایت',
'home.card.finance.title': 'مدیریت مالی',
'home.card.finance.desc': 'فاکتورها و تراکنش‌های مالی را مدیریت کنید.',
'home.card.finance.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': '{month}: {count} ثبت‌نام',
'home.chart.customersJoined.activeBar': '{month}: {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': 'افزودن محصول جدید',
'customerProducts.title': 'محصولات مشتریان',
'customerProducts.subtitle': '{count} محصول ثبت‌شده توسط مشتریان.',
'customerProducts.empty': 'هنوز محصول مشتری ثبت نشده است.',
'customerProducts.form.title': 'محصولات من',
'customerProducts.form.empty': 'هنوز محصولی ثبت نکرده‌اید.',
'customerProducts.form.add': 'افزودن محصول',
'customerProducts.form.addTitle': 'افزودن محصول',
'customerProducts.form.addSubtitle': 'محصول جدید را برای بررسی ارسال کنید.',
'customerProducts.form.addComingSoon': 'فرم افزودن در مرحله بعد طراحی می‌شود.',
'customerProducts.form.backToList': 'بازگشت به محصولات من',
'customerProducts.form.editTitle': 'ویرایش محصول',
'customerProducts.form.editSubtitle': 'جزئیات آگهی را به‌روز کنید و ذخیره کنید.',
'customerProducts.form.detailsTitle': 'جزئیات محصول',
'customerProducts.form.detailsSubtitle': 'جزئیات آگهی ثبت‌شده را ببینید.',
'customerProducts.form.edit': 'ویرایش محصول',
'customerProducts.form.yes': 'بله',
'customerProducts.form.editSoon': 'ویرایش محصول به‌زودی در دسترس خواهد بود.',
'customerProducts.form.remove': 'حذف محصول',
'customerProducts.form.removeConfirm': 'این محصول از موجودی شما حذف شود؟',
'customerProducts.form.removeSuccess': 'محصول حذف شد.',
'customerProducts.form.promote': 'پروموت محصول',
'customerProducts.form.promoted': 'پروموت شده',
'customerProducts.form.promoteSuccess': 'محصول پروموت شد.',
'customerProducts.form.priceUnavailable': 'قیمت اعلام نشده',
'customerProducts.form.status.pending': 'در انتظار تأیید',
'customerProducts.form.status.published': 'تأیید شده',
'customerProducts.form.status.archived': 'بایگانی',
'customerProducts.form.stepperLabel': 'مراحل افزودن محصول',
'customerProducts.form.step.basics': 'اطلاعات پایه',
'customerProducts.form.step.basicsHint': 'دسته‌بندی، نام، توضیحات، قیمت و موقعیت.',
'customerProducts.form.step.basicsPlaceholder': 'فیلدهای پایه اینجا قرار می‌گیرند.',
'customerProducts.form.step.images': 'تصاویر',
'customerProducts.form.step.imagesHint': 'تصویر شاخص با برش و گالری تصاویر را اضافه کنید.',
'customerProducts.form.step.details': 'جزئیات',
'customerProducts.form.step.detailsHint': 'توضیحات و اطلاعات فنی بر اساس دسته‌بندی انتخاب‌شده.',
'customerProducts.form.step.detailsPlaceholder': 'جزئیات و فیلدهای فنی اینجا قرار می‌گیرند.',
'customerProducts.form.step.technical': 'اطلاعات فنی',
'customerProducts.form.step.technicalHint':
'وضعیت را انتخاب کنید، یادداشت اختیاری بنویسید و فرم فنی دسته‌بندی را تکمیل کنید.',
'customerProducts.form.optional': '(اختیاری)',
'customerProducts.form.loading': 'در حال بارگذاری محصولات…',
'customerProducts.form.fields.category': 'دسته‌بندی',
'customerProducts.form.fields.selectCategory': 'انتخاب دسته‌بندی',
'customerProducts.form.fields.searchCategory': 'جستجوی دسته‌بندی…',
'customerProducts.form.fields.clearCategory': 'پاک کردن دسته‌بندی',
'customerProducts.form.fields.noCategories': 'دسته‌بندی‌ای پیدا نشد',
'customerProducts.form.fields.titleFa': 'نام (فارسی)',
'customerProducts.form.fields.titleFaPlaceholder': 'نام محصول به فارسی',
'customerProducts.form.fields.titleEn': 'نام (انگلیسی)',
'customerProducts.form.fields.titleEnPlaceholder': 'نام محصول به انگلیسی',
'customerProducts.form.fields.description': 'توضیحات',
'customerProducts.form.fields.descriptionPlaceholder': 'توضیح کوتاه درباره محصول',
'customerProducts.form.fields.price': 'قیمت پیشنهادی',
'customerProducts.form.fields.priceSuggested': 'قیمت پیشنهادی شما',
'customerProducts.form.fields.priceByExpert': 'می‌خواهم قیمت توسط کارشناس مشخص شود',
'customerProducts.form.fields.pricePlaceholder': 'مثلاً ۱٬۵۰۰٬۰۰۰',
'customerProducts.form.fields.priceUnit': 'واحد',
'customerProducts.form.fields.priceUnit.IRT': 'IRT',
'customerProducts.form.fields.priceUnit.USD': 'Dollar',
'customerProducts.form.fields.priceUnit.EUR': 'EURO',
'customerProducts.form.fields.priceUnit.AED': 'AED',
'customerProducts.form.fields.location': 'موقعیت',
'customerProducts.form.fields.country': 'کشور',
'customerProducts.form.fields.selectCountry': 'انتخاب کشور',
'customerProducts.form.fields.province': 'استان',
'customerProducts.form.fields.selectProvince': 'انتخاب استان',
'customerProducts.form.fields.city': 'شهر',
'customerProducts.form.fields.selectCity': 'انتخاب شهر',
'customerProducts.form.fields.searchCity': 'جستجوی شهر…',
'customerProducts.form.fields.clearCity': 'پاک کردن شهر',
'customerProducts.form.fields.noCities': 'شهری پیدا نشد',
'customerProducts.form.fields.deliveryNote': 'یادداشت تحویل / دریافت',
'customerProducts.form.fields.deliveryNotePlaceholder': 'مثلاً فقط حضوری، تحویل عصر…',
'customerProducts.form.fields.district': 'منطقه',
'customerProducts.form.fields.selectDistrict': 'انتخاب منطقه',
'customerProducts.form.fields.condition': 'وضعیت',
'customerProducts.form.fields.technicalNotes': 'توضیحات فنی',
'customerProducts.form.fields.technicalNotesPlaceholder': 'جزئیات فنی اختیاری…',
'customerProducts.form.condition.new': 'نو',
'customerProducts.form.condition.stock': 'استوک',
'customerProducts.form.condition.needs_repair': 'نیاز به تعمیر',
'customerProducts.form.condition.scrap': 'اوراق',
'customerProducts.form.images.thumbnail': 'تصویر شاخص',
'customerProducts.form.images.thumbnailUpload': 'آپلود تصویر شاخص',
'customerProducts.form.images.thumbnailHint': 'نسبت ۳:۲ افقی بهتر است',
'customerProducts.form.images.thumbnailChange': 'تغییر تصویر شاخص',
'customerProducts.form.images.thumbnailRemove': 'حذف تصویر شاخص',
'customerProducts.form.images.zoom': 'بزرگنمایی',
'customerProducts.form.images.applyCrop': 'اعمال برش',
'customerProducts.form.images.gallery': 'گالری',
'customerProducts.form.images.galleryAdd': 'افزودن عکس',
'customerProducts.form.images.galleryHint': 'می‌توانید چند تصویر انتخاب کنید.',
'customerProducts.form.images.galleryRemove': 'حذف تصویر {index}',
'customerProducts.form.technical.select': 'انتخاب کنید…',
'customerProducts.form.technical.needCategory': 'برای نمایش فیلدهای فنی، در مرحله ۱ دسته‌بندی را انتخاب کنید.',
'customerProducts.form.technical.empty': 'برای این دسته‌بندی هنوز فیلد فنی تعریف نشده است.',
'customerProducts.form.technical.categoryForm': 'فرم فنی دسته‌بندی',
'customerProducts.form.technical.loading': 'در حال بارگذاری فیلدهای فنی…',
'customerProducts.form.cancel': 'انصراف',
'customerProducts.form.next': 'بعدی',
'customerProducts.form.back': 'قبلی',
'customerProducts.form.submit': 'ارسال',
'customerProducts.form.save': 'ذخیره تغییرات',
'customerProducts.form.submitting': 'در حال ارسال…',
'customerProducts.form.submitSuccess': 'محصول برای بررسی ارسال شد.',
'customerProducts.form.updateSuccess': 'محصول به‌روز شد.',
'customerProducts.form.error.load': 'بارگذاری محصولات ممکن نشد.',
'customerProducts.form.error.loadDetail': 'بارگذاری این محصول ممکن نشد.',
'customerProducts.form.error.loadLocations': 'بارگذاری موقعیت‌ها ممکن نشد.',
'customerProducts.form.error.loadCategories': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'customerProducts.form.error.loadTechnicalForm': 'بارگذاری فرم فنی دسته‌بندی ممکن نشد.',
'customerProducts.form.error.categoryRequired': 'لطفاً دسته‌بندی را انتخاب کنید.',
'customerProducts.form.error.titleFaRequired': 'لطفاً نام فارسی را وارد کنید.',
'customerProducts.form.error.locationRequired': 'لطفاً کشور و شهر را انتخاب کنید.',
'customerProducts.form.error.priceInvalid': 'لطفاً قیمت معتبر وارد کنید.',
'customerProducts.form.error.conditionRequired': 'لطفاً وضعیت را انتخاب کنید.',
'customerProducts.form.error.technicalRequired': 'لطفاً فیلدهای فنی الزامی را تکمیل کنید.',
'customerProducts.form.error.submit': 'ارسال محصول ممکن نشد.',
'customerProducts.form.error.update': 'به‌روزرسانی محصول ممکن نشد.',
'customerProducts.form.error.remove': 'حذف محصول ممکن نشد.',
'customerProducts.form.error.promote': 'پروموت محصول ممکن نشد.',
'customerProducts.add': 'افزودن محصول',
'customerProducts.detailsTitle': 'جزئیات محصول',
'customerProducts.detailsSubtitle': 'جزئیات محصول ثبت‌شده توسط مشتری را ببینید.',
'customerProducts.backToList': 'بازگشت به محصولات مشتریان',
'customerProducts.owner': 'مشتری',
'customerProducts.location': 'موقعیت',
'customerProducts.promote': 'پروموت محصول',
'customerProducts.promoted': 'پروموت شده',
'customerProducts.promoteSuccess': 'محصول پروموت شد.',
'customerProducts.remove': 'حذف محصول',
'customerProducts.removeConfirm': 'این محصول مشتری حذف شود؟',
'customerProducts.removeSuccess': 'محصول حذف شد.',
'customerProducts.statusChange': 'تغییر وضعیت',
'customerProducts.statusModalTitle': 'تغییر وضعیت محصول',
'customerProducts.statusModalSave': 'به‌روزرسانی وضعیت',
'customerProducts.statusModalHint': 'وضعیت نمایش این آگهی را انتخاب کنید.',
'customerProducts.status.pending': 'در انتظار تأیید',
'customerProducts.status.published': 'تأیید شده',
'customerProducts.status.rejected': 'رد شده',
'customerProducts.status.archived': 'بایگانی',
'customerProducts.statusSuccess': 'وضعیت به‌روز شد.',
'customerProducts.loading': 'در حال بارگذاری محصولات…',
'customerProducts.error.load': 'بارگذاری محصولات مشتریان ممکن نشد.',
'customerProducts.error.loadDetail': 'بارگذاری این محصول ممکن نشد.',
'customerProducts.error.remove': 'حذف محصول ممکن نشد.',
'customerProducts.error.promote': 'پروموت محصول ممکن نشد.',
'customerProducts.error.status': 'به‌روزرسانی وضعیت ممکن نشد.',
'customerProducts.yes': 'بله',
'customerProducts.edit': 'ویرایش محصول',
'customerProducts.approve': 'تأیید محصول',
'customerProducts.editSoon': 'ویرایش محصول مشتری در مرحله بعد اضافه می‌شود.',
'customerProducts.toast.approved': 'محصول تأیید شد.',
'customerProducts.priceUnavailable': 'قیمت اعلام نشده',
'products.card.edit': 'ویرایش محصول',
'products.card.quickInfo': 'اطلاعات سریع',
'products.card.variations': 'مدیریت تنوع‌ها',
'products.card.comments': 'مشاهده نظرات',
'products.card.technical': 'اطلاعات فنی',
'products.card.remove': 'حذف محصول',
'products.card.draft': 'پیش‌نویس',
'products.details.loading': 'در حال بارگذاری محصول...',
'products.details.notFound': 'محصول یافت نشد.',
'products.details.errorLoad': 'بارگذاری محصول ممکن نشد.',
'products.details.back': 'بازگشت به محصولات من',
'products.details.openGallery': 'باز کردن گالری تصاویر',
'products.details.noImage': 'بدون تصویر',
'products.details.viewImage': 'مشاهده تصویر {index}',
'products.details.tabsAria': 'جزئیات محصول',
'products.details.tab.technical': 'اطلاعات فنی',
'products.details.tab.comments': 'نظرات',
'products.details.tab.reviews': 'بررسی کارشناسان',
'products.details.technical.loading': 'در حال بارگذاری اطلاعات فنی...',
'products.details.technical.noForm': 'برای این دسته‌بندی فرم فنی تعریف نشده است.',
'products.details.technical.noData': 'هنوز اطلاعات فنی برای این محصول ثبت نشده است.',
'products.details.technical.noCategory': 'این محصول به دسته‌بندی اختصاص داده نشده است.',
'products.details.technical.empty': 'اطلاعات فنی موجود نیست.',
'products.details.technical.errorLoad': 'بارگذاری اطلاعات فنی ممکن نشد.',
'products.details.comments.loading': 'در حال بارگذاری نظرات...',
'products.details.comments.empty': 'هنوز نظری برای این محصول ثبت نشده است.',
'products.details.comments.errorLoad': 'بارگذاری نظرات ممکن نشد.',
'products.details.comments.errorApprove': 'به‌روزرسانی تأیید نظر ممکن نشد.',
'products.details.comments.errorDelete': 'حذف نظر ممکن نشد.',
'products.details.reviews.loading': 'در حال بارگذاری بررسی کارشناسان...',
'products.details.reviews.empty': 'هنوز بررسی کارشناسی ثبت نشده است.',
'products.details.reviews.errorLoad': 'بارگذاری بررسی کارشناسان ممکن نشد.',
'products.details.reviews.errorApprove': 'به‌روزرسانی تأیید بررسی ممکن نشد.',
'products.details.reviews.errorDelete': 'حذف بررسی کارشناسی ممکن نشد.',
'products.details.pending': 'در انتظار تأیید',
'products.details.approve': 'تأیید',
'products.details.reject': 'رد',
'products.details.remove': 'حذف',
'products.details.positivePoints': 'نقاط قوت',
'products.details.negativePoints': 'نقاط ضعف',
'products.details.ratingAria': 'امتیاز {rate} از ۱۰',
'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.aiFill': 'هوش مصنوعی',
'products.form.aiFillSummaryTitle': 'تولید خلاصه با هوش مصنوعی',
'products.form.aiFillDescriptionTitle': 'تولید توضیحات با هوش مصنوعی',
'products.form.aiFillSubtitle': 'پرامپت را ویرایش کنید، سپس اجرا کنید تا این فیلد پر شود.',
'products.form.aiPrompt': 'پرامپت',
'products.form.aiPromptTooShort': 'پرامپت باید حداقل ۱۰ کاراکتر باشد.',
'products.form.aiFillError': 'تولید با هوش مصنوعی ممکن نشد.',
'products.form.aiFillNeedName': 'ابتدا نام محصول را وارد کنید.',
'products.form.aiGenerating': 'در حال تولید…',
'products.form.aiRun': 'اجرا',
'products.form.aiSummaryFilled': 'خلاصه با هوش مصنوعی پر شد.',
'products.form.aiDescriptionFilled': 'توضیحات با هوش مصنوعی پر شد.',
'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.ai.title': 'پر کردن دسته‌ها با هوش مصنوعی',
'categories.ai.subtitle':
'پرامپت زیر را ویرایش کنید، سپس اجرا کنید تا درخت دسته‌بندی ساخته و ذخیره شود.',
'categories.ai.error': 'تولید دسته‌بندی با هوش مصنوعی ممکن نشد.',
'categories.deleteTitle': 'حذف دسته‌بندی',
'categories.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ زیردسته‌ها نیز حذف می‌شوند.',
'categories.tooltip.addSub': 'افزودن زیردسته',
'categories.tooltip.edit': 'ویرایش دسته‌بندی',
'categories.tooltip.variations': 'مدیریت تنوع‌ها',
'categories.tooltip.technical': 'فرم اطلاعات فنی',
'categories.tooltip.options': 'گزینه‌های دسته‌بندی',
'categories.tooltip.remove': 'حذف دسته‌بندی',
'categories.tooltip.expand': 'باز کردن',
'categories.tooltip.collapse': 'بستن',
'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': 'پاک کردن انتخاب',
'categories.technical.title': 'فرم اطلاعات فنی',
'categories.technical.loading': 'در حال بارگذاری فرم...',
'categories.technical.empty':
'هنوز فیلدی نیست. فیلد متنی، چندخطی، انتخابی یا چندانتخابی اضافه کنید.',
'categories.technical.fieldLabel': 'برچسب فیلد',
'categories.technical.inputType': 'نوع ورودی',
'categories.technical.required': 'الزامی',
'categories.technical.removeField': 'حذف فیلد',
'categories.technical.options': 'گزینه‌ها',
'categories.technical.optionN': 'گزینه {n}',
'categories.technical.removeOption': 'حذف گزینه',
'categories.technical.addOption': 'افزودن گزینه',
'categories.technical.addField': 'افزودن فیلد',
'categories.technical.generateAi': 'تولید با هوش مصنوعی',
'categories.technical.save': 'ذخیره فرم',
'categories.technical.saving': 'در حال ذخیره…',
'categories.technical.type.text': 'متنی',
'categories.technical.type.textarea': 'چندخطی',
'categories.technical.type.select': 'انتخابی',
'categories.technical.type.multi_select': 'چندانتخابی',
'categories.technical.ai.title': 'تولید فرم فنی با هوش مصنوعی',
'categories.technical.ai.subtitle':
'پرامپت زیر را ویرایش کنید، سپس اجرا کنید تا فیلدهای فرم پر شوند.',
'categories.technical.ai.error': 'تولید فرم فنی با هوش مصنوعی ممکن نشد.',
'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.emptyHint': 'از کاتالوگ محصول اضافه کنید.',
'storeItems.emptyFiltered': 'هیچ محصولی با فیلترهای شما مطابقت ندارد.',
'storeItems.pagination':
'صفحه {page} / {totalPages} · {perPage} در هر صفحه · {total} مجموع',
'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.unlimited': 'نامحدود',
'storeItems.create.removeRow': 'حذف ردیف',
'storeItems.create.addRow': 'افزودن ردیف',
'storeItems.create.addAllProducts': 'افزودن همه محصولات',
'storeItems.create.addingAll': 'در حال ایجاد برای همه محصولات…',
'storeItems.create.addAllDone': 'ایجاد شد {created}، رد شد {skipped}، ناموفق {failed}',
'storeItems.create.addAllConfirmTitle': 'افزودن همه محصولات به فروشگاه؟',
'storeItems.create.addAllConfirmIntro':
'برای هر محصولی که هنوز به فروشگاه اضافه نشده است، تنوع‌های قابل فروش ساخته می‌شود. فقط وقتی می‌خواهید همهٔ محصولات یک‌جا به فروشگاه اضافه شود از این گزینه استفاده کنید.',
'storeItems.create.addAllConfirmMax':
'حداکثر ۵ گزینهٔ اول از تنوع‌ها ساخته خواهد شد (نه ترکیب کامل همهٔ تنوع‌ها).',
'storeItems.create.addAllConfirmSkip':
'محصولاتی که در فروشگاه هستند رد خواهند شد.',
'storeItems.create.addAllConfirmHeavy':
'این کار به‌خصوص در تعداد محصول بالا، کار سنگینی محسوب می‌شود — از آن هوشمندانه استفاده کنید.',
'storeItems.create.addAllAgree': 'متوجه شدم و می‌خواهم ادامه دهم',
'storeItems.create.addAllConfirm': 'ایجاد برای همه',
'storeItems.create.addAllResultTitle': 'ایجاد گروهی تمام شد',
'storeItems.create.addAllDoneBtn': 'باشه',
'storeItems.create.cancel': 'انصراف',
'storeItems.create.submit': 'افزودن محصول به فروشگاه',
'storeItems.create.submitting': 'در حال افزودن…',
'storeItems.create.errorProducts': 'بارگذاری محصولات ممکن نشد.',
'storeItems.create.errorVariations': 'بارگذاری تنوع‌های محصول ممکن نشد.',
'storeItems.create.errorCreate': 'افزودن محصول به فروشگاه ممکن نشد.',
'storeItems.price.contact': 'برای قیمت، تماس بگیرید',
'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} کاراکتر برای جستجو وارد کنید',
'storeItems.discount.title': 'تنظیم تخفیف',
'storeItems.discount.variant': 'تنوع',
'storeItems.discount.regularPrice': 'قیمت عادی',
'storeItems.discount.discountedPrice': 'قیمت با تخفیف (IRT)',
'storeItems.discount.placeholder': 'بدون تخفیف',
'storeItems.discount.save': 'ذخیره تخفیف',
'storeItems.discount.saving': 'در حال ذخیره…',
'storeItems.discount.errorSave': 'ذخیره تخفیف ممکن نشد.',
'orders.title': 'سفارش‌ها',
'orders.subtitle':
'سفارش‌های مشتریان از وب‌سایت، اپلیکیشن یا ثبت‌شده توسط اپراتور را پیگیری کنید.',
'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.filter.access': 'نقش کاربر',
'customers.filter.access.all': 'تمام کاربران',
'customers.filter.access.customers': 'مشتریان',
'customers.filter.access.managers': 'مدیران سیستم',
'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.role': 'نقش',
'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.invoices': 'مشاهده فاکتورها',
'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.pointCreate':
'یک حساب تأییدشده مشتری می‌سازد یا کاربر موجود را به کسب‌وکار شما وصل می‌کند.',
'customers.addModal.pointPassword':
'رمز عبور فقط برای حساب‌های جدید لازم است. کاربران موجود به‌عنوان مشتری تأییدشده اضافه می‌شوند.',
'customers.addModal.firstName': 'نام',
'customers.addModal.lastName': 'نام خانوادگی',
'customers.addModal.firstNameFa': 'نام (فارسی)',
'customers.addModal.lastNameFa': 'نام خانوادگی (فارسی)',
'customers.addModal.firstNameEn': 'نام (انگلیسی)',
'customers.addModal.lastNameEn': 'نام خانوادگی (انگلیسی)',
'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': 'رمز عبور باید حداقل ۸ کاراکتر باشد.',
'customers.addModal.errorNameEnLength': 'نام انگلیسی باید حداقل ۲ کاراکتر باشد.',
'customers.access.title': 'تغییر دسترسی',
'customers.access.subtitle': 'دسترسی مشتری یا مدیر را برای {name} انتخاب کنید.',
'customers.access.customer': 'مشتری',
'customers.access.manager': 'مدیر',
'customers.access.role.admin': 'ادمین',
'customers.access.role.editor': 'ویرایشگر',
'customers.access.role.viewer': 'ناظر',
'customers.access.role.admin.desc':
'ادمین می‌تواند ببیند، ویرایش کند و همچنین دیگر ویرایشگران و ناظرین را مشخص کند.',
'customers.access.role.editor.desc': 'ویرایشگر می‌تواند محتواها را ببیند و آن‌ها را ویرایش کند.',
'customers.access.role.viewer.desc':
'ناظر می‌تواند فقط محتوا را ببیند. ناظر بیشتر برای مدیریت سفارشات و بررسی کیفی محتواها کاربرد دارد.',
'customers.access.hintSuperAdmin':
'ادمین می‌تواند مدیران دیگر را مدیریت کند (به‌جز ادمین‌های دیگر). ویرایشگر و ناظر محتوا را مدیریت می‌کنند.',
'customers.access.hintBusiness':
'مدیران می‌توانند ویرایشگر یا ناظر باشند. فقط سوپرادمین می‌تواند ادمین تعیین کند.',
'customers.access.cancel': 'انصراف',
'customers.access.save': 'ذخیره',
'customers.access.error': 'به‌روزرسانی دسترسی ممکن نشد.',
'customers.access.change': 'تغییر دسترسی',
'customers.access.ownerLocked': 'نقش صاحب کسب‌وکار قابل تغییر نیست',
'customers.access.adminLocked': 'فقط سوپرادمین می‌تواند ادمین را تغییر دهد',
'customers.access.badge.owner': 'مالک کسب و کار',
'customers.access.badge.admin': 'ادمین',
'customers.access.badge.editor': 'ویرایشگر',
'customers.access.badge.viewer': 'ناظر',
'customers.access.badge.manager': 'مدیر',
'customers.toast.accessUpdated': 'دسترسی به {role} به‌روزرسانی شد.',
'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.emptyHint': 'اخبار، داستان‌ها و به‌روزرسانی‌ها را با مخاطبان خود به اشتراک بگذارید.',
'blog.list.emptyCta': 'اولین مطلب را بنویسید',
'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': 'نویسنده',
'video.page.subtitle': 'ویدیوهای یوتیوب و آپارات را برای وب‌سایت خود مدیریت کنید.',
'video.card.list.desc': 'همه ویدیوها را مشاهده، ویرایش و مدیریت کنید.',
'video.card.list.link': 'مشاهده ویدیوها',
'video.card.new.desc': 'یک ویدیوی جاسازی‌شده با تصویر کاور و توضیحات اضافه کنید.',
'video.card.new.link': 'افزودن ویدیو',
'video.card.categories.title': 'دسته‌بندی‌های ویدیو',
'video.card.categories.desc': 'ویدیوها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'video.card.categories.link': 'مشاهده دسته‌بندی‌ها',
'video.card.settings.desc': 'تأیید نظرات ویدیو را پیکربندی کنید.',
'video.card.settings.link': 'مشاهده تنظیمات',
'video.list.subtitle': '{count} ویدیو · مشاهده، ویرایش و مدیریت محتوای ویدیو.',
'video.list.loading': 'در حال بارگذاری ویدیوها...',
'video.list.empty': 'هنوز ویدیویی نیست.',
'video.list.emptyHint': 'ویدیوهای جاسازی‌شده از یوتیوب یا آپارات را با مخاطبان به اشتراک بگذارید.',
'video.list.emptyCta': 'اولین ویدیو را اضافه کنید',
'video.list.errorLoad': 'بارگذاری ویدیوها ممکن نشد.',
'video.list.errorDelete': 'حذف ویدیو ممکن نشد.',
'video.list.toast.removed': 'ویدیو حذف شد.',
'video.list.deleteTitle': 'حذف ویدیو',
'video.list.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.',
'video.list.addNew': 'افزودن ویدیو',
'video.card.edit': 'ویرایش ویدیو',
'video.card.comments': 'مشاهده نظرات',
'video.card.remove': 'حذف ویدیو',
'video.card.noSummary': 'هنوز خلاصه‌ای نیست.',
'video.settings.title': 'تنظیمات ویدیو',
'video.settings.subtitle': 'نحوه تأیید نظرات ویدیو را پیکربندی کنید.',
'video.settings.commentsAuto': 'تأیید خودکار نظرات',
'video.settings.commentsAutoDesc':
'در صورت فعال بودن، نظرات جدید روی ویدیوها بدون تأیید دستی منتشر می‌شوند.',
'video.settings.commentsAutoAria': 'تأیید خودکار نظرات ویدیو',
'video.categories.title': 'دسته‌بندی‌های ویدیو',
'video.categories.subtitle': 'ویدیوها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'video.categories.empty': 'هنوز دسته‌بندی‌ای نیست. برای افزودن روی + بزنید.',
'video.categories.errorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'video.categories.errorSave': 'ذخیره دسته‌بندی ممکن نشد.',
'video.categories.errorDelete': 'حذف دسته‌بندی ممکن نشد.',
'video.form.add.subtitle': 'یک ویدیوی جاسازی‌شده از یوتیوب یا آپارات اضافه کنید.',
'video.form.edit.subtitle': 'جزئیات ویدیو را به‌روزرسانی و ذخیره کنید.',
'video.form.cancel': 'انصراف',
'video.form.saving': 'در حال ذخیره...',
'video.form.save': 'ذخیره ویدیو',
'video.form.update': 'به‌روزرسانی ویدیو',
'video.form.errorSave': 'ذخیره ویدیو ممکن نشد.',
'video.form.toast.created': 'ویدیو ایجاد شد.',
'video.form.toast.updated': 'ویدیو به‌روزرسانی شد.',
'video.form.coverImage': 'تصویر کاور',
'video.form.uploadCoverImage': 'بارگذاری تصویر کاور',
'video.form.changeCoverImage': 'تغییر تصویر کاور',
'video.form.cropHint': 'برای انتخاب و برش (۳:۲) کلیک کنید',
'video.form.provider': 'ارائه‌دهنده ویدیو',
'video.form.category': 'دسته‌بندی',
'video.form.categoryPlaceholder': 'جستجو و انتخاب دسته‌بندی...',
'video.form.titleFa': 'عنوان (فارسی)',
'video.form.titleFaPlaceholder': 'عنوان فارسی',
'video.form.titleEn': 'عنوان (انگلیسی)',
'video.form.titleEnPlaceholder': 'English title',
'video.form.abstract': 'چکیده',
'video.form.abstractPlaceholder': 'خلاصه کوتاه در فهرست ویدیوها',
'video.form.embedCode': 'کد جاسازی',
'video.form.embedCodePlaceholder': 'کد iframe کامل را از یوتیوب یا آپارات بچسبانید',
'video.form.description': 'توضیحات',
'video.form.descriptionPlaceholder': 'توضیحات کامل ویدیو با قالب‌بندی...',
'video.form.tags': 'برچسب‌ها',
'video.details.loading': 'در حال بارگذاری ویدیو...',
'video.details.notFound': 'ویدیو یافت نشد.',
'video.details.errorLoad': 'بارگذاری ویدیو ممکن نشد.',
'video.details.back': 'بازگشت به ویدیوهای من',
'video.details.noDescription': 'هنوز توضیحاتی نیست.',
'video.details.author': 'نویسنده',
'instruction.page.subtitle': 'آموزش‌ها را با متن غنی و ویدیوی جاسازی‌شده اختیاری ایجاد و مدیریت کنید.',
'instruction.card.list.desc': 'همه آموزش‌ها را مشاهده، ویرایش و مدیریت کنید.',
'instruction.card.list.link': 'مشاهده آموزش‌ها',
'instruction.card.new.desc': 'یک آموزش جدید با تصویر کاور، متن غنی و ویدیوی اختیاری اضافه کنید.',
'instruction.card.new.link': 'افزودن آموزش',
'instruction.card.categories.title': 'دسته‌بندی‌های آموزش',
'instruction.card.categories.desc': 'آموزش‌ها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'instruction.card.categories.link': 'مشاهده دسته‌بندی‌ها',
'instruction.card.settings.desc': 'تأیید نظرات آموزش را پیکربندی کنید.',
'instruction.card.settings.link': 'مشاهده تنظیمات',
'instruction.list.subtitle': '{count} آموزش · مشاهده، ویرایش و مدیریت محتوای آموزشی.',
'instruction.list.loading': 'در حال بارگذاری آموزش‌ها...',
'instruction.list.empty': 'هنوز آموزشی نیست.',
'instruction.list.emptyHint': 'آموزش‌ها را با متن غنی و ویدیوی اختیاری برای مخاطبان منتشر کنید.',
'instruction.list.emptyCta': 'اولین آموزش را اضافه کنید',
'instruction.list.errorLoad': 'بارگذاری آموزش‌ها ممکن نشد.',
'instruction.list.errorDelete': 'حذف آموزش ممکن نشد.',
'instruction.list.toast.removed': 'آموزش حذف شد.',
'instruction.list.deleteTitle': 'حذف آموزش',
'instruction.list.deleteMessage':
'آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.',
'instruction.list.addNew': 'افزودن آموزش',
'instruction.card.edit': 'ویرایش آموزش',
'instruction.card.comments': 'مشاهده نظرات',
'instruction.card.remove': 'حذف آموزش',
'instruction.card.noSummary': 'هنوز خلاصه‌ای نیست.',
'instruction.settings.title': 'تنظیمات آموزش',
'instruction.settings.subtitle': 'نحوه تأیید نظرات آموزش را پیکربندی کنید.',
'instruction.settings.commentsAuto': 'تأیید خودکار نظرات',
'instruction.settings.commentsAutoDesc':
'در صورت فعال بودن، نظرات جدید روی آموزش‌ها بدون تأیید دستی منتشر می‌شوند.',
'instruction.settings.commentsAutoAria': 'تأیید خودکار نظرات آموزش',
'instruction.categories.title': 'دسته‌بندی‌های آموزش',
'instruction.categories.subtitle': 'آموزش‌ها را در دسته‌بندی‌ها و زیردسته‌ها سازماندهی کنید.',
'instruction.categories.empty': 'هنوز دسته‌بندی‌ای نیست. برای افزودن روی + بزنید.',
'instruction.categories.errorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'instruction.categories.errorSave': 'ذخیره دسته‌بندی ممکن نشد.',
'instruction.categories.errorDelete': 'حذف دسته‌بندی ممکن نشد.',
'instruction.form.add.subtitle': 'یک آموزش با متن غنی و ویدیوی جاسازی‌شده اختیاری اضافه کنید.',
'instruction.form.edit.subtitle': 'جزئیات آموزش را به‌روزرسانی و ذخیره کنید.',
'instruction.form.cancel': 'انصراف',
'instruction.form.saving': 'در حال ذخیره...',
'instruction.form.save': 'ذخیره آموزش',
'instruction.form.update': 'به‌روزرسانی آموزش',
'instruction.form.errorSave': 'ذخیره آموزش ممکن نشد.',
'instruction.form.toast.created': 'آموزش ایجاد شد.',
'instruction.form.toast.updated': 'آموزش به‌روزرسانی شد.',
'instruction.form.coverImage': 'تصویر کاور',
'instruction.form.uploadCoverImage': 'بارگذاری تصویر کاور',
'instruction.form.changeCoverImage': 'تغییر تصویر کاور',
'instruction.form.cropHint': 'برای انتخاب و برش (۳:۲) کلیک کنید',
'instruction.form.provider': 'ارائه‌دهنده ویدیو',
'instruction.form.category': 'دسته‌بندی',
'instruction.form.categoryPlaceholder': 'جستجو و انتخاب دسته‌بندی...',
'instruction.form.titleFa': 'عنوان (فارسی)',
'instruction.form.titleFaPlaceholder': 'عنوان فارسی',
'instruction.form.titleEn': 'عنوان (انگلیسی)',
'instruction.form.titleEnPlaceholder': 'English title',
'instruction.form.abstract': 'چکیده',
'instruction.form.abstractPlaceholder': 'خلاصه کوتاه در فهرست آموزش‌ها',
'instruction.form.embedCode': 'کد جاسازی',
'instruction.form.embedCodePlaceholder': 'کد iframe کامل را از یوتیوب یا آپارات بچسبانید',
'instruction.form.description': 'توضیحات',
'instruction.form.descriptionPlaceholder': 'توضیحات کامل آموزش با قالب‌بندی...',
'instruction.form.tags': 'برچسب‌ها',
'instruction.details.loading': 'در حال بارگذاری آموزش...',
'instruction.details.notFound': 'آموزش یافت نشد.',
'instruction.details.errorLoad': 'بارگذاری آموزش ممکن نشد.',
'instruction.details.back': 'بازگشت به آموزش‌های من',
'instruction.details.noDescription': 'هنوز توضیحاتی نیست.',
'instruction.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.staticImages.desc':
'تصاویر نام‌گذاری‌شده وب‌سایت (هیرو، بنر، گالری) را بدون دیپلوی عوض کنید.',
'website.card.staticImages.link': 'مدیریت تصاویر',
'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': 'مدیریت نشان‌ها',
'settings.subtitle': 'درگاه‌های پرداخت آنلاین و گزینه‌های تسویه حساب را پیکربندی کنید.',
'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.groupKeyError':
'فقط حروف انگلیسی، اعداد، خط تیره یا زیرخط — مثلاً special-sale.',
'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.linkGenerator.generate': 'ساخت لینک',
'website.linkGenerator.title': 'ساخت لینک',
'website.linkGenerator.subtitle': 'نوع محتوا را انتخاب کنید، سپس یک دسته‌بندی. لینک در فیلد درج می‌شود.',
'website.linkGenerator.type': 'نوع',
'website.linkGenerator.category': 'دسته‌بندی',
'website.linkGenerator.pickCategory': 'جستجوی دسته‌بندی‌ها...',
'website.linkGenerator.insert': 'درج لینک',
'website.linkGenerator.loading': 'در حال بارگذاری دسته‌بندی‌ها...',
'website.linkGenerator.empty': 'هنوز دسته‌بندی‌ای برای این نوع نیست.',
'website.linkGenerator.errorLoad': 'بارگذاری دسته‌بندی‌ها ممکن نشد.',
'website.linkGenerator.types.product': 'محصول',
'website.linkGenerator.types.storeItem': 'آیتم فروشگاه',
'website.linkGenerator.types.blog': 'بلاگ',
'website.linkGenerator.types.portfolio': 'نمونه کار',
'website.linkGenerator.types.video': 'ویدیو',
'website.staticImages.subtitle':
'وب‌سایت‌ها این تصاویر را با کلید از GET /tenants/{domain}/website/static-images می‌خوانند',
'website.staticImages.loading': 'در حال بارگذاری تصاویر ثابت...',
'website.staticImages.empty': 'هنوز اسلاتی برای این وب‌سایت نیست.',
'website.staticImages.emptyPage': 'در این صفحه هنوز تصویر ثابتی نیست.',
'website.staticImages.errorLoad': 'بارگذاری تصاویر ثابت ممکن نشد.',
'website.staticImages.errorCreate': 'ساخت اسلات تصویر ممکن نشد.',
'website.staticImages.errorUpdate': 'به‌روزرسانی اسلات ممکن نشد.',
'website.staticImages.errorDelete': 'حذف اسلات ممکن نشد.',
'website.staticImages.errorUpload': 'آپلود تصویر ممکن نشد.',
'website.staticImages.errorAddImage': 'ذخیره تصویر ممکن نشد.',
'website.staticImages.errorRemoveImage': 'حذف تصویر ممکن نشد.',
'website.staticImages.toastCreated': 'اسلات تصویر ساخته شد.',
'website.staticImages.toastUpdated': 'اسلات تصویر به‌روز شد.',
'website.staticImages.toastDeleted': 'اسلات تصویر حذف شد.',
'website.staticImages.toastImageSaved': 'تصویر ذخیره شد.',
'website.staticImages.toastImageRemoved': 'تصویر حذف شد.',
'website.staticImages.addSlot': 'افزودن اسلات تصویر',
'website.staticImages.createTitle': 'افزودن اسلات تصویر',
'website.staticImages.editTitle': 'ویرایش اسلات تصویر',
'website.staticImages.deleteTitle': 'حذف اسلات تصویر',
'website.staticImages.deleteMessage':
'اسلات {label} حذف شود؟ تا وقتی تصویر جدیدی نگذارید، جای‌نگهدار وب‌سایت خالی می‌ماند.',
'website.staticImages.addImage': 'افزودن تصویر',
'website.staticImages.replaceImage': 'جایگزینی تصویر',
'website.staticImages.editImage': 'ویرایش تصویر',
'website.staticImages.imageInfo': 'جزئیات تصویر',
'website.staticImages.removeImage': 'حذف تصویر',
'website.staticImages.removeImageTitle': 'حذف تصویر',
'website.staticImages.removeImageMessage': 'این تصویر از اسلات حذف شود؟',
'website.staticImages.slotLabel': 'برچسب',
'website.staticImages.slotLabelPlaceholder': 'مثلاً: هیرو صفحه اصلی',
'website.staticImages.slotKey': 'کلید (مطابق جای‌نگهدار وب‌سایت)',
'website.staticImages.kind': 'نوع',
'website.staticImages.page': 'صفحه',
'website.staticImages.pageHome': 'خانه',
'website.staticImages.pageProducts': 'محصولات',
'website.staticImages.pageProduct': 'محصول',
'website.staticImages.pageCategories': 'دسته‌بندی‌ها',
'website.staticImages.pageBrands': 'برندها',
'website.staticImages.pageBlog': 'بلاگ',
'website.staticImages.pageAbout': 'درباره ما',
'website.staticImages.pageContact': 'تماس',
'website.staticImages.kindSingle': 'یک تصویر',
'website.staticImages.kindList': 'فهرست (قابل افزودن)',
'website.staticImages.kindFixed': '{count} تصویر',
'website.staticImages.itemCount': 'تعداد تصویر',
'website.staticImages.itemCountPlaceholder': 'خالی = افزودن آزاد',
'website.staticImages.itemCountHint': 'مثلاً ۲ برای ردیف دو بنر. خالی بگذارید تا فهرست نامحدود باشد.',
'website.staticImages.aspectRatio': 'نسبت تصویر',
'website.staticImages.recommendedWidth': 'عرض پیشنهادی (پیکسل)',
'website.staticImages.cropHint': 'نسبت {ratio} توصیه می‌شود',
'website.staticImages.titleFa': 'عنوان (فارسی)',
'website.staticImages.titleEn': 'عنوان (انگلیسی)',
'website.staticImages.titleFaPlaceholder': 'عنوان فارسی',
'website.staticImages.titleEnPlaceholder': 'English title',
'website.staticImages.subtext': 'متن فرعی',
'website.staticImages.subtextPlaceholder': 'متن کوتاه زیر عنوان (اختیاری)',
'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.master': 'فعال‌سازی پرداخت آنلاین',
'website.ePayment.masterDesc':
'با فعال بودن هر درگاه و پیکربندی آن، مشتریان در تسویه حساب وبسایت و یا اپلیکیشن از آن درگاه استفاده کنند.',
'website.ePayment.gateway.mellat': 'بانک ملت (به‌پرداخت)',
'website.ePayment.gateway.mellatDesc':
'شناسه ترمینال، نام کاربری و رمز عبور را از پنل پذیرنده ملت وارد کنید.',
'website.ePayment.gateway.sep': 'سپ (سامان کیش)',
'website.ePayment.gateway.sepDesc': 'درگاه پرداخت سامان — به‌زودی.',
'website.ePayment.gateway.snappay': 'اسنپ‌پی',
'website.ePayment.gateway.snappayDesc': 'پرداخت اسنپ‌پی — به‌زودی.',
'website.ePayment.gateway.digipay': 'دیجی‌پی',
'website.ePayment.gateway.digipayDesc': 'پرداخت دیجی‌پی — به‌زودی.',
'website.ePayment.gateway.zarinpal': 'زرین‌پال',
'website.ePayment.gateway.zarinpalDesc':
'کد درگاه (Merchant ID) را از پنل زرین‌پال وارد کنید. اگر ملت و زرین‌پال هر دو فعال باشند، مشتری در مرحله پرداخت یکی را انتخاب می‌کند.',
'website.ePayment.comingSoon': 'به‌زودی',
'website.ePayment.terminalId': 'شناسه ترمینال',
'website.ePayment.username': 'نام کاربری',
'website.ePayment.password': 'رمز عبور',
'website.ePayment.merchantId': 'کد درگاه (Merchant ID)',
'website.ePayment.merchantIdPlaceholder': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'website.ePayment.sandbox': 'حالت آزمایشی (Sandbox)',
'website.ePayment.sandboxDesc':
'برای تست از محیط سندباکس زرین‌پال استفاده می‌شود. برای پرداخت واقعی خاموش کنید.',
'website.ePayment.passwordSet': 'ذخیره‌شده',
'website.ePayment.passwordPlaceholder': 'رمز عبور درگاه را وارد کنید',
'website.ePayment.passwordPlaceholderSet': 'برای حفظ رمز فعلی خالی بگذارید',
'website.ePayment.showPassword': 'نمایش رمز',
'website.ePayment.hidePassword': 'مخفی کردن رمز',
'website.ePayment.saveCredentials': 'ذخیره اطلاعات',
'website.ePayment.error.credentials':
'با فعال بودن ملت، شناسه ترمینال و نام کاربری الزامی است.',
'website.ePayment.error.passwordRequired':
'برای اولین بار فعال‌سازی ملت، رمز عبور الزامی است.',
'website.ePayment.error.zarinpalMerchant':
'با فعال بودن زرین‌پال، کد درگاه (Merchant ID) الزامی است.',
'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.customerProducts': 'محصولات مشتریان',
'title.content': 'مدیریت محتوا',
'title.blog': 'بلاگ',
'title.myBlogs': 'بلاگ‌های من',
'title.addBlog': 'افزودن بلاگ',
'title.editBlog': 'ویرایش بلاگ',
'title.blogDetails': 'جزئیات بلاگ',
'title.videos': 'ویدیوها',
'title.instructions': 'آموزش‌ها',
'title.myInstructions': 'آموزش‌های من',
'title.addInstruction': 'افزودن آموزش',
'title.editInstruction': 'ویرایش آموزش',
'title.instructionDetails': 'جزئیات آموزش',
'title.myVideos': 'ویدیوهای من',
'title.addVideo': 'افزودن ویدیو',
'title.editVideo': 'ویرایش ویدیو',
'title.videoDetails': 'جزئیات ویدیو',
'title.portfolios': 'نمونه کارها',
'title.myPortfolios': 'نمونه کارهای من',
'title.addPortfolio': 'افزودن نمونه کار',
'title.editPortfolio': 'ویرایش نمونه کار',
'title.portfolioDetails': 'جزئیات نمونه کار',
'title.website': 'وب‌سایت',
'title.staticImages': 'تصاویر ثابت',
'title.sliders': 'اسلایدرها',
'title.specialCategories': 'دسته‌های ویژه',
'title.specialBrands': 'برندهای ویژه',
'title.specialItems': 'محصولات ویژه فروشگاه',
'title.contactForm': 'فرم تماس با ما',
'title.subscriptions': 'عضویت‌ها',
'title.faq': 'سوالات متداول',
'title.badges': 'نشان‌ها',
'title.ePayment': 'پرداخت الکترونیک',
'title.invoices': 'فاکتورها',
'title.finance': 'مدیریت مالی',
'title.issueInvoice': 'صدور فاکتور',
'title.editInvoice': 'ویرایش فاکتور',
'title.invoiceTemplates': 'قالب‌های فاکتور',
'title.addInvoiceTemplate': 'افزودن قالب فاکتور',
'title.editInvoiceTemplate': 'ویرایش قالب فاکتور',
'title.transactions': 'تراکنش‌ها',
'finance.page.subtitle': 'فاکتورها و تراکنش‌های مالی را مدیریت کنید.',
'finance.card.invoices.desc': 'صدور و پیگیری فاکتور برای مشتریان.',
'finance.card.transactions.desc': 'مشاهده تراکنش‌های پرداختی و مالی.',
'transactions.subtitle': 'تراکنش‌های پرداختی و مالی را مشاهده کنید.',
'transactions.lead': 'تراکنش‌ها اینجا نمایش داده می‌شوند.',
'transactions.note': 'این بخش به‌زودی آماده می‌شود. فعلاً می‌توانید جزئیات پرداخت سفارش را از صفحه سفارش‌ها ببینید.',
'invoices.subtitle': 'فاکتورهای صادر شده برای مشتریان خود را مدیریت کنید.',
'invoices.templatesLink': 'مدیریت قالب ها',
'invoices.issue': 'صدور فاکتور',
'invoices.tableTitle': 'فاکتورها',
'invoices.countOne': '{count} فاکتور',
'invoices.countMany': '{count} فاکتور',
'invoices.loading': 'در حال بارگذاری...',
'invoices.empty': 'هنوز فاکتوری ثبت نشده است.',
'invoices.col.name': 'نام',
'invoices.col.customer': 'مشتری',
'invoices.col.issued': 'تاریخ صدور',
'invoices.col.status': 'وضعیت',
'invoices.col.total': 'مبلغ کل',
'invoices.col.link': 'لینک',
'invoices.col.actions': 'عملیات',
'invoices.itemCountOne': '{count} آیتم',
'invoices.itemCountMany': '{count} آیتم',
'invoices.changeStatus': 'تغییر وضعیت',
'invoices.changeStatusAria': 'تغییر وضعیت ({status})',
'invoices.view': 'مشاهده',
'invoices.viewAria': 'مشاهده فاکتور',
'invoices.edit': 'ویرایش',
'invoices.editAria': 'ویرایش فاکتور',
'invoices.editDisabledTitle': 'فاکتورهای تاییدشده قابل ویرایش نیستند',
'invoices.editDisabledAria': 'ویرایش فاکتور (غیرفعال — تاییدشده)',
'invoices.remove': 'حذف',
'invoices.removeAria': 'حذف فاکتور',
'invoices.copyLink': 'کپی لینک',
'invoices.copyLinkAria': 'کپی لینک فاکتور',
'invoices.linkCopied': 'لینک فاکتور کپی شد.',
'invoices.linkCopyError': 'کپی لینک ممکن نشد.',
'invoices.deleteTitle': 'حذف فاکتور؟',
'invoices.deleteMessage': 'این فاکتور برای همیشه حذف شود؟ این عملیات قابل بازگشت نیست.',
'invoices.removed': 'فاکتور حذف شد.',
'invoices.removeError': 'حذف فاکتور ممکن نشد.',
'invoices.statusUpdated': 'وضعیت فاکتور به‌روزرسانی شد.',
'invoices.statusUpdateError': 'به‌روزرسانی وضعیت ممکن نشد.',
'invoices.loadError': 'بارگذاری فاکتورها ممکن نشد.',
'invoices.filterBannerNamed': 'فاکتور های {name}',
'invoices.filterBannerGeneric': 'فاکتور های این مشتری',
'invoices.filterCancel': 'انصراف',
'invoices.filterClear': 'پاک کردن فیلتر',
'invoices.issueForCustomer': 'صدور فاکتور برای این مشتری',
'invoices.detailFallbackTitle': 'فاکتور',
'invoices.detail.status': 'وضعیت',
'invoices.detail.total': 'مبلغ کل',
'invoices.detail.link': 'لینک عمومی',
'invoices.detail.billedTo': 'صادر شده برای',
'invoices.detail.notes': 'یادداشت: {notes}',
'invoices.status.draft': 'پیش‌نویس',
'invoices.status.issued': 'صادرشده',
'invoices.status.approved': 'تاییدشده',
'invoices.status.paid': 'پرداخت‌شده',
'invoices.status.cancelled': 'لغوشده',
'issueInvoice.subtitleNew': 'یک قالب فاکتور انتخاب و ویرایش کنید یا یک فاکتور خالی بسازید.',
'issueInvoice.subtitleEdit': 'محتوای فاکتور را به‌روزرسانی کنید. فاکتورهای تاییدشده قابل تغییر نیستند.',
'issueInvoice.startFromTemplate': 'شروع از قالب',
'issueInvoice.blankInvoice': 'بدون قالب',
'issueInvoice.name': 'نام (اختیاری)',
'issueInvoice.namePlaceholder': 'مثلاً بسته طراحی سایت',
'issueInvoice.noTemplatesHint': 'هنوز قالب فاکتوری ندارید. آن‌ها را در {link} مدیریت کنید یا فاکتور خالی زیر را تکمیل کنید.',
'issueInvoice.noTemplatesLink': 'قالب‌های فاکتور',
'issueInvoice.topText': 'متن بالای فاکتور',
'issueInvoice.topTextPlaceholder': 'متن مقدماتی اختیاری در بالای فاکتور',
'issueInvoice.notes': 'یادداشت‌ها',
'issueInvoice.notesPlaceholder': 'یادداشت داخلی اختیاری',
'issueInvoice.total': 'مبلغ کل: {total}',
'issueInvoice.totalLabel': 'مبلغ کل',
'issueInvoice.cancel': 'انصراف',
'issueInvoice.save': 'ذخیره تغییرات',
'issueInvoice.saving': 'در حال ذخیره...',
'issueInvoice.issue': 'صدور فاکتور',
'issueInvoice.issuing': 'در حال صدور...',
'issueInvoice.backToInvoices': 'بازگشت به فاکتورها',
'issueInvoice.approvedLocked': 'این فاکتور تاییدشده و دیگر قابل ویرایش نیست.',
'issueInvoice.loadError': 'بارگذاری فرم فاکتور ممکن نشد.',
'issueInvoice.updateError': 'به‌روزرسانی فاکتور ممکن نشد.',
'issueInvoice.createError': 'ایجاد فاکتور ممکن نشد.',
'issueInvoice.updated': 'فاکتور به‌روزرسانی شد.',
'issueInvoice.issued': 'فاکتور صادر شد.',
'issueInvoice.recipient': 'صدور فاکتور برای',
'issueInvoice.recipientFor': 'صدور فاکتور برای {name}',
'issueInvoice.recipientRequired': 'یک مشتری برای صدور این فاکتور انتخاب کنید.',
'issueInvoice.pickCustomer': 'انتخاب مشتری',
'issueInvoice.pickCustomerPlaceholder': 'جستجو بر اساس نام یا شماره تماس...',
'issueInvoice.pickCustomerNoResults': 'مشتری‌ای یافت نشد.',
'issueInvoice.pickCustomerHint': 'برای جستجو حداقل ۲ کاراکتر وارد کنید.',
'issueInvoice.changeCustomer': 'تغییر',
'issueInvoice.unknownCustomer': 'مشتری',
'issueInvoice.loading': 'در حال بارگذاری...',
'invoiceDraft.itemLabel': 'آیتم {index}',
'invoiceDraft.removeItem': 'حذف آیتم',
'invoiceDraft.fieldTitle': 'عنوان',
'invoiceDraft.fieldTitlePlaceholder': 'عنوان خدمت',
'invoiceDraft.fieldDuration': 'مدت',
'invoiceDraft.fieldDurationPlaceholder': 'مثلاً ۳ ماه',
'invoiceDraft.fieldWorktime': 'ساعت کاری',
'invoiceDraft.fieldWorktimePlaceholder': 'مثلاً ۴۰ ساعت',
'invoiceDraft.fieldPrice': 'قیمت (تومان)',
'invoiceDraft.fieldDiscountedPrice': 'قیمت با تخفیف (تومان)',
'invoiceDraft.fieldDiscountedPricePlaceholder': 'اختیاری',
'invoiceDraft.optional': 'اختیاری',
'invoiceDraft.fieldDescription': 'توضیحات',
'invoiceDraft.fieldDescriptionPlaceholder': 'جزئیات اختیاری',
'invoiceDraft.addFromTemplate': 'افزودن از قالب...',
'invoiceDraft.addFromTemplateAria': 'افزودن از قالب آیتم',
'invoiceDraft.add': 'افزودن',
'invoiceDraft.addCustomItem': 'افزودن آیتم سفارشی',
'invoiceDraft.keyPoints': 'نکات کلیدی',
'invoiceDraft.addPoint': 'افزودن نکته',
'invoiceDraft.noKeyPoints': 'هنوز نکته کلیدی‌ای ثبت نشده است.',
'invoiceDraft.keyPointPlaceholder': 'مثلاً پرداخت ظرف ۷ روز',
'invoiceDraft.keyPointAria': 'نکته کلیدی {index}',
'invoiceDraft.removeKeyPoint': 'حذف نکته کلیدی',
'invoiceDraft.accounts': 'شماره حساب‌ها',
'invoiceDraft.addAccount': 'افزودن حساب',
'invoiceDraft.noAccounts': 'هنوز حساب بانکی‌ای ثبت نشده است.',
'invoiceDraft.bankName': 'نام بانک',
'invoiceDraft.accountHolder': 'صاحب حساب',
'invoiceDraft.cardNumber': 'شماره کارت',
'invoiceDraft.iban': 'شبا',
'invoiceDraft.removeAccount': 'حذف حساب',
'invoiceDraft.error.itemTitle': 'هر آیتم به عنوان نیاز دارد.',
'invoiceDraft.error.itemPrice': 'قیمت برای «{title}» الزامی است.',
'invoiceDraft.error.itemDiscountInvalid': 'قیمت با تخفیف برای «{title}» نامعتبر است.',
'invoiceDraft.error.itemDiscountExceeds': 'قیمت با تخفیف نمی‌تواند از قیمت اصلی «{title}» بیشتر باشد.',
'invoiceTemplates.subtitle': 'قالب‌های فاکتور و آیتم‌های از پیش تعریف‌شده را مدیریت کنید.',
'invoiceTemplates.section.templates.title': 'قالب‌های فاکتور',
'invoiceTemplates.section.templates.desc':
'الگوهای کامل برای صدور سریع‌تر فاکتور — یکی را انتخاب کنید یا از خالی شروع کنید.',
'invoiceTemplates.addTemplate': 'افزودن قالب',
'invoiceTemplates.templatesTableTitle': 'قالب‌ها',
'invoiceTemplates.countTemplatesOne': '{count} قالب',
'invoiceTemplates.countTemplatesMany': '{count} قالب',
'invoiceTemplates.col.name': 'نام',
'invoiceTemplates.col.items': 'آیتم‌ها',
'invoiceTemplates.col.keyPoints': 'نکات کلیدی',
'invoiceTemplates.col.accounts': 'حساب‌ها',
'invoiceTemplates.col.actions': 'عملیات',
'invoiceTemplates.emptyTemplates': 'هنوز قالب فاکتوری ندارید. یکی اضافه کنید تا صدور فاکتور سریع‌تر شود.',
'invoiceTemplates.section.items.title': 'قالب‌های آیتم فاکتور',
'invoiceTemplates.section.items.desc':
'آیتم‌های قابل استفاده مجدد که می‌توانید در قالب‌های فاکتور یا هنگام صدور فاکتور استفاده کنید.',
'invoiceTemplates.addItem': 'افزودن آیتم',
'invoiceTemplates.itemsTableTitle': 'آیتم‌های از پیش تعریف‌شده',
'invoiceTemplates.countItemsOne': '{count} آیتم',
'invoiceTemplates.countItemsMany': '{count} آیتم',
'invoiceTemplates.col.title': 'عنوان',
'invoiceTemplates.col.duration': 'مدت',
'invoiceTemplates.col.worktime': 'ساعت کاری',
'invoiceTemplates.col.price': 'قیمت',
'invoiceTemplates.col.discounted': 'با تخفیف',
'invoiceTemplates.emptyItems': 'هنوز آیتم از پیش تعریف‌شده‌ای ندارید.',
'invoiceTemplates.editTemplate': 'ویرایش',
'invoiceTemplates.removeTemplate': 'حذف',
'invoiceTemplates.editItem': 'ویرایش',
'invoiceTemplates.removeItem': 'حذف',
'invoiceTemplates.deleteTemplateTitle': 'حذف قالب فاکتور',
'invoiceTemplates.deleteTemplateMessage': '«{name}» از قالب‌های فاکتور حذف شود؟',
'invoiceTemplates.deleteItemTitle': 'حذف قالب آیتم',
'invoiceTemplates.deleteItemMessage': '«{title}» از آیتم‌های از پیش تعریف‌شده حذف شود؟',
'invoiceTemplates.itemModalAddTitle': 'افزودن قالب آیتم',
'invoiceTemplates.itemModalEditTitle': 'ویرایش قالب آیتم',
'invoiceTemplates.itemUpdated': 'قالب آیتم به‌روزرسانی شد.',
'invoiceTemplates.itemCreated': 'قالب آیتم ایجاد شد.',
'invoiceTemplates.itemRemoved': 'قالب آیتم حذف شد.',
'invoiceTemplates.templateRemoved': 'قالب فاکتور حذف شد.',
'invoiceTemplates.loadError': 'بارگذاری تنظیمات فاکتور ممکن نشد.',
'invoiceTemplates.itemSaveError': 'ذخیره قالب آیتم ممکن نشد.',
'invoiceTemplates.itemRemoveError': 'حذف آیتم ممکن نشد.',
'invoiceTemplates.templateRemoveError': 'حذف قالب ممکن نشد.',
'invoiceTemplates.saveItem': 'ذخیره تغییرات',
'invoiceTemplates.savingItem': 'در حال ذخیره...',
'invoiceTemplates.createItem': 'ایجاد آیتم',
'invoiceTemplates.cancel': 'انصراف',
'invoiceTemplates.hint': 'نکته: از صفحه فاکتورها با استفاده از یک قالب یا از ابتدا فاکتور صادر کنید.',
'invoiceTemplateEditor.addTitle': 'افزودن قالب فاکتور',
'invoiceTemplateEditor.editTitle': 'ویرایش قالب فاکتور',
'invoiceTemplateEditor.subtitle':
'نام، متن بالا، آیتم‌ها، نکات کلیدی و حساب‌های بانکی را برای استفاده مجدد هنگام صدور فاکتور تعریف کنید.',
'invoiceTemplateEditor.name': 'نام',
'invoiceTemplateEditor.namePlaceholder': 'مثلاً بسته استاندارد سایت',
'invoiceTemplateEditor.topText': 'متن بالای فاکتور',
'invoiceTemplateEditor.topTextPlaceholder': 'متن مقدماتی اختیاری در بالای فاکتور',
'invoiceTemplateEditor.nameRequired': 'نام قالب الزامی است.',
'invoiceTemplateEditor.loadError': 'بارگذاری ویرایشگر قالب ممکن نشد.',
'invoiceTemplateEditor.saveError': 'ذخیره قالب فاکتور ممکن نشد.',
'invoiceTemplateEditor.updated': 'قالب فاکتور به‌روزرسانی شد.',
'invoiceTemplateEditor.created': 'قالب فاکتور ایجاد شد.',
'invoiceTemplateEditor.backToTemplates': 'بازگشت به قالب‌ها',
'invoiceTemplateEditor.create': 'ایجاد قالب',
'invoiceTemplateEditor.save': 'ذخیره تغییرات',
'invoiceTemplateEditor.saving': 'در حال ذخیره...',
'invoiceTemplateEditor.cancel': 'انصراف',
'invoiceTemplateEditor.loading': 'در حال بارگذاری...',
'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.cellEnglishDigits': 'خواهشمندیم از زبان انگلیسی برای شماره همراه استفاده کنید',
'login.error.smsProvider': 'سرویس پیامک موقتاً در دسترس نیست. لطفاً بعداً دوباره تلاش کنید.',
'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.confirm': 'تأیید رمز عبور',
'forgot.confirmPlaceholder': 'رمز عبور جدید را تکرار کنید',
'forgot.reset': 'بازنشانی رمز عبور',
'forgot.verifying': 'در حال تأیید...',
'forgot.error.length': 'رمز عبور باید حداقل ۸ کاراکتر باشد.',
'forgot.error.strength': 'لطفاً رمز عبور قوی‌تری انتخاب کنید.',
'forgot.error.match': 'رمزهای عبور یکسان نیستند.',
'forgot.error.verify': 'بازنشانی رمز ممکن نشد. کد را بررسی کنید و دوباره تلاش کنید.',
'forgot.info.success': 'رمز عبور به‌روز شد. می‌توانید با رمز جدید وارد شوید.',
'password.strength': 'قدرت رمز عبور',
'password.strength.empty': 'رمز عبور را وارد کنید',
'password.strength.weak': 'ضعیف',
'password.strength.fair': 'متوسط',
'password.strength.good': 'خوب',
'password.strength.strong': 'قوی',
'password.rule.length': 'حداقل ۸ کاراکتر',
'password.rule.upper': 'یک حرف بزرگ انگلیسی',
'password.rule.number': 'یک عدد',
'password.rule.special': 'یک کاراکتر ویژه',
'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',
'Customer products': 'nav.customerProducts',
Blog: 'nav.blog',
Content: 'nav.content',
'My Blogs': 'nav.blog.list',
'Add New Blog': 'nav.blog.new',
'Edit Blog': 'bc.editBlog',
'Blog Details': 'bc.blogDetails',
Videos: 'nav.videos',
Instructions: 'nav.instructions',
'My Instructions': 'nav.instructions.list',
'Add New Instruction': 'nav.instructions.new',
'Edit Instruction': 'bc.editInstruction',
'Instruction Details': 'bc.instructionDetails',
Portfolios: 'nav.portfolios',
'My Portfolios': 'nav.portfolios.list',
'Add New Portfolio': 'nav.portfolios.new',
'Edit Portfolio': 'bc.editPortfolio',
'Portfolio Details': 'bc.portfolioDetails',
'My Videos': 'nav.videos.list',
'Add New Video': 'nav.videos.new',
'Edit Video': 'bc.editVideo',
'Video Details': 'bc.videoDetails',
Website: 'nav.website',
'Static Images': 'nav.website.staticImages',
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: '/finance', labels: [t('title.finance')] },
{ match: '/customer-products/new', labels: [t('title.customerProducts'), t('customerProducts.add')] },
{ match: /^\/customer-products\/[^/]+\/edit$/, labels: [t('title.customerProducts'), t('customerProducts.edit')] },
{ match: /^\/customer-products\/[^/]+$/, labels: [t('title.customerProducts'), t('customerProducts.detailsTitle')] },
{ match: '/customer-products', labels: [t('title.customerProducts')] },
{
match: /^\/invoices\/templates\/new$/,
labels: [t('title.finance'), t('title.invoiceTemplates'), t('title.addInvoiceTemplate')],
},
{
match: /^\/invoices\/templates\/[^/]+$/,
labels: [t('title.finance'), t('title.invoiceTemplates'), t('title.editInvoiceTemplate')],
},
{ match: '/invoices/templates', labels: [t('title.finance'), t('title.invoiceTemplates')] },
{ match: '/invoices/new', labels: [t('title.finance'), t('title.invoices'), t('title.issueInvoice')] },
{
match: /^\/invoices\/[^/]+\/edit$/,
labels: [t('title.finance'), t('title.invoices'), t('title.editInvoice')],
},
{ match: '/invoices', labels: [t('title.finance'), t('title.invoices')] },
{ match: '/transactions', labels: [t('title.finance'), t('title.transactions')] },
{ match: '/content', labels: [t('title.content')] },
{ match: '/blog/list', labels: [t('title.content'), t('title.blog'), t('title.myBlogs')] },
{ match: /^\/blog\/detail\/[^/]+$/, labels: [t('title.content'), t('title.blog'), t('title.blogDetails')] },
{ match: '/blog/new', labels: [t('title.content'), t('title.blog'), t('title.addBlog')] },
{ match: /^\/blog\/edit\/[^/]+$/, labels: [t('title.content'), t('title.blog'), t('title.editBlog')] },
{ match: '/blog/categories', labels: [t('title.content'), t('title.blog'), t('title.categories')] },
{ match: '/blog/settings', labels: [t('title.content'), t('title.blog'), t('title.settings')] },
{ match: '/blog', labels: [t('title.content'), t('title.blog')] },
{ match: '/videos/list', labels: [t('title.content'), t('title.videos'), t('title.myVideos')] },
{ match: /^\/videos\/detail\/[^/]+$/, labels: [t('title.content'), t('title.videos'), t('title.videoDetails')] },
{ match: '/videos/new', labels: [t('title.content'), t('title.videos'), t('title.addVideo')] },
{ match: /^\/videos\/edit\/[^/]+$/, labels: [t('title.content'), t('title.videos'), t('title.editVideo')] },
{ match: '/videos/categories', labels: [t('title.content'), t('title.videos'), t('title.categories')] },
{ match: '/videos/settings', labels: [t('title.content'), t('title.videos'), t('title.settings')] },
{ match: '/videos', labels: [t('title.content'), t('title.videos')] },
{ match: '/instructions/list', labels: [t('title.content'), t('title.instructions'), t('title.myInstructions')] },
{ match: /^\/instructions\/detail\/[^/]+$/, labels: [t('title.content'), t('title.instructions'), t('title.instructionDetails')] },
{ match: '/instructions/new', labels: [t('title.content'), t('title.instructions'), t('title.addInstruction')] },
{ match: /^\/instructions\/edit\/[^/]+$/, labels: [t('title.content'), t('title.instructions'), t('title.editInstruction')] },
{ match: '/instructions/categories', labels: [t('title.content'), t('title.instructions'), t('title.categories')] },
{ match: '/instructions/settings', labels: [t('title.content'), t('title.instructions'), t('title.settings')] },
{ match: '/instructions', labels: [t('title.content'), t('title.instructions')] },
{ 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/static-images', labels: [t('title.website'), t('title.staticImages')] },
{ 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', labels: [t('title.website')] },
{ match: '/settings', labels: [t('title.settings')] },
{ match: '/', labels: [t('title.home')] },
]
}