TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:30 +02:00
commit edc7fea85a
20 changed files with 2188 additions and 0 deletions
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file source-language="en" datatype="plaintext" original="EXT:info/Resources/Private/Language/Modules/overview.xlf" date="2026-11-10T13:37:37Z" product-name="overview">
<header/>
<body>
<trans-unit id="description">
<source>View page records and settings in a tree structure with detailed metadata.</source>
</trans-unit>
<trans-unit id="title">
<source>Pagetree Overview</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file source-language="en" datatype="plaintext" original="EXT:info/Resources/Private/Language/Modules/translations.xlf" date="2026-11-10T13:37:37Z" product-name="translations">
<header/>
<body>
<trans-unit id="description">
<source>Check translation status and manage localized content for pages.</source>
</trans-unit>
<trans-unit id="title">
<source>Localization Overview</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file source-language="en" datatype="plaintext" original="EXT:info/Resources/Private/Language/locallang_webinfo.xlf" date="2011-10-17T20:22:32Z" product-name="cms">
<header/>
<body>
<trans-unit id="page_title">
<source>Pagetree overview</source>
</trans-unit>
<trans-unit id="pages_0">
<source>Basic settings</source>
</trans-unit>
<trans-unit id="pages_2">
<source>Cache and Age</source>
</trans-unit>
<trans-unit id="pages_1">
<source>Record overview</source>
</trans-unit>
<trans-unit id="pages_layouts">
<source>Layouts</source>
</trans-unit>
<trans-unit id="actual_backend_layout">
<source>Actual backend layout</source>
</trans-unit>
<trans-unit id="lang_title">
<source>Localization overview</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editPage">
<source>Edit page content</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editTranslatedPage">
<source>Edit translated page content</source>
</trans-unit>
<trans-unit id="lang_renderl10n_viewPage">
<source>View page</source>
</trans-unit>
<trans-unit id="lang_renderl10n_viewTranslatedPage">
<source>View translated page</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editPageProperties">
<source>Edit page properties</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editTranslatedPageProperties">
<source>Edit translated page properties</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editAllPageProperties">
<source>Edit all page properties</source>
</trans-unit>
<trans-unit id="lang_renderl10n_editAllTranslationedPageProperties">
<source>Edit all translated page properties</source>
</trans-unit>
<trans-unit id="lang_renderl10n_badThingThereAre">
<source>Multiple translated page records exist for this language, but only one is allowed. Please remove the extra records.</source>
</trans-unit>
<trans-unit id="lang_renderl10n_page">
<source>Page</source>
</trans-unit>
<trans-unit id="lang_renderl10n_default">
<source>Default</source>
</trans-unit>
<trans-unit id="lang_getlangsta_createNewTranslationHeaders">
<source>Create new translation headers</source>
</trans-unit>
<trans-unit id="lang_renderl10n_CEcount">
<source>Content Element Count</source>
</trans-unit>
<trans-unit id="moduleFunctions.depth">
<source>Depth</source>
</trans-unit>
<trans-unit id="moduleFunctions.type">
<source>Type</source>
</trans-unit>
<trans-unit id="moduleFunctions.lang">
<source>Language</source>
</trans-unit>
<trans-unit id="error.noAccess.title">
<source>No access</source>
</trans-unit>
<trans-unit id="error.noAccess.message">
<source>You don't have access to this module.</source>
</trans-unit>
<trans-unit id="info.noContent.message">
<source>There are no page information available.</source>
</trans-unit>
<trans-unit id="info.noPageSelected.message">
<source>Please select a page in the page tree.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,27 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:render section="Before" arguments="{_all}" optional="true" />
<div class="module {moduleClass}" data-module-id="{moduleId}" data-module-name="{moduleName}">
<f:if condition="{docHeader.enabled}">
<f:render partial="DocHeader" arguments="{docHeader:docHeader}" />
</f:if>
<div class="module-body t3js-module-body">
<f:if condition="{uiBlock}">
<div id="t3js-ui-block" class="ui-block">
<core:icon identifier="spinner-circle" size="large" />
</div>
</f:if>
<f:flashMessages queueIdentifier="{flashMessageQueueIdentifier}" />
<f:format.raw>{headerContent}</f:format.raw>
<f:render section="Content" arguments="{_all}" optional="true" />
<f:format.raw>{footerContent}</f:format.raw>
</div>
</div>
<f:render section="After" arguments="{_all}" optional="true" />
</html>
@@ -0,0 +1,24 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div class="input-group">
<select
name="{name}"
id="{id}"
data-global-event="change"
data-action-navigate="$data=~s/$value/"
data-action-submit="$form"
class="form-select"
data-menu-identifier="{id}"
>
<f:for each="{options}" as="label" key="value">
<option value="{value}"
{f:if(condition: '{value} == {currentValue}', then:'selected="selected"')}
>{label}</option>
</f:for>
</select>
</div>
</html>
@@ -0,0 +1,80 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module"/>
<f:section name="Before">
<f:asset.module identifier="@typo3/backend/context-menu.js"/>
<f:asset.module identifier="@typo3/backend/element/immediate-action-element.js"/>
<f:if condition="{hasAccess}">
<f:variable name="args" value="{0: 'web', 1: pageUid}"/>
<typo3-immediate-action
action="TYPO3.Backend.Storage.ModuleStateStorage.update"
args="{args -> f:format.json() -> f:format.htmlspecialchars()}"
></typo3-immediate-action>
</f:if>
</f:section>
<f:section name="Content">
<f:if condition="!{hasAccess}">
<f:then>
<f:be.infobox
title="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:error.noAccess.title')}"
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:error.noAccess.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}"
/>
</f:then>
<f:else>
<h1><f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:page_title" /></h1>
<f:if condition="{pageUid} == 0">
<f:then>
<f:be.infobox
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:info.noPageSelected.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}"
/>
</f:then>
<f:else>
<f:if condition="{content}">
<f:then>
<form action="{f:be.uri(route: 'web_info_overview', parameters: '{id: pageUid}')}" method="post">
<div class="form-row">
<div class="form-group">
<label class="form-label" for="lang">
<f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:moduleFunctions.lang" />
</label>
<f:render partial="DropdownMenu" arguments="{name: 'lang', id: 'lang', options: langDropdownOptions, currentValue: langDropdownCurrentValue}"/>
</div>
<div class="form-group">
<label class="form-label" for="depth">
<f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:moduleFunctions.depth"/>
</label>
<f:render partial="DropdownMenu" arguments="{name: 'depth', id: 'depth', options: depthDropdownOptions, currentValue: depthDropdownCurrentValue}"/>
</div>
<div class="form-group">
<label class="form-label" for="pages">
<f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:moduleFunctions.type"/>
</label>
<f:render partial="DropdownMenu" arguments="{name: 'pages', id: 'pages', options: pagesDropdownOptions, currentValue: pagesDropdownCurrentValue}"/>
</div>
</div>
</form>
<f:format.raw>{content}</f:format.raw>
</f:then>
<f:else>
<f:be.infobox
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:info.noContent.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::NOTICE')}"
/>
</f:else>
</f:if>
</f:else>
</f:if>
</f:else>
</f:if>
</f:section>
</html>
@@ -0,0 +1,75 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module"/>
<f:section name="Before">
<f:asset.module identifier="@typo3/backend/context-menu.js"/>
<f:asset.module identifier="@typo3/backend/element/immediate-action-element.js"/>
<f:asset.module identifier="@typo3/info/translation-status.js"/>
<f:if condition="{hasAccess}">
<f:variable name="args" value="{0: 'web', 1: pageUid}" />
<typo3-immediate-action
action="TYPO3.Backend.Storage.ModuleStateStorage.update"
args="{args -> f:format.json() -> f:format.htmlspecialchars()}"
></typo3-immediate-action>
</f:if>
</f:section>
<f:section name="Content">
<f:if condition="!{hasAccess}">
<f:then>
<f:be.infobox
title="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:error.noAccess.title')}"
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:error.noAccess.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}"
/>
</f:then>
<f:else>
<h1><f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:lang_title" /></h1>
<f:if condition="{pageUid} == 0">
<f:then>
<f:be.infobox
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:info.noPageSelected.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}"
/>
</f:then>
<f:else>
<f:if condition="{content}">
<f:then>
<form action="{f:be.uri(route: 'web_info_translations', parameters: '{id: pageUid}')}" method="post" name="webinfoForm">
<div class="form-row">
<div class="form-group">
<label class="form-label" for="depth">
<f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:moduleFunctions.depth" />
</label>
<f:render partial="DropdownMenu" arguments="{name: 'depth', id: 'depth', options: depthDropdownOptions, currentValue: depthDropdownCurrentValue}"/>
</div>
<div class="form-group">
<label class="form-label" for="lang">
<f:translate key="LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:moduleFunctions.lang" />
</label>
<f:render partial="DropdownMenu" arguments="{name: 'lang', id: 'lang', options: langDropdownOptions, currentValue: langDropdownCurrentValue}"/>
</div>
</div>
<f:format.raw>{content}</f:format.raw>
</form>
</f:then>
<f:else>
<f:be.infobox
message="{f:translate(key:'LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:info.noContent.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::NOTICE')}"
/>
</f:else>
</f:if>
</f:else>
</f:if>
</f:else>
</f:if>
</f:section>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

@@ -0,0 +1,13 @@
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
import r from"@typo3/core/event/regular-event.js";import e from"@typo3/backend/icons.js";class i{constructor(){this.registerEvents()}registerEvents(){new r("click",this.toggleNewButton).delegateTo(document,'input[type="checkbox"][data-lang]')}async toggleNewButton(){const t=document.querySelector(`.t3js-language-new[data-lang="${this.dataset.lang}"]`),a=t.querySelector(".t3js-icon"),n=document.querySelectorAll(`input[type="checkbox"][data-lang="${this.dataset.lang}"]:checked`),s=new URL(location.origin+t.dataset.editUrl);n.forEach(c=>{s.searchParams.set(`cmd[pages][${c.dataset.uid}][localize]`,this.dataset.lang)});const o=n.length===0;t.href=s.toString(),t.classList.toggle("disabled",o);const l=await e.getIcon(a.dataset.identifier,e.sizes.small,null,o?e.states.disabled:e.states.default);a.replaceWith(document.createRange().createContextualFragment(l))}}var d=new i;export{d as default};