@10x-media/form-builder 0.1.0-beta.3 → 0.1.0-beta.4
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 +42 -0
- package/README.md +2 -2
- package/dist/actions/body/serializeBody.d.ts +19 -4
- package/dist/actions/body/serializeBody.js +3 -1
- package/dist/actions/body/serializeBody.js.map +1 -1
- package/dist/actions/builtin/confirmation.js +13 -4
- package/dist/actions/builtin/confirmation.js.map +1 -1
- package/dist/actions/builtin/emailTeam.js +13 -4
- package/dist/actions/builtin/emailTeam.js.map +1 -1
- package/dist/actions/builtin/index.d.ts +13 -1
- package/dist/actions/builtin/index.js +18 -7
- package/dist/actions/builtin/index.js.map +1 -1
- package/dist/actions/builtin/signedWebhook.js +2 -16
- package/dist/actions/builtin/signedWebhook.js.map +1 -1
- package/dist/actions/runActions.js +2 -0
- package/dist/actions/runActions.js.map +1 -1
- package/dist/aggregation/resolveResultsRequest.d.ts +22 -6
- package/dist/aggregation/resolveResultsRequest.js +18 -7
- package/dist/aggregation/resolveResultsRequest.js.map +1 -1
- package/dist/client/FlowBuilder.js +98 -53
- package/dist/client/FlowBuilder.js.map +1 -1
- package/dist/client/admin.css +47 -5
- package/dist/client/flowAuthoring.js +35 -0
- package/dist/client/flowAuthoring.js.map +1 -0
- package/dist/client/synthesizeClientField.js +6 -2
- package/dist/client/synthesizeClientField.js.map +1 -1
- package/dist/collections/formSubmissions.js +47 -9
- package/dist/collections/formSubmissions.js.map +1 -1
- package/dist/collections/forms.js +180 -34
- package/dist/collections/forms.js.map +1 -1
- package/dist/conditions/conditionType.js +9 -2
- package/dist/conditions/conditionType.js.map +1 -1
- package/dist/conditions/normalizeConditions.js +2 -1
- package/dist/conditions/normalizeConditions.js.map +1 -1
- package/dist/consent/builtin/index.d.ts +11 -1
- package/dist/consent/builtin/index.js +15 -5
- package/dist/consent/builtin/index.js.map +1 -1
- package/dist/consent/builtin/static.js +7 -3
- package/dist/consent/builtin/static.js.map +1 -1
- package/dist/exports/react.d.ts +10 -6
- package/dist/exports/react.js +6 -2
- package/dist/exports/rsc.d.ts +6 -1
- package/dist/exports/rsc.js +6 -1
- package/dist/exports/types.d.ts +4 -4
- package/dist/fields/buildFieldBlocks.js +17 -8
- package/dist/fields/buildFieldBlocks.js.map +1 -1
- package/dist/fields/builtin/consent.js +8 -4
- package/dist/fields/builtin/consent.js.map +1 -1
- package/dist/fields/builtin/file.js +8 -4
- package/dist/fields/builtin/file.js.map +1 -1
- package/dist/fields/builtin/index.d.ts +11 -1
- package/dist/fields/builtin/index.js +21 -9
- package/dist/fields/builtin/index.js.map +1 -1
- package/dist/fields/builtin/message.js +26 -0
- package/dist/fields/builtin/message.js.map +1 -0
- package/dist/fields/builtin/repeater.js +7 -3
- package/dist/fields/builtin/repeater.js.map +1 -1
- package/dist/fields/builtin/select.js +7 -3
- package/dist/fields/builtin/select.js.map +1 -1
- package/dist/fields/localizedIf.d.ts +13 -0
- package/dist/fields/localizedIf.js +12 -0
- package/dist/fields/localizedIf.js.map +1 -0
- package/dist/fields/sharedConfig.js +64 -51
- package/dist/fields/sharedConfig.js.map +1 -1
- package/dist/fields/types.d.ts +7 -2
- package/dist/flow/normalizeFlow.js +7 -1
- package/dist/flow/normalizeFlow.js.map +1 -1
- package/dist/flow/stepLabel.js +15 -0
- package/dist/flow/stepLabel.js.map +1 -0
- package/dist/form/pollState.d.ts +22 -0
- package/dist/form/pollState.js +17 -0
- package/dist/form/pollState.js.map +1 -0
- package/dist/form/toFormDocument.d.ts +60 -0
- package/dist/form/toFormDocument.js +39 -0
- package/dist/form/toFormDocument.js.map +1 -0
- package/dist/form/types.d.ts +48 -0
- package/dist/index.d.ts +69 -18
- package/dist/index.js +24 -13
- package/dist/index.js.map +1 -1
- package/dist/plugin/registerCollections.js +15 -36
- package/dist/plugin/registerCollections.js.map +1 -1
- package/dist/plugin/uploadsCollection.d.ts +11 -0
- package/dist/plugin/uploadsCollection.js +44 -0
- package/dist/plugin/uploadsCollection.js.map +1 -0
- package/dist/poll/applyPollOptions.js +17 -0
- package/dist/poll/applyPollOptions.js.map +1 -0
- package/dist/poll/buildPollOptionSourceFields.js +53 -0
- package/dist/poll/buildPollOptionSourceFields.js.map +1 -0
- package/dist/poll/definePollOptionSource.d.ts +35 -0
- package/dist/poll/definePollOptionSource.js +6 -0
- package/dist/poll/definePollOptionSource.js.map +1 -0
- package/dist/poll/registry.d.ts +16 -0
- package/dist/poll/registry.js +16 -0
- package/dist/poll/registry.js.map +1 -0
- package/dist/poll/resolvePollOptions.d.ts +28 -0
- package/dist/poll/resolvePollOptions.js +64 -0
- package/dist/poll/resolvePollOptions.js.map +1 -0
- package/dist/poll/resolvePollOutcome.d.ts +21 -0
- package/dist/poll/resolvePollOutcome.js +36 -0
- package/dist/poll/resolvePollOutcome.js.map +1 -0
- package/dist/prefill/valuesFromSearchParams.js +1 -1
- package/dist/prefill/valuesFromSearchParams.js.map +1 -1
- package/dist/presentations/types.d.ts +3 -2
- package/dist/react/Form.d.ts +13 -31
- package/dist/react/Form.js +96 -83
- package/dist/react/Form.js.map +1 -1
- package/dist/react/FormContext.d.ts +35 -1
- package/dist/react/FormContext.js.map +1 -1
- package/dist/react/FormControls.d.ts +55 -0
- package/dist/react/FormControls.js +56 -0
- package/dist/react/FormControls.js.map +1 -0
- package/dist/react/FormResults.d.ts +6 -3
- package/dist/react/FormResults.js +37 -29
- package/dist/react/FormResults.js.map +1 -1
- package/dist/react/FormSteps.d.ts +17 -0
- package/dist/react/FormSteps.js +35 -0
- package/dist/react/FormSteps.js.map +1 -0
- package/dist/react/Poll.d.ts +17 -6
- package/dist/react/Poll.js +66 -18
- package/dist/react/Poll.js.map +1 -1
- package/dist/react/fetchResults.d.ts +1 -1
- package/dist/react/fetchResults.js +1 -1
- package/dist/react/fetchResults.js.map +1 -1
- package/dist/react/renderers/file.js +5 -1
- package/dist/react/renderers/file.js.map +1 -1
- package/dist/react/renderers/index.js +2 -0
- package/dist/react/renderers/index.js.map +1 -1
- package/dist/react/renderers/message.js +35 -0
- package/dist/react/renderers/message.js.map +1 -0
- package/dist/react/state.d.ts +25 -1
- package/dist/react/state.js +14 -1
- package/dist/react/state.js.map +1 -1
- package/dist/react/uploadFile.d.ts +2 -2
- package/dist/react/uploadFile.js +1 -1
- package/dist/react/uploadFile.js.map +1 -1
- package/dist/submissions/runSubmission.js +70 -33
- package/dist/submissions/runSubmission.js.map +1 -1
- package/dist/submissions/validateSubmission.js +41 -7
- package/dist/submissions/validateSubmission.js.map +1 -1
- package/dist/submissions/votedCookie.d.ts +13 -0
- package/dist/submissions/votedCookie.js +27 -0
- package/dist/submissions/votedCookie.js.map +1 -0
- package/dist/translations/de.js +219 -0
- package/dist/translations/de.js.map +1 -0
- package/dist/translations/en.js +45 -6
- package/dist/translations/en.js.map +1 -1
- package/dist/translations/index.d.ts +2 -1
- package/dist/translations/index.js +6 -2
- package/dist/translations/index.js.map +1 -1
- package/dist/translations/keys.d.ts +43 -4
- package/dist/translations/keys.js +44 -5
- package/dist/translations/keys.js.map +1 -1
- package/dist/uploads/types.d.ts +1 -2
- package/dist/validation/validateUrl.js +22 -0
- package/dist/validation/validateUrl.js.map +1 -0
- package/package.json +2 -1
- package/styles/form-builder.css +10 -0
- package/dist/collections/uploads.d.ts +0 -30
- package/dist/collections/uploads.js +0 -55
- package/dist/collections/uploads.js.map +0 -1
- package/dist/presentations/registry.d.ts +0 -15
- package/dist/presentations/registry.js +0 -15
- package/dist/presentations/registry.js.map +0 -1
- package/dist/react/toFormDocument.d.ts +0 -24
- package/dist/react/toFormDocument.js +0 -22
- package/dist/react/toFormDocument.js.map +0 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { keys } from "./keys.js";
|
|
2
|
+
//#region src/translations/de.ts
|
|
3
|
+
/**
|
|
4
|
+
* German values, keyed by the typed constants in `keys.ts` so the two stay in
|
|
5
|
+
* lockstep. The `Record<TranslationKey, string>` annotation makes a missing or
|
|
6
|
+
* unknown key a type error. `translations/index.ts` nests these for Payload.
|
|
7
|
+
*/
|
|
8
|
+
const de = {
|
|
9
|
+
[keys.fieldTitle]: "Titel",
|
|
10
|
+
[keys.fieldTypeText]: "Text",
|
|
11
|
+
[keys.fieldTypeTextarea]: "Textarea",
|
|
12
|
+
[keys.fieldTypeEmail]: "E-Mail",
|
|
13
|
+
[keys.fieldTypeNumber]: "Zahl",
|
|
14
|
+
[keys.fieldTypeSelect]: "Auswahl",
|
|
15
|
+
[keys.fieldTypeCheckbox]: "Checkbox",
|
|
16
|
+
[keys.fieldTypeDate]: "Datum",
|
|
17
|
+
[keys.configOptions]: "Optionen",
|
|
18
|
+
[keys.configOption]: "Option",
|
|
19
|
+
[keys.configOptionLabel]: "Optionsbezeichnung",
|
|
20
|
+
[keys.configOptionValue]: "Optionswert",
|
|
21
|
+
[keys.validationRequired]: "Dieses Feld ist erforderlich",
|
|
22
|
+
[keys.validationEmail]: "Gib eine gültige E-Mail-Adresse ein",
|
|
23
|
+
[keys.validationNumber]: "Gib eine gültige Zahl ein",
|
|
24
|
+
[keys.validationDate]: "Gib ein gültiges Datum ein",
|
|
25
|
+
[keys.validationSelect]: "Wähle eine gültige Option",
|
|
26
|
+
[keys.validationEmailFieldUnknown]: "Wähle ein bestehendes E-Mail-Feld dieses Formulars",
|
|
27
|
+
[keys.formatYes]: "Ja",
|
|
28
|
+
[keys.formatNo]: "Nein",
|
|
29
|
+
[keys.configName]: "Name",
|
|
30
|
+
[keys.configLabel]: "Bezeichnung",
|
|
31
|
+
[keys.configRequired]: "Erforderlich",
|
|
32
|
+
[keys.configWidth]: "Breite",
|
|
33
|
+
[keys.configPlaceholder]: "Platzhalter",
|
|
34
|
+
[keys.configDescription]: "Beschreibung",
|
|
35
|
+
[keys.configVisibleWhen]: "Dieses Feld anzeigen, wenn",
|
|
36
|
+
[keys.configValidateWhen]: "Dieses Feld nur validieren, wenn",
|
|
37
|
+
[keys.submissionAnswers]: "Antworten",
|
|
38
|
+
[keys.submissionNoAnswers]: "Keine Antworten",
|
|
39
|
+
[keys.ruleMinLength]: "Minimale Länge",
|
|
40
|
+
[keys.ruleMaxLength]: "Maximale Länge",
|
|
41
|
+
[keys.ruleMin]: "Minimum",
|
|
42
|
+
[keys.ruleMax]: "Maximum",
|
|
43
|
+
[keys.ruleMinDate]: "Frühestes Datum",
|
|
44
|
+
[keys.ruleMaxDate]: "Spätestes Datum",
|
|
45
|
+
[keys.rulePattern]: "Muster",
|
|
46
|
+
[keys.ruleEmail]: "E-Mail",
|
|
47
|
+
[keys.ruleUrl]: "URL",
|
|
48
|
+
[keys.ruleOneOf]: "Wert aus Liste",
|
|
49
|
+
[keys.ruleMatchesField]: "Stimmt mit Feld überein",
|
|
50
|
+
[keys.ruleNotAlreadySubmitted]: "Noch nicht übermittelt",
|
|
51
|
+
[keys.ruleMinLengthMessage]: "Muss mindestens {min} Zeichen lang sein",
|
|
52
|
+
[keys.ruleMaxLengthMessage]: "Darf höchstens {max} Zeichen lang sein",
|
|
53
|
+
[keys.ruleMinMessage]: "Muss mindestens {min} betragen",
|
|
54
|
+
[keys.ruleMaxMessage]: "Darf höchstens {max} betragen",
|
|
55
|
+
[keys.ruleMinDateMessage]: "Muss am oder nach dem {min} liegen",
|
|
56
|
+
[keys.ruleMaxDateMessage]: "Muss am oder vor dem {max} liegen",
|
|
57
|
+
[keys.rulePatternMessage]: "Ungültiges Format",
|
|
58
|
+
[keys.ruleEmailMessage]: "Gib eine gültige E-Mail-Adresse ein",
|
|
59
|
+
[keys.ruleUrlMessage]: "Gib eine gültige URL ein",
|
|
60
|
+
[keys.ruleOneOfMessage]: "Wähle einen zulässigen Wert",
|
|
61
|
+
[keys.ruleMatchesFieldMessage]: "Stimmt nicht überein",
|
|
62
|
+
[keys.ruleNotAlreadySubmittedMessage]: "Dieser Wert wurde bereits übermittelt",
|
|
63
|
+
[keys.ruleParamMin]: "Minimum",
|
|
64
|
+
[keys.ruleParamMax]: "Maximum",
|
|
65
|
+
[keys.ruleParamMinDate]: "Frühestes Datum (JJJJ-MM-TT)",
|
|
66
|
+
[keys.ruleParamMaxDate]: "Spätestes Datum (JJJJ-MM-TT)",
|
|
67
|
+
[keys.ruleParamPattern]: "Muster",
|
|
68
|
+
[keys.ruleParamFlags]: "Flags",
|
|
69
|
+
[keys.ruleParamValues]: "Zulässige Werte",
|
|
70
|
+
[keys.ruleParamField]: "Feldname",
|
|
71
|
+
[keys.validationsLabel]: "Validierungsregeln",
|
|
72
|
+
[keys.validationMessageLabel]: "Benutzerdefinierte Nachricht",
|
|
73
|
+
[keys.validationSeverityLabel]: "Schweregrad",
|
|
74
|
+
[keys.validationSeverityError]: "Fehler",
|
|
75
|
+
[keys.validationSeverityWarning]: "Warnung",
|
|
76
|
+
[keys.conditionAddCondition]: "Bedingung hinzufügen",
|
|
77
|
+
[keys.conditionAddOr]: "\"Oder\"-Gruppe hinzufügen",
|
|
78
|
+
[keys.conditionAnd]: "Und",
|
|
79
|
+
[keys.conditionOr]: "Oder",
|
|
80
|
+
[keys.conditionRemove]: "Entfernen",
|
|
81
|
+
[keys.conditionNoFields]: "Füge diesem Formular benannte Felder hinzu, um eine Bedingung zu erstellen.",
|
|
82
|
+
[keys.conditionEmpty]: "Keine Bedingungen. Dieses Feld wird immer angezeigt.",
|
|
83
|
+
[keys.conditionSelectField]: "Feld auswählen",
|
|
84
|
+
[keys.conditionTrue]: "Wahr",
|
|
85
|
+
[keys.conditionFalse]: "Falsch",
|
|
86
|
+
[keys.configHidden]: "Ausgeblendet (wird erfasst, aber nicht angezeigt)",
|
|
87
|
+
[keys.tabFields]: "Felder",
|
|
88
|
+
[keys.tabFlow]: "Ablauf",
|
|
89
|
+
[keys.tabActions]: "Aktionen",
|
|
90
|
+
[keys.tabField]: "Feld",
|
|
91
|
+
[keys.tabValidation]: "Validierung",
|
|
92
|
+
[keys.tabAdvanced]: "Erweitert",
|
|
93
|
+
[keys.fieldTypeCalculation]: "Berechnung",
|
|
94
|
+
[keys.configExpression]: "Ausdruck (JSON)",
|
|
95
|
+
[keys.configExpressionDescription]: "Ausdrucksbaum aus Knoten {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Beispiel: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}",
|
|
96
|
+
[keys.configCalcDisplay]: "Berechneten Wert anzeigen",
|
|
97
|
+
[keys.validationCalcExpressionInvalid]: "Gib einen gültigen Berechnungsausdruck ein",
|
|
98
|
+
[keys.presentationPage]: "Seite",
|
|
99
|
+
[keys.presentationModal]: "Modal",
|
|
100
|
+
[keys.presentationDrawer]: "Seitenpanel",
|
|
101
|
+
[keys.presentationInline]: "Inline",
|
|
102
|
+
[keys.actionEmailTeam]: "E-Mail ans Team",
|
|
103
|
+
[keys.actionConfirmation]: "Bestätigungs-E-Mail",
|
|
104
|
+
[keys.actionSignedWebhook]: "Signierter Webhook",
|
|
105
|
+
[keys.actionConfigTo]: "An",
|
|
106
|
+
[keys.actionConfigSubject]: "Betreff",
|
|
107
|
+
[keys.actionConfigBody]: "Nachrichtentext",
|
|
108
|
+
[keys.actionConfigBodyDescription]: "Unterstützt {{ fieldName|fallback }}-Platzhalter, {{*}} für alle Antworten als Zeilen und {{*:table}} für alle Antworten als Tabelle.",
|
|
109
|
+
[keys.actionConfigToField]: "Name des E-Mail-Feldes",
|
|
110
|
+
[keys.actionConfigToFieldDescription]: "Das E-Mail-Feld dieses Formulars, an das die Bestätigung gesendet wird.",
|
|
111
|
+
[keys.actionConfigUrl]: "URL",
|
|
112
|
+
[keys.actionConfigUrlDescription]: "Der Endpunkt, der für jede Übermittlung einen signierten JSON-POST erhält.",
|
|
113
|
+
[keys.actionConfigSecret]: "Geheimer Schlüssel",
|
|
114
|
+
[keys.actionConfigSecretDescription]: "HMAC-Schlüssel für den X-Form-Signature-Header, der mit dem Empfänger geteilt wird.",
|
|
115
|
+
[keys.validationUrlInvalid]: "Gib eine gültige http- oder https-URL ein",
|
|
116
|
+
[keys.configActions]: "Aktionen",
|
|
117
|
+
[keys.consentSourceStatic]: "Statischer Text",
|
|
118
|
+
[keys.consentSourcePageReference]: "Seitenverweis",
|
|
119
|
+
[keys.consentConfigLabel]: "Bezeichnung",
|
|
120
|
+
[keys.consentConfigUrl]: "URL",
|
|
121
|
+
[keys.consentConfigVersion]: "Version",
|
|
122
|
+
[keys.consentConfigRelationTo]: "Sammlung",
|
|
123
|
+
[keys.consentConfigDocId]: "Dokument-ID",
|
|
124
|
+
[keys.consentConfigUrlField]: "URL-Feld",
|
|
125
|
+
[keys.consentConfigCaptureVersion]: "Veröffentlichte Version erfassen",
|
|
126
|
+
[keys.fieldTypeConsent]: "Einwilligung",
|
|
127
|
+
[keys.consentConfigStatement]: "Erklärung",
|
|
128
|
+
[keys.consentConfigSource]: "Quelle",
|
|
129
|
+
[keys.consentConfigSourceConfig]: "Quelleinstellungen",
|
|
130
|
+
[keys.consentConfigOptional]: "Optional (z. B. Marketing)",
|
|
131
|
+
[keys.resultsResponses]: "Antworten",
|
|
132
|
+
[keys.resultsNoResponses]: "Noch keine Antworten",
|
|
133
|
+
[keys.resultsTruncated]: "Zeigt eine Stichprobe der Antworten",
|
|
134
|
+
[keys.pollGroup]: "Umfrage",
|
|
135
|
+
[keys.pollEnabled]: "Umfrageergebnisse aktivieren",
|
|
136
|
+
[keys.pollResultsField]: "Ergebnisfeld (technischer Name)",
|
|
137
|
+
[keys.pollResultsFieldDescription]: "Feld, dessen aggregierte Ergebnisse öffentlich sind. Verwende ein Auswahlfeld, niemals ein Freitext- oder personenbezogenes Feld.",
|
|
138
|
+
[keys.pollResultsVisibility]: "Sichtbarkeit der Ergebnisse",
|
|
139
|
+
[keys.pollVisibilityAfterVote]: "Nach der Abstimmung",
|
|
140
|
+
[keys.pollVisibilityAfterClose]: "Nach Ende der Umfrage",
|
|
141
|
+
[keys.pollClosesAt]: "Endet am",
|
|
142
|
+
[keys.pollClosed]: "Diese Umfrage ist beendet.",
|
|
143
|
+
[keys.pollResultsAfterClose]: "Die Ergebnisse werden nach Ende der Umfrage angezeigt.",
|
|
144
|
+
[keys.pollOptionSource]: "Optionsquelle",
|
|
145
|
+
[keys.pollOptionSourceDescription]: "Befüllt die Auswahlmöglichkeiten des Ergebnisfeldes mit App-Daten anstelle manuell erstellter Optionen.",
|
|
146
|
+
[keys.pollSourceConfig]: "Quelleinstellungen",
|
|
147
|
+
[keys.pollOutcome]: "Ergebnis",
|
|
148
|
+
[keys.pollWinningValue]: "Siegerwert",
|
|
149
|
+
[keys.pollResolvedAt]: "Entschieden am",
|
|
150
|
+
[keys.pollOptionsUnavailable]: "Umfrageoptionen sind derzeit nicht verfügbar. Bitte versuche es später erneut.",
|
|
151
|
+
[keys.pollFinalResult]: "Endergebnis",
|
|
152
|
+
[keys.resultsWinner]: "Gewinner",
|
|
153
|
+
[keys.validationFileMissing]: "Datei hochladen",
|
|
154
|
+
[keys.validationFileMimeType]: "Dateityp nicht erlaubt",
|
|
155
|
+
[keys.validationFileTooLarge]: "Datei ist zu groß",
|
|
156
|
+
[keys.fieldTypeFile]: "Datei-Upload",
|
|
157
|
+
[keys.fileConfigMimeTypes]: "Erlaubte Dateitypen",
|
|
158
|
+
[keys.fileConfigMaxSize]: "Maximale Größe (Bytes)",
|
|
159
|
+
[keys.fileConfigMaxSizeDescription]: "Dateien, die größer sind, werden abgelehnt.",
|
|
160
|
+
[keys.fileTooLarge]: "Datei ist zu groß (max. {max})",
|
|
161
|
+
[keys.fileUploadMisconfigured]: "Datei-Uploads sind für dieses Formular nicht konfiguriert",
|
|
162
|
+
[keys.fileHintAccepted]: "Akzeptiert: {types}",
|
|
163
|
+
[keys.fileHintMaxSize]: "Max. Größe: {max}",
|
|
164
|
+
[keys.spamRateLimited]: "Du hast zu viele Anfragen gesendet. Bitte versuche es später erneut.",
|
|
165
|
+
[keys.spamRejected]: "Deine Übermittlung konnte nicht verarbeitet werden.",
|
|
166
|
+
[keys.spamCaptchaFailed]: "Captcha-Überprüfung fehlgeschlagen. Bitte versuche es erneut.",
|
|
167
|
+
[keys.collectionFormSingular]: "Formular",
|
|
168
|
+
[keys.collectionFormPlural]: "Formulare",
|
|
169
|
+
[keys.collectionSubmissionSingular]: "Übermittlung",
|
|
170
|
+
[keys.collectionSubmissionPlural]: "Übermittlungen",
|
|
171
|
+
[keys.statusComplete]: "Vollständig",
|
|
172
|
+
[keys.statusPartial]: "Unvollständig",
|
|
173
|
+
[keys.fieldTypeRepeater]: "Wiederholungsfeld",
|
|
174
|
+
[keys.configMinRows]: "Minimale Zeilenanzahl",
|
|
175
|
+
[keys.configMaxRows]: "Maximale Zeilenanzahl",
|
|
176
|
+
[keys.configAddLabel]: "Beschriftung der Schaltfläche zum Hinzufügen",
|
|
177
|
+
[keys.configSubFields]: "Unterfelder",
|
|
178
|
+
[keys.validationRepeaterMin]: "Füge mindestens {min} Zeile(n) hinzu",
|
|
179
|
+
[keys.validationRepeaterMax]: "Entferne Zeilen, um {max} nicht zu überschreiten",
|
|
180
|
+
[keys.repeaterAddRow]: "Zeile hinzufügen",
|
|
181
|
+
[keys.repeaterRemoveRow]: "Entfernen",
|
|
182
|
+
[keys.repeaterRow]: "Zeile {n}",
|
|
183
|
+
[keys.repeaterRowCount]: "{count} Zeile(n)",
|
|
184
|
+
[keys.submissionConsent]: "Einwilligung",
|
|
185
|
+
[keys.submissionDetails]: "Details zur Übermittlung",
|
|
186
|
+
[keys.submissionConsentAgreed]: "Zugestimmt",
|
|
187
|
+
[keys.submissionConsentDeclined]: "Abgelehnt",
|
|
188
|
+
[keys.submissionMetaReceivedAt]: "Empfangen am",
|
|
189
|
+
[keys.submissionMetaIp]: "IP-Adresse",
|
|
190
|
+
[keys.submissionMetaUserAgent]: "User-Agent",
|
|
191
|
+
[keys.submissionMetaCaptcha]: "Captcha",
|
|
192
|
+
[keys.flowDescription]: "Nur für mehrstufige Formulare nötig: Felder zu Schritten gruppieren und den Ablauf dazwischen festlegen. Leer lassen, um das Formular als einzelne Seite anzuzeigen.",
|
|
193
|
+
[keys.flowStepFallbackTitle]: "Schritt {n}",
|
|
194
|
+
[keys.flowFieldInStep]: "in {step}",
|
|
195
|
+
[keys.flowUnassigned]: "In keinem Schritt",
|
|
196
|
+
[keys.flowAssignToStep]: "Zu Schritt hinzufügen",
|
|
197
|
+
[keys.flowNextTerminal]: "Ende des Formulars",
|
|
198
|
+
[keys.fieldTypeMessage]: "Nachricht",
|
|
199
|
+
[keys.configContent]: "Inhalt",
|
|
200
|
+
[keys.tabResponse]: "Antwort",
|
|
201
|
+
[keys.responseType]: "Nach dem Absenden",
|
|
202
|
+
[keys.responseTypeMessage]: "Eine Nachricht anzeigen",
|
|
203
|
+
[keys.responseTypeRedirect]: "Zu einer URL weiterleiten",
|
|
204
|
+
[keys.responseMessage]: "Nachricht",
|
|
205
|
+
[keys.responseRedirect]: "Weiterleitung",
|
|
206
|
+
[keys.responseUrl]: "URL",
|
|
207
|
+
[keys.responseSubmitLabel]: "Beschriftung der Absenden-Schaltfläche",
|
|
208
|
+
[keys.tabDisplay]: "Anzeige",
|
|
209
|
+
[keys.displayShowTitle]: "Titel anzeigen",
|
|
210
|
+
[keys.displayTitle]: "Anzeigetitel",
|
|
211
|
+
[keys.displayIntro]: "Einleitung",
|
|
212
|
+
[keys.formBack]: "Zurück",
|
|
213
|
+
[keys.formNext]: "Weiter",
|
|
214
|
+
[keys.formSubmit]: "Absenden"
|
|
215
|
+
};
|
|
216
|
+
//#endregion
|
|
217
|
+
export { de };
|
|
218
|
+
|
|
219
|
+
//# sourceMappingURL=de.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de.js","names":[],"sources":["../../src/translations/de.ts"],"sourcesContent":["import { keys, type TranslationKey } from './keys'\n\n/**\n * German values, keyed by the typed constants in `keys.ts` so the two stay in\n * lockstep. The `Record<TranslationKey, string>` annotation makes a missing or\n * unknown key a type error. `translations/index.ts` nests these for Payload.\n */\nexport const de: Record<TranslationKey, string> = {\n\t[keys.fieldTitle]: 'Titel',\n\t[keys.fieldTypeText]: 'Text',\n\t[keys.fieldTypeTextarea]: 'Textarea',\n\t[keys.fieldTypeEmail]: 'E-Mail',\n\t[keys.fieldTypeNumber]: 'Zahl',\n\t[keys.fieldTypeSelect]: 'Auswahl',\n\t[keys.fieldTypeCheckbox]: 'Checkbox',\n\t[keys.fieldTypeDate]: 'Datum',\n\t[keys.configOptions]: 'Optionen',\n\t[keys.configOption]: 'Option',\n\t[keys.configOptionLabel]: 'Optionsbezeichnung',\n\t[keys.configOptionValue]: 'Optionswert',\n\t[keys.validationRequired]: 'Dieses Feld ist erforderlich',\n\t[keys.validationEmail]: 'Gib eine gültige E-Mail-Adresse ein',\n\t[keys.validationNumber]: 'Gib eine gültige Zahl ein',\n\t[keys.validationDate]: 'Gib ein gültiges Datum ein',\n\t[keys.validationSelect]: 'Wähle eine gültige Option',\n\t[keys.validationEmailFieldUnknown]: 'Wähle ein bestehendes E-Mail-Feld dieses Formulars',\n\t[keys.formatYes]: 'Ja',\n\t[keys.formatNo]: 'Nein',\n\t[keys.configName]: 'Name',\n\t[keys.configLabel]: 'Bezeichnung',\n\t[keys.configRequired]: 'Erforderlich',\n\t[keys.configWidth]: 'Breite',\n\t[keys.configPlaceholder]: 'Platzhalter',\n\t[keys.configDescription]: 'Beschreibung',\n\t[keys.configVisibleWhen]: 'Dieses Feld anzeigen, wenn',\n\t[keys.configValidateWhen]: 'Dieses Feld nur validieren, wenn',\n\t[keys.submissionAnswers]: 'Antworten',\n\t[keys.submissionNoAnswers]: 'Keine Antworten',\n\t[keys.ruleMinLength]: 'Minimale Länge',\n\t[keys.ruleMaxLength]: 'Maximale Länge',\n\t[keys.ruleMin]: 'Minimum',\n\t[keys.ruleMax]: 'Maximum',\n\t[keys.ruleMinDate]: 'Frühestes Datum',\n\t[keys.ruleMaxDate]: 'Spätestes Datum',\n\t[keys.rulePattern]: 'Muster',\n\t[keys.ruleEmail]: 'E-Mail',\n\t[keys.ruleUrl]: 'URL',\n\t[keys.ruleOneOf]: 'Wert aus Liste',\n\t[keys.ruleMatchesField]: 'Stimmt mit Feld überein',\n\t[keys.ruleNotAlreadySubmitted]: 'Noch nicht übermittelt',\n\t[keys.ruleMinLengthMessage]: 'Muss mindestens {min} Zeichen lang sein',\n\t[keys.ruleMaxLengthMessage]: 'Darf höchstens {max} Zeichen lang sein',\n\t[keys.ruleMinMessage]: 'Muss mindestens {min} betragen',\n\t[keys.ruleMaxMessage]: 'Darf höchstens {max} betragen',\n\t[keys.ruleMinDateMessage]: 'Muss am oder nach dem {min} liegen',\n\t[keys.ruleMaxDateMessage]: 'Muss am oder vor dem {max} liegen',\n\t[keys.rulePatternMessage]: 'Ungültiges Format',\n\t[keys.ruleEmailMessage]: 'Gib eine gültige E-Mail-Adresse ein',\n\t[keys.ruleUrlMessage]: 'Gib eine gültige URL ein',\n\t[keys.ruleOneOfMessage]: 'Wähle einen zulässigen Wert',\n\t[keys.ruleMatchesFieldMessage]: 'Stimmt nicht überein',\n\t[keys.ruleNotAlreadySubmittedMessage]: 'Dieser Wert wurde bereits übermittelt',\n\t[keys.ruleParamMin]: 'Minimum',\n\t[keys.ruleParamMax]: 'Maximum',\n\t[keys.ruleParamMinDate]: 'Frühestes Datum (JJJJ-MM-TT)',\n\t[keys.ruleParamMaxDate]: 'Spätestes Datum (JJJJ-MM-TT)',\n\t[keys.ruleParamPattern]: 'Muster',\n\t[keys.ruleParamFlags]: 'Flags',\n\t[keys.ruleParamValues]: 'Zulässige Werte',\n\t[keys.ruleParamField]: 'Feldname',\n\t[keys.validationsLabel]: 'Validierungsregeln',\n\t[keys.validationMessageLabel]: 'Benutzerdefinierte Nachricht',\n\t[keys.validationSeverityLabel]: 'Schweregrad',\n\t[keys.validationSeverityError]: 'Fehler',\n\t[keys.validationSeverityWarning]: 'Warnung',\n\t[keys.conditionAddCondition]: 'Bedingung hinzufügen',\n\t[keys.conditionAddOr]: '\"Oder\"-Gruppe hinzufügen',\n\t[keys.conditionAnd]: 'Und',\n\t[keys.conditionOr]: 'Oder',\n\t[keys.conditionRemove]: 'Entfernen',\n\t[keys.conditionNoFields]:\n\t\t'Füge diesem Formular benannte Felder hinzu, um eine Bedingung zu erstellen.',\n\t[keys.conditionEmpty]: 'Keine Bedingungen. Dieses Feld wird immer angezeigt.',\n\t[keys.conditionSelectField]: 'Feld auswählen',\n\t[keys.conditionTrue]: 'Wahr',\n\t[keys.conditionFalse]: 'Falsch',\n\t[keys.configHidden]: 'Ausgeblendet (wird erfasst, aber nicht angezeigt)',\n\t[keys.tabFields]: 'Felder',\n\t[keys.tabFlow]: 'Ablauf',\n\t[keys.tabActions]: 'Aktionen',\n\t[keys.tabField]: 'Feld',\n\t[keys.tabValidation]: 'Validierung',\n\t[keys.tabAdvanced]: 'Erweitert',\n\t[keys.fieldTypeCalculation]: 'Berechnung',\n\t[keys.configExpression]: 'Ausdruck (JSON)',\n\t[keys.configExpressionDescription]:\n\t\t'Ausdrucksbaum aus Knoten {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Beispiel: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}',\n\t[keys.configCalcDisplay]: 'Berechneten Wert anzeigen',\n\t[keys.validationCalcExpressionInvalid]: 'Gib einen gültigen Berechnungsausdruck ein',\n\t[keys.presentationPage]: 'Seite',\n\t[keys.presentationModal]: 'Modal',\n\t[keys.presentationDrawer]: 'Seitenpanel',\n\t[keys.presentationInline]: 'Inline',\n\t[keys.actionEmailTeam]: 'E-Mail ans Team',\n\t[keys.actionConfirmation]: 'Bestätigungs-E-Mail',\n\t[keys.actionSignedWebhook]: 'Signierter Webhook',\n\t[keys.actionConfigTo]: 'An',\n\t[keys.actionConfigSubject]: 'Betreff',\n\t[keys.actionConfigBody]: 'Nachrichtentext',\n\t[keys.actionConfigBodyDescription]:\n\t\t'Unterstützt {{ fieldName|fallback }}-Platzhalter, {{*}} für alle Antworten als Zeilen und {{*:table}} für alle Antworten als Tabelle.',\n\t[keys.actionConfigToField]: 'Name des E-Mail-Feldes',\n\t[keys.actionConfigToFieldDescription]:\n\t\t'Das E-Mail-Feld dieses Formulars, an das die Bestätigung gesendet wird.',\n\t[keys.actionConfigUrl]: 'URL',\n\t[keys.actionConfigUrlDescription]:\n\t\t'Der Endpunkt, der für jede Übermittlung einen signierten JSON-POST erhält.',\n\t[keys.actionConfigSecret]: 'Geheimer Schlüssel',\n\t[keys.actionConfigSecretDescription]:\n\t\t'HMAC-Schlüssel für den X-Form-Signature-Header, der mit dem Empfänger geteilt wird.',\n\t[keys.validationUrlInvalid]: 'Gib eine gültige http- oder https-URL ein',\n\t[keys.configActions]: 'Aktionen',\n\t[keys.consentSourceStatic]: 'Statischer Text',\n\t[keys.consentSourcePageReference]: 'Seitenverweis',\n\t[keys.consentConfigLabel]: 'Bezeichnung',\n\t[keys.consentConfigUrl]: 'URL',\n\t[keys.consentConfigVersion]: 'Version',\n\t[keys.consentConfigRelationTo]: 'Sammlung',\n\t[keys.consentConfigDocId]: 'Dokument-ID',\n\t[keys.consentConfigUrlField]: 'URL-Feld',\n\t[keys.consentConfigCaptureVersion]: 'Veröffentlichte Version erfassen',\n\t[keys.fieldTypeConsent]: 'Einwilligung',\n\t[keys.consentConfigStatement]: 'Erklärung',\n\t[keys.consentConfigSource]: 'Quelle',\n\t[keys.consentConfigSourceConfig]: 'Quelleinstellungen',\n\t[keys.consentConfigOptional]: 'Optional (z. B. Marketing)',\n\t[keys.resultsResponses]: 'Antworten',\n\t[keys.resultsNoResponses]: 'Noch keine Antworten',\n\t[keys.resultsTruncated]: 'Zeigt eine Stichprobe der Antworten',\n\t[keys.pollGroup]: 'Umfrage',\n\t[keys.pollEnabled]: 'Umfrageergebnisse aktivieren',\n\t[keys.pollResultsField]: 'Ergebnisfeld (technischer Name)',\n\t[keys.pollResultsFieldDescription]:\n\t\t'Feld, dessen aggregierte Ergebnisse öffentlich sind. Verwende ein Auswahlfeld, niemals ein Freitext- oder personenbezogenes Feld.',\n\t[keys.pollResultsVisibility]: 'Sichtbarkeit der Ergebnisse',\n\t[keys.pollVisibilityAfterVote]: 'Nach der Abstimmung',\n\t[keys.pollVisibilityAfterClose]: 'Nach Ende der Umfrage',\n\t[keys.pollClosesAt]: 'Endet am',\n\t[keys.pollClosed]: 'Diese Umfrage ist beendet.',\n\t[keys.pollResultsAfterClose]: 'Die Ergebnisse werden nach Ende der Umfrage angezeigt.',\n\t[keys.pollOptionSource]: 'Optionsquelle',\n\t[keys.pollOptionSourceDescription]:\n\t\t'Befüllt die Auswahlmöglichkeiten des Ergebnisfeldes mit App-Daten anstelle manuell erstellter Optionen.',\n\t[keys.pollSourceConfig]: 'Quelleinstellungen',\n\t[keys.pollOutcome]: 'Ergebnis',\n\t[keys.pollWinningValue]: 'Siegerwert',\n\t[keys.pollResolvedAt]: 'Entschieden am',\n\t[keys.pollOptionsUnavailable]:\n\t\t'Umfrageoptionen sind derzeit nicht verfügbar. Bitte versuche es später erneut.',\n\t[keys.pollFinalResult]: 'Endergebnis',\n\t[keys.resultsWinner]: 'Gewinner',\n\t[keys.validationFileMissing]: 'Datei hochladen',\n\t[keys.validationFileMimeType]: 'Dateityp nicht erlaubt',\n\t[keys.validationFileTooLarge]: 'Datei ist zu groß',\n\t[keys.fieldTypeFile]: 'Datei-Upload',\n\t[keys.fileConfigMimeTypes]: 'Erlaubte Dateitypen',\n\t[keys.fileConfigMaxSize]: 'Maximale Größe (Bytes)',\n\t[keys.fileConfigMaxSizeDescription]: 'Dateien, die größer sind, werden abgelehnt.',\n\t[keys.fileTooLarge]: 'Datei ist zu groß (max. {max})',\n\t[keys.fileUploadMisconfigured]: 'Datei-Uploads sind für dieses Formular nicht konfiguriert',\n\t[keys.fileHintAccepted]: 'Akzeptiert: {types}',\n\t[keys.fileHintMaxSize]: 'Max. Größe: {max}',\n\t[keys.spamRateLimited]: 'Du hast zu viele Anfragen gesendet. Bitte versuche es später erneut.',\n\t[keys.spamRejected]: 'Deine Übermittlung konnte nicht verarbeitet werden.',\n\t[keys.spamCaptchaFailed]: 'Captcha-Überprüfung fehlgeschlagen. Bitte versuche es erneut.',\n\t[keys.collectionFormSingular]: 'Formular',\n\t[keys.collectionFormPlural]: 'Formulare',\n\t[keys.collectionSubmissionSingular]: 'Übermittlung',\n\t[keys.collectionSubmissionPlural]: 'Übermittlungen',\n\t[keys.statusComplete]: 'Vollständig',\n\t[keys.statusPartial]: 'Unvollständig',\n\t[keys.fieldTypeRepeater]: 'Wiederholungsfeld',\n\t[keys.configMinRows]: 'Minimale Zeilenanzahl',\n\t[keys.configMaxRows]: 'Maximale Zeilenanzahl',\n\t[keys.configAddLabel]: 'Beschriftung der Schaltfläche zum Hinzufügen',\n\t[keys.configSubFields]: 'Unterfelder',\n\t[keys.validationRepeaterMin]: 'Füge mindestens {min} Zeile(n) hinzu',\n\t[keys.validationRepeaterMax]: 'Entferne Zeilen, um {max} nicht zu überschreiten',\n\t[keys.repeaterAddRow]: 'Zeile hinzufügen',\n\t[keys.repeaterRemoveRow]: 'Entfernen',\n\t[keys.repeaterRow]: 'Zeile {n}',\n\t[keys.repeaterRowCount]: '{count} Zeile(n)',\n\t[keys.submissionConsent]: 'Einwilligung',\n\t[keys.submissionDetails]: 'Details zur Übermittlung',\n\t[keys.submissionConsentAgreed]: 'Zugestimmt',\n\t[keys.submissionConsentDeclined]: 'Abgelehnt',\n\t[keys.submissionMetaReceivedAt]: 'Empfangen am',\n\t[keys.submissionMetaIp]: 'IP-Adresse',\n\t[keys.submissionMetaUserAgent]: 'User-Agent',\n\t[keys.submissionMetaCaptcha]: 'Captcha',\n\t[keys.flowDescription]:\n\t\t'Nur für mehrstufige Formulare nötig: Felder zu Schritten gruppieren und den Ablauf dazwischen festlegen. Leer lassen, um das Formular als einzelne Seite anzuzeigen.',\n\t[keys.flowStepFallbackTitle]: 'Schritt {n}',\n\t[keys.flowFieldInStep]: 'in {step}',\n\t[keys.flowUnassigned]: 'In keinem Schritt',\n\t[keys.flowAssignToStep]: 'Zu Schritt hinzufügen',\n\t[keys.flowNextTerminal]: 'Ende des Formulars',\n\t[keys.fieldTypeMessage]: 'Nachricht',\n\t[keys.configContent]: 'Inhalt',\n\t[keys.tabResponse]: 'Antwort',\n\t[keys.responseType]: 'Nach dem Absenden',\n\t[keys.responseTypeMessage]: 'Eine Nachricht anzeigen',\n\t[keys.responseTypeRedirect]: 'Zu einer URL weiterleiten',\n\t[keys.responseMessage]: 'Nachricht',\n\t[keys.responseRedirect]: 'Weiterleitung',\n\t[keys.responseUrl]: 'URL',\n\t[keys.responseSubmitLabel]: 'Beschriftung der Absenden-Schaltfläche',\n\t[keys.tabDisplay]: 'Anzeige',\n\t[keys.displayShowTitle]: 'Titel anzeigen',\n\t[keys.displayTitle]: 'Anzeigetitel',\n\t[keys.displayIntro]: 'Einleitung',\n\t[keys.formBack]: 'Zurück',\n\t[keys.formNext]: 'Weiter',\n\t[keys.formSubmit]: 'Absenden',\n}\n"],"mappings":"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"}
|
package/dist/translations/en.js
CHANGED
|
@@ -8,7 +8,7 @@ import { keys } from "./keys.js";
|
|
|
8
8
|
const en = {
|
|
9
9
|
[keys.fieldTitle]: "Title",
|
|
10
10
|
[keys.fieldTypeText]: "Text",
|
|
11
|
-
[keys.fieldTypeTextarea]: "
|
|
11
|
+
[keys.fieldTypeTextarea]: "Textarea",
|
|
12
12
|
[keys.fieldTypeEmail]: "Email",
|
|
13
13
|
[keys.fieldTypeNumber]: "Number",
|
|
14
14
|
[keys.fieldTypeSelect]: "Select",
|
|
@@ -95,7 +95,6 @@ const en = {
|
|
|
95
95
|
[keys.configExpressionDescription]: "Expression tree of nodes {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Example: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}",
|
|
96
96
|
[keys.configCalcDisplay]: "Show computed value",
|
|
97
97
|
[keys.validationCalcExpressionInvalid]: "Enter a valid calculation expression",
|
|
98
|
-
[keys.configDefaultPresentation]: "Presentation",
|
|
99
98
|
[keys.presentationPage]: "Page",
|
|
100
99
|
[keys.presentationModal]: "Modal",
|
|
101
100
|
[keys.presentationDrawer]: "Drawer",
|
|
@@ -132,17 +131,34 @@ const en = {
|
|
|
132
131
|
[keys.resultsResponses]: "responses",
|
|
133
132
|
[keys.resultsNoResponses]: "No responses yet",
|
|
134
133
|
[keys.resultsTruncated]: "Showing a sample of responses",
|
|
135
|
-
[keys.
|
|
136
|
-
[keys.
|
|
134
|
+
[keys.pollGroup]: "Poll",
|
|
135
|
+
[keys.pollEnabled]: "Enable poll results",
|
|
136
|
+
[keys.pollResultsField]: "Results field (machine name)",
|
|
137
|
+
[keys.pollResultsFieldDescription]: "Field whose aggregate results are public. Use a choice field, never a free-text or PII field.",
|
|
138
|
+
[keys.pollResultsVisibility]: "Results visibility",
|
|
139
|
+
[keys.pollVisibilityAfterVote]: "After voting",
|
|
140
|
+
[keys.pollVisibilityAfterClose]: "After the poll closes",
|
|
141
|
+
[keys.pollClosesAt]: "Closes at",
|
|
142
|
+
[keys.pollClosed]: "This poll is closed.",
|
|
143
|
+
[keys.pollResultsAfterClose]: "Results will be shown after the poll closes.",
|
|
144
|
+
[keys.pollOptionSource]: "Option source",
|
|
145
|
+
[keys.pollOptionSourceDescription]: "Populate the results field choices from app data instead of hand-authored options.",
|
|
146
|
+
[keys.pollSourceConfig]: "Source settings",
|
|
147
|
+
[keys.pollOutcome]: "Outcome",
|
|
148
|
+
[keys.pollWinningValue]: "Winning value",
|
|
149
|
+
[keys.pollResolvedAt]: "Resolved at",
|
|
150
|
+
[keys.pollOptionsUnavailable]: "Poll options are currently unavailable. Please try again later.",
|
|
151
|
+
[keys.pollFinalResult]: "Final result",
|
|
152
|
+
[keys.resultsWinner]: "Winner",
|
|
137
153
|
[keys.validationFileMissing]: "Upload a file",
|
|
138
154
|
[keys.validationFileMimeType]: "File type not allowed",
|
|
139
155
|
[keys.validationFileTooLarge]: "File is too large",
|
|
140
156
|
[keys.fieldTypeFile]: "File upload",
|
|
141
|
-
[keys.fileConfigRelationTo]: "Upload collection",
|
|
142
157
|
[keys.fileConfigMimeTypes]: "Allowed file types",
|
|
143
158
|
[keys.fileConfigMaxSize]: "Maximum size (bytes)",
|
|
144
159
|
[keys.fileConfigMaxSizeDescription]: "Files larger than this are rejected.",
|
|
145
160
|
[keys.fileTooLarge]: "File is too large (max {max})",
|
|
161
|
+
[keys.fileUploadMisconfigured]: "File uploads are not configured for this form",
|
|
146
162
|
[keys.fileHintAccepted]: "Accepted: {types}",
|
|
147
163
|
[keys.fileHintMaxSize]: "Max size: {max}",
|
|
148
164
|
[keys.spamRateLimited]: "You have sent too many requests. Please try again later.",
|
|
@@ -172,7 +188,30 @@ const en = {
|
|
|
172
188
|
[keys.submissionMetaReceivedAt]: "Received at",
|
|
173
189
|
[keys.submissionMetaIp]: "IP address",
|
|
174
190
|
[keys.submissionMetaUserAgent]: "User agent",
|
|
175
|
-
[keys.submissionMetaCaptcha]: "Captcha"
|
|
191
|
+
[keys.submissionMetaCaptcha]: "Captcha",
|
|
192
|
+
[keys.flowDescription]: "Only needed for multi-step forms: group fields into steps and route between them. Leave empty to show the form as a single page.",
|
|
193
|
+
[keys.flowStepFallbackTitle]: "Step {n}",
|
|
194
|
+
[keys.flowFieldInStep]: "in {step}",
|
|
195
|
+
[keys.flowUnassigned]: "Not in any step",
|
|
196
|
+
[keys.flowAssignToStep]: "Add to step",
|
|
197
|
+
[keys.flowNextTerminal]: "End of form",
|
|
198
|
+
[keys.fieldTypeMessage]: "Message",
|
|
199
|
+
[keys.configContent]: "Content",
|
|
200
|
+
[keys.tabResponse]: "Response",
|
|
201
|
+
[keys.responseType]: "After submit",
|
|
202
|
+
[keys.responseTypeMessage]: "Show a message",
|
|
203
|
+
[keys.responseTypeRedirect]: "Redirect to a URL",
|
|
204
|
+
[keys.responseMessage]: "Message",
|
|
205
|
+
[keys.responseRedirect]: "Redirect",
|
|
206
|
+
[keys.responseUrl]: "URL",
|
|
207
|
+
[keys.responseSubmitLabel]: "Submit button label",
|
|
208
|
+
[keys.tabDisplay]: "Display",
|
|
209
|
+
[keys.displayShowTitle]: "Show title",
|
|
210
|
+
[keys.displayTitle]: "Display title",
|
|
211
|
+
[keys.displayIntro]: "Intro",
|
|
212
|
+
[keys.formBack]: "Back",
|
|
213
|
+
[keys.formNext]: "Next",
|
|
214
|
+
[keys.formSubmit]: "Submit"
|
|
176
215
|
};
|
|
177
216
|
//#endregion
|
|
178
217
|
export { en };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["import { keys, type TranslationKey } from './keys'\n\n/**\n * English values, keyed by the typed constants in `keys.ts` so the two stay in\n * lockstep. The `Record<TranslationKey, string>` annotation makes a missing or\n * unknown key a type error. `translations/index.ts` nests these for Payload.\n */\nexport const en: Record<TranslationKey, string> = {\n\t[keys.fieldTitle]: 'Title',\n\t[keys.fieldTypeText]: 'Text',\n\t[keys.fieldTypeTextarea]: 'Long text',\n\t[keys.fieldTypeEmail]: 'Email',\n\t[keys.fieldTypeNumber]: 'Number',\n\t[keys.fieldTypeSelect]: 'Select',\n\t[keys.fieldTypeCheckbox]: 'Checkbox',\n\t[keys.fieldTypeDate]: 'Date',\n\t[keys.configOptions]: 'Options',\n\t[keys.configOption]: 'Option',\n\t[keys.configOptionLabel]: 'Option label',\n\t[keys.configOptionValue]: 'Option value',\n\t[keys.validationRequired]: 'This field is required',\n\t[keys.validationEmail]: 'Enter a valid email address',\n\t[keys.validationNumber]: 'Enter a valid number',\n\t[keys.validationDate]: 'Enter a valid date',\n\t[keys.validationSelect]: 'Choose a valid option',\n\t[keys.validationEmailFieldUnknown]: 'Choose an existing email field on this form',\n\t[keys.formatYes]: 'Yes',\n\t[keys.formatNo]: 'No',\n\t[keys.configName]: 'Name',\n\t[keys.configLabel]: 'Label',\n\t[keys.configRequired]: 'Required',\n\t[keys.configWidth]: 'Width',\n\t[keys.configPlaceholder]: 'Placeholder',\n\t[keys.configDescription]: 'Description',\n\t[keys.configVisibleWhen]: 'Show this field when',\n\t[keys.configValidateWhen]: 'Validate this field only when',\n\t[keys.submissionAnswers]: 'Answers',\n\t[keys.submissionNoAnswers]: 'No answers',\n\t[keys.ruleMinLength]: 'Minimum length',\n\t[keys.ruleMaxLength]: 'Maximum length',\n\t[keys.ruleMin]: 'Minimum',\n\t[keys.ruleMax]: 'Maximum',\n\t[keys.ruleMinDate]: 'Earliest date',\n\t[keys.ruleMaxDate]: 'Latest date',\n\t[keys.rulePattern]: 'Pattern',\n\t[keys.ruleEmail]: 'Email',\n\t[keys.ruleUrl]: 'URL',\n\t[keys.ruleOneOf]: 'One of',\n\t[keys.ruleMatchesField]: 'Matches field',\n\t[keys.ruleNotAlreadySubmitted]: 'Not already submitted',\n\t[keys.ruleMinLengthMessage]: 'Must be at least {min} characters',\n\t[keys.ruleMaxLengthMessage]: 'Must be at most {max} characters',\n\t[keys.ruleMinMessage]: 'Must be at least {min}',\n\t[keys.ruleMaxMessage]: 'Must be at most {max}',\n\t[keys.ruleMinDateMessage]: 'Must be on or after {min}',\n\t[keys.ruleMaxDateMessage]: 'Must be on or before {max}',\n\t[keys.rulePatternMessage]: 'Invalid format',\n\t[keys.ruleEmailMessage]: 'Enter a valid email address',\n\t[keys.ruleUrlMessage]: 'Enter a valid URL',\n\t[keys.ruleOneOfMessage]: 'Choose an allowed value',\n\t[keys.ruleMatchesFieldMessage]: 'Does not match',\n\t[keys.ruleNotAlreadySubmittedMessage]: 'This value was already submitted',\n\t[keys.ruleParamMin]: 'Minimum',\n\t[keys.ruleParamMax]: 'Maximum',\n\t[keys.ruleParamMinDate]: 'Earliest date (YYYY-MM-DD)',\n\t[keys.ruleParamMaxDate]: 'Latest date (YYYY-MM-DD)',\n\t[keys.ruleParamPattern]: 'Pattern',\n\t[keys.ruleParamFlags]: 'Flags',\n\t[keys.ruleParamValues]: 'Allowed values',\n\t[keys.ruleParamField]: 'Field name',\n\t[keys.validationsLabel]: 'Validation rules',\n\t[keys.validationMessageLabel]: 'Custom message',\n\t[keys.validationSeverityLabel]: 'Severity',\n\t[keys.validationSeverityError]: 'Error',\n\t[keys.validationSeverityWarning]: 'Warning',\n\t[keys.conditionAddCondition]: 'Add condition',\n\t[keys.conditionAddOr]: 'Add \"or\" group',\n\t[keys.conditionAnd]: 'And',\n\t[keys.conditionOr]: 'Or',\n\t[keys.conditionRemove]: 'Remove',\n\t[keys.conditionNoFields]: 'Add named fields to this form to build a condition.',\n\t[keys.conditionEmpty]: 'No conditions. This field is always shown.',\n\t[keys.conditionSelectField]: 'Select a field',\n\t[keys.conditionTrue]: 'True',\n\t[keys.conditionFalse]: 'False',\n\t[keys.configHidden]: 'Hidden (capture without showing)',\n\t[keys.tabFields]: 'Fields',\n\t[keys.tabFlow]: 'Flow',\n\t[keys.tabActions]: 'Actions',\n\t[keys.tabField]: 'Field',\n\t[keys.tabValidation]: 'Validation',\n\t[keys.tabAdvanced]: 'Advanced',\n\t[keys.fieldTypeCalculation]: 'Calculation',\n\t[keys.configExpression]: 'Expression (JSON)',\n\t[keys.configExpressionDescription]:\n\t\t'Expression tree of nodes {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Example: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}',\n\t[keys.configCalcDisplay]: 'Show computed value',\n\t[keys.validationCalcExpressionInvalid]: 'Enter a valid calculation expression',\n\t[keys.configDefaultPresentation]: 'Presentation',\n\t[keys.presentationPage]: 'Page',\n\t[keys.presentationModal]: 'Modal',\n\t[keys.presentationDrawer]: 'Drawer',\n\t[keys.presentationInline]: 'Inline',\n\t[keys.actionEmailTeam]: 'Email team',\n\t[keys.actionConfirmation]: 'Confirmation email',\n\t[keys.actionSignedWebhook]: 'Signed webhook',\n\t[keys.actionConfigTo]: 'To',\n\t[keys.actionConfigSubject]: 'Subject',\n\t[keys.actionConfigBody]: 'Body',\n\t[keys.actionConfigBodyDescription]:\n\t\t'Supports {{ fieldName|fallback }} tokens, {{*}} for all answers as lines, and {{*:table}} for all answers as a table.',\n\t[keys.actionConfigToField]: 'Email field name',\n\t[keys.actionConfigToFieldDescription]:\n\t\t'The email field on this form the confirmation is sent to.',\n\t[keys.actionConfigUrl]: 'URL',\n\t[keys.actionConfigUrlDescription]:\n\t\t'The endpoint that receives a signed JSON POST for each submission.',\n\t[keys.actionConfigSecret]: 'Secret',\n\t[keys.actionConfigSecretDescription]:\n\t\t'HMAC key used for the X-Form-Signature header, shared with the receiver.',\n\t[keys.validationUrlInvalid]: 'Enter a valid http or https URL',\n\t[keys.configActions]: 'Actions',\n\t[keys.consentSourceStatic]: 'Static text',\n\t[keys.consentSourcePageReference]: 'Page reference',\n\t[keys.consentConfigLabel]: 'Label',\n\t[keys.consentConfigUrl]: 'URL',\n\t[keys.consentConfigVersion]: 'Version',\n\t[keys.consentConfigRelationTo]: 'Collection',\n\t[keys.consentConfigDocId]: 'Document ID',\n\t[keys.consentConfigUrlField]: 'URL field',\n\t[keys.consentConfigCaptureVersion]: 'Capture published version',\n\t[keys.fieldTypeConsent]: 'Consent',\n\t[keys.consentConfigStatement]: 'Statement',\n\t[keys.consentConfigSource]: 'Source',\n\t[keys.consentConfigSourceConfig]: 'Source settings',\n\t[keys.consentConfigOptional]: 'Optional (e.g. marketing)',\n\t[keys.resultsResponses]: 'responses',\n\t[keys.resultsNoResponses]: 'No responses yet',\n\t[keys.resultsTruncated]: 'Showing a sample of responses',\n\t[keys.configShowResults]: 'Show results publicly',\n\t[keys.configResultsField]: 'Results field (machine name)',\n\t[keys.validationFileMissing]: 'Upload a file',\n\t[keys.validationFileMimeType]: 'File type not allowed',\n\t[keys.validationFileTooLarge]: 'File is too large',\n\t[keys.fieldTypeFile]: 'File upload',\n\t[keys.fileConfigRelationTo]: 'Upload collection',\n\t[keys.fileConfigMimeTypes]: 'Allowed file types',\n\t[keys.fileConfigMaxSize]: 'Maximum size (bytes)',\n\t[keys.fileConfigMaxSizeDescription]: 'Files larger than this are rejected.',\n\t[keys.fileTooLarge]: 'File is too large (max {max})',\n\t[keys.fileHintAccepted]: 'Accepted: {types}',\n\t[keys.fileHintMaxSize]: 'Max size: {max}',\n\t[keys.spamRateLimited]: 'You have sent too many requests. Please try again later.',\n\t[keys.spamRejected]: 'Your submission could not be processed.',\n\t[keys.spamCaptchaFailed]: 'Captcha verification failed. Please try again.',\n\t[keys.collectionFormSingular]: 'Form',\n\t[keys.collectionFormPlural]: 'Forms',\n\t[keys.collectionSubmissionSingular]: 'Submission',\n\t[keys.collectionSubmissionPlural]: 'Submissions',\n\t[keys.statusComplete]: 'Complete',\n\t[keys.statusPartial]: 'Partial',\n\t[keys.fieldTypeRepeater]: 'Repeater',\n\t[keys.configMinRows]: 'Minimum rows',\n\t[keys.configMaxRows]: 'Maximum rows',\n\t[keys.configAddLabel]: 'Add button label',\n\t[keys.configSubFields]: 'Sub-fields',\n\t[keys.validationRepeaterMin]: 'Add at least {min} row(s)',\n\t[keys.validationRepeaterMax]: 'Remove rows to stay within {max}',\n\t[keys.repeaterAddRow]: 'Add row',\n\t[keys.repeaterRemoveRow]: 'Remove',\n\t[keys.repeaterRow]: 'Row {n}',\n\t[keys.repeaterRowCount]: '{count} row(s)',\n\t[keys.submissionConsent]: 'Consent',\n\t[keys.submissionDetails]: 'Submission details',\n\t[keys.submissionConsentAgreed]: 'Agreed',\n\t[keys.submissionConsentDeclined]: 'Declined',\n\t[keys.submissionMetaReceivedAt]: 'Received at',\n\t[keys.submissionMetaIp]: 'IP address',\n\t[keys.submissionMetaUserAgent]: 'User agent',\n\t[keys.submissionMetaCaptcha]: 'Captcha',\n}\n"],"mappings":";;;;;;;AAOA,MAAa,KAAqC;EAChD,KAAK,aAAa;EAClB,KAAK,gBAAgB;EACrB,KAAK,oBAAoB;EACzB,KAAK,iBAAiB;EACtB,KAAK,kBAAkB;EACvB,KAAK,kBAAkB;EACvB,KAAK,oBAAoB;EACzB,KAAK,gBAAgB;EACrB,KAAK,gBAAgB;EACrB,KAAK,eAAe;EACpB,KAAK,oBAAoB;EACzB,KAAK,oBAAoB;EACzB,KAAK,qBAAqB;EAC1B,KAAK,kBAAkB;EACvB,KAAK,mBAAmB;EACxB,KAAK,iBAAiB;EACtB,KAAK,mBAAmB;EACxB,KAAK,8BAA8B;EACnC,KAAK,YAAY;EACjB,KAAK,WAAW;EAChB,KAAK,aAAa;EAClB,KAAK,cAAc;EACnB,KAAK,iBAAiB;EACtB,KAAK,cAAc;EACnB,KAAK,oBAAoB;EACzB,KAAK,oBAAoB;EACzB,KAAK,oBAAoB;EACzB,KAAK,qBAAqB;EAC1B,KAAK,oBAAoB;EACzB,KAAK,sBAAsB;EAC3B,KAAK,gBAAgB;EACrB,KAAK,gBAAgB;EACrB,KAAK,UAAU;EACf,KAAK,UAAU;EACf,KAAK,cAAc;EACnB,KAAK,cAAc;EACnB,KAAK,cAAc;EACnB,KAAK,YAAY;EACjB,KAAK,UAAU;EACf,KAAK,YAAY;EACjB,KAAK,mBAAmB;EACxB,KAAK,0BAA0B;EAC/B,KAAK,uBAAuB;EAC5B,KAAK,uBAAuB;EAC5B,KAAK,iBAAiB;EACtB,KAAK,iBAAiB;EACtB,KAAK,qBAAqB;EAC1B,KAAK,qBAAqB;EAC1B,KAAK,qBAAqB;EAC1B,KAAK,mBAAmB;EACxB,KAAK,iBAAiB;EACtB,KAAK,mBAAmB;EACxB,KAAK,0BAA0B;EAC/B,KAAK,iCAAiC;EACtC,KAAK,eAAe;EACpB,KAAK,eAAe;EACpB,KAAK,mBAAmB;EACxB,KAAK,mBAAmB;EACxB,KAAK,mBAAmB;EACxB,KAAK,iBAAiB;EACtB,KAAK,kBAAkB;EACvB,KAAK,iBAAiB;EACtB,KAAK,mBAAmB;EACxB,KAAK,yBAAyB;EAC9B,KAAK,0BAA0B;EAC/B,KAAK,0BAA0B;EAC/B,KAAK,4BAA4B;EACjC,KAAK,wBAAwB;EAC7B,KAAK,iBAAiB;EACtB,KAAK,eAAe;EACpB,KAAK,cAAc;EACnB,KAAK,kBAAkB;EACvB,KAAK,oBAAoB;EACzB,KAAK,iBAAiB;EACtB,KAAK,uBAAuB;EAC5B,KAAK,gBAAgB;EACrB,KAAK,iBAAiB;EACtB,KAAK,eAAe;EACpB,KAAK,YAAY;EACjB,KAAK,UAAU;EACf,KAAK,aAAa;EAClB,KAAK,WAAW;EAChB,KAAK,gBAAgB;EACrB,KAAK,cAAc;EACnB,KAAK,uBAAuB;EAC5B,KAAK,mBAAmB;EACxB,KAAK,8BACL;EACA,KAAK,oBAAoB;EACzB,KAAK,kCAAkC;EACvC,KAAK,4BAA4B;EACjC,KAAK,mBAAmB;EACxB,KAAK,oBAAoB;EACzB,KAAK,qBAAqB;EAC1B,KAAK,qBAAqB;EAC1B,KAAK,kBAAkB;EACvB,KAAK,qBAAqB;EAC1B,KAAK,sBAAsB;EAC3B,KAAK,iBAAiB;EACtB,KAAK,sBAAsB;EAC3B,KAAK,mBAAmB;EACxB,KAAK,8BACL;EACA,KAAK,sBAAsB;EAC3B,KAAK,iCACL;EACA,KAAK,kBAAkB;EACvB,KAAK,6BACL;EACA,KAAK,qBAAqB;EAC1B,KAAK,gCACL;EACA,KAAK,uBAAuB;EAC5B,KAAK,gBAAgB;EACrB,KAAK,sBAAsB;EAC3B,KAAK,6BAA6B;EAClC,KAAK,qBAAqB;EAC1B,KAAK,mBAAmB;EACxB,KAAK,uBAAuB;EAC5B,KAAK,0BAA0B;EAC/B,KAAK,qBAAqB;EAC1B,KAAK,wBAAwB;EAC7B,KAAK,8BAA8B;EACnC,KAAK,mBAAmB;EACxB,KAAK,yBAAyB;EAC9B,KAAK,sBAAsB;EAC3B,KAAK,4BAA4B;EACjC,KAAK,wBAAwB;EAC7B,KAAK,mBAAmB;EACxB,KAAK,qBAAqB;EAC1B,KAAK,mBAAmB;EACxB,KAAK,oBAAoB;EACzB,KAAK,qBAAqB;EAC1B,KAAK,wBAAwB;EAC7B,KAAK,yBAAyB;EAC9B,KAAK,yBAAyB;EAC9B,KAAK,gBAAgB;EACrB,KAAK,uBAAuB;EAC5B,KAAK,sBAAsB;EAC3B,KAAK,oBAAoB;EACzB,KAAK,+BAA+B;EACpC,KAAK,eAAe;EACpB,KAAK,mBAAmB;EACxB,KAAK,kBAAkB;EACvB,KAAK,kBAAkB;EACvB,KAAK,eAAe;EACpB,KAAK,oBAAoB;EACzB,KAAK,yBAAyB;EAC9B,KAAK,uBAAuB;EAC5B,KAAK,+BAA+B;EACpC,KAAK,6BAA6B;EAClC,KAAK,iBAAiB;EACtB,KAAK,gBAAgB;EACrB,KAAK,oBAAoB;EACzB,KAAK,gBAAgB;EACrB,KAAK,gBAAgB;EACrB,KAAK,iBAAiB;EACtB,KAAK,kBAAkB;EACvB,KAAK,wBAAwB;EAC7B,KAAK,wBAAwB;EAC7B,KAAK,iBAAiB;EACtB,KAAK,oBAAoB;EACzB,KAAK,cAAc;EACnB,KAAK,mBAAmB;EACxB,KAAK,oBAAoB;EACzB,KAAK,oBAAoB;EACzB,KAAK,0BAA0B;EAC/B,KAAK,4BAA4B;EACjC,KAAK,2BAA2B;EAChC,KAAK,mBAAmB;EACxB,KAAK,0BAA0B;EAC/B,KAAK,wBAAwB;AAC/B"}
|
|
1
|
+
{"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["import { keys, type TranslationKey } from './keys'\n\n/**\n * English values, keyed by the typed constants in `keys.ts` so the two stay in\n * lockstep. The `Record<TranslationKey, string>` annotation makes a missing or\n * unknown key a type error. `translations/index.ts` nests these for Payload.\n */\nexport const en: Record<TranslationKey, string> = {\n\t[keys.fieldTitle]: 'Title',\n\t[keys.fieldTypeText]: 'Text',\n\t[keys.fieldTypeTextarea]: 'Textarea',\n\t[keys.fieldTypeEmail]: 'Email',\n\t[keys.fieldTypeNumber]: 'Number',\n\t[keys.fieldTypeSelect]: 'Select',\n\t[keys.fieldTypeCheckbox]: 'Checkbox',\n\t[keys.fieldTypeDate]: 'Date',\n\t[keys.configOptions]: 'Options',\n\t[keys.configOption]: 'Option',\n\t[keys.configOptionLabel]: 'Option label',\n\t[keys.configOptionValue]: 'Option value',\n\t[keys.validationRequired]: 'This field is required',\n\t[keys.validationEmail]: 'Enter a valid email address',\n\t[keys.validationNumber]: 'Enter a valid number',\n\t[keys.validationDate]: 'Enter a valid date',\n\t[keys.validationSelect]: 'Choose a valid option',\n\t[keys.validationEmailFieldUnknown]: 'Choose an existing email field on this form',\n\t[keys.formatYes]: 'Yes',\n\t[keys.formatNo]: 'No',\n\t[keys.configName]: 'Name',\n\t[keys.configLabel]: 'Label',\n\t[keys.configRequired]: 'Required',\n\t[keys.configWidth]: 'Width',\n\t[keys.configPlaceholder]: 'Placeholder',\n\t[keys.configDescription]: 'Description',\n\t[keys.configVisibleWhen]: 'Show this field when',\n\t[keys.configValidateWhen]: 'Validate this field only when',\n\t[keys.submissionAnswers]: 'Answers',\n\t[keys.submissionNoAnswers]: 'No answers',\n\t[keys.ruleMinLength]: 'Minimum length',\n\t[keys.ruleMaxLength]: 'Maximum length',\n\t[keys.ruleMin]: 'Minimum',\n\t[keys.ruleMax]: 'Maximum',\n\t[keys.ruleMinDate]: 'Earliest date',\n\t[keys.ruleMaxDate]: 'Latest date',\n\t[keys.rulePattern]: 'Pattern',\n\t[keys.ruleEmail]: 'Email',\n\t[keys.ruleUrl]: 'URL',\n\t[keys.ruleOneOf]: 'One of',\n\t[keys.ruleMatchesField]: 'Matches field',\n\t[keys.ruleNotAlreadySubmitted]: 'Not already submitted',\n\t[keys.ruleMinLengthMessage]: 'Must be at least {min} characters',\n\t[keys.ruleMaxLengthMessage]: 'Must be at most {max} characters',\n\t[keys.ruleMinMessage]: 'Must be at least {min}',\n\t[keys.ruleMaxMessage]: 'Must be at most {max}',\n\t[keys.ruleMinDateMessage]: 'Must be on or after {min}',\n\t[keys.ruleMaxDateMessage]: 'Must be on or before {max}',\n\t[keys.rulePatternMessage]: 'Invalid format',\n\t[keys.ruleEmailMessage]: 'Enter a valid email address',\n\t[keys.ruleUrlMessage]: 'Enter a valid URL',\n\t[keys.ruleOneOfMessage]: 'Choose an allowed value',\n\t[keys.ruleMatchesFieldMessage]: 'Does not match',\n\t[keys.ruleNotAlreadySubmittedMessage]: 'This value was already submitted',\n\t[keys.ruleParamMin]: 'Minimum',\n\t[keys.ruleParamMax]: 'Maximum',\n\t[keys.ruleParamMinDate]: 'Earliest date (YYYY-MM-DD)',\n\t[keys.ruleParamMaxDate]: 'Latest date (YYYY-MM-DD)',\n\t[keys.ruleParamPattern]: 'Pattern',\n\t[keys.ruleParamFlags]: 'Flags',\n\t[keys.ruleParamValues]: 'Allowed values',\n\t[keys.ruleParamField]: 'Field name',\n\t[keys.validationsLabel]: 'Validation rules',\n\t[keys.validationMessageLabel]: 'Custom message',\n\t[keys.validationSeverityLabel]: 'Severity',\n\t[keys.validationSeverityError]: 'Error',\n\t[keys.validationSeverityWarning]: 'Warning',\n\t[keys.conditionAddCondition]: 'Add condition',\n\t[keys.conditionAddOr]: 'Add \"or\" group',\n\t[keys.conditionAnd]: 'And',\n\t[keys.conditionOr]: 'Or',\n\t[keys.conditionRemove]: 'Remove',\n\t[keys.conditionNoFields]: 'Add named fields to this form to build a condition.',\n\t[keys.conditionEmpty]: 'No conditions. This field is always shown.',\n\t[keys.conditionSelectField]: 'Select a field',\n\t[keys.conditionTrue]: 'True',\n\t[keys.conditionFalse]: 'False',\n\t[keys.configHidden]: 'Hidden (capture without showing)',\n\t[keys.tabFields]: 'Fields',\n\t[keys.tabFlow]: 'Flow',\n\t[keys.tabActions]: 'Actions',\n\t[keys.tabField]: 'Field',\n\t[keys.tabValidation]: 'Validation',\n\t[keys.tabAdvanced]: 'Advanced',\n\t[keys.fieldTypeCalculation]: 'Calculation',\n\t[keys.configExpression]: 'Expression (JSON)',\n\t[keys.configExpressionDescription]:\n\t\t'Expression tree of nodes {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Example: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}',\n\t[keys.configCalcDisplay]: 'Show computed value',\n\t[keys.validationCalcExpressionInvalid]: 'Enter a valid calculation expression',\n\t[keys.presentationPage]: 'Page',\n\t[keys.presentationModal]: 'Modal',\n\t[keys.presentationDrawer]: 'Drawer',\n\t[keys.presentationInline]: 'Inline',\n\t[keys.actionEmailTeam]: 'Email team',\n\t[keys.actionConfirmation]: 'Confirmation email',\n\t[keys.actionSignedWebhook]: 'Signed webhook',\n\t[keys.actionConfigTo]: 'To',\n\t[keys.actionConfigSubject]: 'Subject',\n\t[keys.actionConfigBody]: 'Body',\n\t[keys.actionConfigBodyDescription]:\n\t\t'Supports {{ fieldName|fallback }} tokens, {{*}} for all answers as lines, and {{*:table}} for all answers as a table.',\n\t[keys.actionConfigToField]: 'Email field name',\n\t[keys.actionConfigToFieldDescription]:\n\t\t'The email field on this form the confirmation is sent to.',\n\t[keys.actionConfigUrl]: 'URL',\n\t[keys.actionConfigUrlDescription]:\n\t\t'The endpoint that receives a signed JSON POST for each submission.',\n\t[keys.actionConfigSecret]: 'Secret',\n\t[keys.actionConfigSecretDescription]:\n\t\t'HMAC key used for the X-Form-Signature header, shared with the receiver.',\n\t[keys.validationUrlInvalid]: 'Enter a valid http or https URL',\n\t[keys.configActions]: 'Actions',\n\t[keys.consentSourceStatic]: 'Static text',\n\t[keys.consentSourcePageReference]: 'Page reference',\n\t[keys.consentConfigLabel]: 'Label',\n\t[keys.consentConfigUrl]: 'URL',\n\t[keys.consentConfigVersion]: 'Version',\n\t[keys.consentConfigRelationTo]: 'Collection',\n\t[keys.consentConfigDocId]: 'Document ID',\n\t[keys.consentConfigUrlField]: 'URL field',\n\t[keys.consentConfigCaptureVersion]: 'Capture published version',\n\t[keys.fieldTypeConsent]: 'Consent',\n\t[keys.consentConfigStatement]: 'Statement',\n\t[keys.consentConfigSource]: 'Source',\n\t[keys.consentConfigSourceConfig]: 'Source settings',\n\t[keys.consentConfigOptional]: 'Optional (e.g. marketing)',\n\t[keys.resultsResponses]: 'responses',\n\t[keys.resultsNoResponses]: 'No responses yet',\n\t[keys.resultsTruncated]: 'Showing a sample of responses',\n\t[keys.pollGroup]: 'Poll',\n\t[keys.pollEnabled]: 'Enable poll results',\n\t[keys.pollResultsField]: 'Results field (machine name)',\n\t[keys.pollResultsFieldDescription]:\n\t\t'Field whose aggregate results are public. Use a choice field, never a free-text or PII field.',\n\t[keys.pollResultsVisibility]: 'Results visibility',\n\t[keys.pollVisibilityAfterVote]: 'After voting',\n\t[keys.pollVisibilityAfterClose]: 'After the poll closes',\n\t[keys.pollClosesAt]: 'Closes at',\n\t[keys.pollClosed]: 'This poll is closed.',\n\t[keys.pollResultsAfterClose]: 'Results will be shown after the poll closes.',\n\t[keys.pollOptionSource]: 'Option source',\n\t[keys.pollOptionSourceDescription]:\n\t\t'Populate the results field choices from app data instead of hand-authored options.',\n\t[keys.pollSourceConfig]: 'Source settings',\n\t[keys.pollOutcome]: 'Outcome',\n\t[keys.pollWinningValue]: 'Winning value',\n\t[keys.pollResolvedAt]: 'Resolved at',\n\t[keys.pollOptionsUnavailable]: 'Poll options are currently unavailable. Please try again later.',\n\t[keys.pollFinalResult]: 'Final result',\n\t[keys.resultsWinner]: 'Winner',\n\t[keys.validationFileMissing]: 'Upload a file',\n\t[keys.validationFileMimeType]: 'File type not allowed',\n\t[keys.validationFileTooLarge]: 'File is too large',\n\t[keys.fieldTypeFile]: 'File upload',\n\t[keys.fileConfigMimeTypes]: 'Allowed file types',\n\t[keys.fileConfigMaxSize]: 'Maximum size (bytes)',\n\t[keys.fileConfigMaxSizeDescription]: 'Files larger than this are rejected.',\n\t[keys.fileTooLarge]: 'File is too large (max {max})',\n\t[keys.fileUploadMisconfigured]: 'File uploads are not configured for this form',\n\t[keys.fileHintAccepted]: 'Accepted: {types}',\n\t[keys.fileHintMaxSize]: 'Max size: {max}',\n\t[keys.spamRateLimited]: 'You have sent too many requests. Please try again later.',\n\t[keys.spamRejected]: 'Your submission could not be processed.',\n\t[keys.spamCaptchaFailed]: 'Captcha verification failed. Please try again.',\n\t[keys.collectionFormSingular]: 'Form',\n\t[keys.collectionFormPlural]: 'Forms',\n\t[keys.collectionSubmissionSingular]: 'Submission',\n\t[keys.collectionSubmissionPlural]: 'Submissions',\n\t[keys.statusComplete]: 'Complete',\n\t[keys.statusPartial]: 'Partial',\n\t[keys.fieldTypeRepeater]: 'Repeater',\n\t[keys.configMinRows]: 'Minimum rows',\n\t[keys.configMaxRows]: 'Maximum rows',\n\t[keys.configAddLabel]: 'Add button label',\n\t[keys.configSubFields]: 'Sub-fields',\n\t[keys.validationRepeaterMin]: 'Add at least {min} row(s)',\n\t[keys.validationRepeaterMax]: 'Remove rows to stay within {max}',\n\t[keys.repeaterAddRow]: 'Add row',\n\t[keys.repeaterRemoveRow]: 'Remove',\n\t[keys.repeaterRow]: 'Row {n}',\n\t[keys.repeaterRowCount]: '{count} row(s)',\n\t[keys.submissionConsent]: 'Consent',\n\t[keys.submissionDetails]: 'Submission details',\n\t[keys.submissionConsentAgreed]: 'Agreed',\n\t[keys.submissionConsentDeclined]: 'Declined',\n\t[keys.submissionMetaReceivedAt]: 'Received at',\n\t[keys.submissionMetaIp]: 'IP address',\n\t[keys.submissionMetaUserAgent]: 'User agent',\n\t[keys.submissionMetaCaptcha]: 'Captcha',\n\t[keys.flowDescription]:\n\t\t'Only needed for multi-step forms: group fields into steps and route between them. Leave empty to show the form as a single page.',\n\t[keys.flowStepFallbackTitle]: 'Step {n}',\n\t[keys.flowFieldInStep]: 'in {step}',\n\t[keys.flowUnassigned]: 'Not in any step',\n\t[keys.flowAssignToStep]: 'Add to step',\n\t[keys.flowNextTerminal]: 'End of form',\n\t[keys.fieldTypeMessage]: 'Message',\n\t[keys.configContent]: 'Content',\n\t[keys.tabResponse]: 'Response',\n\t[keys.responseType]: 'After submit',\n\t[keys.responseTypeMessage]: 'Show a message',\n\t[keys.responseTypeRedirect]: 'Redirect to a URL',\n\t[keys.responseMessage]: 'Message',\n\t[keys.responseRedirect]: 'Redirect',\n\t[keys.responseUrl]: 'URL',\n\t[keys.responseSubmitLabel]: 'Submit button label',\n\t[keys.tabDisplay]: 'Display',\n\t[keys.displayShowTitle]: 'Show title',\n\t[keys.displayTitle]: 'Display title',\n\t[keys.displayIntro]: 'Intro',\n\t[keys.formBack]: 'Back',\n\t[keys.formNext]: 'Next',\n\t[keys.formSubmit]: 'Submit',\n}\n"],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@ import { TranslationKey, keys } from "./keys.js";
|
|
|
5
5
|
type TranslationsOption = {
|
|
6
6
|
[locale: string]: Partial<Record<TranslationKey, string>>;
|
|
7
7
|
};
|
|
8
|
-
/** Per-locale messages merged into `config.i18n.translations`.
|
|
8
|
+
/** Per-locale messages merged into `config.i18n.translations`. */
|
|
9
9
|
declare const translations: {
|
|
10
10
|
en: Record<string, Record<string, string>>;
|
|
11
|
+
de: Record<string, Record<string, string>>;
|
|
11
12
|
};
|
|
12
13
|
//#endregion
|
|
13
14
|
export { TranslationsOption, translations };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./keys.js";
|
|
2
|
+
import { de } from "./de.js";
|
|
2
3
|
import { en } from "./en.js";
|
|
3
4
|
//#region src/translations/index.ts
|
|
4
5
|
/**
|
|
@@ -18,8 +19,11 @@ const toNested = (flat) => {
|
|
|
18
19
|
}
|
|
19
20
|
return out;
|
|
20
21
|
};
|
|
21
|
-
/** Per-locale messages merged into `config.i18n.translations`.
|
|
22
|
-
const translations = {
|
|
22
|
+
/** Per-locale messages merged into `config.i18n.translations`. */
|
|
23
|
+
const translations = {
|
|
24
|
+
en: toNested(en),
|
|
25
|
+
de: toNested(de)
|
|
26
|
+
};
|
|
23
27
|
//#endregion
|
|
24
28
|
export { toNested, translations };
|
|
25
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/translations/index.ts"],"sourcesContent":["import { en } from './en'\nimport type { TranslationKey } from './keys'\n\nexport type { TranslationKey } from './keys'\nexport { keys } from './keys'\n\n/** Per-locale string overrides keyed by this plugin's typed translation keys. */\nexport type TranslationsOption = {\n\t[locale: string]: Partial<Record<TranslationKey, string>>\n}\n\n/**\n * Flat `formBuilder:foo` entries to the nested `{ formBuilder: { foo } }`\n * shape Payload resolves `t('formBuilder:foo')` against (it splits on `:`).\n * Undefined values are skipped so `Partial` override maps pass through.\n */\nexport const toNested = (flat: {\n\t[key: string]: string | undefined\n}): Record<string, Record<string, string>> => {\n\tconst out: Record<string, Record<string, string>> = {}\n\tfor (const [fullKey, value] of Object.entries(flat)) {\n\t\tif (typeof value !== 'string') {\n\t\t\tcontinue\n\t\t}\n\t\tconst separator = fullKey.indexOf(':')\n\t\tconst namespace = fullKey.slice(0, separator)\n\t\tconst bucket = out[namespace] ?? {}\n\t\tbucket[fullKey.slice(separator + 1)] = value\n\t\tout[namespace] = bucket\n\t}\n\treturn out\n}\n\n/** Per-locale messages merged into `config.i18n.translations`.
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/translations/index.ts"],"sourcesContent":["import { de } from './de'\nimport { en } from './en'\nimport type { TranslationKey } from './keys'\n\nexport type { TranslationKey } from './keys'\nexport { keys } from './keys'\n\n/** Per-locale string overrides keyed by this plugin's typed translation keys. */\nexport type TranslationsOption = {\n\t[locale: string]: Partial<Record<TranslationKey, string>>\n}\n\n/**\n * Flat `formBuilder:foo` entries to the nested `{ formBuilder: { foo } }`\n * shape Payload resolves `t('formBuilder:foo')` against (it splits on `:`).\n * Undefined values are skipped so `Partial` override maps pass through.\n */\nexport const toNested = (flat: {\n\t[key: string]: string | undefined\n}): Record<string, Record<string, string>> => {\n\tconst out: Record<string, Record<string, string>> = {}\n\tfor (const [fullKey, value] of Object.entries(flat)) {\n\t\tif (typeof value !== 'string') {\n\t\t\tcontinue\n\t\t}\n\t\tconst separator = fullKey.indexOf(':')\n\t\tconst namespace = fullKey.slice(0, separator)\n\t\tconst bucket = out[namespace] ?? {}\n\t\tbucket[fullKey.slice(separator + 1)] = value\n\t\tout[namespace] = bucket\n\t}\n\treturn out\n}\n\n/** Per-locale messages merged into `config.i18n.translations`. */\nexport const translations = {\n\ten: toNested(en),\n\tde: toNested(de),\n}\n"],"mappings":";;;;;;;;;AAiBA,MAAa,YAAY,SAEqB;CAC7C,MAAM,MAA8C,CAAC;CACrD,KAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,IAAI,GAAG;EACpD,IAAI,OAAO,UAAU,UACpB;EAED,MAAM,YAAY,QAAQ,QAAQ,GAAG;EACrC,MAAM,YAAY,QAAQ,MAAM,GAAG,SAAS;EAC5C,MAAM,SAAS,IAAI,cAAc,CAAC;EAClC,OAAO,QAAQ,MAAM,YAAY,CAAC,KAAK;EACvC,IAAI,aAAa;CAClB;CACA,OAAO;AACR;;AAGA,MAAa,eAAe;CAC3B,IAAI,SAAS,EAAE;CACf,IAAI,SAAS,EAAE;AAChB"}
|
|
@@ -94,7 +94,6 @@ declare const keys: {
|
|
|
94
94
|
readonly configExpressionDescription: "formBuilder:config.expressionDescription";
|
|
95
95
|
readonly configCalcDisplay: "formBuilder:config.calcDisplay";
|
|
96
96
|
readonly validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid";
|
|
97
|
-
readonly configDefaultPresentation: "formBuilder:config.defaultPresentation";
|
|
98
97
|
readonly presentationPage: "formBuilder:presentation.page";
|
|
99
98
|
readonly presentationModal: "formBuilder:presentation.modal";
|
|
100
99
|
readonly presentationDrawer: "formBuilder:presentation.drawer";
|
|
@@ -131,17 +130,34 @@ declare const keys: {
|
|
|
131
130
|
readonly resultsResponses: "formBuilder:results.responses";
|
|
132
131
|
readonly resultsNoResponses: "formBuilder:results.noResponses";
|
|
133
132
|
readonly resultsTruncated: "formBuilder:results.truncated";
|
|
134
|
-
readonly
|
|
135
|
-
readonly
|
|
133
|
+
readonly pollGroup: "formBuilder:poll.group";
|
|
134
|
+
readonly pollEnabled: "formBuilder:poll.enabled";
|
|
135
|
+
readonly pollResultsField: "formBuilder:poll.resultsField";
|
|
136
|
+
readonly pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription";
|
|
137
|
+
readonly pollResultsVisibility: "formBuilder:poll.resultsVisibility";
|
|
138
|
+
readonly pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote";
|
|
139
|
+
readonly pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose";
|
|
140
|
+
readonly pollClosesAt: "formBuilder:poll.closesAt";
|
|
141
|
+
readonly pollClosed: "formBuilder:poll.closed";
|
|
142
|
+
readonly pollResultsAfterClose: "formBuilder:poll.resultsAfterClose";
|
|
143
|
+
readonly pollOptionSource: "formBuilder:poll.optionSource";
|
|
144
|
+
readonly pollOptionSourceDescription: "formBuilder:poll.optionSourceDescription";
|
|
145
|
+
readonly pollSourceConfig: "formBuilder:poll.sourceConfig";
|
|
146
|
+
readonly pollOutcome: "formBuilder:poll.outcome";
|
|
147
|
+
readonly pollWinningValue: "formBuilder:poll.winningValue";
|
|
148
|
+
readonly pollResolvedAt: "formBuilder:poll.resolvedAt";
|
|
149
|
+
readonly pollOptionsUnavailable: "formBuilder:poll.optionsUnavailable";
|
|
150
|
+
readonly pollFinalResult: "formBuilder:poll.finalResult";
|
|
151
|
+
readonly resultsWinner: "formBuilder:results.winner";
|
|
136
152
|
readonly validationFileMissing: "formBuilder:validation.file.missing";
|
|
137
153
|
readonly validationFileMimeType: "formBuilder:validation.file.mimeType";
|
|
138
154
|
readonly validationFileTooLarge: "formBuilder:validation.file.tooLarge";
|
|
139
155
|
readonly fieldTypeFile: "formBuilder:fieldType.file";
|
|
140
|
-
readonly fileConfigRelationTo: "formBuilder:file.config.relationTo";
|
|
141
156
|
readonly fileConfigMimeTypes: "formBuilder:file.config.mimeTypes";
|
|
142
157
|
readonly fileConfigMaxSize: "formBuilder:file.config.maxSize";
|
|
143
158
|
readonly fileConfigMaxSizeDescription: "formBuilder:file.config.maxSizeDescription";
|
|
144
159
|
readonly fileTooLarge: "formBuilder:file.tooLarge";
|
|
160
|
+
readonly fileUploadMisconfigured: "formBuilder:file.uploadMisconfigured";
|
|
145
161
|
readonly fileHintAccepted: "formBuilder:file.hint.accepted";
|
|
146
162
|
readonly fileHintMaxSize: "formBuilder:file.hint.maxSize";
|
|
147
163
|
readonly spamRateLimited: "formBuilder:spam.rateLimited";
|
|
@@ -172,6 +188,29 @@ declare const keys: {
|
|
|
172
188
|
readonly submissionMetaIp: "formBuilder:submission.meta.ip";
|
|
173
189
|
readonly submissionMetaUserAgent: "formBuilder:submission.meta.userAgent";
|
|
174
190
|
readonly submissionMetaCaptcha: "formBuilder:submission.meta.captcha";
|
|
191
|
+
readonly flowDescription: "formBuilder:flow.description";
|
|
192
|
+
readonly flowStepFallbackTitle: "formBuilder:flow.stepFallbackTitle";
|
|
193
|
+
readonly flowFieldInStep: "formBuilder:flow.fieldInStep";
|
|
194
|
+
readonly flowUnassigned: "formBuilder:flow.unassigned";
|
|
195
|
+
readonly flowAssignToStep: "formBuilder:flow.assignToStep";
|
|
196
|
+
readonly flowNextTerminal: "formBuilder:flow.nextTerminal";
|
|
197
|
+
readonly fieldTypeMessage: "formBuilder:fieldType.message";
|
|
198
|
+
readonly configContent: "formBuilder:config.content";
|
|
199
|
+
readonly tabResponse: "formBuilder:tab.response";
|
|
200
|
+
readonly responseType: "formBuilder:response.type";
|
|
201
|
+
readonly responseTypeMessage: "formBuilder:response.type.message";
|
|
202
|
+
readonly responseTypeRedirect: "formBuilder:response.type.redirect";
|
|
203
|
+
readonly responseMessage: "formBuilder:response.message";
|
|
204
|
+
readonly responseRedirect: "formBuilder:response.redirect";
|
|
205
|
+
readonly responseUrl: "formBuilder:response.url";
|
|
206
|
+
readonly responseSubmitLabel: "formBuilder:response.submitLabel";
|
|
207
|
+
readonly tabDisplay: "formBuilder:tab.display";
|
|
208
|
+
readonly displayShowTitle: "formBuilder:display.showTitle";
|
|
209
|
+
readonly displayTitle: "formBuilder:display.title";
|
|
210
|
+
readonly displayIntro: "formBuilder:display.intro";
|
|
211
|
+
readonly formBack: "formBuilder:form.back";
|
|
212
|
+
readonly formNext: "formBuilder:form.next";
|
|
213
|
+
readonly formSubmit: "formBuilder:form.submit";
|
|
175
214
|
};
|
|
176
215
|
type TranslationKey = (typeof keys)[keyof typeof keys];
|
|
177
216
|
//#endregion
|
|
@@ -94,7 +94,6 @@ const keys = {
|
|
|
94
94
|
configExpressionDescription: "formBuilder:config.expressionDescription",
|
|
95
95
|
configCalcDisplay: "formBuilder:config.calcDisplay",
|
|
96
96
|
validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid",
|
|
97
|
-
configDefaultPresentation: "formBuilder:config.defaultPresentation",
|
|
98
97
|
presentationPage: "formBuilder:presentation.page",
|
|
99
98
|
presentationModal: "formBuilder:presentation.modal",
|
|
100
99
|
presentationDrawer: "formBuilder:presentation.drawer",
|
|
@@ -131,17 +130,34 @@ const keys = {
|
|
|
131
130
|
resultsResponses: "formBuilder:results.responses",
|
|
132
131
|
resultsNoResponses: "formBuilder:results.noResponses",
|
|
133
132
|
resultsTruncated: "formBuilder:results.truncated",
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
pollGroup: "formBuilder:poll.group",
|
|
134
|
+
pollEnabled: "formBuilder:poll.enabled",
|
|
135
|
+
pollResultsField: "formBuilder:poll.resultsField",
|
|
136
|
+
pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription",
|
|
137
|
+
pollResultsVisibility: "formBuilder:poll.resultsVisibility",
|
|
138
|
+
pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote",
|
|
139
|
+
pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose",
|
|
140
|
+
pollClosesAt: "formBuilder:poll.closesAt",
|
|
141
|
+
pollClosed: "formBuilder:poll.closed",
|
|
142
|
+
pollResultsAfterClose: "formBuilder:poll.resultsAfterClose",
|
|
143
|
+
pollOptionSource: "formBuilder:poll.optionSource",
|
|
144
|
+
pollOptionSourceDescription: "formBuilder:poll.optionSourceDescription",
|
|
145
|
+
pollSourceConfig: "formBuilder:poll.sourceConfig",
|
|
146
|
+
pollOutcome: "formBuilder:poll.outcome",
|
|
147
|
+
pollWinningValue: "formBuilder:poll.winningValue",
|
|
148
|
+
pollResolvedAt: "formBuilder:poll.resolvedAt",
|
|
149
|
+
pollOptionsUnavailable: "formBuilder:poll.optionsUnavailable",
|
|
150
|
+
pollFinalResult: "formBuilder:poll.finalResult",
|
|
151
|
+
resultsWinner: "formBuilder:results.winner",
|
|
136
152
|
validationFileMissing: "formBuilder:validation.file.missing",
|
|
137
153
|
validationFileMimeType: "formBuilder:validation.file.mimeType",
|
|
138
154
|
validationFileTooLarge: "formBuilder:validation.file.tooLarge",
|
|
139
155
|
fieldTypeFile: "formBuilder:fieldType.file",
|
|
140
|
-
fileConfigRelationTo: "formBuilder:file.config.relationTo",
|
|
141
156
|
fileConfigMimeTypes: "formBuilder:file.config.mimeTypes",
|
|
142
157
|
fileConfigMaxSize: "formBuilder:file.config.maxSize",
|
|
143
158
|
fileConfigMaxSizeDescription: "formBuilder:file.config.maxSizeDescription",
|
|
144
159
|
fileTooLarge: "formBuilder:file.tooLarge",
|
|
160
|
+
fileUploadMisconfigured: "formBuilder:file.uploadMisconfigured",
|
|
145
161
|
fileHintAccepted: "formBuilder:file.hint.accepted",
|
|
146
162
|
fileHintMaxSize: "formBuilder:file.hint.maxSize",
|
|
147
163
|
spamRateLimited: "formBuilder:spam.rateLimited",
|
|
@@ -171,7 +187,30 @@ const keys = {
|
|
|
171
187
|
submissionMetaReceivedAt: "formBuilder:submission.meta.receivedAt",
|
|
172
188
|
submissionMetaIp: "formBuilder:submission.meta.ip",
|
|
173
189
|
submissionMetaUserAgent: "formBuilder:submission.meta.userAgent",
|
|
174
|
-
submissionMetaCaptcha: "formBuilder:submission.meta.captcha"
|
|
190
|
+
submissionMetaCaptcha: "formBuilder:submission.meta.captcha",
|
|
191
|
+
flowDescription: "formBuilder:flow.description",
|
|
192
|
+
flowStepFallbackTitle: "formBuilder:flow.stepFallbackTitle",
|
|
193
|
+
flowFieldInStep: "formBuilder:flow.fieldInStep",
|
|
194
|
+
flowUnassigned: "formBuilder:flow.unassigned",
|
|
195
|
+
flowAssignToStep: "formBuilder:flow.assignToStep",
|
|
196
|
+
flowNextTerminal: "formBuilder:flow.nextTerminal",
|
|
197
|
+
fieldTypeMessage: "formBuilder:fieldType.message",
|
|
198
|
+
configContent: "formBuilder:config.content",
|
|
199
|
+
tabResponse: "formBuilder:tab.response",
|
|
200
|
+
responseType: "formBuilder:response.type",
|
|
201
|
+
responseTypeMessage: "formBuilder:response.type.message",
|
|
202
|
+
responseTypeRedirect: "formBuilder:response.type.redirect",
|
|
203
|
+
responseMessage: "formBuilder:response.message",
|
|
204
|
+
responseRedirect: "formBuilder:response.redirect",
|
|
205
|
+
responseUrl: "formBuilder:response.url",
|
|
206
|
+
responseSubmitLabel: "formBuilder:response.submitLabel",
|
|
207
|
+
tabDisplay: "formBuilder:tab.display",
|
|
208
|
+
displayShowTitle: "formBuilder:display.showTitle",
|
|
209
|
+
displayTitle: "formBuilder:display.title",
|
|
210
|
+
displayIntro: "formBuilder:display.intro",
|
|
211
|
+
formBack: "formBuilder:form.back",
|
|
212
|
+
formNext: "formBuilder:form.next",
|
|
213
|
+
formSubmit: "formBuilder:form.submit"
|
|
175
214
|
};
|
|
176
215
|
//#endregion
|
|
177
216
|
export { keys };
|