@rakun-kit/manager-react 1.5.10 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +349 -295
- package/dist/cjs/components/app-sidebar.js +10 -0
- package/dist/cjs/components/app-sidebar.js.map +1 -1
- package/dist/cjs/components/media/MediaLibrary.js +10 -1
- package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
- package/dist/cjs/components/media/contexts/MediaLibraryContext.js +1 -1
- package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js +68 -15
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/cjs/components/media/previews/Previews.js +89 -35
- package/dist/cjs/components/media/previews/Previews.js.map +1 -1
- package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +16 -9
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/cjs/components/media/previews/utils/mediaDownload.js +54 -0
- package/dist/cjs/components/media/previews/utils/mediaDownload.js.map +1 -0
- package/dist/cjs/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/cjs/components/rakun-logo.js +4 -9
- package/dist/cjs/components/rakun-logo.js.map +1 -1
- package/dist/cjs/components/ui/context-menu.js +1 -1
- package/dist/cjs/components/ui/context-menu.js.map +1 -1
- package/dist/cjs/i18n/catalog.js +346 -9
- package/dist/cjs/i18n/catalog.js.map +1 -1
- package/dist/cjs/lib/media.js +1 -0
- package/dist/cjs/lib/media.js.map +1 -1
- package/dist/cjs/media.js +45 -0
- package/dist/cjs/media.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +15 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +2 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +290 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +88 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +222 -232
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +25 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +10 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +135 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +10 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +113 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +22 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +10 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
- package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js +17 -0
- package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
- package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js +40 -26
- package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
- package/dist/cjs/router/dashboard/debugging/api-routes/test.js +6 -5
- package/dist/cjs/router/dashboard/debugging/api-routes/test.js.map +1 -1
- package/dist/cjs/router/dashboard/seo/index.js +6 -0
- package/dist/cjs/router/dashboard/seo/index.js.map +1 -0
- package/dist/cjs/router/dashboard/seo/screen.js +234 -0
- package/dist/cjs/router/dashboard/seo/screen.js.map +1 -0
- package/dist/cjs/router/dashboard/seo/site-analysis.js +159 -0
- package/dist/cjs/router/dashboard/seo/site-analysis.js.map +1 -0
- package/dist/cjs/router/shared/route-list.js +10 -2
- package/dist/cjs/router/shared/route-list.js.map +1 -1
- package/dist/docs/index.md +285 -194
- package/dist/esm/components/app-sidebar.d.ts.map +1 -1
- package/dist/esm/components/app-sidebar.js +11 -1
- package/dist/esm/components/app-sidebar.js.map +1 -1
- package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
- package/dist/esm/components/media/MediaLibrary.js +11 -2
- package/dist/esm/components/media/MediaLibrary.js.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.js +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.js +70 -17
- package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
- package/dist/esm/components/media/previews/Previews.js +90 -36
- package/dist/esm/components/media/previews/Previews.js.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +2 -0
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +4 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +17 -10
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/esm/components/media/previews/utils/mediaDownload.d.ts +13 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.d.ts.map +1 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.js +49 -0
- package/dist/esm/components/media/previews/utils/mediaDownload.js.map +1 -0
- package/dist/esm/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/esm/components/rakun-logo.d.ts +1 -5
- package/dist/esm/components/rakun-logo.d.ts.map +1 -1
- package/dist/esm/components/rakun-logo.js +1 -6
- package/dist/esm/components/rakun-logo.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +1 -1
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/i18n/catalog.d.ts +567 -9
- package/dist/esm/i18n/catalog.d.ts.map +1 -1
- package/dist/esm/i18n/catalog.js +330 -7
- package/dist/esm/i18n/catalog.js.map +1 -1
- package/dist/esm/lib/media.d.ts +8 -0
- package/dist/esm/lib/media.d.ts.map +1 -1
- package/dist/esm/lib/media.js +1 -0
- package/dist/esm/lib/media.js.map +1 -1
- package/dist/esm/media.d.ts +19 -1
- package/dist/esm/media.d.ts.map +1 -1
- package/dist/esm/media.js +44 -0
- package/dist/esm/media.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +18 -7
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +283 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts +10 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +83 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +6 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +221 -234
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +16 -19
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts +4 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +21 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +11 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts +4 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +130 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts +14 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +5 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts +23 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +103 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts +6 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +18 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts +2 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +43 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +10 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
- package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts +5 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts.map +1 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js +14 -0
- package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js +42 -28
- package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/test.d.ts.map +1 -1
- package/dist/esm/router/dashboard/debugging/api-routes/test.js +6 -5
- package/dist/esm/router/dashboard/debugging/api-routes/test.js.map +1 -1
- package/dist/esm/router/dashboard/seo/index.d.ts +2 -0
- package/dist/esm/router/dashboard/seo/index.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/index.js +2 -0
- package/dist/esm/router/dashboard/seo/index.js.map +1 -0
- package/dist/esm/router/dashboard/seo/screen.d.ts +6 -0
- package/dist/esm/router/dashboard/seo/screen.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/screen.js +227 -0
- package/dist/esm/router/dashboard/seo/screen.js.map +1 -0
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts +41 -0
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts.map +1 -0
- package/dist/esm/router/dashboard/seo/site-analysis.js +154 -0
- package/dist/esm/router/dashboard/seo/site-analysis.js.map +1 -0
- package/dist/esm/router/shared/route-definitions.d.ts +4 -2
- package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
- package/dist/esm/router/shared/route-list.d.ts +1 -1
- package/dist/esm/router/shared/route-list.d.ts.map +1 -1
- package/dist/esm/router/shared/route-list.js +8 -0
- package/dist/esm/router/shared/route-list.js.map +1 -1
- package/dist/esm/router/shared/types.d.ts +2 -0
- package/dist/esm/router/shared/types.d.ts.map +1 -1
- package/dist/styles.css +237 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/cjs/i18n/catalog.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.managerMessages = {
|
|
|
15
15
|
'navUser.theme.light': { defaultMessage: 'Light' },
|
|
16
16
|
'navUser.theme.dark': { defaultMessage: 'Dark' },
|
|
17
17
|
'sidebar.mediaLibrary': { defaultMessage: 'Media Library' },
|
|
18
|
+
'sidebar.seo': { defaultMessage: 'SEO' },
|
|
18
19
|
'sidebar.users': { defaultMessage: 'Users' },
|
|
19
20
|
'sidebar.apiRoutes': { defaultMessage: 'API Routes' },
|
|
20
21
|
'sidebar.debugging': { defaultMessage: 'Debugging' },
|
|
@@ -25,6 +26,104 @@ exports.managerMessages = {
|
|
|
25
26
|
'sidebar.contentTypes': { defaultMessage: 'Content types' },
|
|
26
27
|
'nav.dashboard': { defaultMessage: 'Dashboard' },
|
|
27
28
|
'nav.toggleSidebar': { defaultMessage: 'Toggle Sidebar' },
|
|
29
|
+
'seoAudit.title': { defaultMessage: 'SEO' },
|
|
30
|
+
'seoAudit.description': {
|
|
31
|
+
defaultMessage: 'Audit the published pages of the site and keep dated reports to track their evolution.',
|
|
32
|
+
},
|
|
33
|
+
'seoAudit.generate': { defaultMessage: 'Generate report' },
|
|
34
|
+
'seoAudit.regenerate': { defaultMessage: 'Generate new report' },
|
|
35
|
+
'seoAudit.generated': { defaultMessage: 'SEO report generated and saved.' },
|
|
36
|
+
'seoAudit.generateError': { defaultMessage: 'The SEO report could not be generated.' },
|
|
37
|
+
'contentEdit.seoAnalysisSaveError': {
|
|
38
|
+
defaultMessage: 'The SEO report was generated but could not be saved to the history.',
|
|
39
|
+
},
|
|
40
|
+
'contentEdit.seoHistoryTitle': { defaultMessage: 'Previous reports' },
|
|
41
|
+
'contentEdit.seoHistoryDescription': {
|
|
42
|
+
defaultMessage: 'Open a saved report to review how this page has evolved.',
|
|
43
|
+
},
|
|
44
|
+
'contentEdit.seoHistoryCurrent': { defaultMessage: 'Back to current report' },
|
|
45
|
+
'contentEdit.seoHistoryLoading': { defaultMessage: 'Loading previous reports…' },
|
|
46
|
+
'contentEdit.seoHistoryLoadError': {
|
|
47
|
+
defaultMessage: 'Previous SEO reports could not be loaded.',
|
|
48
|
+
},
|
|
49
|
+
'contentEdit.seoHistoryEmpty': {
|
|
50
|
+
defaultMessage: 'There are no saved reports for this page and language yet.',
|
|
51
|
+
},
|
|
52
|
+
'contentEdit.seoHistoryScore': {
|
|
53
|
+
defaultMessage: '{score}/100',
|
|
54
|
+
params: { score: 'number' },
|
|
55
|
+
},
|
|
56
|
+
'contentEdit.seoHistoryViewing': { defaultMessage: 'Viewing saved report' },
|
|
57
|
+
'contentEdit.seoHistorySnapshotTitle': { defaultMessage: 'Saved findings' },
|
|
58
|
+
'contentEdit.seoHistorySnapshotDescription': {
|
|
59
|
+
defaultMessage: 'This older snapshot contains the check results but predates full report storage.',
|
|
60
|
+
},
|
|
61
|
+
'seoAudit.scope': {
|
|
62
|
+
defaultMessage: '{count} routable content types are included in this audit.',
|
|
63
|
+
params: { count: 'number' },
|
|
64
|
+
},
|
|
65
|
+
'seoAudit.score': { defaultMessage: 'Score' },
|
|
66
|
+
'seoAudit.scoreValue': {
|
|
67
|
+
defaultMessage: '{score}/100',
|
|
68
|
+
params: { score: 'number' },
|
|
69
|
+
},
|
|
70
|
+
'seoAudit.documents': { defaultMessage: 'Published pages' },
|
|
71
|
+
'seoAudit.errors': { defaultMessage: 'Errors' },
|
|
72
|
+
'seoAudit.warnings': { defaultMessage: 'Warnings' },
|
|
73
|
+
'seoAudit.pagesTitle': { defaultMessage: 'Page results' },
|
|
74
|
+
'seoAudit.pagesDescription': {
|
|
75
|
+
defaultMessage: 'Open a page to see its findings and jump directly to the document.',
|
|
76
|
+
},
|
|
77
|
+
'seoAudit.issueCount': {
|
|
78
|
+
defaultMessage: '{count} findings',
|
|
79
|
+
params: { count: 'number' },
|
|
80
|
+
},
|
|
81
|
+
'seoAudit.noIssues': { defaultMessage: 'No metadata findings for this page.' },
|
|
82
|
+
'seoAudit.openDocument': { defaultMessage: 'Open document' },
|
|
83
|
+
'seoAudit.emptyTitle': { defaultMessage: 'No SEO reports yet' },
|
|
84
|
+
'seoAudit.emptyDescription': {
|
|
85
|
+
defaultMessage: 'Generate the first report to establish the site baseline.',
|
|
86
|
+
},
|
|
87
|
+
'seoAudit.historyTitle': { defaultMessage: 'Evolution' },
|
|
88
|
+
'seoAudit.historyDescription': {
|
|
89
|
+
defaultMessage: 'Every site audit is stored with its date so changes can be tracked over time.',
|
|
90
|
+
},
|
|
91
|
+
'seoAudit.historySummary': {
|
|
92
|
+
defaultMessage: '{documents} pages · {errors} errors · {warnings} warnings',
|
|
93
|
+
params: { documents: 'number', errors: 'number', warnings: 'number' },
|
|
94
|
+
},
|
|
95
|
+
'seoAudit.noHistory': { defaultMessage: 'There are no saved site audits.' },
|
|
96
|
+
'seoAudit.pageHistoryTitle': { defaultMessage: 'Recent page reports' },
|
|
97
|
+
'seoAudit.pageHistoryDescription': {
|
|
98
|
+
defaultMessage: 'Reports generated from the SEO tab of individual documents.',
|
|
99
|
+
},
|
|
100
|
+
'seoAudit.finding.missingTitle': { defaultMessage: 'The page has no SEO title.' },
|
|
101
|
+
'seoAudit.finding.titleLength': {
|
|
102
|
+
defaultMessage: 'The title is outside the recommended length.',
|
|
103
|
+
},
|
|
104
|
+
'seoAudit.finding.missingDescription': {
|
|
105
|
+
defaultMessage: 'The page has no meta description.',
|
|
106
|
+
},
|
|
107
|
+
'seoAudit.finding.defaultDescription': {
|
|
108
|
+
defaultMessage: 'The page uses the global default meta description.',
|
|
109
|
+
},
|
|
110
|
+
'seoAudit.finding.descriptionLength': {
|
|
111
|
+
defaultMessage: 'The description is outside the recommended length.',
|
|
112
|
+
},
|
|
113
|
+
'seoAudit.finding.noIndex': { defaultMessage: 'The page declares noindex.' },
|
|
114
|
+
'seoAudit.finding.missingCanonicalBase': {
|
|
115
|
+
defaultMessage: 'There is no canonical URL and the site URL is not configured.',
|
|
116
|
+
},
|
|
117
|
+
'seoAudit.finding.incompleteOpenGraph': {
|
|
118
|
+
defaultMessage: 'Custom Open Graph is missing: {fields}.',
|
|
119
|
+
params: { fields: 'string' },
|
|
120
|
+
},
|
|
121
|
+
'seoAudit.finding.duplicateTitle': {
|
|
122
|
+
defaultMessage: 'The SEO title is also used by another page.',
|
|
123
|
+
},
|
|
124
|
+
'seoAudit.finding.duplicateDescription': {
|
|
125
|
+
defaultMessage: 'The meta description is also used by another page.',
|
|
126
|
+
},
|
|
28
127
|
'login.brand': { defaultMessage: 'Rakun Manager' },
|
|
29
128
|
'login.welcome': { defaultMessage: 'Welcome to Rakun Manager' },
|
|
30
129
|
'login.email': { defaultMessage: 'Email' },
|
|
@@ -146,7 +245,7 @@ exports.managerMessages = {
|
|
|
146
245
|
'settings.redirects': { defaultMessage: 'Redirects' },
|
|
147
246
|
'settings.robots': { defaultMessage: 'Robots' },
|
|
148
247
|
'settings.seo': { defaultMessage: 'SEO' },
|
|
149
|
-
'settings.llms': { defaultMessage: '
|
|
248
|
+
'settings.llms': { defaultMessage: 'AI content' },
|
|
150
249
|
'settings.logs': { defaultMessage: 'Logs' },
|
|
151
250
|
'settings.logs.description': {
|
|
152
251
|
defaultMessage: 'Inspect persistent system events and narrow them by type, result, source, tags or date.',
|
|
@@ -221,6 +320,7 @@ exports.managerMessages = {
|
|
|
221
320
|
'common.deselect': { defaultMessage: 'Deselect' },
|
|
222
321
|
'common.move': { defaultMessage: 'Move' },
|
|
223
322
|
'common.upload': { defaultMessage: 'Upload' },
|
|
323
|
+
'common.download': { defaultMessage: 'Download' },
|
|
224
324
|
'mediaPicker.title': { defaultMessage: 'Media library' },
|
|
225
325
|
'mediaPicker.description': {
|
|
226
326
|
defaultMessage: 'Select existing media or upload new files.',
|
|
@@ -232,6 +332,21 @@ exports.managerMessages = {
|
|
|
232
332
|
'media.currentFolder': { defaultMessage: 'Current folder:' },
|
|
233
333
|
'media.baseFolder': { defaultMessage: 'Base folder' },
|
|
234
334
|
'media.cropAndRotate': { defaultMessage: 'Crop and rotate' },
|
|
335
|
+
'media.replaceImage': { defaultMessage: 'Replace image' },
|
|
336
|
+
'media.replaceImageTitle': { defaultMessage: 'Replace this image?' },
|
|
337
|
+
'media.replaceImageDescription': {
|
|
338
|
+
defaultMessage: 'Replace "{name}" with "{fileName}". Its title, alt text, folder and references across the site will be preserved.',
|
|
339
|
+
params: { name: 'string', fileName: 'string' },
|
|
340
|
+
},
|
|
341
|
+
'media.replaceImageConfirm': { defaultMessage: 'Replace image' },
|
|
342
|
+
'media.imageReplaced': { defaultMessage: 'Image replaced everywhere it is referenced' },
|
|
343
|
+
'media.replaceImageError': {
|
|
344
|
+
defaultMessage: 'Could not replace the image: {reason}',
|
|
345
|
+
params: { reason: 'string' },
|
|
346
|
+
},
|
|
347
|
+
'media.replaceImageInvalidFile': {
|
|
348
|
+
defaultMessage: 'Choose an image file to replace this image.',
|
|
349
|
+
},
|
|
235
350
|
'media.moveToFolder': { defaultMessage: 'Move to folder' },
|
|
236
351
|
'media.createFolder': { defaultMessage: 'Create folder' },
|
|
237
352
|
'media.createFolderDescription': {
|
|
@@ -252,6 +367,7 @@ exports.managerMessages = {
|
|
|
252
367
|
defaultMessage: 'This file type does not have inline preview.',
|
|
253
368
|
},
|
|
254
369
|
'media.openFile': { defaultMessage: 'Open file' },
|
|
370
|
+
'media.downloadError': { defaultMessage: 'Could not download the file.' },
|
|
255
371
|
'media.alt': { defaultMessage: 'Alt' },
|
|
256
372
|
'media.mime': { defaultMessage: 'MIME' },
|
|
257
373
|
'media.size': { defaultMessage: 'Size' },
|
|
@@ -328,6 +444,12 @@ exports.managerMessages = {
|
|
|
328
444
|
},
|
|
329
445
|
'media.format': { defaultMessage: 'Format' },
|
|
330
446
|
'media.selectFormat': { defaultMessage: 'Select format' },
|
|
447
|
+
'media.outputFormat': { defaultMessage: 'Output format' },
|
|
448
|
+
'media.outputFormats': { defaultMessage: 'Output formats' },
|
|
449
|
+
'media.videoOutputFormats': { defaultMessage: 'MP4 + WebM' },
|
|
450
|
+
'media.videoFormatsDescription': {
|
|
451
|
+
defaultMessage: 'Videos are converted to both formats for broad browser compatibility.',
|
|
452
|
+
},
|
|
331
453
|
'media.qualityRange': { defaultMessage: 'Quality (1-100)' },
|
|
332
454
|
'media.generatePreview': { defaultMessage: 'Generate preview' },
|
|
333
455
|
'media.generateResponsiveSizes': {
|
|
@@ -339,6 +461,9 @@ exports.managerMessages = {
|
|
|
339
461
|
'media.filterDocs': { defaultMessage: 'Docs' },
|
|
340
462
|
'media.typeSize': { defaultMessage: 'Type / Size' },
|
|
341
463
|
'media.date': { defaultMessage: 'Date' },
|
|
464
|
+
'media.listView': { defaultMessage: 'List view' },
|
|
465
|
+
'media.smallGridView': { defaultMessage: 'Small grid view' },
|
|
466
|
+
'media.largeGridView': { defaultMessage: 'Large grid view' },
|
|
342
467
|
'media.folderDeleted': { defaultMessage: 'Folder deleted successfully' },
|
|
343
468
|
'media.fileDeleted': { defaultMessage: 'File deleted successfully' },
|
|
344
469
|
'media.folderUpdated': { defaultMessage: 'Folder updated successfully' },
|
|
@@ -365,27 +490,30 @@ exports.managerMessages = {
|
|
|
365
490
|
'media.enableOptimizationToReimport': {
|
|
366
491
|
defaultMessage: 'Enable optimization to reimport',
|
|
367
492
|
},
|
|
368
|
-
'media.reimportTitle': { defaultMessage: 'Reimport
|
|
493
|
+
'media.reimportTitle': { defaultMessage: 'Reimport media?' },
|
|
369
494
|
'media.reimportDescription': {
|
|
370
495
|
defaultMessage: 'Reprocess {name} with the optimization settings currently selected in the media toolbar. Existing references and details will be preserved.',
|
|
371
496
|
},
|
|
372
497
|
'media.reimportConfirm': { defaultMessage: 'Reimport' },
|
|
373
|
-
'media.reimported': { defaultMessage: '
|
|
498
|
+
'media.reimported': { defaultMessage: 'Media reimported' },
|
|
374
499
|
'media.reimportError': {
|
|
375
|
-
defaultMessage: 'Could not reimport the
|
|
500
|
+
defaultMessage: 'Could not reimport the media: {reason}',
|
|
376
501
|
},
|
|
377
|
-
'media.bulkReimportTitle': { defaultMessage: 'Reimport selected
|
|
502
|
+
'media.bulkReimportTitle': { defaultMessage: 'Reimport selected media?' },
|
|
378
503
|
'media.bulkReimportDescription': {
|
|
379
|
-
defaultMessage: 'Reprocess {count} selected
|
|
504
|
+
defaultMessage: 'Reprocess {count} selected media items with the optimization settings currently selected in the media toolbar. Existing references and details will be preserved.',
|
|
380
505
|
params: { count: 'number' },
|
|
381
506
|
},
|
|
382
507
|
'media.bulkReimported': {
|
|
383
|
-
defaultMessage: 'Reimported {count} {count, plural, one {
|
|
508
|
+
defaultMessage: 'Reimported {count} media {count, plural, one {item} other {items}}',
|
|
384
509
|
params: { count: 'number' },
|
|
385
510
|
},
|
|
386
511
|
'media.bulkReimportNoImages': {
|
|
387
512
|
defaultMessage: 'Select at least one image to reimport',
|
|
388
513
|
},
|
|
514
|
+
'media.bulkReimportNoMedia': {
|
|
515
|
+
defaultMessage: 'Select at least one image or video to reimport',
|
|
516
|
+
},
|
|
389
517
|
'media.reimportSelectedCount': {
|
|
390
518
|
defaultMessage: 'Reimport',
|
|
391
519
|
params: { count: 'number' },
|
|
@@ -557,6 +685,17 @@ exports.managerMessages = {
|
|
|
557
685
|
'contentEdit.templateContentDescription': {
|
|
558
686
|
defaultMessage: 'Renders the modules from this document’s Content tab here.',
|
|
559
687
|
},
|
|
688
|
+
'structuredData.moduleTitle': { defaultMessage: 'Structured data (JSON-LD)' },
|
|
689
|
+
'structuredData.moduleDescription': {
|
|
690
|
+
defaultMessage: 'Adds non-visual schema.org data. Use Dynamic Data and templates to reuse it across documents.',
|
|
691
|
+
},
|
|
692
|
+
'structuredData.moduleCategory': { defaultMessage: 'SEO' },
|
|
693
|
+
'structuredData.customJsonDescription': {
|
|
694
|
+
defaultMessage: 'Advanced JSON-LD object or array. Invalid JSON is omitted from search output and reported by SEO analysis.',
|
|
695
|
+
},
|
|
696
|
+
'structuredData.schemaTypeHelp': {
|
|
697
|
+
defaultMessage: 'Choose the schema that describes the main entity on this page.\n\nProduct: a purchasable product, including offer and rating data.\nArticle: editorial content, news, guides, or blog posts.\nOrganization: the company or organization behind the site.\nWebSite: the website itself; this normally belongs in a global template.\nBreadcrumbList: the page hierarchy shown as breadcrumbs.\nCustom: an advanced schema.org object or graph not covered by the typed forms.',
|
|
698
|
+
},
|
|
560
699
|
'contentEdit.couldNotSaveTemplate': {
|
|
561
700
|
defaultMessage: 'Could not save the shared template',
|
|
562
701
|
},
|
|
@@ -595,6 +734,7 @@ exports.managerMessages = {
|
|
|
595
734
|
defaultMessage: 'Translate supported fields and save the document.',
|
|
596
735
|
},
|
|
597
736
|
'contentEdit.requiredField': { defaultMessage: 'Required field' },
|
|
737
|
+
'contentEdit.fieldHelp': { defaultMessage: 'Field help' },
|
|
598
738
|
'contentEdit.translatableField': { defaultMessage: 'Translatable field' },
|
|
599
739
|
'contentEdit.fallbackValue': { defaultMessage: 'Fallback value' },
|
|
600
740
|
'contentEdit.fixFixErrors': {
|
|
@@ -656,6 +796,153 @@ exports.managerMessages = {
|
|
|
656
796
|
'contentEdit.previewCouldNotLoad': {
|
|
657
797
|
defaultMessage: 'Preview could not be loaded',
|
|
658
798
|
},
|
|
799
|
+
'contentEdit.seoMetadataView': { defaultMessage: 'Metadata' },
|
|
800
|
+
'contentEdit.seoAnalysisView': { defaultMessage: 'Analysis' },
|
|
801
|
+
'contentEdit.seoAnalysisTitle': { defaultMessage: 'On-page SEO report' },
|
|
802
|
+
'contentEdit.seoAnalysisDescription': {
|
|
803
|
+
defaultMessage: 'Analyze the rendered preview with the latest unsaved changes.',
|
|
804
|
+
},
|
|
805
|
+
'contentEdit.seoGenerateReport': { defaultMessage: 'Generate report' },
|
|
806
|
+
'contentEdit.seoRegenerateReport': { defaultMessage: 'Regenerate report' },
|
|
807
|
+
'contentEdit.seoAnalysisUnavailable': {
|
|
808
|
+
defaultMessage: 'Configure preview for this route to enable SEO analysis.',
|
|
809
|
+
},
|
|
810
|
+
'contentEdit.seoAnalysisError': {
|
|
811
|
+
defaultMessage: 'The SEO report could not be generated.',
|
|
812
|
+
},
|
|
813
|
+
'contentEdit.seoAnalysisPreviewError': {
|
|
814
|
+
defaultMessage: 'The preview snapshot for the SEO report could not be created.',
|
|
815
|
+
},
|
|
816
|
+
'contentEdit.seoAnalysisTimeout': {
|
|
817
|
+
defaultMessage: 'The rendered preview did not answer in time. Check that the web preview uses a compatible Rakun adapter and can load without browser errors.',
|
|
818
|
+
},
|
|
819
|
+
'contentEdit.seoAnalysisInvalidResponse': {
|
|
820
|
+
defaultMessage: 'The rendered preview returned an invalid SEO report.',
|
|
821
|
+
},
|
|
822
|
+
'contentEdit.seoAnalysisFrameTitle': { defaultMessage: 'SEO analysis preview' },
|
|
823
|
+
'contentEdit.seoNoReportTitle': { defaultMessage: 'No report generated yet' },
|
|
824
|
+
'contentEdit.seoNoReportDescription': {
|
|
825
|
+
defaultMessage: 'Generate a report to inspect metadata, headings, images and search and social previews.',
|
|
826
|
+
},
|
|
827
|
+
'contentEdit.seoScoreTitle': { defaultMessage: 'SEO health score' },
|
|
828
|
+
'contentEdit.seoScoreDescription': {
|
|
829
|
+
defaultMessage: 'A practical guide based on the rendered page, not a search ranking guarantee.',
|
|
830
|
+
},
|
|
831
|
+
'contentEdit.seoStatusGood': { defaultMessage: 'Good' },
|
|
832
|
+
'contentEdit.seoStatusWarning': { defaultMessage: 'Improve' },
|
|
833
|
+
'contentEdit.seoStatusError': { defaultMessage: 'Problem' },
|
|
834
|
+
'contentEdit.seoCheckTitle': { defaultMessage: 'Page title' },
|
|
835
|
+
'contentEdit.seoTitleMissing': { defaultMessage: 'The rendered page has no title.' },
|
|
836
|
+
'contentEdit.seoTitleGood': {
|
|
837
|
+
defaultMessage: 'The title length is suitable ({count} characters).',
|
|
838
|
+
params: { count: 'number' },
|
|
839
|
+
},
|
|
840
|
+
'contentEdit.seoTitleImprove': {
|
|
841
|
+
defaultMessage: 'The title has {count} characters; aim for 30–60.',
|
|
842
|
+
params: { count: 'number' },
|
|
843
|
+
},
|
|
844
|
+
'contentEdit.seoCheckDescription': { defaultMessage: 'Meta description' },
|
|
845
|
+
'contentEdit.seoDescriptionMissing': {
|
|
846
|
+
defaultMessage: 'The rendered page has no meta description.',
|
|
847
|
+
},
|
|
848
|
+
'contentEdit.seoDescriptionGood': {
|
|
849
|
+
defaultMessage: 'The description length is suitable ({count} characters).',
|
|
850
|
+
params: { count: 'number' },
|
|
851
|
+
},
|
|
852
|
+
'contentEdit.seoDescriptionImprove': {
|
|
853
|
+
defaultMessage: 'The description has {count} characters; aim for 120–160.',
|
|
854
|
+
params: { count: 'number' },
|
|
855
|
+
},
|
|
856
|
+
'contentEdit.seoCheckH1': { defaultMessage: 'Primary heading' },
|
|
857
|
+
'contentEdit.seoH1Good': { defaultMessage: 'The page has exactly one H1.' },
|
|
858
|
+
'contentEdit.seoH1Missing': { defaultMessage: 'The page has no H1.' },
|
|
859
|
+
'contentEdit.seoH1Multiple': {
|
|
860
|
+
defaultMessage: 'The page has {count} H1 headings; use one clear primary heading.',
|
|
861
|
+
params: { count: 'number' },
|
|
862
|
+
},
|
|
863
|
+
'contentEdit.seoCheckHeadings': { defaultMessage: 'Heading hierarchy' },
|
|
864
|
+
'contentEdit.seoHeadingsGood': { defaultMessage: 'Heading levels follow a logical order.' },
|
|
865
|
+
'contentEdit.seoHeadingsMissing': { defaultMessage: 'The page has no headings.' },
|
|
866
|
+
'contentEdit.seoHeadingsSkipped': {
|
|
867
|
+
defaultMessage: '{count, plural, one {One heading skips a level} other {# headings skip a level}}.',
|
|
868
|
+
params: { count: 'number' },
|
|
869
|
+
},
|
|
870
|
+
'contentEdit.seoCheckImages': { defaultMessage: 'Image alt text' },
|
|
871
|
+
'contentEdit.seoImagesGood': {
|
|
872
|
+
defaultMessage: '{count, plural, =0 {The page has no images} one {The image has an alt attribute} other {All # images have alt attributes}}.',
|
|
873
|
+
params: { count: 'number' },
|
|
874
|
+
},
|
|
875
|
+
'contentEdit.seoImagesMissingAlt': {
|
|
876
|
+
defaultMessage: '{count, plural, one {One image has no alt attribute} other {# images have no alt attribute}}.',
|
|
877
|
+
params: { count: 'number' },
|
|
878
|
+
},
|
|
879
|
+
'contentEdit.seoCheckCanonical': { defaultMessage: 'Canonical URL' },
|
|
880
|
+
'contentEdit.seoCanonicalGood': { defaultMessage: 'The page declares a canonical URL.' },
|
|
881
|
+
'contentEdit.seoCanonicalMissing': { defaultMessage: 'The page has no canonical URL.' },
|
|
882
|
+
'contentEdit.seoCanonicalSiteUrlMissing': {
|
|
883
|
+
defaultMessage: 'The canonical URL cannot be generated until Site URL is configured in Settings → SEO.',
|
|
884
|
+
},
|
|
885
|
+
'contentEdit.seoCheckLanguage': { defaultMessage: 'Document language' },
|
|
886
|
+
'contentEdit.seoLanguageGood': {
|
|
887
|
+
defaultMessage: 'The document language is set to {language}.',
|
|
888
|
+
params: { language: 'string' },
|
|
889
|
+
},
|
|
890
|
+
'contentEdit.seoLanguageMissing': {
|
|
891
|
+
defaultMessage: 'The HTML document has no language attribute.',
|
|
892
|
+
},
|
|
893
|
+
'contentEdit.seoCheckIndexing': { defaultMessage: 'Indexing' },
|
|
894
|
+
'contentEdit.seoIndexingGood': { defaultMessage: 'The page does not declare noindex.' },
|
|
895
|
+
'contentEdit.seoIndexingBlocked': { defaultMessage: 'The page declares noindex.' },
|
|
896
|
+
'contentEdit.seoCheckSocial': { defaultMessage: 'Social metadata' },
|
|
897
|
+
'contentEdit.seoSocialGood': {
|
|
898
|
+
defaultMessage: 'Open Graph title, description and image are present.',
|
|
899
|
+
},
|
|
900
|
+
'contentEdit.seoSocialMissing': {
|
|
901
|
+
defaultMessage: 'Missing Open Graph fields: {fields}.',
|
|
902
|
+
params: { fields: 'string' },
|
|
903
|
+
},
|
|
904
|
+
'contentEdit.seoSocialFieldTitle': { defaultMessage: 'title' },
|
|
905
|
+
'contentEdit.seoSocialFieldDescription': { defaultMessage: 'description' },
|
|
906
|
+
'contentEdit.seoSocialFieldImage': { defaultMessage: 'image' },
|
|
907
|
+
'contentEdit.seoCheckStructuredData': { defaultMessage: 'Structured data' },
|
|
908
|
+
'contentEdit.seoStructuredDataTitle': { defaultMessage: 'JSON-LD schemas' },
|
|
909
|
+
'contentEdit.seoStructuredDataNone': {
|
|
910
|
+
defaultMessage: 'No JSON-LD structured data was found on this page.',
|
|
911
|
+
},
|
|
912
|
+
'contentEdit.seoStructuredDataGood': {
|
|
913
|
+
defaultMessage: '{count, plural, one {One valid JSON-LD block was found} other {# valid JSON-LD blocks were found}}.',
|
|
914
|
+
params: { count: 'number' },
|
|
915
|
+
},
|
|
916
|
+
'contentEdit.seoStructuredDataInvalid': {
|
|
917
|
+
defaultMessage: '{count, plural, one {One JSON-LD block needs attention} other {# JSON-LD blocks need attention}}.',
|
|
918
|
+
params: { count: 'number' },
|
|
919
|
+
},
|
|
920
|
+
'contentEdit.seoStructuredDataCount': {
|
|
921
|
+
defaultMessage: '{count, plural, =0 {No blocks found} one {# block found} other {# blocks found}}.',
|
|
922
|
+
params: { count: 'number' },
|
|
923
|
+
},
|
|
924
|
+
'contentEdit.seoStructuredDataValid': { defaultMessage: 'Valid' },
|
|
925
|
+
'contentEdit.seoStructuredDataNeedsAttention': { defaultMessage: 'Needs attention' },
|
|
926
|
+
'contentEdit.seoStructuredDataInvalidJson': { defaultMessage: 'The JSON is not valid.' },
|
|
927
|
+
'contentEdit.seoStructuredDataMissingContext': {
|
|
928
|
+
defaultMessage: 'The @context property is missing.',
|
|
929
|
+
},
|
|
930
|
+
'contentEdit.seoStructuredDataMissingType': {
|
|
931
|
+
defaultMessage: 'No @type property was found.',
|
|
932
|
+
},
|
|
933
|
+
'contentEdit.seoStructuredDataViewJson': { defaultMessage: 'View resolved JSON-LD' },
|
|
934
|
+
'contentEdit.seoGooglePreview': { defaultMessage: 'Google preview' },
|
|
935
|
+
'contentEdit.seoSocialPreview': { defaultMessage: 'Sharing preview' },
|
|
936
|
+
'contentEdit.seoHeadingOutline': { defaultMessage: 'Heading outline' },
|
|
937
|
+
'contentEdit.seoHeadingLevel': {
|
|
938
|
+
defaultMessage: 'H{level}',
|
|
939
|
+
params: { level: 'number' },
|
|
940
|
+
},
|
|
941
|
+
'contentEdit.seoHeadingCount': {
|
|
942
|
+
defaultMessage: '{count, plural, one {# heading found} other {# headings found}}.',
|
|
943
|
+
params: { count: 'number' },
|
|
944
|
+
},
|
|
945
|
+
'contentEdit.seoEmptyHeading': { defaultMessage: 'Empty heading' },
|
|
659
946
|
'contentEdit.versionRestored': {
|
|
660
947
|
defaultMessage: 'Version restored successfully',
|
|
661
948
|
},
|
|
@@ -743,6 +1030,22 @@ exports.managerMessages = {
|
|
|
743
1030
|
},
|
|
744
1031
|
'linkPicker.routeRequired': { defaultMessage: 'Choose a page type.' },
|
|
745
1032
|
'linkPicker.itemRequired': { defaultMessage: 'Choose an item.' },
|
|
1033
|
+
'linkPicker.publishedRequired': {
|
|
1034
|
+
defaultMessage: 'Only published pages are included in AI content.',
|
|
1035
|
+
},
|
|
1036
|
+
'menuField.addItem': { defaultMessage: 'Add menu item' },
|
|
1037
|
+
'menuField.empty': { defaultMessage: 'Add the first item to build this menu.' },
|
|
1038
|
+
'menuField.instructions': {
|
|
1039
|
+
defaultMessage: 'Drag vertically to reorder and horizontally to change nesting.',
|
|
1040
|
+
},
|
|
1041
|
+
'menuField.dragItem': { defaultMessage: 'Drag menu item' },
|
|
1042
|
+
'menuField.indentItem': { defaultMessage: 'Nest under previous item' },
|
|
1043
|
+
'menuField.outdentItem': { defaultMessage: 'Move up one level' },
|
|
1044
|
+
'menuField.removeItem': { defaultMessage: 'Remove item and its children' },
|
|
1045
|
+
'menuField.untitledItem': { defaultMessage: 'Untitled menu item' },
|
|
1046
|
+
'menuField.destinationRequired': {
|
|
1047
|
+
defaultMessage: 'Every menu item must have a destination.',
|
|
1048
|
+
},
|
|
746
1049
|
'contentEdit.addExisting': { defaultMessage: 'Add existing' },
|
|
747
1050
|
'contentEdit.addNew': { defaultMessage: 'Add new' },
|
|
748
1051
|
'contentEdit.createQuoted': {
|
|
@@ -750,6 +1053,26 @@ exports.managerMessages = {
|
|
|
750
1053
|
params: { query: 'string' },
|
|
751
1054
|
},
|
|
752
1055
|
'contentEdit.invalidNumber': { defaultMessage: 'Invalid number' },
|
|
1056
|
+
'contentEdit.itemsCount': {
|
|
1057
|
+
defaultMessage: '{count} items',
|
|
1058
|
+
params: { count: 'number' },
|
|
1059
|
+
},
|
|
1060
|
+
'contentEdit.minimumItems': {
|
|
1061
|
+
defaultMessage: 'Minimum {count}',
|
|
1062
|
+
params: { count: 'number' },
|
|
1063
|
+
},
|
|
1064
|
+
'contentEdit.maximumItems': {
|
|
1065
|
+
defaultMessage: 'Maximum {count}',
|
|
1066
|
+
params: { count: 'number' },
|
|
1067
|
+
},
|
|
1068
|
+
'contentEdit.minimumItemsError': {
|
|
1069
|
+
defaultMessage: 'Add at least {count} items',
|
|
1070
|
+
params: { count: 'number' },
|
|
1071
|
+
},
|
|
1072
|
+
'contentEdit.maximumItemsError': {
|
|
1073
|
+
defaultMessage: 'Add no more than {count} items',
|
|
1074
|
+
params: { count: 'number' },
|
|
1075
|
+
},
|
|
753
1076
|
'contentEdit.selectAnOption': { defaultMessage: 'Select an option' },
|
|
754
1077
|
'contentEdit.reorderMedia': { defaultMessage: 'Reorder media' },
|
|
755
1078
|
'contentEdit.reorderItem': { defaultMessage: 'Reorder item' },
|
|
@@ -868,6 +1191,14 @@ exports.managerMessages = {
|
|
|
868
1191
|
},
|
|
869
1192
|
'comments.title': { defaultMessage: 'Comments' },
|
|
870
1193
|
'comments.unread': { defaultMessage: 'Unread' },
|
|
1194
|
+
'comments.unreadMessages': {
|
|
1195
|
+
defaultMessage: '{count, plural, one {# unread message} other {# unread messages}}',
|
|
1196
|
+
params: { count: 'number' },
|
|
1197
|
+
},
|
|
1198
|
+
'comments.unreadMentions': {
|
|
1199
|
+
defaultMessage: '{count, plural, one {# unread mention} other {# unread mentions}}',
|
|
1200
|
+
params: { count: 'number' },
|
|
1201
|
+
},
|
|
871
1202
|
'comments.moreReactions': { defaultMessage: 'More reactions' },
|
|
872
1203
|
'comments.messages': { defaultMessage: 'Messages' },
|
|
873
1204
|
'comments.loading': { defaultMessage: 'Loading comments...' },
|
|
@@ -1018,6 +1349,10 @@ exports.managerMessages = {
|
|
|
1018
1349
|
'modules.noSavedFound': { defaultMessage: 'No saved modules found.' },
|
|
1019
1350
|
'modules.allModules': { defaultMessage: 'All modules' },
|
|
1020
1351
|
'modules.noModulesFound': { defaultMessage: 'No modules found.' },
|
|
1352
|
+
'modules.moreFields': {
|
|
1353
|
+
defaultMessage: '+{count, plural, one {# field} other {# fields}}',
|
|
1354
|
+
params: { count: 'number' },
|
|
1355
|
+
},
|
|
1021
1356
|
'modules.deleteSavedModule': { defaultMessage: 'Delete saved module' },
|
|
1022
1357
|
'modules.deleteSavedConfirm': {
|
|
1023
1358
|
defaultMessage: 'Permanently delete “{title}”? This cannot be undone.',
|
|
@@ -1504,10 +1839,12 @@ exports.managerMessages = {
|
|
|
1504
1839
|
'field.llmsDetails': { defaultMessage: 'Additional guidance' },
|
|
1505
1840
|
'field.llmsSections': { defaultMessage: 'Sections' },
|
|
1506
1841
|
'field.llmsSectionTitle': { defaultMessage: 'Section title' },
|
|
1507
|
-
'field.llmsOptional': { defaultMessage: '
|
|
1842
|
+
'field.llmsOptional': { defaultMessage: 'Secondary content' },
|
|
1843
|
+
'field.llmsOptionalDescription': {
|
|
1844
|
+
defaultMessage: 'AI tools may skip these links to save context.',
|
|
1845
|
+
},
|
|
1508
1846
|
'field.llmsEntries': { defaultMessage: 'Links' },
|
|
1509
1847
|
'field.llmsLink': { defaultMessage: 'Page or URL' },
|
|
1510
|
-
'field.llmsLinkTitle': { defaultMessage: 'Title override' },
|
|
1511
1848
|
'field.llmsLinkDescription': { defaultMessage: 'Description' },
|
|
1512
1849
|
'settings.system.createBackup': { defaultMessage: 'Create backup' },
|
|
1513
1850
|
'settings.system.backups': { defaultMessage: 'Backups' },
|