@evanschleret/formforgeclient 1.2.4 → 2.0.1
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 +10 -0
- package/dist/module.cjs +1 -0
- package/dist/module.d.cts +1 -0
- package/dist/module.d.mts +1 -0
- package/dist/module.d.ts +1 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/dist/runtime/api/client.js +4 -2
- package/dist/runtime/api/request.d.ts +1 -0
- package/dist/runtime/api/schema.js +4 -4
- package/dist/runtime/assets/formforge.css +1 -0
- package/dist/runtime/composables/index.d.ts +1 -1
- package/dist/runtime/composables/useFormForgeBuilder.d.ts +24 -2
- package/dist/runtime/composables/useFormForgeBuilder.js +299 -43
- package/dist/runtime/composables/useFormForgeForm.js +15 -5
- package/dist/runtime/composables/useFormForgeI18n.d.ts +299 -19
- package/dist/runtime/composables/useFormForgeI18n.js +299 -19
- package/dist/runtime/composables/useFormForgeSubmit.js +31 -9
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/renderers/default/FormForgeBuilder.d.vue.ts +21 -2
- package/dist/runtime/renderers/default/FormForgeBuilder.vue +689 -738
- package/dist/runtime/renderers/default/FormForgeBuilder.vue.d.ts +21 -2
- package/dist/runtime/renderers/default/FormForgeBuilderBlockSettingsModal.d.vue.ts +17 -0
- package/dist/runtime/renderers/default/FormForgeBuilderBlockSettingsModal.vue +32 -0
- package/dist/runtime/renderers/default/FormForgeBuilderBlockSettingsModal.vue.d.ts +17 -0
- package/dist/runtime/renderers/default/FormForgeRenderer.d.vue.ts +3 -4
- package/dist/runtime/renderers/default/FormForgeRenderer.vue +344 -294
- package/dist/runtime/renderers/default/FormForgeRenderer.vue.d.ts +3 -4
- package/dist/runtime/renderers/default/FormForgeRendererField.d.vue.ts +22 -0
- package/dist/runtime/renderers/default/FormForgeRendererField.vue +237 -0
- package/dist/runtime/renderers/default/FormForgeRendererField.vue.d.ts +22 -0
- package/dist/runtime/renderers/default/FormForgeRendererPage.d.vue.ts +18 -0
- package/dist/runtime/renderers/default/FormForgeRendererPage.vue +31 -0
- package/dist/runtime/renderers/default/FormForgeRendererPage.vue.d.ts +18 -0
- package/dist/runtime/renderers/default/FormForgeResponse.vue +4 -3
- package/dist/runtime/renderers/default/builder/FormForgeBuilderAddressFieldsCard.d.vue.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderAddressFieldsCard.vue +118 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderAddressFieldsCard.vue.d.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderBlockCard.d.vue.ts +46 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderBlockCard.vue +205 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderBlockCard.vue.d.ts +46 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceDisplayField.d.vue.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceDisplayField.vue +37 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceDisplayField.vue.d.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceOptionsField.d.vue.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceOptionsField.vue +195 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderChoiceOptionsField.vue.d.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderDescriptionField.d.vue.ts +14 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderDescriptionField.vue +91 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderDescriptionField.vue.d.ts +14 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderLogicPanel.d.vue.ts +13 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderLogicPanel.vue +387 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderLogicPanel.vue.d.ts +13 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderQuestionRow.d.vue.ts +44 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderQuestionRow.vue +328 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderQuestionRow.vue.d.ts +44 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderTemporalModeField.d.vue.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderTemporalModeField.vue +47 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderTemporalModeField.vue.d.ts +11 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderValidationRulesSection.d.vue.ts +14 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderValidationRulesSection.vue +595 -0
- package/dist/runtime/renderers/default/builder/FormForgeBuilderValidationRulesSection.vue.d.ts +14 -0
- package/dist/runtime/renderers/default/builder/builderFieldHelpers.d.ts +3 -0
- package/dist/runtime/renderers/default/builder/builderFieldHelpers.js +4 -0
- package/dist/runtime/types/index.d.ts +1 -1
- package/dist/runtime/types/management.d.ts +12 -0
- package/dist/runtime/types/schema.d.ts +72 -4
- package/dist/runtime/utils/defaults.d.ts +7 -0
- package/dist/runtime/utils/defaults.js +86 -0
- package/dist/runtime/utils/page-logic.d.ts +24 -0
- package/dist/runtime/utils/page-logic.js +351 -0
- package/dist/runtime/utils/rich-text.d.ts +3 -0
- package/dist/runtime/utils/rich-text.js +72 -0
- package/dist/runtime/utils/schema.d.ts +1 -1
- package/dist/runtime/utils/schema.js +70 -16
- package/dist/runtime/utils/temporal.d.ts +10 -0
- package/dist/runtime/utils/temporal.js +28 -0
- package/dist/runtime/utils/validation.d.ts +5 -0
- package/dist/runtime/utils/validation.js +36 -0
- package/dist/runtime/validation/zod.d.ts +5 -2
- package/dist/runtime/validation/zod.js +563 -54
- package/dist/types.d.mts +2 -0
- package/package.json +18 -14
|
@@ -5,54 +5,127 @@ export interface UseFormForgeI18nOptions {
|
|
|
5
5
|
type FormForgeTranslationValues = Record<string, string | number>;
|
|
6
6
|
declare const TRANSLATIONS: {
|
|
7
7
|
readonly en: {
|
|
8
|
-
readonly 'builder.fieldType.text': "
|
|
8
|
+
readonly 'builder.fieldType.text': "Free text";
|
|
9
9
|
readonly 'builder.fieldType.textarea': "Long text";
|
|
10
10
|
readonly 'builder.fieldType.email': "Email";
|
|
11
11
|
readonly 'builder.fieldType.number': "Number";
|
|
12
|
-
readonly 'builder.fieldType.select': "
|
|
13
|
-
readonly 'builder.fieldType.select_menu': "
|
|
14
|
-
readonly 'builder.fieldType.radio': "
|
|
12
|
+
readonly 'builder.fieldType.select': "Dropdown";
|
|
13
|
+
readonly 'builder.fieldType.select_menu': "Dropdown menu";
|
|
14
|
+
readonly 'builder.fieldType.radio': "Single choice";
|
|
15
15
|
readonly 'builder.fieldType.checkbox': "Checkbox";
|
|
16
|
-
readonly 'builder.fieldType.
|
|
16
|
+
readonly 'builder.fieldType.consent': "Consent";
|
|
17
|
+
readonly 'builder.fieldType.checkbox_group': "Multiple choice";
|
|
18
|
+
readonly 'builder.fieldType.address': "Address";
|
|
17
19
|
readonly 'builder.fieldType.switch': "Switch";
|
|
20
|
+
readonly 'builder.fieldType.temporal': "Date / time";
|
|
18
21
|
readonly 'builder.fieldType.date': "Date";
|
|
19
22
|
readonly 'builder.fieldType.time': "Time";
|
|
20
|
-
readonly 'builder.fieldType.datetime': "Date & time";
|
|
21
|
-
readonly 'builder.fieldType.date_range': "Date range";
|
|
22
|
-
readonly 'builder.fieldType.datetime_range': "Datetime range";
|
|
23
23
|
readonly 'builder.fieldType.file': "File upload";
|
|
24
|
+
readonly 'builder.tabs.builder': "Builder";
|
|
25
|
+
readonly 'builder.tabs.settings': "Settings";
|
|
24
26
|
readonly 'builder.targetType.page': "Page";
|
|
25
27
|
readonly 'builder.targetType.field': "Field";
|
|
26
28
|
readonly 'builder.formTitlePlaceholder': "Form title";
|
|
27
29
|
readonly 'builder.categoryPlaceholder': "Category";
|
|
28
30
|
readonly 'builder.categoryNone': "No category";
|
|
31
|
+
readonly 'builder.blockLabel': "Block";
|
|
32
|
+
readonly 'builder.blockCounter': "Block {current} / {total}";
|
|
33
|
+
readonly 'builder.block.addNewBlock': "Add new block";
|
|
34
|
+
readonly 'builder.block.addNewBlockDescription': "Start a new block with its first question";
|
|
35
|
+
readonly 'builder.questionLabel': "Question";
|
|
36
|
+
readonly 'builder.questionCount': "{count} questions";
|
|
29
37
|
readonly 'builder.loadingForm': "Loading form...";
|
|
30
38
|
readonly 'builder.lastSave': "Last save: {value}";
|
|
31
39
|
readonly 'builder.save': "Save";
|
|
32
40
|
readonly 'builder.publish': "Publish";
|
|
33
41
|
readonly 'builder.unpublish': "Unpublish";
|
|
42
|
+
readonly 'builder.optional': "Optional";
|
|
34
43
|
readonly 'builder.pageCounter': "Page {current} / {total}";
|
|
35
44
|
readonly 'builder.pageTitlePlaceholder': "Page title";
|
|
36
45
|
readonly 'builder.pageDescriptionPlaceholder': "Page description (optional)";
|
|
46
|
+
readonly 'builder.descriptionButton': "Add description";
|
|
47
|
+
readonly 'builder.descriptionPlaceholder': "Description (optional)";
|
|
48
|
+
readonly 'builder.removeDescription': "Remove description";
|
|
49
|
+
readonly 'builder.longResponse': "Long answer";
|
|
50
|
+
readonly 'builder.longResponseDescription': "Allow respondents to write longer responses over multiple lines.";
|
|
51
|
+
readonly 'builder.validationRules': "Validation rules";
|
|
52
|
+
readonly 'builder.validationRulesDescription': "Accept only responses that meet the following criteria.";
|
|
53
|
+
readonly 'builder.validation.match.all': "All are true";
|
|
54
|
+
readonly 'builder.validation.match.any': "At least one is true";
|
|
55
|
+
readonly 'builder.validation.operator.min': "Minimum";
|
|
56
|
+
readonly 'builder.validation.operator.max': "Maximum";
|
|
57
|
+
readonly 'builder.validation.operator.after': "Is after";
|
|
58
|
+
readonly 'builder.validation.operator.before': "Is before";
|
|
59
|
+
readonly 'builder.validation.operator.between': "Is between";
|
|
60
|
+
readonly 'builder.validation.operator.notBetween': "Is not between";
|
|
61
|
+
readonly 'builder.validation.operator.regex': "Matches regular expression";
|
|
62
|
+
readonly 'builder.validation.operator.eq': "Is";
|
|
63
|
+
readonly 'builder.validation.operator.neq': "Is not";
|
|
64
|
+
readonly 'builder.validation.operator.contains': "Contains";
|
|
65
|
+
readonly 'builder.validation.operator.notContains': "Does not contain";
|
|
66
|
+
readonly 'builder.validation.target.text': "Text";
|
|
67
|
+
readonly 'builder.validation.target.number': "Number";
|
|
68
|
+
readonly 'builder.validation.target.date': "Date";
|
|
69
|
+
readonly 'builder.validation.unit.characters': "Characters";
|
|
70
|
+
readonly 'builder.validation.valuePlaceholder': "Value";
|
|
71
|
+
readonly 'builder.validation.datePlaceholder': "YYYY-MM-DD";
|
|
72
|
+
readonly 'builder.validation.rangeStart': "Start date";
|
|
73
|
+
readonly 'builder.validation.rangeEnd': "End date";
|
|
74
|
+
readonly 'builder.validation.dateDescription': "Set the allowed date or time range.";
|
|
75
|
+
readonly 'builder.answerPlaceholder': "Enter your answer here ...";
|
|
76
|
+
readonly 'builder.choiceDisplay': "Display";
|
|
77
|
+
readonly 'builder.choiceDisplay.list': "List";
|
|
78
|
+
readonly 'builder.choiceDisplay.menu': "Dropdown";
|
|
79
|
+
readonly 'builder.consentLabel': "Checkbox label";
|
|
80
|
+
readonly 'builder.optionsLabel': "Options";
|
|
81
|
+
readonly 'builder.optionPlaceholder': "Option {index}";
|
|
82
|
+
readonly 'builder.optionOther': "Other";
|
|
83
|
+
readonly 'builder.optionNone': "None of the above";
|
|
84
|
+
readonly 'builder.addressFields': "Address fields";
|
|
85
|
+
readonly 'builder.address.show': "Show";
|
|
86
|
+
readonly 'builder.address.required': "Required";
|
|
87
|
+
readonly 'builder.address.label': "Label";
|
|
88
|
+
readonly 'builder.address.line1': "Address line 1";
|
|
89
|
+
readonly 'builder.address.line2': "Address line 2";
|
|
90
|
+
readonly 'builder.address.city': "City";
|
|
91
|
+
readonly 'builder.address.state': "State";
|
|
92
|
+
readonly 'builder.address.zip': "Zip";
|
|
93
|
+
readonly 'builder.address.country': "Country";
|
|
94
|
+
readonly 'builder.addOtherOption': "Add \"Other\"";
|
|
95
|
+
readonly 'builder.addNoneOption': "Add \"None of the above\"";
|
|
37
96
|
readonly 'builder.tooltip.mergePage': "Merge with previous page";
|
|
38
97
|
readonly 'builder.tooltip.deletePage': "Delete page";
|
|
39
98
|
readonly 'builder.questionPlaceholder': "Question";
|
|
40
99
|
readonly 'builder.tooltip.duplicateQuestion': "Duplicate question";
|
|
41
100
|
readonly 'builder.tooltip.deleteQuestion': "Delete question";
|
|
42
101
|
readonly 'builder.tooltip.addCategory': "Add category";
|
|
102
|
+
readonly 'builder.block.addQuestion': "Add question to block";
|
|
43
103
|
readonly 'builder.required': "Required";
|
|
104
|
+
readonly 'builder.questionMenu.changeType': "Change question type";
|
|
105
|
+
readonly 'builder.questionMenu.addBelow': "Add question below";
|
|
106
|
+
readonly 'builder.questionMenu.moveToBlock': "Move question to block";
|
|
107
|
+
readonly 'builder.questionMenu.moveUp': "Move up";
|
|
108
|
+
readonly 'builder.questionMenu.moveDown': "Move down";
|
|
109
|
+
readonly 'builder.questionMenu.duplicate': "Duplicate";
|
|
110
|
+
readonly 'builder.questionMenu.delete': "Delete";
|
|
111
|
+
readonly 'builder.questionMenu.noBlockAfter': "No following block";
|
|
44
112
|
readonly 'builder.optionLabelPlaceholder': "Option label";
|
|
45
113
|
readonly 'builder.addOption': "Add option";
|
|
46
114
|
readonly 'builder.advancedSettings': "Advanced settings";
|
|
47
115
|
readonly 'builder.placeholderPlaceholder': "Placeholder";
|
|
48
116
|
readonly 'builder.helpTextPlaceholder': "Help text";
|
|
117
|
+
readonly 'builder.temporalMode.label': "Date mode";
|
|
118
|
+
readonly 'builder.temporalMode.date': "Date";
|
|
119
|
+
readonly 'builder.temporalMode.time': "Time";
|
|
120
|
+
readonly 'builder.temporalHourCycle.label': "24-hour time format";
|
|
121
|
+
readonly 'builder.temporalHourCycle.description': "Use AM/PM only when this is disabled.";
|
|
49
122
|
readonly 'builder.minPlaceholder': "Min";
|
|
50
123
|
readonly 'builder.maxPlaceholder': "Max";
|
|
51
124
|
readonly 'builder.stepPlaceholder': "Step";
|
|
52
125
|
readonly 'builder.multiple': "Multiple";
|
|
53
126
|
readonly 'builder.acceptedExtensionsPlaceholder': "Accepted extensions (.pdf,.png)";
|
|
54
|
-
readonly 'builder.conditions': "
|
|
55
|
-
readonly 'builder.addCondition': "Add
|
|
127
|
+
readonly 'builder.conditions': "Conditional logic";
|
|
128
|
+
readonly 'builder.addCondition': "Add logic rule";
|
|
56
129
|
readonly 'builder.condition.action.show': "Show";
|
|
57
130
|
readonly 'builder.condition.action.hide': "Hide";
|
|
58
131
|
readonly 'builder.condition.action.skip': "Skip";
|
|
@@ -89,6 +162,69 @@ declare const TRANSLATIONS: {
|
|
|
89
162
|
readonly 'builder.toast.unpublishSuccess': "Form unpublished";
|
|
90
163
|
readonly 'builder.optionDefaultLabel': "Option";
|
|
91
164
|
readonly 'builder.optionsCount': "{count} options";
|
|
165
|
+
readonly 'builder.settings.title': "Settings";
|
|
166
|
+
readonly 'builder.settings.description': "Configure the lifecycle, access, and publication settings for this form.";
|
|
167
|
+
readonly 'builder.settings.formTitlePlaceholder': "Form title";
|
|
168
|
+
readonly 'builder.settings.categoryPlaceholder': "Category";
|
|
169
|
+
readonly 'builder.settings.opening.title': "Survey opening";
|
|
170
|
+
readonly 'builder.settings.opening.description': "Choose when the form becomes available.";
|
|
171
|
+
readonly 'builder.settings.opening.date': "Opening date";
|
|
172
|
+
readonly 'builder.settings.opening.time': "Opening time";
|
|
173
|
+
readonly 'builder.settings.closing.title': "Survey closing";
|
|
174
|
+
readonly 'builder.settings.closing.description': "Choose when the form stops accepting responses.";
|
|
175
|
+
readonly 'builder.settings.closing.date': "Closing date";
|
|
176
|
+
readonly 'builder.settings.closing.time': "Closing time";
|
|
177
|
+
readonly 'builder.settings.submissionLimit.title': "Submission limit";
|
|
178
|
+
readonly 'builder.settings.submissionLimit.description': "The form closes automatically after this many responses.";
|
|
179
|
+
readonly 'builder.settings.submissionLimit.maximumResponses': "Maximum responses";
|
|
180
|
+
readonly 'builder.settings.access.title': "Access";
|
|
181
|
+
readonly 'builder.settings.access.description': "Control who can submit the form and whether a PIN is required.";
|
|
182
|
+
readonly 'builder.settings.access.publicForm.title': "Public form";
|
|
183
|
+
readonly 'builder.settings.access.publicForm.description': "Allow anyone with the link to submit responses.";
|
|
184
|
+
readonly 'builder.settings.access.publicLink': "Public link";
|
|
185
|
+
readonly 'builder.settings.access.publicLinkPlaceholder': "Save the form to generate a link";
|
|
186
|
+
readonly 'builder.settings.access.pinProtection.title': "PIN protection";
|
|
187
|
+
readonly 'builder.settings.access.pinProtection.description': "Require a PIN before the form can be submitted.";
|
|
188
|
+
readonly 'builder.settings.access.pin': "PIN";
|
|
189
|
+
readonly 'builder.settings.access.pinPlaceholder': "Enter PIN";
|
|
190
|
+
readonly 'builder.logic.title': "Conditional logic";
|
|
191
|
+
readonly 'builder.logic.empty': "No logic rule yet";
|
|
192
|
+
readonly 'builder.logic.rulesCount': "{count} logic rules";
|
|
193
|
+
readonly 'builder.logic.addRule': "Add logic rule";
|
|
194
|
+
readonly 'builder.logic.rule': "When";
|
|
195
|
+
readonly 'builder.logic.addClause': "Add clause";
|
|
196
|
+
readonly 'builder.logic.then.addAction': "Add action";
|
|
197
|
+
readonly 'builder.logic.match.all': "All are true";
|
|
198
|
+
readonly 'builder.logic.match.any': "At least one is true";
|
|
199
|
+
readonly 'builder.logic.then': "Then";
|
|
200
|
+
readonly 'builder.logic.then.require': "Required answer";
|
|
201
|
+
readonly 'builder.logic.then.goto': "Go to block";
|
|
202
|
+
readonly 'builder.logic.fallback': "All other responses will continue to";
|
|
203
|
+
readonly 'builder.logic.fallback.next': "Next block";
|
|
204
|
+
readonly 'builder.logic.fallback.goto': "Destination block";
|
|
205
|
+
readonly 'builder.logic.requireQuestionPlaceholder': "Future question";
|
|
206
|
+
readonly 'builder.logic.gotoBlockPlaceholder': "Destination block";
|
|
207
|
+
readonly 'builder.logic.gotoBlockPlaceholderAfter': "Block {index}";
|
|
208
|
+
readonly 'builder.logic.destinationBlockLabel': "Block {index}";
|
|
209
|
+
readonly 'builder.logic.valuePlaceholder': "Value";
|
|
210
|
+
readonly 'builder.logic.operator.eq': "Equals";
|
|
211
|
+
readonly 'builder.logic.operator.neq': "Does not equal";
|
|
212
|
+
readonly 'builder.logic.operator.contains': "Contains";
|
|
213
|
+
readonly 'builder.logic.operator.not_contains': "Does not contain";
|
|
214
|
+
readonly 'builder.logic.operator.starts_with': "Starts with";
|
|
215
|
+
readonly 'builder.logic.operator.not_starts_with': "Does not start with";
|
|
216
|
+
readonly 'builder.logic.operator.ends_with': "Ends with";
|
|
217
|
+
readonly 'builder.logic.operator.not_ends_with': "Does not end with";
|
|
218
|
+
readonly 'builder.logic.operator.is_submitted': "Is submitted";
|
|
219
|
+
readonly 'builder.logic.operator.is_not_submitted': "Is not submitted";
|
|
220
|
+
readonly 'builder.logic.operator.accepted': "Is accepted";
|
|
221
|
+
readonly 'builder.logic.operator.ignored': "Is ignored";
|
|
222
|
+
readonly 'builder.block.showSettings': "Show block settings";
|
|
223
|
+
readonly 'builder.block.hideSettings': "Hide block settings";
|
|
224
|
+
readonly 'builder.block.collapse': "Collapse block";
|
|
225
|
+
readonly 'builder.block.expand': "Expand block";
|
|
226
|
+
readonly 'builder.logic.consent.accepted': "Is accepted";
|
|
227
|
+
readonly 'builder.logic.consent.ignored': "Is ignored";
|
|
92
228
|
readonly 'builder.categoryModal.title': "Create category";
|
|
93
229
|
readonly 'builder.categoryModal.description': "Add a category and assign it to this form.";
|
|
94
230
|
readonly 'builder.categoryModal.nameLabel': "Name";
|
|
@@ -104,6 +240,10 @@ declare const TRANSLATIONS: {
|
|
|
104
240
|
readonly 'renderer.error.loadForm': "Unable to load form";
|
|
105
241
|
readonly 'renderer.error.submit': "Submission failed";
|
|
106
242
|
readonly 'renderer.error.missingFormKey': "Missing form key";
|
|
243
|
+
readonly 'renderer.submissionCodeLabel': "Access code";
|
|
244
|
+
readonly 'renderer.submissionCodePlaceholder': "Enter the access code";
|
|
245
|
+
readonly 'renderer.formNotAvailableYet': "This form is not available yet";
|
|
246
|
+
readonly 'renderer.formPaused': "This form is paused";
|
|
107
247
|
readonly 'renderer.alert.fixFields': "Please fix the following fields";
|
|
108
248
|
readonly 'renderer.alert.submitted': "Form submitted";
|
|
109
249
|
readonly 'renderer.pageTitle': "Page {index}";
|
|
@@ -126,54 +266,127 @@ declare const TRANSLATIONS: {
|
|
|
126
266
|
readonly 'response.file.missingUrlHint': "File URL is unavailable. Enable FORMFORGE_HTTP_FILE_URLS_ENABLED in FormForge config.";
|
|
127
267
|
};
|
|
128
268
|
readonly fr: {
|
|
129
|
-
readonly 'builder.fieldType.text': "
|
|
269
|
+
readonly 'builder.fieldType.text': "Texte libre";
|
|
130
270
|
readonly 'builder.fieldType.textarea': "Réponse longue";
|
|
131
271
|
readonly 'builder.fieldType.email': "E-mail";
|
|
132
272
|
readonly 'builder.fieldType.number': "Nombre";
|
|
133
273
|
readonly 'builder.fieldType.select': "Sélection";
|
|
134
|
-
readonly 'builder.fieldType.select_menu': "Menu
|
|
135
|
-
readonly 'builder.fieldType.radio': "Choix
|
|
274
|
+
readonly 'builder.fieldType.select_menu': "Menu déroulant";
|
|
275
|
+
readonly 'builder.fieldType.radio': "Choix unique";
|
|
136
276
|
readonly 'builder.fieldType.checkbox': "Case à cocher";
|
|
137
|
-
readonly 'builder.fieldType.
|
|
277
|
+
readonly 'builder.fieldType.consent': "Consentement";
|
|
278
|
+
readonly 'builder.fieldType.checkbox_group': "Choix multiples";
|
|
279
|
+
readonly 'builder.fieldType.address': "Adresse";
|
|
138
280
|
readonly 'builder.fieldType.switch': "Interrupteur";
|
|
281
|
+
readonly 'builder.fieldType.temporal': "Date / heure";
|
|
139
282
|
readonly 'builder.fieldType.date': "Date";
|
|
140
283
|
readonly 'builder.fieldType.time': "Heure";
|
|
141
|
-
readonly 'builder.fieldType.datetime': "Date et heure";
|
|
142
|
-
readonly 'builder.fieldType.date_range': "Plage de dates";
|
|
143
|
-
readonly 'builder.fieldType.datetime_range': "Plage date/heure";
|
|
144
284
|
readonly 'builder.fieldType.file': "Téléversement de fichier";
|
|
285
|
+
readonly 'builder.tabs.builder': "Constructeur";
|
|
286
|
+
readonly 'builder.tabs.settings': "Paramètres";
|
|
145
287
|
readonly 'builder.targetType.page': "Page";
|
|
146
288
|
readonly 'builder.targetType.field': "Champ";
|
|
147
289
|
readonly 'builder.formTitlePlaceholder': "Titre du formulaire";
|
|
148
290
|
readonly 'builder.categoryPlaceholder': "Catégorie";
|
|
149
291
|
readonly 'builder.categoryNone': "Aucune catégorie";
|
|
292
|
+
readonly 'builder.blockLabel': "Bloc";
|
|
293
|
+
readonly 'builder.blockCounter': "Bloc {current} / {total}";
|
|
294
|
+
readonly 'builder.block.addNewBlock': "Ajouter un nouveau bloc";
|
|
295
|
+
readonly 'builder.block.addNewBlockDescription': "Commencez un bloc avec sa première question";
|
|
296
|
+
readonly 'builder.questionLabel': "Question";
|
|
297
|
+
readonly 'builder.questionCount': "{count} questions";
|
|
150
298
|
readonly 'builder.loadingForm': "Chargement du formulaire...";
|
|
151
299
|
readonly 'builder.lastSave': "Dernière sauvegarde : {value}";
|
|
152
300
|
readonly 'builder.save': "Sauvegarder";
|
|
153
301
|
readonly 'builder.publish': "Publier";
|
|
154
302
|
readonly 'builder.unpublish': "Dépublier";
|
|
303
|
+
readonly 'builder.optional': "Optionnel";
|
|
155
304
|
readonly 'builder.pageCounter': "Page {current} / {total}";
|
|
156
305
|
readonly 'builder.pageTitlePlaceholder': "Titre de la page";
|
|
157
306
|
readonly 'builder.pageDescriptionPlaceholder': "Description de la page (optionnel)";
|
|
307
|
+
readonly 'builder.descriptionButton': "Ajouter une description";
|
|
308
|
+
readonly 'builder.descriptionPlaceholder': "Description (optionnelle)";
|
|
309
|
+
readonly 'builder.removeDescription': "Retirer la description";
|
|
310
|
+
readonly 'builder.longResponse': "Longue réponse";
|
|
311
|
+
readonly 'builder.longResponseDescription': "Permettre aux répondants d'écrire des réponses plus longues et sur plusieurs lignes.";
|
|
312
|
+
readonly 'builder.validationRules': "Règles de validation";
|
|
313
|
+
readonly 'builder.validationRulesDescription': "Accepter uniquement les réponses qui répondent aux critères suivants";
|
|
314
|
+
readonly 'builder.validation.match.all': "Toutes sont vraies";
|
|
315
|
+
readonly 'builder.validation.match.any': "Au moins une est vraie";
|
|
316
|
+
readonly 'builder.validation.operator.min': "Au minimum";
|
|
317
|
+
readonly 'builder.validation.operator.max': "Au maximum";
|
|
318
|
+
readonly 'builder.validation.operator.after': "Est postérieur à";
|
|
319
|
+
readonly 'builder.validation.operator.before': "Est antérieur à";
|
|
320
|
+
readonly 'builder.validation.operator.between': "Est entre";
|
|
321
|
+
readonly 'builder.validation.operator.notBetween': "N'est pas entre";
|
|
322
|
+
readonly 'builder.validation.operator.regex': "Correspond au modèle d'expression régulière";
|
|
323
|
+
readonly 'builder.validation.operator.eq': "Est";
|
|
324
|
+
readonly 'builder.validation.operator.neq': "N'est pas";
|
|
325
|
+
readonly 'builder.validation.operator.contains': "Contient";
|
|
326
|
+
readonly 'builder.validation.operator.notContains': "Ne contient pas";
|
|
327
|
+
readonly 'builder.validation.target.text': "Texte";
|
|
328
|
+
readonly 'builder.validation.target.number': "Nombre";
|
|
329
|
+
readonly 'builder.validation.target.date': "Date";
|
|
330
|
+
readonly 'builder.validation.unit.characters': "Caractères";
|
|
331
|
+
readonly 'builder.validation.valuePlaceholder': "Valeur";
|
|
332
|
+
readonly 'builder.validation.datePlaceholder': "AAAA-MM-JJ";
|
|
333
|
+
readonly 'builder.validation.rangeStart': "Date de début";
|
|
334
|
+
readonly 'builder.validation.rangeEnd': "Date de fin";
|
|
335
|
+
readonly 'builder.validation.dateDescription': "Définir l'intervalle de dates ou d'heures autorisé.";
|
|
336
|
+
readonly 'builder.answerPlaceholder': "Entrez votre réponse ici ...";
|
|
337
|
+
readonly 'builder.choiceDisplay': "Affichage";
|
|
338
|
+
readonly 'builder.choiceDisplay.list': "Liste";
|
|
339
|
+
readonly 'builder.choiceDisplay.menu': "Menu déroulant";
|
|
340
|
+
readonly 'builder.consentLabel': "Libellé de la case à cocher";
|
|
341
|
+
readonly 'builder.optionsLabel': "Options";
|
|
342
|
+
readonly 'builder.optionPlaceholder': "Option {index}";
|
|
343
|
+
readonly 'builder.optionOther': "Autre";
|
|
344
|
+
readonly 'builder.optionNone': "Aucun des éléments ci-dessus";
|
|
345
|
+
readonly 'builder.addressFields': "Champs d'adresse";
|
|
346
|
+
readonly 'builder.address.show': "Montrer";
|
|
347
|
+
readonly 'builder.address.required': "Requis";
|
|
348
|
+
readonly 'builder.address.label': "Étiquette";
|
|
349
|
+
readonly 'builder.address.line1': "Ligne d'adresse 1";
|
|
350
|
+
readonly 'builder.address.line2': "Ligne d'adresse 2";
|
|
351
|
+
readonly 'builder.address.city': "Ville";
|
|
352
|
+
readonly 'builder.address.state': "État";
|
|
353
|
+
readonly 'builder.address.zip': "Code postal";
|
|
354
|
+
readonly 'builder.address.country': "Pays";
|
|
355
|
+
readonly 'builder.addOtherOption': "Ajouter \"Autre\"";
|
|
356
|
+
readonly 'builder.addNoneOption': "Ajouter \"Aucun des éléments ci-dessus\"";
|
|
158
357
|
readonly 'builder.tooltip.mergePage': "Fusionner avec la page précédente";
|
|
159
358
|
readonly 'builder.tooltip.deletePage': "Supprimer la page";
|
|
160
359
|
readonly 'builder.questionPlaceholder': "Question";
|
|
161
360
|
readonly 'builder.tooltip.duplicateQuestion': "Dupliquer la question";
|
|
162
361
|
readonly 'builder.tooltip.deleteQuestion': "Supprimer la question";
|
|
163
362
|
readonly 'builder.tooltip.addCategory': "Ajouter une catégorie";
|
|
363
|
+
readonly 'builder.block.addQuestion': "Ajouter une question au bloc";
|
|
164
364
|
readonly 'builder.required': "Obligatoire";
|
|
365
|
+
readonly 'builder.questionMenu.changeType': "Changer le type de question";
|
|
366
|
+
readonly 'builder.questionMenu.addBelow': "Ajouter une question ci-dessous";
|
|
367
|
+
readonly 'builder.questionMenu.moveToBlock': "Déplacer la question vers le bloc";
|
|
368
|
+
readonly 'builder.questionMenu.moveUp': "Déplacer vers le haut";
|
|
369
|
+
readonly 'builder.questionMenu.moveDown': "Déplacer vers le bas";
|
|
370
|
+
readonly 'builder.questionMenu.duplicate': "Dupliquer";
|
|
371
|
+
readonly 'builder.questionMenu.delete': "Supprimer";
|
|
372
|
+
readonly 'builder.questionMenu.noBlockAfter': "Aucun bloc suivant";
|
|
165
373
|
readonly 'builder.optionLabelPlaceholder': "Libellé de l’option";
|
|
166
374
|
readonly 'builder.addOption': "Ajouter une option";
|
|
167
375
|
readonly 'builder.advancedSettings': "Paramètres avancés";
|
|
168
376
|
readonly 'builder.placeholderPlaceholder': "Placeholder";
|
|
169
377
|
readonly 'builder.helpTextPlaceholder': "Texte d’aide";
|
|
378
|
+
readonly 'builder.temporalMode.label': "Mode de date";
|
|
379
|
+
readonly 'builder.temporalMode.date': "Date";
|
|
380
|
+
readonly 'builder.temporalMode.time': "Heure";
|
|
381
|
+
readonly 'builder.temporalHourCycle.label': "Format horaire 24 h";
|
|
382
|
+
readonly 'builder.temporalHourCycle.description': "Afficher AM/PM uniquement lorsque ce réglage est désactivé.";
|
|
170
383
|
readonly 'builder.minPlaceholder': "Min";
|
|
171
384
|
readonly 'builder.maxPlaceholder': "Max";
|
|
172
385
|
readonly 'builder.stepPlaceholder': "Pas";
|
|
173
386
|
readonly 'builder.multiple': "Multiple";
|
|
174
387
|
readonly 'builder.acceptedExtensionsPlaceholder': "Extensions acceptées (.pdf,.png)";
|
|
175
|
-
readonly 'builder.conditions': "
|
|
176
|
-
readonly 'builder.addCondition': "Ajouter une
|
|
388
|
+
readonly 'builder.conditions': "Logique conditionnelle";
|
|
389
|
+
readonly 'builder.addCondition': "Ajouter une règle de logique";
|
|
177
390
|
readonly 'builder.condition.action.show': "Afficher";
|
|
178
391
|
readonly 'builder.condition.action.hide': "Masquer";
|
|
179
392
|
readonly 'builder.condition.action.skip': "Passer";
|
|
@@ -210,6 +423,69 @@ declare const TRANSLATIONS: {
|
|
|
210
423
|
readonly 'builder.toast.unpublishSuccess': "Formulaire dépublié";
|
|
211
424
|
readonly 'builder.optionDefaultLabel': "Option";
|
|
212
425
|
readonly 'builder.optionsCount': "{count} options";
|
|
426
|
+
readonly 'builder.settings.title': "Paramètres";
|
|
427
|
+
readonly 'builder.settings.description': "Configurez le cycle de vie, l’accès et les paramètres de publication de ce formulaire.";
|
|
428
|
+
readonly 'builder.settings.formTitlePlaceholder': "Titre du formulaire";
|
|
429
|
+
readonly 'builder.settings.categoryPlaceholder': "Catégorie";
|
|
430
|
+
readonly 'builder.settings.opening.title': "Ouverture du sondage";
|
|
431
|
+
readonly 'builder.settings.opening.description': "Choisissez quand le formulaire devient disponible.";
|
|
432
|
+
readonly 'builder.settings.opening.date': "Date d’ouverture";
|
|
433
|
+
readonly 'builder.settings.opening.time': "Heure d’ouverture";
|
|
434
|
+
readonly 'builder.settings.closing.title': "Fermeture du sondage";
|
|
435
|
+
readonly 'builder.settings.closing.description': "Choisissez quand le formulaire cesse d’accepter des réponses.";
|
|
436
|
+
readonly 'builder.settings.closing.date': "Date de fermeture";
|
|
437
|
+
readonly 'builder.settings.closing.time': "Heure de fermeture";
|
|
438
|
+
readonly 'builder.settings.submissionLimit.title': "Limite de réponses";
|
|
439
|
+
readonly 'builder.settings.submissionLimit.description': "Le formulaire se ferme automatiquement après ce nombre de réponses.";
|
|
440
|
+
readonly 'builder.settings.submissionLimit.maximumResponses': "Nombre maximal de réponses";
|
|
441
|
+
readonly 'builder.settings.access.title': "Accès";
|
|
442
|
+
readonly 'builder.settings.access.description': "Contrôlez qui peut répondre au formulaire et si un code PIN est requis.";
|
|
443
|
+
readonly 'builder.settings.access.publicForm.title': "Formulaire public";
|
|
444
|
+
readonly 'builder.settings.access.publicForm.description': "Autorisez toute personne ayant le lien à envoyer des réponses.";
|
|
445
|
+
readonly 'builder.settings.access.publicLink': "Lien public";
|
|
446
|
+
readonly 'builder.settings.access.publicLinkPlaceholder': "Enregistrez le formulaire pour générer un lien";
|
|
447
|
+
readonly 'builder.settings.access.pinProtection.title': "Protection par PIN";
|
|
448
|
+
readonly 'builder.settings.access.pinProtection.description': "Exiger un code PIN avant l’envoi du formulaire.";
|
|
449
|
+
readonly 'builder.settings.access.pin': "PIN";
|
|
450
|
+
readonly 'builder.settings.access.pinPlaceholder': "Saisissez le PIN";
|
|
451
|
+
readonly 'builder.logic.title': "Logique conditionnelle";
|
|
452
|
+
readonly 'builder.logic.empty': "Aucune règle de logique";
|
|
453
|
+
readonly 'builder.logic.rulesCount': "{count} règles de logique";
|
|
454
|
+
readonly 'builder.logic.addRule': "Ajouter une règle de logique";
|
|
455
|
+
readonly 'builder.logic.rule': "Quand";
|
|
456
|
+
readonly 'builder.logic.addClause': "Ajouter une clause";
|
|
457
|
+
readonly 'builder.logic.then.addAction': "Ajouter une action";
|
|
458
|
+
readonly 'builder.logic.match.all': "Toutes sont vraies";
|
|
459
|
+
readonly 'builder.logic.match.any': "Au moins une est vraie";
|
|
460
|
+
readonly 'builder.logic.then': "Alors";
|
|
461
|
+
readonly 'builder.logic.then.require': "Réponse requise";
|
|
462
|
+
readonly 'builder.logic.then.goto': "Aller au bloc";
|
|
463
|
+
readonly 'builder.logic.fallback': "Toutes les autres réponses continueront à";
|
|
464
|
+
readonly 'builder.logic.fallback.next': "Bloc suivant";
|
|
465
|
+
readonly 'builder.logic.fallback.goto': "Bloc de destination";
|
|
466
|
+
readonly 'builder.logic.requireQuestionPlaceholder': "Question future";
|
|
467
|
+
readonly 'builder.logic.gotoBlockPlaceholder': "Bloc de destination";
|
|
468
|
+
readonly 'builder.logic.gotoBlockPlaceholderAfter': "Bloc {index}";
|
|
469
|
+
readonly 'builder.logic.destinationBlockLabel': "Bloc {index}";
|
|
470
|
+
readonly 'builder.logic.valuePlaceholder': "Valeur";
|
|
471
|
+
readonly 'builder.logic.operator.eq': "Égal à";
|
|
472
|
+
readonly 'builder.logic.operator.neq': "Différent de";
|
|
473
|
+
readonly 'builder.logic.operator.contains': "Contient";
|
|
474
|
+
readonly 'builder.logic.operator.not_contains': "Ne contient pas";
|
|
475
|
+
readonly 'builder.logic.operator.starts_with': "Commence par";
|
|
476
|
+
readonly 'builder.logic.operator.not_starts_with': "Ne commence pas par";
|
|
477
|
+
readonly 'builder.logic.operator.ends_with': "Se termine par";
|
|
478
|
+
readonly 'builder.logic.operator.not_ends_with': "Ne se termine pas par";
|
|
479
|
+
readonly 'builder.logic.operator.is_submitted': "Est soumis";
|
|
480
|
+
readonly 'builder.logic.operator.is_not_submitted': "N’est pas soumis";
|
|
481
|
+
readonly 'builder.logic.operator.accepted': "C’est accepté";
|
|
482
|
+
readonly 'builder.logic.operator.ignored': "Est ignoré";
|
|
483
|
+
readonly 'builder.logic.consent.accepted': "C’est accepté";
|
|
484
|
+
readonly 'builder.logic.consent.ignored': "Est ignoré";
|
|
485
|
+
readonly 'builder.block.showSettings': "Afficher les paramètres du bloc";
|
|
486
|
+
readonly 'builder.block.hideSettings': "Masquer les paramètres du bloc";
|
|
487
|
+
readonly 'builder.block.collapse': "Réduire le bloc";
|
|
488
|
+
readonly 'builder.block.expand': "Déplier le bloc";
|
|
213
489
|
readonly 'builder.categoryModal.title': "Créer une catégorie";
|
|
214
490
|
readonly 'builder.categoryModal.description': "Ajoutez une catégorie et assignez-la à ce formulaire.";
|
|
215
491
|
readonly 'builder.categoryModal.nameLabel': "Nom";
|
|
@@ -225,6 +501,10 @@ declare const TRANSLATIONS: {
|
|
|
225
501
|
readonly 'renderer.error.loadForm': "Impossible de charger le formulaire";
|
|
226
502
|
readonly 'renderer.error.submit': "Échec de l’envoi";
|
|
227
503
|
readonly 'renderer.error.missingFormKey': "Clé du formulaire manquante";
|
|
504
|
+
readonly 'renderer.submissionCodeLabel': "Code d’accès";
|
|
505
|
+
readonly 'renderer.submissionCodePlaceholder': "Entrez le code d’accès";
|
|
506
|
+
readonly 'renderer.formNotAvailableYet': "Ce formulaire n’est pas encore disponible";
|
|
507
|
+
readonly 'renderer.formPaused': "Ce formulaire est en pause";
|
|
228
508
|
readonly 'renderer.alert.fixFields': "Veuillez corriger les champs suivants";
|
|
229
509
|
readonly 'renderer.alert.submitted': "Formulaire envoyé";
|
|
230
510
|
readonly 'renderer.pageTitle': "Page {index}";
|