import { Translations } from './translations'; export const en: Translations = { header: { home: 'Home', search: 'Search', about: 'About', contacts: 'Contacts', searchPlaceholder: 'Search...', catalog: 'Catalog', wishlist: 'Wishlist', compare: 'Compare', openMenu: 'Open menu', closeMenu: 'Close menu', }, footer: { description: 'A modern marketplace for comfortable shopping', company: 'Company', aboutUs: 'About us', contacts: 'Contacts', requisites: 'Company details', support: 'Support', faq: 'FAQ', delivery: 'Delivery', guarantee: 'Warranty', legal: 'Legal information', offer: 'Public offer', privacy: 'Privacy policy', returns: 'Returns', info: 'Information', aboutCompany: 'About company', documents: 'Documents', paymentRules: 'Payment terms', returnPolicy: 'Return policy', publicOffer: 'Public offer', help: 'Help', payment: 'Payment', allRightsReserved: 'All rights reserved.', }, home: { welcomeTo: 'Welcome to {{brand}}', subtitle: 'Find everything you need in one place', startSearch: 'Start search', loading: 'Loading categories...', errorTitle: 'Something went wrong', retry: 'Try again', categoriesTitle: 'Product categories', categoriesSubtitle: 'Choose a category', categoriesEmpty: 'Categories coming soon', categoriesEmptyDesc: 'We are working on filling the catalog', dexarHeroTitle: 'Find everything here', dexarHeroSubtitle: 'Thousands of products in one place', dexarHeroTagline: 'simple and convenient', goToCatalog: 'Go to catalog', findProduct: 'Find a product', loadingDexar: 'Loading categories...', catalogTitle: 'Product catalog', emptyCategoriesDexar: 'No categories yet', categoriesSoonDexar: 'Categories will appear here soon', itemsCount: '{{count}} products', }, cart: { title: 'Cart', clear: 'Clear', empty: 'Cart is empty', emptyDesc: 'Add products to start shopping', goShopping: 'Start shopping', total: 'Total', items: 'Products', deliveryLabel: 'Delivery', deliveryMethod: 'Delivery option', selectDelivery: 'Select delivery option', deliveryPlace: 'Place', deliveryTime: 'Delivery time', digitalDelivery: 'Digital delivery', deliveryRequired: 'Select delivery for every shippable item before checkout.', toPay: 'To pay', agreeWith: 'I agree with the', publicOffer: 'public offer', returnPolicy: 'return policy', guaranteeTerms: 'warranty terms', privacyPolicy: 'privacy policy', and: 'and', checkout: 'Place order', payViaQr: 'Pay via QR', payViaCard: 'Pay via card', close: 'Close', creatingPayment: 'Creating payment...', waitFewSeconds: 'Please wait a few seconds', scanQr: 'Scan the QR code to pay', amountToPay: 'Amount due:', waitingPayment: 'Waiting for payment...', copied: '✓ Copied', copyLink: 'Copy link', openNewTab: 'Open in new tab', paymentSuccess: 'Congratulations! Payment successful!', paymentSuccessDesc: 'Enter your contact details and we will send your purchase within a few minutes', sending: 'Sending...', send: 'Send', paymentError: 'Unable to create payment', paymentErrorDesc: 'We could not prepare the payment QR code right now. Please try again in a moment.', retryPayment: 'Try again', paymentTimeout: 'Payment timed out', paymentTimeoutDesc: 'We did not receive payment confirmation within 3 minutes.', autoClose: 'Window will close automatically...', confirmClear: 'Are you sure you want to clear the cart?', removeItem: 'Remove item', paymentQrAlt: 'Payment QR code', acceptTerms: 'Please accept the offer terms, return policy, and warranty terms to proceed with the order.', copyError: 'Copy error:', emailSuccess: 'Email sent successfully! Check your inbox.', emailError: 'An error occurred while sending the email. Please try again.', phoneRequired: 'Phone number is required', phoneMoreDigits: 'Enter {{count}} more digits', phoneTooMany: 'Too many digits', emailRequired: 'Email is required', emailTooShort: 'Email is too short (minimum 5 characters)', emailTooLong: 'Email is too long (maximum 100 characters)', emailNeedsAt: 'Email must contain @', emailNeedsDomain: 'Email must contain a domain (.com, .ru, etc.)', emailInvalid: 'Invalid email format', loginRequired: 'Log in to checkout', loginRequiredDesc: 'Please log in via Telegram to place your order', loginWithTelegram: 'Log in with Telegram', orScanQr: 'Or scan the QR code', }, search: { title: 'Product search', placeholder: 'Enter product name...', searchBarAria: 'Search bar', resultsCount: 'Products found:', searching: 'Searching...', retry: 'Try again', noResults: 'Nothing found', noResultsFor: 'No products found for "{{query}}"', noResultsHint: 'Try changing your query or using different keywords', emptyResultsAria: 'Empty search results', popularCategories: 'Popular categories', recommendedProducts: 'Recommended products', aiSuggestionHint: 'AI suggestion (future)', suggestionType: { product: 'Product', category: 'Category', brand: 'Brand', collection: 'Collection', seller: 'Seller', 'static-page': 'Page', ai: 'AI', }, addToCart: 'Add to cart', loadingMore: 'Loading...', allLoaded: 'All results loaded', emptyState: 'Enter a query to search for products', minLength: 'Enter at least {{count}} characters to search', of: 'of', }, category: { retry: 'Try again', addToCart: 'Add to cart', loadingMore: 'Loading...', allLoaded: 'All products loaded', emptyTitle: 'Oops! Nothing here yet', emptyDesc: 'There are no products in this category yet, but they will appear soon', goHome: 'Go home', loading: 'Loading products...', }, catalog: { title: 'Catalog', breadcrumb: 'Catalog breadcrumb', allCategories: 'All categories', products: 'Products', loading: 'Loading catalog...', loadingProducts: 'Loading products...', errorTitle: 'Catalog is unavailable', error: 'Could not load catalog data. Try again later.', retry: 'Try again', categoryHint: 'Choose a category to continue', productHint: 'Browse products in this category', emptyTitle: 'Nothing here yet', emptyCategories: 'There are no child categories in this section yet.', emptyProducts: 'There are no products in this category yet.', addToCart: 'Add to cart', categoriesCount: '{{count}} categories', productsCount: '{{count}} products', entriesCount: '{{count}} entries', categoryBannerPlaceholder: 'Category banner placeholder for backend-driven media and description.', navigationPlaceholder: 'Navigation layout placeholder prepared for backend/bootstrap-driven rendering.', removeSavedSearch: 'Remove saved search', resetFilters: 'Reset', filtersTitle: 'Filters', from: 'From', to: 'To', minValue: 'Min {{value}}', maxValue: 'Max {{value}}', enabled: 'Enabled', searchPlaceholder: 'Search products, brands, categories', searchSubmit: 'Search', clearSearch: 'Clear', suggestionsTitle: 'Suggestions', popularSearchesTitle: 'Popular searches', recentSearchesTitle: 'Recent searches', searchHistoryTitle: 'Search history', clearHistory: 'Clear', searchNoResultsHint: 'No results found for this query. Try broader keywords.', searchProductsFound: '{{total}} products found', searchResultsSummary: '{{total}} results for "{{query}}"', loadMore: 'Load more', sortBy: 'Sort by', sortRelevance: 'Recommended', sortLatest: 'Newest', sortPriceAsc: 'Price Low -> High', sortPriceDesc: 'Price High -> Low', sortRating: 'Highest Rated', sortPopular: 'Most Popular', sortDiscount: 'Discount', layoutGrid: 'Grid', layoutLargeGrid: 'Large grid', layoutCompactGrid: 'Compact grid', layoutGrid2: '2 Columns', layoutGrid3: '3 Columns', layoutGrid4: '4 Columns', layoutCompact: 'Compact', layoutList: 'List', noResults: 'No results', itemsCount: '{{count}} items', emptyResultsTitle: 'No results found', emptyResultsDescription: 'Try changing filters, sorting, or search keywords.', previousPage: 'Previous', nextPage: 'Next', pageOf: 'Page {{page}} / {{total}}', emptyCategoryTitle: 'This category has no products yet', emptyCategoryMessage: 'Try browsing parent categories or return to the full catalog.', goToParentCategory: 'Go to parent category', browseCategories: 'Browse Categories', offlineTitle: 'You are offline', offlineMessage: 'Reconnect to continue browsing this catalog.', noFilterMatchTitle: 'No products match your selected filters.', noFilterMatchMessage: 'Try broadening price, attributes, or brand filters.', clearFilters: 'Clear Filters', openFilters: 'Open Filters', applyFilters: 'Apply', close: 'Close', filtersDrawerAria: 'Filters drawer', sortSheetAria: 'Sort options', mobileToolbarAria: 'Catalog mobile toolbar', gridCycle: 'Grid', filtersPanelAria: 'Catalog filters', filterPrice: 'Price', filterAvailability: 'Availability', filterInStock: 'In stock', filterLowStock: 'Low stock', filterOutOfStock: 'Out of stock', filterRating: 'Rating', filterStars: '{{count}} stars', filterBrand: 'Brand', filterCategory: 'Category', filterCategoryValue: 'Category {{value}}', filterSubcategory: 'Subcategory', filterDiscount: 'Discount', filterNew: 'New', filterColor: 'Color', filterSize: 'Size', filterAttributes: 'Attributes', }, productDetails: { loading: 'Loading product...', errorTitle: 'Product unavailable', retry: 'Try again', missingTitle: 'Product not found', missingDescription: 'This product does not exist or is no longer available.', backToCatalog: 'Back to catalog', tabsAria: 'Product tabs', mediaAria: 'Product media', ratingStarsAria: 'Rating stars', selectRatingAria: 'Select rating', reviewsEmpty: 'No reviews yet.', questionsEmpty: 'No questions yet.', askQuestion: 'Ask question', hideQuestionForm: 'Hide question form', questionFormTitle: 'Ask a question', questionFormPlaceholder: 'Ask about size, delivery, compatibility or usage', questionFormAnonymous: 'Ask anonymously', submitQuestion: 'Submit question', reviewFormTitle: 'Leave a review', reviewRatingLabel: 'Rating', reviewTitleLabel: 'Title', reviewTitlePlaceholder: 'Short headline', reviewTextLabel: 'Review', reviewTextPlaceholder: 'Describe your experience', reviewAnonymous: 'Submit anonymously', reviewUploadPlaceholder: 'Photo upload is planned for a future sprint.', reviewRatingRequired: 'Please select a rating.', reviewTextRequired: 'Please add your review text.', reviewSuccess: 'Review submitted successfully.', submitReview: 'Submit review', submitting: 'Submitting...', loadMore: 'Load more', showingOf: 'Showing {{shown}} of {{total}}', questionsSubmissionFuture: 'Question submission can be enabled later without component changes.', specificationsGeneral: 'General', actionsAria: 'Product actions', buyNow: 'Buy now', wishlist: 'Wishlist', compare: 'Compare', share: 'Share', notifyMe: 'Notify me', zoom: 'Zoom', fullscreen: 'Fullscreen', pdfDocument: 'Product PDF document', manualDocument: 'Product manual', warrantyDocument: 'Warranty document', openDocument: 'Open document', specificationsEmpty: 'No specifications provided yet.', warrantyTitle: 'Warranty and returns', warrantyItem1: 'Warranty terms are provided by the seller and local law.', warrantyItem2: 'Return eligibility depends on item condition and category.', warrantyItem3: 'Detailed return instructions are available after purchase.', verifiedPurchase: 'Verified purchase', officialSeller: 'Official seller', acceptedAnswer: 'Accepted answer', like: 'Like', dislike: 'Dislike', reviewsCountLabel: '{{count}} reviews', previous: 'Previous', next: 'Next', pageOf: 'Page {{page}} / {{total}}', }, subcategories: { loading: 'Loading subcategories...', retry: 'Try again', emptyTitle: 'Oops! No subcategories yet', emptyDesc: 'There are no subcategories in this section yet, but they will appear soon', goHome: 'Go home', itemsInCategory: 'Items in this category', childrenCount: '{{count}} categories', productsCount: '{{count}} products', includesProducts: 'Includes products', }, itemDetail: { loading: 'Loading...', loadingDexar: 'Loading product...', back: 'Go back', backHome: 'Back to home', noImage: 'No image', stock: 'Availability:', inStock: 'In stock', lowStock: 'Few left', lastItems: 'Last items', mediumStock: 'Running low', addToCart: 'Add to cart', description: 'Description', specifications: 'Specifications', reviews: 'Reviews', yourReview: 'Your review', leaveReview: 'Leave a review', rating: 'Rating:', reviewPlaceholder: 'Share your experience with this product...', reviewPlaceholderDexar: 'Share your thoughts on this product...', anonymous: 'Anonymous', submitting: 'Submitting...', submit: 'Submit', reviewSuccess: 'Thank you for your review!', reviewError: 'Submission failed. Please try later.', defaultUser: 'User', defaultUserDexar: 'Anonymous', noReviews: 'No reviews yet. Be the first!', qna: 'Questions & Answers', photo: 'Photo', reviewsCount: 'reviews', today: 'Today', yesterday: 'Yesterday', daysAgo: 'd. ago', weeksAgo: 'w. ago', colour: 'Colour', size: 'Size', relatedProducts: 'Related products', }, app: { connecting: 'Connecting to server...', serverUnavailable: 'Server unavailable', serverError: 'Could not connect to the server. Please check your internet connection.', retryConnection: 'Retry', pageTitle: 'Marketplace of goods and services', }, platform: { loadingPage: 'Loading platform page...', emptyConfig: 'No page configuration found.', }, backoffice: { title: 'Backoffice Sandbox', subtitle: 'Business data management domain (mocked for platform foundation).', loading: 'Loading backoffice data...', products: 'Products', categories: 'Categories', otherDomains: 'Other Domains', sku: 'SKU', titleColumn: 'Title', price: 'Price', status: 'Status', itemsCount: 'items', orders: 'Orders', customers: 'Customers', inventory: 'Inventory', media: 'Media', settings: 'Settings', notAvailable: 'n/a', }, builder: { title: 'Marketplace Builder', subtitle: 'Build your marketplace step by step.', general: 'General', branding: 'Branding', theme: 'Theme', header: 'Header', footer: 'Footer', homepage: 'Homepage', widgets: 'Widgets', staticPages: 'Static Pages', marketplaceFeatures: 'Marketplace Features', preview: 'Preview', brandName: 'Brand Name', marketplaceName: 'Marketplace Name', domain: 'Domain', descriptionLabel: 'Description', defaultLanguage: 'Default Language', supportedLanguages: 'Supported Languages', logo: 'Logo', smallLogo: 'Small Logo', favicon: 'Favicon', socialImage: 'Social Share Image', gallery: 'Gallery', addGalleryImage: 'Add image', headerLayout: 'Header Layout', headerLayoutDefault: 'Default', headerLayoutCentered: 'Centered', headerSticky: 'Sticky Header', marketplaceTitle: 'Marketplace Title', primaryColor: 'Primary Color', secondaryColor: 'Secondary Color', backgroundColor: 'Background', surfaceColor: 'Surface', textColor: 'Text', successColor: 'Success', warningColor: 'Warning', dangerColor: 'Danger', showLogo: 'Logo', showSearch: 'Search', showCategories: 'Categories', showLanguages: 'Languages', showCart: 'Cart', showProfile: 'Profile', showWishlist: 'Wishlist', showCompare: 'Compare', showRegion: 'Region', companyName: 'Company Information', address: 'Address', phone: 'Phone', email: 'Email', copyright: 'Copyright', paymentIcons: 'Payment Icons', socialLinks: 'Social Links', footerLogo: 'Footer Logo', addPaymentIcon: 'Add Payment Icon', removePaymentIcon: 'Remove', iconAltLabel: 'Icon Label', addSocialLink: 'Add Social Link', removeSocialLink: 'Remove', socialLinkLabel: 'Platform', socialLinkUrl: 'URL', invalidUrl: 'Enter a valid URL starting with http:// or https://.', createPage: 'Create Page', deletePage: 'Delete Page', pageId: 'Page ID', slug: 'Slug', iconLabel: 'Icon', showInFooter: 'Show In Footer', showInHeader: 'Show In Header', showInSitemap: 'Show In Sitemap', requiresAuthentication: 'Requires Authentication', footerGroup: 'Footer Group', orderLabel: 'Order', translationTitle: 'Translation Title', htmlPreview: 'HTML', seoSection: 'SEO', seoTitle: 'SEO Title', seoDescription: 'SEO Description', seoKeywords: 'Keywords', seoCanonical: 'Canonical URL', seoOgTitle: 'OG Title', seoOgDescription: 'OG Description', seoOgImage: 'OG Image', visible: 'Visible', layoutLabel: 'Layout', columns: 'Columns', height: 'Height', overlay: 'Overlay', autoplay: 'Autoplay', cardsPerRow: 'Cards Per Row', filtersLabel: 'Filters', showBadges: 'Show Badges', showRating: 'Show Rating', showPrice: 'Show Price', widgetJson: 'Widget JSON', reviews: 'Reviews', questions: 'Questions', comments: 'Comments', recommendations: 'Recommendations', recentlyViewed: 'Recently Viewed', searchSuggestions: 'Search Suggestions', searchHistory: 'Search History', livePreview: 'Live Preview', previewChangesTitle: 'Changes since last publish', previewNoIssues: 'No validation issues.', previewNoChanges: 'No changes since the last publish.', previewChangeField: 'Field', previewChangeBefore: 'Before', previewChangeAfter: 'After', languagesTab: 'Languages', addLanguage: 'Add Language', removeLanguage: 'Remove', setDefaultLanguage: 'Set as Default', defaultLanguageLabel: 'Default', navigationTab: 'Navigation', navigationHeader: 'Header Navigation', navigationFooter: 'Footer Navigation', navigationFooterGrouped: 'Footer navigation uses grouped columns and is not editable here yet — edit via the Footer tab.', addLink: 'Add Link', insertPageLink: 'Insert page link', linkedToPage: 'Linked to page', removeLink: 'Remove', linkLabel: 'Label', linkUrl: 'URL', exportBootstrap: 'Export Bootstrap', importBootstrap: 'Import Bootstrap', exportedBootstrap: 'Exported Bootstrap', importSource: 'Import Source', importError: 'Import failed. Invalid bootstrap JSON.', featureFlags: 'Feature Flags', validationMissingLogo: 'Branding is missing a logo.', validationNoLanguages: 'No languages are configured.', validationDefaultLocaleNotSupported: 'The default language is not in the supported languages list.', validationInvalidUrl: 'The marketplace URL is invalid.', validationDuplicateSlugs: 'Two or more static pages share the same slug.', validationEmptyHomepage: 'The homepage has no sections.', validationMissingWidget: 'A homepage section has a widget with no type.', validationDuplicateNavLinks: 'Two or more header navigation links are duplicates.', validationInvalidColors: 'One or more theme colors are not valid hex colors.', validationMissingTranslations: 'Some content is missing translations for a supported language.', validationInvalidLayouts: 'One or more layouts reference an unknown layout type.', validationInvalidJson: 'The configuration is not valid JSON.', validationInvalidCss: 'A static page contains invalid CSS.', validationDuplicateRoutes: 'Two or more pages share the same route.', validationInvalidWidgetConfig: 'A widget is missing a required field (id, type, version, or props).', validationInvalidContactEmail: 'The company contact email is not a valid email address.', validationInvalidSocialLinkUrl: 'One or more footer social links have an invalid URL.', validationIncompletePaymentIcon: 'A footer payment icon is missing its image or alt text.', undo: 'Undo', redo: 'Redo', statusDraft: 'Draft', statusPublished: 'Published', unsavedChanges: 'Unsaved changes', save: 'Save', publish: 'Publish', confirmLeaveUnsaved: 'You have unsaved changes. Leave anyway?', promptLinkUrl: 'URL', promptImageUrl: 'Image URL', promptEmbedUrl: 'Embed URL', htmlEditorInvalidHtml: 'This HTML has an unclosed or mismatched tag. Fix it before switching back to the visual editor.', htmlEditorCode: 'Code', htmlEditorPreview: 'Preview', lastSaved: 'Last saved', draftRestored: 'A local draft was restored from your last session.', dismiss: 'Dismiss', resetDraft: 'Reset draft', resetSection: 'Reset section', confirmResetDraft: 'This discards all unpublished changes and restores the last published configuration. Continue?', confirmResetSection: 'This discards unpublished changes in this section only. Continue?', marketplaceNameDesc: 'The name shown to shoppers across the storefront and browser tab.', domainDesc: 'The domain shoppers use to reach this marketplace. Changing it does not move DNS.', descriptionFieldDesc: 'A short summary used for search engines and social link previews.', defaultLanguageDesc: 'The language shown when a shopper has no saved language preference.', supportedLanguagesDesc: 'Comma-separated language codes shoppers can switch to (e.g. en, ru, hy).', logoDesc: 'Full logo image URL, shown in the header on desktop.', smallLogoDesc: 'Compact logo image URL, used where space is limited (e.g. mobile header).', faviconDesc: 'Browser tab icon image URL. Should be a small square image.', socialImageDesc: 'Default image shown when the marketplace is shared on social media (Open Graph).', galleryDesc: 'Extra brand images available for future use across the storefront.', headerLayoutDesc: 'How the header content is arranged: default (logo left, nav spread) or centered.', headerStickyDesc: 'Keep the header pinned to the top of the viewport while scrolling.', marketplaceTitleDesc: 'The page title used by search engines and browser tabs.', primaryColorDesc: 'The main brand color, used on primary buttons and highlights. Must be a valid hex color.', secondaryColorDesc: 'A supporting brand color used for secondary UI elements. Must be a valid hex color.', backgroundColorDesc: 'The default page background color. Must be a valid hex color.', surfaceColorDesc: 'The background color for cards and raised surfaces. Must be a valid hex color.', textColorDesc: 'The default body text color. Must be a valid hex color.', successColorDesc: 'Color used for success messages and positive states. Must be a valid hex color.', warningColorDesc: 'Color used for warning messages and caution states. Must be a valid hex color.', dangerColorDesc: 'Color used for errors and destructive actions. Must be a valid hex color.', themeModeLabel: 'Color mode', themeModeDesc: 'Controls whether the storefront renders in light, dark, or the shopper\'s system preference.', themeModeLight: 'Light', themeModeLightDesc: 'Always use the light color scheme.', themeModeDark: 'Dark', themeModeDarkDesc: 'Always use the dark color scheme.', themeModeSystem: 'System', themeModeSystemDesc: 'Follow the shopper\'s device/browser color scheme preference.', siteLayoutLabel: 'Site layout', siteLayoutDesc: 'The overall page chrome mode used across the storefront.', siteLayoutDefault: 'Default', siteLayoutDefaultDesc: 'Standard layout with a top navigation bar.', siteLayoutSidebarLeft: 'Sidebar (left)', siteLayoutSidebarLeftDesc: 'Adds a left-hand sidebar, typically for category navigation.', siteLayoutCarouselHome: 'Carousel home', siteLayoutCarouselHomeDesc: 'Homepage leads with a full-width carousel/hero.', siteLayoutMinimal: 'Minimal', siteLayoutMinimalDesc: 'Stripped-down chrome with minimal navigation elements.', showLogoDesc: 'Show the marketplace logo in the header.', showSearchDesc: 'Show the search bar in the header.', showCategoriesDesc: 'Show the categories menu entry point in the header.', showLanguagesDesc: 'Show the language switcher in the header.', showCartDesc: 'Show the cart icon/link in the header.', showProfileDesc: 'Show the account/profile entry point in the header.', showWishlistDesc: 'Show the wishlist entry point in the header.', showCompareDesc: 'Show the compare-products entry point in the header.', showRegionDesc: 'Show the region/country selector in the header.', companyNameDesc: 'Legal company name shown in the footer and static pages.', addressDesc: 'Company street address shown in the footer.', phoneDesc: 'Contact phone number shown in the footer.', emailDesc: 'Contact email address shown in the footer.', copyrightDesc: 'Copyright line shown at the bottom of every page.', paymentIconsDesc: 'One payment icon entry per line (image URL and label) shown in the footer.', socialLinksDesc: 'One social link entry per line (platform and URL) shown in the footer.', footerLogoDesc: 'Logo shown in the footer, if different from the header logo.', iconAltLabelDesc: 'Alt text describing the payment icon for accessibility.', socialLinkUrlDesc: 'Full URL to the social media profile, must start with http:// or https://.', staticPagesFieldDesc: 'Static pages (about, terms, privacy, etc.) linked from the footer.', sectionVisibleDesc: 'Whether this homepage section is shown to shoppers.', layoutStrategyLabel: 'Layout strategy', layoutStrategyDesc: 'How widgets inside this section are arranged.', layoutStrategyStack: 'Stack', layoutStrategyStackDesc: 'Widgets stack vertically, one after another.', layoutStrategyGrid: 'Grid', layoutStrategyGridDesc: 'Widgets arrange in a multi-column grid.', layoutStrategyHero: 'Hero', layoutStrategyHeroDesc: 'A single large, full-width promotional layout.', layoutStrategyCarousel: 'Carousel', layoutStrategyCarouselDesc: 'Widgets scroll horizontally as a carousel.', layoutStrategySplit: 'Split', layoutStrategySplitDesc: 'Content is split into two side-by-side panes.', sectionColumnsDesc: 'Number of columns to use when the layout strategy supports columns.', widgetLayoutDesc: 'Free-text layout variant name understood by this widget (e.g. "full-bleed", "boxed").', widgetHeightDesc: 'Preferred height for this widget (e.g. "480px" or "60vh").', widgetOverlayDesc: 'Show a dark overlay behind hero text for readability.', widgetAutoplayDesc: 'Automatically rotate hero slides without shopper interaction.', widgetColumnsDesc: 'Number of category tiles per row.', widgetCardsPerRowDesc: 'Number of product cards shown per row.', widgetFiltersDesc: 'Show filter controls alongside the product collection.', widgetShowBadgesDesc: 'Show badges such as "New" or "Sale" on product cards.', widgetShowRatingDesc: 'Show the star rating on product cards.', widgetShowPriceDesc: 'Show the price on product cards.', widgetJsonDesc: 'Raw widget properties as JSON. Used when no dedicated editor exists for this widget type.', widgetJsonInvalid: 'Invalid JSON - the last valid version is still saved.', wishlistFeatureDesc: 'Let shoppers save products to a wishlist.', compareFeatureDesc: 'Let shoppers compare multiple products side by side.', reviewsFeatureDesc: 'Let shoppers leave and read product reviews.', questionsFeatureDesc: 'Let shoppers ask and read product questions and answers.', commentsFeatureDesc: 'Enable general comments on marketplace content.', recommendationsFeatureDesc: 'Show recommended-product blocks across the storefront.', recentlyViewedFeatureDesc: 'Show a "recently viewed" product list to shoppers.', searchSuggestionsDesc: 'Show live search suggestions as shoppers type.', searchHistoryDesc: 'Remember and show a shopper\'s recent searches.', catalogNavigationModeLabel: 'Catalog navigation mode', catalogNavigationModeDesc: 'How shoppers navigate categories in the catalog.', catalogNavDefault: 'Default', catalogNavDefaultDesc: 'Standard breadcrumb-driven category navigation.', catalogNavLeftCategory: 'Left category navigation', catalogNavLeftCategoryDesc: 'Persistent category tree in a left-hand sidebar.', catalogNavMegaCategory: 'Mega category layout', catalogNavMegaCategoryDesc: 'Expanded dropdown showing subcategories and featured items.', catalogNavTopCarousel: 'Top category carousel', catalogNavTopCarouselDesc: 'Horizontally scrollable category chips above the catalog grid.', newLanguageDesc: 'ISO language code to add as a supported storefront language (e.g. de, fr).', languageAlreadyAdded: 'This language is already supported.', languagesTabDesc: 'Languages available to shoppers. The default language is used as a fallback everywhere.', linkLabelDesc: 'Text shown for this navigation link.', linkUrlDesc: 'Path or URL this navigation link points to.', linkVisibleDesc: 'Whether this navigation link is shown to shoppers.', appName: 'Marketplace Builder', backToDashboard: 'Back to dashboard', breadcrumbRoot: 'Marketplace Builder', statusComplete: 'Complete', statusInProgress: 'In progress', statusNotStarted: 'Not started', statusUnknown: 'Not tracked yet', draftBadge: 'Draft', publishedBadge: 'Published', modifiedBadge: 'Unsaved changes', helpToggleShow: 'What is this?', helpToggleHide: 'Hide help', helpWhatIsThis: 'What is this', helpWhySkip: 'Why configure it', helpWhereVisible: 'Where shoppers see it', helpWhatIfSkip: "What happens if you skip it", helpWhenReturn: 'When to come back to this', openSidebar: 'Open sections menu', closeSidebar: 'Close sections menu', overviewTitle: 'Marketplace Builder', overviewSubtitle: 'Build your marketplace step by step', overviewReadinessLabel: 'Your marketplace is {{percent}}% configured', overviewReadinessHint: 'Based on the required fields you have filled in so far.', overviewNextStepLabel: 'Recommended next step', overviewNextStepFallback: 'All required steps are done - you are ready to publish.', overviewQuickLinksTitle: 'Quick links', overviewSectionsTitle: 'Builder sections', overviewOpenSection: 'Open section', overviewReadinessTitle: 'Marketplace readiness', readinessLogoUploaded: 'Logo uploaded', readinessHomepageConfigured: 'Homepage configured', readinessThemeConfigured: 'Theme configured', readinessLanguagesConfigured: 'Languages configured', readinessContentPagesAdded: 'Info pages added', readinessPreviewReviewed: 'Preview reviewed', readinessPublished: 'Marketplace published', readinessCategoriesExist: 'Categories exist', readinessProductsExist: 'Products exist', groupMarketplaceLabel: 'Marketplace', groupMarketplaceDescription: 'Name, address, and the core details of your marketplace.', groupMarketplacePurpose: 'The basic information that defines your marketplace: name, domain, and default language.', groupMarketplaceWhere: 'The name and address show up in the browser tab, search results, and every storefront page.', groupMarketplaceSkip: "Without a name and address, your marketplace won't feel finished to shoppers.", groupBrandingLabel: 'Branding & Design', groupBrandingDescription: 'Logo, colors, header and footer - your store\'s visual identity.', groupBrandingPurpose: "Set how your marketplace looks: logo, color palette, and the header/footer chrome.", groupBrandingWhere: 'Changes show up on every page a shopper sees.', groupBrandingSkip: "Your marketplace will use default styling that doesn't reflect your brand.", groupHomepageLabel: 'Homepage', groupHomepageDescription: 'The banners, showcases, and widgets shoppers see first.', groupHomepagePurpose: 'Build your homepage from blocks: a hero banner, featured categories and products, promotions.', groupHomepageWhere: "It's the first page a shopper sees when they open your marketplace.", groupHomepageSkip: 'Your homepage will stay empty or use a default layout.', groupContentLabel: 'Content', groupContentDescription: 'About us, contacts, delivery, returns, and other info pages.', groupContentPurpose: 'Add the pages shoppers trust: about us, contacts, delivery and return terms.', groupContentWhere: "Links to these pages usually appear in the site footer.", groupContentSkip: "Shoppers won't find answers about delivery, returns, or how to contact you - that hurts trust.", groupLanguagesLabel: 'Languages', groupLanguagesDescription: 'Which languages your marketplace works in.', groupLanguagesPurpose: 'Pick a default language and add more for shoppers in other regions.', groupLanguagesWhere: 'The language switcher is visible in the header on every page.', groupLanguagesSkip: 'Your marketplace will only be available in the default language.', groupFeaturesLabel: 'Marketplace Features', groupFeaturesDescription: 'Wishlist, compare, reviews, guest checkout, and more.', groupFeaturesPurpose: 'Turn shopper-facing features on or off: wishlist, product comparison, guest checkout.', groupFeaturesWhere: 'Affects the catalog, product, and checkout pages.', groupFeaturesSkip: 'Your marketplace will use the default feature set.', groupNavigationLabel: 'Navigation & Search', groupNavigationDescription: "The site menu and how shoppers find products.", groupNavigationPurpose: 'Configure the menu items and how catalog navigation is structured.', groupNavigationWhere: 'Visible in the site header on every page.', groupNavigationSkip: 'Shoppers will use the default navigation.', groupPreviewLabel: 'Preview', groupPreviewDescription: 'See how your marketplace looks on desktop, tablet, and phone.', groupPreviewPurpose: 'Check your marketplace through a shopper\'s eyes before publishing - across screen sizes.', groupPreviewWhere: "This is a preview - shoppers never see it.", groupPreviewSkip: 'You can publish your changes without reviewing them first.', brandOverviewTitle: 'Brand identity', brandOverviewSubtitle: 'The logo, colors, and fonts shoppers see on every page.', brandOverviewComplete: 'Your brand is fully set up.', brandLastModified: 'Last modified', brandFaviconUploaded: 'Favicon uploaded', brandColorsSelected: 'Brand colors selected', brandTypographyConfigured: 'Typography configured', brandSocialImageUploaded: 'Social share image uploaded', brandAccessibilityPassed: 'Text contrast looks good', brandColorsPreviewTitle: 'Marketplace colors', brandTypographyPreviewTitle: 'Typography', brandSocialPreviewTitle: 'How this looks when shared', brandTypeSampleHeading: 'Sample heading', brandTypeSampleBody: 'Sample body text the way shoppers will see it.', brandContrastWarning: 'This text is hard to read against the background - consider higher-contrast colors. This will not block publishing.', brandSocialEmpty: "No social share image yet - shared links will show a blank card until you add one.", brandAccentColor: 'Accent', brandBorderColor: 'Borders', homepageOverviewTitle: 'Homepage', homepageOverviewSubtitle: "What your marketplace's homepage is made of.", homepageOverviewComplete: 'Your homepage is fully set up.', homepageActiveSections: 'Active sections', homepageDisabledSections: 'Hidden sections', homepageHealthHero: 'Hero banner added', homepageHealthCategories: 'Featured categories added', homepageHealthProducts: 'Featured products added', homepageHealthPromotion: 'Promotion block added', homepageHealthNewsletter: 'Newsletter signup added', homepageHealthAnySections: 'The page has at least one section', widgetTypeHero: 'Hero banner', widgetTypeCategories: 'Featured categories', widgetTypeProducts: 'Featured products', widgetHidden: 'Hidden', widgetVisible: 'Show', widgetMoveUp: 'Move up', widgetMoveDown: 'Move down', widgetDuplicate: 'Duplicate', widgetRemove: 'Remove', widgetRemoveConfirm: 'Remove this section from the homepage?', widgetAdvancedSettings: 'Advanced settings', }, dashboard: { title: 'Dashboard', subtitle: 'Overview of your marketplace', cardMarketplaceStatus: 'Marketplace Status', cardProjectName: 'Project Name', cardCurrentTheme: 'Current Theme', cardLanguages: 'Languages', cardCategoriesCount: 'Categories', cardProductsCount: 'Products', cardOrders: 'Orders', cardRevenue: 'Revenue', cardLastPublish: 'Last Publish', cardLastDraftSave: 'Last Draft Save', cardBootstrapVersion: 'Bootstrap Version', cardActiveLayout: 'Active Layout', cardEnabledWidgets: 'Enabled Widgets', stateLoading: 'Loading...', stateEmpty: 'No data yet', stateError: 'Could not load this card', statePendingBackend: 'Awaiting backend integration', never: 'Never', quickActionsTitle: 'Quick Actions', actionEditProject: 'Marketplace Builder', actionCategories: 'Categories', actionProducts: 'Products', actionStaticPages: 'Static Pages', actionTransactions: 'Transactions', actionOrders: 'Orders', actionMediaLibrary: 'Media Library', actionUsers: 'Users & Permissions', actionMonitoring: 'Monitoring', actionAnalytics: 'Analytics', actionPreviewMarketplace: 'Preview Marketplace', activityTitle: 'Recent Activity', activityEmpty: 'No activity yet', activityDraftSaved: 'Draft saved', activityPublished: 'Published', healthTitle: 'System Health', healthAllClear: 'All checks passed', healthBootstrapValid: 'Bootstrap valid', healthConfigurationValid: 'Configuration valid', healthMissingTranslations: 'Missing translations', healthInvalidColors: 'Invalid colors', healthInvalidWidgetReferences: 'Invalid widget references', healthInvalidLayouts: 'Invalid layouts', comingSoonTitle: 'Coming soon', comingSoonDescription: 'This section is not built yet. Check back in a future update.', backToDashboard: 'Back to dashboard', welcomeEyebrow: 'Welcome back', welcomeFallbackTenant: 'Your marketplace', envProduction: 'Production', envDevelopment: 'Development', factCurrentUser: 'Current user', factTenant: 'Store', quickActionsDescription: 'Your most common tasks - start here', actionAddProduct: 'Add product', actionAddProductDescription: 'Create a new product listing', actionCreateCategory: 'Create category', actionCreateCategoryDescription: 'Add a category to the catalog', actionEditProjectDescription: 'Open the marketplace builder', actionEditHomepage: 'Edit homepage', actionEditHomepageDescription: 'Configure the homepage widgets', actionMediaLibraryDescription: 'Upload and organize files', actionOrdersDescription: 'Review recent orders', draftStatusTitle: 'Draft status', draftStatusHasChanges: 'There are unpublished changes waiting to go live.', draftStatusAllPublished: 'Everything published. No draft in progress.', draftStatusMoreFields: '+{{count}} more', draftOpenBuilder: 'Open builder', draftPublish: 'Publish', draftDiscard: 'Discard draft', healthProductsCount: 'Products', healthCategoriesCount: 'Categories', healthDraftExists: 'Draft', healthImagesWithoutAlt: 'Images missing alt text', healthStaticPagesUnpublished: 'Unpublished static pages', healthHomepageConfigured: 'Homepage configured', healthThemeConfigured: 'Theme configured', statusHealthy: 'Healthy', statusAttention: 'Needs attention', statusUnhealthy: 'Issue', statusUnknown: 'Not tracked yet', activityEmptyHint: 'Save or publish a change to see it appear here.', activityUnavailable: 'Activity history unavailable', activityUnavailableHint: "Couldn't reach the activity data source. Try refreshing later.", activityErrorHint: "Couldn't load recent activity.", shortcutsTitle: 'Useful shortcuts', shortcutsDescription: 'Frequently used destinations across the admin panel', shortcutMarketplaceBuilder: 'Marketplace Builder', shortcutSettings: 'Settings', shortcutContent: 'Content', docTitle: 'Documentation', docDocumentation: 'Documentation', docKeyboardShortcuts: 'Keyboard shortcuts', docReportIssue: 'Report an issue', docReleaseNotes: 'Release notes', }, staticPages: { notFound: 'Page not found', backHome: 'Back to home', duplicateSlug: 'Duplicate slugs are not allowed.', emptyTitle: 'Each page must have at least one title.', duplicateRoute: 'Two or more pages share the same route.', invalidHtml: 'This page has malformed HTML content.', invalidSeo: 'This page has an invalid SEO field (canonical/OG image URL or robots value).', searchPlaceholder: 'Search pages…', filterAll: 'All statuses', filterAllLocales: 'All languages', confirmDeletePage: 'Delete this page? This cannot be undone.', confirmBulkDelete: 'Delete the selected pages? This cannot be undone.', duplicatePage: 'Duplicate', selectAll: 'Select all', selectedCount: 'selected', bulkDelete: 'Delete selected', bulkEnable: 'Enable selected', bulkDisable: 'Disable selected', bulkPublishAction: 'Publish selected', bulkUnpublish: 'Unpublish selected', routeLabel: 'Route', enabledLabel: 'Enabled', statusLabel: 'Status', publishPageAction: 'Publish page', unpublishPageAction: 'Unpublish page', heroImageLabel: 'Hero image', thumbnailLabel: 'Thumbnail', galleryLabel: 'Gallery', customTemplateLabel: 'Custom template', seoRobotsLabel: 'Robots', disabledBadge: 'Disabled', previewDesktop: 'Desktop', previewTablet: 'Tablet', previewMobile: 'Mobile', previewToggle: 'Preview', }, contentManagement: { publishedPages: 'Published pages', draftPages: 'Draft pages', missingLegalPages: 'Missing legal pages', seoHealth: 'SEO health', lastEdited: 'Last edited', lastEditedNever: 'Never', completionLabel: 'Completion', recommendedNext: 'Recommended next step', recommendAddTitles: 'Some pages are missing a title in at least one language.', recommendFixSeo: 'A page has an SEO field that needs fixing (canonical/OG image URL or robots value).', recommendPublish: 'A required legal page is still a draft — publish it so customers can see it.', recommendNone: 'Nice work — your content is in good shape.', openAction: 'Open', backToPages: 'Back to pages', groupContent: 'Content', groupSeo: 'SEO', groupSharing: 'Sharing', groupAdvanced: 'Advanced', groupAdvancedHtml: 'Raw HTML (advanced)', seoExplainDesc: 'This is what shows up in search results — a clear title and description help customers find this page.', seoTitleHelp: 'The headline shown in search results. Keep it short and descriptive.', seoDescriptionHelp: 'A short summary shown under the title in search results.', seoCanonicalHelp: 'The official web address for this page, used to avoid duplicate-content issues.', seoRobotsHelp: 'Controls whether search engines are allowed to list this page.', sharingExplain: 'This is how the page looks when shared on social media (Facebook, Twitter/X, and others).', mediaSelect: 'Choose image', mediaReplace: 'Replace', mediaRemove: 'Remove', mediaAlt: 'Alt text', mediaCaption: 'Caption', emptyStateGuideTitle: 'Start building your storefront pages', emptyStateGuideBody: 'Legal pages like About, Privacy, and Terms build trust with customers. We recommend publishing About, Contacts, Privacy, and Terms first, then adding Cookies, Delivery, Returns, and FAQ.', seoStatusGood: 'SEO good', seoStatusPartial: 'SEO partial', seoStatusWarning: 'SEO issue', seoStatusMissing: 'SEO missing', needsAttention: 'Needs attention', legal: { about: { label: 'About', why: 'Tells customers who you are and builds trust before they buy.' }, contacts: { label: 'Contacts', why: 'Gives customers a way to reach you with questions or issues.' }, privacy: { label: 'Privacy', why: 'Explains how customer data is handled — often legally required.' }, terms: { label: 'Terms', why: 'Sets the rules for using your store — protects you and your customers.' }, cookies: { label: 'Cookies', why: 'Discloses cookie usage, required in many regions.' }, delivery: { label: 'Delivery', why: 'Sets clear shipping expectations and reduces support requests.' }, returns: { label: 'Returns', why: 'Explains your refund policy and builds purchase confidence.' }, faq: { label: 'FAQ', why: 'Answers common questions before customers have to ask.' }, }, }, widgets: { unavailable: 'Widget unavailable', }, carousel: { loading: 'Loading products...', addToCart: 'Add to cart', }, common: { retry: 'Try again', loading: 'Loading...', remove: 'Remove', }, location: { allRegions: 'All regions', chooseRegion: 'Choose region', detectAuto: 'Detect automatically', }, auth: { loginRequired: 'Login required', loginDescription: 'Please log in via Telegram to proceed with your order', checking: 'Checking...', loginWithTelegram: 'Log in with Telegram', orScanQr: 'Or scan the QR code', loginNote: 'You will be redirected back after login', qrExpired: 'QR code expired. Click to refresh', qrError: 'Could not create login session. Click to retry', }, ux: { items: 'items', wishlistTitle: 'Wishlist', wishlistEmptyTitle: 'Your wishlist is empty', wishlistEmptyDescription: 'Save products to revisit them anytime.', clearWishlist: 'Clear wishlist', wishlistCleared: 'Wishlist cleared', compareTitle: 'Compare Products', compareEmptyTitle: 'No products to compare', compareEmptyDescription: 'Add products from catalog cards to compare specs and prices.', clearCompare: 'Clear compare', hideIdentical: 'Hide identical values', highlightDifferences: 'Highlight differences', clearRecentlyViewed: 'Clear recently viewed', recentlyViewedEmpty: 'No recently viewed products yet.', saveSearch: 'Save search', goToCatalog: 'Go to catalog', wishlistAdded: 'Added to wishlist', wishlistRemoved: 'Removed from wishlist', compareAdded: 'Added to compare', compareRemoved: 'Removed from compare', compareLimitReached: 'Compare limit reached ({{maxItems}})', productShared: 'Product shared', productLinkCopied: 'Product link copied', sharingUnsupported: 'Sharing is not supported on this device', addedToCart: 'Added to cart', enterQueryBeforeSave: 'Enter a search query before saving', savedSearchNamed: 'Saved search: {{name}}', recentlyViewedTitle: 'Recently Viewed', compareAttribute: 'Attribute', comparePrice: 'Price', compareRating: 'Rating', compareStock: 'Stock', compareDiscount: 'Discount', compareColor: 'Color', compareSize: 'Size', compareUnknown: 'unknown', }, diagnostics: { title: 'Marketplace Diagnostics', disabledTitle: 'Diagnostics unavailable', disabledDescription: 'Diagnostics page is available only in development mode.', generatedAt: 'Generated at {{value}}', healthScore: 'Health score', summary: 'Summary', passedChecks: '{{count}} passed checks', warnings: '{{count}} warnings', errors: '{{count}} errors', critical: '{{count}} critical', healthChecks: 'Health checks', results: 'Detailed results', noIssues: 'No diagnostics issues found.', ok: 'OK', failed: 'Failed', affectedComponent: 'Affected component', suggestedResolution: 'Suggested resolution', severity: { info: 'Info', warning: 'Warning', error: 'Error', critical: 'Critical', }, checks: { bootstrapLoaded: 'Bootstrap loaded', tenantResolved: 'Tenant resolved', runtimeInitialized: 'Runtime initialized', themeLoaded: 'Theme loaded', widgetManifestLoaded: 'Widget manifest loaded', sectionEngineInitialized: 'Section engine reachable', configurationEngineInitialized: 'Configuration engine initialized', translationResourcesAvailable: 'Translations available', requiredAssetsAvailable: 'Required assets healthy', }, bootstrapMissingTitle: 'Bootstrap missing', bootstrapMissingDescription: 'Bootstrap configuration could not be loaded.', bootstrapMissingResolution: 'Verify bootstrap provider response and local mock availability.', requiredPropertyMissingTitle: 'Required property missing', requiredPropertyMissingDescription: 'Required bootstrap property is missing.', requiredPropertyMissingResolution: 'Add missing property to bootstrap payload.', unknownWidgetTypeTitle: 'Unknown widget type', unknownWidgetTypeDescription: 'Widget type is not present in widget manifest.', unknownWidgetTypeResolution: 'Register widget in manifest or remove invalid widget config.', duplicateIdTitle: 'Duplicate identifier', duplicatePageIdDescription: 'Duplicate page id detected.', duplicateSectionIdDescription: 'Duplicate section id detected.', duplicateWidgetIdDescription: 'Duplicate widget id detected.', duplicateIdResolution: 'Ensure ids are unique within bootstrap config.', unknownLayoutTitle: 'Unknown layout', unknownLayoutDescription: 'Page layout value is not recognized.', unknownLayoutResolution: 'Use supported layout or extend diagnostics allow-list.', invalidFeatureFlagTitle: 'Invalid feature flag', invalidFeatureFlagDescription: 'Feature flag value must be boolean.', invalidFeatureFlagResolution: 'Normalize feature flag values to true or false.', brokenPageDefinitionTitle: 'Broken page definition', brokenPageDefinitionDescription: 'Page definition is incomplete.', brokenPageDefinitionResolution: 'Add missing route, title, key, or sections.', invalidNavigationTargetTitle: 'Invalid navigation target', invalidNavigationTargetDescription: 'Navigation route does not match known routes.', invalidNavigationTargetResolution: 'Update route target or add matching route surface.', missingTranslationTitle: 'Missing translation', missingTranslationDescription: 'Translation key resolves to itself.', missingTranslationResolution: 'Add missing key to translation resources.', missingMediaTitle: 'Missing media', missingMediaDescription: 'Expected branding media is missing.', missingMediaResolution: 'Provide valid media URLs in bootstrap branding config.', runtimeNotInitializedTitle: 'Runtime not initialized', runtimeNotInitializedDescription: 'Platform runtime state has not been marked initialized.', runtimeNotInitializedResolution: 'Verify PlatformRuntimeService initialize sequence.', configFallbackUsageTitle: 'Configuration fallback in use', configFallbackUsageDescription: 'Development runtime is using fallback or mock configuration.', configFallbackUsageResolution: 'Switch provider mode if real bootstrap validation is needed.', missingDatasourceTitle: 'Missing datasource', missingDatasourceDescription: 'Widget supports datasource selection but none was declared.', missingDatasourceResolution: 'Define source in widget props or manifest default settings.', widgetRenderFailureTitle: 'Widget render failure', widgetRenderFailureDescription: 'Widget fell back to unknown widget renderer.', widgetRenderFailureResolution: 'Register widget component or fix manifest component key.', brokenRouteTitle: 'Broken route expectation', brokenRouteDescription: 'Expected route surface is missing.', brokenRouteResolution: 'Restore route registration or update diagnostics expectation.', imageLoadFailedTitle: 'Image load failed', imageLoadFailedDescription: 'Rendered image failed to load.', imageLoadFailedResolution: 'Verify asset path, CORS, and media availability.', optionalDataMissingTitle: 'Optional data missing', optionalDataMissingDescription: 'Optional configuration data is absent.', optionalDataMissingResolution: 'Add optional value if UX depends on it.', }, adminModeration: { search: 'Search by customer, product, or review text…', allStatuses: 'All statuses', allRatings: 'All ratings', rating: 'Rating', customer: 'Customer', product: 'Product', reviewText: 'Review', photos: 'Photos', workflow: 'Actions', approve: 'Approve', reject: 'Reject', markSpam: 'Mark as spam', hide: 'Hide', restore: 'Restore', pin: 'Pin', unpin: 'Unpin', feature: 'Feature', unfeature: 'Unfeature', featureDisabledHint: 'Only approved reviews can be featured.', moderatorNotes: 'Moderator notes', notAvailable: 'Not available yet', changeStatus: 'Change status', hideSelected: 'Hide', archiveSelected: 'Archive', reportsQueue: 'Reports queue', reportsColumn: 'Reports', reportTarget: 'Reported item', reportType: 'Type', reportReason: 'Reason', resolve: 'Resolve', dismiss: 'Dismiss', reportsEmptyTitle: 'No reports', reportsEmptyDescription: 'Customer reports about products, reviews, or accounts will show up here.', reportedCount: 'Reported', averageRating: 'Average rating', moderationHealth: 'Moderation health', emptyTitle: 'No reviews yet', emptyDescription: 'Reviews will appear here once customers start leaving feedback.', emptyGuide: 'Customers leave a star rating and text after purchase. New reviews start as Pending until a moderator approves, rejects, or marks them as spam — approved reviews become visible on the storefront. Aim to clear the pending queue regularly.', healthRating: 'Rating', healthText: 'Text', healthMedia: 'Media', healthModeration: 'Moderated', healthReportStatus: 'No open reports', healthVisibility: 'Visible', health: 'Health', column_product: 'Product', column_rating: 'Rating', column_status: 'Status', column_reports: 'Reports', column_created: 'Submitted', status: { pending: 'Pending', approved: 'Approved', rejected: 'Rejected', spam: 'Spam', }, targetType: { product: 'Product', review: 'Review', customer: 'Customer', category: 'Category', unknown: 'Unknown', }, reportStatus: { open: 'Open', resolved: 'Resolved', dismissed: 'Dismissed', }, }, adminOrders: { back: 'Back to orders', search: 'Search by order number, name, email, or phone…', export: 'Export', view: 'View', orderNumber: 'Order', customer: 'Customer', payment: 'Payment', delivery: 'Delivery', trackingNumber: 'Tracking number', createdAt: 'Placed', items: 'Items', timeline: 'Timeline', notes: 'Notes to customer', internalNotes: 'Internal notes', addNote: 'Add note', changeStatus: 'Change status', applyStatus: 'Apply', archiveSelected: 'Archive', printSelected: 'Print', printInvoice: 'Print invoice', requestRefund: 'Request refund', cancelOrder: 'Cancel order', confirmCancel: 'Cancel this order?', confirmRefund: 'Request a refund for this order?', emptyTitle: 'No orders yet', emptyDescription: 'Orders will show up here as customers check out.', column_customer: 'Customer', column_status: 'Status', column_payment: 'Payment', column_total: 'Total', column_created: 'Placed', status: { pending: 'Pending', processing: 'Packing', shipped: 'Shipping', delivered: 'Completed', cancelled: 'Cancelled', refunded: 'Refunded', }, paymentStatus: { unpaid: 'Unpaid', paid: 'Paid', refund_requested: 'Refund requested', refunded: 'Refunded', }, ordersToday: 'Orders today', paidCount: 'Paid', customersCount: 'Customers', returningCustomers: 'Returning customers', averageOrder: 'Average order', recentActivity: 'Recent activity', noRecentActivity: 'No activity yet.', alertStuckPending: 'orders have been pending for over 48 hours', alertRefundRequested: 'orders have a refund request waiting', }, adminCustomers: { search: 'Search by name, email, or phone…', name: 'Name', email: 'Email', phone: 'Phone', orderCount: 'Orders', lifetimeValue: 'Lifetime value', returning: 'Returning', profile: 'Profile', statistics: 'Statistics', firstOrder: 'First order', lastOrder: 'Last order', addresses: 'Addresses', notes: 'Notes', notesUnavailable: 'No customer-level notes yet — add a note on one of their orders instead.', orders: 'Orders', activity: 'Activity', emptyTitle: 'No customers yet', emptyDescription: 'Customers appear here once they place their first order.', }, mediaLibrary: { title: 'Media Library', upload: 'Upload', uploading: 'Uploading...', searchPlaceholder: 'Search files...', delete: 'Delete', deleteConfirmTitle: 'Delete file?', deleteConfirmBody: 'This cannot be undone.', cancel: 'Cancel', confirm: 'Delete', emptyTitle: 'No files yet', emptyDescription: 'Upload an image or document to get started.', allFolders: 'All folders', newFolder: 'New folder', editTags: 'Edit tags', totalAssets: 'Total assets', logos: 'Logos', unused: 'Unused', storageUsed: 'Storage used', altCoverage: 'Alt text coverage', allTypes: 'All types', typeImage: 'Images', typeSvg: 'SVG', typePdf: 'PDF', sortRecent: 'Recent', sortName: 'Name', sortSize: 'Size', viewMode: 'View', viewGrid: 'Grid', viewList: 'List', dropHint: 'Drag and drop images here, or use Upload above.', cancelUpload: 'Cancel', retry: 'Retry', errorTooLarge: 'That file is too large. Try a smaller file.', errorUnsupportedType: 'That file type is not supported. Use JPG, PNG, WebP, GIF, SVG, or PDF.', errorGeneric: 'Upload failed. Please try again.', selectedCount: 'selected', download: 'Download', exportMetadata: 'Export metadata', bulkDelete: 'Delete selected', bulkDeleteConfirm: 'Delete the selected files? This cannot be undone.', clearSelection: 'Clear selection', guideCopy: 'Reusing an existing asset avoids duplicate uploads and keeps your storage tidy. For best results upload images around 1200×1200px for hero/banner use and compress large photos before uploading.', missingAlt: 'Missing alt text', usageCount: 'uses', detailsTitle: 'Asset details', filename: 'Filename', format: 'Format', fileSize: 'File size', dimensions: 'Dimensions', uploadDate: 'Uploaded', lastUsed: 'Last used', usageCountLabel: 'Usage count', usedIn: 'Used in', notUsed: 'Not currently used anywhere.', unknownValue: 'Unknown', altText: 'Alt text', altTextHelp: 'Describes the image for screen readers and search engines.', decorative: 'Decorative (no alt text needed)', missingAltWarning: 'This image has no alt text and is not marked decorative — screen reader users won’t know what it shows.', caption: 'Caption', description: 'Description', usage: { brand: 'Logo', theme: 'Theme', header: 'Header', footer: 'Footer', staticPage: 'Static page', homepage: 'Homepage', catalog: 'Catalog', productPage: 'Product page', widget: 'Widget', company: 'Company info', seo: 'SEO', navigation: 'Navigation', other: 'Other', }, }, adminCategories: { chooseImage: 'Choose image', replaceImage: 'Replace image', search: 'Search categories…', showDeleted: 'Show deleted', create: 'Create category', edit: 'Edit category', title: 'Title', slug: 'URL slug', slugTaken: 'This slug is already used by another category.', parent: 'Parent category', noParent: 'No parent (top level)', icon: 'Icon', image: 'Image', imageHint: 'Shown in category listings and navigation.', description: 'Description', items: 'products', status: { draft: 'Draft', published: 'Published' }, restore: 'Restore', saveDraft: 'Save draft', publish: 'Publish', confirmDelete: 'Delete this category? This cannot be undone.', confirmLeaveUnsaved: 'You have unsaved changes. Leave without saving?', deleteBlocked: 'This category can\'t be deleted while it has subcategories or assigned products.', emptyTitle: 'No categories yet', emptyDescription: 'Create your first category to start organizing products.', emptyGuide: 'Categories help customers browse and find products. Start with a few broad top-level categories (e.g. Clothing, Electronics), then add subcategories as your catalog grows — avoid nesting more than 2-3 levels deep.', viewTree: 'Tree', viewCards: 'Cards', expandAll: 'Expand all', collapseAll: 'Collapse all', expandNode: 'Expand', collapseNode: 'Collapse', jumpToParent: 'Jump to parent', deletedBadge: 'Deleted', column_slug: 'Slug', column_items: 'Products', column_status: 'Status', column_visibility: 'Visibility', column_updated: 'Last updated', bulkAssignParent: 'Assign parent', bulkAssignImage: 'Assign image', groupGeneral: 'General', groupMedia: 'Media', groupSeo: 'SEO', groupVisibility: 'Visibility', groupNavigation: 'Navigation', groupAttributes: 'Attributes', groupAdvanced: 'Advanced', visibilityExplain: 'A hidden category and its products stay out of the storefront navigation and search until you make it visible again.', navBreadcrumb: 'Breadcrumb', navRoot: 'This is a top-level category.', navChildren: 'Subcategories', navNoChildren: 'No subcategories yet.', navAppearsIn: 'Where this appears', navAppearsVisible: 'Visible in catalog navigation and search.', navAppearsHidden: 'Hidden — not shown in catalog navigation while hidden.', itemsCountLabel: 'Assigned products', createdAtLabel: 'Created', healthImage: 'Image', healthSeo: 'SEO', healthDescription: 'Description', healthParent: 'Parent', healthVisibility: 'Visibility', healthProducts: 'Products assigned', totalCategories: 'Total categories', visibleCount: 'Visible', hiddenCount: 'Hidden', emptyCount: 'Empty', rootCount: 'Root categories', subCount: 'Subcategories', missingImagesCount: 'Missing images', missingSeoCount: 'Missing SEO', lastModified: 'Last modified', lastModifiedNever: 'Never', completionLabel: 'Completion', recommendedNext: 'Recommended next step', recommendAddImage: 'A category has no image — add one so it looks trustworthy in listings.', recommendAddSeo: 'A category is missing a search title or description — add one so it can be found.', recommendFillEmpty: 'A category has no products assigned — add products or consider hiding it.', recommendNone: 'Nice work — your category structure is in good shape.', }, adminProducts: { emptyTitle: 'No products found', emptyDescription: 'Try adjusting your filters, or create a new product.', emptyGuide: 'Good products have a clear title, at least one photo, a price, and a short description — that\'s enough to publish. You can always add more detail later.', search: 'Search products…', category: 'Category', allCategories: 'All categories', visibility: 'Visibility', allVisibility: 'All visibility', visible: 'Visible', hidden: 'Hidden', stockStatus: 'Stock status', allStock: 'All stock levels', inStock: 'In stock', lowStock: 'Low stock', outOfStock: 'Out of stock', sortTitle: 'Name', sortPrice: 'Price', sortPriority: 'Priority', sortStock: 'Stock', sortUpdated: 'Last updated', showArchived: 'Show archived', infiniteScroll: 'Infinite scroll', viewMode: 'View', viewTable: 'Table', viewGrid: 'Grid', density: 'Density', densityComfortable: 'Comfortable', densityCompact: 'Compact', columns: 'Columns', column_sku: 'SKU', column_brand: 'Brand', column_price: 'Price', column_stock: 'Stock', column_visibility: 'Visibility', column_updated: 'Last updated', create: 'Create product', edit: 'Edit product', duplicate: 'Duplicate', selectedCount: 'selected', bulkShow: 'Publish', bulkHide: 'Hide', bulkAssignCategory: 'Assign category', bulkAssignTags: 'Assign tags', bulkDuplicateAction: 'Duplicate', bulkExportAction: 'Export', bulkDelete: 'Delete', tagsPlaceholder: 'e.g. summer, sale', name: 'Name', brand: 'Brand', healthColumn: 'Health', actions: 'Actions', archive: 'Archive', delete: 'Delete', items: 'products', loadMore: 'Load more', noImage: 'No image', slug: 'URL slug', barcode: 'Barcode', priority: 'Priority', shortDescription: 'Short description', translations: 'Translations', primaryImage: 'Primary image', primaryImageHint: 'The main photo shown in listings and search results.', gallery: 'Gallery', galleryHint: 'Additional photos shown on the product page. Drag order with the arrows.', moveLeft: 'Move earlier', moveRight: 'Move later', videos: 'Videos (one URL per line)', discount: 'Discount %', currency: 'Currency', stockQuantity: 'Stock quantity', stockQuantityHint: 'How many units are available to sell right now.', availabilityStatus: 'Availability', availabilityStatusHint: 'What customers see: in stock, running low, or out of stock.', availabilityNote: 'Availability note', availabilityNoteHint: 'Optional extra detail shown to customers, e.g. "Ships in 3 days".', reservedNote: 'Reserved stock isn\'t tracked separately yet — quantity shown here is total available stock.', relatedProducts: 'Related products', specifications: 'Specifications', attributes: 'Attributes', addRow: 'Add row', removeRow: 'Remove', rowKey: 'Name', rowValue: 'Value', addVariant: 'Add variant', variantName: 'Variant name', variantsHint: 'Each variant is a purchasable option of this product, e.g. a size or color, with its own price and stock.', variants: 'Variants', archived: 'Archived', seoExplain: 'This is what shows up in search results — a clear title and description help customers find this product.', searchTitle: 'Search title', searchTitleHint: 'The headline shown in search results. Keep it short and descriptive.', searchDescription: 'Search description', searchDescriptionHint: 'A short summary shown under the title in search results.', seoMissingTitle: 'Add a search title so this product can be found.', seoMissingDescription: 'Add a search description to improve how this product appears in results.', keywords: 'Keywords', featured: 'Featured', recommended: 'Recommended', new: 'New', bestseller: 'Bestseller', badges: 'Badges (comma-separated)', htmlDescription: 'Detailed description', customer: 'Customer feedback', reviewsReadonly: 'Reviews', noReviews: 'No reviews yet.', questionsReadonly: 'Questions', noQuestions: 'No questions yet.', save: 'Save product', groupGeneral: 'General', groupMedia: 'Media', groupPricing: 'Pricing', groupInventory: 'Inventory', groupCategories: 'Categories', groupAttributes: 'Attributes', groupSeo: 'SEO', groupVisibility: 'Visibility', groupAdvanced: 'Advanced', healthImages: 'Images', healthSeo: 'SEO', healthPrice: 'Price', healthCategory: 'Category', healthDescription: 'Description', healthInventory: 'Inventory', totalProducts: 'Total products', publishedCount: 'Published', draftsCount: 'Drafts', outOfStockCount: 'Out of stock', hiddenCount: 'Hidden', missingImagesCount: 'Missing images', missingSeoCount: 'Missing SEO', lowQualityCount: 'Low-quality', recentlyEdited: 'Recently edited', recommendedNext: 'Recommended next step', openAction: 'Open', recommendAddImages: 'A product has no photos — add at least one image so it looks trustworthy.', recommendAddSeo: 'A product is missing a search title or description — add one so it can be found.', recommendRestock: 'A product is out of stock — restock it or mark it unavailable.', recommendNone: 'Nice work — your catalog is in good shape.', }, adminUsers: { emptyTitle: 'No users found', emptyDescription: 'Invite a teammate to get started.', invitationsEmptyTitle: 'No pending invitations', title: 'Team members', name: 'Name', email: 'Email', scope: 'Workspace', role: 'Role', roles: 'Roles', lastLogin: 'Last sign-in', sessions: 'Active sessions', currentSession: 'This session', invite: 'Invite member', sendInvite: 'Send invitation', revoke: 'Revoke', passwordlessHint: 'Team members sign in with Telegram - no passwords to manage.', confirmSuspend: 'Suspend this team member? They will lose access immediately.', scopeValue: { marketplace: 'Storefront', office: 'Back office', }, statusValue: { active: 'Active', invited: 'Invited', suspended: 'Suspended', }, invitationStatus: { pending: 'Pending', accepted: 'Accepted', expired: 'Expired', revoked: 'Revoked', }, }, adminTransactions: { search: 'Search transactions', type: 'Type', method: 'Payment method', fraud: 'Fraud check', flagged: 'Flagged', flag: 'Flag as suspicious', clearFlag: 'Clear flag', retry: 'Retry', audit: 'History', emptyTitle: 'No transactions found', emptyDescription: 'Try a different filter or search term.', status: { all: 'All statuses', pending: 'Pending', success: 'Successful', failed: 'Failed', retried: 'Retried', }, typeValue: { all: 'All types', payment: 'Payment', refund: 'Refund', qr_payment: 'QR payment', }, }, adminMonitoring: { eventsEmptyTitle: 'No events found', eventsEmptyDescription: 'Try a different category filter or search term.', health: 'Health checks', queues: 'Background queues', depth: 'Waiting', webhooks: 'Webhook deliveries', endpoint: 'Destination', event: 'Event', events: 'Activity log', category: 'Category', level: 'Severity', message: 'Description', categoryValue: { all: 'All categories', audit: 'Admin activity', security: 'Security', login: 'Sign-in', failed_login: 'Failed sign-in', api: 'API', error: 'Error', warning: 'Warning', }, queueStatus: { healthy: 'Running smoothly', degraded: 'Slowed down', down: 'Stopped', }, webhookStatus: { delivered: 'Delivered', failed: 'Failed', pending: 'Pending', }, levelValue: { info: 'Info', warning: 'Warning', error: 'Error', }, systemState: 'System state', backendConnectivity: 'Backend', connected: 'Connected', loading: 'Loading', draftState: 'Draft', unsavedChanges: 'Unsaved changes', noDraft: 'No draft', lastSaved: 'Last saved', lastPublished: 'Last published', syncStatus: 'Sync', }, adminAnalytics: { topProductsEmptyTitle: 'No product sales in this period', topProductsEmptyDescription: 'Try a wider date range.', topProducts: 'Top products', print: 'Print', tabsLabel: 'Analytics sections', tab: { overview: 'Overview', health: 'Health', products: 'Products', customers: 'Customers', search: 'Search', traffic: 'Traffic', recommendations: 'Recommendations', }, revenue: 'Revenue', orders: 'Orders', customers: 'Customers', avgOrderValue: 'Avg. Order Value', conversion: 'Conversion', completionPercent: 'Completion', unknown: 'Unknown', salesChart: 'Sales', quantitySold: 'Qty sold', lowStock: 'Low stock', lowStockEmptyTitle: 'No low-stock products', quantity: 'Quantity', status: 'Status', recentActivity: 'Recent activity', recentActivityEmptyTitle: 'No recent activity', activityDraftSaved: 'Draft saved', activityPublished: 'Published', warnings: 'Warnings', topViewed: 'Top viewed', hiddenProducts: 'Hidden products', archivedProducts: 'Archived products', mostReviewed: 'Most reviewed', worstRated: 'Worst rated', noReviewedProducts: 'No reviewed products yet', reviewCount: 'Reviews', avgRating: 'Avg. rating', newCustomers: 'New customers', returningCustomers: 'Returning customers', averageSpend: 'Average spend', retention: 'Retention', searchAnalytics: 'Search analytics', trafficAnalytics: 'Traffic', availableAfterBackend: 'Available after backend integration.', pendingBackend: 'Pending backend', pendingBackendHint: 'No search-query tracking exists yet.', funnelsHeatmaps: 'Funnels & heatmaps', visitors: 'Visitors', products: 'Products', categories: 'Categories', }, adminMarketplaceHealth: { title: 'Marketplace health', complete: 'complete', recommendationsTitle: 'Recommendations', recommendNone: 'Everything looks good.', checkImages: 'Products have images', checkSeo: 'Products have SEO metadata', checkCategories: 'Categories have products', checkReviews: 'Reviews are moderated', checkOrders: 'Orders are processed', checkTranslations: 'Translations are complete', checkHomepage: 'Homepage is configured', checkBackend: 'Backend connectivity', checkPerformance: 'Performance', recommendImages: 'Add images to products missing them', recommendImagesCount: 'Products without images hurt conversion.', recommendSeo: 'Add SEO metadata to products missing it', recommendSeoCount: 'Missing SEO titles/descriptions hurt search visibility.', recommendCategory: 'Assign a category to uncategorized products', recommendCategoryCount: 'Products without a category are harder to discover.', recommendEmptyCategories: 'Categories without products', recommendEmptyCategoriesCount: 'Consider merging or removing empty categories.', recommendHomepage: 'Homepage is incomplete', recommendStaticPages: 'Static pages are unpublished', severity: { info: 'Info', warning: 'Warning', critical: 'Critical', }, }, adminShell: { skipToContent: 'Skip to content', openSidebar: 'Open menu', closeSidebar: 'Close menu', collapseSidebar: 'Collapse menu', expandSidebar: 'Expand menu', nav: { dashboard: 'Dashboard', catalogGroup: 'Catalog', products: 'Products', categories: 'Categories', orders: 'Orders', customers: 'Customers', transactions: 'Transactions', moderation: 'Reviews & Moderation', reviews: 'Reviews', reports: 'Reports', content: 'Content', mediaLibrary: 'Media Library', marketplaceBuilder: 'Marketplace Builder', users: 'Users', settings: 'Settings', monitoring: 'Monitoring', analytics: 'Analytics', documentation: 'Documentation', help: 'Help', logout: 'Log out', comingSoonBadge: 'Soon', }, topbar: { searchLabel: 'Search the admin panel', searchPlaceholder: 'Search products, orders, pages...', notifications: 'Notifications', notificationsEmpty: 'No new notifications', account: 'Admin account', tenantSelector: 'Store', tenantSelectorComingSoon: 'Switching between stores is coming soon', quickPublish: 'Publish', quickPublishComingSoon: 'Quick publish is coming soon', }, breadcrumbHome: 'Admin', pages: { dashboard: { title: 'Dashboard', description: 'An overview of your marketplace' }, products: { title: 'Products', description: 'Manage product listings and their visibility' }, productCreate: { title: 'New product', description: 'Fill in the details to add a product to the catalog' }, productEdit: { title: 'Edit product', description: 'Change this product\'s details' }, productDuplicate: { title: 'Duplicate product', description: 'Create a new product based on an existing one' }, categories: { title: 'Categories', description: 'Build your catalog\'s category tree' }, categoryCreate: { title: 'New category', description: 'Add a category to the catalog tree' }, categoryEdit: { title: 'Edit category', description: 'Change this category\'s details' }, orders: { title: 'Orders', description: 'View and process customer orders' }, orderDetail: { title: 'Order', description: 'Order details and status' }, customers: { title: 'Customers', description: 'Everyone who has placed an order' }, customerDetail: { title: 'Customer', description: 'Customer profile, orders, and activity' }, moderation: { title: 'Reviews & Moderation', description: 'Review and moderate customer feedback' }, reviewDetail: { title: 'Review', description: 'Review details and moderation actions' }, reportsQueue: { title: 'Reports queue', description: 'Content reported by customers' }, transactions: { title: 'Transactions', description: 'Payments, refunds, and fraud review' }, media: { title: 'Media Library', description: 'Images and files for products and pages' }, users: { title: 'Users', description: 'Admin team members and permissions' }, monitoring: { title: 'Monitoring', description: 'Queue, webhook, and system event status' }, analytics: { title: 'Analytics', description: 'Sales, products, and shopper behavior' }, }, }, };