Skip to content
Version:

Default Texts

Default Texts sind die generischen Produkttexte des Design Systems – Buttonbeschriftungen, Meldungen an Eingabefeldern, Toast- und Dialogtexte –, die als Design Tokens ausgeliefert werden.

Overview

Warum Standardtexte

Default Texts bilden eine zentrale, einheitliche Quelle für generische Produkttexte. Der Anlass: In der Vergangenheit sind Call-to-Actions und Begriffe zwischen den Produkten auseinandergelaufen, und ohne konkrete Vorgabe aus dem Design war unklar, welche Formulierung gilt. Daraus folgt die verbindliche Regel: Existiert für einen Fall ein Standardtext, wird dieser verwendet und nicht neu formuliert. Die ausführliche Begründung sowie die Schreibregeln, die für eigene Texte gelten, stehen unter UX Writing.

Aufbau

Der Katalog umfasst 73 Standardtexte in 8 Gruppen. Jeder Text hat einen Namen aus Großbuchstaben und Unterstrichen. Das erste Segment nennt die Gruppe, die folgenden Segmente den Anwendungsfall – etwa BUTTON_SAVE, TOAST_SUCCESS_SAVE und INPUT_DATE_FUTURE.

GruppeAnzahlWofür
Button23Beschriftungen von Aktionen wie Speichern, Abbrechen oder Löschen
Input21Validierungs- und Fehlermeldungen an Eingabefeldern
Toast14Erfolgs-, Fehler- und Hinweismeldungen nach einer Aktion
Dialog8Titel und Text von Bestätigungs- und Warndialogen
Callout2Hinweise auf Probleme in übertragenen Daten
Toolbar2Zustandsmeldungen einer Funktionsleiste, etwa laufende Suche oder geänderte Filterkriterien
Grid2Leerzustände einer Tabelle
Loading1Wartetext eines Ladeindikators

Die Texte stammen aus derselben Quelle wie die Tokens für Farben und Größen und werden von dort generiert. Ausgeliefert werden sie im Paket @mate/default-text. Siehe dazu Design Tokens.

Guidelines

Platzhalter

Ein Teil der Standardtexte enthält Platzhalter, die erst beim Erzeugen des Textes gefüllt werden. Im Token-Quelltext stehen sie als $0 und $1; im ausgegebenen Text erscheint dort der übergebene Wert. Die Werte werden in der Reihenfolge eingesetzt, in der die Platzhalter im Text stehen.

20 der 73 Texte tragen Platzhalter: 17 davon einen, drei davon zwei. Mehr als zwei Platzhalter kommen nicht vor. Jede Konstante kennt ihre erwartete Anzahl an Variablen; die Spalte „Variablen" im Katalog gibt diese Anzahl wieder. Weicht die Anzahl der übergebenen Werte davon ab, entsteht kein Text, sondern ein Fehler.

Info für Dev

Die erwartete Anzahl steht als Eigenschaft variablesCount auf jeder Konstante. Weicht die Anzahl der an create übergebenen Werte davon ab, wirft create einen Fehler und liefert keinen Text.

Die Prüfung greift nur bei Texten mit mindestens einer Variable. Bei Texten ohne Variable werden zusätzlich übergebene Werte ohne Fehler ignoriert.

Singular und Plural sind eigene Konstanten. Eine automatische Pluralbildung gibt es nicht. Wo eine Menge im Text vorkommt, tragen die beiden Fassungen die Endungen SINGULAR und PLURAL; die Singular-Fassung ist ohne Platzhalter formuliert, die Plural-Fassung nennt die Menge als Variable.

KonstanteTextVariablen
TOAST_SUCCESS_DELETE_SINGULARDer Datensatz wurde gelöscht.-
TOAST_SUCCESS_DELETE_PLURALEs wurden $0 Datensätze gelöscht.1

Die Auswahl zwischen beiden Konstanten trifft die Anwendung anhand der Anzahl der betroffenen Datensätze. Solche Paare gibt es bei TOAST_SUCCESS_COPY, TOAST_SUCCESS_DELETE und CALLOUT_ERROR_TRANSFER.

Katalog

Der Katalog führt alle 73 Standardtexte, gruppiert nach dem Ort ihrer Verwendung. Die Spalte „Konstante" nennt den Namen, die Spalte „Text" den Wortlaut, die Spalte „Variablen" die Anzahl der Platzhalter; ein \- steht für einen Text ohne Platzhalter.

Button

Die Gruppe Button liefert die Beschriftungen für Aktionen. Sie setzt die Vorgaben aus UX Writing, Abschnitt Wordings für Aktionen, um. Kein Button-Text trägt einen Platzhalter.

KonstanteTextVariablen
BUTTON_SAVESpeichern-
BUTTON_SAVE_ASSpeichern unter-
BUTTON_SEARCHSuchen-
BUTTON_DELETELöschen-
BUTTON_CANCELAbbrechen-
BUTTON_FORWARDWeiter-
BUTTON_BACKWARDZurück-
BUTTON_COMPLETEAbschließen-
BUTTON_EDITBearbeiten-
BUTTON_REMOVEEntfernen-
BUTTON_ADDHinzufügen-
BUTTON_ACCEPTÜbernehmen-
BUTTON_CALCULATEBerechnen-
BUTTON_RESETZurücksetzen-
BUTTON_ALLOCATEZuweisen-
BUTTON_CREATEErstellen-
BUTTON_REVERTRückgängig machen-
BUTTON_CONTINUE_EDITINGWeiter bearbeiten-
BUTTON_DISCARDEingaben verwerfen-
BUTTON_REVOKEStornieren-
BUTTON_ARRANGEFestsetzen-
BUTTON_SPLIT_RANGEZeitraum teilen-
BUTTON_ASSIGNZuordnen-

Input

Die Gruppe Input liefert die Meldungen zur Feldvalidierung. Jeder Text benennt die verletzte Regel; wo die Regel sich auf einen Grenzwert oder ein anderes Feld bezieht, steht dieser Bezug als Platzhalter.

KonstanteTextVariablen
INPUT_REQUIREDDies ist ein Pflichtfeld.-
INPUT_INVALIDWert ist ungültig.-
INPUT_MATCHWert muss mit $0 übereinstimmen.1
INPUT_ALPHANUMERICWert darf nur Buchstaben a-z (Groß- und Kleinschreibung) und Ziffern 0-9 beinhalten.-
INPUT_DATE_FUTUREDatum muss in der Zukunft liegen.-
INPUT_DATE_PRESENT_FUTUREDatum muss in der Gegenwart oder Zukunft liegen.-
INPUT_DATE_PASTDatum muss in der Vergangenheit liegen.-
INPUT_DATE_PRESENT_PASTDatum muss in der Vergangenheit oder Gegenwart liegen.-
INPUT_DATE_COMPARISON_LESS_OR_EQUALDatum muss vor oder gleich dem $0-Datum sein.1
INPUT_DATE_COMPARISON_LESSDatum muss vor dem $0-Datum sein.1
INPUT_DATE_COMPARISON_GREATERDatum muss nach dem $0-Datum sein.1
INPUT_DATE_COMPARISON_GREATER_OR_EQUALDatum muss gleich oder nach dem $0-Datum sein.1
INPUT_DATE_COMPARISON_BETWEENDatum muss zwischen $0 und $1 liegen.2
INPUT_CHARACTER_COUNT_MIN_MAXMindestens $0 und maximal $1 Zeichen.2
INPUT_CHARACTER_COUNT_MAXWert darf max. $0 Zeichen betragen.1
INPUT_CHARACTER_COUNT_EQUALWert muss $0 Zeichen betragen.1
INPUT_NUMERIC_COMPARISON_LESS_OR_EQUALWert muss kleiner oder gleich $0 sein.1
INPUT_NUMERIC_COMPARISON_GREATER_OR_EQUALWert muss größer oder gleich $0 sein.1
INPUT_NUMERIC_COMPARISON_LESSWert muss kleiner $0 sein.1
INPUT_NUMERIC_COMPARISON_GREATERWert muss größer $0 sein.1
INPUT_NUMERIC_COMPARISON_BETWEENWert muss zwischen $0 und $1 liegen.2

Toast

Die Gruppe Toast liefert die Rückmeldungen zu abgeschlossenen Vorgängen. Success, Error und Warning sind eigene Konstanten; für Mengen gibt es je eine Fassung im Singular und im Plural.

KonstanteTextVariablen
TOAST_SUCCESS_CREATEDer Datensatz wurde angelegt.-
TOAST_SUCCESS_COPY_SINGULARDer Datensatz wurde kopiert.-
TOAST_SUCCESS_COPY_PLURALEs wurden $0 Datensätze kopiert.1
TOAST_SUCCESS_SAVEDer Datensatz wurde gespeichert.-
TOAST_SUCCESS_DELETE_SINGULARDer Datensatz wurde gelöscht.-
TOAST_SUCCESS_DELETE_PLURALEs wurden $0 Datensätze gelöscht.1
TOAST_ERROR_CREATEDer Datensatz konnte aufgrund eines Fehlers nicht angelegt werden.-
TOAST_ERROR_COPYKopiervorgang nicht erfolgreich.-
TOAST_ERROR_SAVEDer Datensatz konnte aufgrund eines Fehlers nicht gespeichert werden.-
TOAST_ERROR_DELETELöschvorgang nicht erfolgreich.-
TOAST_WARNING_DUPLICATESEs wurden $0 Duplikate gefunden.1
TOAST_MORE_RECENTEin aktueller Stand der angezeigten Daten ist verfügbar.-
TOAST_UPDATEDDie angezeigten Daten wurden aktualisiert.-
TOAST_CALCULATINGDie Berechnung wird ausgeführt.-

Dialog

Die Gruppe Dialog liefert Titel und Text für Bestätigungsdialoge. Titel und Text gehören paarweise zusammen und unterscheiden sich nur in der Endung TITLE beziehungsweise TEXT.

KonstanteTextVariablen
DIALOG_TRANSACTION_CHANGE_TITLEStapelverarbeitung bestätigen-
DIALOG_TRANSACTION_CHANGE_TEXTSollen $0 Objekte geändert werden?1
DIALOG_TRANSACTION_REVERT_TITLEEingaben verwerfen-
DIALOG_TRANSACTION_REVERT_TEXTSollen alle bisherigen Eingaben verworfen werden?-
DIALOG_CONFIRM_SESSION_TITLESession abgelaufen-
DIALOG_CONFIRM_SESSION_TEXTDie Session ist leider abgelaufen. Bitte erneut anmelden.-
DIALOG_DANGER_DELETE_TITLEDatensatz löschen-
DIALOG_DANGER_DELETE_TEXTSoll der Datensatz $0 gelöscht werden?1

Callout

Die Gruppe Callout liefert den Hinweis auf Probleme in übertragenen Daten, je einmal im Singular und im Plural.

KonstanteTextVariablen
CALLOUT_ERROR_TRANSFER_SINGULAREs wurde ein Problem bei den übertragenen Daten gefunden.-
CALLOUT_ERROR_TRANSFER_PLURALEs wurden $0 Probleme bei den übertragenen Daten gefunden.1

Toolbar

Die Gruppe Toolbar liefert die Zustandsanzeigen der Funktionsleiste über einer Tabelle.

KonstanteTextVariablen
TOOLBAR_LOADINGSuche läuft...-
TOOLBAR_FILTER_CHANGEDFilterkriterien wurden geändert.-

Grid

Die Gruppe Grid liefert die Texte für den State Empty einer Tabelle. Sie unterscheidet, ob überhaupt keine Datensätze vorhanden sind oder ob eine Suche ohne Treffer geblieben ist.

KonstanteTextVariablen
GRID_EMPTYEs sind keine Datensätze vorhanden.-
GRID_EMPTY_FILTEREDEs sind keine Datensätze gefunden worden.-

Loading

Die Gruppe Loading liefert den Text zum Ladeindikator.

KonstanteTextVariablen
LOADING_INDICATOR_WAITBitte warten...-

Barrierefreiheit

Standardtexte sind für viele Nutzende die einzige Rückmeldung eines Systems. Ein Toast, der eine Aktion bestätigt, und eine Fehlermeldung an einem Eingabefeld müssen deshalb auch dann ankommen, wenn eine Person die Oberfläche nicht sehen kann. Wie ein Text technisch angekündigt wird, hängt von der Komponente ab und ist unter Notification und beim jeweiligen Eingabefeld beschrieben.

Für die Texte selbst gilt: Sie benennen die Ursache und nicht nur den Zustand, damit die Meldung ohne den visuellen Kontext verständlich bleibt. Farbe oder Symbol allein dürfen die Aussage nie tragen. Die sprachlichen Grundlagen dazu stehen unter UX Writing, die allgemeinen Anforderungen unter Accessibility.

Develop

Die Standardtexte liefert das Paket @mate/default-text. Es stellt die Klasse DefaultText bereit. Jeder Text ist eine statische Konstante dieser Klasse, zum Beispiel BUTTON_SAVE, TOAST_SUCCESS_SAVE oder GRID_EMPTY. Der Konstruktor ist privat, eigene Standardtexte lassen sich also nicht anlegen.

Den fertigen Text liefert die Methode create der jeweiligen Konstante. Texte ohne Platzhalter werden ohne Argument aufgerufen, Texte mit Platzhaltern erwarten je Platzhalter ein Argument. Wie viele Argumente ein Text erwartet, steht in der Eigenschaft variablesCount. Die Methode getAllDefaultTexts gibt alle Standardtexte als Liste zurück. Weitere öffentliche Methoden bietet die Klasse nicht.

Info für Dev

Ein Text wird immer über die Konstante und deren Methode create abgerufen, etwa DefaultText.BUTTON_SAVE.create() für einen Text ohne Platzhalter.

Platzhalter werden als Argumente übergeben, etwa DefaultText.TOAST_SUCCESS_DELETE_PLURAL.create('12') für einen Platzhalter oder DefaultText.INPUT_NUMERIC_COMPARISON_BETWEEN.create('50', '100') für zwei. Die Argumente sind Zeichenketten und ersetzen die Platzhalter in ihrer Reihenfolge.

Die Texte werden nicht in diesem Repository gepflegt. Die Datei mit den Konstanten ist generiert und in der Versionskontrolle ausgenommen; erzeugt wird sie aus dem Token-Projekt, in dem auch die Farb- und Größen-Tokens liegen. Daraus folgt: Die Änderung eines Standardtextes gehört in das Token-Projekt, nicht in dieses Repository. Eine Änderung an der generierten Datei geht beim nächsten Generierungslauf verloren. Wo die Tokens gepflegt werden, steht unter Design Tokens.

Offener Punkt: Standardtexte in Vaadin Flow

Im Repository liegt ausschließlich die TypeScript-Fassung im Paket @mate/default-text. Sie ist die Referenz für den Wortlaut der Standardtexte. Ein Java-Pendant ist hier nicht vorhanden.

Ob und wie die Texte in Vaadin Flow bereitstehen, ist an dieser Stelle nicht belegt. Bis zur Klärung gilt der Wortlaut der TypeScript-Fassung.