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

@@ -4,18 +4,22 @@
<div class="editor-grid two">
<label>
<span>{{ 'builder.logo' | translate }}</span>
<small class="field-desc">{{ 'builder.logoDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.branding.logoUrl" (ngModelChange)="updateField('logoUrl', $event)" />
</label>
<label>
<span>{{ 'builder.smallLogo' | translate }}</span>
<small class="field-desc">{{ 'builder.smallLogoDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.branding.logoCompactUrl || ''" (ngModelChange)="updateField('logoCompactUrl', $event)" />
</label>
<label>
<span>{{ 'builder.favicon' | translate }}</span>
<small class="field-desc">{{ 'builder.faviconDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.branding.faviconUrl" (ngModelChange)="updateField('faviconUrl', $event)" />
</label>
<label>
<span>{{ 'builder.marketplaceTitle' | translate }}</span>
<small class="field-desc">{{ 'builder.marketplaceTitleDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.seo.default.title" (ngModelChange)="updateMarketplaceTitle($event)" />
</label>
</div>

View File

@@ -4,22 +4,27 @@
<div class="editor-grid two">
<label>
<span>{{ 'builder.marketplaceName' | translate }}</span>
<small class="field-desc">{{ 'builder.marketplaceNameDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.branding.brandName" (ngModelChange)="updateMarketplaceName($event)" />
</label>
<label>
<span>{{ 'builder.domain' | translate }}</span>
<small class="field-desc">{{ 'builder.domainDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.tenant.host" (ngModelChange)="updateDomain($event)" />
</label>
<label class="full">
<span>{{ 'builder.descriptionLabel' | translate }}</span>
<small class="field-desc">{{ 'builder.descriptionFieldDesc' | translate }}</small>
<textarea rows="3" [ngModel]="bootstrap.seo.default.description" (ngModelChange)="updateDescription($event)"></textarea>
</label>
<label>
<span>{{ 'builder.defaultLanguage' | translate }}</span>
<small class="field-desc">{{ 'builder.defaultLanguageDesc' | translate }}</small>
<input type="text" [ngModel]="bootstrap.localization.defaultLocale" (ngModelChange)="updateDefaultLanguage($event)" />
</label>
<label>
<span>{{ 'builder.supportedLanguages' | translate }}</span>
<small class="field-desc">{{ 'builder.supportedLanguagesDesc' | translate }}</small>
<input type="text" [ngModel]="languagesValue()" (ngModelChange)="updateSupportedLanguages($event)" />
</label>
</div>

View File

@@ -43,6 +43,15 @@ label.full {
grid-column: 1 / -1;
}
.field-desc {
display: block;
font-weight: 400;
font-size: 12px;
line-height: 1.4;
color: var(--text-secondary, #5f6e6a);
margin: -2px 0 2px;
}
input,
textarea,
select {

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',

View File

@@ -531,6 +531,107 @@ export const hy: Translations = {
resetSection: 'Զրոյացնել սեկցիան',
confirmResetDraft: 'Սա կչեղարկի բոլոր չհրապարակված փոփոխությունները և կվերականգնի վերջին հրապարակված կոնֆիգուրացիան։ Շարունակե՞լ։',
confirmResetSection: 'Սա կչեղարկի չհրապարակված փոփոխությունները միայն այս սեկցիայում։ Շարունակե՞լ։',
marketplaceNameDesc: 'Անվանումը, որը տեսնում են գնորդները կայքում և բրաուզերի ներդիրում։',
domainDesc: 'Դոմեյնը, որով գնորդները մուտք են գործում մարքեթփլեյս։ Փոփոխությունը DNS չի տեղափոխում։',
descriptionFieldDesc: 'Կարճ նկարագրություն որոնողական համակարգերի և սոց ցանցերի նախադիտումների համար։',
defaultLanguageDesc: 'Լեզուն, որը ցուցադրվում է, եթե գնորդը լեզվային նախապատվություն չունի պահված։',
supportedLanguagesDesc: 'Ստորակետով բաժանված լեզվային կոդեր, որոնց միջև կարող է անցնել գնորդը (օր․՝ en, ru, hy)։',
logoDesc: 'Ամբողջական լոգոյի պատկերի URL, ցուցադրվում է header-ում դեսքթոփի վրա։',
smallLogoDesc: 'Կոմպակտ լոգոյի URL՝ սահմանափակ տարածքի համար (օր․՝ mobile header)։',
faviconDesc: 'Բրաուզերի ներդիրի պատկերակի URL։ Պետք է լինի փոքր քառակուսի պատկեր։',
marketplaceTitleDesc: 'Էջի վերնագիրը որոնողական համակարգերի և բրաուզերի ներդիրների համար։',
primaryColorDesc: 'Բրենդի հիմնական գույնը՝ հիմնական կոճակների և ընդգծումների համար։ Պետք է վավեր hex գույն լինի։',
secondaryColorDesc: 'Բրենդի երկրորդական գույնը՝ երկրորդական տարրերի համար։ Պետք է վավեր hex գույն լինի։',
backgroundColorDesc: 'Էջի լռելյայն ֆոնի գույնը։ Պետք է վավեր hex գույն լինի։',
surfaceColorDesc: 'Քարտերի և բարձրացված մակերեսների ֆոնի գույնը։ Պետք է վավեր hex գույն լինի։',
textColorDesc: 'Հիմնական տեքստի գույնը։ Պետք է վավեր hex գույն լինի։',
successColorDesc: 'Հաջողության հաղորդագրությունների գույնը։ Պետք է վավեր hex գույն լինի։',
warningColorDesc: 'Զգուշացման հաղորդագրությունների գույնը։ Պետք է վավեր hex գույն լինի։',
dangerColorDesc: 'Սխալների և կործանարար գործողությունների գույնը։ Պետք է վավեր hex գույն լինի։',
themeModeLabel: 'Գունային ռեժիմ',
themeModeDesc: 'Որոշում է՝ կայքը ցուցադրվի բաց, մուգ, թե գնորդի սարքի նախապատվությամբ։',
themeModeLight: 'Բաց',
themeModeLightDesc: 'Միշտ օգտագործել բաց գունային սխեման։',
themeModeDark: 'Մուգ',
themeModeDarkDesc: 'Միշտ օգտագործել մուգ գունային սխեման։',
themeModeSystem: 'Համակարգային',
themeModeSystemDesc: 'Հետևել գնորդի սարքի/բրաուզերի գունային նախապատվությանը։',
siteLayoutLabel: 'Կայքի դասավորություն',
siteLayoutDesc: 'Ընդհանուր էջի դասավորության ռեժիմը կայքում։',
siteLayoutDefault: 'Լռելյայն',
siteLayoutDefaultDesc: 'Ստանդարտ դասավորություն վերևի նավիգացիայով։',
siteLayoutSidebarLeft: 'Կողային վահանակ (ձախ)',
siteLayoutSidebarLeftDesc: 'Ավելացնում է ձախ կողային վահանակ, սովորաբար կատեգորիաների նավիգացիայի համար։',
siteLayoutCarouselHome: 'Կարուսել գլխավոր էջում',
siteLayoutCarouselHomeDesc: 'Գլխավոր էջը սկսվում է լայնածավալ կարուսելով/hero-բլոկով։',
siteLayoutMinimal: 'Մինիմալ',
siteLayoutMinimalDesc: 'Պարզեցված տեսք՝ նվազագույն նավիգացիոն տարրերով։',
showLogoDesc: 'Ցույց տալ մարքեթփլեյսի լոգոն header-ում։',
showSearchDesc: 'Ցույց տալ որոնման դաշտը header-ում։',
showCategoriesDesc: 'Ցույց տալ կատեգորիաների մենյուի մուտքը header-ում։',
showLanguagesDesc: 'Ցույց տալ լեզվի փոխարկիչը header-ում։',
showCartDesc: 'Ցույց տալ զամբյուղի պատկերակը/հղումը header-ում։',
showProfileDesc: 'Ցույց տալ պրոֆիլի/հաշվի մուտքը header-ում։',
showWishlistDesc: 'Ցույց տալ ընտրյալների մուտքը header-ում։',
showCompareDesc: 'Ցույց տալ ապրանքների համեմատման մուտքը header-ում։',
showRegionDesc: 'Ցույց տալ տարածաշրջանի/երկրի ընտրիչը header-ում։',
companyNameDesc: 'Ընկերության իրավաբանական անվանումը՝ ցուցադրվում է footer-ում և ստատիկ էջերում։',
addressDesc: 'Ընկերության հասցեն՝ ցուցադրվում է footer-ում։',
phoneDesc: 'Կոնտակտային հեռախոսահամարը՝ ցուցադրվում է footer-ում։',
emailDesc: 'Կոնտակտային email-ը՝ ցուցադրվում է footer-ում։',
copyrightDesc: 'Copyright տողը՝ ցուցադրվում է յուրաքանչյուր էջի ներքևում։',
paymentIconsDesc: 'Մեկ վճարային icon մեկ տողում (պատկերի URL և պիտակ)՝ ցուցադրվում է footer-ում։',
socialLinksDesc: 'Մեկ սոցիալական հղում մեկ տողում (հարթակ և URL)՝ ցուցադրվում է footer-ում։',
staticPagesFieldDesc: 'Ստատիկ էջեր (մեր մասին, պայմաններ, գաղտնիության քաղաքականություն և այլն), որոնց հղում է անում footer-ը։',
sectionVisibleDesc: 'Արդյո՞ք գլխավոր էջի այս սեկցիան ցուցադրվում է գնորդներին։',
layoutStrategyLabel: 'Դասավորության ռազմավարություն',
layoutStrategyDesc: 'Ինչպես են դասավորվում վիջեթները այս սեկցիայի ներսում։',
layoutStrategyStack: 'Stack',
layoutStrategyStackDesc: 'Վիջեթները դասավորվում են ուղղահայաց՝ մեկը մյուսի տակ։',
layoutStrategyGrid: 'Grid',
layoutStrategyGridDesc: 'Վիջեթները դասավորվում են բազմասյուն ցանցում։',
layoutStrategyHero: 'Hero',
layoutStrategyHeroDesc: 'Մեկ մեծ, լայնածավալ գովազդային բլոկ։',
layoutStrategyCarousel: 'Carousel',
layoutStrategyCarouselDesc: 'Վիջեթները թերթվում են հորիզոնական կարուսելի տեսքով։',
layoutStrategySplit: 'Split',
layoutStrategySplitDesc: 'Բովանդակությունը բաժանվում է երկու կողք-կողքի հատվածների։',
sectionColumnsDesc: 'Սյուների քանակը, երբ դասավորության ռազմավարությունն աջակցում է դրանք։',
widgetLayoutDesc: 'Այս վիջեթի հասկացող դասավորության տարբերակի ազատ տեքստային անվանում (օր․՝ "full-bleed", "boxed")։',
widgetHeightDesc: 'Այս վիջեթի նախընտրելի բարձրությունը (օր․՝ "480px" կամ "60vh")։',
widgetOverlayDesc: 'Ցույց տալ մուգ overlay hero տեքստի հետևում՝ ընթեռնելիության համար։',
widgetAutoplayDesc: 'Ինքնաշխատ պտտել hero սլայդները առանց գնորդի մասնակցության։',
widgetColumnsDesc: 'Կատեգորիայի սալիկների քանակը մեկ շարքում։',
widgetCardsPerRowDesc: 'Ապրանքի քարտերի քանակը մեկ շարքում։',
widgetFiltersDesc: 'Ցույց տալ ֆիլտրերի կառավարման տարրերը ապրանքների հավաքածուի կողքին։',
widgetShowBadgesDesc: 'Ցույց տալ badge-եր, օրինակ՝ "Նոր" կամ "Զեղչ", ապրանքի քարտերի վրա։',
widgetShowRatingDesc: 'Ցույց տալ աստղանիշ վարկանիշը ապրանքի քարտերի վրա։',
widgetShowPriceDesc: 'Ցույց տալ գինը ապրանքի քարտերի վրա։',
widgetJsonDesc: 'Վիջեթի հատկությունները՝ հում JSON ձևաչափով։ Օգտագործվում է, երբ այս վիջեթի տեսակի համար հատուկ խմբագիր չկա։',
wishlistFeatureDesc: 'Թույլ տալ գնորդներին ապրանքներ պահել ընտրյալներում։',
compareFeatureDesc: 'Թույլ տալ գնորդներին համեմատել մի քանի ապրանք միաժամանակ։',
reviewsFeatureDesc: 'Թույլ տալ գնորդներին թողնել և կարդալ ապրանքի կարծիքներ։',
questionsFeatureDesc: 'Թույլ տալ գնորդներին հարցեր տալ և կարդալ ապրանքի պատասխանները։',
commentsFeatureDesc: 'Միացնել ընդհանուր մեկնաբանությունները մարքեթփլեյսի բովանդակության համար։',
recommendationsFeatureDesc: 'Ցույց տալ առաջարկվող ապրանքների բլոկներ ամբողջ կայքում։',
recentlyViewedFeatureDesc: 'Ցույց տալ գնորդներին "վերջին դիտվածներ" ապրանքների ցանկը։',
searchSuggestionsDesc: 'Ցույց տալ կենդանի որոնման առաջարկներ, մինչ գնորդը մուտքագրում է հարցումը։',
searchHistoryDesc: 'Հիշել և ցույց տալ գնորդի վերջին որոնումները։',
catalogNavigationModeLabel: 'Կատալոգի նավիգացիայի ռեժիմ',
catalogNavigationModeDesc: 'Ինչպես են գնորդները նավարկում կատեգորիաների միջև կատալոգում։',
catalogNavDefault: 'Լռելյայն',
catalogNavDefaultDesc: 'Ստանդարտ, breadcrumb-ի վրա հիմնված կատեգորիաների նավիգացիա։',
catalogNavLeftCategory: 'Ձախ կատեգորիաների նավիգացիա',
catalogNavLeftCategoryDesc: 'Մշտական կատեգորիաների ծառ ձախ կողային վահանակում։',
catalogNavMegaCategory: 'Մեգա կատեգորիաների դասավորություն',
catalogNavMegaCategoryDesc: 'Ընդարձակված dropdown ենթակատեգորիաներով և ընտրված ապրանքներով։',
catalogNavTopCarousel: 'Վերևի կատեգորիաների կարուսել',
catalogNavTopCarouselDesc: 'Հորիզոնական թերթվող կատեգորիաների chip-եր կատալոգի ցանցի վերևում։',
newLanguageDesc: 'ISO լեզվի կոդ՝ որպես աջակցվող լեզու ավելացնելու համար (օր․՝ de, fr)։',
languagesTabDesc: 'Գնորդներին հասանելի լեզուներ։ Լռելյայն լեզուն օգտագործվում է որպես պահուստային ամենուր։',
linkLabelDesc: 'Այս նավիգացիոն հղման համար ցուցադրվող տեքստը։',
linkUrlDesc: 'Ուղին կամ URL-ը, որին ուղղորդում է այս նավիգացիոն հղումը։',
linkVisibleDesc: 'Արդյո՞ք այս նավիգացիոն հղումը ցուցադրվում է գնորդներին։',
},
dashboard: {
title: 'Կառավարման վահանակ',

View File

@@ -531,6 +531,107 @@ export const ru: Translations = {
resetSection: 'Сбросить секцию',
confirmResetDraft: 'Это отменит все неопубликованные изменения и восстановит последнюю опубликованную конфигурацию. Продолжить?',
confirmResetSection: 'Это отменит неопубликованные изменения только в этой секции. Продолжить?',
marketplaceNameDesc: 'Название, которое видят покупатели на витрине и во вкладке браузера.',
domainDesc: 'Домен, по которому покупатели заходят на маркетплейс. Изменение поля не переносит DNS.',
descriptionFieldDesc: 'Краткое описание для поисковых систем и превью в соцсетях.',
defaultLanguageDesc: 'Язык, который показывается, если у покупателя нет сохранённого предпочтения.',
supportedLanguagesDesc: 'Коды языков через запятую, между которыми может переключаться покупатель (например, en, ru, hy).',
logoDesc: 'URL полного логотипа, отображается в шапке на десктопе.',
smallLogoDesc: 'URL компактного логотипа для ограниченного пространства (например, мобильная шапка).',
faviconDesc: 'URL иконки вкладки браузера. Должен быть небольшим квадратным изображением.',
marketplaceTitleDesc: 'Заголовок страницы для поисковых систем и вкладок браузера.',
primaryColorDesc: 'Основной цвет бренда для главных кнопок и акцентов. Должен быть корректным hex-цветом.',
secondaryColorDesc: 'Дополнительный цвет бренда для второстепенных элементов. Должен быть корректным hex-цветом.',
backgroundColorDesc: 'Цвет фона страницы по умолчанию. Должен быть корректным hex-цветом.',
surfaceColorDesc: 'Цвет фона карточек и приподнятых поверхностей. Должен быть корректным hex-цветом.',
textColorDesc: 'Цвет основного текста. Должен быть корректным hex-цветом.',
successColorDesc: 'Цвет для сообщений об успехе и положительных состояний. Должен быть корректным hex-цветом.',
warningColorDesc: 'Цвет для предупреждающих сообщений. Должен быть корректным hex-цветом.',
dangerColorDesc: 'Цвет для ошибок и разрушительных действий. Должен быть корректным hex-цветом.',
themeModeLabel: 'Цветовой режим',
themeModeDesc: 'Определяет, отображается ли витрина в светлой, тёмной теме или по системным настройкам покупателя.',
themeModeLight: 'Светлый',
themeModeLightDesc: 'Всегда использовать светлую тему.',
themeModeDark: 'Тёмный',
themeModeDarkDesc: 'Всегда использовать тёмную тему.',
themeModeSystem: 'Системный',
themeModeSystemDesc: 'Использовать системные/браузерные настройки цветовой темы устройства покупателя.',
siteLayoutLabel: 'Макет сайта',
siteLayoutDesc: 'Общий режим оформления страниц на витрине.',
siteLayoutDefault: 'По умолчанию',
siteLayoutDefaultDesc: 'Стандартный макет с верхней навигацией.',
siteLayoutSidebarLeft: 'Боковая панель (слева)',
siteLayoutSidebarLeftDesc: 'Добавляет левую боковую панель, обычно для навигации по категориям.',
siteLayoutCarouselHome: 'Карусель на главной',
siteLayoutCarouselHomeDesc: 'Главная страница начинается с полноширинной карусели/hero-блока.',
siteLayoutMinimal: 'Минимальный',
siteLayoutMinimalDesc: 'Упрощённое оформление с минимумом элементов навигации.',
showLogoDesc: 'Показывать логотип маркетплейса в шапке.',
showSearchDesc: 'Показывать строку поиска в шапке.',
showCategoriesDesc: 'Показывать вход в меню категорий в шапке.',
showLanguagesDesc: 'Показывать переключатель языка в шапке.',
showCartDesc: 'Показывать иконку/ссылку корзины в шапке.',
showProfileDesc: 'Показывать вход в профиль/аккаунт в шапке.',
showWishlistDesc: 'Показывать вход в избранное в шапке.',
showCompareDesc: 'Показывать вход в сравнение товаров в шапке.',
showRegionDesc: 'Показывать выбор региона/страны в шапке.',
companyNameDesc: 'Юридическое название компании, показывается в футере и на статических страницах.',
addressDesc: 'Юридический/фактический адрес компании, показывается в футере.',
phoneDesc: 'Контактный телефон, показывается в футере.',
emailDesc: 'Контактный email, показывается в футере.',
copyrightDesc: 'Строка копирайта внизу каждой страницы.',
paymentIconsDesc: 'По одной иконке оплаты на строку (URL изображения и подпись), показываются в футере.',
socialLinksDesc: 'По одной социальной ссылке на строку (платформа и URL), показываются в футере.',
staticPagesFieldDesc: 'Статические страницы (о компании, условия, политика и т.д.), на которые ссылается футер.',
sectionVisibleDesc: 'Показывать ли эту секцию главной страницы покупателям.',
layoutStrategyLabel: 'Стратегия раскладки',
layoutStrategyDesc: 'Как располагаются виджеты внутри этой секции.',
layoutStrategyStack: 'Стопка',
layoutStrategyStackDesc: 'Виджеты располагаются друг под другом вертикально.',
layoutStrategyGrid: 'Сетка',
layoutStrategyGridDesc: 'Виджеты располагаются в многоколоночной сетке.',
layoutStrategyHero: 'Hero',
layoutStrategyHeroDesc: 'Один крупный полноширинный промо-блок.',
layoutStrategyCarousel: 'Карусель',
layoutStrategyCarouselDesc: 'Виджеты прокручиваются горизонтально как карусель.',
layoutStrategySplit: 'Разделение',
layoutStrategySplitDesc: 'Контент делится на две колонки рядом друг с другом.',
sectionColumnsDesc: 'Количество колонок, если стратегия раскладки их поддерживает.',
widgetLayoutDesc: 'Название варианта раскладки в свободной форме, понятное этому виджету (например, "full-bleed", "boxed").',
widgetHeightDesc: 'Предпочтительная высота виджета (например, "480px" или "60vh").',
widgetOverlayDesc: 'Показывать тёмную подложку под текстом hero для читаемости.',
widgetAutoplayDesc: 'Автоматически прокручивать слайды hero без участия покупателя.',
widgetColumnsDesc: 'Количество плиток категорий в ряду.',
widgetCardsPerRowDesc: 'Количество карточек товаров в ряду.',
widgetFiltersDesc: 'Показывать элементы управления фильтрами рядом с подборкой товаров.',
widgetShowBadgesDesc: 'Показывать бейджи, например "Новинка" или "Скидка", на карточках товаров.',
widgetShowRatingDesc: 'Показывать рейтинг звёздами на карточках товаров.',
widgetShowPriceDesc: 'Показывать цену на карточках товаров.',
widgetJsonDesc: 'Сырые свойства виджета в формате JSON. Используется, если для этого типа виджета нет отдельного редактора.',
wishlistFeatureDesc: 'Разрешить покупателям сохранять товары в избранное.',
compareFeatureDesc: 'Разрешить покупателям сравнивать несколько товаров одновременно.',
reviewsFeatureDesc: 'Разрешить покупателям оставлять и читать отзывы о товарах.',
questionsFeatureDesc: 'Разрешить покупателям задавать вопросы о товарах и читать ответы.',
commentsFeatureDesc: 'Включить общие комментарии к контенту маркетплейса.',
recommendationsFeatureDesc: 'Показывать блоки рекомендованных товаров на витрине.',
recentlyViewedFeatureDesc: 'Показывать покупателям список "недавно просмотренные".',
searchSuggestionsDesc: 'Показывать живые подсказки поиска по мере ввода запроса.',
searchHistoryDesc: 'Запоминать и показывать недавние поисковые запросы покупателя.',
catalogNavigationModeLabel: 'Режим навигации каталога',
catalogNavigationModeDesc: 'Как покупатели перемещаются по категориям в каталоге.',
catalogNavDefault: 'По умолчанию',
catalogNavDefaultDesc: 'Стандартная навигация по категориям через хлебные крошки.',
catalogNavLeftCategory: 'Левая навигация по категориям',
catalogNavLeftCategoryDesc: 'Постоянное дерево категорий в левой боковой панели.',
catalogNavMegaCategory: 'Мега-меню категорий',
catalogNavMegaCategoryDesc: 'Развёрнутый выпадающий список с подкатегориями и избранными товарами.',
catalogNavTopCarousel: 'Карусель категорий сверху',
catalogNavTopCarouselDesc: 'Горизонтально прокручиваемые чипы категорий над сеткой каталога.',
newLanguageDesc: 'Код языка ISO для добавления в поддерживаемые языки витрины (например, de, fr).',
languagesTabDesc: 'Языки, доступные покупателям. Язык по умолчанию используется как резервный везде.',
linkLabelDesc: 'Текст, отображаемый для этой ссылки навигации.',
linkUrlDesc: 'Путь или URL, на который ведёт эта ссылка навигации.',
linkVisibleDesc: 'Показывать ли эту ссылку навигации покупателям.',
},
dashboard: {
title: 'Панель управления',

View File

@@ -529,6 +529,107 @@ export interface Translations {
resetSection: string;
confirmResetDraft: string;
confirmResetSection: string;
marketplaceNameDesc: string;
domainDesc: string;
descriptionFieldDesc: string;
defaultLanguageDesc: string;
supportedLanguagesDesc: string;
logoDesc: string;
smallLogoDesc: string;
faviconDesc: string;
marketplaceTitleDesc: string;
primaryColorDesc: string;
secondaryColorDesc: string;
backgroundColorDesc: string;
surfaceColorDesc: string;
textColorDesc: string;
successColorDesc: string;
warningColorDesc: string;
dangerColorDesc: string;
themeModeLabel: string;
themeModeDesc: string;
themeModeLight: string;
themeModeLightDesc: string;
themeModeDark: string;
themeModeDarkDesc: string;
themeModeSystem: string;
themeModeSystemDesc: string;
siteLayoutLabel: string;
siteLayoutDesc: string;
siteLayoutDefault: string;
siteLayoutDefaultDesc: string;
siteLayoutSidebarLeft: string;
siteLayoutSidebarLeftDesc: string;
siteLayoutCarouselHome: string;
siteLayoutCarouselHomeDesc: string;
siteLayoutMinimal: string;
siteLayoutMinimalDesc: string;
showLogoDesc: string;
showSearchDesc: string;
showCategoriesDesc: string;
showLanguagesDesc: string;
showCartDesc: string;
showProfileDesc: string;
showWishlistDesc: string;
showCompareDesc: string;
showRegionDesc: string;
companyNameDesc: string;
addressDesc: string;
phoneDesc: string;
emailDesc: string;
copyrightDesc: string;
paymentIconsDesc: string;
socialLinksDesc: string;
staticPagesFieldDesc: string;
sectionVisibleDesc: string;
layoutStrategyLabel: string;
layoutStrategyDesc: string;
layoutStrategyStack: string;
layoutStrategyStackDesc: string;
layoutStrategyGrid: string;
layoutStrategyGridDesc: string;
layoutStrategyHero: string;
layoutStrategyHeroDesc: string;
layoutStrategyCarousel: string;
layoutStrategyCarouselDesc: string;
layoutStrategySplit: string;
layoutStrategySplitDesc: string;
sectionColumnsDesc: string;
widgetLayoutDesc: string;
widgetHeightDesc: string;
widgetOverlayDesc: string;
widgetAutoplayDesc: string;
widgetColumnsDesc: string;
widgetCardsPerRowDesc: string;
widgetFiltersDesc: string;
widgetShowBadgesDesc: string;
widgetShowRatingDesc: string;
widgetShowPriceDesc: string;
widgetJsonDesc: string;
wishlistFeatureDesc: string;
compareFeatureDesc: string;
reviewsFeatureDesc: string;
questionsFeatureDesc: string;
commentsFeatureDesc: string;
recommendationsFeatureDesc: string;
recentlyViewedFeatureDesc: string;
searchSuggestionsDesc: string;
searchHistoryDesc: string;
catalogNavigationModeLabel: string;
catalogNavigationModeDesc: string;
catalogNavDefault: string;
catalogNavDefaultDesc: string;
catalogNavLeftCategory: string;
catalogNavLeftCategoryDesc: string;
catalogNavMegaCategory: string;
catalogNavMegaCategoryDesc: string;
catalogNavTopCarousel: string;
catalogNavTopCarouselDesc: string;
newLanguageDesc: string;
languagesTabDesc: string;
linkLabelDesc: string;
linkUrlDesc: string;
linkVisibleDesc: string;
};
dashboard: {
title: string;