TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:00 +02:00
commit f9941541b7
1178 changed files with 135377 additions and 0 deletions
@@ -0,0 +1,107 @@
<?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:backend/Resources/Private/Language/Modules/about.xlf" date="2011-10-17T20:22:34Z" product-name="typo3-cms-backend">
<header/>
<body>
<trans-unit id="short_description">
<source>About TYPO3 CMS</source>
</trans-unit>
<trans-unit id="description">
<source>Displays the basic facts about the TYPO3 application, version and licensing terms.</source>
</trans-unit>
<trans-unit id="title">
<source>About TYPO3 CMS</source>
</trans-unit>
<trans-unit id="typo3_logo">
<source>TYPO3 CMS logo</source>
</trans-unit>
<trans-unit id="information">
<source>TYPO3 Information</source>
</trans-unit>
<trans-unit id="welcome">
<source>TYPO3 CMS - Professional Web Content Management System</source>
</trans-unit>
<trans-unit id="minor">
<source>TYPO3 CMS is an enterprise-class, Open Source Content Management System, used internationally to build and manage websites of all types, from small sites for non-profits to multilingual enterprise solutions for large corporations.&lt;br /&gt;&lt;br /&gt;For further information visit &lt;a href="https://typo3.org/typo3-cms/" target="_blank" rel="noreferrer"&gt;typo3.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;TYPO3 CMS is &lt;b&gt;freely available&lt;/b&gt; under the &lt;a href="https://typo3.org/project/licenses/" target="_blank"&gt;TYPO3-license (GNU/GPL)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You are using %s %s</source>
</trans-unit>
<trans-unit id="cms_description">
<source>TYPO3 CMS is an enterprise-class, Open Source Content Management System, used internationally to build and manage websites of all types, from small sites for non-profits to multilingual enterprise solutions for large corporations.&lt;br /&gt;&lt;br /&gt;For further information visit &lt;a href="https://typo3.org/typo3-cms/" target="_blank" rel="noreferrer"&gt;typo3.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;TYPO3 CMS is &lt;b&gt;freely available&lt;/b&gt; under the &lt;a href="https://typo3.org/project/licenses/" target="_blank"&gt;TYPO3-license (GNU/GPL)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Copyright %s %s</source>
</trans-unit>
<trans-unit id="community_credits">
<source>Community Credits</source>
</trans-unit>
<trans-unit id="information_detail">
<source>Visit &lt;a href="https://typo3.org/community/" target="_blank" rel="noreferrer"&gt;typo3.org/community/&lt;/a&gt; if you want to know why TYPO3 rocks.</source>
</trans-unit>
<trans-unit id="coredevs">
<source>Core Team</source>
</trans-unit>
<trans-unit id="coredevs_detail">
<source>Visit &lt;a href="https://typo3.org/teams-committees/core-development/" target="_blank" rel="noreferrer"&gt;typo3.org/teams-committees/core-development/&lt;/a&gt; for the complete member list.&lt;br /&gt;&lt;br /&gt;The Git Repository and the ChangeLog can be found &lt;a href="https://forge.typo3.org/projects/typo3cms-core/" target="_blank"&gt;here&lt;/a&gt;.</source>
</trans-unit>
<trans-unit id="extension_authors">
<source>Extension Authors</source>
</trans-unit>
<trans-unit id="extension_list_info">
<source>This is a list of the people who contributed to the extensions you're using in your installation.</source>
</trans-unit>
<trans-unit id="extension">
<source>Extension</source>
</trans-unit>
<trans-unit id="extension_author">
<source>Author</source>
</trans-unit>
<trans-unit id="donation.sectionHeadline">
<source>TYPO3 Donation and community</source>
</trans-unit>
<trans-unit id="donation_header">
<source>TYPO3 Donation</source>
</trans-unit>
<trans-unit id="donation_message">
<source>It would be great if you could donate. TYPO3 CMS is Open Source and relies heavily on donations from its users and supporters.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Thank you&lt;/b&gt; for making this great Content Management System even better with your support!</source>
</trans-unit>
<trans-unit id="donation_button">
<source>Donate now</source>
</trans-unit>
<trans-unit id="external_libraries">
<source>External Libraries</source>
</trans-unit>
<trans-unit id="external_thanks">
<source>TYPO3 CMS core uses and thanks these external Open Source projects:</source>
</trans-unit>
<trans-unit id="external_libraries.table.column.name">
<source>Project name</source>
</trans-unit>
<trans-unit id="external_libraries.table.column.website">
<source>Website</source>
</trans-unit>
<trans-unit id="introtext">
<source>Web Content Management System</source>
</trans-unit>
<trans-unit id="modules.headline">
<source>Modules</source>
</trans-unit>
<trans-unit id="modules.introtext">
<source>This is a brief description of the available modules.</source>
</trans-unit>
<trans-unit id="endText">
<source>Features may vary depending on your website and permissions</source>
</trans-unit>
<trans-unit id="userInfo">
<source>You're logged in as user</source>
</trans-unit>
<trans-unit id="link.openModule">
<source>Open module</source>
</trans-unit>
<trans-unit id="link.openModuleWithTitle">
<source>Open %1s module</source>
</trans-unit>
<trans-unit id="noSubModules">
<source>There are currently no functions available for this module.</source>
</trans-unit>
<trans-unit id="noSubModulesWithTitle">
<source>There are currently no functions available for the %1s module.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,116 @@
<?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:backend/Resources/Private/Language/Modules/content-security-policy.xlf" date="2023-01-11T00:00:00Z" product-name="typo3-cms-backend">
<header/>
<body>
<trans-unit id="short_description">
<source>Content Security Policy</source>
</trans-unit>
<trans-unit id="description">
<source>Allows to manage Content Security Policy settings.</source>
</trans-unit>
<trans-unit id="title">
<source>Content Security Policy</source>
</trans-unit>
<trans-unit id="module.headline">
<source>Content Security Policy</source>
</trans-unit>
<trans-unit id="module.introtext">
<source>A list of the existing Content Security Policy Mutations can be viewed in the %s module.</source>
</trans-unit>
<trans-unit id="module.introtextLowlevelMissing">
<source>If you install the core EXT:lowlevel extension, you can see a list of the existing Content Security Policy Mutations in the %s module.</source>
</trans-unit>
<trans-unit id="module.introtext.moduleName">
<source>Configuration</source>
</trans-unit>
<trans-unit id="module.callout.featureDisabled.title">
<source>Disabled feature flags</source>
</trans-unit>
<trans-unit id="module.callout.featureDisabled.message">
<source>The following feature flags are currently disabled and won't be shown in this module:</source>
</trans-unit>
<trans-unit id="module.callout.customReporting.title">
<source>Reporting</source>
</trans-unit>
<trans-unit id="module.callout.customReporting.message">
<source>Reporting is currently configured with these custom endpoints and won't be shown in this module:</source>
</trans-unit>
<trans-unit id="module.label.noEntriesAvailable">
<source>No entries available.</source>
</trans-unit>
<trans-unit id="module.label.reports">
<source>Reports</source>
</trans-unit>
<trans-unit id="module.label.created">
<source>Created</source>
</trans-unit>
<trans-unit id="module.label.scope">
<source>Scope</source>
</trans-unit>
<trans-unit id="module.label.removeAll">
<source>Remove all</source>
</trans-unit>
<trans-unit id="module.label.violation">
<source>Violation</source>
</trans-unit>
<trans-unit id="module.label.uri">
<source>URI</source>
</trans-unit>
<trans-unit id="module.label.all">
<source>All</source>
</trans-unit>
<trans-unit id="module.label.details">
<source>Details</source>
</trans-unit>
<trans-unit id="module.label.disposition">
<source>Disposition</source>
</trans-unit>
<trans-unit id="module.label.directive">
<source>Directive</source>
</trans-unit>
<trans-unit id="module.label.blocked_uri">
<source>Blocked URI</source>
</trans-unit>
<trans-unit id="module.label.document_uri">
<source>Document URI</source>
</trans-unit>
<trans-unit id="module.label.sample">
<source>Sample</source>
</trans-unit>
<trans-unit id="module.label.user_agent">
<source>User Agent</source>
</trans-unit>
<trans-unit id="module.label.uuid">
<source>UUID</source>
</trans-unit>
<trans-unit id="module.label.source_file">
<source>Source File</source>
</trans-unit>
<trans-unit id="module.label.summary">
<source>Summary</source>
</trans-unit>
<trans-unit id="module.label.suggestions">
<source>Suggestions</source>
</trans-unit>
<trans-unit id="module.label.guide.no_record_selected">
<source>Select a row to see more information.</source>
</trans-unit>
<trans-unit id="module.label.showDetails">
<source>Show details for "%s" violation with URI: %s</source>
</trans-unit>
<trans-unit id="module.button.apply">
<source>Apply</source>
</trans-unit>
<trans-unit id="module.button.close">
<source>Close</source>
</trans-unit>
<trans-unit id="module.button.mute">
<source>Mute</source>
</trans-unit>
<trans-unit id="module.button.delete">
<source>Delete</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/layout.xlf" date="2026-11-10T13:37:37Z" product-name="layout">
<header/>
<body>
<trans-unit id="short_description">
<source>Manage page layout and structured content editing</source>
</trans-unit>
<trans-unit id="description">
<source>The Layout module provides a structured space for editing page content. It allows you to manage the visual layout of a page, arrange content elements in the correct columns, and maintain the overall structure of your site.</source>
</trans-unit>
<trans-unit id="title">
<source>Layout</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/link_management.xlf" date="2025-11-13T19:45:15Z" product-name="backend">
<header/>
<body>
<trans-unit id="title">
<source>Link Management</source>
</trans-unit>
<trans-unit id="short_description">
<source>Manage redirects, QR Codes and Short URLs</source>
</trans-unit>
<trans-unit id="description">
<source>Manage redirects, QR codes and Short URLs to navigation and access points and validate links inside the system.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/list.xlf" date="2026-11-10T13:37:37Z" product-name="list">
<header/>
<body>
<trans-unit id="short_description">
<source>List of database records</source>
</trans-unit>
<trans-unit id="description">
<source>The records module provides low level access to records appearing on a page.</source>
</trans-unit>
<trans-unit id="title">
<source>Records</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:backend/Resources/Private/Language/Modules/pagetsconfig.xlf" date="2026-11-10T13:37:37Z" product-name="pagetsconfig">
<header/>
<body>
<trans-unit id="title">
<source>Page TSconfig</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
<trans-unit id="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:backend/Resources/Private/Language/Modules/pagetsconfig_active.xlf" date="2025-11-10T13:37:37Z" product-name="pagetsconfig_active">
<header/>
<body>
<trans-unit id="title">
<source>Active page TSconfig</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
<trans-unit id="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:backend/Resources/Private/Language/Modules/pagetsconfig_includes.xlf" date="2025-11-10T13:37:37Z" product-name="pagetsconfig_includes">
<header/>
<body>
<trans-unit id="title">
<source>Included page TSconfig</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
<trans-unit id="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:backend/Resources/Private/Language/Modules/pagetsconfig_pages.xlf" date="2026-11-10T13:37:37Z" product-name="pagetsconfig_pages">
<header/>
<body>
<trans-unit id="title">
<source>Pages containing page TSconfig</source>
</trans-unit>
<!-- intentionally left blank, not utilized (for now) -->
<trans-unit id="short_description">
<source/>
</trans-unit>
<trans-unit id="description">
<source/>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/site_configuration.xlf" date="2026-11-10T13:37:37Z" product-name="site_configuration">
<header/>
<body>
<trans-unit id="short_description">
<source>Configure sites and routing behavior</source>
</trans-unit>
<trans-unit id="description">
<source>This module contains the full configuration interface for individual sites. You can define languages, error handling, routes, entry points, and domain behavior. It is the central place for setting up and maintaining the technical foundation of each site.</source>
</trans-unit>
<trans-unit id="title">
<source>Setup</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/site_settings.xlf" date="2026-11-10T13:37:37Z" product-name="site_settings">
<header/>
<body>
<trans-unit id="short_description">
<source>Site settings</source>
</trans-unit>
<trans-unit id="description">
<source>This module allows you to configure site settings.</source>
</trans-unit>
<trans-unit id="title">
<source>Settings</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en">
<file id="f1">
<unit id="title">
<segment>
<source>Status</source>
</segment>
</unit>
<unit id="short_description">
<segment>
<source>Overview of site and page status information</source>
</segment>
</unit>
<unit id="description">
<segment>
<source>Review site and page information to assess the state and structure of your installation. Additional sections may be available depending on installed extensions and user permissions.</source>
</segment>
</unit>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/Modules/user_settings.xlf" date="2026-04-08T12:00:00Z" product-name="typo3-cms-backend">
<header/>
<body>
<trans-unit id="short_description">
<source>Personal profile settings</source>
</trans-unit>
<trans-unit id="description">
<source>This module allows you to customize your backend user profile. Here you can change your active system language, name and email address. You may also configure other general features in the system.</source>
</trans-unit>
<trans-unit id="title">
<source>User Settings</source>
</trans-unit>
</body>
</file>
</xliff>
+47
View File
@@ -0,0 +1,47 @@
<?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:backend/Resources/Private/Language/SudoMode.xlf" date="2023-04-08T00:00:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="verify">
<source>Verify</source>
</trans-unit>
<trans-unit id="password">
<source>Password</source>
</trans-unit>
<trans-unit id="verifyWithUserPassword">
<source>Verify with user password</source>
</trans-unit>
<trans-unit id="verifyWithInstallToolPassword">
<source>Verify with Install Tool password</source>
</trans-unit>
<trans-unit id="accessGranted">
<source>Access granted</source>
</trans-unit>
<trans-unit id="invalidPassword">
<source>Invalid password</source>
</trans-unit>
<trans-unit id="userPasswordMode">
<source>Use user password instead</source>
</trans-unit>
<trans-unit id="installToolPasswordMode">
<source>Use Install Tool password instead</source>
</trans-unit>
<trans-unit id="sudoModeUserPasswordExplanation">
<source>Authentication is required to perform this action. Please enter your user password to proceed.</source>
</trans-unit>
<trans-unit id="sudoModeInstallToolPasswordExplanation">
<source>Authentication is required to perform this action. Please enter the Install Tool password to proceed.</source>
</trans-unit>
<trans-unit id="verificationFailed">
<source>Verification failed</source>
</trans-unit>
<trans-unit id="verificationExpired">
<source>Confirmation has expired. Please try again.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,61 @@
<?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:backend/Resources/Private/Language/Wizards/general.xlf" date="2026-02-17T00:00:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="wizard.loading">
<source>Loading...</source>
</trans-unit>
<trans-unit id="wizard.buttons.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="wizard.buttons.next">
<source>Next</source>
</trans-unit>
<trans-unit id="wizard.buttons.previous">
<source>Previous</source>
</trans-unit>
<trans-unit id="wizard.buttons.finish">
<source>Finish</source>
</trans-unit>
<trans-unit id="wizard.loading_configuration">
<source>Loading wizard configuration...</source>
</trans-unit>
<trans-unit id="wizard.loading_steps">
<source>Loading step modules...</source>
</trans-unit>
<trans-unit id="wizard.loading_finisher">
<source>Loading finisher...</source>
</trans-unit>
<trans-unit id="wizard.status.pending.message">
<source>Processing data...</source>
</trans-unit>
<trans-unit id="wizard.status.error.title">
<source>Error</source>
</trans-unit>
<trans-unit id="wizard.status.error.message">
<source>Failed to process data:</source>
</trans-unit>
<trans-unit id="wizard.finisher.load_error.message">
<source>Failed to load finisher module:</source>
</trans-unit>
<trans-unit id="wizard.step.error.title">
<source>Error</source>
</trans-unit>
<!-- Step: Confirmation -->
<trans-unit id="step.confirmation.title">
<source>Confirmation</source>
</trans-unit>
<trans-unit id="step.confirmation.headline">
<source>Confirm</source>
</trans-unit>
<trans-unit id="step.confirmation.description">
<source>Please review the following settings before proceeding:</source>
</trans-unit>
<!-- Step: Finisher -->
<trans-unit id="step.finisher.title">
<source>Finish</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,165 @@
<?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:backend/Resources/Private/Language/Wizards/localization.xlf" date="2025-10-28T00:00:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="localization_wizard.modal.title">
<source>Localization</source>
</trans-unit>
<trans-unit id="localization_wizard.modal.title.record_prefix">
<source>Localize:</source>
</trans-unit>
<trans-unit id="localization_wizard.buttons.localize">
<source>Localize</source>
</trans-unit>
<trans-unit id="wizard.error.message">
<source>Failed to load wizard configuration. Please try again.</source>
</trans-unit>
<trans-unit id="wizard.error.title">
<source>Configuration error</source>
</trans-unit>
<trans-unit id="localization_wizard.no_steps_available.message">
<source>No localization steps are available for this record type.</source>
</trans-unit>
<trans-unit id="localization_wizard.no_steps_available.title">
<source>Warning</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.no_data.message">
<source>No finisher data available. Cannot complete the localization process.</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.redirect.success.title">
<source>Localization completed</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.redirect.success.description">
<source>The content has been successfully localized. Click "Finish" to be redirected to the new language version.</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.reload.success.title">
<source>Localization completed</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.reload.success.description">
<source>The content has been successfully localized. Click "Finish" to reload the page and view the updated content.</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.noop.success.title">
<source>No operation required</source>
</trans-unit>
<trans-unit id="localization_wizard.finisher.noop.success.description">
<source>No records were selected that need processing. Click "Finish" to reload the page.</source>
</trans-unit>
<!-- Step: Content selection -->
<trans-unit id="step.content_selection.title">
<source>Content selection</source>
</trans-unit>
<trans-unit id="step.content_selection.headline">
<source>Select records to localize</source>
</trans-unit>
<trans-unit id="step.content_selection.description">
<source>Choose which content elements you would like to translate:</source>
</trans-unit>
<trans-unit id="step.content_selection.summary.title">
<source>Content Element(s)</source>
</trans-unit>
<trans-unit id="step.content_selection.summary.amount">
<source>%s Element(s)</source>
</trans-unit>
<trans-unit id="step.content_selection.error.message">
<source>Failed to load records for selection</source>
</trans-unit>
<trans-unit id="step.content_selection.button.select_all">
<source>Select all</source>
</trans-unit>
<trans-unit id="step.content_selection.button.deselect_all">
<source>Deselect all</source>
</trans-unit>
<trans-unit id="step.content_selection.no_content.message">
<source>This page does not contain any content elements.</source>
</trans-unit>
<!-- Step: Handler selection -->
<trans-unit id="step.handler_selection.title">
<source>Handler</source>
</trans-unit>
<trans-unit id="step.handler_selection.headline">
<source>Select localization handler</source>
</trans-unit>
<trans-unit id="step.handler_selection.description">
<source>Choose how you would like to localize this record:</source>
</trans-unit>
<trans-unit id="step.handler_selection.summary_label">
<source>Handler</source>
</trans-unit>
<trans-unit id="step.handler_selection.error">
<source>Failed to load localization handlers.</source>
</trans-unit>
<trans-unit id="step.handler_selection.no_handlers">
<source>No localization handlers available.</source>
</trans-unit>
<!-- Step: Mode -->
<trans-unit id="step.modes.title">
<source>Mode</source>
</trans-unit>
<trans-unit id="step.modes.headline">
<source>Select localization mode</source>
</trans-unit>
<trans-unit id="step.modes.description">
<source>Choose how content should be localized:</source>
</trans-unit>
<trans-unit id="step.modes.summary.title">
<source>Mode</source>
</trans-unit>
<trans-unit id="step.modes.error.message">
<source>Failed to load localization modes.</source>
</trans-unit>
<trans-unit id="step.modes.none_available">
<source>No localization modes available.</source>
</trans-unit>
<!-- Step: Source language -->
<trans-unit id="step.source_language.title">
<source>Source language</source>
</trans-unit>
<trans-unit id="step.source_language.headline">
<source>Select source language</source>
</trans-unit>
<trans-unit id="step.source_language.description">
<source>Choose the language from which you would like to translate content:</source>
</trans-unit>
<trans-unit id="step.source_language.summary.title">
<source>Source language</source>
</trans-unit>
<trans-unit id="step.source_language.error.message">
<source>Failed to load source languages.</source>
</trans-unit>
<trans-unit id="step.source_language.none_available">
<source>No source languages available.</source>
</trans-unit>
<!-- Step: Target language -->
<trans-unit id="step.target_language.title">
<source>Target language</source>
</trans-unit>
<trans-unit id="step.target_language.headline">
<source>Select target language</source>
</trans-unit>
<trans-unit id="step.target_language.description">
<source>Select the language into which you would like to translate the content:</source>
</trans-unit>
<trans-unit id="step.target_language.summary.title">
<source>Target language</source>
</trans-unit>
<trans-unit id="step.target_language.error.message">
<source>Failed to load target languages.</source>
</trans-unit>
<trans-unit id="step.target_language.none_available">
<source>No target languages available.</source>
</trans-unit>
<!-- Handlers -->
<trans-unit id="handler.manual.label">
<source>Manual Translation</source>
</trans-unit>
<trans-unit id="handler.manual.description">
<source>Prepares the language version. Edit and translate the content yourself afterwards.</source>
</trans-unit>
<!-- Error Messages -->
<trans-unit id="error.recordNotFound">
<source>Record with uid "%s" of type "%s" does not exist or is not accessible.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,38 @@
<?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:backend/Resources/Private/Language/Wizards/move_content_elements.xlf" date="2024-03-08T20:22:34Z" product-name="backend">
<header/>
<body>
<trans-unit id="headline.move">
<source>Move element "%s" [%d]</source>
</trans-unit>
<trans-unit id="headline.copy">
<source>Copy element "%s" [%d]</source>
</trans-unit>
<trans-unit id="currentPath">
<source>Current path</source>
</trans-unit>
<trans-unit id="makeCopy">
<source>Copy element instead of moving</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementMoved.title">
<source>Element successfully moved</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementMoved.message">
<source>The element "%s" has been successfully moved.</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementCopied.title">
<source>Element successfully copied</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementCopied.message">
<source>The element "%s" has been successfully copied.</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementPasted.action.dismiss">
<source>Dismiss</source>
</trans-unit>
<trans-unit id="moveElement.notification.elementPasted.action.open">
<source>Open "%s"</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,47 @@
<?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:backend/Resources/Private/Language/Wizards/move_page.xlf" date="2024-03-08T20:22:34Z" product-name="backend">
<header/>
<body>
<trans-unit id="headline">
<source>Move page "%1$s" [%2$d]</source>
</trans-unit>
<trans-unit id="currentPath">
<source>Current path</source>
</trans-unit>
<trans-unit id="makeCopy">
<source>Copy page instead of moving page</source>
</trans-unit>
<trans-unit id="samePageConflict">
<source>The page "%1$s" [%2$d] cannot get moved into itself.</source>
</trans-unit>
<trans-unit id="action.pasteAbove">
<source>Paste above</source>
</trans-unit>
<trans-unit id="action.pasteBelow">
<source>Paste below</source>
</trans-unit>
<trans-unit id="action.pasteInto">
<source>Paste into</source>
</trans-unit>
<trans-unit id="movePage.notification.pageMoved.title">
<source>Page successfully moved</source>
</trans-unit>
<trans-unit id="movePage.notification.pageMoved.message">
<source>The page "%s" has been successfully moved.</source>
</trans-unit>
<trans-unit id="movePage.notification.pageCopied.title">
<source>Page successfully copied</source>
</trans-unit>
<trans-unit id="movePage.notification.pageCopied.message">
<source>The page "%s" has been successfully copied.</source>
</trans-unit>
<trans-unit id="movePage.notification.pagePasted.action.dismiss">
<source>Dismiss</source>
</trans-unit>
<trans-unit id="movePage.notification.pagePasted.action.open">
<source>Open "%s"</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,45 @@
<?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:backend/Resources/Private/Language/Wizards/page.xlf" date="2025-03-03T00:00:00Z" product-name="backend">
<header/>
<body>
<!-- Step: doktype selection -->
<trans-unit id="step.doktype.headline">
<source>Select page type</source>
</trans-unit>
<trans-unit id="step.doktype.not_allowed_doktype.title">
<source>Invalid page type</source>
</trans-unit>
<trans-unit id="step.doktype.not_allowed_doktype.message">
<source>The selected page type is not allowed here. Please choose a different type.</source>
</trans-unit>
<trans-unit id="step.doktype.filter.noResults">
<source>No matching page type found.</source>
</trans-unit>
<trans-unit id="step.doktype.load_error">
<source>Failed to fetch available page types. This is likely due to missing permissions.</source>
</trans-unit>
<trans-unit id="step.setup">
<source>Page Setup</source>
</trans-unit>
<trans-unit id="step.link">
<source>Link Configuration</source>
</trans-unit>
<trans-unit id="step.shortcut">
<source>Shortcut Configuration</source>
</trans-unit>
<trans-unit id="step.mounting">
<source>Mounting Configuration</source>
</trans-unit>
<trans-unit id="page_wizard.success.title">
<source>Page created</source>
</trans-unit>
<trans-unit id="page_wizard.success.description">
<source>The page has been successfully created. Click "Finish" to be redirected to the newly created page.</source>
</trans-unit>
<trans-unit id="page_wizard.button.create_another_page">
<source>Create another page</source>
</trans-unit>
</body>
</file>
</xliff>
+35
View File
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en">
<file id="f1">
<unit id="destination">
<segment>
<source>destination</source>
</segment>
</unit>
<unit id="email">
<segment>
<source>email</source>
</segment>
</unit>
<unit id="file">
<segment>
<source>file</source>
</segment>
</unit>
<unit id="folder">
<segment>
<source>folder</source>
</segment>
</unit>
<unit id="page">
<segment>
<source>page</source>
</segment>
</unit>
<unit id="url">
<segment>
<source>external URL</source>
</segment>
</unit>
</file>
</xliff>
+296
View File
@@ -0,0 +1,296 @@
<?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:backend/Resources/Private/Language/locallang.xlf" date="2015-01-02T11:16:11Z" product-name="backend">
<header/>
<body>
<trans-unit id="onlineDocumentation">
<source>TYPO3 Online Documentation</source>
</trans-unit>
<trans-unit id="opensInANewWindow">
<source>opens in a new window</source>
</trans-unit>
<trans-unit id="no_modules_registered">
<source>No modules have been registered. Please contact your system administrator.</source>
</trans-unit>
<trans-unit id="show_references">
<source>Show references</source>
</trans-unit>
<trans-unit id="config.loginLogo">
<source>Logo: Replace the TYPO3 logo above the login form (e.g. fileadmin/images/login-logo.png, EXT:my_theme/Resources/Public/Images/login-logo.png, or //domain.tld/login-logo.png).</source>
</trans-unit>
<trans-unit id="config.loginLogoAlt">
<source>Logo Alt-Text: Define the alternative text used as the alt attribute for the custom login logo image.</source>
</trans-unit>
<trans-unit id="config.loginHighlightColor">
<source>Highlight Color: Define the accent color used for highlights on the login screen.</source>
</trans-unit>
<trans-unit id="config.loginBackgroundImage">
<source>Background Image: Set the image used as the background for the login screen (e.g. fileadmin/images/my-background.jpg, EXT:my_theme/Resources/Public/Images/my-background.jpg, or //domain.tld/my-background.png).</source>
</trans-unit>
<trans-unit id="config.loginFootnote">
<source>Footnote: Enter the text displayed on the login screen, for example to provide copyright information for the background image (e.g. background image © 2017 by John Doe) or a short description.</source>
</trans-unit>
<trans-unit id="config.backendLogo">
<source>Logo: Set the logo used in the top-left corner of the TYPO3 backend instead of the TYPO3 logo (e.g. fileadmin/images/backend-logo.png or EXT:my_theme/Resources/Public/Images/backend-logo.png).</source>
</trans-unit>
<trans-unit id="config.backendFavicon">
<source>Favicon: Set the favicon used instead of the TYPO3 default (e.g. EXT:my_theme/Resources/Public/Images/favicon.ico).</source>
</trans-unit>
<trans-unit id="foldertreeview.noFolders.title">
<source>No folders available</source>
</trans-unit>
<trans-unit id="foldertreeview.noFolders.message">
<source>You do not have access to any folder. Please ask your administrator to fix access permissions for your account.</source>
</trans-unit>
<trans-unit id="login.header">
<source>Login</source>
</trans-unit>
<trans-unit id="login.region.footnote">
<source>Footnote</source>
</trans-unit>
<trans-unit id="login.link">
<source>Login with username and password</source>
</trans-unit>
<trans-unit id="login.username">
<source>Username</source>
</trans-unit>
<trans-unit id="login.password">
<source>Password</source>
</trans-unit>
<trans-unit id="login.togglePassword">
<source>Toggle password visibility</source>
</trans-unit>
<trans-unit id="login.password_forget">
<source>Forgot your password?</source>
</trans-unit>
<trans-unit id="login.error.capslock">
<source>Attention: Caps lock enabled</source>
</trans-unit>
<trans-unit id="login.error.capslockStatus">
<source>Caps lock enabled</source>
</trans-unit>
<trans-unit id="login.warning.whitespace-around-password">
<source>The password you just pasted has leading and / or trailing whitespace.</source>
</trans-unit>
<trans-unit id="login.warning.whitespace-around-password.action-link">
<source>Remove whitespace</source>
</trans-unit>
<trans-unit id="login.news.header">
<source>System News</source>
</trans-unit>
<trans-unit id="login.news.date">
<source>Date</source>
</trans-unit>
<trans-unit id="login.news.previous">
<source>Previous</source>
</trans-unit>
<trans-unit id="login.news.next">
<source>Next</source>
</trans-unit>
<trans-unit id="login.navigation.loginProvider">
<source>Login Provider</source>
</trans-unit>
<trans-unit id="login.navigation.typo3">
<source>Further information about TYPO3</source>
</trans-unit>
<trans-unit id="login.error.message">
<source>Your login attempt did not succeed</source>
</trans-unit>
<trans-unit id="login.error.description">
<source>Make sure to spell your username and password correctly, including upper/lowercase characters.</source>
</trans-unit>
<trans-unit id="login.error.javascript">
<source>Please activate JavaScript</source>
</trans-unit>
<trans-unit id="login.error.cookies">
<source>Please activate Cookies</source>
</trans-unit>
<trans-unit id="login.error.referrer">
<source>TYPO3 relies on HTTP referrers for security reasons in the backend. It looks like your browser was not able to send this information, which may be due to privacy or security settings.</source>
</trans-unit>
<trans-unit id="login.process">
<source>Verifying Login Data ...</source>
</trans-unit>
<trans-unit id="login.submit">
<source>Login</source>
</trans-unit>
<trans-unit id="login.copyrightLink">
<source>More about TYPO3</source>
</trans-unit>
<trans-unit id="login.typo3Logo">
<source>TYPO3 logo</source>
</trans-unit>
<trans-unit id="login.donate">
<source>Donate</source>
</trans-unit>
<trans-unit id="formEngine.databaseRecordErrorInlineChildChild">
<source>The record with uid %2$s from table %1$s could not be retrieved from the database. This data inconsistency can occur if
a base record has been deleted but the intermediate record from table %3$s with uid %4$s still points to it. To fix
this situation, either delete the intermediate record, or recover the deleted record using the recycler module.
</source>
</trans-unit>
<trans-unit id="modulemenu.label">
<source>Module Menu</source>
</trans-unit>
<trans-unit id="module.noAccess.title">
<source>No module access</source>
</trans-unit>
<trans-unit id="module.noAccess.message">
<source>You've been redirected to the "%s" module, because you currently can't access the "%s" module. You either don't have the necessary permissions or access is temporarily not possible, e.g. due to workspace restrictions.</source>
</trans-unit>
<trans-unit id="noModuleAccess.workspace.title">
<source>No workspace access</source>
</trans-unit>
<trans-unit id="noModuleAccess.workspace.message">
<source>Your user account or user group is not assigned to any workspace and does not have permission to edit the live workspace. Please contact your administrator.</source>
</trans-unit>
<trans-unit id="noModuleAccess.permissions.title">
<source>No module access</source>
</trans-unit>
<trans-unit id="noModuleAccess.permissions.message">
<source>Your user account does not have access to any backend module. Please contact your administrator.</source>
</trans-unit>
<trans-unit id="clearcache.title">
<source>Page cache</source>
</trans-unit>
<trans-unit id="clearcache.message.success">
<source>Successfully cleared page cache</source>
</trans-unit>
<trans-unit id="clearcache.message.error">
<source>Page cache could not be cleared</source>
</trans-unit>
<trans-unit id="error.linkHandlerTitleMissing">
<source>[title missing]</source>
</trans-unit>
<trans-unit id="create_folder.title">
<source>Create new folder</source>
</trans-unit>
<trans-unit id="create_folder.placeholder">
<source>Your new folder name</source>
</trans-unit>
<trans-unit id="create_folder.submit">
<source>Create folder</source>
</trans-unit>
<trans-unit id="row.deletePlaceholder.title">
<source>The live pendant of this record will be deleted when this workspace record is published.</source>
</trans-unit>
<trans-unit id="shortcut.title">
<source>%s%s on page "%s" [%d]</source>
</trans-unit>
<trans-unit id="liveSearch.databaseRecordProvider.filterLabel">
<source>Database records</source>
</trans-unit>
<trans-unit id="liveSearch.databaseRecordProvider.typeLabel">
<source>Database record</source>
</trans-unit>
<trans-unit id="liveSearch.pageRecordProvider.filterLabel">
<source>Pages</source>
</trans-unit>
<trans-unit id="liveSearch.pageRecordProvider.typeLabel">
<source>Page</source>
</trans-unit>
<trans-unit id="liveSearch.backendModuleProvider.filterLabel">
<source>Backend modules</source>
</trans-unit>
<trans-unit id="liveSearch.backendModuleProvider.typeLabel">
<source>Backend module</source>
</trans-unit>
<trans-unit id="resultItem.backendModuleProvider.openModule">
<source>Open module</source>
</trans-unit>
<trans-unit id="moduleMenu.dropdown.label">
<source>Module action</source>
</trans-unit>
<trans-unit id="pagelayout.moduleMenu.dropdown.label">
<source>Display mode</source>
</trans-unit>
<trans-unit id="editdocument.moduleMenu.dropdown.label">
<source>Record language</source>
</trans-unit>
<trans-unit id="moduleMenu.dropdown.overview">
<source>Module overview</source>
</trans-unit>
<trans-unit id="submoduleOverview.openModule">
<source>Open module</source>
</trans-unit>
<trans-unit id="submoduleOverview.openModuleWithTitle">
<source>Open %1s module</source>
</trans-unit>
<trans-unit id="submoduleOverview.noAccess.title">
<source>No modules available</source>
</trans-unit>
<trans-unit id="submoduleOverview.noAccess.message">
<source>There are no submodules available or you do not have access to any of them. Please contact your administrator if you believe this is an error.</source>
</trans-unit>
<trans-unit id="theme">
<source>Theme</source>
</trans-unit>
<trans-unit id="theme.classic">
<source>Classic</source>
</trans-unit>
<trans-unit id="theme.modern">
<source>Modern</source>
</trans-unit>
<trans-unit id="theme.fresh">
<source>Fresh</source>
</trans-unit>
<trans-unit id="colorScheme">
<source>Color scheme</source>
</trans-unit>
<trans-unit id="toggleColorScheme">
<source>Toggle color scheme between light and dark mode</source>
</trans-unit>
<trans-unit id="colorSchemeToggleDisabled">
<source>Due to your current accessibility settings, the color scheme cannot be changed.</source>
</trans-unit>
<trans-unit id="colorScheme.auto">
<source>Auto detect</source>
</trans-unit>
<trans-unit id="colorScheme.light">
<source>Light mode</source>
</trans-unit>
<trans-unit id="colorScheme.dark">
<source>Dark mode</source>
</trans-unit>
<trans-unit id="userSettings.requestBackendLanguageRefresh.title">
<source>Language changed</source>
</trans-unit>
<trans-unit id="userSettings.requestBackendLanguageRefresh.message">
<source>A reload is required for the changed to take effect.</source>
</trans-unit>
<trans-unit id="userSettings.requestBackendLanguageRefresh.buttonReload">
<source>Reload</source>
</trans-unit>
<trans-unit id="userSettings.requestBackendLanguageRefresh.buttonCancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="pageTree.found_translation">
<source>Found translation</source>
</trans-unit>
<trans-unit id="pageTree.found_in_translation">
<source>Found in translation: %s</source>
</trans-unit>
<trans-unit id="pageTree.found_in_multiple_translations">
<source>Found in multiple translations</source>
</trans-unit>
<trans-unit id="pageTree.searchResult">
<source>Search result</source>
</trans-unit>
<trans-unit id="pageTree.found_in_frontend_uri">
<source>Found by URI</source>
</trans-unit>
<trans-unit id="viewport.navigation">
<source>Navigation</source>
</trans-unit>
<trans-unit id="viewport.navigation.show">
<source>Show navigation</source>
</trans-unit>
<trans-unit id="viewport.navigation.hide">
<source>Hide navigation</source>
</trans-unit>
<trans-unit id="collapse_state_search.numberOfSearchMatches">
<source>{count, plural, =0 {no matches} =1 {one match} other {# matches}}</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,206 @@
<?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:backend/Resources/Private/Language/locallang_alt_doc.xlf" date="2011-10-17T20:22:33Z" product-name="lang">
<header/>
<body>
<trans-unit id="deleteItem">
<source>Delete</source>
</trans-unit>
<trans-unit id="deleteWarning">
<source>Are you sure you want to delete this record?</source>
</trans-unit>
<trans-unit id="undoLastChange">
<source>Undo/Redo last change (%s ago)</source>
</trans-unit>
<trans-unit id="recordHistory">
<source>View record change history</source>
</trans-unit>
<trans-unit id="editWholeRecord">
<source>Edit whole record</source>
</trans-unit>
<trans-unit id="openDocs">
<source>OPEN DOCUMENTS</source>
</trans-unit>
<trans-unit id="noDocuments">
<source>No open documents</source>
</trans-unit>
<trans-unit id="noDocuments_msg">
<source>There are no open documents available to edit.</source>
</trans-unit>
<trans-unit id="noDocuments_msg2">
<source>You can go to %s to find the page or the record you wish to edit.</source>
</trans-unit>
<trans-unit id="noDocuments_msg3">
<source>You can select one of your most recently edited records from this list</source>
</trans-unit>
<trans-unit id="noDocuments_OR">
<source>or</source>
</trans-unit>
<trans-unit id="noEditForm">
<source>Edit form could not be loaded</source>
</trans-unit>
<trans-unit id="noEditForm.message">
<source>The edit form could not be loaded for the requested records. This might be due to insufficient permissions.</source>
</trans-unit>
<trans-unit id="noFieldsEditForm">
<source>No fields to edit</source>
</trans-unit>
<trans-unit id="noFieldsEditForm.message">
<source>There are no editable fields available for the requested record. This might be due to insufficient permissions or a configuration mismatch.</source>
</trans-unit>
<trans-unit id="buttons.confirm.duplicate_record_changed.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="button.confirm.duplicate_record_changed.no">
<source>No, just duplicate the original</source>
</trans-unit>
<trans-unit id="buttons.confirm.duplicate_record_changed.yes">
<source>Yes, save and duplicate this record</source>
</trans-unit>
<trans-unit id="buttons.confirm.close_without_save.yes">
<source>Discard changes</source>
</trans-unit>
<trans-unit id="buttons.confirm.close_without_save.no">
<source>Keep editing</source>
</trans-unit>
<trans-unit id="buttons.confirm.save_and_close">
<source>Save and close</source>
</trans-unit>
<trans-unit id="label.confirm.duplicate_record_changed.title">
<source>Do you want to save before duplicating this record?</source>
</trans-unit>
<trans-unit id="label.confirm.duplicate_record_changed.content">
<source>You currently have unsaved changes. Do you want to save your changes before duplicating this record?</source>
</trans-unit>
<trans-unit id="label.confirm.new_record_changed.title">
<source>Do you want to save before adding?</source>
</trans-unit>
<trans-unit id="label.confirm.new_record_changed.content">
<source>You need to save your changes before creating a new record. Do you want to save and create now?</source>
</trans-unit>
<trans-unit id="buttons.confirm.new_record_changed.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="buttons.confirm.new_record_changed.no">
<source>No, just add</source>
</trans-unit>
<trans-unit id="buttons.confirm.new_record_changed.yes">
<source>Yes, save and create now</source>
</trans-unit>
<trans-unit id="label.confirm.view_record_changed.title">
<source>Do you want to save before viewing?</source>
</trans-unit>
<trans-unit id="label.confirm.view_record_changed.content">
<source>You currently have unsaved changes. You can either discard these changes or save and view them.</source>
</trans-unit>
<trans-unit id="label.confirm.view_record_changed.invalid_form">
<source>The form appears to be invalid, therefore "Save changes and view" is not available.</source>
</trans-unit>
<trans-unit id="label.confirm.view_record_changed.content.is-new-page">
<source>You need to save your changes before viewing the page. Do you want to save and view them now?</source>
</trans-unit>
<trans-unit id="buttons.confirm.view_record_changed.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="buttons.confirm.view_record_changed.no-save">
<source>View without changes</source>
</trans-unit>
<trans-unit id="buttons.confirm.view_record_changed.save">
<source>Save changes and view</source>
</trans-unit>
<trans-unit id="label.confirm.close_without_save.title">
<source>Unsaved changes</source>
</trans-unit>
<trans-unit id="label.confirm.close_without_save.content">
<source>You currently have unsaved changes which will be discarded if you close without saving.</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_file.no">
<source>Cancel</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_file.yes">
<source>Yes, delete this file</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_folder.yes">
<source>Yes, delete this folder</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_record.no">
<source>Cancel</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_record.yes">
<source>Delete</source>
</trans-unit>
<trans-unit id="label.confirm.delete_record.title">
<source>Delete this record?</source>
</trans-unit>
<trans-unit id="label.confirm.delete_record.content">
<source>Are you sure you want to delete the record '%s'?</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_elements.no">
<source>Cancel</source>
</trans-unit>
<trans-unit id="buttons.confirm.delete_elements.yes">
<source>Yes, delete these elements</source>
</trans-unit>
<trans-unit id="label.alert.save_with_error.title">
<source>You have errors in your form!</source>
</trans-unit>
<trans-unit id="label.alert.save_with_error.content">
<source>Please check the form, there is at least one error in your form.</source>
</trans-unit>
<trans-unit id="buttons.alert.save_with_error.ok">
<source>OK</source>
</trans-unit>
<trans-unit id="buttons.reviewFailedValidationFields">
<source>Review fields with failed validations</source>
</trans-unit>
<trans-unit id="buttons.pageTsConfig">
<source>PageTS Config</source>
</trans-unit>
<trans-unit id="notification.record_saved.title.singular">
<source>Record saved</source>
</trans-unit>
<trans-unit id="notification.record_saved.title.plural">
<source>Records saved</source>
</trans-unit>
<trans-unit id="notification.record_saved.message">
<source>Record "%s" has been successfully saved.</source>
</trans-unit>
<trans-unit id="notification.mass_saving.message">
<source>%s records have been successfully saved.</source>
</trans-unit>
<trans-unit id="notification.record_updated.title">
<source>Record updated</source>
</trans-unit>
<trans-unit id="notification.record_updated.message">
<source>Record "%s" has been updated. The view is being refreshed.</source>
</trans-unit>
<trans-unit id="openFullEditView">
<source>Open full editing view</source>
</trans-unit>
<trans-unit id="search.find_record">
<source>Find records</source>
</trans-unit>
<trans-unit id="search.no_records_found">
<source>No records found</source>
</trans-unit>
<trans-unit id="flexform.section.delete.title">
<source>Delete this container?</source>
</trans-unit>
<trans-unit id="flexform.section.delete.message">
<source>Are you sure you want to delete this container?</source>
</trans-unit>
<trans-unit id="tcatree.findItem">
<source>Filter by item</source>
</trans-unit>
<trans-unit id="tcatree.expandAll">
<source>Expand all</source>
</trans-unit>
<trans-unit id="tcatree.collapseAll">
<source>Collapse all</source>
</trans-unit>
<trans-unit id="tcatree.toggleHideUnchecked">
<source>Toggle hide unchecked</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,176 @@
<?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:backend/Resources/Private/Language/locallang_browse_links.xlf" date="2011-10-17T20:22:33Z" product-name="lang">
<header/>
<body>
<trans-unit id="linkBrowser">
<source>Link Browser</source>
</trans-unit>
<trans-unit id="openLinkWizard">
<source>Open link wizard</source>
</trans-unit>
<trans-unit id="removeLink">
<source>Remove link</source>
</trans-unit>
<trans-unit id="uploadImage">
<source>Upload Image</source>
</trans-unit>
<trans-unit id="update">
<source>Update</source>
</trans-unit>
<trans-unit id="path">
<source>Path</source>
</trans-unit>
<trans-unit id="page">
<source>Page</source>
</trans-unit>
<trans-unit id="file">
<source>File</source>
</trans-unit>
<trans-unit id="folder">
<source>Folder</source>
</trans-unit>
<trans-unit id="extUrl">
<source>External URL</source>
</trans-unit>
<trans-unit id="email">
<source>Email</source>
</trans-unit>
<trans-unit id="email.subject">
<source>Subject</source>
</trans-unit>
<trans-unit id="email.cc">
<source>CC</source>
</trans-unit>
<trans-unit id="email.bcc">
<source>BCC</source>
</trans-unit>
<trans-unit id="email.body">
<source>Body</source>
</trans-unit>
<trans-unit id="telephone">
<source>Telephone</source>
</trans-unit>
<trans-unit id="special">
<source>Special</source>
</trans-unit>
<trans-unit id="folderTree">
<source>Folder Tree</source>
</trans-unit>
<trans-unit id="files">
<source>Files</source>
</trans-unit>
<trans-unit id="folders">
<source>Folders</source>
</trans-unit>
<trans-unit id="target">
<source>Target</source>
</trans-unit>
<trans-unit id="linkRelationship">
<source>Relationship</source>
</trans-unit>
<trans-unit id="class">
<source>CSS-Class</source>
</trans-unit>
<trans-unit id="title">
<source>Title</source>
</trans-unit>
<trans-unit id="params">
<source>Additional link parameters</source>
</trans-unit>
<trans-unit id="newWindow">
<source>New window</source>
</trans-unit>
<trans-unit id="top">
<source>Top</source>
</trans-unit>
<trans-unit id="none">
<source>None - new link!</source>
</trans-unit>
<trans-unit id="pageTree">
<source>Page tree</source>
</trans-unit>
<trans-unit id="contentElements">
<source>Content elements</source>
</trans-unit>
<trans-unit id="selectRecords">
<source>Select Records</source>
</trans-unit>
<trans-unit id="addToList">
<source>Add to list...</source>
</trans-unit>
<trans-unit id="info">
<source>Info</source>
</trans-unit>
<trans-unit id="emailAddress">
<source>Email address</source>
</trans-unit>
<trans-unit id="telephoneNumber">
<source>Telephone number</source>
</trans-unit>
<trans-unit id="setLink">
<source>Set Link</source>
</trans-unit>
<trans-unit id="linkTo">
<source>Link to %s</source>
</trans-unit>
<trans-unit id="urlPlaceholder" translate="no">
<source>https://...</source>
</trans-unit>
<trans-unit id="clickToRedrawFullSize">
<source>Image is larger than shown here! Click to redraw page with full sized images.</source>
</trans-unit>
<trans-unit id="findDragDrop">
<source>Find and click on your image then drag it into the editor in the main window!</source>
</trans-unit>
<trans-unit id="noWebFolder">
<source>You cannot drag images from this folder (yellow) because it is internal on the server.</source>
</trans-unit>
<trans-unit id="currentLink">
<source>Current Link</source>
</trans-unit>
<trans-unit id="invalidChar">
<source>ERROR: Invalid character found in file path (%s). Cannot add the file!</source>
</trans-unit>
<trans-unit id="toggleSelection">
<source>Toggle selection</source>
</trans-unit>
<trans-unit id="importSelection">
<source>Import selection</source>
</trans-unit>
<trans-unit id="recordSelector">
<source>Record selector</source>
</trans-unit>
<trans-unit id="fileSelector">
<source>File selector</source>
</trans-unit>
<trans-unit id="folderSelector">
<source>Folder selector</source>
</trans-unit>
<trans-unit id="createFolder">
<source>Create new folder</source>
</trans-unit>
<trans-unit id="page_id">
<source>Page ID</source>
</trans-unit>
<trans-unit id="download">
<source>Force download</source>
</trans-unit>
<trans-unit id="download.customFilename">
<source>Custom filename</source>
</trans-unit>
<trans-unit id="displayThumbs">
<source>Display thumbnails</source>
</trans-unit>
<trans-unit id="no_files">
<source>No files found in %s</source>
</trans-unit>
<trans-unit id="no_files_search">
<source>No files found in %s for "%s"</source>
</trans-unit>
<trans-unit id="recordNotFound">
<source>Record not found</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,14 @@
<?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:backend/Resources/Private/Language/locallang_codeeditor.xlf" date="2023-11-20T10:56:42Z" product-name="backend">
<header/>
<body>
<trans-unit id="pageIDInteger">
<source>Syntax error: Parameter pageID must be a valid integer.</source>
</trans-unit>
<trans-unit id="noPermission">
<source>Access denied: No permission to template records.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,26 @@
<?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:backend/Resources/Private/Language/locallang_column_selector.xlf" date="2021-08-25T02:11:02Z" product-name="backend">
<header/>
<body>
<trans-unit id="showColumns">
<source>Show columns</source>
</trans-unit>
<trans-unit id="showColumnsSelection">
<source>Show columns for %s</source>
</trans-unit>
<trans-unit id="updateColumnView">
<source>Update</source>
</trans-unit>
<trans-unit id="updateColumnView.nothingUpdated">
<source>No columns were updated</source>
</trans-unit>
<trans-unit id="updateColumnView.error">
<source>Could not update columns</source>
</trans-unit>
<trans-unit id="columnsFilter">
<source>Filter by:</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,17 @@
<?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:backend/Resources/Private/Language/locallang_copytoclipboard.xlf" date="2021-06-01T12:43:12Z" product-name="backend">
<header/>
<body>
<trans-unit id="copyToClipboard.title">
<source>Copy %s to clipboard</source>
</trans-unit>
<trans-unit id="copyToClipboard.success">
<source>Copied to clipboard</source>
</trans-unit>
<trans-unit id="copyToClipboard.error">
<source>Could not be copied to clipboard</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,113 @@
<?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:backend/Resources/Private/Language/locallang_download.xlf" date="2012-06-17T10:22:33Z" product-name="recordlist">
<header/>
<body>
<trans-unit id="downloadRecord">
<source>Download %d record</source>
</trans-unit>
<trans-unit id="downloadRecords">
<source>Download %d records</source>
</trans-unit>
<trans-unit id="download">
<source>Download</source>
</trans-unit>
<trans-unit id="downloadRecordSettings">
<source>Download %s: %d Record</source>
</trans-unit>
<trans-unit id="downloadRecordsSettings">
<source>Download %s: %d Records</source>
</trans-unit>
<trans-unit id="downloadSettings.generalSettings">
<source>General settings</source>
</trans-unit>
<trans-unit id="downloadSettings.columnsToDownload">
<source>Columns to download</source>
</trans-unit>
<trans-unit id="downloadSettings.selectedColumns">
<source>Selected columns</source>
</trans-unit>
<trans-unit id="downloadSettings.allColumns">
<source>All columns</source>
</trans-unit>
<trans-unit id="downloadSettings.valueFormat">
<source>Format of values</source>
</trans-unit>
<trans-unit id="downloadSettings.rawValues">
<source>Raw values</source>
</trans-unit>
<trans-unit id="downloadSettings.processedValues">
<source>Processed values</source>
</trans-unit>
<trans-unit id="downloadSettings.default">
<source>Default: %s</source>
</trans-unit>
<trans-unit id="downloadSettings.filename">
<source>Filename</source>
</trans-unit>
<trans-unit id="downloadSettings.filename.placeholder">
<source>e.g. %s_ddmmyy-hhmm</source>
</trans-unit>
<trans-unit id="downloadSettings.format">
<source>Format</source>
</trans-unit>
<trans-unit id="downloadSettings.format.csv">
<source>CSV</source>
</trans-unit>
<trans-unit id="downloadSettings.format.json">
<source>JSON</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv">
<source>CSV options</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.delimiter">
<source>Delimiter</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.delimiter.comma">
<source>comma</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.delimiter.semicolon">
<source>semicolon</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.delimiter.pipe">
<source>pipe</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.delimiter.custom">
<source>user defined</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.quote">
<source>Quote character</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.quote.doublequote">
<source>double quote</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.quote.singlequote">
<source>single quote</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.quote.space">
<source>space</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.csv.quote.custom">
<source>user defined</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.json">
<source>JSON options</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.json.meta">
<source>Meta information</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.json.meta.full">
<source>Add all relevant information to the download</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.json.meta.prefix">
<source>Prefix the download with table name and page id</source>
</trans-unit>
<trans-unit id="downloadSettings.formatOptions.json.meta.none">
<source>No information, only download records</source>
</trans-unit>
<trans-unit id="downloadSettings.preset">
<source>Preset</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,423 @@
<?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:backend/Resources/Private/Language/locallang_layout.xlf" date="2011-10-17T20:22:32Z" product-name="cms">
<header/>
<body>
<trans-unit id="breadcrumb">
<source>Breadcrumb</source>
</trans-unit>
<trans-unit id="title">
<source>Page content</source>
</trans-unit>
<trans-unit id="noEditItems">
<source>Sorry, you do not have permissions to edit items on this page!</source>
</trans-unit>
<trans-unit id="noEditPage">
<source>Sorry, you do not have permissions to edit this page!</source>
</trans-unit>
<trans-unit id="moveUp">
<source>Move record up</source>
</trans-unit>
<trans-unit id="moveDown">
<source>Move record down</source>
</trans-unit>
<trans-unit id="unHide">
<source>Un-hide</source>
</trans-unit>
<trans-unit id="hide">
<source>Hide</source>
</trans-unit>
<trans-unit id="edit">
<source>Edit</source>
</trans-unit>
<trans-unit id="newAfter">
<source>New record after this one</source>
</trans-unit>
<trans-unit id="move_record">
<source>Re-position current content element</source>
</trans-unit>
<trans-unit id="move_page">
<source>Move page</source>
</trans-unit>
<trans-unit id="transfer_multiple">
<source>Transfer multiple items</source>
</trans-unit>
<trans-unit id="mess.transfer_multiple">
<source>Transfer %d items into "%s"?</source>
</trans-unit>
<trans-unit id="drop.conflict">
<source>Conflict with dropped node</source>
</trans-unit>
<trans-unit id="mess.drop.conflict">
<source>The node %s is a parent of %s and therefore cannot be moved. Operation canceled.</source>
</trans-unit>
<trans-unit id="deleteItem">
<source>Delete</source>
</trans-unit>
<trans-unit id="deleteWarning">
<source>Are you sure you want to delete the record '%s'?</source>
</trans-unit>
<trans-unit id="pasteIntoColumn">
<source>Paste into this column</source>
</trans-unit>
<trans-unit id="pasteAfterRecord">
<source>Paste after this record</source>
</trans-unit>
<trans-unit id="paste.modal.title.paste">
<source>Paste record</source>
</trans-unit>
<trans-unit id="paste.modal.paste">
<source>Do you want to paste the record to this position?</source>
</trans-unit>
<trans-unit id="paste.modal.button.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="paste.modal.button.paste">
<source>Paste</source>
</trans-unit>
<trans-unit id="editColumn">
<source>Edit this column</source>
</trans-unit>
<trans-unit id="slideModeInfo.slide">
<source>If this page has no content, content is automatically taken from the nearest parent page above that contains content.</source>
</trans-unit>
<trans-unit id="slideModeInfo.collect">
<source>Content from this page and all parent pages is collected and shown together, starting with the topmost page and ending with this page.</source>
</trans-unit>
<trans-unit id="slideModeInfo.collectReverse">
<source>Content from this page and all parent pages is collected and shown together, starting with this page and ending with the topmost page.</source>
</trans-unit>
<trans-unit id="editPageProperties_curLang">
<source>Edit translation properties</source>
</trans-unit>
<trans-unit id="editInRTE">
<source>Edit in Rich Text Editor</source>
</trans-unit>
<trans-unit id="newPageContent">
<source>Create page content</source>
</trans-unit>
<trans-unit id="newPageContent_translate">
<source>Translate</source>
</trans-unit>
<trans-unit id="newPageContent2">
<source>New content</source>
</trans-unit>
<trans-unit id="content">
<source>Content</source>
</trans-unit>
<trans-unit id="createNewContent">
<source>Create new content</source>
</trans-unit>
<trans-unit id="newInColumn">
<source>Create new record in top of this column</source>
</trans-unit>
<trans-unit id="records">
<source>records</source>
</trans-unit>
<trans-unit id="pageInformation">
<source>Page information</source>
</trans-unit>
<trans-unit id="goToTable">
<source>Go to table</source>
</trans-unit>
<trans-unit id="internalNotes">
<source>Internal notes</source>
</trans-unit>
<trans-unit id="clearCache">
<source>Click here to clear cache for this page.</source>
</trans-unit>
<trans-unit id="hiddenCE">
<source>Show hidden content elements</source>
</trans-unit>
<trans-unit id="new_language">
<source>Create a new translation of this page</source>
</trans-unit>
<trans-unit id="newLabel">
<source>NEW</source>
</trans-unit>
<trans-unit id="defaultLanguage">
<source>Default</source>
</trans-unit>
<trans-unit id="editLanguageHeader">
<source>Edit language header</source>
</trans-unit>
<trans-unit id="editPageProperties">
<source>Edit page properties</source>
</trans-unit>
<trans-unit id="editPageTitle">
<source>Edit the page title</source>
</trans-unit>
<trans-unit id="editPageTitle.input.field.label">
<source>Enter a page title</source>
</trans-unit>
<trans-unit id="editPageLanguageOverlayProperties">
<source>Edit page language overlay properties</source>
</trans-unit>
<trans-unit id="editThisColumn">
<source>Edit the '%s' field of the listed pages</source>
</trans-unit>
<trans-unit id="newRecordGeneral">
<source>Create new record</source>
</trans-unit>
<trans-unit id="newContentElement">
<source>New Page Content</source>
</trans-unit>
<trans-unit id="CEonThisPage">
<source>Content elements on this page</source>
</trans-unit>
<trans-unit id="newPage">
<source>Create new page</source>
</trans-unit>
<trans-unit id="newPage2">
<source>New page</source>
</trans-unit>
<trans-unit id="noAccess">
<source>No edit access</source>
</trans-unit>
<trans-unit id="noAccess_msg">
<source>You do not have access to edit the requested record.</source>
</trans-unit>
<trans-unit id="notAssigned">
<source>Not assigned</source>
</trans-unit>
<trans-unit id="emptyColPos">
<source>Empty section</source>
</trans-unit>
<trans-unit id="emptyColPos.message">
<source>This section is only for display purposes, no "colPos" configuration is set.</source>
</trans-unit>
<trans-unit id="unusedColPos">
<source>Unused</source>
</trans-unit>
<trans-unit id="undoLastChange">
<source>Undo/Redo last change (%s ago)</source>
</trans-unit>
<trans-unit id="recordHistory">
<source>View record change history</source>
</trans-unit>
<trans-unit id="viewContent">
<source>Viewing content of</source>
</trans-unit>
<trans-unit id="tt_board_subject">
<source>Subject</source>
</trans-unit>
<trans-unit id="tt_board_author">
<source>Author</source>
</trans-unit>
<trans-unit id="tt_board_date">
<source>Date</source>
</trans-unit>
<trans-unit id="tt_board_age">
<source>Age</source>
</trans-unit>
<trans-unit id="tt_board_RE">
<source>RE</source>
</trans-unit>
<trans-unit id="gridView">
<source>Grid-View</source>
</trans-unit>
<trans-unit id="m_tt_board_0">
<source>List topics only</source>
</trans-unit>
<trans-unit id="m_tt_board_expand">
<source>Expand Threads</source>
</trans-unit>
<trans-unit id="m_tt_address_0">
<source>Short List</source>
</trans-unit>
<trans-unit id="m_tt_address_1">
<source>Address list</source>
</trans-unit>
<trans-unit id="m_tt_address_2">
<source>Personal info</source>
</trans-unit>
<trans-unit id="m_tt_links_1">
<source>Whole URL</source>
</trans-unit>
<trans-unit id="m_tt_links_2">
<source>Alternative note</source>
</trans-unit>
<trans-unit id="m_tt_calender_date">
<source>Date</source>
</trans-unit>
<trans-unit id="m_tt_calender_date_ext">
<source>Date - extended</source>
</trans-unit>
<trans-unit id="m_tt_calender_todo">
<source>Todo</source>
</trans-unit>
<trans-unit id="m_tt_calender_todo_ext">
<source>Todo - extended</source>
</trans-unit>
<trans-unit id="m_tt_calender_ext">
<source>Extended</source>
</trans-unit>
<trans-unit id="m_tt_products_ext">
<source>Extended</source>
</trans-unit>
<trans-unit id="m_default">
<source>Default</source>
</trans-unit>
<trans-unit id="clickAPage_content">
<source>Please select a page in the page tree to edit page content.</source>
</trans-unit>
<trans-unit id="pI_crUser">
<source>Created by</source>
</trans-unit>
<trans-unit id="pI_crDate">
<source>Created date</source>
</trans-unit>
<trans-unit id="pI_lastChange">
<source>Last change</source>
</trans-unit>
<trans-unit id="pI_lastChangeContent">
<source>Last change, content</source>
</trans-unit>
<trans-unit id="pI_hitsTotal">
<source>Total Hits</source>
</trans-unit>
<trans-unit id="pI_hitsPeriod">
<source>Hits Period</source>
</trans-unit>
<trans-unit id="pI_hits24hours">
<source>Last 24 hours</source>
</trans-unit>
<trans-unit id="pI_hits10days">
<source>Last 10 days</source>
</trans-unit>
<trans-unit id="content_from_pid_title">
<source>Page uses content from this page: %s</source>
</trans-unit>
<trans-unit id="content_from_pid_invalid_title">
<source>Page is defined to use content from PID %s, but this page does not exist or is inaccessible</source>
</trans-unit>
<trans-unit id="content_on_pid_title">
<source>This content is also shown on: %s</source>
</trans-unit>
<trans-unit id="pageIsInternalLinkMessage">
<source>Page is a link to the following page: %s</source>
</trans-unit>
<trans-unit id="pageIsMisconfiguredInternalLinkMessage">
<source>Page is configured to be a link but there is actually no valid target defined.</source>
</trans-unit>
<trans-unit id="pageIsMisconfiguredOrNotAccessibleInternalLinkMessage">
<source>Page is configured to be a link but there is actually no target defined which is accessible in the frontend.</source>
</trans-unit>
<trans-unit id="pageIsMisconfiguredFirstSubpageMessage">
<source>Page is configured to be a link to the first subpage but there is actually no such page accessible in the frontend.</source>
</trans-unit>
<trans-unit id="pageIsMisconfiguredParentPageMessage">
<source>Page is configured to be a link to the parent page but there is actually no such page accessible in the frontend.</source>
</trans-unit>
<trans-unit id="goToRecordsModule">
<source>Go to records module</source>
</trans-unit>
<trans-unit id="goToListModuleMessage">
<source>The current page is a folder. Folders usually don't contain content elements but are used for collecting other types of records.</source>
</trans-unit>
<trans-unit id="staleTranslationWarning">
<source>Make sure that this behavior is intended and does not pose a problem for you. We highlighted the problematic records for you.</source>
</trans-unit>
<trans-unit id="staleTranslationWarningTitle">
<source>Inconsistent content detected in language "%s"</source>
</trans-unit>
<trans-unit id="languageModeFree">
<source>Free Mode</source>
</trans-unit>
<trans-unit id="languageModeConnected">
<source>Connected Mode</source>
</trans-unit>
<trans-unit id="languageModeMixed">
<source>Mixed Mode</source>
</trans-unit>
<trans-unit id="languageContainsWorkspaceDeletePlaceholderRecords">
<source>Deleted workspace elements are not shown</source>
</trans-unit>
<trans-unit id="staleUnusedElementsWarning">
<source>These elements don't belong to any of the available columns of this page. You should either delete them or move them to existing columns. We highlighted the problematic records for you.</source>
</trans-unit>
<trans-unit id="staleUnusedElementsWarningTitle">
<source>Unused elements detected on this page</source>
</trans-unit>
<trans-unit id="localize.chooseLanguage">
<source>Choose your language</source>
</trans-unit>
<trans-unit id="localize.wizard.header">
<source>Localize record "{0}" into {1}</source>
</trans-unit>
<trans-unit id="localize.wizard.header_page">
<source>Localize page "{0}" into {1}</source>
</trans-unit>
<trans-unit id="localize.wizard.button.translate">
<source>Translate</source>
</trans-unit>
<trans-unit id="localize.wizard.button.copy">
<source>Copy</source>
</trans-unit>
<trans-unit id="localize.wizard.button.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="localize.wizard.button.next">
<source>Next</source>
</trans-unit>
<trans-unit id="localize.wizard.button.process">
<source>Start processing</source>
</trans-unit>
<trans-unit id="localize.wizard.step.selectMode">
<source>Localization mode</source>
</trans-unit>
<trans-unit id="localize.wizard.step.chooseLanguage">
<source>Source Language</source>
</trans-unit>
<trans-unit id="localize.wizard.step.selectRecords">
<source>Records</source>
</trans-unit>
<trans-unit id="localize.view.chooseLanguage">
<source>Choose the language from which you want to localize the content</source>
</trans-unit>
<trans-unit id="localize.view.summary">
<source>Record summary</source>
</trans-unit>
<trans-unit id="localize.view.processing">
<source>Processing...</source>
</trans-unit>
<trans-unit id="localize.progress.step">
<source>Step {0} of {1}</source>
</trans-unit>
<trans-unit id="localize.educate.translate">
<source>Translating content will create a direct connection between the original language and the language you translate to.&lt;br&gt;
This means that moving an element or setting meta information like start- or endtime will be taken from the original content and you will not be able to set these values on a translated content element.&lt;br&gt;
&lt;strong&gt;Use this when your workflow demands a strict translation workflow.&lt;/strong&gt;
</source>
</trans-unit>
<trans-unit id="localize.educate.copy">
<source>Copying content will take the content elements from the source language and create copies in a different language.&lt;br&gt;
This means that you will be able to move content elements around freely, but you will not have the benefit of being able to compare changes made in the source language later on.&lt;br&gt;
&lt;strong&gt;Use this when you want to have freedom in designing your translated website.&lt;/strong&gt;
</source>
</trans-unit>
<trans-unit id="window.localization.mixed_mode.title">
<source>Localization not possible</source>
</trans-unit>
<trans-unit id="window.localization.mixed_mode.message">
<source>Using the translation wizard is not possible, because either translation is disabled or the translated page is in "mixed mode". Being in "mixed mode" means that both translated records that have a source language and "free mode" records without a parent, are present.
We highlighted the problematic records for you in this case.</source>
</trans-unit>
<trans-unit id="error.invalidBackendLayout">
<source>The selected page layout is mis-configured, no columns are specified to be editable. Please update your backend layout to have at least one parameter "colPos" set.</source>
</trans-unit>
<trans-unit id="dragdrop.copy.message">
<source>Press CTRL to copy</source>
</trans-unit>
<trans-unit id="progressTracker.steps">
<source>Step %d of %d</source>
</trans-unit>
<trans-unit id="showPageQrCode">
<source>Show QR code</source>
</trans-unit>
<trans-unit id="showPageQrCode.modalTitle">
<source>QR Code for Page Preview</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,83 @@
<?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:backend/Resources/Private/Language/locallang_login.xlf" date="2011-10-17T20:22:34Z" product-name="lang">
<header/>
<body>
<trans-unit id="labels.submitLogout">
<source>Log Out</source>
</trans-unit>
<trans-unit id="labels.whatIsOpenId">
<source>What is OpenId?</source>
</trans-unit>
<trans-unit id="availableInterfaces">
<source>Backend,Front End,Traditional Backend</source>
</trans-unit>
<trans-unit id="headline">
<source>Login to the TYPO3 CMS Backend on ###SITENAME###</source>
</trans-unit>
<trans-unit id="info.about">
<source>This is the backend login of TYPO3. You need username and password to access this administration interface. If you are a visitor of ###SITENAME###, please visit the public website: ###SITELINK###</source>
</trans-unit>
<trans-unit id="info.reset">
<source>Reset this form</source>
</trans-unit>
<trans-unit id="info.cookies_and_js">
<source>(Note: Cookies and JavaScript must be enabled!)</source>
</trans-unit>
<trans-unit id="clear">
<source>Clear this field!</source>
</trans-unit>
<trans-unit id="warning.incompatibleBrowserHeadline">
<source>Unsupported Browser</source>
</trans-unit>
<trans-unit id="warning.incompatibleBrowser">
<source>You are using an unsupported browser version.</source>
</trans-unit>
<trans-unit id="warning.incompatibleBrowserInternetExplorer">
<source>Please install &lt;a href="http://www.microsoft.com/internetexplorer/" target="_blank" rel="noreferrer" /&gt;a more modern browser version&lt;/a&gt;.</source>
</trans-unit>
<trans-unit id="newsheadline">
<source>Important Messages</source>
</trans-unit>
<trans-unit id="error.login">
<source>Your login attempt did not succeed. Make sure to spell your username and password correctly, including upper/lowercase characters.</source>
</trans-unit>
<trans-unit id="error.cookies_ignore">
<source>Ignore!</source>
</trans-unit>
<trans-unit id="error.furtherInformation">
<source>For more information or further help click here</source>
</trans-unit>
<trans-unit id="typo3.cms">
<source>TYPO3 CMS</source>
</trans-unit>
<trans-unit id="typo3.altText">
<source>TYPO3 CMS logo</source>
</trans-unit>
<trans-unit id="version.short">
<source>ver.</source>
</trans-unit>
<trans-unit id="copyright">
<source>Copyright</source>
</trans-unit>
<trans-unit id="extension.copyright">
<source>Extensions are copyright of their respective owners.</source>
</trans-unit>
<trans-unit id="extension.trademark">
<source>TYPO3 is a registered %strademark%s.</source>
</trans-unit>
<trans-unit id="free.software">
<source>This is free software, and you are welcome to redistribute it under certain conditions; %sdetails about licenses.%s</source>
</trans-unit>
<trans-unit id="free_software_and_warranty">
<source>TYPO3 CMS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions, see %sdetails about licenses.%s</source>
</trans-unit>
<trans-unit id="free_software_and_custom_warranty">
<source>Warranty is supplied by %s. This is free software, and you are welcome to redistribute it under certain conditions, see %sdetails about licenses.%s</source>
</trans-unit>
<trans-unit id="keep.notice">
<source>Obstructing the appearance of this notice is prohibited by law.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,205 @@
<?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:backend/Resources/Private/Language/locallang_mfa.xlf" date="2021-01-26T11:58:45Z" product-name="cms">
<header/>
<body>
<trans-unit id="overview.title">
<source>Multi-factor Authentication Overview</source>
</trans-unit>
<trans-unit id="overview.badge.active">
<source>Active</source>
</trans-unit>
<trans-unit id="overview.badge.locked">
<source>Locked</source>
</trans-unit>
<trans-unit id="overview.defaultProvider">
<source>Default provider</source>
</trans-unit>
<trans-unit id="overview.unlockLinkTitle">
<source>Unlock %s</source>
</trans-unit>
<trans-unit id="overview.unlockLinkLabel">
<source>Unlock</source>
</trans-unit>
<trans-unit id="overview.editLinkTitle">
<source>Edit %s</source>
</trans-unit>
<trans-unit id="overview.editLinkLabel">
<source>Edit / Change</source>
</trans-unit>
<trans-unit id="overview.deactivateLinkTitle">
<source>Deactivate %s</source>
</trans-unit>
<trans-unit id="overview.deactivateLinkLabel">
<source>Deactivate</source>
</trans-unit>
<trans-unit id="overview.setupLinkTitle">
<source>Setup %s</source>
</trans-unit>
<trans-unit id="overview.setupLinkLabel">
<source>Setup</source>
</trans-unit>
<trans-unit id="overview.setupRequired.title">
<source>Multi-factor authentication required</source>
</trans-unit>
<trans-unit id="overview.setupRequired.message">
<source>
Your installation requires MFA. Therefore please setup one of the following providers to be able to continue to use the backend.
</source>
</trans-unit>
<trans-unit id="overview.noProviders.title">
<source>No multi-factor authentication providers</source>
</trans-unit>
<trans-unit id="overview.noProviders.message">
<source>There are currently no multi-factor authentication providers available.</source>
</trans-unit>
<trans-unit id="noprovider_error_message">
<source>
Multi-factor authentification (MFA) setup is required, but no providers are currently available for you to activate. This might be a misconfiguration, so please contact your administrator for assistance.
</source>
</trans-unit>
<trans-unit id="providerNotFound">
<source>Selected MFA provider was not found</source>
</trans-unit>
<trans-unit id="providerNotActive">
<source>This action requires an active MFA provider.</source>
</trans-unit>
<trans-unit id="providerActive">
<source>This action requires an inactive MFA provider.</source>
</trans-unit>
<trans-unit id="providerIsLocked">
<source>This action requires an unlocked MFA provider.</source>
</trans-unit>
<trans-unit id="setup.instructions">
<source>Setup instructions</source>
</trans-unit>
<trans-unit id="setup.instructions.close">
<source>Close setup instructions</source>
</trans-unit>
<trans-unit id="setup.title">
<source>Set up %s</source>
</trans-unit>
<trans-unit id="edit.title">
<source>Edit %s</source>
</trans-unit>
<trans-unit id="edit.defaultProvider">
<source>Default provider</source>
</trans-unit>
<trans-unit id="edit.defaultProvider.description">
<source>Select this as your default provider for login into the TYPO3 backend.</source>
</trans-unit>
<trans-unit id="edit.defaultProvider.inputLabel">
<source>Use as default provider</source>
</trans-unit>
<trans-unit id="edit.deactivateProvider">
<source>Deactivate provider</source>
</trans-unit>
<trans-unit id="edit.deactivateProvider.description">
<source>If you don't want to use this provider anymore, you can deactivate it here.</source>
</trans-unit>
<trans-unit id="edit.deactivateProvider.linkTitle">
<source>Deactivate %s</source>
</trans-unit>
<trans-unit id="edit.deactivateProvider.linkText">
<source>Deactivate this provider</source>
</trans-unit>
<trans-unit id="activate.failure">
<source>Could not activate MFA provider %s. Please try again.</source>
</trans-unit>
<trans-unit id="activate.success">
<source>Successfully activated MFA provider %s.</source>
</trans-unit>
<trans-unit id="deactivate.failure">
<source>Could not deactivate MFA provider %s. Please try again.</source>
</trans-unit>
<trans-unit id="deactivate.success">
<source>Successfully deactivated MFA provider %s.</source>
</trans-unit>
<trans-unit id="unlock.failure">
<source>Could not unlock MFA provider %s. Please try again.</source>
</trans-unit>
<trans-unit id="unlock.success">
<source>Successfully unlocked MFA provider %s.</source>
</trans-unit>
<trans-unit id="save.failure">
<source>Could not update MFA provider %s. Please try again.</source>
</trans-unit>
<trans-unit id="save.success">
<source>Successfully updated MFA provider %s.</source>
</trans-unit>
<trans-unit id="auth.authError">
<source>Authentication was not successful.</source>
</trans-unit>
<trans-unit id="auth.submit">
<source>Verify</source>
</trans-unit>
<trans-unit id="auth.cancel">
<source>Go back</source>
</trans-unit>
<trans-unit id="auth.locked">
<source>This provider is locked. Unlocking may require administrative intervention. Recovery codes can be used to circumvent the lock.</source>
</trans-unit>
<trans-unit id="auth.alternativeProviders">
<source>Alternative providers</source>
</trans-unit>
<trans-unit id="auth.alternativeProviders.use">
<source>Use %s</source>
</trans-unit>
<trans-unit id="standalone.setupProvider">
<source>Set up %s</source>
</trans-unit>
<trans-unit id="standalone.selection.title">
<source>Set up MFA</source>
</trans-unit>
<trans-unit id="standalone.selection.message">
<source>
%s requires you setting up MFA to secure your account. Please select one of the available providers below.
</source>
</trans-unit>
<trans-unit id="standalone.selection.goBack">
<source>Go back</source>
</trans-unit>
<trans-unit id="standalone.setup">
<source>Setup</source>
</trans-unit>
<trans-unit id="standalone.setup.cancel">
<source>Cancel</source>
</trans-unit>
<trans-unit id="standalone.setup.success.title">
<source>MFA setup successful</source>
</trans-unit>
<trans-unit id="standalone.setup.success.message">
<source>
You have successfully activated MFA provider %s. This provider was also automatically set as your default provider. You can change this at any time in your user settings.
</source>
</trans-unit>
<trans-unit id="ajax.success">
<source>Success</source>
</trans-unit>
<trans-unit id="ajax.error">
<source>An error occurred</source>
</trans-unit>
<trans-unit id="ajax.invalidRequest">
<source>Invalid request could not be processed</source>
</trans-unit>
<trans-unit id="ajax.insufficientPermissions">
<source>Your are not allowed to perform this action</source>
</trans-unit>
<trans-unit id="ajax.deactivate.providersNotDeactivated">
<source>No provider has been deactivated</source>
</trans-unit>
<trans-unit id="ajax.deactivate.providersDeactivated">
<source>Successfully deactivated all active providers for user %s</source>
</trans-unit>
<trans-unit id="ajax.deactivate.providerNotFound">
<source>Provider %s could not be found</source>
</trans-unit>
<trans-unit id="ajax.deactivate.providerNotDeactivated">
<source>Could not deactivate provider %s</source>
</trans-unit>
<trans-unit id="ajax.deactivate.providerDeactivated">
<source>Successfully deactivated provider %s for user %s</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,74 @@
<?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:backend/Resources/Private/Language/locallang_pages_new.xlf" date="2011-10-17T20:22:37Z" product-name="backend">
<header/>
<body>
<trans-unit id="title">
<source>Create multiple pages</source>
</trans-unit>
<trans-unit id="canNotCreateNew.title">
<source>Insufficient permissions</source>
</trans-unit>
<trans-unit id="canNotCreateNew.message">
<source>Sorry, you are not allowed to create new subpages to this page due to access restrictions.</source>
</trans-unit>
<trans-unit id="newPage">
<source>Page</source>
</trans-unit>
<trans-unit id="addMoreLines">
<source>Add more lines</source>
</trans-unit>
<trans-unit id="listEnd">
<source>Place new pages after the existing subpages</source>
</trans-unit>
<trans-unit id="hidePages">
<source>Hide new pages</source>
</trans-unit>
<trans-unit id="hidePagesInMenus">
<source>Hide new pages in menus</source>
</trans-unit>
<trans-unit id="create">
<source>Create pages</source>
</trans-unit>
<trans-unit id="reset">
<source>Clear fields</source>
</trans-unit>
<trans-unit id="newSubPages">
<source>New page structure</source>
</trans-unit>
<trans-unit id="newSubPages.pageTitle">
<source>Page title</source>
</trans-unit>
<trans-unit id="noPagesCreated.title">
<source>No pages added</source>
</trans-unit>
<trans-unit id="noPagesCreated.message">
<source>No pages were created.</source>
</trans-unit>
<trans-unit id="pagesCreated.title">
<source>Pages added</source>
</trans-unit>
<trans-unit id="pagesCreated.message">
<source>The pages were created successfully.</source>
</trans-unit>
<trans-unit id="multiplePagesCanNotBeCreated.title">
<source>Creation of multiple is disabled because of field requirements</source>
</trans-unit>
<trans-unit id="multiplePagesCanNotBeCreated.message">
<source>Please use the page creation wizard instead.</source>
</trans-unit>
<trans-unit id="multiplePagesCanNotBeCreated.buttonLabel">
<source>Create single page</source>
</trans-unit>
<trans-unit id="availablePageTypesHaveBeenFiltered.title">
<source>Some page types have been filtered because of field requirements</source>
</trans-unit>
<trans-unit id="availablePageTypesHaveBeenFiltered.message">
<source>The following page types need to be created using the page creation wizard:</source>
</trans-unit>
<trans-unit id="availablePageTypesHaveBeenFiltered.buttonLabel">
<source>Create single page</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,74 @@
<?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:backend/Resources/Private/Language/locallang_pages_sort.xlf" date="2011-10-17T20:22:37Z" product-name="backend">
<header/>
<body>
<trans-unit id="title">
<source>Sort sub pages</source>
</trans-unit>
<trans-unit id="currentPageOrder">
<source>Current page order</source>
</trans-unit>
<trans-unit id="changeOrder">
<source>Sort these pages by</source>
</trans-unit>
<trans-unit id="changeOrderConfirm">
<source>You're about to change the order of the above pages. Are you sure you want to continue?</source>
</trans-unit>
<trans-unit id="fieldTitle">
<source>Page title</source>
</trans-unit>
<trans-unit id="fieldSubtitle">
<source>Subtitle</source>
</trans-unit>
<trans-unit id="fieldNavitle">
<source>Navigation title</source>
</trans-unit>
<trans-unit id="fieldCrdate">
<source>Create-time</source>
</trans-unit>
<trans-unit id="fieldTstamp">
<source>Change-time</source>
</trans-unit>
<trans-unit id="changeOrderByTitle">
<source>Page title</source>
</trans-unit>
<trans-unit id="changeOrderBySubtitle">
<source>Subtitle</source>
</trans-unit>
<trans-unit id="changeOrderByNavtitle">
<source>Navigation title</source>
</trans-unit>
<trans-unit id="changeOrderByTstamp">
<source>Change-time</source>
</trans-unit>
<trans-unit id="changeOrderByCreate">
<source>Create-time</source>
</trans-unit>
<trans-unit id="changeOrderReverse">
<source>Reverse current order</source>
</trans-unit>
<trans-unit id="hasInvisiblePage.title">
<source>Invisible subpages</source>
</trans-unit>
<trans-unit id="hasInvisiblePage.message">
<source>Some subpages are not visible because of access restrictions. These hidden pages are excluded from sorting.</source>
</trans-unit>
<trans-unit id="noSubpages.title">
<source>No subpages</source>
</trans-unit>
<trans-unit id="noSubpages.message">
<source>Please select a page with subpages.</source>
</trans-unit>
<trans-unit id="notAvailableInWorkspace.title">
<source>Not implemented</source>
</trans-unit>
<trans-unit id="notAvailableInWorkspace.message">
<source>This function is not available in the current draft workspace; please switch back to the LIVE workspace.</source>
</trans-unit>
<trans-unit id="noEditPermissions">
<source>No edit permissions on this sub page. This page can not be re-sorted among others.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,134 @@
<?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:backend/Resources/Private/Language/locallang_pagetsconfig.xlf" date="2023-01-19T14:41:00Z" product-name="cms">
<header/>
<body>
<trans-unit id="module.pagetsconfig.noAccess">
<source>Access to this module denied.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_pages.headline">
<source>Pages containing page TSconfig</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_pages.description">
<source>Global overview of all pages in the database containing page TSconfig.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_pages.noRecords">
<source>There are no pages containing page TSconfig settings in the page configuration.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_pages.pagetitle">
<source>Page title</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_pages.written_tsconfig_lines">
<source>Number of lines of code in field "TSconfig"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.headline">
<source>Active page TSconfig of page "%s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.description">
<source>Overview of the current page TSconfig of the system. A targeted search for values and names is possible. The list of results can also be filtered according to conditions.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.displayConstantSubstitutions">
<source>Substitute constants in page TSconfig</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.displayComments">
<source>Display comments</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.sortAlphabetically">
<source>Sort keys alphabetically</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.panel.header.conditions">
<source>Conditions</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.panel.info.conditionActiveCount.multiple">
<source>%s active conditions</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.panel.info.conditionActiveCount.single">
<source>%s active condition</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.panel.info.conditionWithConstant">
<source>Site settings usage: [%s]</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.panel.header.configuration">
<source>Configuration</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.siteSettings">
<source>Constants from site settings</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.activePageTsConfig">
<source>Page TSconfig</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.noPageTSconfigAvailable">
<source>No suitable page TSconfig available.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_active.tree.valueWithConstant">
<source>Constant usage: [%s]</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.headline">
<source>Included page TSconfig of page "%s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.description">
<source>Overview of the included TypoScript and include order for the current page.</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.siteSettings">
<source>Constants from site settings</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.pagetsconfig">
<source>Page TSconfig</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.panel.header.configuration">
<source>Configuration</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.panel.header.syntaxErrors">
<source>Syntax scanner warnings</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.panel.info.syntaxErrorCount.single">
<source>%s syntax warning</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.panel.info.syntaxErrorCount.multiple">
<source>%s syntax warnings</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.syntaxError.sourceCode">
<source>Show affected code snippet</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.syntaxError.type.line.invalid">
<source>Invalid line in "%1$s", line number "%2$s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.syntaxError.type.brace.excess">
<source>Brace in excess in "%1$s", line number "%2$s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.syntaxError.type.brace.missing">
<source>Brace missing in "%1$s", line number "%2$s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.syntaxError.type.import.empty">
<source>Import does not find a file in "%1$s", line number "%2$s"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.Segment">
<source>Code segment</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.AtImport">
<source>Included via "@import"</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.Condition">
<source>Condition (then)</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.ConditionElse">
<source>Condition (else)</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.ConditionStop">
<source>Condition (end)</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.TsConfig">
<source>TSconfig</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.type.Site">
<source>Site</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.btn.sourceCode">
<source>Show code</source>
</trans-unit>
<trans-unit id="module.pagetsconfig_includes.tree.child.btn.sourceCodeWithResolvedIncludes">
<source>Show code including possible includes/imports</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,65 @@
<?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:backend/Resources/Private/Language/locallang_reset_password.xlf" date="2020-03-06T11:16:11Z" product-name="backend">
<header/>
<body>
<trans-unit id="headline">
<source>Reset Your Password</source>
</trans-unit>
<trans-unit id="instructions.email">
<source>Please enter the email address associated with your backend user account. You will receive the link to create a new password via email.</source>
</trans-unit>
<trans-unit id="instructions.password">
<source>Enter a new password to reset your current password.</source>
</trans-unit>
<trans-unit id="instructions.password_requirement">
<source>Please ensure that your new password matches the following requirements:</source>
</trans-unit>
<trans-unit id="note.other_providers">
<source>Note: If you're using a centralized user management system such as LDAP, OAuth or Active Directory, you might not receive an email.</source>
</trans-unit>
<trans-unit id="email_sent.headline">
<source>Check your inbox</source>
</trans-unit>
<trans-unit id="email_sent.message">
<source><![CDATA[If a backend user with the email address "%s" exists, an email has been sent to this address. Please check your inbox and spam folder.]]></source>
</trans-unit>
<trans-unit id="reset_success.headline">
<source>You've successfully reset your password</source>
</trans-unit>
<trans-unit id="reset_success.message">
<source><![CDATA[With your new credentials you can now log in to the <a href="%s">TYPO3 backend</a>.]]></source>
</trans-unit>
<trans-unit id="input.email">
<source>Enter your email address</source>
</trans-unit>
<trans-unit id="input.password">
<source>Enter your new password</source>
</trans-unit>
<trans-unit id="input.passwordrepeat">
<source>Enter your new password again</source>
</trans-unit>
<trans-unit id="button.initiate">
<source>Get Reset Link</source>
</trans-unit>
<trans-unit id="button.reset">
<source>Reset Your Password Now</source>
</trans-unit>
<trans-unit id="button.restart">
<source>Start over</source>
</trans-unit>
<trans-unit id="button.back_to_login">
<source>Go back to login page</source>
</trans-unit>
<trans-unit id="error.invalid_email">
<source>The entered email address is invalid. Please try again.</source>
</trans-unit>
<trans-unit id="error.token_expired">
<source>The password reset link is invalid or has expired.</source>
</trans-unit>
<trans-unit id="error.password">
<source>The password you entered is invalid or the passwords do not match. Please try again.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,47 @@
<?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:backend/Resources/Private/Language/locallang_resource.xlf" date="2023-02-21T00:00:00Z" product-name="cms">
<header/>
<body>
<trans-unit id="ajax.success">
<source>Success</source>
</trans-unit>
<trans-unit id="ajax.success.message.renamed">
<source>The resource "%s" has been renamed to "%s".</source>
</trans-unit>
<trans-unit id="ajax.success.message.resourceReplaced">
<source>The resource %s has been replaced.</source>
</trans-unit>
<trans-unit id="ajax.error">
<source>An error occurred</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNotFileOrFolder">
<source>The resource must be a file or a folder.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceOutsideOfStorages">
<source>Access to files outside your configured storages is not permitted.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNoPermissionRead">
<source>Reading this resource is not permitted.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNoPermissionRename">
<source>Renaming this resource is not permitted.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNameCannotBeEmpty">
<source>The resource name cannot be empty.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNameNotDifferent">
<source>The resource %s already has this name. No changes were made.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNotAvailableToUpload">
<source>No resource was selected to be uploaded.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNotRenamed">
<source>The resource %s could not be renamed.</source>
</trans-unit>
<trans-unit id="ajax.error.message.resourceNotFound">
<source>The resource was not found.</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,44 @@
<?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:backend/Resources/Private/Language/locallang_settingseditor.xlf" date="2024-09-10T12:13:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="settingseditor.mode.minimal">
<source>Minimal</source>
</trans-unit>
<trans-unit id="settingseditor.mode.basic">
<source>Basic</source>
</trans-unit>
<trans-unit id="settingseditor.mode.advanced">
<source>Advanced</source>
</trans-unit>
<trans-unit id="settingseditor.edit.resetSetting">
<source>Reset setting</source>
</trans-unit>
<trans-unit id="settingseditor.edit.copySettingsIdentifier">
<source>Copy identifier</source>
</trans-unit>
<trans-unit id="settingseditor.edit.copyAsYaml">
<source>Copy as YAML</source>
</trans-unit>
<trans-unit id="settingseditor.search.searchTermVisuallyHiddenLabel">
<source>Search settings</source>
</trans-unit>
<trans-unit id="settingseditor.search.searchTermPlaceholder">
<source>Search settings</source>
</trans-unit>
<trans-unit id="settingseditor.search.noResultsTitle">
<source>No settings were found.</source>
</trans-unit>
<trans-unit id="settingseditor.search.noResultsMessage">
<source>The search filters by setting value, label, description or identifier.</source>
</trans-unit>
<trans-unit id="settingseditor.search.noResultsResetButtonLabel">
<source>Reset filter</source>
</trans-unit>
<trans-unit id="settingseditor.type.page.button">
<source>Select page</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,149 @@
<?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:backend/Resources/Private/Language/locallang_show_rechis.xlf" date="2011-10-17T20:22:34Z" product-name="lang">
<header/>
<body>
<trans-unit id="title">
<source>History/Undo</source>
</trans-unit>
<trans-unit id="headline.titleOf">
<source>of</source>
</trans-unit>
<trans-unit id="time">
<source>Time</source>
</trans-unit>
<trans-unit id="user">
<source>User</source>
</trans-unit>
<trans-unit id="workspace">
<source>Workspace</source>
</trans-unit>
<trans-unit id="column.action">
<source>Action</source>
</trans-unit>
<trans-unit id="column.recordTitle">
<source>Title</source>
</trans-unit>
<trans-unit id="differences">
<source>Differences</source>
</trans-unit>
<trans-unit id="changes">
<source>Changelog</source>
</trans-unit>
<trans-unit id="return">
<source>Return</source>
</trans-unit>
<trans-unit id="returnLink">
<source>Click here to go back</source>
</trans-unit>
<trans-unit id="revertAll">
<source>Rollback all changes shown</source>
</trans-unit>
<trans-unit id="revertRecord">
<source>Rollback single record</source>
</trans-unit>
<trans-unit id="revertField">
<source>Rollback single field</source>
</trans-unit>
<trans-unit id="userNotFound">
<source>Not found (non-existent user)</source>
</trans-unit>
<trans-unit id="externalChange">
<source>Automated process (missing user information)</source>
</trans-unit>
<trans-unit id="viaUser">
<source>via</source>
</trans-unit>
<trans-unit id="sumUpChanges">
<source>Rollback all changes to this state (preview)</source>
</trans-unit>
<trans-unit id="markState">
<source>mark this change</source>
</trans-unit>
<trans-unit id="unmarkState">
<source>unMark this change</source>
</trans-unit>
<trans-unit id="elementHistory">
<source>You are currently seeing the history for an element</source>
</trans-unit>
<trans-unit id="elementHistory_link">
<source>Show the full page history</source>
</trans-unit>
<trans-unit id="linkRecordHistory">
<source>Limit history to this record</source>
</trans-unit>
<trans-unit id="differenceMsg">
<source>In the Difference column you can see the changes at every modification of records. New changes are displayed in green colored text and the red colored text are the old values which were removed.</source>
</trans-unit>
<trans-unit id="fullView">
<source>Return to full view</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.1">
<source>created</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.2">
<source>modified</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.3">
<source>moved</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.4">
<source>deleted</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.5">
<source>undeleted</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.6">
<source>stage changed</source>
</trans-unit>
<trans-unit id="historyRow.actiontype.7">
<source>published</source>
</trans-unit>
<trans-unit id="rollback.plannedAction.insert">
<source>The record has been deleted and will be restored again with the rollback.</source>
</trans-unit>
<trans-unit id="rollback.plannedAction.delete">
<source>The record will be deleted with the rollback.</source>
</trans-unit>
<trans-unit id="undelete">
<source>undelete</source>
</trans-unit>
<trans-unit id="mergedDifferences">
<source>Preview for rollback</source>
</trans-unit>
<trans-unit id="mergedDifferences.description">
<source>It is possible to rollback either individual fields or entire elements. Alternatively, all displayed changes can be rolled back.</source>
</trans-unit>
<trans-unit id="settings">
<source>Settings</source>
</trans-unit>
<trans-unit id="maxSteps">
<source>Show entries</source>
</trans-unit>
<trans-unit id="maxSteps_all">
<source>ALL</source>
</trans-unit>
<trans-unit id="maxSteps_marked">
<source>marked</source>
</trans-unit>
<trans-unit id="showDiff">
<source>Show differences</source>
</trans-unit>
<trans-unit id="showSubElements">
<source>Show sub elements</source>
</trans-unit>
<trans-unit id="no">
<source>No</source>
</trans-unit>
<trans-unit id="yes">
<source>Yes</source>
</trans-unit>
<trans-unit id="noDifferences">
<source>There are no differences to the current page</source>
</trans-unit>
<trans-unit id="editLockIsActive">
<source>Editing is blocked for non-admins</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,239 @@
<?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:backend/Resources/Private/Language/locallang_siteconfiguration.xlf" date="2018-02-27T22:22:32Z" product-name="backend">
<header/>
<body>
<trans-unit id="overview.title">
<source>Setup</source>
</trans-unit>
<trans-unit id="overview.site">
<source>Site</source>
</trans-unit>
<trans-unit id="overview.siteIdentifier">
<source>Site identifier</source>
</trans-unit>
<trans-unit id="overview.noPages.title">
<source>No root pages available</source>
</trans-unit>
<trans-unit id="overview.noPages.message">
<source>Please create at least one root page in the Layout module. A root page must be a content page at the top level (not a folder or separator) or have the "Root Page" flag enabled (Page Properties → Behavior tab).</source>
</trans-unit>
<trans-unit id="overview.noPages.link.label">
<source>Open the documentation</source>
</trans-unit>
<trans-unit id="overview.addSiteConfiguration">
<source>Add new site configuration for this site</source>
</trans-unit>
<trans-unit id="overview.editSiteConfiguration">
<source>Edit site configuration</source>
</trans-unit>
<trans-unit id="overview.editSiteSettings">
<source>Edit site settings</source>
</trans-unit>
<trans-unit id="overview.editSiteSettingsUnavailable">
<source>This site provides no configurable settings</source>
</trans-unit>
<trans-unit id="overview.deleteSiteConfiguration">
<source>Delete site configuration</source>
</trans-unit>
<trans-unit id="overview.baseUrl">
<source>Base URL</source>
</trans-unit>
<trans-unit id="overview.rootPagesWithoutSiteConfiguration.title">
<source>Pages without a site configuration</source>
</trans-unit>
<trans-unit id="overview.rootPagesWithoutSiteConfiguration.description">
<source>The following root pages have no site configuration:</source>
</trans-unit>
<trans-unit id="overview.unassignedSites.title">
<source>Unassigned site configurations</source>
</trans-unit>
<trans-unit id="overview.unassignedSites.description">
<source>The following site configurations don't belong to any page anymore and can be removed.</source>
</trans-unit>
<trans-unit id="overview.invalidSets.title">
<source>Invalid site set configurations</source>
</trans-unit>
<trans-unit id="overview.invalidSets.description">
<source>The following site sets contain errors and therefore could not be loaded.</source>
</trans-unit>
<trans-unit id="overview.invalidSets.set">
<source>Set</source>
</trans-unit>
<trans-unit id="overview.invalidSets.error">
<source>Error</source>
</trans-unit>
<trans-unit id="overview.duplicatedEntryPoints">
<source>Duplicated Entrypoints</source>
</trans-unit>
<trans-unit id="overview.duplicatedEntryPoints.listing">
<source>The following entry points are used more than once:</source>
</trans-unit>
<trans-unit id="overview.duplicatedRootPage">
<source>Duplicated root pages</source>
</trans-unit>
<trans-unit id="overview.duplicatedRootPage.message">
<source>The page with ID "%1s" is used in the following site configurations:</source>
</trans-unit>
<trans-unit id="overview.btn.details">
<source>View details</source>
</trans-unit>
<trans-unit id="overview.entry_point">
<source>Entry Point</source>
</trans-unit>
<trans-unit id="overview.error_handling">
<source>Error handling</source>
</trans-unit>
<trans-unit id="overview.status.title">
<source>Status</source>
</trans-unit>
<trans-unit id="overview.info.all_sites.multiple">
<source><![CDATA[The installation includes <strong>%s configured sites</strong>.]]></source>
</trans-unit>
<trans-unit id="overview.info.all_sites.single">
<source><![CDATA[The installation includes <strong>%s configured site</strong>.]]></source>
</trans-unit>
<trans-unit id="overview.info.root_pages_without_site_sonfiguration.multiple">
<source><![CDATA[<strong>%s root pages</strong> are lacking a site configuration.]]></source>
</trans-unit>
<trans-unit id="overview.info.root_pages_without_site_sonfiguration.single">
<source><![CDATA[<strong>%s page</strong> is lacking a site configuration.]]></source>
</trans-unit>
<trans-unit id="overview.info.unassigned_sites.multiple">
<source><![CDATA[There are currently <strong>%s site configurations</strong> that are not assigned to any page.]]></source>
</trans-unit>
<trans-unit id="overview.info.unassigned_sites.single">
<source><![CDATA[There is currently <strong>%s site configuration</strong> that is not assigned to any page.]]></source>
</trans-unit>
<trans-unit id="overview.languages">
<source>Languages</source>
</trans-unit>
<trans-unit id="overview.languages.amount">
<source>and %s more</source>
</trans-unit>
<trans-unit id="overview.root_pages_without_site_configuration.title">
<source>Sites</source>
</trans-unit>
<trans-unit id="overview.site_sets">
<source>Dependencies to site sets</source>
</trans-unit>
<trans-unit id="overview.site_sets.yes">
<source>Yes</source>
</trans-unit>
<trans-unit id="overview.static_routes">
<source>Static routes</source>
</trans-unit>
<trans-unit id="overview.no_sites_with_site_configuration.title">
<source>No configured sites available</source>
</trans-unit>
<trans-unit id="overview.no_sites_with_site_configuration.message">
<source>At least one root page must have a site configuration.</source>
</trans-unit>
<trans-unit id="overview.none">
<source>None</source>
</trans-unit>
<trans-unit id="detail.headline_with_site_identifier">
<source>Setup of "%s"</source>
</trans-unit>
<trans-unit id="detail.headline_with_page_title">
<source>Setup of site "%s"</source>
</trans-unit>
<trans-unit id="detail.not_configured">
<source>Not configured.</source>
</trans-unit>
<trans-unit id="detail.site_configuration.error_handling">
<source>Error handling</source>
</trans-unit>
<trans-unit id="detail.site_configuration.headline">
<source>Site configuration</source>
</trans-unit>
<trans-unit id="detail.site_configuration.languages">
<source>Languages</source>
</trans-unit>
<trans-unit id="detail.site_configuration.languages.language">
<source>Language</source>
</trans-unit>
<trans-unit id="detail.site_configuration.languages.language_url">
<source>Full URL prefix</source>
</trans-unit>
<trans-unit id="detail.site_configuration.static_routes">
<source>Static routes</source>
</trans-unit>
<trans-unit id="detail.site_configuration.route_enhancers">
<source>Route enhancers</source>
</trans-unit>
<trans-unit id="detail.site_settings.active_settings.headline">
<source>Active settings</source>
</trans-unit>
<trans-unit id="detail.site_settings.active_settings.custom_site_settings">
<source>Settings within site configuration (e.g. via 'settings.yaml')</source>
</trans-unit>
<trans-unit id="detail.site_settings.dependencies.headline">
<source>Dependencies</source>
</trans-unit>
<trans-unit id="detail.site_settings.dependencies.text">
<source><![CDATA[Settings can be stored directly via the site configuration, or indirectly by loading them as a dependency of another site set.<br>The following dependencies are stored in the site configuration:]]></source>
</trans-unit>
<trans-unit id="detail.site_settings.headline">
<source>Site settings</source>
</trans-unit>
<trans-unit id="detail.site_settings.no_settings_found.message">
<source><![CDATA[Settings are listed here as soon as they are either present in a <code>settings.yaml</code> file in the site folder or there is one or more dependencies on site sets in the site configuration.]]></source>
</trans-unit>
<trans-unit id="detail.site_settings.no_settings_found.title">
<source>No site settings were found for this site</source>
</trans-unit>
<trans-unit id="edit.editSiteSettings">
<source>Edit site settings</source>
</trans-unit>
<trans-unit id="edit.site_configuration">
<source>Edit site configuration</source>
</trans-unit>
<trans-unit id="edit.typeLabel">
<source>Site configuration</source>
</trans-unit>
<trans-unit id="edit.createNewSite">
<source>Create new site</source>
</trans-unit>
<trans-unit id="validation.identifierRenamed.title">
<source>Renamed identifier</source>
</trans-unit>
<trans-unit id="validation.identifierRenamed.message">
<source>Given site identifier "%1s" already exists. It has been renamed to "%2s". Maybe you want to edit the site again and give it a better name.</source>
</trans-unit>
<trans-unit id="validation.identifierExists.title">
<source>Identifier not changed</source>
</trans-unit>
<trans-unit id="validation.identifierExists.message">
<source>Given site identifier "%1s" already exists and points to a different site. The existing identifier "%2s" for this site is kept.</source>
</trans-unit>
<trans-unit id="validation.required.title">
<source>Site configuration not saved</source>
</trans-unit>
<trans-unit id="validation.required.message">
<source>Field "%1s" is a required field, but no value has been provided.</source>
</trans-unit>
<trans-unit id="validation.duplicateErrorCode.title">
<source>Duplicate error code removed</source>
</trans-unit>
<trans-unit id="validation.duplicateErrorCode.message">
<source>Two error handler configurations for error code "%1s" found. This would be an invalid configuration, the dangling one has been removed.</source>
</trans-unit>
<trans-unit id="validation.duplicateLanguageId.title">
<source>Duplicate language configuration removed</source>
</trans-unit>
<trans-unit id="validation.duplicateLanguageId.message">
<source>Two language configurations for language "%1s" found. This would be an invalid configuration, the dangling one has been removed.</source>
</trans-unit>
<trans-unit id="labels.detail">
<source>View Site Configuration "%s"</source>
</trans-unit>
<trans-unit id="contextMenu.editSiteSettings">
<source>Edit Site Settings</source>
</trans-unit>
<trans-unit id="contextMenu.editSiteConfiguration">
<source>Edit Site</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,253 @@
<?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:backend/Resources/Private/Language/locallang_siteconfiguration_tca.xlf" date="2018-02-27T22:22:32Z" product-name="backend">
<header/>
<body>
<trans-unit id="site.ctrl.title">
<source>Site Configuration</source>
</trans-unit>
<trans-unit id="site.identifier">
<source>Site Identifier</source>
</trans-unit>
<trans-unit id="site.rootPageId">
<source>Root Page ID</source>
</trans-unit>
<trans-unit id="site.base">
<source>Entry Point</source>
</trans-unit>
<trans-unit id="site.websiteTitle">
<source>Website title</source>
</trans-unit>
<trans-unit id="site.baseVariants">
<source>Variants for the Entry Point</source>
</trans-unit>
<trans-unit id="site.dependencies">
<source>Sets for this Site</source>
</trans-unit>
<trans-unit id="site.languages">
<source>Available Languages for this Site</source>
</trans-unit>
<trans-unit id="site.languages.choosePreset">
<source>Choose a preset...</source>
<note>First select option of site language preset single select drop down</note>
</trans-unit>
<trans-unit id="site.languages.chooseExistingFromOtherSite">
<source>Use Language from existing site...</source>
<note>First select option of site language preset single select drop down</note>
</trans-unit>
<trans-unit id="site.languages.description">
<source>Select an already existing language from another site or create a new one.</source>
</trans-unit>
<trans-unit id="site.languages.new">
<source>New language</source>
</trans-unit>
<trans-unit id="site.languages.createNew">
<source>Create new language</source>
</trans-unit>
<trans-unit id="site.errorHandling">
<source>Error Handling</source>
</trans-unit>
<trans-unit id="site.routes">
<source>Routes</source>
</trans-unit>
<trans-unit id="site.routes.irreHeader.redirectsTo">
<source>redirects to</source>
</trans-unit>
<trans-unit id="site.tab.languages">
<source>Languages</source>
</trans-unit>
<trans-unit id="site.tab.errorHandling">
<source>Error Handling</source>
</trans-unit>
<trans-unit id="site.tab.routes">
<source>Static Routes</source>
</trans-unit>
<trans-unit id="site_language.palette.frontend">
<source>Frontend related</source>
</trans-unit>
<trans-unit id="site_language.ctrl.title">
<source>Language Configuration for a Site</source>
</trans-unit>
<trans-unit id="site_language.language">
<source>Language</source>
</trans-unit>
<trans-unit id="site_language.languageId">
<source>Language ID</source>
</trans-unit>
<trans-unit id="site_language.title">
<source>Title</source>
</trans-unit>
<trans-unit id="site_language.websiteTitle">
<source>Website title</source>
</trans-unit>
<trans-unit id="site_language.navigationTitle">
<source>Navigation Title</source>
</trans-unit>
<trans-unit id="site_language.base">
<source>Entry Point</source>
</trans-unit>
<trans-unit id="site_language.locale">
<source>Locale</source>
</trans-unit>
<trans-unit id="site_language.hreflang">
<source>Alternative attribute for "hreflang" tags</source>
</trans-unit>
<trans-unit id="site_language.enabled">
<source>Visible in Frontend</source>
</trans-unit>
<trans-unit id="site_language.flag">
<source>Flag icon</source>
</trans-unit>
<trans-unit id="site_language.flag.group.colors">
<source>Colors</source>
</trans-unit>
<trans-unit id="site_language.flag.group.countries">
<source>Countries</source>
</trans-unit>
<trans-unit id="site_language.flag.group.misc">
<source>Miscellaneous</source>
</trans-unit>
<trans-unit id="site_language.fallbackType">
<source>Fallback Type</source>
</trans-unit>
<trans-unit id="site_language.fallbackType.strict">
<source>Strict: Show only translated content, based on overlays. Also show records that only exist in this language.</source>
</trans-unit>
<trans-unit id="site_language.fallbackType.fallback">
<source>Fallback: Show default language if no translation exists. Also show records that only exist in this language.</source>
</trans-unit>
<trans-unit id="site_language.fallbackType.free">
<source>Free mode: Ignore translation and overlay concept, only show data from selected language</source>
</trans-unit>
<trans-unit id="site_language.fallbacks">
<source>Fallback to other Language(s) - order is important!</source>
</trans-unit>
<trans-unit id="site_base_variant.ctrl.title">
<source>Base</source>
</trans-unit>
<trans-unit id="site_base_variant.base">
<source>Base</source>
</trans-unit>
<trans-unit id="site_base_variant.base.placeholder">
<source>www.domain.local</source>
</trans-unit>
<trans-unit id="site_base_variant.condition">
<source>Condition</source>
</trans-unit>
<trans-unit id="site_base_variant.condition.placeholder">
<source>applicationContext == "Production"</source>
</trans-unit>
<trans-unit id="site_base_variant.condition.applicationContext">
<source>Application Context</source>
</trans-unit>
<trans-unit id="site_base_variant.condition.environmentVariable">
<source>Environment Variable</source>
</trans-unit>
<trans-unit id="site_errorhandling.ctrl.title">
<source>Error Handling</source>
</trans-unit>
<trans-unit id="site_errorhandling.tab.rootpaths">
<source>Root Paths (optional)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode">
<source>HTTP Error Status Code</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode.404">
<source>404 (Page not found)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode.403">
<source>403 (Forbidden)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode.500">
<source>500 (Internal Server Error)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode.503">
<source>503 (Service Unavailable)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode.0">
<source>any error not defined otherwise</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorHandler">
<source>How to handle Errors</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorHandler.fluid">
<source>Fluid Template</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorHandler.page">
<source>Show Content from Page</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorHandler.php">
<source>PHP Class (must implement the PageErrorHandlerInterface)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorHandler.loginRedirect">
<source>Redirect to login page</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidTemplate">
<source>Fluid Template File</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidTemplate.placeholder">
<source>EXT:my_sitepackage/Resources/Private/Templates/Sites/Error.html</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidTemplatesRootPath">
<source>Fluid Templates Root Path</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidLayoutsRootPath">
<source>Fluid Layouts Root Path</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidPartialsRootPath">
<source>Fluid Partials Root Path</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorContentSource">
<source>Show Content from Page</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorPhpClassFQCN">
<source>ErrorHandler Class Target (FQCN)</source>
</trans-unit>
<trans-unit id="site_errorhandling.loginRedirectTarget">
<source>Target page where login process is handled</source>
</trans-unit>
<trans-unit id="site_errorhandling.loginRedirectParameter">
<source>URL parameter for redirect</source>
</trans-unit>
<trans-unit id="site_errorhandling.loginRedirectParameter.return_url">
<source>return_url (used by e.g. ext:felogin)</source>
</trans-unit>
<trans-unit id="site_errorhandling.loginRedirectParameter.redirect_url">
<source>redirect_url (used by e.g. ext:oidc or ext:felogin)</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorPhpClassFQCN.placeholder">
<source>Vendor\ExtensionName\ErrorHandlers\GenericErrorhandler</source>
</trans-unit>
<trans-unit id="site_route.ctrl.title">
<source>Routes</source>
</trans-unit>
<trans-unit id="site_route.type">
<source>Route Type</source>
</trans-unit>
<trans-unit id="site_route.staticText">
<source>Static Text</source>
</trans-unit>
<trans-unit id="site_route.staticText.example1">
<source>robots.txt Example Content</source>
</trans-unit>
<trans-unit id="site_route.source">
<source>Page, File or URL</source>
</trans-unit>
<trans-unit id="site_route.asset">
<source>Static Asset</source>
</trans-unit>
<trans-unit id="site_route.asset.example">
<source>Example asset</source>
</trans-unit>
<trans-unit id="site_route.route">
<source>Static Route Name</source>
</trans-unit>
<trans-unit id="site_route.route.placeholder">
<source>my-custom_route</source>
</trans-unit>
<trans-unit id="site_route.route.example1">
<source>robots.txt</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,32 @@
<?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:backend/Resources/Private/Language/locallang_sitesettings.xlf" date="2024-09-10T12:13:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="edit.headline">
<source>Site Settings for "%s"</source>
</trans-unit>
<trans-unit id="edit.noSettings.title">
<source>No settings available</source>
</trans-unit>
<trans-unit id="edit.noSettings.message">
<source>The site '%s' does not provide configurable settings.</source>
</trans-unit>
<trans-unit id="edit.yamlExport">
<source>YAML export</source>
</trans-unit>
<trans-unit id="edit.editSiteConfiguration">
<source>Edit site configuration</source>
</trans-unit>
<trans-unit id="save.message.updated">
<source>Settings updated.</source>
</trans-unit>
<trans-unit id="categories.other">
<source>Other</source>
</trans-unit>
<trans-unit id="labels.edit">
<source>Edit Site Settings "%s"</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,96 @@
<?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:backend/Resources/Private/Language/locallang_toolbar.xlf" date="2024-06-17T15:00:00Z" product-name="lang">
<header/>
<body>
<trans-unit id="toolbarItems.clearCache">
<source>Clear cache</source>
</trans-unit>
<trans-unit id="toolbarItems.help">
<source>Help</source>
</trans-unit>
<trans-unit id="toolbarItems.sidebarCollapse">
<source>Collapse sidebar</source>
</trans-unit>
<trans-unit id="toolbarItems.sidebarExpand">
<source>Expand sidebar</source>
</trans-unit>
<trans-unit id="toolbarItems.search">
<source>Search</source>
</trans-unit>
<trans-unit id="toolbarItems.searchbarOpenClose">
<source>Open/Close searchbar</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo">
<source>System Information</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.intro.text">
<source>This is a short system overview. For advanced information please head to: </source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.intro.link">
<source>Environment Module</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.allgood" xml:space="preserve">
<source>Your system is fully operational.
Have a nice day.</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.applicationcontext">
<source>Application Context</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.installationMethod">
<source>Installation Method</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.installationMethod.classic">
<source>Classic mode</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.installationMethod.composer">
<source>Composer mode</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.database">
<source>Database</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.database.offline">
<source>Offline</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.debugger">
<source>Debugger</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.gitrevision">
<source>GIT Revision</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.operatingsystem">
<source>Operating System</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.phpversion">
<source>PHP Version</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.typo3-version">
<source>TYPO3 Version</source>
</trans-unit>
<trans-unit id="toolbarItems.sysinfo.webserver">
<source>Web Server</source>
</trans-unit>
<trans-unit id="toolbarItems.toolbarOpenClose">
<source>Open/Close toolbar</source>
</trans-unit>
<trans-unit id="toolbarItems.user.account.switchToUserMode.tooltip">
<source>Switch to User</source>
</trans-unit>
<trans-unit id="toolbarItems.user.account.switchToUserMode.account.prefix">
<source>SU</source>
</trans-unit>
<trans-unit id="toolbarItems.user.recentlySwitchedUsers">
<source>Recently switched to</source>
</trans-unit>
<trans-unit id="toolbarItems.user.recentlySwitchedUsers.su.tooltip">
<source>Switch to user %s</source>
</trans-unit>
<trans-unit id="toolbarItems.user.btn.exitSwitchUser">
<source>Exit switch user mode</source>
</trans-unit>
<trans-unit id="toolbarItems.user.btn.logout">
<source>Logout</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en">
<file id="f1">
<unit id="link_missing">
<segment>
<source>The "%1$s" field is required to resolve links for pages of type "%2$s". Please provide a value in the page properties.</source>
</segment>
</unit>
<unit id="link_invalid">
<segment>
<source>Invalid link in "%1$s": "%2$s" cannot be resolved. Select a valid destination in the page properties.</source>
</segment>
</unit>
<unit id="link_destination">
<segment>
<source>Page of type "%1$s" links to the following %2$s: %3$s.</source>
</segment>
</unit>
<unit id="link_current">
<segment>
<source>Page of type "%1$s" links to current request url, and dynamic value cannot be displayed here.</source>
</segment>
</unit>
<unit id="link_current_with_added_queryparameters">
<segment>
<source>Page of type "%1$s" appends %2$s to current request url, and dynamic value cannot be displayed here.</source>
</segment>
</unit>
<unit id="link_destination_record">
<segment>
<source>Page of type "%1$s" links to the following record of type "%2$s": %3$s.</source>
</segment>
</unit>
<unit id="link_destination_additional_parameters">
<segment>
<source>Additional parameters: "%s".</source>
</segment>
</unit>
<unit id="link_destination_content_element">
<segment>
<source>Page of type "%1$s" links to content element %2$s on page %3$s.</source>
</segment>
</unit>
</file>
</xliff>
+38
View File
@@ -0,0 +1,38 @@
<?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:backend/Resources/Private/Language/qrcode.xlf" date="2025-11-05T19:32:00Z" product-name="backend">
<header/>
<body>
<trans-unit id="qrcode.format.png">
<source>PNG</source>
</trans-unit>
<trans-unit id="qrcode.format.svg">
<source>SVG</source>
</trans-unit>
<trans-unit id="qrcode.format">
<source>Format</source>
</trans-unit>
<trans-unit id="qrcode.size">
<source>Size</source>
</trans-unit>
<trans-unit id="qrcode.size.small">
<source>small</source>
</trans-unit>
<trans-unit id="qrcode.size.medium">
<source>medium</source>
</trans-unit>
<trans-unit id="qrcode.size.large">
<source>large</source>
</trans-unit>
<trans-unit id="qrcode.download">
<source>Download</source>
</trans-unit>
<trans-unit id="qrcode.url">
<source>URL</source>
</trans-unit>
<trans-unit id="qrcode.copyUrl">
<source>Copy URL</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,56 @@
<?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:backend/Resources/Private/Language/siteconfiguration_fieldinformation.xlf" date="2015-01-02T11:16:11Z" product-name="backend">
<header/>
<body>
<trans-unit id="site.rootPageId">
<source>You must create a page with a site root flag.</source>
</trans-unit>
<trans-unit id="site.identifier">
<source>This name will be used to create the configuration directory. Mind the recommendations for directory names (only a-z,0-9,_,-) and make it unique.</source>
</trans-unit>
<trans-unit id="site.base">
<source>Main URL to call the frontend in default language. Can be https://www.example.com/ or just /, if it is just a / you cannot rely on TYPO3 creating full URLs</source>
</trans-unit>
<trans-unit id="site.websiteTitle">
<source>The title of the website is used for the title tag in the frontend</source>
</trans-unit>
<trans-unit id="site.baseVariants">
<source>This allows you to specify variants of the site's base. Can be used, for example, if you have a different domain for your staging environment.</source>
</trans-unit>
<trans-unit id="site.dependencies">
<source>Site sets ship parts of site configuration as composable pieces. Sets deliver Settings, TypoScript, and Page TSConfig for the scope of this site.</source>
</trans-unit>
<trans-unit id="site_language.base">
<source>Use a full qualified domain "https://www.mydomain.fr/" or "/fr/". Use "/" to keep the main URL for the default language. Add language specific suffixes to use those, or configure complete URLs for independent domains.</source>
</trans-unit>
<trans-unit id="site_language.locale">
<source>Used for localized date and currency formats. E.g. "de_DE" or "en_US.UTF-8".</source>
</trans-unit>
<trans-unit id="site_language.hreflang">
<source>Optional, used for "hreflang" attributes - if empty, the information is retrieved from the locale</source>
</trans-unit>
<trans-unit id="site_language.websiteTitle">
<source>With this language based Website title, you can override the Website title for this language</source>
</trans-unit>
<trans-unit id="site_language.navigationTitle">
<source>Used within language-related menus</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorCode">
<source>Make sure to have at least 0 (not defined otherwise) configured in order to serve helpful error messages to your visitors.</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorFluidTemplate">
<source>Path to the fluid template file given by absolute, relative path (from site root) or by referring the template file inside an extension with "EXT:" prefix.</source>
</trans-unit>
<trans-unit id="site_errorhandling.errorPhpClassFQCN">
<source>Fully qualified class name to a class that implements the PageErrorHandlerInterface.</source>
</trans-unit>
<trans-unit id="site_base_variant.base">
<source>For example "https://staging.domain.tld" or "http://www.domain.local"</source>
</trans-unit>
<trans-unit id="site_base_variant.condition">
<source>Expression to match this base variant.</source>
</trans-unit>
</body>
</file>
</xliff>
+164
View File
@@ -0,0 +1,164 @@
<?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:backend/Resources/Private/Language/user_profile.xlf" date="2011-10-17T20:22:37Z" product-name="backend">
<header/>
<body>
<trans-unit id="user_settings">
<source>User Settings</source>
</trans-unit>
<trans-unit id="language">
<source>Language</source>
</trans-unit>
<trans-unit id="language_unavailable">
<source>The selected language "%s" is not available before the language files are installed.</source>
</trans-unit>
<trans-unit id="language_unavailable.admin">
<source>You can use "Manage Language Packs" in the Maintenance module to easily download new language files.</source>
</trans-unit>
<trans-unit id="language_unavailable.user">
<source>Please ask your system administrator to do this.</source>
</trans-unit>
<trans-unit id="simulate">
<source>Simulate backend user</source>
</trans-unit>
<trans-unit id="start_module">
<source>Start up in the following module</source>
</trans-unit>
<trans-unit id="email_me_at_login">
<source>Notify me by email when somebody logs in from my account</source>
</trans-unit>
<trans-unit id="help_text">
<source>Show help text when applicable</source>
</trans-unit>
<trans-unit id="max_title_len">
<source>Maximum length of displayed labels / record titles</source>
</trans-unit>
<trans-unit id="edit_doc_module_upload">
<source>Allow to directly upload files when editing or creating records</source>
</trans-unit>
<trans-unit id="contextual_record_edit">
<source>Use quick editing for records in the Layout module</source>
</trans-unit>
<trans-unit id="show_hidden_files_and_folders">
<source>Show hidden files and folders in the Media module</source>
</trans-unit>
<trans-unit id="display_recently_used">
<source>Enable dynamic "recently used" category in wizards</source>
</trans-unit>
<trans-unit id="edit_functions_tab">
<source>Edit and advanced functions</source>
</trans-unit>
<trans-unit id="set_to_standard">
<source>Reset all values to default</source>
</trans-unit>
<trans-unit id="reset_tab">
<source>Reset configuration</source>
</trans-unit>
<trans-unit id="reset_configuration">
<source>Reset configuration and clear temporary data</source>
</trans-unit>
<trans-unit id="reset_configuration_button">
<source>Reset profile settings to default state</source>
</trans-unit>
<trans-unit id="set_to_standard_question">
<source>Are you sure you want to reset all values to default?</source>
</trans-unit>
<trans-unit id="functions">
<source>Advanced functions</source>
</trans-unit>
<trans-unit id="copy_levels">
<source>Recursive copy: Enter the number of page sublevels to include, when a page is copied</source>
</trans-unit>
<trans-unit id="levels">
<source>levels</source>
</trans-unit>
<trans-unit id="be_user_real_name">
<source>Your name</source>
</trans-unit>
<trans-unit id="be_user_avatar">
<source>Avatar</source>
</trans-unit>
<trans-unit id="be_user_email">
<source>Your email address</source>
</trans-unit>
<trans-unit id="save">
<source>Save configuration</source>
</trans-unit>
<trans-unit id="new_password">
<source>New password</source>
</trans-unit>
<trans-unit id="new_password_again">
<source>New password (repetition)</source>
</trans-unit>
<trans-unit id="new_password_ok">
<source>Password was updated.</source>
</trans-unit>
<trans-unit id="password_policy_failed">
<source>The password was not updated, since it does not meet the password policy requirements.</source>
</trans-unit>
<trans-unit id="account_security">
<source>Account security</source>
</trans-unit>
<trans-unit id="mfa_providers">
<source>Multi-factor authentication</source>
</trans-unit>
<trans-unit id="mfa_providers.not_available">
<source>Multi-factor authentication is currently not available.</source>
</trans-unit>
<trans-unit id="mfa_providers.description">
<source>Use multi-factor authentication to secure your account by providing another factor next to your password.</source>
</trans-unit>
<trans-unit id="mfa_providers.locked_mfa_providers">
<source>Some providers are currently locked</source>
</trans-unit>
<trans-unit id="mfa_providers.enabled">
<source>Enabled</source>
</trans-unit>
<trans-unit id="mfa_providers.setup_link_title">
<source>Setup multi-factor authentication</source>
</trans-unit>
<trans-unit id="mfa_providers.manage_link_title">
<source>Manage multi-factor authentication</source>
</trans-unit>
<trans-unit id="setup_was_updated">
<source>Profile settings were updated.</source>
</trans-unit>
<trans-unit id="new_password_failed">
<source>Password was not updated because the entered passwords do not match.</source>
</trans-unit>
<trans-unit id="old_password_failed">
<source>Password was not updated because the current password entered is incorrect.</source>
</trans-unit>
<trans-unit id="settings_are_reset">
<source>The profile settings have been reset to default values and temporary data has been cleared.</source>
</trans-unit>
<trans-unit id="start_module.first_in_menu">
<source>- First module in menu -</source>
</trans-unit>
<trans-unit id="avatar.clear">
<source>Remove selected avatar image</source>
</trans-unit>
<trans-unit id="avatar.open_file_browser">
<source>Open file browser to select avatar image</source>
</trans-unit>
<trans-unit id="backend_title_format">
<source>Format of window title in backend</source>
</trans-unit>
<trans-unit id="backend_title_format.sitename_first">
<source>[sitename] · [title]</source>
</trans-unit>
<trans-unit id="backend_title_format.title_first">
<source>[title] · [sitename]</source>
</trans-unit>
<trans-unit id="warning.chinese_simplified">
<source>Chinese Simplified (legacy) - Warning: Choose Chinese Simplified below, as this is wrong due to older versions of TYPO3 and might be removed soon.</source>
</trans-unit>
<trans-unit id="datetime_first_day_of_week">
<source>First day of week in calendar popups</source>
</trans-unit>
<trans-unit id="datetime_first_day_of_week.inherit">
<source>Use default based on personal backend language setting</source>
</trans-unit>
</body>
</file>
</xliff>
@@ -0,0 +1,46 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/viewport/content-navigation.js"/>
<f:if condition="{contentOnly}">
<f:then>
<f:render section="Content" />
</f:then>
<f:else>
<div class="element-browser">
<typo3-backend-content-navigation
identifier="moveelement"
class="element-browser-main"
navigation-title="{f:translate(key: 'viewport.navigation', domain: 'backend.messages')}"
navigation-label-collapse="{f:translate(key: 'viewport.navigation.hide', domain: 'backend.messages')}"
navigation-label-expand="{f:translate(key: 'viewport.navigation.show', domain: 'backend.messages')}"
navigation-initial-width="{initialNavigationWidth}"
>
<div slot="navigation" class="element-browser-main-sidebar">
<typo3-backend-component-page-browser
active-page="{activePage}"
>
</typo3-backend-component-page-browser>
</div>
<div slot="content" class="element-browser-main-content">
<div class="element-browser-navigation-toggle">
<typo3-backend-content-navigation-toggle
class="btn btn-sm btn-icon btn-default btn-borderless"
action="expand"
hidden
>
</typo3-backend-content-navigation-toggle>
</div>
<div class="element-browser-body">
<f:render section="Content" arguments="{_all}" />
</div>
</div>
</typo3-backend-content-navigation>
</div>
</f:else>
</f:if>
</html>
@@ -0,0 +1,23 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:if condition="{contentOnly}">
<f:then>
<f:render section="Content" />
</f:then>
<f:else>
<div class="element-browser">
<div class="element-browser-main">
<div class="element-browser-main-content">
<div class="element-browser-body">
<f:render section="Content" />
</div>
</div>
</div>
</div>
</f:else>
</f:if>
</html>
@@ -0,0 +1,43 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/viewport/content-navigation.js"/>
<f:if condition="{contentOnly}">
<f:then>
<f:render section="Content" />
</f:then>
<f:else>
<div class="element-browser">
<typo3-backend-content-navigation
class="element-browser-main"
identifier="elementbrowser"
navigation-title="{f:translate(key: 'viewport.navigation', domain: 'backend.messages')}"
navigation-label-collapse="{f:translate(key: 'viewport.navigation.hide', domain: 'backend.messages')}"
navigation-label-expand="{f:translate(key: 'viewport.navigation.show', domain: 'backend.messages')}"
navigation-initial-width="{initialNavigationWidth}"
>
<div slot="navigation" class="element-browser-main-sidebar">
<f:render section="Navigation" />
</div>
<div slot="content" class="element-browser-main-content">
<div class="element-browser-navigation-toggle">
<typo3-backend-content-navigation-toggle
class="btn btn-sm btn-icon btn-default btn-borderless"
action="expand"
hidden
>
</typo3-backend-content-navigation-toggle>
</div>
<div class="element-browser-body">
<f:render section="Content" />
</div>
</div>
</typo3-backend-content-navigation>
</div>
</f:else>
</f:if>
</html>
@@ -0,0 +1,111 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/viewport/content-navigation.js"/>
<f:if condition="{contentOnly}">
<f:then>
<f:render section="Content" />
</f:then>
<f:else>
<div class="element-browser">
<f:if condition="{currentLink}">
<div class="element-browser-header">
<div class="element-browser-header-title">
<strong><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_browse_links.xlf:currentLink" />:</strong>
{currentLink}
</div>
<f:if condition="{removeCurrentLink}">
<div class="element-browser-header-actions">
<button class="btn btn-sm btn-default t3js-removeCurrentLink">
<core:icon identifier="actions-delete" />
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_browse_links.xlf:removeLink" />
</button>
</div>
</f:if>
</div>
</f:if>
<div class="element-browser-nav">
<ul class="nav nav-pills" role="tablist">
<f:for each="{menuItems}" as="menuItem" key="menuId">
<li class="nav-item" role="presentation">
<a href="{menuItem.url}"
class="nav-link {f:if(condition: menuItem.isActive, then: 'active')}"
role="tab"
aria-selected="{f:if(condition: menuItem.isActive, then: 'true', else: 'false')}"
{menuItem.addParams -> f:format.raw()}
>
{menuItem.label}
</a>
</li>
</f:for>
</ul>
</div>
<f:if condition="{initialNavigationWidth}"><f:else><f:variable name="initialNavigationWidth">250</f:variable></f:else></f:if>
<f:variable name="navigationContent"><f:render section="Navigation" optional="true" /></f:variable>
<f:if condition="{navigationContent}">
<f:then>
<typo3-backend-content-navigation
identifier="linkbrowser"
class="element-browser-main"
navigation-title="{f:translate(key: 'viewport.navigation', domain: 'backend.messages')}"
navigation-label-collapse="{f:translate(key: 'viewport.navigation.hide', domain: 'backend.messages')}"
navigation-label-expand="{f:translate(key: 'viewport.navigation.show', domain: 'backend.messages')}"
navigation-initial-width="{initialNavigationWidth}"
>
<div slot="navigation" class="element-browser-main-sidebar">
{navigationContent-> f:format.raw()}
</div>
<div slot="content" class="element-browser-main-content">
<div class="element-browser-navigation-toggle">
<typo3-backend-content-navigation-toggle
class="btn btn-sm btn-icon btn-default btn-borderless"
action="expand"
hidden
>
</typo3-backend-content-navigation-toggle>
</div>
<div class="element-browser-attributes">
<f:format.raw>{linkAttributes}</f:format.raw>
<f:if condition="{showUpdateParametersButton}">
<button class="btn btn-default t3js-linkCurrent" type="submit">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_browse_links.xlf:update')}
</button>
</f:if>
</div>
<div class="element-browser-body">
<f:flashMessages queueIdentifier="core.template.flashMessages" />
<f:render section="Content" />
</div>
</div>
</typo3-backend-content-navigation>
</f:then>
<f:else>
<div class="element-browser-main">
<div class="element-browser-main-content">
<div class="element-browser-attributes">
<f:format.raw>{linkAttributes}</f:format.raw>
<f:if condition="{showUpdateParametersButton}">
<button class="btn btn-default t3js-linkCurrent" type="submit">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_browse_links.xlf:update')}
</button>
</f:if>
</div>
<div class="element-browser-body">
<f:flashMessages queueIdentifier="core.template.flashMessages" />
<f:render section="Content" />
</div>
</div>
</div>
</f:else>
</f:if>
</div>
</f:else>
</f:if>
</html>
+178
View File
@@ -0,0 +1,178 @@
<html
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
xmlns:backend="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="bootstrap"/>
<f:asset.module identifier="@typo3/backend/login.js"/>
<div class="typo3-login">
<div class="typo3-login-inner">
<div class="typo3-login-container">
<div class="typo3-login-wrap">
<div class="card card-login">
<header class="card-heading">
<h1 class="visually-hidden"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.header" /></h1>
<div class="typo3-login-logo"><backend:loginLogo /></div>
</header>
<main class="card-body">
<f:if condition="{action} == 'login'">
<f:then>
<f:if condition="{hasLoginError}">
<div class="t3js-login-error mb-2" id="t3-login-error">
<div class="alert alert-danger" role="alert">
<div class="alert-title"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.error.message" /></div>
<div class="alert-message"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.error.description" /></div>
</div>
</div>
</f:if>
<noscript>
<f:be.infobox message="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.error.javascript')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}" />
</noscript>
<div class="hidden t3js-login-error-nocookies">
<f:be.infobox message="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.error.cookies')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}" />
</div>
<div class="hidden t3js-login-error-noreferrer">
<f:be.infobox message="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.error.referrer')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}" />
</div>
<div class="hidden t3js-login-warning-password-whitespace">
<f:be.infobox state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::WARNING')}">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.warning.whitespace-around-password" />
<button class="btn btn-link text-decoration-underline t3js-login-warning-password-whitespace-action" role="button">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.warning.whitespace-around-password.action-link" />
</button>
</f:be.infobox>
</div>
<div class="typo3-login-form t3js-login-formfields">
<form action="{formActionUrl}" method="post" name="loginform" id="typo3-login-form" spellcheck="false">
<input type="hidden" name="login_status" value="login" />
<input type="hidden" name="userident" id="t3-field-userident" class="t3js-login-userident-field" value="" />
<input type="hidden" name="loginRefresh" value="{loginRefresh}" />
<input type="hidden" name="{requestTokenName}" value="{requestTokenValue}" />
<f:render section="loginFormFields" />
<div class="form-group d-grid mb-2" id="t3-login-submit-section">
<button
class="btn btn-login d-block t3js-login-submit"
id="t3-login-submit"
type="submit"
name="commandLI"
data-loading-text="{core:icon(identifier: 'spinner-circle', size: 'small')->f:format.htmlspecialchars()} {f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.process')}"
autocomplete="off"
>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.submit" />
</button>
</div>
</form>
</div>
<f:if condition="{enablePasswordReset}">
<f:render section="ResetPassword" arguments="{_all}" optional="true" />
</f:if>
<f:if condition="{loginProviders->f:count()} > 1">
<nav aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.navigation.loginProvider')}">
<f:comment>role is for VoiceOver</f:comment>
<ul class="list-unstyled typo3-login-links" role="list">
<f:for each="{loginProviders}" as="provider" key="providerKey">
<f:if condition="{provider.label}">
<f:if condition="{loginProviderIdentifier} != {providerKey}">
<li class="t3js-loginprovider-switch" data-providerkey="{providerKey}">
<a href="?loginProvider={providerKey}">
<core:icon identifier="{provider.iconIdentifier}" size="small" />
<span><f:translate key="{provider.label}" default="{provider.label}" /></span>
</a>
</li>
</f:if>
</f:if>
</f:for>
</ul>
</nav>
</f:if>
</f:then>
<f:else if="{enablePasswordReset}">
<f:render section="ResetPassword" arguments="{_all}" />
</f:else>
<f:else>
<form action="{formActionUrl}" method="post" name="loginform">
<input type="hidden" name="login_status" value="logout" />
<div class="t3-login-box-body">
<div class="t3-login-logout-form">
<div class="t3-login-username">
<div class="t3-login-label t3-username">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.username" />
</div>
<div class="t3-username-current">
{backendUser.username}
</div>
</div>
<input type="hidden" name="p_field" value="" />
<div class="d-grid">
<input
class="btn d-block btn-lg"
type="submit"
name="commandLO"
value="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.submit')}"
id="t3-login-submit"
/>
</div>
</div>
</div>
</form>
</f:else>
</f:if>
</main>
<f:render partial="Login/LoginNews" arguments="{_all}" />
<footer class="card-footer">
<div class="typo3-login-copyright-wrap">
<button
type="button"
class="typo3-login-copyright-link t3js-login-copyright-link collapsed"
data-bs-target="#loginCopyright"
data-bs-toggle="collapse"
aria-expanded="false"
aria-controls="loginCopyright"
>
<span><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.copyrightLink" /></span>
<f:comment>the image within the button is only decorative</f:comment>
<svg viewBox="0 0 150 42" width="70" height="20" aria-hidden="true">
<path fill="currentColor" d="M60.2,14.4v27h-3.8v-27h-6.7v-3.3h17.1v3.3H60.2z M80.4,27.3v14h-3.9v-14l-7.7-16.2h4.1l5.7,12.2l5.7-12.2h3.9L80.4,27.3z M99.9,29.9h-3.6v11.4h-3.8V11.1c0,0,3.7-0.3,7.3-0.3c6.6,0,8.5,4.1,8.5,9.4C108.3,26.7,106,29.9,99.9,29.9 M100.3,13.9 c-2.4,0-4.1,0.3-4.1,0.3v12.6h4.1c2.4,0,4.1-1.6,4.1-6.3C104.4,16.1,103.4,13.9,100.3,13.9 M121.8,41.6c-7.1,0-9-5.2-9-15.8 c0-10.2,1.9-15.1,9-15.1s9,4.9,9,15.1C130.9,36.4,129,41.6,121.8,41.6 M121.8,13.9c-3.9,0-5.2,2.6-5.2,12.1c0,9.3,1.3,12.4,5.2,12.4 c3.9,0,5.2-3.1,5.2-12.4C127,16.6,125.7,13.9,121.8,13.9 M141.7,41.6c-2.1,0-5.3-0.6-5.7-0.7v-3.1c1,0.2,3.7,0.7,5.6,0.7 c2.2,0,3.6-1.9,3.6-5.2c0-3.9-0.6-6-3.7-6H138V24h3.1c3.5,0,3.7-3.6,3.7-5.3c0-3.4-1.1-4.8-3.2-4.8c-1.9,0-4.1,0.5-5.3,0.7v-3.2 c0.5-0.1,3-0.7,5.2-0.7c4.4,0,7,1.9,7,8.3c0,2.9-1,5.5-3.3,6.3c2.6,0.2,3.8,3.1,3.8,7.3C149,39.2,146.5,41.6,141.7,41.6"></path>
<path class="highlight" fill="#FF8700" d="M31.7,28.8c-0.6,0.2-1.1,0.2-1.7,0.2c-5.2,0-12.9-18.2-12.9-24.3c0-2.2,0.5-3,1.3-3.6 C12,1.9,4.3,4.2,1.9,7.2C1.3,8,1,9.1,1,10.6c0,9.5,10.1,31,17.3,31C21.6,41.6,27.1,36.2,31.7,28.8"></path>
<path class="highlight" fill="#FF8700" d="M28.4,0.5c6.6,0,13.2,1.1,13.2,4.8c0,7.6-4.8,16.7-7.2,16.7C30,22,24.5,9.9,24.5,3.8 C24.5,1,25.6,0.5,28.4,0.5"></path>
</svg>
</button>
<div id="loginCopyright" class="collapse">
<div class="typo3-login-copyright-text">
<p>
<f:format.raw>{copyright}</f:format.raw>
</p>
<nav aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.navigation.typo3')}">
<f:comment>role is for VoiceOver</f:comment>
<ul class="list-unstyled" role="list">
<li><a href="https://typo3.org" target="_blank" rel="noreferrer" class="t3-login-link-typo3"><core:icon identifier="actions-window-open" size="small" /> TYPO3.org</a></li>
<li>
<a href="https://typo3.org/donate/online-donation/" target="_blank" rel="noreferrer" class="t3-login-link-donate">
<core:icon identifier="actions-window-open" size="small" /> <f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.donate" />
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</footer>
</div>
</div>
</div>
<f:if condition="{loginFootnote}">
<aside class="typo3-login-footnote" aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.region.footnote')}">
<p>{loginFootnote}</p>
</aside>
</f:if>
</div>
<f:comment>This link is only used for protection of the backend.</f:comment>
<a href="{loginUrl}" id="t3js-login-url" data-referrer-check-enabled="{f:if(condition: '{referrerCheckEnabled}', then: '1', else: '0')}" aria-hidden="true" tabindex="-1"></a>
</div>
</html>
@@ -0,0 +1,38 @@
<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 module-layout-{moduleLayout} {moduleClass}" data-module-id="{moduleId}" data-module-name="{moduleName}">
<f:if condition="{formTag}">
<f:then>
<f:format.raw>{formTag}</f:format.raw>
</f:then>
</f:if>
<f:if condition="{docHeader.enabled}">
<f:render partial="DocHeader" arguments="{docHeader:docHeader}" />
</f:if>
<div class="module-body t3js-module-body">
<div class="module-body-container t3js-module-body-container">
<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:render section="Content" arguments="{_all}" optional="true" />
</div>
</div>
<f:if condition="{formTag}">
<f:then>
</form>
</f:then>
</f:if>
</div>
<f:render section="After" arguments="{_all}" optional="true" />
</html>
@@ -0,0 +1,46 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/viewport/content-navigation.js"/>
<f:if condition="{contentOnly}">
<f:then>
<f:render section="Content" />
</f:then>
<f:else>
<div class="element-browser">
<typo3-backend-content-navigation
identifier="movepage"
class="element-browser-main"
navigation-title="{f:translate(key: 'viewport.navigation', domain: 'backend.messages')}"
navigation-label-collapse="{f:translate(key: 'viewport.navigation.hide', domain: 'backend.messages')}"
navigation-label-expand="{f:translate(key: 'viewport.navigation.show', domain: 'backend.messages')}"
navigation-initial-width="{initialNavigationWidth}"
>
<div slot="navigation" class="element-browser-main-sidebar">
<typo3-backend-component-page-browser
active-page="{activePage}"
>
</typo3-backend-component-page-browser>
</div>
<div slot="content" class="element-browser-main-content">
<div class="element-browser-navigation-toggle">
<typo3-backend-content-navigation-toggle
class="btn btn-sm btn-icon btn-default btn-borderless"
action="expand"
hidden
>
</typo3-backend-content-navigation-toggle>
</div>
<div class="element-browser-body">
<f:render section="Content" arguments="{_all}" />
</div>
</div>
</typo3-backend-content-navigation>
</div>
</f:else>
</f:if>
</html>
@@ -0,0 +1,14 @@
<p>
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:cms_description',
arguments: '{
0: "&copy; {typo3Info.copyrightYear}",
1: "Kasper Sk&aring;rh&oslash;j."
}') -> f:format.raw()}
</p>
<p>
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_login.xlf:extension.trademark',
arguments: '{
0: "<a href=\"{trademarkUrl}\" target=\"_blank\" rel=\"noreferrer\">",
1: "</a>"
}') -> f:format.raw()}
</p>
@@ -0,0 +1,10 @@
<div class="card">
<div class="card-body">
<h3 class="card-title">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:coredevs" />
</h3>
<p class="card-text">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:coredevs_detail') -> f:format.raw()}
</p>
</div>
</div>
@@ -0,0 +1,10 @@
<div class="card">
<div class="card-body">
<h3 class="card-title">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:community_credits')}
</h3>
<p class="card-text">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:information_detail') -> f:format.raw()}
</p>
</div>
</div>
@@ -0,0 +1,13 @@
<div class="card">
<div class="card-body">
<h3 class="card-title">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:donation_header" />
</h3>
<p class="card-text">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:donation_message') -> f:format.raw()}
</p>
<a href="{donationUrl}" class="btn btn-default" title="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:donation_button')}" target="_blank" rel="noreferrer">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:donation_button" />
</a>
</div>
</div>
@@ -0,0 +1,38 @@
<f:if condition="{loadedExtensions}">
<h2>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:extension_authors" />
</h2>
<p>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:extension_list_info" />
</p>
<div class="table-fit">
<table class="table table-striped table-hover table-vertical-top">
<thead>
<tr>
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:extension" /></th>
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:extension_author" /></th>
</tr>
</thead>
<tbody>
<f:for each="{loadedExtensions}" as="loadedExtension">
<tr>
<td>
{loadedExtension.title} ({loadedExtension.key})
</td>
<td>
<f:if condition="{loadedExtension.authors}">
<f:for each="{loadedExtension.authors}" as="extensionAuthor" iteration="i">
{extensionAuthor.name} <f:if condition="{extensionAuthor.email}">({extensionAuthor.email})</f:if>
<f:if condition="{i.isLast} == false">
<br>
</f:if>
</f:for>
</f:if>
</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</f:if>
@@ -0,0 +1,139 @@
<h2>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:external_libraries" />
</h2>
<p>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:external_thanks" />
</p>
<div class="table-fit">
<table class="table table-striped table-hover">
<thead>
<tr>
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:external_libraries.table.column.name" /></th>
<th><f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:external_libraries.table.column.website" /></th>
</tr>
</thead>
<tbody>
<tr>
<td>Composer</td>
<td><a href="https://getcomposer.org" target="_blank" rel="noreferrer">getcomposer.org</a></td>
</tr>
<tr>
<td>Bootstrap</td>
<td><a href="https://getbootstrap.com" target="_blank" rel="noreferrer">getbootstrap.com</a></td>
</tr>
<tr>
<td>Doctrine Project (DBAL Component and Instantiator)</td>
<td><a href="https://www.doctrine-project.org/projects/dbal.html" target="_blank" rel="noreferrer">doctrine-project.org</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Config</td>
<td><a href="https://symfony.com/doc/current/components/config.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Console</td>
<td><a href="https://symfony.com/doc/current/components/console.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: DependencyInjection</td>
<td><a href="https://symfony.com/doc/current/components/dependency_injection.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: ExpressionLanguage</td>
<td><a href="https://symfony.com/doc/current/components/expression_language.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Finder</td>
<td><a href="https://symfony.com/doc/current/components/finder.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Mailer</td>
<td><a href="https://symfony.com/doc/current/components/mailer.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Mime</td>
<td><a href="https://symfony.com/doc/current/components/mime.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: PropertyAccess</td>
<td><a href="https://symfony.com/doc/current/components/property_access.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: PropertyInfo</td>
<td><a href="https://symfony.com/doc/current/components/property_info.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: Routing</td>
<td><a href="https://symfony.com/doc/current/components/routing.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Symfony Framework Component: YAML</td>
<td><a href="https://symfony.com/doc/current/components/yaml.html" target="_blank" rel="noreferrer">symfony.com</a></td>
</tr>
<tr>
<td>Lit</td>
<td><a href="https://lit.dev/" target="_blank" rel="noreferrer">lit.dev</a></td>
</tr>
<tr>
<td>Guzzle PHP</td>
<td><a href="http://guzzlephp.org" target="_blank" rel="noreferrer">guzzlephp.org</a></td>
</tr>
<tr>
<td>CKEditor</td>
<td><a href="https://ckeditor.com" target="_blank" rel="noreferrer">ckeditor.com</a></td>
</tr>
<tr>
<td>chart.js</td>
<td><a href="https://www.chartjs.org/" target="_blank" rel="noreferrer">chartjs.org</a></td>
</tr>
<tr>
<td>luxon</td>
<td><a href="https://moment.github.io/luxon/" target="_blank" rel="noreferrer">moment.github.io/luxon</a></td>
</tr>
<tr>
<td>Autosize</td>
<td><a href="https://www.jacklmoore.com/autosize/" target="_blank" rel="noreferrer">jacklmoore.com</a></td>
</tr>
<tr>
<td>Cropper.js</td>
<td><a href="https://fengyuanchen.github.io/cropperjs/" target="_blank" rel="noreferrer">fengyuanchen.github.io</a></td>
</tr>
<tr>
<td>flatpickr</td>
<td><a href="https://flatpickr.js.org/" target="_blank" rel="noreferrer">flatpickr.js.org</a></td>
</tr>
<tr>
<td>Tablesort</td>
<td><a href="http://tristen.ca/tablesort/demo/" target="_blank" rel="noreferrer">tristen.ca</a></td>
</tr>
<tr>
<td>Alwan Color Picker</td>
<td><a href="https://sefianecho.github.io/alwan/" target="_blank" rel="noreferrer">sefianecho.github.io/</a></td>
</tr>
<tr>
<td>Tab Override</td>
<td><a href="https://wjbryant.github.io/taboverride/" target="_blank" rel="noreferrer">wjbryant.github.io</a></td>
</tr>
<tr>
<td>Neos (Form component)</td>
<td><a href="https://www.neos.io" target="_blank" rel="noreferrer">neos.io</a></td>
</tr>
<tr>
<td>FineDiff</td>
<td><a href="https://github.com/lolli42/FineDiff" target="_blank" rel="noreferrer">github.com</a></td>
</tr>
<tr>
<td>IDNA Convert</td>
<td><a href="https://idnaconv.net" target="_blank" rel="noreferrer">idnaconv.net</a></td>
</tr>
<tr>
<td>CodeMirror</td>
<td><a href="https://codemirror.net" target="_blank" rel="noreferrer">codemirror.net</a></td>
</tr>
<tr>
<td>SelectPure</td>
<td><a href="https://github.com/dudyn5ky1/select-pure" target="_blank" rel="noreferrer">github.com</a></td>
</tr>
</tbody>
</table>
</div>
@@ -0,0 +1,9 @@
<img
src="{f:uri.resource(path: 'EXT:core/Resources/Public/Images/typo3_light_dark.svg')}"
width="150"
alt="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:typo3_logo')}"
/>
<h1>
TYPO3 CMS {typo3Version.version}<br>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:introtext" />
</h1>
@@ -0,0 +1,76 @@
<h2>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:modules.headline" />
</h2>
<p>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:modules.introtext" />
</p>
<f:for each="{modules}" as="mainModule">
<f:if condition="{mainModule.subModules}">
<f:if condition="{mainModule.title}">
<h3><f:translate key="{mainModule.title}">{mainModule.title}</f:translate></h3>
</f:if>
<section class="card-container">
<f:for each="{mainModule.subModules}" as="subModule">
<div class="card card-size-small">
<div class="card-header">
<div class="card-icon">
<core:icon identifier="{subModule.iconIdentifier}" size="large" />
</div>
<f:if condition="{subModule.title} || {subModule.shortDescription}">
<div class="card-header-body">
<f:if condition="{subModule.title}">
<h4 class="card-title">
<f:translate key="{subModule.title}">{subModule.title}</f:translate>
</h4>
</f:if>
<f:if condition="{subModule.shortDescription}">
<span class="card-subtitle">
<f:translate key="{subModule.shortDescription}">{subModule.shortDescription}</f:translate>
</span>
</f:if>
</div>
</f:if>
</div>
<f:if condition="{subModule.description}">
<div class="card-body">
<p class="card-text">
<f:sanitize.html>
<f:translate key="{subModule.description}">{subModule.description}</f:translate>
</f:sanitize.html>
</p>
</div>
</f:if>
<div class="card-footer">
<f:if condition="{subModule.appearance.dependsOnSubmodules} && !{subModule.subModules}">
<f:then>
<p class="text-variant">
<f:if condition="{subModule.title}">
<f:then>
<f:variable name="submoduleTitle"><f:translate key="{subModule.title}">{subModule.title}</f:translate></f:variable>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:noSubModulesWithTitle" arguments="{0: submoduleTitle}" />
</f:then>
<f:else>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:noSubModules" />
</f:else>
</f:if>
</p>
</f:then>
<f:else>
<f:variable name="submoduleTitle"><f:translate key="{subModule.title}">{subModule.title}</f:translate></f:variable>
<a
href="#"
data-dispatch-action="TYPO3.ModuleMenu.showModule"
data-dispatch-args-list="{subModule.identifier}"
class="btn btn-default"
aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:submoduleOverview.openModuleWithTitle', arguments: {0: submoduleTitle})}"
>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:link.openModule" />
</a>
</f:else>
</f:if>
</div>
</div>
</f:for>
</section>
</f:if>
</f:for>
@@ -0,0 +1,88 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<nav
class="modulemenu"
data-role="modulemenu"
id="modulemenu"
data-modulemenu
aria-label="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:modulemenu.label')}"
data-modules-information="{modulesInformation}"
>
<f:if condition="{modules}">
<f:render section="Menubar" arguments="{modules: modules}" />
</f:if>
</nav>
<f:section name="Menubar">
<ul
role="menubar"
aria-orientation="vertical"
aria-label="{f:translate(key:'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:modulemenu.label')}"
class="modulemenu-group-container"
>
<f:for each="{modules}" as="module" iteration="iterator">
<li
role="presentation"
data-modulemenu-level="1"
{f:if(condition: module.subModules, then: 'class="modulemenu-group modulemenu-group-{f:if(condition: module.collapsed, then: \'collapsed\', else: \'expanded\')}"')}
>
<f:render section="Button" arguments="{module: module, showChildren: module.subModules, tabIndex: '{f:if(condition: iterator.isFirst, then: \'0\', else: \'-1\')}'}" />
<f:if condition="{module.subModules}">
<f:render section="Menu" arguments="{modules: module.subModules, parent: module}" />
</f:if>
</li>
</f:for>
</ul>
</f:section>
<f:section name="Menu">
<ul
id="modulemenu-group-{parent.identifier}"
role="menu"
aria-orientation="vertical"
<f:if condition="{parent.title}">
aria-label="{f:translate(key: parent.title, default: parent.title)}"
</f:if>
class="modulemenu-group-container collapse {f:if(condition: '{parent}', then: '{f:if(condition: parent.collapsed, else: \'show\')}')}"
>
<f:for each="{modules}" as="module">
<li role="presentation" data-modulemenu-level="2">
<f:render section="Button" arguments="{module: module, tabIndex: '-1'}" />
</li>
</f:for>
</ul>
</f:section>
<f:section name="Button">
<f:variable name="moduleTitle" value="" />
<f:if condition="{module.title}">
<f:variable name="moduleTitle" value="{f:translate(key: module.title, default: module.title)}" />
</f:if>
<{f:if(condition: module.shouldBeLinked, then: 'a', else: 'button')}
<f:if condition="{module.shouldBeLinked}">
<f:then>
href="{f:be.uri(route: module.identifier)}"
data-moduleroute-identifier="{module.identifier}"
</f:then>
<f:else>
type="button"
</f:else>
</f:if>
role="menuitem"
title="{moduleTitle}"
class="modulemenu-action"
tabindex="{tabIndex}"
data-modulemenu-identifier="{module.identifier}"
data-modulemenu-collapsible="{f:if(condition: showChildren, then: 'true', else: 'false')}"
{f:if(condition: showChildren, then: 'aria-controls="modulemenu-group-{module.identifier}" aria-haspopup="menu" aria-expanded="{f:if(condition: module.collapsed, then: \'false\', else: \'true\')}"')}
>
<span class="modulemenu-icon" aria-hidden="true"><core:icon size="medium" identifier="{module.iconIdentifier}" alternativeMarkupIdentifier="inline" /></span>
<span class="modulemenu-name">{moduleTitle}</span>
<span class="modulemenu-indicator" aria-hidden="true"></span>
</{f:if(condition: module.shouldBeLinked, then: 'a', else: 'button')}>
</f:section>
</html>
@@ -0,0 +1,69 @@
<html
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/element/sidebar-toggle-element.js" />
<div class="scaffold-topbar t3js-scaffold-topbar" data-topbar-identifier="topbar">
<div class="topbar t3js-topbar">
<typo3-backend-sidebar-toggle
class="topbar-button topbar-button-modulemenu"
label-collapse="{f:translate(key: 'toolbarItems.sidebarCollapse', domain: 'backend.toolbar')}"
label-expand="{f:translate(key: 'toolbarItems.sidebarExpand', domain: 'backend.toolbar')}"
{f:if(condition: '!{sidebar.accessible}', then: 'disabled')}
></typo3-backend-sidebar-toggle>
<div class="topbar-site-container">
<a class="topbar-site" href="./" target="_top" title="{siteName} - {applicationVersion}">
<span class="topbar-site-logo">
<img src="{logoUrl}" width="{logoWidth}" height="{logoHeight}" alt="" aria-hidden="true" />
</span>
<span class="topbar-site-title">
<span class="topbar-site-name">{siteName}</span>
<span class="topbar-site-version">{applicationVersion}</span>
</span>
</a>
</div>
<button
class="topbar-button topbar-button-toolbar t3js-topbar-button-toolbar"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_toolbar.xlf:toolbarItems.toolbarOpenClose')}"
aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_toolbar.xlf:toolbarItems.toolbarOpenClose')}"
>
<core:icon identifier="actions-cog" alternativeMarkupIdentifier="inline" />
</button>
<button
class="topbar-button topbar-button-search t3js-topbar-button-search"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_toolbar.xlf:toolbarItems.searchbarOpenClose')}"
aria-label="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_toolbar.xlf:toolbarItems.searchbarOpenClose')}"
aria-haspopup="dialog"
>
<core:icon identifier="actions-search" alternativeMarkupIdentifier="inline" />
</button>
</div>
</div>
<div class="scaffold-toolbar t3js-scaffold-toolbar" data-toolbar-identifier="toolbar">
<div class="toolbar">
<ul class="toolbar-list" data-typo3-role="typo3-module-menu">
<f:for each="{toolbarItems}" as="toolbarItem" iteration="iterator">
<li {be:toolbar.attributes(class: toolbarItem) -> f:format.raw()}>
<be:toolbar.ifHasDropdown class="{toolbarItem}">
<f:then>
<button type="button" class="toolbar-item-link dropdown-toggle dropdown-toggle-no-chevron" data-bs-target="toolbar-menu-{iterator.cycle}" data-bs-toggle="dropdown" data-bs-offset="0,0">
{toolbarItem.item -> f:format.raw()}
</button>
<div id="toolbar-menu-{iterator.cycle}" class="dropdown-menu" role="menu">
{toolbarItem.dropdown -> f:format.raw()}
</div>
</f:then>
<f:else>
{toolbarItem.item -> f:format.raw()}
</f:else>
</be:toolbar.ifHasDropdown>
</li>
</f:for>
</ul>
</div>
</div>
</html>
@@ -0,0 +1,57 @@
<div class="module-loading-indicator"></div>
<div class="module-docheader module-docheader-navigation t3js-module-docheader-navigation">
<f:be.pageRenderer includeJavaScriptModules="{0: '@typo3/backend/viewport/content-navigation-toggle.js'}" />
<div class="module-docheader-column">
<typo3-backend-content-navigation-toggle
class="btn btn-sm btn-icon btn-default btn-borderless"
action="expand"
hidden
>
</typo3-backend-content-navigation-toggle>
</div>
<div class="module-docheader-column module-docheader-column-breadcrumb">
<f:if condition="{docHeader.breadcrumb}">
<f:be.pageRenderer includeJavaScriptModules="{0: '@typo3/backend/element/breadcrumb.js'}" />
<typo3-breadcrumb
label='{f:translate(key: "LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:breadcrumb")}'
nodes='{docHeader.breadcrumb -> f:format.json()}'
></typo3-breadcrumb>
</f:if>
</div>
<div class="module-docheader-column">
<f:if condition="{docHeader.languageSelector}">
<f:format.raw>{docHeader.languageSelector}</f:format.raw>
</f:if>
</div>
</div>
<f:if condition="{docHeader.buttons.left -> f:count()} > 0 || {docHeader.buttons.right -> f:count()} > 0">
<div class="module-docheader module-docheader-buttons t3js-module-docheader-buttons">
<div class="module-docheader-column module-docheader-column-grow">
<f:render section="buttonbar" arguments="{buttons:docHeader.buttons.left}" />
</div>
<div class="module-docheader-column">
<f:render section="buttonbar" arguments="{buttons:docHeader.buttons.right}" />
</div>
</div>
</f:if>
<f:section name="buttonbar">
<f:if condition="{buttons -> f:count()} > 0">
<div class="btn-toolbar" role="toolbar" aria-label="">
<f:for each="{buttons}" as="buttonGroup">
<f:if condition="{buttonGroup -> f:count()} > 1">
<f:then>
<div class="btn-group" role="group" aria-label="">
<f:for each="{buttonGroup}" as="button">
{button -> f:format.raw()}
</f:for>
</div>
</f:then>
<f:else>
{buttonGroup.0 -> f:format.raw()}
</f:else>
</f:if>
</f:for>
</div>
</f:if>
</f:section>
@@ -0,0 +1,6 @@
<p>
<f:if condition="{normalizedParams.remoteAddress}">
This password reset request originated from the IP address <strong>{normalizedParams.remoteAddress}</strong>.
</f:if>
If you have not requested a password reset and have concerns about this email, please let your administrator know.
</p>
@@ -0,0 +1,2 @@
<f:if condition="{normalizedParams.remoteAddress}">This password reset request originated from the IP address "{normalizedParams.remoteAddress}".</f:if>
If you have not requested a password reset and have concerns about this email, please let your administrator know.
@@ -0,0 +1,8 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.image-manipulation" />
: <f:if condition="{image.properties.title}"><f:then>{image.properties.title} &mdash; {image.name}</f:then><f:else>{image.name}</f:else></f:if>
({image.properties.width} × {image.properties.height})
</html>
@@ -0,0 +1,53 @@
<html
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:if condition="{loginNewsItems}">
<section class="typo3-login-news" aria-labelledby="loginNewsHeader">
<h2 id="loginNewsHeader" class="visually-hidden">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.news.header" />
</h2>
<f:if condition="{loginNewsItems -> f:count()} > 1">
<f:then>
<div class="carousel slide typo3-login-carousel t3js-login-news-carousel" id="loginNews" data-bs-ride="false">
<button class="left typo3-login-carousel-control" data-bs-target="#loginNews" data-bs-slide="prev">
<core:icon identifier="actions-chevron-start" size="small" />
<span class="visually-hidden"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.news.previous"/></span>
</button>
<button type="button" class="right typo3-login-carousel-control" data-bs-target="#loginNews" data-bs-slide="next">
<core:icon identifier="actions-chevron-end" size="small" />
<span class="visually-hidden"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.news.next"/></span>
</button>
<div class="carousel-inner carousel-inner--overflowing-bottom" aria-live="polite">
<f:for each="{loginNewsItems}" as="item" iteration="loginNewsIterator">
<div role="group" aria-labelledby="loginNewsItem-{item.uid}" class="carousel-item{f:if(condition: loginNewsIterator.isFirst,then: ' active')}">
<f:render section="Item" arguments="{item: item}"/>
</div>
</f:for>
</div>
</div>
</f:then>
<f:else>
<div class="carousel typo3-login-carousel">
<div class="carousel-inner carousel-inner--overflowing-bottom">
<f:render section="Item" arguments="{item:'{loginNewsItems.0}'}"/>
</div>
</div>
</f:else>
</f:if>
</section>
</f:if>
<f:section name="Item">
<p id="loginNewsItem-{item.uid}" class="typo3-login-news-heading">{item.header}</p>
{item.content -> f:transform.html() -> f:sanitize.html()}
<f:if condition="{item.date}">
<p class="text-variant">
<span class="visually-hidden"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.news.date"/></span>{item.date}
</p>
</f:if>
</f:section>
</html>
@@ -0,0 +1,8 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:be.infobox title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_mfa.xlf:setup.instructions')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}">
<f:format.nl2br>{provider.setupInstructions -> f:translate(key: provider.setupInstructions, default: provider.setupInstructions)}</f:format.nl2br>
</f:be.infobox>
</html>
@@ -0,0 +1,12 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:switch expression="{item.stateIcon}">
<f:case value="-1"><core:icon identifier="status-dialog-ok" /></f:case>
<f:case value="1"><core:icon identifier="status-dialog-notification" /></f:case>
<f:case value="2"><core:icon identifier="status-dialog-warning" /></f:case>
<f:case value="3"><core:icon identifier="status-dialog-error" /></f:case>
</f:switch>
</html>
@@ -0,0 +1,60 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div class="tab-wrapper">
<ul class="nav nav-tabs" role="tablist" id="tabs-{id}" data-store-last-tab="{storeLastActiveTab}">
<f:for each="{items}" as="item" iteration="iteration">
<f:if condition="{item.content}">
<li role="presentation" class="nav-item">
<button
type="button"
class="nav-link {f:if(condition: '{iteration.cycle} == {defaultTabIndex}', then: ' active')}"
title="{item.linkTitle}"
data-typo3-tab="#{id}-{iteration.cycle}"
aria-controls="{id}-{iteration.cycle}"
role="tab"
>
<f:if condition="{item.icon}">
<f:format.raw>{item.icon}</f:format.raw>
</f:if>
{item.label}
<f:if condition="{item.requiredIcon}">
<f:format.raw>{item.requiredIcon}</f:format.raw>
</f:if>
<f:if condition="{item.stateIcon}">
<f:render partial="ModuleTemplate/StateIcon" arguments="{item: item}" />
</f:if>
</button>
</li>
</f:if>
</f:for>
</ul>
<div class="tab-content">
<f:for each="{items}" as="item" iteration="iteration">
<f:if condition="{item.content}">
<div role="tabpanel" class="tab-pane{f:if(condition: '{iteration.cycle} == {defaultTabIndex}', then: ' active')}" id="{id}-{iteration.cycle}">
<h2 class="visually-hidden">{item.label}</h2>
<f:if condition="{item.description}">
<div class="form-section">
<p><f:format.nl2br>{item.description}</f:format.nl2br></p>
</div>
</f:if>
<f:if condition="{wrapContent}">
<f:then>
<div class="form-section">
<f:format.raw>{item.content}</f:format.raw>
</div>
</f:then>
<f:else>
<f:format.raw>{item.content}</f:format.raw>
</f:else>
</f:if>
</div>
</f:if>
</f:for>
</div>
</div>
</html>
@@ -0,0 +1,26 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div class="multi-record-selection-actions-wrapper">
<div class="row row-cols-auto align-items-center gx-2 t3js-multi-record-selection-actions hidden">
<div class="col">
<strong><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.selection"/></strong>
</div>
<div class="col">
<f:for each="{actions}" as="action">
<button class="btn btn-default btn-sm"
data-multi-record-selection-action="{action.name}"
data-multi-record-selection-action-config='{action.configuration -> f:format.raw()}'
>
{action.icon -> f:format.raw()}
<span class="text">{action.label}</span>
</button>
</f:for>
</div>
</div>
</div>
</html>
@@ -0,0 +1,6 @@
<div class="t3-page-ce-actions t3js-page-new-ce">
<typo3-backend-new-content-element-wizard-button class="btn btn-default btn-sm" url="{url}" subject="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newContentElement')}">
<core:icon identifier="actions-plus" />
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:createNewContent" />
</typo3-backend-new-content-element-wizard-button>
</div>
@@ -0,0 +1,20 @@
<div class="t3-grid-container{f:if(condition: grid.context.backendLayout.identifierCleaned, then: ' t3-grid-container-{grid.context.backendLayout.identifierCleaned}')}">
<div class="t3-grid-container-inner">
<table class="t3-page-columns t3-grid-table t3js-page-columns">
<f:if condition="{gridColumns}">
<colgroup>
<f:for each="{gridColumns}" as="tmpColumn">
<col span="1" style="width: calc(100% / {gridColumns -> f:count()})">
</f:for>
</colgroup>
</f:if>
<f:for each="{grid.rows}" as="row">
<tr>
<f:for each="{row.columns}" as="column">
<f:render partial="PageLayout/Grid/Column" arguments="{_all}" />
</f:for>
</tr>
</f:for>
</table>
</div>
</div>
@@ -0,0 +1,50 @@
<f:comment>
Styling requires the colpos to be set to the string 'unused'. To preserve type safety in the
controller, the string is only used in the template by setting the below "colpos" variable.
</f:comment>
<f:variable name="colpos" value="{f:if(condition: column.unused, then: 'unused', else: column.columnNumber)}"/>
<f:if condition="{languageColumns}">
<f:then>
<f:comment><!-- Language comparison view --></f:comment>
<f:variable name="columnIdentifier" value="columnIdentifier_language-{column.context.siteLanguage.languageId}_column-{colpos}" />
</f:then>
<f:else>
<f:comment><!-- Grid / Column view --></f:comment>
<f:variable name="columnIdentifier" value="columnIdentifier_column-{colpos}" />
</f:else>
</f:if>
<f:variable name="columnClasses">
t3js-page-column t3-grid-cell t3-page-column
{f:if(condition: column.identifierCleaned, then: 't3-grid-cell-{column.identifierCleaned}')}
{f:if(condition: column.unassigned, then: 't3-grid-cell-unassigned')}
{f:if(condition: '!{column.active} && !{column.unused}', then: 't3-grid-cell-restricted')}
{f:if(condition: '!{column.active} && {hideRestrictedColumns} && !{column.unused}', then: 't3-grid-cell-hidden')}
</f:variable>
<td
valign="top"
colspan="{column.colSpan}"
rowspan="{column.rowSpan}"
data-colpos="{colpos}"
data-language-uid="{column.context.siteLanguage.languageId}"
class="{columnClasses -> f:spaceless()}"
role="group" aria-labelledby="{columnIdentifier}"
>
<f:alias map="{columnHeaderLevel: 2}">
<f:render partial="PageLayout/Grid/ColumnHeader" arguments="{_all}" />
</f:alias>
<f:if condition="{column.active} || {column.unused}">
<div data-colpos="{colpos}" data-language-uid="{column.context.siteLanguage.languageId}" class="t3-page-ce-wrapper">
<f:for each="{column.items}" as="item">
<f:render partial="PageLayout/Record" arguments="{_all}" />
</f:for>
</div>
</f:if>
<f:if condition="{column.unassigned}">
<f:be.infobox
title="{f:translate(domain: 'backend.layout', key: 'emptyColPos')}"
message="{f:translate(domain: 'backend.layout', key: 'emptyColPos.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::WARNING')}"
/>
</f:if>
</td>
@@ -0,0 +1,49 @@
{columnHeaderLevel -> f:or(alternative: 2) -> f:variable(name: 'columnHeaderLevel')}
<div class="t3-page-column-header">
<f:if condition="{column.active}">
<f:then>
<div class="t3-page-column-header-icons">
<f:if condition="{allowEditContent} && {column.editUrl}">
<a
class="btn btn-link"
href="{column.editUrl}"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:editColumn')}"
>
<core:icon identifier="actions-document-open" />
<span class="visually-hidden">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:editColumn')}</span>
</a>
</f:if>
</div>
<h{columnHeaderLevel} id="{columnIdentifier}" class="t3-page-column-title">
{column.title}
<f:if condition="{context.pageContext.pageRecord.pid} !== 0 && {column.slideMode.value} !== 'none'">
<f:if condition="!({column.slideMode.value} === 'slide' && {column.items})">
<span class="badge badge-info" title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:slideModeInfo.{column.slideMode.value}')}">
<f:switch expression="{column.slideMode.value}">
<f:case value="slide">{core:icon(identifier: 'actions-search', size: 'small')}{core:icon(identifier: 'actions-sort-amount-up', size: 'small')}</f:case>
<f:case value="collect">{core:icon(identifier: 'actions-cart', size: 'small')}{core:icon(identifier: 'actions-sort-amount-down', size: 'small')}</f:case>
<f:case value="collectReverse">{core:icon(identifier: 'actions-cart', size: 'small')}{core:icon(identifier: 'actions-sort-amount-up', size: 'small')}</f:case>
</f:switch>
</span>
</f:if>
</f:if>
</h{columnHeaderLevel}>
</f:then>
<f:else if="{column.unused}">
<span id="{columnIdentifier}"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:unusedColPos"/></span>
</f:else>
<f:else if="{column.unassigned}">
<span id="{columnIdentifier}">{column.titleUnassigned}</span>
</f:else>
<f:else>
<span id="{columnIdentifier}">{column.titleInaccessible}</span>
</f:else>
</f:if>
</div>
<f:if condition="{allowEditContent} && {column.contentEditable} && {column.context.allowNewContent} && {column.active}">
<div class="t3-page-ce t3js-page-ce" data-page="{column.context.pageId}">
<f:render partial="PageLayout/ActionControls" arguments="{column: column, allowEditContent: allowEditContent, url: column.newContentUrl}" />
<div class="t3-page-ce-dropzone t3js-page-ce-dropzone-available" hidden></div>
</div>
</f:if>
@@ -0,0 +1,149 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div class="t3-grid-container{f:if(condition: context.backendLayout.identifierCleaned, then: ' t3-grid-container-{context.backendLayout.identifierCleaned}')}" data-multi-languages="{f:if(condition: context.multiLanguages, then: '1', else: '0')}">
<div class="t3-grid-container-inner">
<table class="t3-page-columns t3-grid-table t3js-page-columns">
<tr>
<f:for each="{languageColumns}" as="languageColumn">
<td valign="top"
class="t3-page-column t3-page-column-lang-name"
data-language-uid="{languageColumn.context.siteLanguage.languageId}"
data-language-title="{languageColumn.context.siteLanguage.title}"
data-flag-identifier="{languageColumn.context.siteLanguage.flagIdentifier}"
>
<typo3-backend-editable-page-title
pageTitle="{languageColumn.context.localizedPageTitle}"
pageId="{context.pageId}"
localizedPageId="{languageColumn.pageRecordUid}"
{languageColumn.allowEditPage ? 'editable' : ''}
>
{languageColumn.context.localizedPageTitle}
</typo3-backend-editable-page-title>
<div>
<core:iconForRecord table="pages" row="{languageColumn.pageRecord}" />
<core:icon identifier="{languageColumn.context.siteLanguage.flagIdentifier}" />
{languageColumn.context.siteLanguage.title}
<f:if condition="{languageColumn.context.languageMode}">
<span class="badge badge-{languageColumn.context.languageModeLabelClass}">{languageColumn.context.languageMode}</span>
</f:if>
<f:if condition="{languageColumn.translationData.hasElementsWithWorkspaceDeletePlaceholders}">
<span class="badge badge-warning"
data-bs-content="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:languageContainsWorkspaceDeletePlaceholderRecords')}"
data-bs-toggle="popover"
data-bs-placement="auto"
data-bs-trigger="hover focus"
>
!
</span>
</f:if>
</div>
<div class="mt-2">
<f:if condition="{languageColumn.allowViewPage}">
<button class="btn btn-default btn-sm" {f:if(condition: languageColumn.previewUrlAttributes, then: '{languageColumn.previewUrlAttributes -> f:format.raw()}', else: 'disabled="true"')} title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.showPage')}">
<core:icon identifier="actions-view" />
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.showPage" />
</button>
</f:if>
<f:if condition="{languageColumn.allowEditPage}">
<typo3-backend-contextual-record-edit-trigger
url="{languageColumn.pageEditUrl}"
edit-url="{languageColumn.fullPageEditUrl}"
class="btn btn-default btn-sm"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:editPageProperties')}"
>
<core:icon identifier="actions-open" />
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:editPageProperties" />
</typo3-backend-contextual-record-edit-trigger>
</f:if>
<f:if condition="{allowEditContent} && {languageColumn.context.siteLanguage.languageId} && {languageColumn.translationData.untranslatedRecordUids}">
<typo3-backend-localization-button
class="btn btn-default btn-sm"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newPageContent_translate')}"
record-type="pages"
record-uid="{context.pageId}"
target-language="{languageColumn.context.siteLanguage.languageId}"
>
<core:icon identifier="actions-localize" />
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:localize.wizard.button.translate" />
</typo3-backend-localization-button>
</f:if>
</div>
</td>
</f:for>
</tr>
<f:if condition="{context.multiLanguages}">
<f:then>
<f:variable name="grid" value="{languageColumns.0.grid}" />
<f:for each="{context.drawingConfiguration.activeColumns}" as="columnNumber">
<tr>
<f:for each="{languageColumns}" as="languageColumn">
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumn, columnNumber: columnNumber)}" />
<td valign="top"
data-colpos="{column.columnNumber}" data-language-uid="{column.context.siteLanguage.languageId}"
class="t3-grid-cell t3-page-column t3js-page-column {f:if(condition: column.identifierCleaned, then: 't3-grid-cell-{column.identifierCleaned}')}">
<f:alias map="{columnHeaderLevel: 3}">
<f:render partial="PageLayout/Grid/ColumnHeader" arguments="{_all}" />
</f:alias>
</td>
</f:for>
</tr>
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumns.0, columnNumber: columnNumber)}" />
<f:for each="{column.items}" as="gridItem" iteration="itemIterator">
<tr>
<td class="t3-grid-cell t3js-page-column {f:if(condition: column.identifierCleaned, then: 't3-grid-cell-{column.identifierCleaned}')}" valign="top" data-colpos="{column.columnNumber}">
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumns.0, columnNumber: columnNumber)}" />
<f:variable name="item" value="{gridItem}" />
<f:render partial="PageLayout/Record" arguments="{_all}" />
</td>
<f:for each="{languageColumns}" as="languageColumn">
<f:if condition="{languageColumn.context.siteLanguage.languageId} > 0">
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumn, columnNumber: columnNumber)}" />
<td class="t3-grid-cell t3js-page-column {f:if(condition: column.identifierCleaned, then: 't3-grid-cell-{column.identifierCleaned}')}" valign="top" data-colpos="{column.columnNumber}">
<f:variable name="languageId" value="{languageColumn.context.siteLanguage.languageId}" />
<f:if condition="{languageColumn.translationData.mode} == 'connected'">
<f:then>
<f:if condition="{gridItem.translations.{languageId}}">
<f:variable name="item" value="{gridItem.translations.{languageId}}" />
<f:render partial="PageLayout/Record" arguments="{_all}" />
</f:if>
</f:then>
<f:else>
<f:if condition="{itemIterator.isFirst}">
<f:variable name="languageColumnNonConnected">{languageColumns.{languageId}}</f:variable>
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumnNonConnected, columnNumber: columnNumber)}" />
<f:for each="{column.items}" as="item">
<f:render partial="PageLayout/Record" arguments="{_all}" />
</f:for>
</f:if>
</f:else>
</f:if>
</td>
</f:if>
</f:for>
</tr>
</f:for>
</f:for>
</f:then>
<f:else>
<f:for each="{context.drawingConfiguration.activeColumns}" as="columnNumber">
<tr>
<f:for each="{languageColumns}" as="languageColumn">
<f:if condition="{languageColumn.grid.columns}">
<f:variable name="grid" value="{languageColumn.grid}" />
<f:variable name="column" value="{be:languageColumn(languageColumn: languageColumn, columnNumber: columnNumber)}" />
<f:render partial="PageLayout/Grid/Column" arguments="{_all}" />
</f:if>
</f:for>
</tr>
</f:for>
</f:else>
</f:if>
</table>
</div>
</div>
</html>
@@ -0,0 +1,36 @@
{f:if(condition: '{item.disabled} && {item.context.drawingConfiguration.showHidden} == 0', then: 'height: 0; display: none;') -> f:variable(name: 'style')}
<div
role="group"
aria-labelledby="element-{item.table}-{item.record.uid}-label"
class="t3-page-ce {item.wrapperClassName} t3js-page-ce t3js-page-ce-sortable"
id="element-{item.table}-{item.record.uid}"
data-table="{item.table}"
data-uid="{item.record.uid}"
data-language-uid="{item.record.languageId}"
data-move-element-url="{f:be.uri(route: 'move_element', parameters: '{uid: item.record.uid, originalPid: item.record.pid, expandPage: item.record.pid, returnUrl: context.returnUrl}')}"
style="{style}"
>
<span id="element-{item.table}-{item.record.uid}-label" class="visually-hidden">id={item.record.uid} - <f:if condition="{item.record.header}">{item.record.header} - </f:if>{item.contentTypeLabel}</span>
<div class="t3-page-ce-element t3-page-ce-dragitem">
<f:render partial="PageLayout/Record/{item.record.CType}/Header" arguments="{_all}" optional="1">
<f:render partial="PageLayout/RecordDefault/Header" arguments="{_all}" />
</f:render>
<f:spaceless>
<div class="t3-page-ce-body">
<f:render partial="PageLayout/RecordDefault/Preview" arguments="{_all}" />
</div>
</f:spaceless>
<f:render partial="PageLayout/Record/{item.record.CType}/Footer" arguments="{_all}" optional="1">
<f:render partial="PageLayout/RecordDefault/Footer" arguments="{_all}" />
</f:render>
<f:if condition="{item.inconsistentLanguage}">
<div class="t3-page-ce-footer">
<span class="badge badge-warning">{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.inconsistentLanguageWarning')}</span>
</div>
</f:if>
</div>
<f:if condition="{allowEditContent} && {item.column.contentEditable} && {column.context.allowNewContent} && {column.active}">
<f:render partial="PageLayout/ActionControls" arguments="{item: item, column: column, allowEditContent: allowEditContent, url: item.newContentAfterUrl}" />
</f:if>
<div class="t3-page-ce-dropzone t3js-page-ce-dropzone-available" hidden></div>
</div>
@@ -0,0 +1,7 @@
<f:if condition="{item.footerInfo}">
<div class="t3-page-ce-footer">
<div class="t3-page-ce-info">
{item.footerInfo -> f:format.raw()}
</div>
</div>
</f:if>
@@ -0,0 +1,60 @@
<div class="t3-page-ce-header t3js-page-ce-header" {f:if(condition: '{allowEditContent} && {item.dragAndDropAllowed}', then: 'draggable="true"')}>
<div class="t3-page-ce-header-left">
{item.icons -> f:format.raw()}
<f:if condition="{item.siteLanguage.flagIdentifier}">
<span class="t3-page-ce-header-icon-flag t3js-flag">
<span class="visually-hidden">{item.siteLanguage.title}</span>
<core:icon identifier="{item.siteLanguage.flagIdentifier}" title="{item.siteLanguage.title}" />
</span>
</f:if>
</div>
<div class="t3-page-ce-header-title">
{item.contentTypeLabel}
</div>
<div class="t3-page-ce-header-right">
<f:if condition="{item.editable} && {allowEditContent}">
<div class="btn-toolbar">
<div class="btn-group btn-group-sm">
<typo3-backend-contextual-record-edit-trigger
url="{item.contextualEditUrl}"
edit-url="{item.editUrl}"
class="btn btn-sm btn-default btn-borderless"
title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:edit')}"
>
<core:icon identifier="actions-open" />
</typo3-backend-contextual-record-edit-trigger>
<f:if condition="{item.visibilityToggling}">
<button type="button"
class="btn btn-sm btn-default btn-borderless"
data-action="content-element-visibility-toggle"
title="{item.visibilityToggleTitle}">
<typo3-backend-icon identifier="actions-edit-{item.visibilityToggleIconName}" size="small"></typo3-backend-icon>
</button>
</f:if>
<f:if condition="{item.delible}">
<a class="btn btn-default btn-borderless t3js-modal-trigger"
href="{item.deleteUrl}"
data-severity="warning"
data-title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_alt_doc.xlf:label.confirm.delete_record.title')}"
data-content="{item.deleteMessage}"
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
data-button-ok-text="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_mod_web_list.xlf:delete')}"
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:deleteItem')}">
<core:icon identifier="actions-edit-delete" size="small" />
</a>
</f:if>
<button type="button"
aria-haspopup="true"
aria-controls="contentMenu0"
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.contextMenu.open')}"
class="btn btn-sm btn-default btn-borderless"
data-contextmenu-trigger="click"
data-contextmenu-table="{item.table}"
data-contextmenu-uid="{item.record.uid}">
<core:icon identifier="actions-menu-alternative" />
</button>
</div>
</div>
</f:if>
</div>
</div>
@@ -0,0 +1,3 @@
<f:render partial="PageLayout/Record/{item.record.CType}/Preview" arguments="{_all}" optional="1">
{item.preview -> f:format.raw()}
</f:render>
@@ -0,0 +1,30 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div class="diff">
<f:for each="{differences}" as="differencesItem" key="key">
<div class="diff-item">
<div class="diff-item-title">
{differencesItem.title}
</div>
<div class="diff-item-result"><f:spaceless>
<f:format.raw>{differencesItem.result}</f:format.raw>
</f:spaceless></div>
<f:if condition="{differences -> f:count()} > 1">
<div class="diff-item-button col-control nowrap">
<f:if condition="{differencesItem.rollbackUrl}">
<div class="btn-group">
<a href="{differencesItem.rollbackUrl}" class="btn btn-default">
<core:icon identifier="actions-edit-undo" />
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:revertField')}
</a>
</div>
</f:if>
</div>
</f:if>
</div>
</f:for>
</div>
</html>
@@ -0,0 +1,129 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<h2>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:changes')}</h2>
<f:groupedFor each="{history}" as="historyEntries" groupBy="day" groupKey="day">
<h3>{day}</h3>
<div class="table-fit">
<table class="table table-striped table-hover table-vertical-top">
<thead>
<tr>
<th class="col-time">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:time')}</th>
<th colspan="2">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:user')}</th>
<th colspan="2">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:column.recordTitle')}</th>
<th class="col-action">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:column.action')}</th>
<th class="col-differences">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:differences')}</th>
<th class="col-control nowrap"><span class="visually-hidden">{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_')}</span></th>
</tr>
</thead>
<tbody>
<f:for each="{historyEntries}" as="historyRow">
<tr>
<td class="col-time">
<f:format.date format="H:i:s">{historyRow.timestamp}</f:format.date>
</td>
<td class="col-avatar">
<f:if condition="{historyRow.backendUserUid}">
<be:avatar backendUser="{historyRow.backendUserUid}" showIcon="true" />
</f:if>
</td>
<td class="col-username">
<f:if condition="{historyRow.backendUserUid}">
<f:then>
<f:if condition="{historyRow.backendUserRealName}">
<f:then>
{historyRow.backendUserRealName}
<div class="text-variant">({f:if(condition: historyRow.backendUserName, then: historyRow.backendUserName, else: '{f:translate(key: \'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:userNotFound\')}')})</div>
</f:then>
<f:else>
{f:if(condition: historyRow.backendUserName, then: historyRow.backendUserName, else: '{f:translate(key: \'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:userNotFound\')}')}
</f:else>
</f:if>
</f:then>
<f:else>
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:externalChange')}
</f:else>
</f:if>
<f:if condition="{historyRow.originalBackendUserUid}">
<div>({f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:viaUser')} {f:if(condition: historyRow.originalBackendUserName, then: historyRow.originalBackendUserName, else: '{f:translate(key: \'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:userNotFound\')}')})</div>
</f:if>
<f:if condition="{isUserInWorkspace} && {historyRow.isChangedInWorkspace}">
<br>
<span class="text-variant">
{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:workspace')}
</span>
</f:if>
</td>
<td class="col-icon nowrap">
<span title="id={historyRow.recordUid}">
<core:iconForRecord table="{historyRow.recordTable}" row="{historyRow}" alternativeMarkupIdentifier="inline" />
</span>
</td>
<td class="col-recordtitle">
{historyRow.title} ({historyRow.recordTable}:{historyRow.recordUid})
</td>
<td class="col-action">
<f:variable name="actionTypeClass">
<f:switch expression="{historyRow.actiontype}">
<f:case value="1">success</f:case>
<f:case value="2">warning</f:case>
<f:case value="3">primary</f:case>
<f:case value="4">danger</f:case>
<f:case value="7">info</f:case>
<f:defaultCase>secondary</f:defaultCase>
</f:switch>
</f:variable>
<span class="badge badge-{actionTypeClass -> f:spaceless()}">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:historyRow.actiontype.{historyRow.actiontype}" />
</span>
</td>
<td class="col-differences">
<f:if condition="{historyRow.fieldNames}">
{historyRow.fieldNames}
</f:if>
<f:if condition="{historyRow.differences}">
<f:render partial="RecordHistory/Diff" arguments="{differences: historyRow.differences}"/>
</f:if>
</td>
<td class="col-control nowrap">
<div class="btn-group">
<f:if condition="{0:recordTable,1:recordUid} !== {0:historyRow.recordTable,1:historyRow.recordUid}">
<a
href="{historyRow.elementUrl}"
title="{f:translate(id: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:linkRecordHistory')}"
class="btn btn-default"
>
<core:icon identifier="actions-filter" />
</a>
</f:if>
<f:if condition="{isUserInWorkspace} !== true || {historyRow.isChangedInWorkspace}">
<f:if condition="{editLock}">
<f:then>
<button class="btn btn-default disabled" title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:editLockIsActive')}">
<core:icon identifier="actions-document-history-open" />
</button>
</f:then>
<f:else>
<a class="btn btn-default" href="{historyRow.diffUrl}" title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:sumUpChanges')}">
<core:icon identifier="actions-document-history-open" />
</a>
</f:else>
</f:if>
</f:if>
</div>
</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</f:groupedFor>
<f:be.infobox state="{f:constant(name: '\TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:differenceMsg') -> f:format.raw()}</f:be.infobox>
</html>
@@ -0,0 +1,44 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<h2>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:mergedDifferences')}</h2>
<f:if condition="{revertAllUrl}">
<f:then>
<p><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:mergedDifferences.description" /></p>
<div class="diff-group">
<f:for each="{multipleDiff}" as="historyRow">
<h3>{historyRow.title}</h3>
<div class="row">
<div class="col">
<f:if condition="{historyRow.insertDelete} || {historyRow.fieldNames} || {historyRow.differences -> f:count()}">
<div class="diff-group">
<f:if condition="{historyRow.insertDelete} == 'delete'">
<p><strong>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:rollback.plannedAction.delete')}</strong></p>
</f:if>
<f:if condition="{historyRow.insertDelete} == 'insert'">
<p><strong>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:rollback.plannedAction.insert')}</strong></p>
</f:if>
<f:if condition="{historyRow.fieldNames}">
<p>{historyRow.fieldNames}</p>
</f:if>
<f:if condition="{historyRow.differences}">
<f:render partial="RecordHistory/Diff" arguments="{differences: historyRow.differences}"/>
</f:if>
</div>
</f:if>
</div>
</div>
<a href="{historyRow.revertRecordUrl}" class="btn btn-default">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:revertRecord')}</a>
</f:for>
</div>
<a href="{revertAllUrl}" class="btn btn-default">{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:revertAll')}</a>
</f:then>
<f:else>
<p>{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:noDifferences')}</p>
</f:else>
</f:if>
</html>
@@ -0,0 +1,39 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<div id="element-history-settings" class="container-settings">
<form action="{settingsFormUrl}" name="recordHistorySettingsForm" method="post">
<div class="form-row-md">
<div class="form-group">
<label class="form-label" for="maxSteps"><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:maxSteps" /></label>
<select class="form-select" id="maxSteps" name="settings[maxSteps]" data-global-event="change" data-action-submit="$form">
<option value="10" {f:if(condition: '{moduleSettings.maxSteps} == 10', then :'selected')}>10</option>
<option value="20" {f:if(condition: '{moduleSettings.maxSteps} == 20', then :'selected')}>20</option>
<option value="50" {f:if(condition: '{moduleSettings.maxSteps} == 50', then :'selected')}>50</option>
<option value="100" {f:if(condition: '{moduleSettings.maxSteps} == 100', then :'selected')}>100</option>
<option value="999" {f:if(condition: '{moduleSettings.maxSteps} == 999', then :'selected')}><f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:maxSteps_all" /></option>
</select>
</div>
<div class="form-group">
<div class="form-check form-switch form-check-size-input">
<input type="hidden" value="0" name="settings[showDiff]" />
<input type="checkbox" id="showDiff" value="1" name="settings[showDiff]" data-global-event="change" data-action-submit="$form" class="form-check-input" {f:if(condition: '{moduleSettings.showDiff}', then: 'checked')} />
<label class="form-check-label" for="showDiff">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:showDiff" />
</label>
</div>
</div>
<div class="form-group">
<div class="form-check form-switch form-check-size-input">
<input type="hidden" value="0" name="settings[showSubElements]" />
<input type="checkbox" id="showSubElements" value="1" name="settings[showSubElements]" data-global-event="change" data-action-submit="$form" class="form-check-input" {f:if(condition: '{moduleSettings.showSubElements}', then: 'checked')} />
<label class="form-check-label" for="showSubElements">
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_show_rechis.xlf:showSubElements" />
</label>
</div>
</div>
</div>
</form>
</div>
</html>
@@ -0,0 +1,33 @@
<f:if condition="{site.invalidSets}">
<f:variable name="renderMode">{f:if(condition: '{renderMode} == "infobox"', then: 'infobox', else: 'alert')}</f:variable>
<f:render section="{renderMode}" arguments="{
site: site,
title: '{f:translate(key: \'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:error.site.invalidSetDependencies\')}'
}"/>
</f:if>
<f:section name="infobox">
<f:be.infobox state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}" title="{title}">
<ul class="alert-message">
<f:for each="{site.invalidSets}" as="invalidSet">
<li><f:translate key="{invalidSet.error.label}" arguments="{0: invalidSet.name, 1: invalidSet.context}"/></li>
</f:for>
</ul>
</f:be.infobox>
</f:section>
<f:section name="alert">
<div class="alert alert-danger mt-2">
<div class="alert-inner">
<div class="alert-content">
<div class="alert-title">{title}</div>
<ul class="alert-message">
<f:for each="{site.invalidSets}" as="invalidSet">
<li><f:translate key="{invalidSet.error.label}" arguments="{0: invalidSet.name, 1: invalidSet.context}"/></li>
</f:for>
</ul>
</div>
</div>
</div>
</f:section>
@@ -0,0 +1,5 @@
<span class="toolbar-item-icon" title="{f:translate(key: title, default: title)}" aria-hidden="true">{icon -> f:format.raw()}</span>
<span class="toolbar-item-title">{f:translate(key: title) -> f:format.raw()}</span>
<f:if condition="{name}">
<span class="toolbar-item-name">{name -> f:format.raw()}</span>
</f:if>
@@ -0,0 +1,39 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module" />
<f:section name="Content">
<div class="about-module">
<f:render partial="About/Logo" arguments="{_all}" />
<f:for each="{messages}" as="message">
<f:be.infobox title="{f:if(condition: message.title, then: message.title, else: '{f:translate(key: \'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:warning.header\')}')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}">
<p>{message.message -> f:sanitize.html()}</p>
</f:be.infobox>
</f:for>
<f:render partial="About/About" arguments="{_all}" />
<f:render partial="About/Modules" arguments="{_all}" />
<h2><f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:donation.sectionHeadline" /></h2>
<f:render partial="About/Donation" arguments="{_all}" />
<f:render partial="About/Credits" arguments="{_all}" />
<f:render partial="About/CoreTeam" arguments="{_all}" />
<f:render partial="About/ExternalLibraries" arguments="{_all}" />
<f:render partial="About/Extensions" arguments="{_all}" />
<p>
<em>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Modules/about.xlf:endText" />
</em>
</p>
<p>{typo3Info.copyrightNotice -> f:format.raw()}</p>
</div>
</f:section>
</html>
@@ -0,0 +1,86 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:asset.module identifier="@typo3/backend/java-script-module-import-event-handler.js"/>
<f:asset.module identifier="bootstrap"/>
<f:asset.module identifier="@typo3/backend/dropdown.js"/>
<f:asset.module identifier="@typo3/backend/module/router.js"/>
<f:asset.module identifier="@typo3/backend/viewport/content-navigation.js"/>
<f:asset.module identifier="@typo3/backend/storage/module-state-storage.js"/>
<f:asset.module identifier="@typo3/backend/toolbar.js"/>
<f:asset.module identifier="@typo3/backend/notification.js"/>
<f:asset.module identifier="@typo3/backend/modal.js"/>
<f:asset.module identifier="@typo3/backend/info-window.js"/>
<f:asset.module identifier="@typo3/backend/context-menu.js"/>
<f:asset.module identifier="@typo3/backend/localization.js"/>
<f:asset.module identifier="@typo3/backend/global-event-handler.js"/>
<f:asset.module identifier="@typo3/backend/action-dispatcher.js"/>
<f:asset.module identifier="@typo3/backend/element/immediate-action-element.js"/>
<f:asset.module identifier="@typo3/backend/live-search/live-search.js"/>
<f:asset.module identifier="@typo3/backend/live-search/element/backend-search.js"/>
<f:asset.module identifier="@typo3/backend/drag-tooltip.js"/>
<div class="scaffold{f:if(condition: '{sidebar.accessible} && {sidebar.expanded}', then: ' scaffold-sidebar-expanded')}{f:if(condition: '{isImpersonated}', then: ' scaffold-in-impersonation')} t3js-scaffold">
<div class="scaffold-state t3js-scaffold-state"></div>
<div class="scaffold-header t3js-scaffold-header">
<f:render partial="Backend/Topbar" arguments="{_all}" />
</div>
<div class="scaffold-sidebar{f:if(condition: '!{sidebar.accessible}', then: ' scaffold-sidebar-disabled')} t3js-scaffold-sidebar">
<f:for each="{sidebar.modules}" as="module">
<f:asset.module identifier="{module}"/>
</f:for>
{sidebar.html -> f:format.raw()}
</div>
<div class="scaffold-content t3js-scaffold-content">
<typo3-backend-content-navigation
identifier="backend"
navigation-title="{f:translate(key: 'viewport.navigation', domain: 'backend.messages')}"
navigation-label-collapse="{f:translate(key: 'viewport.navigation.hide', domain: 'backend.messages')}"
navigation-label-expand="{f:translate(key: 'viewport.navigation.show', domain: 'backend.messages')}"
navigation-min-width="300"
navigation-hidden
>
<div slot="navigation"></div>
<div slot="content">
<f:if condition="{workspaceAccessDenied}">
<f:then>
<div class="m-4">
<f:be.infobox
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:noModuleAccess.workspace.title')}"
message="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:noModuleAccess.workspace.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::WARNING')}"
/>
</div>
</f:then>
<f:else if="{noModuleAccess}">
<div class="m-4">
<f:be.infobox
title="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:noModuleAccess.permissions.title')}"
message="{f:translate(key: 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:noModuleAccess.permissions.message')}"
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::WARNING')}"
/>
</div>
</f:else>
<f:else>
<typo3-backend-module-router
module="{startupModule.0}"
endpoint="{startupModule.1}"
state-tracker="{stateTracker}"
sitename="{sitename}"
{f:if(condition: sitenameFirstInBackendTitle, then: 'sitename-first')}
entry-point="{entryPoint}"
></typo3-backend-module-router>
</f:else>
</f:if>
</div>
</typo3-backend-content-navigation>
</div>
<div class="scaffold-overlay"></div>
</div>
<typo3-backend-drag-tooltip></typo3-backend-drag-tooltip>
<typo3-backend-context-menu></typo3-backend-context-menu>
</html>
@@ -0,0 +1,6 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:render partial="Backend/ModuleMenu" arguments="{modules: modules, modulesInformation: modulesInformation}" />
</html>
@@ -0,0 +1,6 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:render partial="Backend/Topbar" arguments="{_all}" />
</html>
@@ -0,0 +1,84 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<form id="columnSelectorForm">
<div class="sticky-form-actions">
<label
for="columns-filter-input"
class="visually-hidden"
>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/locallang_column_selector.xlf:columnsFilter" />
</label>
<input
type="search"
autocomplete="off"
id="columns-filter-input"
name="columns-filter"
class="form-control"
value=""
placeholder="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.enterSearchString')}"
>
<div class="btn-group t3js-column-selector-actions">
<button type="button" class="btn btn-default disabled" data-action="select-all">
<core:icon identifier="actions-check-square"/> <f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.checkAll" />
</button>
<button type="button" class="btn btn-default disabled" data-action="select-none">
<core:icon identifier="actions-square"/> <f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.uncheckAll" />
</button>
<button type="button" class="btn btn-default" data-action="select-toggle">
<core:icon identifier="actions-document-select"/> <f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleSelection" />
</button>
</div>
</div>
<div class="row">
<f:for each="{columns}" as="column">
<div class="col-6 t3js-column-selector-container">
<div class="mt-2 form-check form-check-type-icon-toggle {f:if(condition: column.disabled, then: 'disabled')}">
<input
type="checkbox"
id="select-column-{table}-{column.name}"
name="selectedColumns[]"
class="form-check-input t3js-column-selector"
value="{column.name}"
{f:if(condition:'{column.selected}', then:' checked')}
{f:if(condition:'{column.disabled}', then: 'disabled')}
/>
<label class="form-check-label" for="select-column-{table}-{column.name}">
<span class="form-check-label-icon">
<span class="form-check-label-icon-checked">
<core:icon identifier="actions-check" size="small" alternativeMarkupIdentifier="inline" />
</span>
<span class="form-check-label-icon-unchecked">
<core:icon identifier="miscellaneous-placeholder" size="small" alternativeMarkupIdentifier="inline" />
</span>
</span>
<f:if condition="{column.pseudo} && {column.label}">
<f:then>
<span><i>{column.label}</i></span>
</f:then>
<f:else>
<f:if condition="{column.label}">
<span>{column.label}</span>
</f:if>
<span class="text-variant">[{column.name}]</span>
</f:else>
</f:if>
</label>
</div>
<f:if condition="{column.disabled}">
<input type="hidden" name="selectedColumns[]" value="{column.name}" />
</f:if>
</div>
</f:for>
</div>
<input type="hidden" name="table" value="{table}">
</form>
</html>
@@ -0,0 +1,320 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module" />
<f:section name="Before">
<f:asset.module identifier="@typo3/backend/utility/collapse-state-persister.js"/>
</f:section>
<f:section name="Content">
<f:if condition="{accessAllowed}">
<f:then>
<f:if condition="{hookContent}">
<f:then>
<f:format.raw>{hookContent}</f:format.raw>
</f:then>
<f:else>
<f:render section="nativeContent" arguments="{_all}" />
</f:else>
</f:if>
</f:then>
<f:else>
<f:be.infobox state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::ERROR')}">{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.noEditPermission')}</f:be.infobox>
</f:else>
</f:if>
</f:section>
<f:section name="nativeContent">
<div class="card-container">
<div class="card card-size-medium">
<div class="card-header">
<div class="card-icon">
{icon -> f:format.raw()}
</div>
<div class="card-header-body">
<h2 class="card-title">{title -> f:format.crop(maxCharacters: maxTitleLength)}<f:if condition="{extraFields.uid.value}"><code>[{extraFields.uid.value}]</code></f:if></h2>
<f:if condition="{table}">
<span class="card-subtitle">{table}</span>
</f:if>
</div>
</div>
<div class="card-body">
<div class="row">
<f:for each="{extraFields}" as="extraField">
<f:if condition="{extraField.isDatetime}">
<div class="col-md-6">
<strong>{extraField.fieldLabel}</strong><br>
{extraField.value}
</div>
</f:if>
</f:for>
</div>
<f:if condition="{extraFields.creatorRecord}">
<div class="row mt-3">
<div class="col-md-12">
<strong>{extraFields.creatorRecord.fieldLabel}</strong>
</div>
<div class="col-md-12">
<div class="media">
<div class="media-left">
<be:avatar backendUser="{extraFields.creatorRecord.value.uid}" showIcon="true" />
</div>
<div class="media-body">
<f:if condition="{extraFields.creatorRecord.value.realName}">
<f:then>{extraFields.creatorRecord.value.realName}<br>({extraFields.creatorRecord.value.username})</f:then>
<f:else>{extraFields.creatorRecord.value.username}</f:else>
</f:if>
</div>
</div>
</div>
</div>
</f:if>
</div>
</div>
</div>
<f:if condition="{missingFile}">
<f:be.infobox title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:warning.file_missing')}" state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::WARNING')}">{missingFile}</f:be.infobox>
</f:if>
<f:if condition="{fileRenderer}">
<p>
{fileRenderer -> f:format.raw()}
</p>
</f:if>
<f:if condition="{fileObject}">
<p>
<f:media file="{fileObject}" width="{width}" height="{height}" />
</p>
</f:if>
<f:if condition="{url}">
<p>
<a class="btn btn-default" href="{url}" target="_blank" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.show')}">
<core:icon identifier="actions-document-view" size="small" alternativeMarkupIdentifier="inline" />
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.show" />
</a>
<f:if condition="{editMetadataUrl}">
<a class="btn btn-default" href="{editMetadataUrl}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.editMetadata')}">
<core:icon identifier="actions-file-edit" size="small" alternativeMarkupIdentifier="inline" />
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.editMetadata" />
</a>
</f:if>
</p>
</f:if>
<h2><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.general" /></h2>
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#fieldValues-panel"
aria-controls="fieldValues-panel"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.fieldValues" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="fieldValues-panel" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<div class="table-fit table-fit-wrap">
<table class="table table-striped table-hover">
<tbody>
<f:for each="{fields}" as="field">
<tr>
<th class="col-fieldname">{field.fieldLabel}</th>
<td class="col-word-break">{field.fieldValue}</td>
</tr>
</f:for>
</tbody>
</table>
</div>
</div>
</div>
<f:if condition="{returnUrl}">
<a class="btn btn-primary" href="{returnUrl}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:back')}">
<core:icon identifier="actions-view-go-back" size="small" />
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:back" />
</a>
</f:if>
<f:if condition="{refLines} || {refFromLines}">
<h2><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.references" /></h2>
</f:if>
<f:if condition="{refLines}">
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#referencesToThisItem-panel"
aria-controls="referencesToThisItem-panel"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.referencesToThisItem" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="referencesToThisItem-panel" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<div class="table-fit">
<table class="table table-striped table-hover">
<thead>
<tr>
<th class="col-icon"></th>
<th class="col-recordtitle"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.title" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.table" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.uid" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.field" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.flexpointer" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.softrefKey" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.sorting" /></th>
<th class="col-control"></th>
</tr>
</thead>
<tbody>
<f:for each="{refLines}" as="refLine">
<f:render section="refLineRow" arguments="{line: refLine, maxTitleLength: maxTitleLength}" />
</f:for>
</tbody>
</table>
</div>
</div>
</div>
</f:if>
<f:if condition="{refFromLines}">
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<div class="panel-heading-row">
<button
class="panel-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#referencesFromThisItem-panel"
aria-controls="referencesFromThisItem-panel"
aria-expanded="false"
>
<div class="panel-title">
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.referencesFromThisItem" />
</div>
<span class="caret"></span>
</button>
</div>
</div>
<div id="referencesFromThisItem-panel" class="panel-collapse collapse" data-persist-collapse-state="true" role="tabpanel">
<div class="table-fit">
<table class="table table-striped table-hover">
<thead>
<tr>
<th class="col-icon"></th>
<th class="col-recordtitle"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.title" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.table" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.uid" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.field" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.flexpointer" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.softrefKey" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.sorting" /></th>
<th><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.refString" /></th>
<th class="col-control"></th>
</tr>
</thead>
<tbody>
<f:for each="{refFromLines}" as="refFromLine">
<f:render section="refFromLineRow" arguments="{line: refFromLine, maxTitleLength: maxTitleLength}" />
</f:for>
</tbody>
</table>
</div>
</div>
</div>
</f:if>
</f:section>
<f:section name="refLineRow">
<tr>
<f:if condition="{line.record}">
<f:then>
<td class="col-icon"><a href="{line.url}" title="id={line.record.uid}">{line.icon -> f:format.raw()}</a></td>
<td class="col-recordtitle"><a href="{line.url}" title="{line.recordTitle}">{line.recordTitle -> f:format.crop(maxCharacters: maxTitleLength)}</a></td>
<td>{line.title}</td>
<td>{line.record.uid}</td>
</f:then>
<f:else>
<td class="col-icon"><core:icon identifier="default-not-found" size="small" /></td>
<td class="col-recordtitle"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.missing_record" /></td>
<td>{line.row.title}</td>
<td>{line.row.recuid}</td>
</f:else>
</f:if>
<td>{line.labelForTableColumn}</td>
<td>{line.row.flexpointer}</td>
<td>{line.row.softref_key}</td>
<td>{line.row.sorting}</td>
<td class="col-control">
<f:render section="action" arguments="{line: line.actions}" />
</td>
</tr>
</f:section>
<f:section name="refFromLineRow">
<tr>
<f:if condition="{line.record}">
<f:then>
<td class="col-icon"><a href="{line.url}" title="id={line.record.uid}">{line.icon -> f:format.raw()}</a></td>
<td class="col-recordtitle"><a href="{line.url}" title="{line.recordTitle}">{line.recordTitle -> f:format.crop(maxCharacters: maxTitleLength)}</a></td>
<td>{line.title}</td>
<td>{line.row.ref_uid}</td>
</f:then>
<f:else>
<td class="col-icon"><core:icon identifier="default-not-found" size="small" /></td>
<td class="col-recordtitle"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:show_item.php.missing_record" /></td>
<td>{line.row.title}</td>
<td>{line.row.recuid}</td>
</f:else>
</f:if>
<td>{line.labelForTableColumn}</td>
<td>{line.row.flexpointer}</td>
<td>{line.row.softref_key}</td>
<td>{line.row.sorting}</td>
<td>{line.row.ref_string}</td>
<td class="col-control">
<f:render section="action" arguments="{line: line.actions}" />
</td>
</tr>
</f:section>
<f:section name="action">
<div class="btn-group" role="group">
<f:if condition="{line.recordsModuleUrl}">
<button class="btn btn-default" {f:if(condition: line.previewUrlAttributes, then: '{line.previewUrlAttributes -> f:format.raw()}', else: 'disabled="true"')} title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.showPage')}">
<core:icon identifier="actions-view-page" size="small" />
</button>
</f:if>
<a class="btn btn-default{f:if(condition: '!{line}', then: ' disabled')}" href="{line.recordEditUrl}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.edit')}">
<core:icon identifier="actions-open" size="small" />
</a>
</div>
<div class="btn-group" role="group">
<a class="btn btn-default{f:if(condition: '!{line}', then: ' disabled')}" href="{line.recordHistoryUrl}" title="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.history')}">
<core:icon identifier="actions-document-history-open" size="small" />
</a>
</div>
</f:section>
</html>
@@ -0,0 +1,37 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="ContentElement/MoveElementLayout" />
<f:section name="Content">
<h2>
<f:translate key="LLL:EXT:backend/Resources/Private/Language/Wizards/move_content_elements.xlf:headline.{f:if(condition: makeCopyChecked, then: 'copy', else: 'move')}" arguments="{0: recordTitle, 1: record.uid}" />
</h2>
<p><f:translate key="LLL:EXT:backend/Resources/Private/Language/Wizards/move_content_elements.xlf:currentPath" /> {pageInfo._thePathFull}</p>
<input type="hidden" name="elementRecordTitle" id="elementRecordTitle" value="{recordTitle}" />
<input type="hidden" name="pageRecordTitle" id="pageRecordTitle" value="{pageRecord.recordTitle}" />
<input type="hidden" name="pageUid" id="pageUid" value="{pageInfo.uid}" />
<div class="form-row">
<div class="form-check form-switch">
<input type="checkbox" name="makeCopy" id="makeCopy" value="1" {f:if(condition: makeCopyChecked, then: 'checked')} class="form-check-input">
<label for="makeCopy" class="form-check-label"><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_misc.xlf:makeCopy" /></label>
</div>
</div>
<div class="page-position-map">
<div class="page-position-info">
<f:if condition="{pageInfo}">
<span title="{pageRecord.recordTooltip}"><core:iconForRecord table="pages" row="{pageInfo}" /></span>
</f:if>
<strong>{pageRecord.recordTitle}</strong>
</div>
{contentElementColumns -> f:format.raw()}
</div>
</f:section>
</html>
@@ -0,0 +1,14 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="Module" />
<f:section name="Content">
<f:comment>Deliberately empty</f:comment>
</f:section>
</html>
@@ -0,0 +1,30 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="{f:if(condition: treeEnabled, then: 'ElementBrowserWithNavigation', else: 'ElementBrowser')}" />
<f:section name="Navigation">
<f:if condition="{tree}">
<f:then>
<div class="element-browser-body">
{tree -> f:format.raw()}
</div>
</f:then>
<f:else>
<typo3-backend-component-page-browser
tree-actions="{treeActions -> f:format.json()}"
active-page="{activePage}"
>
</typo3-backend-component-page-browser>
</f:else>
</f:if>
</f:section>
<f:section name="Content">
<f:flashMessages queueIdentifier="core.template.flashMessages"/>
<f:format.raw>{content}</f:format.raw>
</f:section>
</html>
@@ -0,0 +1,43 @@
<html
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true"
>
<f:layout name="SystemEmail" />
<f:section name="Subject">Attempted login using incorrect multi-factor authentication at "{typo3.sitename}"</f:section>
<f:section name="Title">Attempted login using incorrect multi-factor authentication</f:section>
<f:section name="Main">
<p>
TYPO3 detected a login attempt to your TYPO3 backend account using incorrect multi-factor authentication.
</p>
<table cellpadding="3">
<tr>
<td>Sitename:</td>
<td>{typo3.sitename} ({normalizedParams.httpHost})</td>
</tr>
<tr>
<td>IP Address:</td>
<td>{normalizedParams.remoteAddress}</td>
</tr>
<tr>
<td>Time:</td>
<td><f:format.date date="now"/> <f:format.date date="now" format="H:i:s T"/></td>
</tr>
<tr>
<td>MFA provider:</td>
<td>{f:translate(key: provider.title, default: provider.title)}</td>
</tr>
</table>
<p>
If you recently tried to sign in, but mistakenly used incorrect multi-factor authentication,
you can ignore this email.
</p>
<p>
If you did not recently try to sign in, you should immediately change your password and verify your account
settings for any unauthorized changes.
</p>
<p>
Contact your TYPO3 administrator if you notice suspicious activity.
</p>
</f:section>
</html>
@@ -0,0 +1,19 @@
<f:layout name="SystemEmail" />
<f:section name="Subject">Attempted login using incorrect multi-factor authentication at "{typo3.sitename}"</f:section>
<f:section name="Title">Attempted login using incorrect multi-factor authentication</f:section>
<f:section name="Main">
TYPO3 detected a login attempt to your TYPO3 backend account using incorrect multi-factor authentication.
Sitename: {typo3.sitename} ({normalizedParams.httpHost})
IP Address: {normalizedParams.remoteAddress}
Time: <f:format.date date="now"/> <f:format.date date="now" format="H:i:s T"/>
MFA provider: {f:translate(key: provider.title, default: provider.title)}
If you recently tried to sign in, but mistakenly used incorrect multi-factor authentication, you can ignore this email.
If you did not recently try to sign in, you should immediately change your password and verify your account
settings for any unauthorized changes.
Contact your TYPO3 administrator if you notice suspicious activity.
</f:section>
@@ -0,0 +1,10 @@
<f:layout name="SystemEmail" />
<f:section name="Subject">Password reset requested at "{typo3.sitename}"</f:section>
<f:section name="Title">Your email address was used to trigger a password reset</f:section>
<f:section name="Main">
<p>
Unfortunately, we are unable to reset your password because your email address "{email}" is used for multiple backend user accounts at the TYPO3 instance "{typo3.sitename}".
Please ask your administrator to generate a new password for you.
</p>
<f:render partial="Email/PasswordReset/ClosingParagraph" arguments="{normalizedParams: normalizedParams}" />
</f:section>
@@ -0,0 +1,9 @@
<f:layout name="SystemEmail" />
<f:section name="Subject">Password reset requested at "{typo3.sitename}"</f:section>
<f:section name="Title">Your email address was used to trigger a password reset</f:section>
<f:section name="Main">
Unfortunately, we are unable to reset your password because your email address "{email}" is used for multiple backend user accounts at the TYPO3 instance "{typo3.sitename}".
Please ask your administrator to generate a new password for you.
<f:render partial="Email/PasswordReset/ClosingParagraph" arguments="{normalizedParams: normalizedParams}" />
</f:section>
@@ -0,0 +1,13 @@
<f:layout name="SystemEmail" />
<f:section name="Subject">Password reset requested at "{typo3.sitename}"</f:section>
<f:section name="Title">Your email address was used to trigger a password reset</f:section>
<f:section name="Main">
<p>
Follow the link below to reset your backend user password at &quot;{typo3.sitename}&quot; (this link expires in 2 hours).
<f:if condition="{username}">Your username is: <strong>{username}</strong></f:if>
</p>
<p>
<a href="{resetLink}">Reset password</a>
</p>
<f:render partial="Email/PasswordReset/ClosingParagraph" arguments="{normalizedParams: normalizedParams}" />
</f:section>

Some files were not shown because too many files have changed in this diff Show More