@plone/volto 16.0.0-alpha.34 → 16.0.0-alpha.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Change Log
2
2
 
3
+ ## 16.0.0-alpha.35 (2022-09-21)
4
+
5
+ ### Breaking
6
+
7
+ - `react-window` no longer a Volto dependency @sneridagh
8
+ See https://6.dev-docs.plone.org/volto/upgrade-guide/index.html for more information.
9
+
10
+ ### Bugfix
11
+
12
+ - Fix the typo in change workflow status dialog in "de" @iRohitSingh
13
+ - Fix selection error when pressing backspace @robgietema
14
+ - Fix sidebarTab in Toc Block @iRohitSingh
15
+ - Fix virtualization (windowing) when displaying options with long titles for select widgets. (The virtualization happen when the number of options is greater than 25). Add dynamic height aware options using `react-virtualized`. @sneridagh
16
+
17
+ ### Documentation
18
+
19
+ - Fix Sphinx warning `WARNING: glossary terms must not be separated by empty lines` by closing unclosed glossary directive's triple backticks. @stevepiercy
20
+ - Fix broken links to nvm releases. @stevepiercy
21
+ - Ignore redirect that requires login to GitHub. @stevepiercy
22
+
3
23
  ## 16.0.0-alpha.34 (2022-09-17)
4
24
 
5
25
  ### Breaking
@@ -1006,6 +1026,7 @@ Use next release instead: https://github.com/plone/volto/releases/tag/16.0.0-alp
1006
1026
  ### Feature
1007
1027
 
1008
1028
  - Show addons installed in control panel @sneridagh
1029
+ - Added a search input in the block chooser @bipoza
1009
1030
 
1010
1031
  ### Bugfix
1011
1032
 
package/README.md CHANGED
@@ -157,6 +157,7 @@ Volto is actively developed since 2017 and used in production since 2018 on the
157
157
  - [Memori](https://memori.ai/en) (Corporate website for Memori, startup specialising in technologies applied to the experience of memory through the development of Artificial Intelligences. Developed by [RawMaterial](https://rawmaterial.it/en), 2021)
158
158
  - [TwinCreator](https://twincreator.com/en) (TwinCreator allows you to design and train multiple AI’s through simple conversation through NLP. Developed by [RawMaterial](https://rawmaterial.it/en), 2021)
159
159
  - [MemoryTwin](https://memorytwin.com/en) (Product website, MemoryTwin allows you to create your personal artificial intelligence, able to remember and speak. Developed by [RawMaterial](https://rawmaterial.it/en), 2022)
160
+ - [Forschungszentrum Jülich](https://fz-juelich.de) (Website for Forschungzentrum Jülich, which is one of the largest research institutions in Europe, developed by [kitconcept GmbH](https://kitconcept.com), 2022)
160
161
 
161
162
  Please create a new [issue](https://github.com/plone/volto/issues/new) or [pull request](https://github.com/plone/volto/pulls) to add your Volto-site here!
162
163
 
@@ -1907,6 +1907,7 @@ msgstr "No s'ha establert cap ocurrència"
1907
1907
  msgid "No options"
1908
1908
  msgstr "Sense opcions"
1909
1909
 
1910
+ #: components/manage/BlockChooser/BlockChooser
1910
1911
  #: components/theme/Search/Search
1911
1912
  # defaultMessage: No results found
1912
1913
  msgid "No results found"
@@ -2415,6 +2416,7 @@ msgstr "Esquema"
2415
2416
  msgid "Schema updates"
2416
2417
  msgstr "Actualitzacions d'esquemes"
2417
2418
 
2419
+ #: components/manage/BlockChooser/BlockChooserSearch
2418
2420
  #: components/manage/Blocks/Search/components/SearchInput
2419
2421
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2420
2422
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -434,7 +434,7 @@ msgstr "Arbeitsablauf-Status ändern"
434
434
  #: components/manage/Contents/ContentsWorkflowModal
435
435
  # defaultMessage: Change workflow state recursively
436
436
  msgid "Change workflow state recursively"
437
- msgstr "Arbeitlauf-Status für alle Unterobjekte ebenfalls ändern"
437
+ msgstr "Arbeitsablauf-Status für alle Unterobjekte ebenfalls ändern"
438
438
 
439
439
  #: components/manage/Toolbar/More
440
440
  # defaultMessage: Changes applied
@@ -1904,6 +1904,7 @@ msgstr "Kein Datum gesetzt"
1904
1904
  msgid "No options"
1905
1905
  msgstr "Keine Option"
1906
1906
 
1907
+ #: components/manage/BlockChooser/BlockChooser
1907
1908
  #: components/theme/Search/Search
1908
1909
  # defaultMessage: No results found
1909
1910
  msgid "No results found"
@@ -2412,6 +2413,7 @@ msgstr "Schema"
2412
2413
  msgid "Schema updates"
2413
2414
  msgstr "Aktualisierungen Schema"
2414
2415
 
2416
+ #: components/manage/BlockChooser/BlockChooserSearch
2415
2417
  #: components/manage/Blocks/Search/components/SearchInput
2416
2418
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2417
2419
  #: components/manage/Blocks/Search/layout/RightColumnFacets
package/locales/de.json CHANGED
@@ -1 +1 @@
1
- {"<p>Add some HTML here</p>":"<p>HTML hier einfügen</p>","Accessibility":"Barrierefreiheit","Account Registration Completed":"Die Registrierung Ihres Zugangs wurde erfolgreich abgeschlossen.","Account activation completed":"Passwort gesetzt.","Action":"Aktion","Actions":"Aktionen","Activate and deactivate":"Aktiviern und Deaktivieren","Add":"Hinzufügen","Add (object list)":"","Add Addons":"Add-on hinzufügen","Add Content":"Inhalte hinzufügen","Add Translation…":"Übersetzung hinzufügen…","Add User":"Benutzer hinzufügen","Add a description…":"Beschreibung hinzufügen…","Add a new alternative url":"","Add block":"Block hinzufügen","Add block…":"Block hinzufügen","Add criteria":"Kriterien hinzufügen","Add date":"Datum hinzufügen","Add field":"Feld hinzufügen","Add fieldset":"Fieldset hinzufügen","Add group":"Gruppe hinzufügen","Add new content type":"Neuen Inhaltstypen hinzufügen","Add new group":"Neue Gruppe hinzufügen","Add new user":"Neuen Benutzer hinzufügen","Add to Groups":"Zu Gruppe hinzufügen","Add users to group":"Füge Benutzer zu Gruppe hinzu","Add vocabulary term":"Füge neuen Term hinzu","Add {type}":"{type} hinzufügen","Add-Ons":"","Add-on Configuration":"Konfiguration von Erweiterungen","Add-ons":"","Add-ons Settings":"Einstellungen Add-ons","Additional date":"Zusätzliches Datum","Album view":"Album","Alias":"","Alias has been added":"","Alignment":"Ausrichtung","All":"Alle","All content":"Alle Inhalte","All existing alternative urls for this site":"","Alphabetically":"alphabetisch","Alt text":"Alternative Text","Alt text hint":"","Alt text hint link text":"","Alternative url path (Required)":"","Alternative url path must start with a slash.":"","Alternative url path → target url path (date and time of creation, manually created yes/no)":"","Apply working copy":"Arbeitskopie anwenden","Are you sure you want to delete this field?":"Sind Sie sicher, dass Sie dieses Feld löschen möchten?","Are you sure you want to delete this fieldset including all fields?":"Sind Sie sicher, dass Sie dieses Fieldset löschen möchten?","Ascending":"Aufsteigend","Available":"Verfügbar","Back":"Zurück","Background color":"","Base":"Basis","Base search query":"Basis Suchfilter","Block":"Block","Both email address and password are case sensitive, check that caps lock is not enabled.":"Sowohl E-Mail Adresse als auch Passwort unterscheiden zwischen Groß- und Kleinschreibung, stellen Sie sicher dass die Hochstelltaste nicht aktiviert ist.","Breadcrumbs":"Brotkrumen","Browse":"Durchsuchen","Browse the site, drop an image, or type an URL":"Seite durchsuchen, Bild ablegen oder URL eingeben","By default, permissions from the container of this item are inherited. If you disable this, only the explicitly defined sharing permissions will be valid. In the overview, the symbol {inherited} indicates an inherited value. Similarly, the symbol {global} indicates a global role, which is managed by the site administrator.":"Standardmäßig werden die Berechtigungen von einem Ordner auf die in ihm befindlichen Artikel vererbt. Wenn Sie dies deaktivieren, sind nur die explizit definierten Zugriffsberechtigungen gültig. In der Übersicht zeigt das Symbol ${image_confirm_icon} einen ererbten Wert an. Das Symbol ${image_link_icon} zeigt eine globale Funktion an, die vom Administrator verwaltet wird.","Cache Name":"Cache Name","Can not edit Layout for <strong>{type}</strong> content-type as it doesn't have support for <strong>Volto Blocks</strong> enabled":"Layout für <strong>{type}</strong> kann nicht verändert werden, da das <strong>Volto Blocks</strong>-Behavior nicht für diesen Inhaltstyp aktiviert ist","Can not edit Layout for <strong>{type}</strong> content-type as the <strong>Blocks behavior</strong> is enabled and <strong>read-only</strong>":"Layout für <strong>{type}</strong> kann nicht verändert werden, da das <strong>Volto Blocks</strong>-Behavior auf nur-lesend gesetzt ist","Cancel":"Abbrechen","Cell":"Zelle","Center":"Mittig","Change Note":"Änderungsnotiz","Change Password":"Passwort ändern","Change State":"Arbeitsablauf-Status ändern","Change workflow state recursively":"Arbeitlauf-Status für alle Unterobjekte ebenfalls ändern","Changes applied.":"Änderungen durchgeführt.","Changes saved":"Änderungen gespeichert","Changes saved.":"Änderungen gespeichert.","Checkbox":"Checkbox","Choices":"Auswahlfeld","Choose Image":"Bild auswählen","Choose Target":"Ziel auswählen","Choose a file":"Datei auswählen","Clear":"Löschen","Clear filters":"Filter entfernen","Click to download full sized image":"Klicken um das Bild in der vollen Größe runterzuladen","Close":"Schließen","Close menu":"Menu schließen","Code":"Code","Collapse item":"Element einklappen","Collection":"Kollektion","Color":"","Comment":"Kommentar","Commenter":"Kommentarautor","Comments":"Kommentare","Compare":"Vergleichen","Confirm password":"Passwort bestätigen","Connection refused":"Verbindung abgelehnt","Contact":"Kontakt","Contact form":"Kontaktformular","Contained items":"Enthaltene Elemente","Content":"Inhalt","Content type created":"Inhaltstyp erstellt","Content type deleted":"Inhaltstyp gelöscht","Contents":"Inhalte","Controls":"Einstellungen","Copy":"Kopieren","Copy blocks":"Blöcke kopieren","Copyright":"Urheberrecht","Copyright statement or other rights information on this item.":"Informationen über die Urheber- und Nutzungsrechte an diesem Artikel.","Create working copy":"Arbeitskopie erstellen","Created by {creator} on {date}":"Erstellt von {creator} am {date}","Created on":"Erstellt am","Creator":"Ersteller","Creators":"Ersteller","Criteria":"Kriterium","Current filters applied":"Ausgewählte Filter","Current password":"Aktuelles Passwort","Cut":"Ausschneiden","Cut blocks":"Blöcke ausschneiden","Daily":"Täglich","Database":"","Database Information":"Datenbankinformationen","Database Location":"Speicheort Datenbank","Database Size":"Größe Datenbank","Database main":"Datenbank","Date":"Datum","Date (newest first)":"Datum (neustes zuerst)","Default":"Standard","Default view":"Standard","Delete":"Löschen","Delete Group":"Gruppe löschen","Delete Type":"Inhaltstype löschen","Delete User":"Benutzer löschen","Delete blocks":"Blöcke löschen","Delete col":"Spalte löschen","Delete row":"Zeile löschen","Depth":"Tiefe","Descending":"Absteigend","Description":"Beschreibung","Diff":"Unterschied","Difference between revision {one} and {two} of {title}":"Unterschied zwischen Version {one} and {two} von {title}","Distributed under the {license}.":"Lizensiert unter der {license}.","Divide each row into separate cells":"Zeile in zwei separate Zellen aufteilen","Do you really want to delete the following items?":"Möchten Sie den Artikel wirklich löschen?","Do you really want to delete the group {groupname}?":"Möchten Sie die Gruppe {groupname} wirklich löschen?","Do you really want to delete the type {typename}?":"Möchten Sie den Inhaltstyp {typename} wirklich löschen?","Do you really want to delete the user {username}?":"Möchten Sie den Nutzer {username} wirklich löschen?","Do you really want to delete this item?":"Möchten Sie den Artikel wirklich löschen?","Document":"Seite","Document view":"Seite","Download Event":"","Drag and drop files from your computer onto this area or click the “Browse” button.":"Ziehen Sie Dateien von Ihrem Computer auf diesen Bereich oder drücken Sie den “Durchsuchen”-Knopf.","Drop file here to replace the existing file":"Datei hier ablegen um die bestehende Datei zu ersetzen","Drop file here to upload a new file":"Datei hier ablegen um eine neue Datei hochzuladen","Drop files here ...":"Datei hier ablegen um die bestehende Datei zu ersetzen","E-mail":"E-Mail","E-mail addresses do not match.":"E-Mail-Adressen stimmen nicht überein.","Edit":"Bearbeiten","Edit comment":"Kommentar bearbeiten","Edit field":"Feld bearbeiten","Edit fieldset":"Fieldset bearbeiten","Edit recurrence":"Wiederkehrende Einstellungen bearbeiten","Edit values":"Werte bearbeiten","Edit {title}":"{title} bearbeiten","Email":"E-Mail","Email sent":"E-Mail versendet","Embed code error, please follow the instructions and try again.":"Fehler beim Einbinden des Google Maps Codes. Bitte lesen Sie die Anweisungen und stellen Sie sicher dass Sie den korrekten Code verwenden.","Empty object list":"Leere Liste von Elementen","Enable editable Blocks":"Aktiviere bearbeitbare Blocks","End Date":"Enddatum","Enter URL or select an item":"URL eingeben oder Objekt auswählen","Enter a username above to search or click 'Show All'":"Benutzername oben eingeben oder auf 'Alle anzeigen' klicken","Enter an email address. This will be your login name. We respect your privacy, and will not give the address away to any third parties or expose it anywhere.":"Tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich künftig anmelden müssen. Wir respektieren den Datenschutz und werden die E-Mail-Adresse nicht an Dritte weitergeben und auch nirgends anzeigen.","Enter full name, e.g. John Smith.":"Tragen Sie bitte Ihren vollen Namen ein.","Enter map Embed Code":"Karten-Einbettungscode eingeben","Enter the absolute path of the target. The path must start with '/'. Target must exist or be an existing alternative url path to the target.":"","Enter the absolute path where the alternative url should exist. The path must start with '/'. Only urls that result in a 404 not found page will result in a redirect occurring.":"","Enter your current password.":"Geben Sie Ihr aktuelles Passwort ein.","Enter your email for verification.":"","Enter your new password. Minimum 5 characters.":"Geben Sie ihr neues Passwort ein. Mindestens 5 Zeichen.","Enter your username for verification.":"","Error":"Fehler","ErrorHeader":"","Event listing":"Termine","Event view":"Termin","Exclude from navigation":"Von der Navigation ausschließen","Exclude this occurence":"Dieses Datum ausschließen","Excluded from navigation":"Von Navigation ausgeschlossen","Existing alternative urls for this item":"","Expand sidebar":"Sidebar vergrößern","Expiration Date":"Ablaufdatum","Expiration date":"Ablaufdatum","Expired":"Abgelaufen","External URL":"Externe URL","Facet":"Facette","Facet widget":"Facetten-Widget","Facets":"Facetten","Facets on left side":"Facetten links","Facets on right side":"Facetten rechts","Facets on top":"Facetten oben","Field":"Feld","File":"Datei","File size":"Dateigröße","File view":"Datei","Filename":"Dateiname","Filter by prefix":"","Filter users by groups":"Filtere Benutzer via Gruppenmitgliedschaft","Filter…":"Filter…","First":"Erster Tag des Monats","Fixed width table cells":"Tabellen-Zellen mit fester Breite","Fold":"Einklappen","Folder":"Ordner","Folder listing":"Ordner","Forbidden":"Verboten","Fourth":"Vierter","From":"E-Mail","Full":"Volle Breite","Full Name":"Vor- und Nachname","Fullname":"Name","GNU GPL license":"GNU-GPL-Lizenz","General":"Allgemein","Global role":"Globale Rolle","Google Maps Embedded Block":"Google Maps Block","Group":"Gruppe","Group created":"Gruppe erstellt","Group roles updated":"Gruppenrollen aktualisiert","Groupname":"Gruppenname","Groups":"Gruppen","Groups are logical collections of users, such as departments and business units. Groups are not directly related to permissions on a global level, you normally use Roles for that - and let certain Groups have a particular role. The symbol{plone_svg}indicates a role inherited from membership in another group.":"Gruppen sind Kollektionen von Nutzern, wie z.B. Abteilungen oder Organisationseinheiten. Berechtigungen werden normalerweise nicht global an Gruppen vergeben, sondern eher an Rollen, und dann haben Gruppen eine bestimmte Rolle. Das Symbol {plone_svg} zeigt an, dass eine Rolle von einer anderen Gruppe geerbt wird.","Header cell":"Kopfzeile","Headline":"Überschrift","Headline level":"","Hidden facets will still filter the results if proper parameters are passed in URLs":"Verteckte Facetten können die Ergebnisse weiterhin filtern, wenn die entsprechenden Parameter in der URL angehängt werden","Hide Replies":"Antworten ausblenden","Hide facet?":"Facette verstecken","History":"Historie","History Version Number":"Historie Versionsnummer","History of {title}":"Historie von {title}","Home":"Startseite","Home page":"Homepage","ID":"ID","If selected, this item will not appear in the navigation tree":"Bestimmt, ob der Artikel nicht in der Navigation auftauchen soll.","If this date is in the future, the content will not show up in listings and searches until this date.":"Falls das Datum in der Zukunft liegt wird der Inhalt in Auflistungen und bei der Suche nicht auftauchen, bis zu dem Datum.","If you are certain this user has abandoned the object, you may unlock the object. You will then be able to edit it.":"Wenn Sie sicher sind dass das Objekt nicht mehr aktiv von einem anderen Nutzer verwendet wird, können Sie die Sperrung aufheben. Danach können Sie das Objekt bearbeiten.","If you are certain you have the correct web address but are encountering an error, please contact the {site_admin}.":"Wenn Sie sicher sind, dass Sie die richtige Adresse eingegeben haben, kontaktieren Sie bitte den {site_admin}.","Image":"Bild","Image gallery":"Bildergalerie","Image size":"","Image view":"Bild","Include this occurence":"Datum einbeziehen","Info":"Information","InfoUserGroupSettings":"Sie haben die Option 'viele Benutzer' oder 'viele Gruppen' gewählt. Deshalb erwartet das Panel die Eingabe eines Suchwerts und die Auswahl eines Gruppen-Filters um Benutzer und Gruppen zu zeigen. Wenn Sie im Panel umgehend alle Benutzer und Gruppen sehen möchten, dann wechseln Sie bitte zu den Benutzer- und Gruppeneinstellungen und ändern die Einstellungen. Links finden Sie einen Link.","Inherit permissions from higher levels":"Berechtigungen von übergeordneten Ordnern übernehmen","Inherited value":"Geerbter Wert","Insert col after":"Spalte danach einfügen","Insert col before":"Spalte davor einfügen","Insert row after":"Zeile danach einfügen","Insert row before":"Zeile davor einfügen","Install":"Installieren","Installed":"Installiert","Installed version":"Installierte Version","Installing a third party add-on":"","Interval Daily":"Täglich","Interval Monthly":"Monatlich","Interval Weekly":"Wöchentlich","Interval Yearly":"Jährliches Intervall","Item batch size":"Batch-Anzahl","Item succesfully moved.":"Objekt wurde erfolgreich verschoben.","Item(s) copied.":"Objekt(e) kopiert.","Item(s) cut.":"Objekt(e) ausgeschnitten.","Item(s) has been updated.":"Objekt(e) wurde(n) aktualisiert","Item(s) pasted.":"Artikel eingefügt.","Item(s) state has been updated.":"Der Status der Objekte wurde aktualisiert.","Items":"Elemente","Items must be unique.":"Auswahl muss eindeutig sein.","Label":"Label","Language":"Sprache","Language independent field.":"","Large":"","Last":"Letzter","Last comment date":"Letztes Kommentierdatum","Last modified":"Letzte Änderung","Latest version":"Letzte Version","Layout":"Layout","Lead Image":"Lead-Bild","Left":"Links","Link":"Link","Link more":"'Mehr' Link","Link redirect view":"Link","Link title":"Linktitel","Link to":"Link auf","Link translation for":"Übersetzung verbinden","Listing":"Auflistung","Listing view":"Auflistung","Load more":"Mehr laden","Loading":"lädt","Location":"Ort","Log In":"Anmelden","Log in":"Anmelden","Login":"Einloggen","Login Failed":"Login fehlgeschlagen","Login Name":"Benutzername","Logout":"Ausloggen","Made by {creator} on {date}. This is not a working copy anymore, but the main content.":"Erstellt von {creator} am {date}. Diese Seite ist keine Arbeitskopie mehr sondern die Live-Seite.","Make the table compact":"Tabelle kompakt darstellen","Manage Translations":"Übersetzungen verwalten","Manage translations for {title}":"Übersetzungen für {} verwalten","Manual":"","Manually or automatically added?":"","Maps":"","Maps URL":"Karten URL","Maximum length is {len}.":"Maximale Länge ist {len}.","Maximum value is {len}.":"Maximaler Wert ist {len}","Medium":"","Message":"Nachricht","Minimum length is {len}.":"Minimale Länge ist {len}","Minimum value is {len}.":"Minimaler Wert ist {len}","Moderate Comments":"Kommentare moderieren","Moderate comments":"Kommentare moderieren","Monday and Friday":"Montag und Freitag","Month day":"Tag des Monats","Monthly":"Monatlich","More":"Mehr","Mosaic layout":"Mosaic","Move to bottom of folder":"Ans Ende verschieben","Move to top of folder":"An den Anfang verschieben","Multiple choices?":"Mehrfachauswahl","My email is":"","My username is":"Mein Benutzername ist","Name":"Name","Navigate back":"Zurück navigieren","Navigation":"Navigation","New password":"Neues Passwort","News Item":"Nachricht","News item view":"Nachricht","No":"Nein","No Video selected":"","No addons found":"Keine Add-ons installiert.","No connection to the server":"","No image selected":"","No image set in Lead Image content field":"Im Feld 'Lead-Bild' wurde kein Bild gesetzt.","No image set in image content field":"Im Feld 'Bild' wurde kein Bild gesetzt","No items found in this container.":"Keine Elemente gefunden","No items selected":"Kein Element ausgewählt","No map selected":"Keine Karte ausgewählt","No occurences set":"Kein Datum gesetzt","No options":"Keine Option","No results found":"Keine Ergebnisse gefunden","No results found.":"Keine Ergebnisse gefunden.","No selection":"Keine Auswahl","No uninstall profile":"Kein Deinstallationsprofil","No user found":"Kein Benutzer gefunden","No value":"Kein Wert","No workflow":"Kein Workflow","None":"Nicht vorhanden","Note that roles set here apply directly to a user. The symbol{plone_svg}indicates a role inherited from membership in a group.":"Rollen gelten für diesen Nutzer. Das Zeichen {plone_svg} zeigt an dass eine Rolle von einer Gruppenzugehörigkeit geerbt wird.","Number of active objects":"Anzahl aktive Objekte","Object Size":"Grösse","Occurences":"Vorkommen","Ok":"OK","Only lowercase letters (a-z) without accents, numbers (0-9), and the two characters \"-\" and \"_\" are allowed.":"Nur Kleinbuchstaben (a-z) ohne Umlaute oder Sonderzeichen, Zahlen (0-9) und die beiden Zeichen \"-\" und \"_\" sind erlaubt.","Open in a new tab":"In neuem Browser-Tab öffnen","Open menu":"Menü öffnen","Open object browser":"Objekt-Browser öffnen","Origin":"Quelle","Page":"Seite","Parent fieldset":"Eltern-Fieldset","Password":"Passwort","Password reset":"Passwort zurücksetzen","Passwords do not match.":"Die Passwörter stimmen nicht überein.","Paste":"Einfügen","Paste blocks":"Blöcke einfügen","Permissions have been updated successfully":"Berechtigungen wurden erfolgreich aktualisiert","Permissions updated":"Berechtigungen aktualisiert","Personal Information":"Persönliche Informationen","Personal Preferences":"Meine Einstellungen","Personal tools":"Persönliche Einstellungen","Persons responsible for creating the content of this item. Please enter a list of user names, one per line. The principal creator should come first.":"Eine Liste von Personen, die an der Erstellung dieses Artikels beteiligt waren. Bitte geben Sie einen Benutzernamen pro Zeile ein. Der Hauptverantwortliche sollte zuerst genannt werden.","Please enter a valid URL by deleting the block and adding a new video block.":"Geben Sie eine gültige URL ","Please enter the Embed Code provided by Google Maps -> Share -> Embed map. It should contain the <iframe> code on it.":"Bitte geben sie den Einbettungscode von Google Maps ein. Klicken Sie auf 'Teilen' und dann 'Karte einbetten'. Der Code sollte ein '<iframe>'-Element enthalten.","Please fill out the form below to set your password.":"Bitte füllen Sie das unten stehende Formular aus, um Ihr Passwort neu zu setzen.","Please search for users or use the filters on the side.":"Bitte verwenden Sie das Suchfeld oder die Filter um Benutzer anzuzeigen.","Please upgrade to plone.restapi >= 8.24.0.":"Bitte upgraden auf plone.restapi >= 8.24.0.","Plone Foundation":"Plone Foundation","Plone Site":"Website","Plone{reg} Open Source CMS/WCM":"Plone{reg} Open Source Content Management System","Portrait":"Portrait","Possible values":"Mögliche Werte","Powered by Plone & Python":"Powered by Plone & Python","Preferences":"Einstellungen","Prettify your code":"Quellcode aufräumen","Preview":"Vorschau","Preview Image URL":"URL Vorschaubild","Profile":"Profil","Properties":"Eigenschaften","Publication date":"Freigabedatum","Publishing Date":"Freigabedatum","Query":"Anfrage","Re-enter the password. Make sure the passwords are identical.":"Geben Sie das gleiche Passwort erneut ein.","Read More…":"Mehr…","Rearrange items by…":"Elemente sortieren nach…","Recurrence ends":"Ende des wiederkehrenden Vorkommens","Recurrence ends after":"Wiederkehrendes Vorkommen endet nach","Recurrence ends on":"Wiederkehrendes Vorkommen endet am","Redo":"","Reduce complexity":"Komplexität reduzieren","Register":"Registrieren","Registration form":"Registrierungsformular","Relevance":"relevanz","Remove":"","Remove item":"Element entfernen","Remove recurrence":"Wiederkehrende Einstellung entfernen","Remove selected":"","Remove term":"Entferne Term","Remove users from group":"Trage Benutzer aus Gruppe aus","Remove working copy":"Arbeitskopie löschen","Rename":"Umbenennen","Rename Items Loading Message":"Umbenennen-Modal lädt","Rename items":"Artikel umbenennen","Repeat":"Wiederholen","Repeat every":"Wiederhole jeden","Repeat on":"Wiederhole am","Replace existing file":"Bestehende Datei ersetzen","Reply":"Antworten","Required":"Notwendig","Required input is missing.":"Notwendige Eingabe fehlt.","Reset term title":"Setze Titel zurück","Results limit":"Anzahl der Ergebnisse einschränken","Results preview":"Ergebnisvorschau","Results template":"Template Suchergebnisliste","Reversed order":"Sortierreihenfolge umkehren","Revert to this revision":"Die aktuelle Version durch diese ersetzen","Review state":"Arbeitsablauf","Richtext":"Richtext","Right":"Rechte","Rights":"Rechte","Roles":"Rollen","Root":"Wurzel","Save":"Speichern","Save recurrence":"Wiederkehrende Einstellung speichern","Schema":"Schema","Schema updates":"Aktualisierungen Schema","Search":"Suche","Search SVG":"Suchen","Search Site":"Website durchsuchen","Search block":"Such-Block","Search button label":"Label Such-Button","Search content":"Inhalte suchen","Search for user or group":"Nach Benutzer oder Gruppe suchen","Search group…":"Nach Gruppe suchen…","Search input label":"Label Suchfeld","Search results":"Suchergebnisse","Search results for {term}":"Suchergebnisse für {term}","Search users…":"Nach Nutzern suchen…","Searched for":"Suche nach","Second":"Zweiter","Section title":"Abschnittstitel","Select":"Auswählen","Select a date to add to recurrence":"Wählen Sie ein Datum um ein wiederkehrendes Datum einzustellen","Select columns to show":"Anzuzeigende Spalten wählen","Select the transition to be used for modifying the items state.":"Arbeitsablauf-Status für Seite wählen.","Selected dates":"Ausgewählte Daten","Selected items":"Ausgewählte Objekte","Selected items - x of y":"Ausgewählte Objekte - x von y","Selection":"Auswahl","Select…":"Wähle…","Send":"Absenden","Set my password":"Passwort neu setzen","Set your password":"Setzen Sie Ihr Passwort","Settings":"Einstellungen","Sharing":"Freigabe","Sharing for {title}":"Freigabe für","Short Name":"Kurzname","Short name":"Kurzname","Show":"Zeige","Show All":"Alle anzeigen","Show Replies":"Antworten anzeigen","Show groups of users below":"Zeige die Gruppenmitgliedschaften der unten gezeigten Benutzer","Show item":"Elemente anzeigen","Show search button?":"Such-Button anzeigen?","Show search input?":"Such-Eingabe anzeigen?","Show sorting?":"Sortieroption anzeigen?","Shrink sidebar":"Sidebar verkleinern","Shrink toolbar":"Toolbar verkleinern","Sign in to start session":"Loggen Sie sich ein","Site":"Website","Site Administration":"Website-Administrator","Site Map":"Übersicht","Site Setup":"Systemeinstellungen","Sitemap":"Sitemap","Size: {size}":"Grösse: {size}","Small":"","Sorry, something went wrong with your request":"Entschuldigung, ein Fehler ist beim Ausführen Ihrer Anfrage aufgetreten ","Sort By:":"Sortieren nach:","Sort on":"Sortieren nach","Sort on label":"Label für Sortieren","Sort on options":"Sortieroptionen","Source":"Quelle","Specify a youtube video or playlist url":"Geben Sie ein YouTube-Video oder eine YouTube-Playlist URL ein","Split":"Aufsplitten","Start Date":"Anfangsdatum","Start of the recurrence":"Anfangsdatum des wiederkehrenden Termins","Start password reset":"E-Mail anfordern","State":"Status","Stop compare":"Vergleichsansicht verlassen","String":"Text","Stripe alternate rows with color":"Zeilen abwechselnd einfärben","Styling":"","Subject":"Betreff","Success":"Erfolgreich","Summary":"Zusammenfassung","Summary view":"Kurzfassung","Switch to":"Wechseln zu","Table":"Tabelle","Table of Contents":"Inhaltsverzeichnis","Tabular view":"Tabelle","Tags":"Tags","Tags to add":"Hinzuzufügende Tags","Tags to remove":"Zu entfernende Tags","Target":"","Target Path (Required)":"","Target memory size per cache in bytes":"Ziel-Speichergröße pro Cache in Bytes","Target number of objects in memory per cache":"Ziel-Anzahl von Objekten im Speicher pro Cache","Target url path must start with a slash.":"","Text":"Text","Thank you.":"Vielen Dank.","The Database Manager allow you to view database status information":"Der Datenbank-Manager zeigt Ihnen Status-Informationen zu der Datenbank","The URL for your external home page, if you have one.":"Die URL Ihrer externen Homepage, sollten Sie eine besitzen.","The backend is not responding, due to a server timeout or a connection problem of your device. Please check your connection and try again.":"","The backend is not responding, please check if you have started Plone, check your project's configuration object apiPath (or if you are using the internal proxy, devProxyToApiPath) or the RAZZLE_API_PATH Volto's environment variable.":"Das Backend beantwortet die Anfrage nicht, prüfen Sie bitte ob Sie Plone gestartet haben. Prüfen Sie den apiPath Parameter Ihrer Projekt-Konfiguration oder die RAZZLE_API_PATH Umgebungsvariable.","The backend is responding, but the CORS headers are not configured properly and the browser has denied the access to the backend resources.":"Das Backend antwortet, allerdings sind ihre CORS HTTP Header nicht korrekt konfiguriert.","The backend server of your website is not answering, we apologize for the inconvenience. Please try to re-load the page and try again. If the problem persists please contact the site administrators.":"Der Server antwortet nicht, wir entschuldigen uns für die Unannehmlichkeiten. Bitte versuchen Sie die Seite neu zu laden. Falls das Problem weiterhin besteht kontaktieren Sie bitte den Seitenbetreiber.","The button presence disables the live search, the query is issued when you press ENTER":"Der Button deaktiviert die Live-Suche, die Suchanfrage wird abgeschickt wenn die ENTER-Taste gedrückt wird","The item could not be deleted.":"Das Objekt kann nicht gelöscht werden.","The link address is:":"","The provided alternative url already exists!":"","The registration process has been successful. Please check your e-mail inbox for information on how activate your account.":"Bitte prüfen Sie Ihr E-Mail Postfach. Sie sollten eine E-Mail erhalten haben mit Anweisungen, wie Sie Ihren Zugang aktivieren können.","The user portrait/avatar":"Benutzer Portrait/Avatar","The working copy was discarded":"Die Arbeitskopie wurde verworfen","The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.":"{plonecms} {copyright} 2000-{current_year} {plonefoundation} und Freunde.","There is a configuration problem on the backend":"Konfigurationsproblem im Backend","There were some errors":"Es sind Fehler","There were some errors.":"Es sind Fehler aufgetreten.","Third":"Dritter","This has an ongoing working copy in {title}":"Diese Seite hat eine Arbeitskopie unter {title}","This is a reserved name and can't be used":"Dies ist ein reservierter Name und kann nicht verwendet werden","This is a working copy of {title}":"Das ist eine Arbeitskopie von {title}","This item was locked by {creator} on {date}":"Dieses Objekt wurde gesperrt von {creator}, am {date}.","This name will be displayed in the URL.":"Dieser Name wird in der Adressleiste des Browsers angezeigt.","This page does not seem to exist…":"Die Seite existiert leider nicht…","Time":"Zeit","Title":"Titel","Total active and non-active objects":"Anzahl aktive und nicht-aktive Objekte","Total comments":"Anzahl Komentare","Total number of objects in each cache":"Anzahl aller Objekte im Cache","Total number of objects in memory from all caches":"Anzahl aller Objekte im Speicher von allen Caches","Total number of objects in the database":"Anzahl aller Objekte in der Datenbank","Translate to {lang}":"Auf {lang} übersetzen","Translation linked":"Übersetzung verbunden","Translation linking removed":"Verbindung zu Übersetzung gelöst","Type":"Typ","Type a Video (YouTube, Vimeo or mp4) URL":"Geben Sie eine Video-URL (YouTube, Video oder MP4) ein","Type text...":"","Type text…":"Text eingeben…","Type the title…":"Titel eingeben…","UID":"UID","URL Management":"","URL Management for {title}":"","Unauthorized":"Nicht autorisiert","Undo":"","Unfold":"Ausklappen","Unified":"Vereinigt","Uninstall":"Deinstallieren","Unknown Block":"Unbekannter Block","Unlink translation for":"Verknüpfung der Übersetzung aufheben","Unlock":"Entsprerren","Update":"Update","Update installed addons":"Installierte Erweiterungen aktualisieren","Update installed addons:":"Installierte Erweiterungen:","Updates available":"Verfügbare Erweiterungen","Upload":"Hochladen","Upload a lead image in the 'Lead Image' content field.":"Laden Sie ein Lead-Bild im Feld 'Lead-Bild' hoch.","Upload a new image":"Neues Bild hochladen","Upload files":"Datei hochladen","Uploading files":"Dateien hochladen","Uploading image":"Bild hochladen","Used for programmatic access to the fieldset.":"Wir für den programmierten Zugriff auf das Fieldset verwendet.","User":"Benutzer","User Group Membership":"Gruppenmitgliedschaften","User Group Settings":"Benutzer- und Gruppeneinstellungen","User created":"Benutzer erstellt","User name":"Benutzername","User roles updated":"Nutzerrollen aktualisiert","Username":"Benutzername","Users":"Benutzer","Users and Groups":"Benutzer und Gruppen","Using this form, you can manage alternative urls for an item. This is an easy way to make an item available under two different URLs.":"","Variation":"Variante","Version Overview":"Versionsübersicht","Video":"Video","Video URL":"Video URL","View":"Anzeigen","View changes":"Änderungen anzeigen","View this revision":"Diese revision ansehen","View working copy":"Arbeitskopie ansehen","Viewmode":"Ansicht","Vocabulary term":"Term","Vocabulary term title":"Termtitel","Vocabulary terms":"Terme","Warning Regarding debug mode":"Debug-Modus Warnung","We apologize for the inconvenience, but the backend of the site you are accessing is not available right now. Please, try again later.":"Entschuldigen Sie die Unannehmlichkeiten aber das Backend der Seite antwortet zur Zeit nicht.","We apologize for the inconvenience, but the page you were trying to access is not at this address. You can use the links below to help you find what you are looking for.":"Entschuldigung, aber die Webseite die Sie versucht haben zu erreichen ist hier nicht verfügbar. Bitte benutzen Sie die aufgeführten Verweise um zu finden was Sie gesucht haben.","We apologize for the inconvenience, but you don't have permissions on this resource.":"Entschuldigen Sie die Unannehmlichkeiten, aber Sie besitzen nicht die erforderlichen Rechte um diese Seite anzuzeigen.","We will use this address if you need to recover your password":"Wir verwenden diese E-Mail Adresse wenn wir Ihr Passwort wiederherstellen müssen","Weeek day of month":"Wochentag im Monat","Weekday":"Wochentag","Weekly":"wöchentlich","What":"Was","When":"Wann","When this date is reached, the content will nolonger be visible in listings and searches.":"Wenn dieses Datum erreicht wird, wird der Inhalt nicht länger in Auflistungen und in der Suche auftauchen.","Who":"Wer","Wide":"","Workflow Change Loading Message":"Statuswechsel wird geladen","Workflow updated.":"Arbeitsablauf aktualisiert.","Yearly":"jährlich","Yes":"Ja","You are trying to access a protected resource, please {login} first.":"Sie versuchen eine geschützte Seite aufzurufen, bitte zuerst {login}.","You are using an outdated browser":"Sie verwenden einen veralteten Browser","You can add a comment by filling out the form below. Plain text formatting.":"Sie können einen Kommentar abgeben wenn Sie das untenstehende Formular ausfüllen. Plain-Text-Formatierung.","You can control who can view and edit your item using the list below.":"Sie können mit der folgenden Liste bestimmen, wer Ihren Artikel sehen und bearbeiten kann.","You can view the difference of the revisions below.":"Sie können die Unterschiede der verschiedenen Versionen unten sehen.","You can view the history of your item below.":"Sie können die Historie des Inhalts unten einsehen.","You can't paste this content here":"Sie können diese(s) Objekt(e) hier nicht einfügen","Your email is required for reset your password.":"","Your location - either city and country - or in a company setting, where your office is located.":"Ihr Standort - entweder eine Stadt und ein Land - oder im Rahmen einer Firma, wo Ihr Büro ist.","Your password has been set successfully. You may now {link} with your new password.":"Ihr Passwort wurde erfolgreich vergeben. Sie können sich jetzt mit Ihrem neuen Passwort {link}.","Your preferred language":"Ihre bevorzugte Sprache","Your usernaame is required for reset your password.":"","box_forgot_password_option":"Passwort vergessen?","common":"Allgemein","compare_to":"Vergleichen mit","delete":"Löschen","deprecated_browser_notice_message":"Sie verwenden einen veralteten Browser. Wir empfehlen den Einsatz eines modernen Browsers wie Firefox, Chrome, Safari oder Windows Edge Chromium.","description":"Beschreibung","description_lost_password":"Aus Sicherheitsgründen speichern wir Ihr Passwort verschlüsselt und können es Ihnen daher nicht per E-Mail schicken. Um ein neues Passwort zu erhalten, tragen Sie unten bitte Ihren Benutzernamen ein. Wir werden Ihnen daraufhin eine E-Mail schicken, in der das weitere Vorgehen beschrieben ist.","description_sent_password":"Der Link, um das Passwort neu zu setzen, wurde Ihnen zugesendet. Die E-Mail sollte in Kürze in Ihrem Postfach ankommen. Wenn Sie die Nachricht erhalten haben, klicken Sie auf den Link in der E-Mail, um zu der Webseite zu gelangen, wo Sie das Passwort neu setzen können.","draft":"Entwurf","email":"E-Mail","event_alldates":"Alle Termine","event_attendees":"Teilnehmer","event_contactname":"Kontaktname","event_contactphone":"Kontakttelefon","event_website":"Webseite","event_what":"Was","event_when":"Datum","event_where":"Ort","heading_sent_password":"Bestätigung für das Zurücksetzen des Passwortes wurde gesendet!","hero":"Hero","html":"HTML","image":"Bild","integer":"Ganzzahl","intranet":"Intranet","label_my_email_is":"","label_my_username_is":"El meu nom d'usuari és","leadimage":"Lead-Bild","listing":"Listing","loading":"laden","log in":"Einloggen","maps":"Karten","maxLength":"Maximale Länge","maximum":"Maximum","media":"Medien","minLength":"Minimale Länge","minimum":"Minimum","mostUsed":"Häufig genutzt","no":"","no workflow state":"Kein Status gesetzt","number":"Zahl","of the month":"im Monat","or try a different page.":"versuchen Sie eine andere Seite.","others":"andere","private":"Privat","published":"Veröffentlicht","querystring-widget-select":"Select Auswahlfeld","results found":"Ergebnisse gefunden","return to the site root":"Zur Startseite zurückkehren","rrule_and":"Regel UND","rrule_approximate":"REGEL Annäherung","rrule_at":"Regel AT","rrule_dateFormat":"Regel Datumsformat","rrule_day":"Regel Tag","rrule_days":"Regel Tage","rrule_every":"Regel Jeden","rrule_for":"Regel für","rrule_hour":"Regel Stunde","rrule_hours":"Regel Stunden","rrule_in":"Regel in","rrule_last":"Regel letztes","rrule_minutes":"Regel Minuten","rrule_month":"Regel Monat","rrule_months":"Regel Monate","rrule_nd":"Regel ND","rrule_on":"Regel on","rrule_on the":"Regel on the","rrule_or":"Regel oder","rrule_rd":"Regel rd","rrule_st":"Regel st","rrule_th":"Regel th","rrule_the":"Regel the","rrule_time":"Regel Zeit","rrule_times":"Regel Zeiten","rrule_until":"Regel bis","rrule_week":"Regel Woche","rrule_weekday":"Regel Wochentag","rrule_weekdays":"Regel Wochentage","rrule_weeks":"Regel Wochen","rrule_year":"Regel Jahr","rrule_years":"Regel Jahre","skiplink-footer":"Footer überspringen","skiplink-main-content":"Hauptinhalt überspringen","skiplink-navigation":"Navigation überspringen","sort":"sortieren","table":"Tabelle","text":"Text","title":"Titel","toc":"Inhaltsverzeichnis","url":"URL","user avatar":"Nutzer Avatar","video":"Video","visit_external_website":"Externe Webseite besuchen","yes":"Ja","{count, plural, one {Upload {count} file} other {Upload {count} files}}":"Lade {count, plural, one {# Datei} other {# Dateien}} hoch","{count} selected":"{count} ausgewählt","{id} Content Type":"{id} Inhaltstyp","{id} Schema":"{id} Schema","{title} copied.":"{title} kopiert.","{title} cut.":"{title} ausgeschnitten.","{title} has been deleted.":"{title} wurde gelöscht."}
1
+ {"<p>Add some HTML here</p>":"<p>HTML hier einfügen</p>","Accessibility":"Barrierefreiheit","Account Registration Completed":"Die Registrierung Ihres Zugangs wurde erfolgreich abgeschlossen.","Account activation completed":"Passwort gesetzt.","Action":"Aktion","Actions":"Aktionen","Activate and deactivate":"Aktiviern und Deaktivieren","Add":"Hinzufügen","Add (object list)":"","Add Addons":"Add-on hinzufügen","Add Content":"Inhalte hinzufügen","Add Translation…":"Übersetzung hinzufügen…","Add User":"Benutzer hinzufügen","Add a description…":"Beschreibung hinzufügen…","Add a new alternative url":"","Add block":"Block hinzufügen","Add block…":"Block hinzufügen","Add criteria":"Kriterien hinzufügen","Add date":"Datum hinzufügen","Add field":"Feld hinzufügen","Add fieldset":"Fieldset hinzufügen","Add group":"Gruppe hinzufügen","Add new content type":"Neuen Inhaltstypen hinzufügen","Add new group":"Neue Gruppe hinzufügen","Add new user":"Neuen Benutzer hinzufügen","Add to Groups":"Zu Gruppe hinzufügen","Add users to group":"Füge Benutzer zu Gruppe hinzu","Add vocabulary term":"Füge neuen Term hinzu","Add {type}":"{type} hinzufügen","Add-Ons":"","Add-on Configuration":"Konfiguration von Erweiterungen","Add-ons":"","Add-ons Settings":"Einstellungen Add-ons","Additional date":"Zusätzliches Datum","Album view":"Album","Alias":"","Alias has been added":"","Alignment":"Ausrichtung","All":"Alle","All content":"Alle Inhalte","All existing alternative urls for this site":"","Alphabetically":"alphabetisch","Alt text":"Alternative Text","Alt text hint":"","Alt text hint link text":"","Alternative url path (Required)":"","Alternative url path must start with a slash.":"","Alternative url path → target url path (date and time of creation, manually created yes/no)":"","Apply working copy":"Arbeitskopie anwenden","Are you sure you want to delete this field?":"Sind Sie sicher, dass Sie dieses Feld löschen möchten?","Are you sure you want to delete this fieldset including all fields?":"Sind Sie sicher, dass Sie dieses Fieldset löschen möchten?","Ascending":"Aufsteigend","Available":"Verfügbar","Back":"Zurück","Background color":"","Base":"Basis","Base search query":"Basis Suchfilter","Block":"Block","Both email address and password are case sensitive, check that caps lock is not enabled.":"Sowohl E-Mail Adresse als auch Passwort unterscheiden zwischen Groß- und Kleinschreibung, stellen Sie sicher dass die Hochstelltaste nicht aktiviert ist.","Breadcrumbs":"Brotkrumen","Browse":"Durchsuchen","Browse the site, drop an image, or type an URL":"Seite durchsuchen, Bild ablegen oder URL eingeben","By default, permissions from the container of this item are inherited. If you disable this, only the explicitly defined sharing permissions will be valid. In the overview, the symbol {inherited} indicates an inherited value. Similarly, the symbol {global} indicates a global role, which is managed by the site administrator.":"Standardmäßig werden die Berechtigungen von einem Ordner auf die in ihm befindlichen Artikel vererbt. Wenn Sie dies deaktivieren, sind nur die explizit definierten Zugriffsberechtigungen gültig. In der Übersicht zeigt das Symbol ${image_confirm_icon} einen ererbten Wert an. Das Symbol ${image_link_icon} zeigt eine globale Funktion an, die vom Administrator verwaltet wird.","Cache Name":"Cache Name","Can not edit Layout for <strong>{type}</strong> content-type as it doesn't have support for <strong>Volto Blocks</strong> enabled":"Layout für <strong>{type}</strong> kann nicht verändert werden, da das <strong>Volto Blocks</strong>-Behavior nicht für diesen Inhaltstyp aktiviert ist","Can not edit Layout for <strong>{type}</strong> content-type as the <strong>Blocks behavior</strong> is enabled and <strong>read-only</strong>":"Layout für <strong>{type}</strong> kann nicht verändert werden, da das <strong>Volto Blocks</strong>-Behavior auf nur-lesend gesetzt ist","Cancel":"Abbrechen","Cell":"Zelle","Center":"Mittig","Change Note":"Änderungsnotiz","Change Password":"Passwort ändern","Change State":"Arbeitsablauf-Status ändern","Change workflow state recursively":"Arbeitsablauf-Status für alle Unterobjekte ebenfalls ändern","Changes applied.":"Änderungen durchgeführt.","Changes saved":"Änderungen gespeichert","Changes saved.":"Änderungen gespeichert.","Checkbox":"Checkbox","Choices":"Auswahlfeld","Choose Image":"Bild auswählen","Choose Target":"Ziel auswählen","Choose a file":"Datei auswählen","Clear":"Löschen","Clear filters":"Filter entfernen","Click to download full sized image":"Klicken um das Bild in der vollen Größe runterzuladen","Close":"Schließen","Close menu":"Menu schließen","Code":"Code","Collapse item":"Element einklappen","Collection":"Kollektion","Color":"","Comment":"Kommentar","Commenter":"Kommentarautor","Comments":"Kommentare","Compare":"Vergleichen","Confirm password":"Passwort bestätigen","Connection refused":"Verbindung abgelehnt","Contact":"Kontakt","Contact form":"Kontaktformular","Contained items":"Enthaltene Elemente","Content":"Inhalt","Content type created":"Inhaltstyp erstellt","Content type deleted":"Inhaltstyp gelöscht","Contents":"Inhalte","Controls":"Einstellungen","Copy":"Kopieren","Copy blocks":"Blöcke kopieren","Copyright":"Urheberrecht","Copyright statement or other rights information on this item.":"Informationen über die Urheber- und Nutzungsrechte an diesem Artikel.","Create working copy":"Arbeitskopie erstellen","Created by {creator} on {date}":"Erstellt von {creator} am {date}","Created on":"Erstellt am","Creator":"Ersteller","Creators":"Ersteller","Criteria":"Kriterium","Current filters applied":"Ausgewählte Filter","Current password":"Aktuelles Passwort","Cut":"Ausschneiden","Cut blocks":"Blöcke ausschneiden","Daily":"Täglich","Database":"","Database Information":"Datenbankinformationen","Database Location":"Speicheort Datenbank","Database Size":"Größe Datenbank","Database main":"Datenbank","Date":"Datum","Date (newest first)":"Datum (neustes zuerst)","Default":"Standard","Default view":"Standard","Delete":"Löschen","Delete Group":"Gruppe löschen","Delete Type":"Inhaltstype löschen","Delete User":"Benutzer löschen","Delete blocks":"Blöcke löschen","Delete col":"Spalte löschen","Delete row":"Zeile löschen","Depth":"Tiefe","Descending":"Absteigend","Description":"Beschreibung","Diff":"Unterschied","Difference between revision {one} and {two} of {title}":"Unterschied zwischen Version {one} and {two} von {title}","Distributed under the {license}.":"Lizensiert unter der {license}.","Divide each row into separate cells":"Zeile in zwei separate Zellen aufteilen","Do you really want to delete the following items?":"Möchten Sie den Artikel wirklich löschen?","Do you really want to delete the group {groupname}?":"Möchten Sie die Gruppe {groupname} wirklich löschen?","Do you really want to delete the type {typename}?":"Möchten Sie den Inhaltstyp {typename} wirklich löschen?","Do you really want to delete the user {username}?":"Möchten Sie den Nutzer {username} wirklich löschen?","Do you really want to delete this item?":"Möchten Sie den Artikel wirklich löschen?","Document":"Seite","Document view":"Seite","Download Event":"","Drag and drop files from your computer onto this area or click the “Browse” button.":"Ziehen Sie Dateien von Ihrem Computer auf diesen Bereich oder drücken Sie den “Durchsuchen”-Knopf.","Drop file here to replace the existing file":"Datei hier ablegen um die bestehende Datei zu ersetzen","Drop file here to upload a new file":"Datei hier ablegen um eine neue Datei hochzuladen","Drop files here ...":"Datei hier ablegen um die bestehende Datei zu ersetzen","E-mail":"E-Mail","E-mail addresses do not match.":"E-Mail-Adressen stimmen nicht überein.","Edit":"Bearbeiten","Edit comment":"Kommentar bearbeiten","Edit field":"Feld bearbeiten","Edit fieldset":"Fieldset bearbeiten","Edit recurrence":"Wiederkehrende Einstellungen bearbeiten","Edit values":"Werte bearbeiten","Edit {title}":"{title} bearbeiten","Email":"E-Mail","Email sent":"E-Mail versendet","Embed code error, please follow the instructions and try again.":"Fehler beim Einbinden des Google Maps Codes. Bitte lesen Sie die Anweisungen und stellen Sie sicher dass Sie den korrekten Code verwenden.","Empty object list":"Leere Liste von Elementen","Enable editable Blocks":"Aktiviere bearbeitbare Blocks","End Date":"Enddatum","Enter URL or select an item":"URL eingeben oder Objekt auswählen","Enter a username above to search or click 'Show All'":"Benutzername oben eingeben oder auf 'Alle anzeigen' klicken","Enter an email address. This will be your login name. We respect your privacy, and will not give the address away to any third parties or expose it anywhere.":"Tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich künftig anmelden müssen. Wir respektieren den Datenschutz und werden die E-Mail-Adresse nicht an Dritte weitergeben und auch nirgends anzeigen.","Enter full name, e.g. John Smith.":"Tragen Sie bitte Ihren vollen Namen ein.","Enter map Embed Code":"Karten-Einbettungscode eingeben","Enter the absolute path of the target. The path must start with '/'. Target must exist or be an existing alternative url path to the target.":"","Enter the absolute path where the alternative url should exist. The path must start with '/'. Only urls that result in a 404 not found page will result in a redirect occurring.":"","Enter your current password.":"Geben Sie Ihr aktuelles Passwort ein.","Enter your email for verification.":"","Enter your new password. Minimum 5 characters.":"Geben Sie ihr neues Passwort ein. Mindestens 5 Zeichen.","Enter your username for verification.":"","Error":"Fehler","ErrorHeader":"","Event listing":"Termine","Event view":"Termin","Exclude from navigation":"Von der Navigation ausschließen","Exclude this occurence":"Dieses Datum ausschließen","Excluded from navigation":"Von Navigation ausgeschlossen","Existing alternative urls for this item":"","Expand sidebar":"Sidebar vergrößern","Expiration Date":"Ablaufdatum","Expiration date":"Ablaufdatum","Expired":"Abgelaufen","External URL":"Externe URL","Facet":"Facette","Facet widget":"Facetten-Widget","Facets":"Facetten","Facets on left side":"Facetten links","Facets on right side":"Facetten rechts","Facets on top":"Facetten oben","Field":"Feld","File":"Datei","File size":"Dateigröße","File view":"Datei","Filename":"Dateiname","Filter by prefix":"","Filter users by groups":"Filtere Benutzer via Gruppenmitgliedschaft","Filter…":"Filter…","First":"Erster Tag des Monats","Fixed width table cells":"Tabellen-Zellen mit fester Breite","Fold":"Einklappen","Folder":"Ordner","Folder listing":"Ordner","Forbidden":"Verboten","Fourth":"Vierter","From":"E-Mail","Full":"Volle Breite","Full Name":"Vor- und Nachname","Fullname":"Name","GNU GPL license":"GNU-GPL-Lizenz","General":"Allgemein","Global role":"Globale Rolle","Google Maps Embedded Block":"Google Maps Block","Group":"Gruppe","Group created":"Gruppe erstellt","Group roles updated":"Gruppenrollen aktualisiert","Groupname":"Gruppenname","Groups":"Gruppen","Groups are logical collections of users, such as departments and business units. Groups are not directly related to permissions on a global level, you normally use Roles for that - and let certain Groups have a particular role. The symbol{plone_svg}indicates a role inherited from membership in another group.":"Gruppen sind Kollektionen von Nutzern, wie z.B. Abteilungen oder Organisationseinheiten. Berechtigungen werden normalerweise nicht global an Gruppen vergeben, sondern eher an Rollen, und dann haben Gruppen eine bestimmte Rolle. Das Symbol {plone_svg} zeigt an, dass eine Rolle von einer anderen Gruppe geerbt wird.","Header cell":"Kopfzeile","Headline":"Überschrift","Headline level":"","Hidden facets will still filter the results if proper parameters are passed in URLs":"Verteckte Facetten können die Ergebnisse weiterhin filtern, wenn die entsprechenden Parameter in der URL angehängt werden","Hide Replies":"Antworten ausblenden","Hide facet?":"Facette verstecken","History":"Historie","History Version Number":"Historie Versionsnummer","History of {title}":"Historie von {title}","Home":"Startseite","Home page":"Homepage","ID":"ID","If selected, this item will not appear in the navigation tree":"Bestimmt, ob der Artikel nicht in der Navigation auftauchen soll.","If this date is in the future, the content will not show up in listings and searches until this date.":"Falls das Datum in der Zukunft liegt wird der Inhalt in Auflistungen und bei der Suche nicht auftauchen, bis zu dem Datum.","If you are certain this user has abandoned the object, you may unlock the object. You will then be able to edit it.":"Wenn Sie sicher sind dass das Objekt nicht mehr aktiv von einem anderen Nutzer verwendet wird, können Sie die Sperrung aufheben. Danach können Sie das Objekt bearbeiten.","If you are certain you have the correct web address but are encountering an error, please contact the {site_admin}.":"Wenn Sie sicher sind, dass Sie die richtige Adresse eingegeben haben, kontaktieren Sie bitte den {site_admin}.","Image":"Bild","Image gallery":"Bildergalerie","Image size":"","Image view":"Bild","Include this occurence":"Datum einbeziehen","Info":"Information","InfoUserGroupSettings":"Sie haben die Option 'viele Benutzer' oder 'viele Gruppen' gewählt. Deshalb erwartet das Panel die Eingabe eines Suchwerts und die Auswahl eines Gruppen-Filters um Benutzer und Gruppen zu zeigen. Wenn Sie im Panel umgehend alle Benutzer und Gruppen sehen möchten, dann wechseln Sie bitte zu den Benutzer- und Gruppeneinstellungen und ändern die Einstellungen. Links finden Sie einen Link.","Inherit permissions from higher levels":"Berechtigungen von übergeordneten Ordnern übernehmen","Inherited value":"Geerbter Wert","Insert col after":"Spalte danach einfügen","Insert col before":"Spalte davor einfügen","Insert row after":"Zeile danach einfügen","Insert row before":"Zeile davor einfügen","Install":"Installieren","Installed":"Installiert","Installed version":"Installierte Version","Installing a third party add-on":"","Interval Daily":"Täglich","Interval Monthly":"Monatlich","Interval Weekly":"Wöchentlich","Interval Yearly":"Jährliches Intervall","Item batch size":"Batch-Anzahl","Item succesfully moved.":"Objekt wurde erfolgreich verschoben.","Item(s) copied.":"Objekt(e) kopiert.","Item(s) cut.":"Objekt(e) ausgeschnitten.","Item(s) has been updated.":"Objekt(e) wurde(n) aktualisiert","Item(s) pasted.":"Artikel eingefügt.","Item(s) state has been updated.":"Der Status der Objekte wurde aktualisiert.","Items":"Elemente","Items must be unique.":"Auswahl muss eindeutig sein.","Label":"Label","Language":"Sprache","Language independent field.":"","Large":"","Last":"Letzter","Last comment date":"Letztes Kommentierdatum","Last modified":"Letzte Änderung","Latest version":"Letzte Version","Layout":"Layout","Lead Image":"Lead-Bild","Left":"Links","Link":"Link","Link more":"'Mehr' Link","Link redirect view":"Link","Link title":"Linktitel","Link to":"Link auf","Link translation for":"Übersetzung verbinden","Listing":"Auflistung","Listing view":"Auflistung","Load more":"Mehr laden","Loading":"lädt","Location":"Ort","Log In":"Anmelden","Log in":"Anmelden","Login":"Einloggen","Login Failed":"Login fehlgeschlagen","Login Name":"Benutzername","Logout":"Ausloggen","Made by {creator} on {date}. This is not a working copy anymore, but the main content.":"Erstellt von {creator} am {date}. Diese Seite ist keine Arbeitskopie mehr sondern die Live-Seite.","Make the table compact":"Tabelle kompakt darstellen","Manage Translations":"Übersetzungen verwalten","Manage translations for {title}":"Übersetzungen für {} verwalten","Manual":"","Manually or automatically added?":"","Maps":"","Maps URL":"Karten URL","Maximum length is {len}.":"Maximale Länge ist {len}.","Maximum value is {len}.":"Maximaler Wert ist {len}","Medium":"","Message":"Nachricht","Minimum length is {len}.":"Minimale Länge ist {len}","Minimum value is {len}.":"Minimaler Wert ist {len}","Moderate Comments":"Kommentare moderieren","Moderate comments":"Kommentare moderieren","Monday and Friday":"Montag und Freitag","Month day":"Tag des Monats","Monthly":"Monatlich","More":"Mehr","Mosaic layout":"Mosaic","Move to bottom of folder":"Ans Ende verschieben","Move to top of folder":"An den Anfang verschieben","Multiple choices?":"Mehrfachauswahl","My email is":"","My username is":"Mein Benutzername ist","Name":"Name","Navigate back":"Zurück navigieren","Navigation":"Navigation","New password":"Neues Passwort","News Item":"Nachricht","News item view":"Nachricht","No":"Nein","No Video selected":"","No addons found":"Keine Add-ons installiert.","No connection to the server":"","No image selected":"","No image set in Lead Image content field":"Im Feld 'Lead-Bild' wurde kein Bild gesetzt.","No image set in image content field":"Im Feld 'Bild' wurde kein Bild gesetzt","No items found in this container.":"Keine Elemente gefunden","No items selected":"Kein Element ausgewählt","No map selected":"Keine Karte ausgewählt","No occurences set":"Kein Datum gesetzt","No options":"Keine Option","No results found":"Keine Ergebnisse gefunden","No results found.":"Keine Ergebnisse gefunden.","No selection":"Keine Auswahl","No uninstall profile":"Kein Deinstallationsprofil","No user found":"Kein Benutzer gefunden","No value":"Kein Wert","No workflow":"Kein Workflow","None":"Nicht vorhanden","Note that roles set here apply directly to a user. The symbol{plone_svg}indicates a role inherited from membership in a group.":"Rollen gelten für diesen Nutzer. Das Zeichen {plone_svg} zeigt an dass eine Rolle von einer Gruppenzugehörigkeit geerbt wird.","Number of active objects":"Anzahl aktive Objekte","Object Size":"Grösse","Occurences":"Vorkommen","Ok":"OK","Only lowercase letters (a-z) without accents, numbers (0-9), and the two characters \"-\" and \"_\" are allowed.":"Nur Kleinbuchstaben (a-z) ohne Umlaute oder Sonderzeichen, Zahlen (0-9) und die beiden Zeichen \"-\" und \"_\" sind erlaubt.","Open in a new tab":"In neuem Browser-Tab öffnen","Open menu":"Menü öffnen","Open object browser":"Objekt-Browser öffnen","Origin":"Quelle","Page":"Seite","Parent fieldset":"Eltern-Fieldset","Password":"Passwort","Password reset":"Passwort zurücksetzen","Passwords do not match.":"Die Passwörter stimmen nicht überein.","Paste":"Einfügen","Paste blocks":"Blöcke einfügen","Permissions have been updated successfully":"Berechtigungen wurden erfolgreich aktualisiert","Permissions updated":"Berechtigungen aktualisiert","Personal Information":"Persönliche Informationen","Personal Preferences":"Meine Einstellungen","Personal tools":"Persönliche Einstellungen","Persons responsible for creating the content of this item. Please enter a list of user names, one per line. The principal creator should come first.":"Eine Liste von Personen, die an der Erstellung dieses Artikels beteiligt waren. Bitte geben Sie einen Benutzernamen pro Zeile ein. Der Hauptverantwortliche sollte zuerst genannt werden.","Please enter a valid URL by deleting the block and adding a new video block.":"Geben Sie eine gültige URL ","Please enter the Embed Code provided by Google Maps -> Share -> Embed map. It should contain the <iframe> code on it.":"Bitte geben sie den Einbettungscode von Google Maps ein. Klicken Sie auf 'Teilen' und dann 'Karte einbetten'. Der Code sollte ein '<iframe>'-Element enthalten.","Please fill out the form below to set your password.":"Bitte füllen Sie das unten stehende Formular aus, um Ihr Passwort neu zu setzen.","Please search for users or use the filters on the side.":"Bitte verwenden Sie das Suchfeld oder die Filter um Benutzer anzuzeigen.","Please upgrade to plone.restapi >= 8.24.0.":"Bitte upgraden auf plone.restapi >= 8.24.0.","Plone Foundation":"Plone Foundation","Plone Site":"Website","Plone{reg} Open Source CMS/WCM":"Plone{reg} Open Source Content Management System","Portrait":"Portrait","Possible values":"Mögliche Werte","Powered by Plone & Python":"Powered by Plone & Python","Preferences":"Einstellungen","Prettify your code":"Quellcode aufräumen","Preview":"Vorschau","Preview Image URL":"URL Vorschaubild","Profile":"Profil","Properties":"Eigenschaften","Publication date":"Freigabedatum","Publishing Date":"Freigabedatum","Query":"Anfrage","Re-enter the password. Make sure the passwords are identical.":"Geben Sie das gleiche Passwort erneut ein.","Read More…":"Mehr…","Rearrange items by…":"Elemente sortieren nach…","Recurrence ends":"Ende des wiederkehrenden Vorkommens","Recurrence ends after":"Wiederkehrendes Vorkommen endet nach","Recurrence ends on":"Wiederkehrendes Vorkommen endet am","Redo":"","Reduce complexity":"Komplexität reduzieren","Register":"Registrieren","Registration form":"Registrierungsformular","Relevance":"relevanz","Remove":"","Remove item":"Element entfernen","Remove recurrence":"Wiederkehrende Einstellung entfernen","Remove selected":"","Remove term":"Entferne Term","Remove users from group":"Trage Benutzer aus Gruppe aus","Remove working copy":"Arbeitskopie löschen","Rename":"Umbenennen","Rename Items Loading Message":"Umbenennen-Modal lädt","Rename items":"Artikel umbenennen","Repeat":"Wiederholen","Repeat every":"Wiederhole jeden","Repeat on":"Wiederhole am","Replace existing file":"Bestehende Datei ersetzen","Reply":"Antworten","Required":"Notwendig","Required input is missing.":"Notwendige Eingabe fehlt.","Reset term title":"Setze Titel zurück","Results limit":"Anzahl der Ergebnisse einschränken","Results preview":"Ergebnisvorschau","Results template":"Template Suchergebnisliste","Reversed order":"Sortierreihenfolge umkehren","Revert to this revision":"Die aktuelle Version durch diese ersetzen","Review state":"Arbeitsablauf","Richtext":"Richtext","Right":"Rechte","Rights":"Rechte","Roles":"Rollen","Root":"Wurzel","Save":"Speichern","Save recurrence":"Wiederkehrende Einstellung speichern","Schema":"Schema","Schema updates":"Aktualisierungen Schema","Search":"Suche","Search SVG":"Suchen","Search Site":"Website durchsuchen","Search block":"Such-Block","Search button label":"Label Such-Button","Search content":"Inhalte suchen","Search for user or group":"Nach Benutzer oder Gruppe suchen","Search group…":"Nach Gruppe suchen…","Search input label":"Label Suchfeld","Search results":"Suchergebnisse","Search results for {term}":"Suchergebnisse für {term}","Search users…":"Nach Nutzern suchen…","Searched for":"Suche nach","Second":"Zweiter","Section title":"Abschnittstitel","Select":"Auswählen","Select a date to add to recurrence":"Wählen Sie ein Datum um ein wiederkehrendes Datum einzustellen","Select columns to show":"Anzuzeigende Spalten wählen","Select the transition to be used for modifying the items state.":"Arbeitsablauf-Status für Seite wählen.","Selected dates":"Ausgewählte Daten","Selected items":"Ausgewählte Objekte","Selected items - x of y":"Ausgewählte Objekte - x von y","Selection":"Auswahl","Select…":"Wähle…","Send":"Absenden","Set my password":"Passwort neu setzen","Set your password":"Setzen Sie Ihr Passwort","Settings":"Einstellungen","Sharing":"Freigabe","Sharing for {title}":"Freigabe für","Short Name":"Kurzname","Short name":"Kurzname","Show":"Zeige","Show All":"Alle anzeigen","Show Replies":"Antworten anzeigen","Show groups of users below":"Zeige die Gruppenmitgliedschaften der unten gezeigten Benutzer","Show item":"Elemente anzeigen","Show search button?":"Such-Button anzeigen?","Show search input?":"Such-Eingabe anzeigen?","Show sorting?":"Sortieroption anzeigen?","Shrink sidebar":"Sidebar verkleinern","Shrink toolbar":"Toolbar verkleinern","Sign in to start session":"Loggen Sie sich ein","Site":"Website","Site Administration":"Website-Administrator","Site Map":"Übersicht","Site Setup":"Systemeinstellungen","Sitemap":"Sitemap","Size: {size}":"Grösse: {size}","Small":"","Sorry, something went wrong with your request":"Entschuldigung, ein Fehler ist beim Ausführen Ihrer Anfrage aufgetreten ","Sort By:":"Sortieren nach:","Sort on":"Sortieren nach","Sort on label":"Label für Sortieren","Sort on options":"Sortieroptionen","Source":"Quelle","Specify a youtube video or playlist url":"Geben Sie ein YouTube-Video oder eine YouTube-Playlist URL ein","Split":"Aufsplitten","Start Date":"Anfangsdatum","Start of the recurrence":"Anfangsdatum des wiederkehrenden Termins","Start password reset":"E-Mail anfordern","State":"Status","Stop compare":"Vergleichsansicht verlassen","String":"Text","Stripe alternate rows with color":"Zeilen abwechselnd einfärben","Styling":"","Subject":"Betreff","Success":"Erfolgreich","Summary":"Zusammenfassung","Summary view":"Kurzfassung","Switch to":"Wechseln zu","Table":"Tabelle","Table of Contents":"Inhaltsverzeichnis","Tabular view":"Tabelle","Tags":"Tags","Tags to add":"Hinzuzufügende Tags","Tags to remove":"Zu entfernende Tags","Target":"","Target Path (Required)":"","Target memory size per cache in bytes":"Ziel-Speichergröße pro Cache in Bytes","Target number of objects in memory per cache":"Ziel-Anzahl von Objekten im Speicher pro Cache","Target url path must start with a slash.":"","Text":"Text","Thank you.":"Vielen Dank.","The Database Manager allow you to view database status information":"Der Datenbank-Manager zeigt Ihnen Status-Informationen zu der Datenbank","The URL for your external home page, if you have one.":"Die URL Ihrer externen Homepage, sollten Sie eine besitzen.","The backend is not responding, due to a server timeout or a connection problem of your device. Please check your connection and try again.":"","The backend is not responding, please check if you have started Plone, check your project's configuration object apiPath (or if you are using the internal proxy, devProxyToApiPath) or the RAZZLE_API_PATH Volto's environment variable.":"Das Backend beantwortet die Anfrage nicht, prüfen Sie bitte ob Sie Plone gestartet haben. Prüfen Sie den apiPath Parameter Ihrer Projekt-Konfiguration oder die RAZZLE_API_PATH Umgebungsvariable.","The backend is responding, but the CORS headers are not configured properly and the browser has denied the access to the backend resources.":"Das Backend antwortet, allerdings sind ihre CORS HTTP Header nicht korrekt konfiguriert.","The backend server of your website is not answering, we apologize for the inconvenience. Please try to re-load the page and try again. If the problem persists please contact the site administrators.":"Der Server antwortet nicht, wir entschuldigen uns für die Unannehmlichkeiten. Bitte versuchen Sie die Seite neu zu laden. Falls das Problem weiterhin besteht kontaktieren Sie bitte den Seitenbetreiber.","The button presence disables the live search, the query is issued when you press ENTER":"Der Button deaktiviert die Live-Suche, die Suchanfrage wird abgeschickt wenn die ENTER-Taste gedrückt wird","The item could not be deleted.":"Das Objekt kann nicht gelöscht werden.","The link address is:":"","The provided alternative url already exists!":"","The registration process has been successful. Please check your e-mail inbox for information on how activate your account.":"Bitte prüfen Sie Ihr E-Mail Postfach. Sie sollten eine E-Mail erhalten haben mit Anweisungen, wie Sie Ihren Zugang aktivieren können.","The user portrait/avatar":"Benutzer Portrait/Avatar","The working copy was discarded":"Die Arbeitskopie wurde verworfen","The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.":"{plonecms} {copyright} 2000-{current_year} {plonefoundation} und Freunde.","There is a configuration problem on the backend":"Konfigurationsproblem im Backend","There were some errors":"Es sind Fehler","There were some errors.":"Es sind Fehler aufgetreten.","Third":"Dritter","This has an ongoing working copy in {title}":"Diese Seite hat eine Arbeitskopie unter {title}","This is a reserved name and can't be used":"Dies ist ein reservierter Name und kann nicht verwendet werden","This is a working copy of {title}":"Das ist eine Arbeitskopie von {title}","This item was locked by {creator} on {date}":"Dieses Objekt wurde gesperrt von {creator}, am {date}.","This name will be displayed in the URL.":"Dieser Name wird in der Adressleiste des Browsers angezeigt.","This page does not seem to exist…":"Die Seite existiert leider nicht…","Time":"Zeit","Title":"Titel","Total active and non-active objects":"Anzahl aktive und nicht-aktive Objekte","Total comments":"Anzahl Komentare","Total number of objects in each cache":"Anzahl aller Objekte im Cache","Total number of objects in memory from all caches":"Anzahl aller Objekte im Speicher von allen Caches","Total number of objects in the database":"Anzahl aller Objekte in der Datenbank","Translate to {lang}":"Auf {lang} übersetzen","Translation linked":"Übersetzung verbunden","Translation linking removed":"Verbindung zu Übersetzung gelöst","Type":"Typ","Type a Video (YouTube, Vimeo or mp4) URL":"Geben Sie eine Video-URL (YouTube, Video oder MP4) ein","Type text...":"","Type text…":"Text eingeben…","Type the title…":"Titel eingeben…","UID":"UID","URL Management":"","URL Management for {title}":"","Unauthorized":"Nicht autorisiert","Undo":"","Unfold":"Ausklappen","Unified":"Vereinigt","Uninstall":"Deinstallieren","Unknown Block":"Unbekannter Block","Unlink translation for":"Verknüpfung der Übersetzung aufheben","Unlock":"Entsprerren","Update":"Update","Update installed addons":"Installierte Erweiterungen aktualisieren","Update installed addons:":"Installierte Erweiterungen:","Updates available":"Verfügbare Erweiterungen","Upload":"Hochladen","Upload a lead image in the 'Lead Image' content field.":"Laden Sie ein Lead-Bild im Feld 'Lead-Bild' hoch.","Upload a new image":"Neues Bild hochladen","Upload files":"Datei hochladen","Uploading files":"Dateien hochladen","Uploading image":"Bild hochladen","Used for programmatic access to the fieldset.":"Wir für den programmierten Zugriff auf das Fieldset verwendet.","User":"Benutzer","User Group Membership":"Gruppenmitgliedschaften","User Group Settings":"Benutzer- und Gruppeneinstellungen","User created":"Benutzer erstellt","User name":"Benutzername","User roles updated":"Nutzerrollen aktualisiert","Username":"Benutzername","Users":"Benutzer","Users and Groups":"Benutzer und Gruppen","Using this form, you can manage alternative urls for an item. This is an easy way to make an item available under two different URLs.":"","Variation":"Variante","Version Overview":"Versionsübersicht","Video":"Video","Video URL":"Video URL","View":"Anzeigen","View changes":"Änderungen anzeigen","View this revision":"Diese revision ansehen","View working copy":"Arbeitskopie ansehen","Viewmode":"Ansicht","Vocabulary term":"Term","Vocabulary term title":"Termtitel","Vocabulary terms":"Terme","Warning Regarding debug mode":"Debug-Modus Warnung","We apologize for the inconvenience, but the backend of the site you are accessing is not available right now. Please, try again later.":"Entschuldigen Sie die Unannehmlichkeiten aber das Backend der Seite antwortet zur Zeit nicht.","We apologize for the inconvenience, but the page you were trying to access is not at this address. You can use the links below to help you find what you are looking for.":"Entschuldigung, aber die Webseite die Sie versucht haben zu erreichen ist hier nicht verfügbar. Bitte benutzen Sie die aufgeführten Verweise um zu finden was Sie gesucht haben.","We apologize for the inconvenience, but you don't have permissions on this resource.":"Entschuldigen Sie die Unannehmlichkeiten, aber Sie besitzen nicht die erforderlichen Rechte um diese Seite anzuzeigen.","We will use this address if you need to recover your password":"Wir verwenden diese E-Mail Adresse wenn wir Ihr Passwort wiederherstellen müssen","Weeek day of month":"Wochentag im Monat","Weekday":"Wochentag","Weekly":"wöchentlich","What":"Was","When":"Wann","When this date is reached, the content will nolonger be visible in listings and searches.":"Wenn dieses Datum erreicht wird, wird der Inhalt nicht länger in Auflistungen und in der Suche auftauchen.","Who":"Wer","Wide":"","Workflow Change Loading Message":"Statuswechsel wird geladen","Workflow updated.":"Arbeitsablauf aktualisiert.","Yearly":"jährlich","Yes":"Ja","You are trying to access a protected resource, please {login} first.":"Sie versuchen eine geschützte Seite aufzurufen, bitte zuerst {login}.","You are using an outdated browser":"Sie verwenden einen veralteten Browser","You can add a comment by filling out the form below. Plain text formatting.":"Sie können einen Kommentar abgeben wenn Sie das untenstehende Formular ausfüllen. Plain-Text-Formatierung.","You can control who can view and edit your item using the list below.":"Sie können mit der folgenden Liste bestimmen, wer Ihren Artikel sehen und bearbeiten kann.","You can view the difference of the revisions below.":"Sie können die Unterschiede der verschiedenen Versionen unten sehen.","You can view the history of your item below.":"Sie können die Historie des Inhalts unten einsehen.","You can't paste this content here":"Sie können diese(s) Objekt(e) hier nicht einfügen","Your email is required for reset your password.":"","Your location - either city and country - or in a company setting, where your office is located.":"Ihr Standort - entweder eine Stadt und ein Land - oder im Rahmen einer Firma, wo Ihr Büro ist.","Your password has been set successfully. You may now {link} with your new password.":"Ihr Passwort wurde erfolgreich vergeben. Sie können sich jetzt mit Ihrem neuen Passwort {link}.","Your preferred language":"Ihre bevorzugte Sprache","Your usernaame is required for reset your password.":"","box_forgot_password_option":"Passwort vergessen?","common":"Allgemein","compare_to":"Vergleichen mit","delete":"Löschen","deprecated_browser_notice_message":"Sie verwenden einen veralteten Browser. Wir empfehlen den Einsatz eines modernen Browsers wie Firefox, Chrome, Safari oder Windows Edge Chromium.","description":"Beschreibung","description_lost_password":"Aus Sicherheitsgründen speichern wir Ihr Passwort verschlüsselt und können es Ihnen daher nicht per E-Mail schicken. Um ein neues Passwort zu erhalten, tragen Sie unten bitte Ihren Benutzernamen ein. Wir werden Ihnen daraufhin eine E-Mail schicken, in der das weitere Vorgehen beschrieben ist.","description_sent_password":"Der Link, um das Passwort neu zu setzen, wurde Ihnen zugesendet. Die E-Mail sollte in Kürze in Ihrem Postfach ankommen. Wenn Sie die Nachricht erhalten haben, klicken Sie auf den Link in der E-Mail, um zu der Webseite zu gelangen, wo Sie das Passwort neu setzen können.","draft":"Entwurf","email":"E-Mail","event_alldates":"Alle Termine","event_attendees":"Teilnehmer","event_contactname":"Kontaktname","event_contactphone":"Kontakttelefon","event_website":"Webseite","event_what":"Was","event_when":"Datum","event_where":"Ort","heading_sent_password":"Bestätigung für das Zurücksetzen des Passwortes wurde gesendet!","hero":"Hero","html":"HTML","image":"Bild","integer":"Ganzzahl","intranet":"Intranet","label_my_email_is":"","label_my_username_is":"El meu nom d'usuari és","leadimage":"Lead-Bild","listing":"Listing","loading":"laden","log in":"Einloggen","maps":"Karten","maxLength":"Maximale Länge","maximum":"Maximum","media":"Medien","minLength":"Minimale Länge","minimum":"Minimum","mostUsed":"Häufig genutzt","no":"","no workflow state":"Kein Status gesetzt","number":"Zahl","of the month":"im Monat","or try a different page.":"versuchen Sie eine andere Seite.","others":"andere","private":"Privat","published":"Veröffentlicht","querystring-widget-select":"Select Auswahlfeld","results found":"Ergebnisse gefunden","return to the site root":"Zur Startseite zurückkehren","rrule_and":"Regel UND","rrule_approximate":"REGEL Annäherung","rrule_at":"Regel AT","rrule_dateFormat":"Regel Datumsformat","rrule_day":"Regel Tag","rrule_days":"Regel Tage","rrule_every":"Regel Jeden","rrule_for":"Regel für","rrule_hour":"Regel Stunde","rrule_hours":"Regel Stunden","rrule_in":"Regel in","rrule_last":"Regel letztes","rrule_minutes":"Regel Minuten","rrule_month":"Regel Monat","rrule_months":"Regel Monate","rrule_nd":"Regel ND","rrule_on":"Regel on","rrule_on the":"Regel on the","rrule_or":"Regel oder","rrule_rd":"Regel rd","rrule_st":"Regel st","rrule_th":"Regel th","rrule_the":"Regel the","rrule_time":"Regel Zeit","rrule_times":"Regel Zeiten","rrule_until":"Regel bis","rrule_week":"Regel Woche","rrule_weekday":"Regel Wochentag","rrule_weekdays":"Regel Wochentage","rrule_weeks":"Regel Wochen","rrule_year":"Regel Jahr","rrule_years":"Regel Jahre","skiplink-footer":"Footer überspringen","skiplink-main-content":"Hauptinhalt überspringen","skiplink-navigation":"Navigation überspringen","sort":"sortieren","table":"Tabelle","text":"Text","title":"Titel","toc":"Inhaltsverzeichnis","url":"URL","user avatar":"Nutzer Avatar","video":"Video","visit_external_website":"Externe Webseite besuchen","yes":"Ja","{count, plural, one {Upload {count} file} other {Upload {count} files}}":"Lade {count, plural, one {# Datei} other {# Dateien}} hoch","{count} selected":"{count} ausgewählt","{id} Content Type":"{id} Inhaltstyp","{id} Schema":"{id} Schema","{title} copied.":"{title} kopiert.","{title} cut.":"{title} ausgeschnitten.","{title} has been deleted.":"{title} wurde gelöscht."}
@@ -1898,6 +1898,7 @@ msgstr ""
1898
1898
  msgid "No options"
1899
1899
  msgstr ""
1900
1900
 
1901
+ #: components/manage/BlockChooser/BlockChooser
1901
1902
  #: components/theme/Search/Search
1902
1903
  # defaultMessage: No results found
1903
1904
  msgid "No results found"
@@ -2406,6 +2407,7 @@ msgstr ""
2406
2407
  msgid "Schema updates"
2407
2408
  msgstr ""
2408
2409
 
2410
+ #: components/manage/BlockChooser/BlockChooserSearch
2409
2411
  #: components/manage/Blocks/Search/components/SearchInput
2410
2412
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2411
2413
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1908,6 +1908,7 @@ msgstr "No hay repeticiones"
1908
1908
  msgid "No options"
1909
1909
  msgstr "No hay opciones"
1910
1910
 
1911
+ #: components/manage/BlockChooser/BlockChooser
1911
1912
  #: components/theme/Search/Search
1912
1913
  # defaultMessage: No results found
1913
1914
  msgid "No results found"
@@ -2416,6 +2417,7 @@ msgstr "Esquema"
2416
2417
  msgid "Schema updates"
2417
2418
  msgstr "Actualización de esquema"
2418
2419
 
2420
+ #: components/manage/BlockChooser/BlockChooserSearch
2419
2421
  #: components/manage/Blocks/Search/components/SearchInput
2420
2422
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2421
2423
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1905,6 +1905,7 @@ msgstr "Ez da agerpenik ezarri"
1905
1905
  msgid "No options"
1906
1906
  msgstr "Ez du aukerarik"
1907
1907
 
1908
+ #: components/manage/BlockChooser/BlockChooser
1908
1909
  #: components/theme/Search/Search
1909
1910
  # defaultMessage: No results found
1910
1911
  msgid "No results found"
@@ -2413,6 +2414,7 @@ msgstr "Eskema"
2413
2414
  msgid "Schema updates"
2414
2415
  msgstr "Eskemaren eguneraketak"
2415
2416
 
2417
+ #: components/manage/BlockChooser/BlockChooserSearch
2416
2418
  #: components/manage/Blocks/Search/components/SearchInput
2417
2419
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2418
2420
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1915,6 +1915,7 @@ msgstr ""
1915
1915
  msgid "No options"
1916
1916
  msgstr ""
1917
1917
 
1918
+ #: components/manage/BlockChooser/BlockChooser
1918
1919
  #: components/theme/Search/Search
1919
1920
  # defaultMessage: No results found
1920
1921
  msgid "No results found"
@@ -2423,6 +2424,7 @@ msgstr ""
2423
2424
  msgid "Schema updates"
2424
2425
  msgstr ""
2425
2426
 
2427
+ #: components/manage/BlockChooser/BlockChooserSearch
2426
2428
  #: components/manage/Blocks/Search/components/SearchInput
2427
2429
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2428
2430
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1898,6 +1898,7 @@ msgstr "Nessuna ricorrenza impostata"
1898
1898
  msgid "No options"
1899
1899
  msgstr "Nessuna opzione"
1900
1900
 
1901
+ #: components/manage/BlockChooser/BlockChooser
1901
1902
  #: components/theme/Search/Search
1902
1903
  # defaultMessage: No results found
1903
1904
  msgid "No results found"
@@ -2406,6 +2407,7 @@ msgstr "Schema"
2406
2407
  msgid "Schema updates"
2407
2408
  msgstr "Aggiornamenti dello schema"
2408
2409
 
2410
+ #: components/manage/BlockChooser/BlockChooserSearch
2409
2411
  #: components/manage/Blocks/Search/components/SearchInput
2410
2412
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2411
2413
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1906,6 +1906,7 @@ msgstr "未設定"
1906
1906
  msgid "No options"
1907
1907
  msgstr "選択肢無し"
1908
1908
 
1909
+ #: components/manage/BlockChooser/BlockChooser
1909
1910
  #: components/theme/Search/Search
1910
1911
  # defaultMessage: No results found
1911
1912
  msgid "No results found"
@@ -2414,6 +2415,7 @@ msgstr "スキーマ"
2414
2415
  msgid "Schema updates"
2415
2416
  msgstr "スキーマの更新"
2416
2417
 
2418
+ #: components/manage/BlockChooser/BlockChooserSearch
2417
2419
  #: components/manage/Blocks/Search/components/SearchInput
2418
2420
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2419
2421
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1917,6 +1917,7 @@ msgstr ""
1917
1917
  msgid "No options"
1918
1918
  msgstr ""
1919
1919
 
1920
+ #: components/manage/BlockChooser/BlockChooser
1920
1921
  #: components/theme/Search/Search
1921
1922
  # defaultMessage: No results found
1922
1923
  msgid "No results found"
@@ -2425,6 +2426,7 @@ msgstr ""
2425
2426
  msgid "Schema updates"
2426
2427
  msgstr ""
2427
2428
 
2429
+ #: components/manage/BlockChooser/BlockChooserSearch
2428
2430
  #: components/manage/Blocks/Search/components/SearchInput
2429
2431
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2430
2432
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1906,6 +1906,7 @@ msgstr ""
1906
1906
  msgid "No options"
1907
1907
  msgstr ""
1908
1908
 
1909
+ #: components/manage/BlockChooser/BlockChooser
1909
1910
  #: components/theme/Search/Search
1910
1911
  # defaultMessage: No results found
1911
1912
  msgid "No results found"
@@ -2414,6 +2415,7 @@ msgstr ""
2414
2415
  msgid "Schema updates"
2415
2416
  msgstr ""
2416
2417
 
2418
+ #: components/manage/BlockChooser/BlockChooserSearch
2417
2419
  #: components/manage/Blocks/Search/components/SearchInput
2418
2420
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2419
2421
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1908,6 +1908,7 @@ msgstr "Sem ocorrências definidas"
1908
1908
  msgid "No options"
1909
1909
  msgstr "Sem opções"
1910
1910
 
1911
+ #: components/manage/BlockChooser/BlockChooser
1911
1912
  #: components/theme/Search/Search
1912
1913
  # defaultMessage: No results found
1913
1914
  msgid "No results found"
@@ -2416,6 +2417,7 @@ msgstr "Esquema"
2416
2417
  msgid "Schema updates"
2417
2418
  msgstr "Atualizações do esquema"
2418
2419
 
2420
+ #: components/manage/BlockChooser/BlockChooserSearch
2419
2421
  #: components/manage/Blocks/Search/components/SearchInput
2420
2422
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2421
2423
  #: components/manage/Blocks/Search/layout/RightColumnFacets
@@ -1898,6 +1898,7 @@ msgstr "Nu s-au setat apariții"
1898
1898
  msgid "No options"
1899
1899
  msgstr "Nicio opțiune"
1900
1900
 
1901
+ #: components/manage/BlockChooser/BlockChooser
1901
1902
  #: components/theme/Search/Search
1902
1903
  # defaultMessage: No results found
1903
1904
  msgid "No results found"
@@ -2406,6 +2407,7 @@ msgstr "Schemă"
2406
2407
  msgid "Schema updates"
2407
2408
  msgstr "Actualizări de schemă"
2408
2409
 
2410
+ #: components/manage/BlockChooser/BlockChooserSearch
2409
2411
  #: components/manage/Blocks/Search/components/SearchInput
2410
2412
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2411
2413
  #: components/manage/Blocks/Search/layout/RightColumnFacets
package/locales/volto.pot CHANGED
@@ -1900,6 +1900,7 @@ msgstr ""
1900
1900
  msgid "No options"
1901
1901
  msgstr ""
1902
1902
 
1903
+ #: components/manage/BlockChooser/BlockChooser
1903
1904
  #: components/theme/Search/Search
1904
1905
  # defaultMessage: No results found
1905
1906
  msgid "No results found"
@@ -2408,6 +2409,7 @@ msgstr ""
2408
2409
  msgid "Schema updates"
2409
2410
  msgstr ""
2410
2411
 
2412
+ #: components/manage/BlockChooser/BlockChooserSearch
2411
2413
  #: components/manage/Blocks/Search/components/SearchInput
2412
2414
  #: components/manage/Blocks/Search/layout/LeftColumnFacets
2413
2415
  #: components/manage/Blocks/Search/layout/RightColumnFacets
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
  ],
11
11
  "license": "MIT",
12
- "version": "16.0.0-alpha.34",
12
+ "version": "16.0.0-alpha.35",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "git@github.com:plone/volto.git"
@@ -62,7 +62,7 @@
62
62
  "files": [
63
63
  {
64
64
  "path": "build/public/static/js/*.js",
65
- "maxSize": "680kB"
65
+ "maxSize": "700kB"
66
66
  }
67
67
  ]
68
68
  },
@@ -357,7 +357,7 @@
357
357
  "react-sortable-hoc": "2.0.0",
358
358
  "react-test-renderer": "17.0.2",
359
359
  "react-toastify": "5.4.1",
360
- "react-window": "1.8.6",
360
+ "react-virtualized": "9.22.3",
361
361
  "redraft": "0.10.2",
362
362
  "redux": "4.1.0",
363
363
  "redux-actions": "2.6.5",
@@ -152,13 +152,8 @@ export const DefaultTextBlockEditor = (props) => {
152
152
  if (defaultSelection) {
153
153
  const selection = parseDefaultSelection(editor, defaultSelection);
154
154
  if (selection) {
155
- setTimeout(() => {
156
- Transforms.select(editor, selection);
157
- saveSlateBlockSelection(block, null);
158
- }, 120);
159
- // TODO: use React sync render API
160
- // without setTimeout, the join is not correct. Slate uses internally
161
- // a 100ms throttle, so setting to a bigger value seems to help
155
+ Transforms.select(editor, selection);
156
+ saveSlateBlockSelection(block, null);
162
157
  }
163
158
  }
164
159
  },
@@ -6,9 +6,10 @@ import { useIntl, defineMessages } from 'react-intl';
6
6
  import { Icon } from '@plone/volto/components';
7
7
  import AnimateHeight from 'react-animate-height';
8
8
  import config from '@plone/volto/registry';
9
-
10
9
  import upSVG from '@plone/volto/icons/up-key.svg';
11
10
  import downSVG from '@plone/volto/icons/down-key.svg';
11
+ import BlockChooserSearch from './BlockChooserSearch';
12
+ import { FormattedMessage } from 'react-intl';
12
13
 
13
14
  const messages = defineMessages({
14
15
  fold: {
@@ -77,73 +78,126 @@ const BlockChooser = ({
77
78
 
78
79
  setActiveIndex(newIndex);
79
80
  }
81
+ const [filterValue, setFilterValue] = React.useState('');
82
+
83
+ const getFormatMessage = (message) =>
84
+ intl.formatMessage({
85
+ id: message,
86
+ defaultMessage: message,
87
+ });
88
+
89
+ function blocksAvailableFilter(blocks) {
90
+ return blocks.filter(
91
+ (block) =>
92
+ getFormatMessage(block.title).toLowerCase().includes(filterValue) ||
93
+ filterVariations(block)?.length,
94
+ );
95
+ }
96
+ function filterVariations(block) {
97
+ return block.variations?.filter(
98
+ (variation) =>
99
+ getFormatMessage(variation.title).toLowerCase().includes(filterValue) &&
100
+ !variation.title.toLowerCase().includes('default'),
101
+ );
102
+ }
103
+
104
+ const ButtonGroup = ({ block }) => {
105
+ const variations = filterVariations(block);
106
+ return (
107
+ <Button.Group key={block.id}>
108
+ <Button
109
+ icon
110
+ basic
111
+ className={block.id}
112
+ onClick={(e) => {
113
+ onInsertBlock
114
+ ? onInsertBlock(currentBlock, {
115
+ '@type': block.id,
116
+ })
117
+ : onMutateBlock(currentBlock, {
118
+ '@type': block.id,
119
+ });
120
+ e.stopPropagation();
121
+ }}
122
+ >
123
+ <Icon name={block.icon} size="36px" />
124
+ {getFormatMessage(block.title)}
125
+ {filterValue && variations?.[0]?.title && (
126
+ <small>{getFormatMessage(variations[0].title)}</small>
127
+ )}
128
+ </Button>
129
+ </Button.Group>
130
+ );
131
+ };
80
132
 
81
133
  return (
82
134
  <div className="blocks-chooser" ref={blockChooserRef}>
83
- <Accordion fluid styled className="form">
84
- {map(groupBlocksOrder, (groupName, index) => (
85
- <React.Fragment key={groupName.id}>
86
- <Accordion.Title
87
- aria-label={
88
- activeIndex === index
89
- ? `${intl.formatMessage(messages.fold)} ${
90
- groupName.title
91
- } blocks`
92
- : `${intl.formatMessage(messages.unfold)} ${
93
- groupName.title
94
- } blocks`
95
- }
96
- active={activeIndex === index}
97
- index={index}
98
- onClick={handleClick}
99
- >
100
- {intl.formatMessage({
101
- id: groupName.id,
102
- defaultMessage: groupName.title,
103
- })}
104
- <div className="accordion-tools">
105
- {activeIndex === 0 ? (
106
- <Icon name={upSVG} size="20px" />
107
- ) : (
108
- <Icon name={downSVG} size="20px" />
109
- )}
110
- </div>
111
- </Accordion.Title>
112
- <Accordion.Content
113
- className={groupName.id}
114
- active={activeIndex === index}
115
- >
116
- <AnimateHeight
117
- animateOpacity
118
- duration={500}
119
- height={activeIndex === index ? 'auto' : 0}
135
+ <BlockChooserSearch
136
+ onChange={(value) => setFilterValue(value)}
137
+ searchValue={filterValue}
138
+ />
139
+ {filterValue ? (
140
+ <>
141
+ {map(blocksAvailableFilter(filteredBlocksConfig), (block) => (
142
+ <ButtonGroup block={block} key={block.id} />
143
+ ))}
144
+ {blocksAvailableFilter(filteredBlocksConfig).length === 0 && (
145
+ <h4 style={{ textAlign: 'center', lineHeight: '40px' }}>
146
+ <FormattedMessage
147
+ id="No results found"
148
+ defaultMessage="No results found"
149
+ />
150
+ </h4>
151
+ )}
152
+ </>
153
+ ) : (
154
+ <Accordion fluid styled className="form">
155
+ {map(groupBlocksOrder, (groupName, index) => (
156
+ <React.Fragment key={groupName.id}>
157
+ <Accordion.Title
158
+ aria-label={
159
+ activeIndex === index
160
+ ? `${intl.formatMessage(messages.fold)} ${
161
+ groupName.title
162
+ } blocks`
163
+ : `${intl.formatMessage(messages.unfold)} ${
164
+ groupName.title
165
+ } blocks`
166
+ }
167
+ active={activeIndex === index}
168
+ index={index}
169
+ onClick={handleClick}
170
+ >
171
+ {intl.formatMessage({
172
+ id: groupName.id,
173
+ defaultMessage: groupName.title,
174
+ })}
175
+ <div className="accordion-tools">
176
+ {activeIndex === 0 ? (
177
+ <Icon name={upSVG} size="20px" />
178
+ ) : (
179
+ <Icon name={downSVG} size="20px" />
180
+ )}
181
+ </div>
182
+ </Accordion.Title>
183
+ <Accordion.Content
184
+ className={groupName.id}
185
+ active={activeIndex === index}
120
186
  >
121
- {map(blocksAvailable[groupName.id], (block) => (
122
- <Button.Group key={block.id}>
123
- <Button
124
- icon
125
- basic
126
- className={block.id}
127
- onClick={(e) => {
128
- onInsertBlock
129
- ? onInsertBlock(currentBlock, { '@type': block.id })
130
- : onMutateBlock(currentBlock, { '@type': block.id });
131
- e.stopPropagation();
132
- }}
133
- >
134
- <Icon name={block.icon} size="36px" />
135
- {intl.formatMessage({
136
- id: block.title,
137
- defaultMessage: block.title,
138
- })}
139
- </Button>
140
- </Button.Group>
141
- ))}
142
- </AnimateHeight>
143
- </Accordion.Content>
144
- </React.Fragment>
145
- ))}
146
- </Accordion>
187
+ <AnimateHeight
188
+ animateOpacity
189
+ duration={500}
190
+ height={activeIndex === index ? 'auto' : 0}
191
+ >
192
+ {map(blocksAvailable[groupName.id], (block) => (
193
+ <ButtonGroup block={block} key={block.id} />
194
+ ))}
195
+ </AnimateHeight>
196
+ </Accordion.Content>
197
+ </React.Fragment>
198
+ ))}
199
+ </Accordion>
200
+ )}
147
201
  </div>
148
202
  );
149
203
  };
@@ -0,0 +1,54 @@
1
+ import React, { useRef } from 'react';
2
+ import { Button, Form, Input } from 'semantic-ui-react';
3
+ import { Icon } from '@plone/volto/components';
4
+ import { defineMessages, useIntl } from 'react-intl';
5
+ import clearSVG from '@plone/volto/icons/clear.svg';
6
+
7
+ const messages = defineMessages({
8
+ search: {
9
+ id: 'Search',
10
+ defaultMessage: 'Search',
11
+ },
12
+ });
13
+
14
+ const BlockChooserSearch = ({ onChange, searchValue }) => {
15
+ const intl = useIntl();
16
+ const searchInput = useRef(null);
17
+
18
+ return (
19
+ <Form style={{ padding: '0.5em' }}>
20
+ <Form.Field
21
+ className="searchbox"
22
+ style={{ borderLeft: 0, height: '2em', padding: 0 }}
23
+ >
24
+ {/* eslint-disable jsx-a11y/no-autofocus */}
25
+ <Input
26
+ aria-label={intl.formatMessage(messages.search)}
27
+ onChange={(event) => onChange(event.target.value)}
28
+ name="SearchableText"
29
+ value={searchValue}
30
+ transparent
31
+ autoComplete="off"
32
+ placeholder={intl.formatMessage(messages.search)}
33
+ title={intl.formatMessage(messages.search)}
34
+ autoFocus
35
+ ref={searchInput}
36
+ />
37
+ {searchValue && (
38
+ <Button
39
+ className="clear-search-button"
40
+ aria-label={intl.formatMessage(messages.search)}
41
+ onClick={() => {
42
+ onChange('');
43
+ searchInput.current.focus();
44
+ }}
45
+ >
46
+ <Icon name={clearSVG} size="18px" />
47
+ </Button>
48
+ )}
49
+ </Form.Field>
50
+ </Form>
51
+ );
52
+ };
53
+
54
+ export default BlockChooserSearch;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import '@testing-library/jest-dom/extend-expect';
3
+ import { render } from '@testing-library/react';
4
+ import BlockChooserSearch from './BlockChooserSearch';
5
+ import { Provider } from 'react-intl-redux';
6
+ import configureStore from 'redux-mock-store';
7
+
8
+ const mockStore = configureStore();
9
+
10
+ const store = mockStore({
11
+ intl: {
12
+ locale: 'en',
13
+ messages: {},
14
+ },
15
+ });
16
+
17
+ describe('BlocksChooserSearch', () => {
18
+ it('renders a BlockChooserSearch component', () => {
19
+ const { container } = render(
20
+ <Provider store={store}>
21
+ <BlockChooserSearch />
22
+ </Provider>,
23
+ );
24
+ expect(container).toMatchSnapshot();
25
+ });
26
+ });
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';
3
+
4
+ class DynamicHeightList extends React.PureComponent {
5
+ // As per `react-virtualized` docs, one should use a PureComponent
6
+ // to avoid performance issues
7
+ // We could have used a React.memo + functional component instead,
8
+ // but relied on the class-based implementation for simplicity
9
+ constructor(props) {
10
+ super(props);
11
+
12
+ this._cache = new props.reactVirtualized.CellMeasurerCache({
13
+ fixedWidth: true,
14
+ minHeight: 50,
15
+ });
16
+
17
+ this._rowRenderer = this._rowRenderer.bind(this);
18
+ }
19
+
20
+ _rowRenderer({ index, key, parent, style }) {
21
+ const CellMeasurer = this.props.reactVirtualized.CellMeasurer;
22
+ return (
23
+ <CellMeasurer
24
+ cache={this._cache}
25
+ columnIndex={0}
26
+ key={key}
27
+ rowIndex={index}
28
+ parent={parent}
29
+ >
30
+ {({ measure }) => <div style={style}>{this.props.children[index]}</div>}
31
+ </CellMeasurer>
32
+ );
33
+ }
34
+
35
+ render() {
36
+ const List = this.props.reactVirtualized.List;
37
+
38
+ return (
39
+ <List
40
+ {...this.props}
41
+ ref={(element) => {
42
+ this._list = element;
43
+ }}
44
+ deferredMeasurementCache={this._cache}
45
+ overscanRowCount={0}
46
+ rowCount={this.props.children.length}
47
+ rowHeight={this._cache.rowHeight}
48
+ rowRenderer={this._rowRenderer}
49
+ width={200}
50
+ height={500}
51
+ />
52
+ );
53
+ }
54
+ }
55
+
56
+ export default injectLazyLibs('reactVirtualized')(DynamicHeightList);
@@ -1,31 +1,17 @@
1
1
  import React from 'react';
2
2
  import { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';
3
3
  import { Icon } from '@plone/volto/components';
4
+ import DynamicHeightList from '@plone/volto/components/manage/ReactVirtualized/DynamicRowHeightList';
4
5
 
5
6
  import downSVG from '@plone/volto/icons/down-key.svg';
6
7
  import upSVG from '@plone/volto/icons/up-key.svg';
7
8
  import checkSVG from '@plone/volto/icons/check.svg';
9
+ import checkBlankSVG from '@plone/volto/icons/check-blank.svg';
8
10
  import clearSVG from '@plone/volto/icons/clear.svg';
9
11
 
10
- const height = 50; // The height of each option
11
-
12
- export const MenuList = injectLazyLibs('reactWindow')((props) => {
13
- const { FixedSizeList: List } = props.reactWindow;
14
- const { options, children, maxHeight, getValue } = props;
15
- const [value] = getValue();
16
- const initialOffset = options.indexOf(value) * height;
17
-
18
- return (
19
- <List
20
- height={maxHeight}
21
- itemCount={children.length}
22
- itemSize={height}
23
- initialScrollOffset={initialOffset}
24
- >
25
- {({ index, style }) => <div style={style}>{children[index]}</div>}
26
- </List>
27
- );
28
- });
12
+ export const MenuList = ({ children }) => {
13
+ return <DynamicHeightList>{children}</DynamicHeightList>;
14
+ };
29
15
 
30
16
  export const SortableMultiValue = injectLazyLibs([
31
17
  'reactSelect',
@@ -58,13 +44,14 @@ export const SortableMultiValueLabel = injectLazyLibs([
58
44
 
59
45
  export const Option = injectLazyLibs('reactSelect')((props) => {
60
46
  const { Option } = props.reactSelect.components;
47
+ const color = props.isFocused && !props.isSelected ? '#b8c6c8' : '#007bc1';
48
+ const svgIcon =
49
+ props.isFocused || props.isSelected ? checkSVG : checkBlankSVG;
50
+
61
51
  return (
62
52
  <Option {...props}>
63
53
  <div>{props.label}</div>
64
- {props.isFocused && !props.isSelected && (
65
- <Icon name={checkSVG} size="24px" color="#b8c6c8" />
66
- )}
67
- {props.isSelected && <Icon name={checkSVG} size="24px" color="#007bc1" />}
54
+ <Icon name={svgIcon} size="20px" color={color} />
68
55
  </Option>
69
56
  );
70
57
  });
@@ -321,7 +321,7 @@ const blocksConfig = {
321
321
  variations: ToCVariations,
322
322
  restricted: false,
323
323
  mostUsed: false,
324
- sidebarTab: 0,
324
+ sidebarTab: 1,
325
325
  security: {
326
326
  addPermission: [],
327
327
  view: [],
@@ -6,7 +6,9 @@ export const loadables = {
6
6
  prismCore: loadable.lib(() => import('prismjs/components/prism-core')),
7
7
  toastify: loadable.lib(() => import('react-toastify')),
8
8
  reactSelect: loadable.lib(() => import('react-select'), { ssr: false }),
9
- reactWindow: loadable.lib(() => import('react-window'), { ssr: false }),
9
+ reactVirtualized: loadable.lib(() => import('react-virtualized'), {
10
+ ssr: false,
11
+ }),
10
12
  reactSortableHOC: loadable.lib(() => import('react-sortable-hoc'), {
11
13
  ssr: false,
12
14
  }),
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36">
2
+ <g fill-rule="evenodd" fill-opacity="0">
3
+ <polygon points="29 8 13.561 23.439 7.121 17 5 19.12 13.561 27.681 31.12 10.12"/>
4
+ <polygon points="29 8 13.561 23.439 7.121 17 5 19.12 13.561 27.681 31.12 10.12"/>
5
+ </g>
6
+ </svg>
@@ -508,6 +508,14 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
508
508
  }
509
509
  }
510
510
 
511
+ .block .clear-search-button {
512
+ &:hover,
513
+ &:focus {
514
+ -webkit-box-shadow: none;
515
+ box-shadow: none;
516
+ color: #e40166 !important;
517
+ }
518
+ }
511
519
  // .ui.basic.button.block-delete-button {
512
520
  // top: 22px;
513
521
  // right: 0;
@@ -719,7 +727,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
719
727
  hyphens: auto;
720
728
  text-align: center;
721
729
 
722
- &:hover {
730
+ &:hover,
731
+ &:focus {
723
732
  background: #edf2f3 !important;
724
733
  }
725
734
 
@@ -730,6 +739,11 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
730
739
  &.table {
731
740
  border: none;
732
741
  }
742
+
743
+ small {
744
+ padding-top: 5px;
745
+ color: @teal;
746
+ }
733
747
  }
734
748
 
735
749
  .ui.accordion {
@@ -148,3 +148,8 @@ body.babel-view .field.language-independent-field {
148
148
  opacity: 0.3 !important;
149
149
  }
150
150
  }
151
+
152
+ // makes sure that long words (eg. German) get properly broken in selects.
153
+ .react-select__option {
154
+ .word-break();
155
+ }