feat(builder): implement professional content management experience

Content dashboard with real published/draft/SEO-health/completion metrics and a recommended-next-action; static pages editor rebuilt as visual page cards (icon/status/SEO badge/last edited) with legal pages surfaced first; full-page editor grouped into Content/SEO/Sharing/Advanced tabs, raw HTML moved behind an Advanced disclosure; hero image now supports alt text and caption; content-health-widget is a reusable checklist+completion component.
This commit is contained in:
sdarbinyan
2026-07-18 11:02:26 +04:00
parent 04b36bab9b
commit b31c75214d
24 changed files with 1350 additions and 263 deletions

View File

@@ -937,6 +937,55 @@ export const ru: Translations = {
previewMobile: 'Телефон',
previewToggle: 'Превью',
},
contentManagement: {
publishedPages: 'Опубликованные страницы',
draftPages: 'Черновики',
missingLegalPages: 'Отсутствующие юридические страницы',
seoHealth: 'SEO-здоровье',
lastEdited: 'Последнее изменение',
lastEditedNever: 'Никогда',
completionLabel: 'Готовность',
recommendedNext: 'Рекомендуемый следующий шаг',
recommendAddTitles: 'У некоторых страниц отсутствует заголовок хотя бы на одном языке.',
recommendFixSeo: 'На одной из страниц есть SEO-поле, которое нужно исправить (canonical/OG-изображение или robots).',
recommendPublish: 'Обязательная юридическая страница всё ещё черновик — опубликуйте её.',
recommendNone: 'Отлично — контент в хорошем состоянии.',
openAction: 'Открыть',
backToPages: 'Назад к страницам',
groupContent: 'Контент',
groupSeo: 'SEO',
groupSharing: 'Публикация в соцсетях',
groupAdvanced: 'Дополнительно',
groupAdvancedHtml: 'Исходный HTML (дополнительно)',
seoExplainDesc: 'Это то, что видно в результатах поиска — понятный заголовок и описание помогают клиентам найти страницу.',
seoTitleHelp: 'Заголовок, отображаемый в результатах поиска. Делайте его коротким и понятным.',
seoDescriptionHelp: 'Краткое описание под заголовком в результатах поиска.',
seoCanonicalHelp: 'Официальный адрес страницы — помогает избежать дублирования контента.',
seoRobotsHelp: 'Определяет, могут ли поисковые системы показывать эту страницу.',
sharingExplain: 'Так страница выглядит при публикации в соцсетях (Facebook, Twitter/X и другие).',
mediaSelect: 'Выбрать изображение',
mediaReplace: 'Заменить',
mediaRemove: 'Удалить',
mediaAlt: 'Альтернативный текст',
mediaCaption: 'Подпись',
emptyStateGuideTitle: 'Начните создавать страницы магазина',
emptyStateGuideBody: 'Юридические страницы, такие как О нас, Конфиденциальность и Условия, повышают доверие клиентов. Рекомендуем сначала опубликовать О нас, Контакты, Конфиденциальность и Условия, затем добавить Cookies, Доставку, Возвраты и FAQ.',
seoStatusGood: 'SEO в порядке',
seoStatusPartial: 'SEO частично',
seoStatusWarning: 'Проблема SEO',
seoStatusMissing: 'SEO отсутствует',
needsAttention: 'Требует внимания',
legal: {
about: { label: 'О нас', why: 'Рассказывает клиентам, кто вы, и повышает доверие перед покупкой.' },
contacts: { label: 'Контакты', why: 'Даёт клиентам способ связаться с вами по вопросам.' },
privacy: { label: 'Конфиденциальность', why: 'Объясняет, как обрабатываются данные клиентов — часто обязательно по закону.' },
terms: { label: 'Условия', why: 'Устанавливает правила использования магазина — защищает вас и клиентов.' },
cookies: { label: 'Cookies', why: 'Раскрывает использование cookie — требуется во многих регионах.' },
delivery: { label: 'Доставка', why: 'Задаёт понятные ожидания по доставке и снижает число обращений в поддержку.' },
returns: { label: 'Возвраты', why: 'Объясняет политику возврата и повышает уверенность в покупке.' },
faq: { label: 'Вопросы и ответы', why: 'Отвечает на частые вопросы заранее.' },
},
},
widgets: {
unavailable: 'Виджет недоступен',
},