feat(project-editor): add field descriptions to General and Branding sections (partial)
Some checks failed
Architecture Governance / architecture (push) Has been cancelled

Adds a short plain-language description under each field label (new
.field-desc style, section.shared.scss) so a non-developer admin
understands what each field affects, per i18n (en/ru/hy) convention.

Only General and Branding sections are wired up so far - the *Desc i18n
keys for the remaining sections (theme/header/footer/homepage/widgets/
features/languages/navigation) were prepared in translations.ts/en/ru/hy
but not yet wired into their templates. Follow-up work.
This commit is contained in:
sdarbinyan
2026-07-14 16:05:09 +04:00
parent 76831b8485
commit ac83c4f57f
7 changed files with 422 additions and 0 deletions

View File

@@ -531,6 +531,107 @@ export const en: Translations = {
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.',
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.',
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.',
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).',
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.',
},
dashboard: {
title: 'Dashboard',