feat: first cut at menu editor

This commit is contained in:
2026-02-21 19:51:34 +01:00
parent f371dbd2b2
commit 76c3a8368e
37 changed files with 2148 additions and 4 deletions

View File

@@ -41,6 +41,40 @@
"siteValidation.error.validate": "Site validation failed",
"siteValidation.error.apply": "Applying validation failed",
"siteValidation.toast.applySuccess": "Validation applied: {rendered} rendered, {deleted} deleted",
"menuEditor.tabTitle": "Blog Menu",
"menuEditor.title": "Blog Menu Editor",
"menuEditor.description": "Manage the central blog navigation outline and save it to meta/menu.opml.",
"menuEditor.loading": "Loading menu...",
"menuEditor.loadError": "Failed to load blog menu",
"menuEditor.save": "Save Menu",
"menuEditor.saving": "Saving...",
"menuEditor.saved": "Blog menu saved",
"menuEditor.saveFailed": "Failed to save blog menu",
"menuEditor.pagePicker.title": "Select Page",
"menuEditor.pagePicker.searchPlaceholder": "Search pages by title or slug...",
"menuEditor.pagePicker.loading": "Loading pages...",
"menuEditor.pagePicker.empty": "No matching pages found.",
"menuEditor.pagePicker.loadError": "Failed to load pages",
"menuEditor.addPage": "Add Page",
"menuEditor.addSubmenu": "Add Submenu",
"menuEditor.addChildPage": "Add Child Page",
"menuEditor.addChildSubmenu": "Add Child Submenu",
"menuEditor.moveUp": "Move Up",
"menuEditor.moveDown": "Move Down",
"menuEditor.indent": "Indent",
"menuEditor.unindent": "Unindent",
"menuEditor.delete": "Delete",
"menuEditor.details": "Entry Details",
"menuEditor.selectItem": "Select an entry to edit details.",
"menuEditor.field.title": "Title",
"menuEditor.field.type": "Type",
"menuEditor.field.pageSlug": "Page Slug",
"menuEditor.field.pageId": "Page ID",
"menuEditor.type.page": "Page",
"menuEditor.type.submenu": "Submenu",
"menuEditor.empty": "No menu entries yet. Add a page or submenu to start.",
"menuEditor.newPage": "New Page",
"menuEditor.newSubmenu": "New Submenu",
"settings.language.english": "English",
"settings.language.german": "German",
"settings.language.french": "French",