- evo_megamenu_json: new entry layout "pagetree" - the panel columns mirror the live subtree of the page the entry links to (one child per column, grandchildren as items, getMenu() restrictions apply), so the menu can never age against the page structure again. The stale 9-market panel after the markets realign was the trigger. Curated columns are ignored on this layout; teasers and the featured slot stay editorial. Same columns shape in the payload - front ends need no change beyond knowing the new layout string - new vitec:normalize-slugs --root=<slug> [--style=plain|and]: recursively realigns every slug below a root to <parent-slug>/<slugified-title>, cascading, with a sibling-collision warning; EXT:redirects covers the old URLs. TYPO3's slug generator keeps slashes from page titles (third hit: rtcc-/-rtic), this sweeps a whole tree. Run on /solutions: four fixes, including the long-standing passenger page and solution page 467. The misspelled "engagament" slug stays deliberately - it follows the page title and is fixed in the coordinated typo task Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
99 lines
9.6 KiB
XML
99 lines
9.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xliff version="1.0">
|
|
<file source-language="en" datatype="plaintext" original="messages" date="2026-09-11T00:00:00Z" product-name="evo_megamenu_json">
|
|
<header/>
|
|
<body>
|
|
|
|
<trans-unit id="plugin.megamenu"><source>Megamenu</source></trans-unit>
|
|
<trans-unit id="plugin.megamenu.description"><source>One editable megamenu: entries in the main bar, each opening a panel of columns or teaser cards. Published as JSON.</source></trans-unit>
|
|
|
|
<trans-unit id="tt_content.entries"><source>Menu entries</source></trans-unit>
|
|
<trans-unit id="tt_content.entries.description"><source>The items in the main navigation bar, left to right.</source></trans-unit>
|
|
<trans-unit id="tt_content.tab.entries"><source>Entries</source></trans-unit>
|
|
|
|
<trans-unit id="tx_evomegamenujson_entry"><source>Menu entry</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.tab.general"><source>General</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.tab.columns"><source>Columns</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.tab.teasers"><source>Teaser cards</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.tab.featured"><source>Featured</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.title"><source>Label</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.title.description"><source>Shown in the main bar.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.link"><source>Target page</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.link.description"><source>The bar item stays a real link - the panel opens on hover, a click goes to this page.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout"><source>Panel layout</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout.description"><source>Columns for a structure menu, teaser cards for editorial sections such as news or stories.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout.columns"><source>Columns</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout.teasers"><source>Link column plus teaser cards</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout.catalog"><source>Catalog (data-driven: categories and items from the site package, teaser cards as featured tiles)</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.layout.pagetree"><source>Page tree (data-driven: one column per child of the linked page, its children as items; curated columns are ignored)</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.menu_columns"><source>Columns</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.menu_columns.description"><source>One column per group. In the teaser layout only the first column is rendered, next to the cards.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.menu_teasers"><source>Teaser cards</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.menu_teasers.description"><source>Shown from content stage 2 on.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_enable"><source>Show featured block</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_enable.description"><source>A highlighted block at the right edge of the panel. Reaches the JSON from content stage 3 on.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_kicker"><source>Kicker</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_title"><source>Headline</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_text"><source>Text</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_link"><source>Link</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_entry.featured_image"><source>Image</source></trans-unit>
|
|
|
|
<trans-unit id="tx_evomegamenujson_column"><source>Column</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_column.title"><source>Column heading</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_column.link"><source>Heading link</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_column.link.description"><source>Optional - makes the column heading clickable, usually the group overview page.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_column.menu_items"><source>Entries</source></trans-unit>
|
|
|
|
<trans-unit id="tx_evomegamenujson_item"><source>Menu item</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.title"><source>Label</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.link"><source>Link</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.pending"><source>Target page not ready</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.pending.description"><source>Marks the entry while its page is still being built. What happens then is set on the plugin: fall back to the column link, mute it, or hide it.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.teaser"><source>Teaser line</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.teaser.description"><source>One short line below the label. Reaches the JSON from content stage 2 on.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.badge"><source>Badge</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.badge.description"><source>Short marker such as "New" or "Coming soon".</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.image"><source>Thumbnail</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_item.image.description"><source>Reaches the JSON from content stage 2 on.</source></trans-unit>
|
|
|
|
<trans-unit id="tx_evomegamenujson_teaser"><source>Teaser card</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.kicker"><source>Kicker</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.kicker.description"><source>Small label above the headline, for example the section or market.</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.title"><source>Headline</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.teasertext"><source>Text</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.link"><source>Link</source></trans-unit>
|
|
<trans-unit id="tx_evomegamenujson_teaser.image"><source>Image</source></trans-unit>
|
|
|
|
<trans-unit id="flexform.sheet.content"><source>Content</source></trans-unit>
|
|
<trans-unit id="flexform.sheet.behaviour"><source>Behaviour</source></trans-unit>
|
|
<trans-unit id="flexform.stage"><source>Content stage</source></trans-unit>
|
|
<trans-unit id="flexform.stage.description"><source>How much detail the JSON carries. Later stages only add keys, so a front end built for stage 1 keeps working.</source></trans-unit>
|
|
<trans-unit id="flexform.stage.1"><source>1 - structure only (labels and links)</source></trans-unit>
|
|
<trans-unit id="flexform.stage.2"><source>2 - plus images, teaser lines and cards</source></trans-unit>
|
|
<trans-unit id="flexform.stage.3"><source>3 - plus the featured block</source></trans-unit>
|
|
<trans-unit id="flexform.pendingBehaviour"><source>Entries whose page is not ready</source></trans-unit>
|
|
<trans-unit id="flexform.pendingBehaviour.description"><source>What the front end does with entries marked "target page not ready".</source></trans-unit>
|
|
<trans-unit id="flexform.pendingBehaviour.fallback"><source>Link to the column heading instead</source></trans-unit>
|
|
<trans-unit id="flexform.pendingBehaviour.mute"><source>Show, but not clickable</source></trans-unit>
|
|
<trans-unit id="flexform.pendingBehaviour.hide"><source>Hide</source></trans-unit>
|
|
<trans-unit id="flexform.showCounts"><source>Show entry count</source></trans-unit>
|
|
<trans-unit id="flexform.showCounts.description"><source>The line at the foot of the panel, for example "39 entries in 8 columns".</source></trans-unit>
|
|
<trans-unit id="flexform.showViewAll"><source>Show "view all" link</source></trans-unit>
|
|
<trans-unit id="flexform.viewAllLabel"><source>Label for "view all"</source></trans-unit>
|
|
<trans-unit id="flexform.viewAllLabel.description"><source>%s is replaced by the entry label.</source></trans-unit>
|
|
<trans-unit id="flexform.openOn"><source>Panel opens on</source></trans-unit>
|
|
<trans-unit id="flexform.openOn.description"><source>Hover keeps the bar item clickable as a link; click turns it into a toggle.</source></trans-unit>
|
|
<trans-unit id="flexform.openOn.hover"><source>Hover (item stays a link)</source></trans-unit>
|
|
<trans-unit id="flexform.openOn.click"><source>Click</source></trans-unit>
|
|
<trans-unit id="flexform.closeDelay"><source>Close delay (ms)</source></trans-unit>
|
|
<trans-unit id="flexform.closeDelay.description"><source>Grace period when the pointer leaves the menu, so moving diagonally into a column does not close it.</source></trans-unit>
|
|
<trans-unit id="flexform.columnsPerRow"><source>Columns per row</source></trans-unit>
|
|
<trans-unit id="flexform.columnsPerRow.description"><source>How many columns the panel places side by side before wrapping.</source></trans-unit>
|
|
<trans-unit id="flexform.panelWidth"><source>Panel width</source></trans-unit>
|
|
<trans-unit id="flexform.panelWidth.container"><source>Content width</source></trans-unit>
|
|
<trans-unit id="flexform.panelWidth.full"><source>Full window width</source></trans-unit>
|
|
|
|
</body>
|
|
</file>
|
|
</xliff>
|