@frigear-nu/forms 0.0.5 → 0.0.7
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/README.md +16 -1
- package/dist/module.d.mts +148 -8
- package/dist/module.json +1 -1
- package/dist/module.mjs +64 -35
- package/dist/runtime/app/components/FormBuilder.d.vue.ts +26 -0
- package/dist/runtime/app/components/FormBuilder.vue +220 -0
- package/dist/runtime/app/components/FormBuilder.vue.d.ts +26 -0
- package/dist/runtime/app/components/FormBuilderAccess.d.vue.ts +16 -0
- package/dist/runtime/app/components/FormBuilderAccess.vue +404 -0
- package/dist/runtime/app/components/FormBuilderAccess.vue.d.ts +16 -0
- package/dist/runtime/app/components/FormBuilderCaptchaSettings.d.vue.ts +15 -0
- package/dist/runtime/app/components/FormBuilderCaptchaSettings.vue +126 -0
- package/dist/runtime/app/components/FormBuilderCaptchaSettings.vue.d.ts +15 -0
- package/dist/runtime/app/components/FormBuilderCondition.d.vue.ts +16 -0
- package/dist/runtime/app/components/FormBuilderCondition.vue +62 -0
- package/dist/runtime/app/components/FormBuilderCondition.vue.d.ts +16 -0
- package/dist/runtime/app/components/FormBuilderFieldRow.d.vue.ts +27 -0
- package/dist/runtime/app/components/FormBuilderFieldRow.vue +87 -0
- package/dist/runtime/app/components/FormBuilderFieldRow.vue.d.ts +27 -0
- package/dist/runtime/app/components/FormBuilderFieldSettings.d.vue.ts +25 -0
- package/dist/runtime/app/components/FormBuilderFieldSettings.vue +170 -0
- package/dist/runtime/app/components/FormBuilderFieldSettings.vue.d.ts +25 -0
- package/dist/runtime/app/components/FormBuilderInsertRow.d.vue.ts +20 -0
- package/dist/runtime/app/components/FormBuilderInsertRow.vue +51 -0
- package/dist/runtime/app/components/FormBuilderInsertRow.vue.d.ts +20 -0
- package/dist/runtime/app/components/FormBuilderOptions.d.vue.ts +11 -0
- package/dist/runtime/app/components/FormBuilderOptions.vue +81 -0
- package/dist/runtime/app/components/FormBuilderOptions.vue.d.ts +11 -0
- package/dist/runtime/app/components/FormBuilderPhoneSettings.d.vue.ts +11 -0
- package/dist/runtime/app/components/FormBuilderPhoneSettings.vue +63 -0
- package/dist/runtime/app/components/FormBuilderPhoneSettings.vue.d.ts +11 -0
- package/dist/runtime/app/components/FormBuilderSettings.d.vue.ts +11 -0
- package/dist/runtime/app/components/FormBuilderSettings.vue +233 -0
- package/dist/runtime/app/components/FormBuilderSettings.vue.d.ts +11 -0
- package/dist/runtime/app/components/FormBuilderStepHeader.d.vue.ts +27 -0
- package/dist/runtime/app/components/FormBuilderStepHeader.vue +71 -0
- package/dist/runtime/app/components/FormBuilderStepHeader.vue.d.ts +27 -0
- package/dist/runtime/app/components/FormBuilderStepSettings.d.vue.ts +13 -0
- package/dist/runtime/app/components/FormBuilderStepSettings.vue +33 -0
- package/dist/runtime/app/components/FormBuilderStepSettings.vue.d.ts +13 -0
- package/dist/runtime/app/components/FormBuilderText.d.vue.ts +19 -0
- package/dist/runtime/app/components/FormBuilderText.vue +127 -0
- package/dist/runtime/app/components/FormBuilderText.vue.d.ts +19 -0
- package/dist/runtime/app/components/FormCaptcha.d.vue.ts +19 -0
- package/dist/runtime/app/components/FormCaptcha.vue +95 -0
- package/dist/runtime/app/components/FormCaptcha.vue.d.ts +19 -0
- package/dist/runtime/app/components/FormEmbed.d.vue.ts +17 -0
- package/dist/runtime/app/components/FormEmbed.vue +113 -0
- package/dist/runtime/app/components/FormEmbed.vue.d.ts +17 -0
- package/dist/runtime/app/components/FormField.d.vue.ts +4 -0
- package/dist/runtime/app/components/FormField.vue +35 -3
- package/dist/runtime/app/components/FormField.vue.d.ts +4 -0
- package/dist/runtime/app/components/FormPhoneInput.d.vue.ts +20 -0
- package/dist/runtime/app/components/FormPhoneInput.vue +56 -0
- package/dist/runtime/app/components/FormPhoneInput.vue.d.ts +20 -0
- package/dist/runtime/app/components/FormPreview.d.vue.ts +12 -0
- package/dist/runtime/app/components/FormPreview.vue +244 -0
- package/dist/runtime/app/components/FormPreview.vue.d.ts +12 -0
- package/dist/runtime/app/components/FormRenderer.d.vue.ts +6 -0
- package/dist/runtime/app/components/FormRenderer.vue +16 -7
- package/dist/runtime/app/components/FormRenderer.vue.d.ts +6 -0
- package/dist/runtime/app/components/FormSubmissionView.vue +2 -2
- package/dist/runtime/app/composables/index.d.ts +4 -1
- package/dist/runtime/app/composables/index.js +4 -1
- package/dist/runtime/app/composables/useCaptcha.d.ts +22 -0
- package/dist/runtime/app/composables/useCaptcha.js +39 -0
- package/dist/runtime/app/composables/useCaptchaSecrets.d.ts +7 -0
- package/dist/runtime/app/composables/useCaptchaSecrets.js +69 -0
- package/dist/runtime/app/composables/useFormBuilderEditor.d.ts +49 -0
- package/dist/runtime/app/composables/useFormBuilderEditor.js +210 -0
- package/dist/runtime/app/composables/useFormBuilderLabels.d.ts +8 -0
- package/dist/runtime/app/composables/useFormBuilderLabels.js +41 -0
- package/dist/runtime/app/composables/useForms.d.ts +18 -3
- package/dist/runtime/app/composables/useForms.js +38 -5
- package/dist/runtime/app/pages/admin-form.vue +112 -69
- package/dist/runtime/app/pages/admin-submission.vue +7 -16
- package/dist/runtime/app/pages/admin-submissions.vue +41 -46
- package/dist/runtime/app/pages/admin.vue +128 -44
- package/dist/runtime/app/pages/form.vue +71 -5
- package/dist/runtime/i18n/lang/da.json +237 -3
- package/dist/runtime/i18n/lang/en.json +237 -3
- package/dist/runtime/menus.js +12 -0
- package/dist/runtime/server/db/schema.sqlite.d.ts +283 -0
- package/dist/runtime/server/db/schema.sqlite.js +33 -1
- package/dist/runtime/server/mcp/schemas.d.ts +9 -0
- package/dist/runtime/server/mcp/schemas.js +8 -0
- package/dist/runtime/server/mcp/tools/admin/create-form.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/create-form.js +21 -0
- package/dist/runtime/server/mcp/tools/admin/get-form-definition.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/get-form-definition.js +14 -0
- package/dist/runtime/server/mcp/tools/admin/get-submission.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/get-submission.js +26 -0
- package/dist/runtime/server/mcp/tools/admin/list-all-forms.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/list-all-forms.js +21 -0
- package/dist/runtime/server/mcp/tools/admin/list-submissions.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/list-submissions.js +22 -0
- package/dist/runtime/server/mcp/tools/admin/update-form.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/admin/update-form.js +24 -0
- package/dist/runtime/server/mcp/tools/get-form.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/get-form.js +12 -0
- package/dist/runtime/server/mcp/tools/list-forms.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/list-forms.js +11 -0
- package/dist/runtime/server/mcp/tools/submit-form.d.ts +2 -0
- package/dist/runtime/server/mcp/tools/submit-form.js +17 -0
- package/dist/runtime/server/plugins/email-delivery.js +16 -11
- package/dist/runtime/server/plugins/encryption.d.ts +2 -0
- package/dist/runtime/server/plugins/encryption.js +4 -0
- package/dist/runtime/server/plugins/staff-scopes.d.ts +2 -0
- package/dist/runtime/server/plugins/staff-scopes.js +1 -0
- package/dist/runtime/server/routes/admin/form-clone.post.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-clone.post.js +17 -0
- package/dist/runtime/server/routes/admin/form-password.delete.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-password.delete.js +8 -0
- package/dist/runtime/server/routes/admin/form-password.get.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-password.get.js +8 -0
- package/dist/runtime/server/routes/admin/form-password.put.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-password.put.js +14 -0
- package/dist/runtime/server/routes/admin/form-secret.delete.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-secret.delete.js +8 -0
- package/dist/runtime/server/routes/admin/form-secrets.get.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-secrets.get.js +5 -0
- package/dist/runtime/server/routes/admin/form-secrets.put.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-secrets.put.js +12 -0
- package/dist/runtime/server/routes/admin/form-token.delete.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-token.delete.js +12 -0
- package/dist/runtime/server/routes/admin/form-tokens.get.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-tokens.get.js +8 -0
- package/dist/runtime/server/routes/admin/form-tokens.post.d.ts +2 -0
- package/dist/runtime/server/routes/admin/form-tokens.post.js +12 -0
- package/dist/runtime/server/routes/admin/form.get.js +5 -1
- package/dist/runtime/server/routes/admin/form.patch.js +3 -12
- package/dist/runtime/server/routes/admin/forms.post.js +1 -6
- package/dist/runtime/server/routes/public/access.get.d.ts +2 -0
- package/dist/runtime/server/routes/public/access.get.js +3 -0
- package/dist/runtime/server/routes/public/form.get.js +3 -1
- package/dist/runtime/server/routes/public/submit.post.js +2 -2
- package/dist/runtime/server/utils/access.d.ts +27 -0
- package/dist/runtime/server/utils/access.js +63 -0
- package/dist/runtime/server/utils/admin-schemas.d.ts +219 -15
- package/dist/runtime/server/utils/auth.d.ts +7 -7
- package/dist/runtime/server/utils/auth.js +4 -4
- package/dist/runtime/server/utils/captcha.d.ts +10 -0
- package/dist/runtime/server/utils/captcha.js +25 -0
- package/dist/runtime/server/utils/crypto.d.ts +18 -0
- package/dist/runtime/server/utils/crypto.js +48 -0
- package/dist/runtime/server/utils/forms.d.ts +6 -1
- package/dist/runtime/server/utils/forms.js +28 -0
- package/dist/runtime/server/utils/mcp-access.d.ts +9 -0
- package/dist/runtime/server/utils/mcp-access.js +8 -0
- package/dist/runtime/server/utils/rate-limit.d.ts +3 -0
- package/dist/runtime/server/utils/rate-limit.js +19 -0
- package/dist/runtime/server/utils/render.d.ts +2 -11
- package/dist/runtime/server/utils/render.js +1 -26
- package/dist/runtime/server/utils/secrets.d.ts +28 -0
- package/dist/runtime/server/utils/secrets.js +60 -0
- package/dist/runtime/server/utils/submit.d.ts +12 -1
- package/dist/runtime/server/utils/submit.js +18 -4
- package/dist/runtime/utils/builder.d.ts +73 -0
- package/dist/runtime/utils/builder.js +220 -0
- package/dist/runtime/utils/captcha.d.ts +9 -0
- package/dist/runtime/utils/captcha.js +7 -0
- package/dist/runtime/utils/conditions.d.ts +3 -1
- package/dist/runtime/utils/conditions.js +4 -0
- package/dist/runtime/utils/definition.d.ts +116 -6
- package/dist/runtime/utils/definition.js +53 -4
- package/dist/runtime/utils/embed.d.ts +8 -0
- package/dist/runtime/utils/embed.js +7 -0
- package/dist/runtime/utils/index.d.ts +16 -3
- package/dist/runtime/utils/index.js +66 -3
- package/dist/runtime/utils/markdown.d.ts +1 -5
- package/dist/runtime/utils/markdown.js +1 -5
- package/dist/runtime/utils/phone.d.ts +29 -0
- package/dist/runtime/utils/phone.js +294 -0
- package/dist/runtime/utils/preview.d.ts +12 -0
- package/dist/runtime/utils/preview.js +17 -0
- package/dist/runtime/utils/schedule.d.ts +1 -0
- package/dist/runtime/utils/schedule.js +1 -0
- package/dist/runtime/utils/schema.d.ts +2 -0
- package/dist/runtime/utils/schema.js +12 -4
- package/dist/runtime/utils/template.d.ts +57 -0
- package/dist/runtime/utils/template.js +147 -0
- package/dist/runtime/utils/text.d.ts +0 -3
- package/dist/runtime/utils/text.js +0 -5
- package/dist/types.d.mts +5 -1
- package/package.json +14 -5
|
@@ -18,8 +18,26 @@
|
|
|
18
18
|
"invalid": "Tjek de markerede felter.",
|
|
19
19
|
"notFound": "Formularen blev ikke fundet."
|
|
20
20
|
},
|
|
21
|
+
"embed": {
|
|
22
|
+
"signInTitle": "Log ind for at bruge denne formular",
|
|
23
|
+
"signIn": "Log ind"
|
|
24
|
+
},
|
|
21
25
|
"preview": {
|
|
22
|
-
"notSent": "Forhåndsvisning: intet blev sendt."
|
|
26
|
+
"notSent": "Forhåndsvisning: intet blev sendt.",
|
|
27
|
+
"mobile": "Mobil",
|
|
28
|
+
"desktop": "Desktop",
|
|
29
|
+
"reset": "Nulstil",
|
|
30
|
+
"tryIt": "Prøv den",
|
|
31
|
+
"result": "Resultat",
|
|
32
|
+
"resultHint": "Dette ville blive sendt. Intet er indsendt.",
|
|
33
|
+
"copy": "Kopiér",
|
|
34
|
+
"copied": "Kopieret til udklipsholderen.",
|
|
35
|
+
"close": "Luk",
|
|
36
|
+
"tryAgain": "Prøv igen",
|
|
37
|
+
"device": "Enhed"
|
|
38
|
+
},
|
|
39
|
+
"field": {
|
|
40
|
+
"phoneCountry": "Land"
|
|
23
41
|
},
|
|
24
42
|
"value": {
|
|
25
43
|
"yes": "Ja",
|
|
@@ -40,6 +58,7 @@
|
|
|
40
58
|
"required": "Feltet er påkrævet.",
|
|
41
59
|
"email": "Indtast en gyldig e-mailadresse.",
|
|
42
60
|
"tel": "Indtast et gyldigt telefonnummer.",
|
|
61
|
+
"telCountry": "Telefonnumre fra dette land accepteres ikke.",
|
|
43
62
|
"date": "Indtast en gyldig dato.",
|
|
44
63
|
"option": "Vælg en af mulighederne.",
|
|
45
64
|
"min": "Skal være mindst {min}.",
|
|
@@ -49,7 +68,8 @@
|
|
|
49
68
|
"pattern": "Værdien har et ugyldigt format.",
|
|
50
69
|
"maxFiles": "Upload højst {max} fil(er).",
|
|
51
70
|
"maxSize": "{name} er større end {max} MB.",
|
|
52
|
-
"accept": "{name} er ikke en tilladt filtype."
|
|
71
|
+
"accept": "{name} er ikke en tilladt filtype.",
|
|
72
|
+
"captcha": "Udfyld captchaen."
|
|
53
73
|
},
|
|
54
74
|
"admin": {
|
|
55
75
|
"title": "Formularer",
|
|
@@ -57,6 +77,9 @@
|
|
|
57
77
|
"import": "Importér",
|
|
58
78
|
"edit": "Rediger",
|
|
59
79
|
"create": "Opret",
|
|
80
|
+
"copyLink": "Kopiér link",
|
|
81
|
+
"linkCopied": "Link kopieret.",
|
|
82
|
+
"settings": "Levering og lagring",
|
|
60
83
|
"save": "Gem",
|
|
61
84
|
"saved": "Gemt.",
|
|
62
85
|
"name": "Navn",
|
|
@@ -70,6 +93,10 @@
|
|
|
70
93
|
"submissions": "Besvarelser ({count})",
|
|
71
94
|
"submissionsTitle": "Besvarelser",
|
|
72
95
|
"noSubmissions": "Ingen besvarelser endnu.",
|
|
96
|
+
"submittedAt": "Indsendt",
|
|
97
|
+
"answers": "Svar",
|
|
98
|
+
"delivery": "Levering",
|
|
99
|
+
"cancel": "Annuller",
|
|
73
100
|
"redeliver": "Lever igen",
|
|
74
101
|
"forbidden": "Du har ikke adgang til at administrere formularer.",
|
|
75
102
|
"imported": "Importerede {inserted}, sprang {skipped} eksisterende over.",
|
|
@@ -78,7 +105,214 @@
|
|
|
78
105
|
"definition": "Definition (JSON)",
|
|
79
106
|
"invalidDefinition": "Definitionen har fejl",
|
|
80
107
|
"preview": "Forhåndsvisning",
|
|
81
|
-
"previewUnavailable": "Ret definitionen for at se en forhåndsvisning."
|
|
108
|
+
"previewUnavailable": "Ret definitionen for at se en forhåndsvisning.",
|
|
109
|
+
"builder": "Opbygning",
|
|
110
|
+
"json": "JSON",
|
|
111
|
+
"access": "Adgang",
|
|
112
|
+
"clone": "Duplikér"
|
|
113
|
+
},
|
|
114
|
+
"schedule": {
|
|
115
|
+
"closed": "Formularen er lukket.",
|
|
116
|
+
"opensAt": "Den åbner igen {date}.",
|
|
117
|
+
"always": "Altid åben",
|
|
118
|
+
"yearly": "Hvert år (en sæson)",
|
|
119
|
+
"range": "Én fast periode",
|
|
120
|
+
"title": "Åbningsperiode",
|
|
121
|
+
"hint": "Uden for perioden vises en lukket-besked, og indsendelser afvises. En sæson, der slutter før den starter, løber over nytår.",
|
|
122
|
+
"opens": "Åbner",
|
|
123
|
+
"closes": "Lukker",
|
|
124
|
+
"day": "Dag",
|
|
125
|
+
"time": "Tid",
|
|
126
|
+
"timezone": "Tidszone"
|
|
127
|
+
},
|
|
128
|
+
"access": {
|
|
129
|
+
"title": "Hvem kan bruge formularen",
|
|
130
|
+
"availability": "Tilgængelighed",
|
|
131
|
+
"availabilityWeb": "Webside og API",
|
|
132
|
+
"availabilityApi": "Kun API",
|
|
133
|
+
"availabilityWebHint": "Den offentlige side og API'et er begge tilgængelige.",
|
|
134
|
+
"availabilityApiHint": "Ingen offentlig side: formularen kan kun læses og indsendes via API'et.",
|
|
135
|
+
"auth": "Godkendelse",
|
|
136
|
+
"authNone": "Åben for alle",
|
|
137
|
+
"authUser": "Indloggede brugere",
|
|
138
|
+
"authToken": "API-token",
|
|
139
|
+
"authPassword": "Fælles adgangskode",
|
|
140
|
+
"authTokenHint": "Token-formularer er kun til API: en token kan ikke indtastes på en side.",
|
|
141
|
+
"saveHint": "Tilgængelighed og godkendelse gemmes sammen med formularen. Tokens og adgangskode træder i kraft med det samme.",
|
|
142
|
+
"tokensTitle": "API-tokens",
|
|
143
|
+
"tokensHint": "Send en token som Authorization: Bearer TOKEN eller i headeren x-form-token. Den vises kun én gang.",
|
|
144
|
+
"tokensInactive": "Tokens kontrolleres kun, når godkendelse er sat til API-token.",
|
|
145
|
+
"tokenName": "Navn på token, fx Mobilapp",
|
|
146
|
+
"createToken": "Opret token",
|
|
147
|
+
"tokenCreated": "Kopiér denne token nu. Du kan ikke se den igen.",
|
|
148
|
+
"revoked": "Tilbagekaldt",
|
|
149
|
+
"revoke": "Tilbagekald",
|
|
150
|
+
"lastUsed": "Sidst brugt {date}",
|
|
151
|
+
"neverUsed": "Aldrig brugt",
|
|
152
|
+
"noTokens": "Ingen tokens endnu.",
|
|
153
|
+
"passwordTitle": "Fælles adgangskode",
|
|
154
|
+
"passwordMissing": "Der er ikke sat nogen adgangskode, så ingen kan åbne formularen endnu.",
|
|
155
|
+
"passwordIsSet": "Der er sat en adgangskode.",
|
|
156
|
+
"passwordIsNotSet": "Der er ikke sat nogen adgangskode.",
|
|
157
|
+
"passwordInactive": "Den kontrolleres kun, når godkendelse er sat til Fælles adgangskode.",
|
|
158
|
+
"newPassword": "Ny adgangskode",
|
|
159
|
+
"setPassword": "Adgangskode (min. 6 tegn)",
|
|
160
|
+
"changePassword": "Skift",
|
|
161
|
+
"savePassword": "Sæt adgangskode",
|
|
162
|
+
"clearPassword": "Ryd",
|
|
163
|
+
"passwordSaved": "Adgangskode gemt.",
|
|
164
|
+
"apiTitle": "API",
|
|
165
|
+
"apiHint": "Indsend med POST (JSON, eller multipart med file:KEY-dele). Definitionen hentes med GET på /api/forms/{slug}.",
|
|
166
|
+
"passwordLabel": "Adgangskode",
|
|
167
|
+
"passwordHint": "Denne formular er beskyttet. Indtast den adgangskode, du har fået.",
|
|
168
|
+
"passwordWrong": "Forkert adgangskode.",
|
|
169
|
+
"unlock": "Fortsæt"
|
|
170
|
+
},
|
|
171
|
+
"menu": {
|
|
172
|
+
"admin": {
|
|
173
|
+
"label": "Formularer",
|
|
174
|
+
"description": "Administrer formularer og deres indsendelser."
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"delivery": {
|
|
178
|
+
"title": "Levering og lagring",
|
|
179
|
+
"storeTitle": "Gem besvarelser",
|
|
180
|
+
"storeHint": "Gem besvarelser i databasen, så de kan ses under Besvarelser.",
|
|
181
|
+
"filesWarning": "Formularen har filupload-felter, som kræver gemte besvarelser. Fjern dem, eller fortsæt med at gemme.",
|
|
182
|
+
"lostWarning": "Besvarelser hverken gemmes eller sendes på mail. Tilføj modtagere eller fortsæt med at gemme, ellers går svarene tabt, medmindre noget håndterer forms:submitted.",
|
|
183
|
+
"emailTitle": "E-mailnotifikation",
|
|
184
|
+
"recipients": "Modtagere",
|
|
185
|
+
"recipientsHint": "Tryk Enter efter hver adresse. Lad feltet stå tomt for at slå e-mail fra.",
|
|
186
|
+
"subject": "Emne",
|
|
187
|
+
"replyTo": "Svar til",
|
|
188
|
+
"replyToNone": "Ingen",
|
|
189
|
+
"replyToHint": "Svaret i dette e-mailfelt bliver Reply-To.",
|
|
190
|
+
"routing": "Fordel efter svar",
|
|
191
|
+
"routingField": "Felt at fordele efter",
|
|
192
|
+
"routingNone": "Ingen fordeling",
|
|
193
|
+
"routingHint": "Send til andre modtagere afhængigt af svaret. Øvrige får standardmodtagerne.",
|
|
194
|
+
"routeTo": "Modtagere for \"{value}\"",
|
|
195
|
+
"subjectHint": "Variablerne herunder kan også bruges her.",
|
|
196
|
+
"body": "Mailtekst",
|
|
197
|
+
"bodyHint": "Valgfri. Lad feltet stå tomt for at sende listen med alle svar. Variabler erstattes med de indsendte værdier.",
|
|
198
|
+
"bodyVariables": "Klik på en variabel for at indsætte den ved markøren. Den fulde liste af svar er",
|
|
199
|
+
"bodyUnknown": "Ukendte variabler efterlades tomme: {names}",
|
|
200
|
+
"bodyPreview": "Forhåndsvisning med eksempelsvar",
|
|
201
|
+
"bodyReset": "Nulstil til standardteksten",
|
|
202
|
+
"needRecipients": "Tilføj modtagere først for at angive emne, svar-til og fordeling."
|
|
203
|
+
},
|
|
204
|
+
"captcha": {
|
|
205
|
+
"providers": {
|
|
206
|
+
"turnstile": "Cloudflare Turnstile",
|
|
207
|
+
"recaptcha": "Google reCAPTCHA",
|
|
208
|
+
"hcaptcha": "hCaptcha"
|
|
209
|
+
},
|
|
210
|
+
"preview": "Captcha: {provider} — vises for besøgende",
|
|
211
|
+
"missingKey": "{provider}-captchaen har ingen site key konfigureret.",
|
|
212
|
+
"missingKeyHint": "Angiv site key herunder eller miljøvariablen NUXT_PUBLIC_FORMS_CAPTCHA_PROVIDER_SITE_KEY. Indsendelser kræver også den tilhørende secret key på serveren.",
|
|
213
|
+
"loadFailed": "Captchaen kunne ikke indlæses. Genindlæs siden og prøv igen.",
|
|
214
|
+
"provider": "Udbyder",
|
|
215
|
+
"siteKey": "Site key",
|
|
216
|
+
"siteKeyHint": "Offentlig nøgle til dette site. Lad feltet stå tomt for at bruge den, der er sat op for udbyderen.",
|
|
217
|
+
"theme": "Tema",
|
|
218
|
+
"size": "Størrelse",
|
|
219
|
+
"themes": {
|
|
220
|
+
"auto": "Automatisk",
|
|
221
|
+
"light": "Lys",
|
|
222
|
+
"dark": "Mørk"
|
|
223
|
+
},
|
|
224
|
+
"sizes": {
|
|
225
|
+
"normal": "Normal",
|
|
226
|
+
"compact": "Kompakt"
|
|
227
|
+
},
|
|
228
|
+
"hint": "Altid påkrævet, når feltet vises. Tokenet kontrolleres på serveren og gemmes aldrig. Indsendelser med API-token springer det over.",
|
|
229
|
+
"secretLabel": "Hemmelig nøgle",
|
|
230
|
+
"secretHint": "Nøgle på serveren, der bruges til at verificere denne formular. Gemmes krypteret og vises aldrig igen. Uden en bruges miljøvariablen.",
|
|
231
|
+
"secretStatus": "Hemmelig nøgle",
|
|
232
|
+
"secretForm": "Sat via formularen",
|
|
233
|
+
"secretEnv": "Sat via miljøet",
|
|
234
|
+
"secretUnset": "Ikke sat",
|
|
235
|
+
"secretUnreadable": "Formularens gemte hemmeligheder kan ikke dekrypteres, fordi krypteringsnøglen er ændret. Indtast dem igen.",
|
|
236
|
+
"secretPlaceholderSet": "Indtast en ny hemmelig nøgle for at erstatte den",
|
|
237
|
+
"secretPlaceholder": "Indsæt den hemmelige nøgle",
|
|
238
|
+
"secretSave": "Gem nøgle",
|
|
239
|
+
"secretSaved": "Hemmelig nøgle gemt.",
|
|
240
|
+
"secretRemove": "Fjern",
|
|
241
|
+
"secretRemoved": "Hemmelig nøgle fjernet.",
|
|
242
|
+
"secretFailed": "Den hemmelige nøgle kunne ikke gemmes.",
|
|
243
|
+
"secretImmediate": "Gemmes med det samme, uafhængigt af formularens Gem."
|
|
244
|
+
},
|
|
245
|
+
"builder": {
|
|
246
|
+
"singleConfirmTitle": "Skift til én side?",
|
|
247
|
+
"singleConfirmDescription": "Alle trin samles på én side. Trinnenes titler, beskrivelser og betingelser går tabt, og hvis du skifter tilbage til trin, bliver de ikke gendannet.",
|
|
248
|
+
"singleConfirmButton": "Skift til én side",
|
|
249
|
+
"layout": "Layout",
|
|
250
|
+
"fields": "Felter",
|
|
251
|
+
"insertField": "Indsæt felt her",
|
|
252
|
+
"addField": "Tilføj felt",
|
|
253
|
+
"fieldsTitle": "Formularens felter",
|
|
254
|
+
"settingsTitle": "Indstillinger",
|
|
255
|
+
"dragStep": "Træk for at ændre rækkefølgen af trin",
|
|
256
|
+
"moveUp": "Flyt op",
|
|
257
|
+
"moveDown": "Flyt ned",
|
|
258
|
+
"duplicate": "Dupliker",
|
|
259
|
+
"delete": "Slet",
|
|
260
|
+
"deleteStep": "Slet trin",
|
|
261
|
+
"addStep": "Tilføj trin",
|
|
262
|
+
"emptyStep": "Slip felter her",
|
|
263
|
+
"conditionalBadge": "Betinget",
|
|
264
|
+
"selectHint": "Vælg et felt eller trin for at redigere dets indstillinger.",
|
|
265
|
+
"content": "Tekst (Markdown)",
|
|
266
|
+
"label": "Etiket",
|
|
267
|
+
"description": "Hjælpetekst",
|
|
268
|
+
"placeholder": "Pladsholder",
|
|
269
|
+
"required": "Påkrævet",
|
|
270
|
+
"multiple": "Tillad flere filer",
|
|
271
|
+
"phoneMode": "Telefonindtastning",
|
|
272
|
+
"phoneSimple": "Ét felt",
|
|
273
|
+
"phoneCountry": "Landekode + nummer",
|
|
274
|
+
"phoneCountries": "Tilladte lande",
|
|
275
|
+
"phoneCountriesHint": "Lad feltet stå tomt for at tillade alle lande.",
|
|
276
|
+
"phoneDefaultCountry": "Standardland",
|
|
277
|
+
"key": "Nøgle",
|
|
278
|
+
"keyHint": "Identificerer svaret. Bogstaver, tal og understregninger.",
|
|
279
|
+
"options": "Valgmuligheder",
|
|
280
|
+
"addOption": "Tilføj valgmulighed",
|
|
281
|
+
"value": "Værdi",
|
|
282
|
+
"min": "Minimum",
|
|
283
|
+
"max": "Maksimum",
|
|
284
|
+
"minLength": "Min. længde",
|
|
285
|
+
"maxLength": "Maks. længde",
|
|
286
|
+
"step": "Trin",
|
|
287
|
+
"stepTitle": "Titel",
|
|
288
|
+
"conditional": "Vis kun hvis…",
|
|
289
|
+
"noEarlierFields": "Tilføj et felt før dette for at bruge det som betingelse.",
|
|
290
|
+
"valuesHint": "a, b, c",
|
|
291
|
+
"ops": {
|
|
292
|
+
"eq": "er lig med",
|
|
293
|
+
"neq": "er ikke lig med",
|
|
294
|
+
"in": "er en af",
|
|
295
|
+
"empty": "er tomt",
|
|
296
|
+
"notEmpty": "har et svar",
|
|
297
|
+
"truthy": "har et svar"
|
|
298
|
+
},
|
|
299
|
+
"types": {
|
|
300
|
+
"text": "Kort tekst",
|
|
301
|
+
"textarea": "Lang tekst",
|
|
302
|
+
"email": "E-mail",
|
|
303
|
+
"tel": "Telefon",
|
|
304
|
+
"number": "Tal",
|
|
305
|
+
"date": "Dato",
|
|
306
|
+
"select": "Rullemenu",
|
|
307
|
+
"radio": "Enkeltvalg",
|
|
308
|
+
"checkbox": "Afkrydsningsfelt",
|
|
309
|
+
"file": "Filupload",
|
|
310
|
+
"markdown": "Tekstblok",
|
|
311
|
+
"captcha": "Captcha"
|
|
312
|
+
},
|
|
313
|
+
"translate": "Oversæt",
|
|
314
|
+
"singleLanguage": "Samme tekst på alle sprog",
|
|
315
|
+
"addLanguage": "Tilføj sprog, f.eks. en"
|
|
82
316
|
}
|
|
83
317
|
}
|
|
84
318
|
}
|
|
@@ -18,8 +18,26 @@
|
|
|
18
18
|
"invalid": "Please check the highlighted fields.",
|
|
19
19
|
"notFound": "This form could not be found."
|
|
20
20
|
},
|
|
21
|
+
"embed": {
|
|
22
|
+
"signInTitle": "Sign in to use this form",
|
|
23
|
+
"signIn": "Sign in"
|
|
24
|
+
},
|
|
21
25
|
"preview": {
|
|
22
|
-
"notSent": "Preview: nothing was sent."
|
|
26
|
+
"notSent": "Preview: nothing was sent.",
|
|
27
|
+
"mobile": "Mobile",
|
|
28
|
+
"desktop": "Desktop",
|
|
29
|
+
"reset": "Reset",
|
|
30
|
+
"tryIt": "Try it",
|
|
31
|
+
"result": "Result",
|
|
32
|
+
"resultHint": "This is what would be sent. Nothing was submitted.",
|
|
33
|
+
"copy": "Copy",
|
|
34
|
+
"copied": "Copied to clipboard.",
|
|
35
|
+
"close": "Close",
|
|
36
|
+
"tryAgain": "Try again",
|
|
37
|
+
"device": "Device"
|
|
38
|
+
},
|
|
39
|
+
"field": {
|
|
40
|
+
"phoneCountry": "Country"
|
|
23
41
|
},
|
|
24
42
|
"value": {
|
|
25
43
|
"yes": "Yes",
|
|
@@ -40,6 +58,7 @@
|
|
|
40
58
|
"required": "This field is required.",
|
|
41
59
|
"email": "Enter a valid email address.",
|
|
42
60
|
"tel": "Enter a valid phone number.",
|
|
61
|
+
"telCountry": "Phone numbers from this country are not accepted.",
|
|
43
62
|
"date": "Enter a valid date.",
|
|
44
63
|
"option": "Choose one of the available options.",
|
|
45
64
|
"min": "Must be at least {min}.",
|
|
@@ -49,7 +68,8 @@
|
|
|
49
68
|
"pattern": "The value has an invalid format.",
|
|
50
69
|
"maxFiles": "Upload at most {max} file(s).",
|
|
51
70
|
"maxSize": "{name} is larger than {max} MB.",
|
|
52
|
-
"accept": "{name} is not an accepted file type."
|
|
71
|
+
"accept": "{name} is not an accepted file type.",
|
|
72
|
+
"captcha": "Please complete the captcha."
|
|
53
73
|
},
|
|
54
74
|
"admin": {
|
|
55
75
|
"title": "Forms",
|
|
@@ -57,6 +77,9 @@
|
|
|
57
77
|
"import": "Import",
|
|
58
78
|
"edit": "Edit",
|
|
59
79
|
"create": "Create",
|
|
80
|
+
"copyLink": "Copy link",
|
|
81
|
+
"linkCopied": "Link copied.",
|
|
82
|
+
"settings": "Delivery & storage",
|
|
60
83
|
"save": "Save",
|
|
61
84
|
"saved": "Saved.",
|
|
62
85
|
"name": "Name",
|
|
@@ -70,6 +93,10 @@
|
|
|
70
93
|
"submissions": "Submissions ({count})",
|
|
71
94
|
"submissionsTitle": "Submissions",
|
|
72
95
|
"noSubmissions": "No submissions yet.",
|
|
96
|
+
"submittedAt": "Submitted",
|
|
97
|
+
"answers": "Answers",
|
|
98
|
+
"delivery": "Delivery",
|
|
99
|
+
"cancel": "Cancel",
|
|
73
100
|
"redeliver": "Deliver again",
|
|
74
101
|
"forbidden": "You are not allowed to manage forms.",
|
|
75
102
|
"imported": "Imported {inserted}, skipped {skipped} existing.",
|
|
@@ -78,7 +105,214 @@
|
|
|
78
105
|
"definition": "Definition (JSON)",
|
|
79
106
|
"invalidDefinition": "The definition has problems",
|
|
80
107
|
"preview": "Preview",
|
|
81
|
-
"previewUnavailable": "Fix the definition to see a preview."
|
|
108
|
+
"previewUnavailable": "Fix the definition to see a preview.",
|
|
109
|
+
"builder": "Builder",
|
|
110
|
+
"json": "JSON",
|
|
111
|
+
"access": "Access",
|
|
112
|
+
"clone": "Duplicate"
|
|
113
|
+
},
|
|
114
|
+
"schedule": {
|
|
115
|
+
"closed": "This form is closed.",
|
|
116
|
+
"opensAt": "It opens again {date}.",
|
|
117
|
+
"always": "Always open",
|
|
118
|
+
"yearly": "Every year (a season)",
|
|
119
|
+
"range": "One fixed period",
|
|
120
|
+
"title": "Open period",
|
|
121
|
+
"hint": "Outside the period the form shows a closed notice and rejects submissions. A season whose end is before its start wraps over new year.",
|
|
122
|
+
"opens": "Opens",
|
|
123
|
+
"closes": "Closes",
|
|
124
|
+
"day": "Day",
|
|
125
|
+
"time": "Time",
|
|
126
|
+
"timezone": "Timezone"
|
|
127
|
+
},
|
|
128
|
+
"access": {
|
|
129
|
+
"title": "Who can use this form",
|
|
130
|
+
"availability": "Availability",
|
|
131
|
+
"availabilityWeb": "Web page and API",
|
|
132
|
+
"availabilityApi": "API only",
|
|
133
|
+
"availabilityWebHint": "The public page and the API are both available.",
|
|
134
|
+
"availabilityApiHint": "No public page: the form can only be read and submitted through the API.",
|
|
135
|
+
"auth": "Authentication",
|
|
136
|
+
"authNone": "Open to everyone",
|
|
137
|
+
"authUser": "Signed-in users",
|
|
138
|
+
"authToken": "API token",
|
|
139
|
+
"authPassword": "Shared password",
|
|
140
|
+
"authTokenHint": "Token forms are API only: a token cannot be typed into a page.",
|
|
141
|
+
"saveHint": "Availability and authentication are saved with the form. Tokens and the password take effect immediately.",
|
|
142
|
+
"tokensTitle": "API tokens",
|
|
143
|
+
"tokensHint": "Send a token as Authorization: Bearer TOKEN or in the x-form-token header. It is shown only once.",
|
|
144
|
+
"tokensInactive": "Tokens are only checked when authentication is set to API token.",
|
|
145
|
+
"tokenName": "Token name, e.g. Mobile app",
|
|
146
|
+
"createToken": "Create token",
|
|
147
|
+
"tokenCreated": "Copy this token now. You will not see it again.",
|
|
148
|
+
"revoked": "Revoked",
|
|
149
|
+
"revoke": "Revoke",
|
|
150
|
+
"lastUsed": "Last used {date}",
|
|
151
|
+
"neverUsed": "Never used",
|
|
152
|
+
"noTokens": "No tokens yet.",
|
|
153
|
+
"passwordTitle": "Shared password",
|
|
154
|
+
"passwordMissing": "No password is set, so nobody can open this form yet.",
|
|
155
|
+
"passwordIsSet": "A password is set.",
|
|
156
|
+
"passwordIsNotSet": "No password is set.",
|
|
157
|
+
"passwordInactive": "It is only checked when authentication is set to Shared password.",
|
|
158
|
+
"newPassword": "New password",
|
|
159
|
+
"setPassword": "Password (min. 6 characters)",
|
|
160
|
+
"changePassword": "Change",
|
|
161
|
+
"savePassword": "Set password",
|
|
162
|
+
"clearPassword": "Clear",
|
|
163
|
+
"passwordSaved": "Password saved.",
|
|
164
|
+
"apiTitle": "API",
|
|
165
|
+
"apiHint": "Submit with POST (JSON, or multipart with file:KEY parts). The definition is available with GET on /api/forms/{slug}.",
|
|
166
|
+
"passwordLabel": "Password",
|
|
167
|
+
"passwordHint": "This form is protected. Enter the password you were given.",
|
|
168
|
+
"passwordWrong": "Wrong password.",
|
|
169
|
+
"unlock": "Continue"
|
|
170
|
+
},
|
|
171
|
+
"menu": {
|
|
172
|
+
"admin": {
|
|
173
|
+
"label": "Forms",
|
|
174
|
+
"description": "Manage forms and their submissions."
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"delivery": {
|
|
178
|
+
"title": "Delivery & storage",
|
|
179
|
+
"storeTitle": "Store submissions",
|
|
180
|
+
"storeHint": "Keep submissions in the database so they can be reviewed under Submissions.",
|
|
181
|
+
"filesWarning": "This form has file upload fields, which need stored submissions. Remove them or keep storing.",
|
|
182
|
+
"lostWarning": "Submissions are neither stored nor emailed. Add recipients or keep storing, or answers are lost unless something handles forms:submitted.",
|
|
183
|
+
"emailTitle": "Email notification",
|
|
184
|
+
"recipients": "Recipients",
|
|
185
|
+
"recipientsHint": "Press Enter after each address. Leave empty to turn email off.",
|
|
186
|
+
"subject": "Subject",
|
|
187
|
+
"replyTo": "Reply to",
|
|
188
|
+
"replyToNone": "None",
|
|
189
|
+
"replyToHint": "The answer of this email field becomes the Reply-To.",
|
|
190
|
+
"routing": "Route by answer",
|
|
191
|
+
"routingField": "Field to route by",
|
|
192
|
+
"routingNone": "No routing",
|
|
193
|
+
"routingHint": "Send to other recipients depending on the answer. Others get the default recipients.",
|
|
194
|
+
"routeTo": "Recipients for \"{value}\"",
|
|
195
|
+
"subjectHint": "Variables from the list below work here too.",
|
|
196
|
+
"body": "Email body",
|
|
197
|
+
"bodyHint": "Optional. Leave empty to email the list of all answers. Variables are replaced with the submitted values.",
|
|
198
|
+
"bodyVariables": "Click a variable to insert it at the cursor. The full list of answers is",
|
|
199
|
+
"bodyUnknown": "Unknown variables are left empty: {names}",
|
|
200
|
+
"bodyPreview": "Preview with sample answers",
|
|
201
|
+
"bodyReset": "Reset to the default body",
|
|
202
|
+
"needRecipients": "Add recipients first to set the subject, reply-to and routing."
|
|
203
|
+
},
|
|
204
|
+
"captcha": {
|
|
205
|
+
"providers": {
|
|
206
|
+
"turnstile": "Cloudflare Turnstile",
|
|
207
|
+
"recaptcha": "Google reCAPTCHA",
|
|
208
|
+
"hcaptcha": "hCaptcha"
|
|
209
|
+
},
|
|
210
|
+
"preview": "Captcha: {provider} — shown to visitors",
|
|
211
|
+
"missingKey": "The {provider} captcha has no site key configured.",
|
|
212
|
+
"missingKeyHint": "Set the site key below or the NUXT_PUBLIC_FORMS_CAPTCHA_PROVIDER_SITE_KEY environment variable. Submissions also need the matching secret key on the server.",
|
|
213
|
+
"loadFailed": "The captcha could not be loaded. Reload the page to try again.",
|
|
214
|
+
"provider": "Provider",
|
|
215
|
+
"siteKey": "Site key",
|
|
216
|
+
"siteKeyHint": "Public key of this site. Leave empty to use the one configured for the provider.",
|
|
217
|
+
"theme": "Theme",
|
|
218
|
+
"size": "Size",
|
|
219
|
+
"themes": {
|
|
220
|
+
"auto": "Automatic",
|
|
221
|
+
"light": "Light",
|
|
222
|
+
"dark": "Dark"
|
|
223
|
+
},
|
|
224
|
+
"sizes": {
|
|
225
|
+
"normal": "Normal",
|
|
226
|
+
"compact": "Compact"
|
|
227
|
+
},
|
|
228
|
+
"hint": "Always required while visible. The token is checked on the server and never stored. Submissions with an API token skip it.",
|
|
229
|
+
"secretLabel": "Secret key",
|
|
230
|
+
"secretHint": "Server-side key used to verify this form. Stored encrypted and never shown again. Without one, the environment variable is used.",
|
|
231
|
+
"secretStatus": "Secret key",
|
|
232
|
+
"secretForm": "Configured via form",
|
|
233
|
+
"secretEnv": "Configured via environment",
|
|
234
|
+
"secretUnset": "Not set",
|
|
235
|
+
"secretUnreadable": "The stored secrets of this form cannot be decrypted because the encryption key changed. Enter them again.",
|
|
236
|
+
"secretPlaceholderSet": "Enter a new secret key to replace it",
|
|
237
|
+
"secretPlaceholder": "Paste the secret key",
|
|
238
|
+
"secretSave": "Save secret",
|
|
239
|
+
"secretSaved": "Secret key saved.",
|
|
240
|
+
"secretRemove": "Remove",
|
|
241
|
+
"secretRemoved": "Secret key removed.",
|
|
242
|
+
"secretFailed": "The secret key could not be saved.",
|
|
243
|
+
"secretImmediate": "Saved immediately, independent of the form Save."
|
|
244
|
+
},
|
|
245
|
+
"builder": {
|
|
246
|
+
"singleConfirmTitle": "Switch to a single page?",
|
|
247
|
+
"singleConfirmDescription": "All steps are merged into one page. Step titles, descriptions and step conditions are lost, and switching back to steps will not restore them.",
|
|
248
|
+
"singleConfirmButton": "Switch to single page",
|
|
249
|
+
"layout": "Layout",
|
|
250
|
+
"fields": "Fields",
|
|
251
|
+
"insertField": "Insert field here",
|
|
252
|
+
"addField": "Add field",
|
|
253
|
+
"fieldsTitle": "Form fields",
|
|
254
|
+
"settingsTitle": "Settings",
|
|
255
|
+
"dragStep": "Drag to reorder steps",
|
|
256
|
+
"moveUp": "Move up",
|
|
257
|
+
"moveDown": "Move down",
|
|
258
|
+
"duplicate": "Duplicate",
|
|
259
|
+
"delete": "Delete",
|
|
260
|
+
"deleteStep": "Delete step",
|
|
261
|
+
"addStep": "Add step",
|
|
262
|
+
"emptyStep": "Drop fields here",
|
|
263
|
+
"conditionalBadge": "Conditional",
|
|
264
|
+
"selectHint": "Select a field or step to edit its settings.",
|
|
265
|
+
"content": "Text (Markdown)",
|
|
266
|
+
"label": "Label",
|
|
267
|
+
"description": "Help text",
|
|
268
|
+
"placeholder": "Placeholder",
|
|
269
|
+
"required": "Required",
|
|
270
|
+
"multiple": "Allow several files",
|
|
271
|
+
"phoneMode": "Phone input",
|
|
272
|
+
"phoneSimple": "Single input",
|
|
273
|
+
"phoneCountry": "Country code + number",
|
|
274
|
+
"phoneCountries": "Allowed countries",
|
|
275
|
+
"phoneCountriesHint": "Leave empty to allow all countries.",
|
|
276
|
+
"phoneDefaultCountry": "Default country",
|
|
277
|
+
"key": "Key",
|
|
278
|
+
"keyHint": "Identifies the answer. Letters, digits and underscores.",
|
|
279
|
+
"options": "Options",
|
|
280
|
+
"addOption": "Add option",
|
|
281
|
+
"value": "Value",
|
|
282
|
+
"min": "Minimum",
|
|
283
|
+
"max": "Maximum",
|
|
284
|
+
"minLength": "Min length",
|
|
285
|
+
"maxLength": "Max length",
|
|
286
|
+
"step": "Step",
|
|
287
|
+
"stepTitle": "Title",
|
|
288
|
+
"conditional": "Show only if…",
|
|
289
|
+
"noEarlierFields": "Add a field before this one to use as a condition.",
|
|
290
|
+
"valuesHint": "a, b, c",
|
|
291
|
+
"ops": {
|
|
292
|
+
"eq": "is equal to",
|
|
293
|
+
"neq": "is not equal to",
|
|
294
|
+
"in": "is one of",
|
|
295
|
+
"empty": "is empty",
|
|
296
|
+
"notEmpty": "has an answer",
|
|
297
|
+
"truthy": "has an answer"
|
|
298
|
+
},
|
|
299
|
+
"types": {
|
|
300
|
+
"text": "Short text",
|
|
301
|
+
"textarea": "Long text",
|
|
302
|
+
"email": "Email",
|
|
303
|
+
"tel": "Phone",
|
|
304
|
+
"number": "Number",
|
|
305
|
+
"date": "Date",
|
|
306
|
+
"select": "Dropdown",
|
|
307
|
+
"radio": "Single choice",
|
|
308
|
+
"checkbox": "Checkbox",
|
|
309
|
+
"file": "File upload",
|
|
310
|
+
"markdown": "Text block",
|
|
311
|
+
"captcha": "Captcha"
|
|
312
|
+
},
|
|
313
|
+
"translate": "Translate",
|
|
314
|
+
"singleLanguage": "Same text in every language",
|
|
315
|
+
"addLanguage": "Add language, e.g. da"
|
|
82
316
|
}
|
|
83
317
|
}
|
|
84
318
|
}
|
package/dist/runtime/menus.js
CHANGED
|
@@ -5,11 +5,23 @@ export default defineMenuSource(() => {
|
|
|
5
5
|
extendMenuItem("dashboard.account", defineMenuItem({
|
|
6
6
|
id: "forms-admin",
|
|
7
7
|
label: "Forms",
|
|
8
|
+
labelKey: "forms.menu.admin.label",
|
|
8
9
|
description: "Manage forms and their submissions.",
|
|
10
|
+
descriptionKey: "forms.menu.admin.description",
|
|
9
11
|
icon: "i-lucide-clipboard-list",
|
|
10
12
|
to: config.pages.admin,
|
|
11
13
|
tags: ["admin"],
|
|
12
14
|
order: 90
|
|
13
15
|
}));
|
|
16
|
+
extendMenuItem("admin.nav", defineMenuItem({
|
|
17
|
+
id: "forms-admin",
|
|
18
|
+
label: "Forms",
|
|
19
|
+
labelKey: "forms.menu.admin.label",
|
|
20
|
+
description: "Manage forms and their submissions.",
|
|
21
|
+
descriptionKey: "forms.menu.admin.description",
|
|
22
|
+
icon: "i-lucide-clipboard-list",
|
|
23
|
+
to: config.pages.admin,
|
|
24
|
+
order: 30
|
|
25
|
+
}));
|
|
14
26
|
}
|
|
15
27
|
});
|