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": "Website-Validierung fehlgeschlagen",
"siteValidation.error.apply": "Anwenden der Validierung fehlgeschlagen",
"siteValidation.toast.applySuccess": "Validierung angewendet: {rendered} gerendert, {deleted} gelöscht",
"menuEditor.tabTitle": "Blog-Menü",
"menuEditor.title": "Blog-Menü-Editor",
"menuEditor.description": "Verwalte die zentrale Blog-Navigationsstruktur und speichere sie in meta/menu.opml.",
"menuEditor.loading": "Menü wird geladen...",
"menuEditor.loadError": "Blog-Menü konnte nicht geladen werden",
"menuEditor.save": "Menü speichern",
"menuEditor.saving": "Speichern...",
"menuEditor.saved": "Blog-Menü gespeichert",
"menuEditor.saveFailed": "Blog-Menü konnte nicht gespeichert werden",
"menuEditor.pagePicker.title": "Seite auswählen",
"menuEditor.pagePicker.searchPlaceholder": "Seiten nach Titel oder Slug durchsuchen...",
"menuEditor.pagePicker.loading": "Seiten werden geladen...",
"menuEditor.pagePicker.empty": "Keine passenden Seiten gefunden.",
"menuEditor.pagePicker.loadError": "Seiten konnten nicht geladen werden",
"menuEditor.addPage": "Seite hinzufügen",
"menuEditor.addSubmenu": "Untermenü hinzufügen",
"menuEditor.addChildPage": "Unterseite hinzufügen",
"menuEditor.addChildSubmenu": "Unter-Untermenü hinzufügen",
"menuEditor.moveUp": "Nach oben",
"menuEditor.moveDown": "Nach unten",
"menuEditor.indent": "Einrücken",
"menuEditor.unindent": "Ausrücken",
"menuEditor.delete": "Löschen",
"menuEditor.details": "Eintragsdetails",
"menuEditor.selectItem": "Wähle einen Eintrag, um Details zu bearbeiten.",
"menuEditor.field.title": "Titel",
"menuEditor.field.type": "Typ",
"menuEditor.field.pageSlug": "Seiten-Slug",
"menuEditor.field.pageId": "Seiten-ID",
"menuEditor.type.page": "Seite",
"menuEditor.type.submenu": "Untermenü",
"menuEditor.empty": "Noch keine Menüeinträge. Füge eine Seite oder ein Untermenü hinzu.",
"menuEditor.newPage": "Neue Seite",
"menuEditor.newSubmenu": "Neues Untermenü",
"settings.language.english": "Englisch",
"settings.language.german": "Deutsch",
"settings.language.french": "Französisch",

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

View File

@@ -41,6 +41,40 @@
"siteValidation.error.validate": "La validación del sitio falló",
"siteValidation.error.apply": "La aplicación de la validación falló",
"siteValidation.toast.applySuccess": "Validación aplicada: {rendered} renderizadas, {deleted} eliminadas",
"menuEditor.tabTitle": "Menú del blog",
"menuEditor.title": "Editor del menú del blog",
"menuEditor.description": "Gestiona la estructura central de navegación del blog y guárdala en meta/menu.opml.",
"menuEditor.loading": "Cargando menú...",
"menuEditor.loadError": "No se pudo cargar el menú del blog",
"menuEditor.save": "Guardar menú",
"menuEditor.saving": "Guardando...",
"menuEditor.saved": "Menú del blog guardado",
"menuEditor.saveFailed": "No se pudo guardar el menú del blog",
"menuEditor.pagePicker.title": "Seleccionar página",
"menuEditor.pagePicker.searchPlaceholder": "Buscar páginas por título o slug...",
"menuEditor.pagePicker.loading": "Cargando páginas...",
"menuEditor.pagePicker.empty": "No se encontraron páginas coincidentes.",
"menuEditor.pagePicker.loadError": "No se pudieron cargar las páginas",
"menuEditor.addPage": "Añadir página",
"menuEditor.addSubmenu": "Añadir submenú",
"menuEditor.addChildPage": "Añadir página hija",
"menuEditor.addChildSubmenu": "Añadir submenú hijo",
"menuEditor.moveUp": "Mover arriba",
"menuEditor.moveDown": "Mover abajo",
"menuEditor.indent": "Sangrar",
"menuEditor.unindent": "Quitar sangría",
"menuEditor.delete": "Eliminar",
"menuEditor.details": "Detalles de la entrada",
"menuEditor.selectItem": "Selecciona una entrada para editar sus detalles.",
"menuEditor.field.title": "Título",
"menuEditor.field.type": "Tipo",
"menuEditor.field.pageSlug": "Slug de página",
"menuEditor.field.pageId": "ID de página",
"menuEditor.type.page": "Página",
"menuEditor.type.submenu": "Submenú",
"menuEditor.empty": "Aún no hay entradas de menú. Añade una página o un submenú para empezar.",
"menuEditor.newPage": "Nueva página",
"menuEditor.newSubmenu": "Nuevo submenú",
"settings.language.english": "Inglés",
"settings.language.german": "Alemán",
"settings.language.french": "Francés",

View File

@@ -41,6 +41,40 @@
"siteValidation.error.validate": "Échec de la validation du site",
"siteValidation.error.apply": "Échec de lapplication de la validation",
"siteValidation.toast.applySuccess": "Validation appliquée : {rendered} rendues, {deleted} supprimées",
"menuEditor.tabTitle": "Menu du blog",
"menuEditor.title": "Éditeur du menu du blog",
"menuEditor.description": "Gérez la structure centrale de navigation du blog et enregistrez-la dans meta/menu.opml.",
"menuEditor.loading": "Chargement du menu...",
"menuEditor.loadError": "Impossible de charger le menu du blog",
"menuEditor.save": "Enregistrer le menu",
"menuEditor.saving": "Enregistrement...",
"menuEditor.saved": "Menu du blog enregistré",
"menuEditor.saveFailed": "Impossible denregistrer le menu du blog",
"menuEditor.pagePicker.title": "Sélectionner une page",
"menuEditor.pagePicker.searchPlaceholder": "Rechercher des pages par titre ou slug...",
"menuEditor.pagePicker.loading": "Chargement des pages...",
"menuEditor.pagePicker.empty": "Aucune page correspondante trouvée.",
"menuEditor.pagePicker.loadError": "Impossible de charger les pages",
"menuEditor.addPage": "Ajouter une page",
"menuEditor.addSubmenu": "Ajouter un sous-menu",
"menuEditor.addChildPage": "Ajouter une page enfant",
"menuEditor.addChildSubmenu": "Ajouter un sous-menu enfant",
"menuEditor.moveUp": "Monter",
"menuEditor.moveDown": "Descendre",
"menuEditor.indent": "Indenter",
"menuEditor.unindent": "Désindenter",
"menuEditor.delete": "Supprimer",
"menuEditor.details": "Détails de lentrée",
"menuEditor.selectItem": "Sélectionnez une entrée pour modifier ses détails.",
"menuEditor.field.title": "Titre",
"menuEditor.field.type": "Type",
"menuEditor.field.pageSlug": "Slug de page",
"menuEditor.field.pageId": "ID de page",
"menuEditor.type.page": "Page",
"menuEditor.type.submenu": "Sous-menu",
"menuEditor.empty": "Aucune entrée de menu. Ajoutez une page ou un sous-menu pour commencer.",
"menuEditor.newPage": "Nouvelle page",
"menuEditor.newSubmenu": "Nouveau sous-menu",
"settings.language.english": "Anglais",
"settings.language.german": "Allemand",
"settings.language.french": "Français",

View File

@@ -41,6 +41,40 @@
"siteValidation.error.validate": "Validazione del sito non riuscita",
"siteValidation.error.apply": "Applicazione della validazione non riuscita",
"siteValidation.toast.applySuccess": "Validazione applicata: {rendered} renderizzati, {deleted} eliminati",
"menuEditor.tabTitle": "Menu blog",
"menuEditor.title": "Editor del menu blog",
"menuEditor.description": "Gestisci la struttura centrale di navigazione del blog e salvala in meta/menu.opml.",
"menuEditor.loading": "Caricamento menu...",
"menuEditor.loadError": "Impossibile caricare il menu blog",
"menuEditor.save": "Salva menu",
"menuEditor.saving": "Salvataggio...",
"menuEditor.saved": "Menu blog salvato",
"menuEditor.saveFailed": "Impossibile salvare il menu blog",
"menuEditor.pagePicker.title": "Seleziona pagina",
"menuEditor.pagePicker.searchPlaceholder": "Cerca pagine per titolo o slug...",
"menuEditor.pagePicker.loading": "Caricamento pagine...",
"menuEditor.pagePicker.empty": "Nessuna pagina corrispondente trovata.",
"menuEditor.pagePicker.loadError": "Impossibile caricare le pagine",
"menuEditor.addPage": "Aggiungi pagina",
"menuEditor.addSubmenu": "Aggiungi sottomenu",
"menuEditor.addChildPage": "Aggiungi pagina figlia",
"menuEditor.addChildSubmenu": "Aggiungi sottomenu figlio",
"menuEditor.moveUp": "Sposta su",
"menuEditor.moveDown": "Sposta giù",
"menuEditor.indent": "Indenta",
"menuEditor.unindent": "Riduci rientro",
"menuEditor.delete": "Elimina",
"menuEditor.details": "Dettagli voce",
"menuEditor.selectItem": "Seleziona una voce per modificarne i dettagli.",
"menuEditor.field.title": "Titolo",
"menuEditor.field.type": "Tipo",
"menuEditor.field.pageSlug": "Slug pagina",
"menuEditor.field.pageId": "ID pagina",
"menuEditor.type.page": "Pagina",
"menuEditor.type.submenu": "Sottomenu",
"menuEditor.empty": "Nessuna voce menu. Aggiungi una pagina o un sottomenu per iniziare.",
"menuEditor.newPage": "Nuova pagina",
"menuEditor.newSubmenu": "Nuovo sottomenu",
"settings.language.english": "Inglese",
"settings.language.german": "Tedesco",
"settings.language.french": "Francese",