@defra/forms-engine-plugin 5.0.0-alpha.2 → 5.0.0-alpha.20
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/.public/javascripts/application.min.js +1 -1
- package/.public/javascripts/application.min.js.LICENSE.txt +7 -0
- package/.public/javascripts/application.min.js.map +1 -1
- package/.public/javascripts/shared.min.js +1 -1
- package/.public/javascripts/shared.min.js.LICENSE.txt +7 -0
- package/.public/javascripts/shared.min.js.map +1 -1
- package/.public/stylesheets/application.min.css.map +1 -1
- package/.server/client/javascripts/file-upload.js +6 -3
- package/.server/client/javascripts/file-upload.js.map +1 -1
- package/.server/client/javascripts/geospatial-map.d.ts +153 -5
- package/.server/client/javascripts/geospatial-map.js +157 -77
- package/.server/client/javascripts/geospatial-map.js.map +1 -1
- package/.server/client/javascripts/govuk.js +2 -1
- package/.server/client/javascripts/govuk.js.map +1 -1
- package/.server/client/javascripts/location-map.d.ts +44 -0
- package/.server/client/javascripts/location-map.js +54 -5
- package/.server/client/javascripts/location-map.js.map +1 -1
- package/.server/client/javascripts/map-constants.d.ts +3 -0
- package/.server/client/javascripts/map-constants.js +4 -0
- package/.server/client/javascripts/map-constants.js.map +1 -0
- package/.server/client/javascripts/map.d.ts +10 -0
- package/.server/client/javascripts/map.js +42 -0
- package/.server/client/javascripts/map.js.map +1 -1
- package/.server/client/javascripts/maps.d.ts +5 -0
- package/.server/client/javascripts/maps.js +6 -0
- package/.server/client/javascripts/maps.js.map +1 -0
- package/.server/client/javascripts/shared.d.ts +1 -4
- package/.server/client/javascripts/shared.js +1 -4
- package/.server/client/javascripts/shared.js.map +1 -1
- package/.server/client/javascripts/sssi-dataset.d.ts +18 -20
- package/.server/client/javascripts/sssi-dataset.js +37 -39
- package/.server/client/javascripts/sssi-dataset.js.map +1 -1
- package/.server/client/stylesheets/maps.scss +4 -0
- package/.server/client/stylesheets/shared.scss +1 -5
- package/.server/server/constants.d.ts +2 -0
- package/.server/server/constants.js +2 -0
- package/.server/server/constants.js.map +1 -1
- package/.server/server/plugins/engine/__stubs__/definitions.d.ts +29 -0
- package/.server/server/plugins/engine/__stubs__/definitions.js +125 -0
- package/.server/server/plugins/engine/__stubs__/definitions.js.map +1 -0
- package/.server/server/plugins/engine/components/AutocompleteField.d.ts +9 -3
- package/.server/server/plugins/engine/components/AutocompleteField.js +12 -0
- package/.server/server/plugins/engine/components/AutocompleteField.js.map +1 -1
- package/.server/server/plugins/engine/components/CheckboxesField.d.ts +21 -0
- package/.server/server/plugins/engine/components/CheckboxesField.js +30 -5
- package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
- package/.server/server/plugins/engine/components/ComponentBase.d.ts +1 -0
- package/.server/server/plugins/engine/components/ComponentBase.js +2 -0
- package/.server/server/plugins/engine/components/ComponentBase.js.map +1 -1
- package/.server/server/plugins/engine/components/ComponentCollection.js +11 -6
- package/.server/server/plugins/engine/components/ComponentCollection.js.map +1 -1
- package/.server/server/plugins/engine/components/DatePartsField.d.ts +6 -3
- package/.server/server/plugins/engine/components/DatePartsField.js +12 -7
- package/.server/server/plugins/engine/components/DatePartsField.js.map +1 -1
- package/.server/server/plugins/engine/components/DeclarationField.d.ts +5 -2
- package/.server/server/plugins/engine/components/DeclarationField.js +6 -4
- package/.server/server/plugins/engine/components/DeclarationField.js.map +1 -1
- package/.server/server/plugins/engine/components/Details.d.ts +1 -0
- package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +33 -2
- package/.server/server/plugins/engine/components/EastingNorthingField.js +110 -54
- package/.server/server/plugins/engine/components/EastingNorthingField.js.map +1 -1
- package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -1
- package/.server/server/plugins/engine/components/EmailAddressField.js +2 -1
- package/.server/server/plugins/engine/components/EmailAddressField.js.map +1 -1
- package/.server/server/plugins/engine/components/FileUploadField.d.ts +21 -0
- package/.server/server/plugins/engine/components/FileUploadField.js +35 -3
- package/.server/server/plugins/engine/components/FileUploadField.js.map +1 -1
- package/.server/server/plugins/engine/components/FormComponent.d.ts +5 -1
- package/.server/server/plugins/engine/components/FormComponent.js +5 -2
- package/.server/server/plugins/engine/components/FormComponent.js.map +1 -1
- package/.server/server/plugins/engine/components/GeospatialField.d.ts +23 -0
- package/.server/server/plugins/engine/components/GeospatialField.js +33 -9
- package/.server/server/plugins/engine/components/GeospatialField.js.map +1 -1
- package/.server/server/plugins/engine/components/Html.d.ts +1 -0
- package/.server/server/plugins/engine/components/InsetText.d.ts +1 -0
- package/.server/server/plugins/engine/components/LatLongField.d.ts +32 -2
- package/.server/server/plugins/engine/components/LatLongField.js +85 -48
- package/.server/server/plugins/engine/components/LatLongField.js.map +1 -1
- package/.server/server/plugins/engine/components/List.d.ts +1 -0
- package/.server/server/plugins/engine/components/ListFormComponent.d.ts +1 -0
- package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +8 -2
- package/.server/server/plugins/engine/components/LocationFieldBase.js +25 -6
- package/.server/server/plugins/engine/components/LocationFieldBase.js.map +1 -1
- package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +12 -3
- package/.server/server/plugins/engine/components/LocationFieldHelpers.js +21 -13
- package/.server/server/plugins/engine/components/LocationFieldHelpers.js.map +1 -1
- package/.server/server/plugins/engine/components/Markdown.d.ts +1 -0
- package/.server/server/plugins/engine/components/Markdown.js +1 -1
- package/.server/server/plugins/engine/components/Markdown.js.map +1 -1
- package/.server/server/plugins/engine/components/MonthYearField.d.ts +5 -2
- package/.server/server/plugins/engine/components/MonthYearField.js +13 -9
- package/.server/server/plugins/engine/components/MonthYearField.js.map +1 -1
- package/.server/server/plugins/engine/components/MultilineTextField.d.ts +1 -0
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +2 -1
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.js +4 -3
- package/.server/server/plugins/engine/components/NationalGridFieldNumberField.js.map +1 -1
- package/.server/server/plugins/engine/components/NotificationBanner.d.ts +1 -0
- package/.server/server/plugins/engine/components/NumberField.d.ts +5 -0
- package/.server/server/plugins/engine/components/NumberField.js +16 -0
- package/.server/server/plugins/engine/components/NumberField.js.map +1 -1
- package/.server/server/plugins/engine/components/OsGridRefField.d.ts +103 -1
- package/.server/server/plugins/engine/components/OsGridRefField.js +13 -3
- package/.server/server/plugins/engine/components/OsGridRefField.js.map +1 -1
- package/.server/server/plugins/engine/components/PaymentField.d.ts +3 -0
- package/.server/server/plugins/engine/components/PaymentField.js +17 -6
- package/.server/server/plugins/engine/components/PaymentField.js.map +1 -1
- package/.server/server/plugins/engine/components/SelectField.d.ts +1 -0
- package/.server/server/plugins/engine/components/SelectionControlField.d.ts +1 -0
- package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +1 -0
- package/.server/server/plugins/engine/components/UkAddressField.d.ts +1 -0
- package/.server/server/plugins/engine/components/UkAddressField.js +23 -8
- package/.server/server/plugins/engine/components/UkAddressField.js.map +1 -1
- package/.server/server/plugins/engine/components/YesNoField.d.ts +5 -2
- package/.server/server/plugins/engine/components/YesNoField.js +17 -8
- package/.server/server/plugins/engine/components/YesNoField.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/components.js +3 -3
- package/.server/server/plugins/engine/components/helpers/components.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +8 -1
- package/.server/server/plugins/engine/components/helpers/geospatial.js +56 -15
- package/.server/server/plugins/engine/components/helpers/geospatial.js.map +1 -1
- package/.server/server/plugins/engine/components/helpers/index.d.ts +7 -0
- package/.server/server/plugins/engine/components/helpers/index.js +13 -1
- package/.server/server/plugins/engine/components/helpers/index.js.map +1 -1
- package/.server/server/plugins/engine/components/types.d.ts +1 -0
- package/.server/server/plugins/engine/components/types.js.map +1 -1
- package/.server/server/plugins/engine/errors.d.ts +49 -0
- package/.server/server/plugins/engine/errors.js +75 -0
- package/.server/server/plugins/engine/errors.js.map +1 -0
- package/.server/server/plugins/engine/form-availability.d.ts +3 -2
- package/.server/server/plugins/engine/form-availability.js +3 -2
- package/.server/server/plugins/engine/form-availability.js.map +1 -1
- package/.server/server/plugins/engine/form-context.js +2 -2
- package/.server/server/plugins/engine/form-context.js.map +1 -1
- package/.server/server/plugins/engine/helpers.d.ts +22 -2
- package/.server/server/plugins/engine/helpers.js +44 -5
- package/.server/server/plugins/engine/helpers.js.map +1 -1
- package/.server/server/plugins/engine/i18n/buildValidationMessages.d.ts +4 -1
- package/.server/server/plugins/engine/i18n/buildValidationMessages.js +31 -7
- package/.server/server/plugins/engine/i18n/buildValidationMessages.js.map +1 -1
- package/.server/server/plugins/engine/i18n/createFormTranslator.d.ts +4 -4
- package/.server/server/plugins/engine/i18n/createFormTranslator.js +33 -4
- package/.server/server/plugins/engine/i18n/createFormTranslator.js.map +1 -1
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.d.ts +1 -1
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.js +9 -0
- package/.server/server/plugins/engine/i18n/extractBaseTranslations.js.map +1 -1
- package/.server/server/plugins/engine/i18n/form.d.ts +13 -0
- package/.server/server/plugins/engine/i18n/form.js +35 -0
- package/.server/server/plugins/engine/i18n/form.js.map +1 -0
- package/.server/server/plugins/engine/i18n/languages.d.ts +10 -0
- package/.server/server/plugins/engine/i18n/languages.js +19 -0
- package/.server/server/plugins/engine/i18n/languages.js.map +1 -0
- package/.server/server/plugins/engine/i18n/translations/cy.json +192 -9
- package/.server/server/plugins/engine/i18n/translations/en-GB.json +125 -7
- package/.server/server/plugins/engine/i18n/types.d.ts +3 -0
- package/.server/server/plugins/engine/i18n/types.js.map +1 -1
- package/.server/server/plugins/engine/index.d.ts +4 -0
- package/.server/server/plugins/engine/index.js +4 -0
- package/.server/server/plugins/engine/index.js.map +1 -1
- package/.server/server/plugins/engine/models/FormModel.d.ts +0 -4
- package/.server/server/plugins/engine/models/FormModel.js +19 -17
- package/.server/server/plugins/engine/models/FormModel.js.map +1 -1
- package/.server/server/plugins/engine/models/SummaryViewModel.js +9 -4
- package/.server/server/plugins/engine/models/SummaryViewModel.js.map +1 -1
- package/.server/server/plugins/engine/models/unavailable-view-model.d.ts +11 -2
- package/.server/server/plugins/engine/models/unavailable-view-model.js +23 -4
- package/.server/server/plugins/engine/models/unavailable-view-model.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js +3 -5
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/human/v1.js +2 -1
- package/.server/server/plugins/engine/outputFormatters/human/v1.js.map +1 -1
- package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +2 -0
- package/.server/server/plugins/engine/outputFormatters/machine/v2.js +2 -0
- package/.server/server/plugins/engine/outputFormatters/machine/v2.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +7 -1
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js +56 -10
- package/.server/server/plugins/engine/pageControllers/FileUploadPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.js +7 -3
- package/.server/server/plugins/engine/pageControllers/QuestionPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/RepeatPageController.js +3 -4
- package/.server/server/plugins/engine/pageControllers/RepeatPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/SummaryPageController.js +10 -4
- package/.server/server/plugins/engine/pageControllers/SummaryPageController.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/pages.js +2 -1
- package/.server/server/plugins/engine/pageControllers/helpers/pages.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/helpers/submission.js +3 -3
- package/.server/server/plugins/engine/pageControllers/helpers/submission.js.map +1 -1
- package/.server/server/plugins/engine/pageControllers/validationOptions.d.ts +1 -1
- package/.server/server/plugins/engine/pageControllers/validationOptions.js +24 -3
- package/.server/server/plugins/engine/pageControllers/validationOptions.js.map +1 -1
- package/.server/server/plugins/engine/types/schema.js +1 -0
- package/.server/server/plugins/engine/types/schema.js.map +1 -1
- package/.server/server/plugins/engine/types.d.ts +5 -0
- package/.server/server/plugins/engine/types.js.map +1 -1
- package/.server/server/plugins/engine/unavailable-response.js +5 -2
- package/.server/server/plugins/engine/unavailable-response.js.map +1 -1
- package/.server/server/plugins/engine/views/components/_location-field-base.html +4 -2
- package/.server/server/plugins/engine/views/components/fileuploadfield.html +1 -1
- package/.server/server/plugins/engine/views/components/geospatialfield.html +1 -0
- package/.server/server/plugins/engine/views/components/multilinetextfield.html +12 -1
- package/.server/server/plugins/engine/views/components/osgridreffield.html +4 -1
- package/.server/server/plugins/engine/views/components/paymentfield.html +1 -1
- package/.server/server/plugins/engine/views/components/ukaddressfield.html +1 -1
- package/.server/server/plugins/engine/views/file-upload.html +1 -1
- package/.server/server/plugins/engine/views/partials/preview-banner.html +3 -1
- package/.server/server/plugins/engine/views/unavailable.html +14 -11
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.d.ts +9 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.js +17 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.js.map +1 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.test.js +17 -0
- package/.server/server/plugins/nunjucks/filters/applyUrlParam.test.js.map +1 -0
- package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
- package/.server/server/plugins/nunjucks/filters/index.d.ts +1 -0
- package/.server/server/plugins/nunjucks/filters/index.js +1 -0
- package/.server/server/plugins/nunjucks/filters/index.js.map +1 -1
- package/.server/server/plugins/payment/helper.d.ts +11 -1
- package/.server/server/plugins/payment/helper.js +18 -2
- package/.server/server/plugins/payment/helper.js.map +1 -1
- package/.server/server/plugins/payment/helper.test.js +2 -1
- package/.server/server/plugins/payment/helper.test.js.map +1 -1
- package/.server/server/plugins/payment/service.d.ts +2 -1
- package/.server/server/plugins/payment/service.js +5 -2
- package/.server/server/plugins/payment/service.js.map +1 -1
- package/.server/server/plugins/payment/service.test.js +7 -3
- package/.server/server/plugins/payment/service.test.js.map +1 -1
- package/.server/server/plugins/payment/types.d.ts +4 -0
- package/.server/server/plugins/payment/types.js +1 -0
- package/.server/server/plugins/payment/types.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/models/index.d.ts +249 -3
- package/.server/server/plugins/postcode-lookup/models/index.js +87 -33
- package/.server/server/plugins/postcode-lookup/models/index.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/routes/index.d.ts +15 -1
- package/.server/server/plugins/postcode-lookup/routes/index.js +47 -15
- package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/routes/index.test.js +84 -0
- package/.server/server/plugins/postcode-lookup/routes/index.test.js.map +1 -0
- package/.server/server/plugins/postcode-lookup/types.d.ts +12 -0
- package/.server/server/plugins/postcode-lookup/types.js +6 -1
- package/.server/server/plugins/postcode-lookup/types.js.map +1 -1
- package/.server/server/plugins/postcode-lookup/views/postcode-lookup-details.html +3 -3
- package/.server/server/utils/type-utils.d.ts +1 -2
- package/.server/server/utils/type-utils.js +0 -3
- package/.server/server/utils/type-utils.js.map +1 -1
- package/.server/server/utils/utils.d.ts +6 -0
- package/.server/server/utils/utils.js +18 -1
- package/.server/server/utils/utils.js.map +1 -1
- package/.server/server/utils/utils.test.js +21 -1
- package/.server/server/utils/utils.test.js.map +1 -1
- package/package.json +20 -5
- package/src/client/javascripts/file-upload.js +11 -3
- package/src/client/javascripts/geospatial-map.js +176 -81
- package/src/client/javascripts/govuk.js +2 -0
- package/src/client/javascripts/location-map.js +60 -4
- package/src/client/javascripts/map-constants.js +3 -0
- package/src/client/javascripts/map.js +47 -0
- package/src/client/javascripts/maps.js +5 -0
- package/src/client/javascripts/shared.js +1 -4
- package/src/client/javascripts/sssi-dataset.js +39 -41
- package/src/client/stylesheets/maps.scss +4 -0
- package/src/client/stylesheets/shared.scss +1 -5
- package/src/server/constants.js +2 -0
- package/src/server/plugins/engine/__stubs__/definitions.ts +155 -0
- package/src/server/plugins/engine/components/AutocompleteField.ts +13 -0
- package/src/server/plugins/engine/components/CheckboxesField.ts +38 -5
- package/src/server/plugins/engine/components/ComponentBase.ts +2 -0
- package/src/server/plugins/engine/components/ComponentCollection.ts +16 -11
- package/src/server/plugins/engine/components/DatePartsField.ts +20 -9
- package/src/server/plugins/engine/components/DeclarationField.ts +7 -6
- package/src/server/plugins/engine/components/EastingNorthingField.ts +185 -89
- package/src/server/plugins/engine/components/EmailAddressField.ts +2 -1
- package/src/server/plugins/engine/components/FileUploadField.ts +44 -3
- package/src/server/plugins/engine/components/FormComponent.ts +6 -5
- package/src/server/plugins/engine/components/GeospatialField.ts +47 -9
- package/src/server/plugins/engine/components/LatLongField.ts +128 -58
- package/src/server/plugins/engine/components/LocationFieldBase.ts +30 -7
- package/src/server/plugins/engine/components/LocationFieldHelpers.ts +28 -14
- package/src/server/plugins/engine/components/Markdown.ts +2 -3
- package/src/server/plugins/engine/components/MonthYearField.ts +20 -15
- package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +9 -3
- package/src/server/plugins/engine/components/NumberField.ts +21 -1
- package/src/server/plugins/engine/components/OsGridRefField.ts +22 -3
- package/src/server/plugins/engine/components/PaymentField.ts +15 -5
- package/src/server/plugins/engine/components/UkAddressField.ts +30 -7
- package/src/server/plugins/engine/components/YesNoField.ts +17 -9
- package/src/server/plugins/engine/components/helpers/components.ts +3 -3
- package/src/server/plugins/engine/components/helpers/geospatial.ts +84 -21
- package/src/server/plugins/engine/components/helpers/index.ts +19 -0
- package/src/server/plugins/engine/components/types.ts +1 -0
- package/src/server/plugins/engine/errors.ts +78 -0
- package/src/server/plugins/engine/form-availability.ts +8 -2
- package/src/server/plugins/engine/form-context.ts +4 -2
- package/src/server/plugins/engine/helpers.ts +52 -5
- package/src/server/plugins/engine/i18n/buildValidationMessages.ts +16 -8
- package/src/server/plugins/engine/i18n/createFormTranslator.ts +62 -11
- package/src/server/plugins/engine/i18n/extractBaseTranslations.ts +7 -1
- package/src/server/plugins/engine/i18n/form.ts +54 -0
- package/src/server/plugins/engine/i18n/languages.ts +19 -0
- package/src/server/plugins/engine/i18n/translations/cy.json +192 -9
- package/src/server/plugins/engine/i18n/translations/en-GB.json +125 -7
- package/src/server/plugins/engine/i18n/types.ts +3 -0
- package/src/server/plugins/engine/index.ts +7 -0
- package/src/server/plugins/engine/models/FormModel.ts +21 -17
- package/src/server/plugins/engine/models/SummaryViewModel.ts +6 -5
- package/src/server/plugins/engine/models/unavailable-view-model.ts +26 -5
- package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +3 -6
- package/src/server/plugins/engine/outputFormatters/human/v1.ts +2 -1
- package/src/server/plugins/engine/outputFormatters/machine/v2.ts +3 -0
- package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +60 -9
- package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +10 -5
- package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +2 -2
- package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +15 -4
- package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -1
- package/src/server/plugins/engine/pageControllers/helpers/submission.ts +6 -3
- package/src/server/plugins/engine/pageControllers/validationOptions.ts +29 -4
- package/src/server/plugins/engine/types/schema.ts +1 -0
- package/src/server/plugins/engine/types.ts +5 -0
- package/src/server/plugins/engine/unavailable-response.ts +6 -2
- package/src/server/plugins/engine/views/components/_location-field-base.html +4 -2
- package/src/server/plugins/engine/views/components/fileuploadfield.html +1 -1
- package/src/server/plugins/engine/views/components/geospatialfield.html +1 -0
- package/src/server/plugins/engine/views/components/multilinetextfield.html +12 -1
- package/src/server/plugins/engine/views/components/osgridreffield.html +4 -1
- package/src/server/plugins/engine/views/components/paymentfield.html +1 -1
- package/src/server/plugins/engine/views/components/ukaddressfield.html +1 -1
- package/src/server/plugins/engine/views/file-upload.html +1 -1
- package/src/server/plugins/engine/views/partials/preview-banner.html +3 -1
- package/src/server/plugins/engine/views/unavailable.html +14 -11
- package/src/server/plugins/nunjucks/filters/applyUrlParam.js +17 -0
- package/src/server/plugins/nunjucks/filters/index.js +1 -0
- package/src/server/plugins/payment/helper.js +22 -2
- package/src/server/plugins/payment/service.js +6 -2
- package/src/server/plugins/payment/types.js +1 -0
- package/src/server/plugins/postcode-lookup/models/index.js +75 -43
- package/src/server/plugins/postcode-lookup/routes/index.js +73 -16
- package/src/server/plugins/postcode-lookup/types.js +6 -1
- package/src/server/plugins/postcode-lookup/views/postcode-lookup-details.html +3 -3
- package/src/server/utils/type-utils.ts +1 -11
- package/src/server/utils/utils.js +19 -1
|
@@ -16,7 +16,9 @@ const opts = {
|
|
|
16
16
|
* because Joi cannot resolve custom functions from a plain string.
|
|
17
17
|
* Plain strings with only built-in tokens ({{#label}}, {{#limit}}) work without wrapping.
|
|
18
18
|
*/
|
|
19
|
-
export function buildValidationMessages(
|
|
19
|
+
export function buildValidationMessages(
|
|
20
|
+
t: (key: string, options?: Record<string, unknown>) => string
|
|
21
|
+
) {
|
|
20
22
|
return {
|
|
21
23
|
// Expressions — contain lowerFirst custom function
|
|
22
24
|
required: joi.expression(t('validation.required'), opts) as JoiExpression,
|
|
@@ -56,13 +58,19 @@ export function buildValidationMessages(t: (key: string) => string) {
|
|
|
56
58
|
dateMin: t('components.dateField.validation.dateMin'),
|
|
57
59
|
dateMax: t('components.dateField.validation.dateMax'),
|
|
58
60
|
|
|
59
|
-
unicode: 'validation.unicode',
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
unicode: t('validation.unicode'),
|
|
62
|
+
// These generic templates are shared across fields with differing limits, so a
|
|
63
|
+
// fixed singular count is used here — components needing accurate singular/plural
|
|
64
|
+
// text (e.g. FileUploadField) build their own per-instance messages instead.
|
|
65
|
+
arrayMin: t('validation.arrayMin', { count: 1 }),
|
|
66
|
+
arrayMax: t('validation.arrayMax', { count: 1 }),
|
|
67
|
+
arrayLength: t('validation.arrayLength', { count: 1 }),
|
|
68
|
+
featuresMin: t('validation.featuresMin', { count: 1 }),
|
|
69
|
+
featuresMax: t('validation.featuresMax', { count: 1 }),
|
|
70
|
+
featuresLength: t('validation.featuresLength', { count: 1 }),
|
|
71
|
+
filesMin: t('validation.filesMin', { count: 1 }),
|
|
72
|
+
filesMax: t('validation.filesMax', { count: 1 }),
|
|
73
|
+
filesLength: t('validation.filesLength', { count: 1 })
|
|
66
74
|
}
|
|
67
75
|
}
|
|
68
76
|
|
|
@@ -1,26 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
yesNoListNoItemId,
|
|
3
|
+
yesNoListYesItemId,
|
|
4
|
+
type FormDefinition,
|
|
5
|
+
type FormMetadata
|
|
6
|
+
} from '@defra/forms-model'
|
|
2
7
|
import { type i18n } from 'i18next'
|
|
3
8
|
|
|
9
|
+
import { CY } from '../../../constants.js'
|
|
4
10
|
import { createTranslator } from './createTranslator.js'
|
|
5
11
|
import { extractBaseTranslations } from './extractBaseTranslations.js'
|
|
6
12
|
import { createFormI18nInstance } from './index.js'
|
|
7
|
-
import {
|
|
8
|
-
type FormDefinitionTranslations,
|
|
9
|
-
type Translator
|
|
10
|
-
} from './types.js'
|
|
13
|
+
import { type FormDefinitionTranslations } from './types.js'
|
|
11
14
|
|
|
12
15
|
export function createFormTranslator(
|
|
13
|
-
|
|
16
|
+
metadata: FormMetadata,
|
|
17
|
+
definition: FormDefinition | undefined,
|
|
14
18
|
language: string
|
|
15
|
-
)
|
|
16
|
-
const baseTranslations = extractBaseTranslations(
|
|
19
|
+
) {
|
|
20
|
+
const baseTranslations = extractBaseTranslations(definition)
|
|
17
21
|
const i18nInstance = createFormI18nInstance(baseTranslations)
|
|
18
|
-
loadFormTranslations(
|
|
22
|
+
loadFormTranslations(definition, i18nInstance)
|
|
23
|
+
extractMetadataBaseTranslations(metadata, i18nInstance)
|
|
24
|
+
|
|
25
|
+
const translator = createTranslator(i18nInstance, language)
|
|
19
26
|
|
|
20
|
-
return
|
|
27
|
+
return translator
|
|
21
28
|
}
|
|
22
29
|
|
|
23
|
-
export function loadFormTranslations(
|
|
30
|
+
export function loadFormTranslations(
|
|
31
|
+
def: FormDefinition | undefined,
|
|
32
|
+
i18nInstance: i18n
|
|
33
|
+
) {
|
|
34
|
+
if (!def) {
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
|
|
24
38
|
const formTranslations = def.metadata?.translations as
|
|
25
39
|
| FormDefinitionTranslations
|
|
26
40
|
| undefined
|
|
@@ -28,6 +42,43 @@ export function loadFormTranslations(def: FormDefinition, i18nInstance: i18n) {
|
|
|
28
42
|
if (formTranslations) {
|
|
29
43
|
for (const [lng, resources] of Object.entries(formTranslations)) {
|
|
30
44
|
i18nInstance.addResourceBundle(lng, 'form', resources, true, true)
|
|
45
|
+
|
|
46
|
+
// Temporary workaround - until we develop a better solution
|
|
47
|
+
if (lng === CY) {
|
|
48
|
+
i18nInstance.addResource(
|
|
49
|
+
lng,
|
|
50
|
+
'form',
|
|
51
|
+
`listItems.${yesNoListYesItemId}.text`,
|
|
52
|
+
'Ie'
|
|
53
|
+
)
|
|
54
|
+
i18nInstance.addResource(
|
|
55
|
+
lng,
|
|
56
|
+
'form',
|
|
57
|
+
`listItems.${yesNoListNoItemId}.text`,
|
|
58
|
+
'Nage'
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function extractMetadataBaseTranslations(
|
|
66
|
+
metadata: FormMetadata | undefined,
|
|
67
|
+
i18nInstance: i18n
|
|
68
|
+
) {
|
|
69
|
+
if (metadata) {
|
|
70
|
+
const translations = {
|
|
71
|
+
'form.title': metadata.title,
|
|
72
|
+
'form.contact.email.address': metadata.contact?.email?.address ?? '',
|
|
73
|
+
'form.contact.email.responseTime':
|
|
74
|
+
metadata.contact?.email?.responseTime ?? '',
|
|
75
|
+
'form.contact.online.url': metadata.contact?.online?.url ?? '',
|
|
76
|
+
'form.contact.online.text': metadata.contact?.online?.text ?? '',
|
|
77
|
+
'form.contact.phone': metadata.contact?.phone ?? '',
|
|
78
|
+
'form.submissionGuidance': metadata.submissionGuidance ?? '',
|
|
79
|
+
'form.privacyNoticeText': metadata.privacyNoticeText ?? '',
|
|
80
|
+
'form.privacyNoticeUrl': metadata.privacyNoticeUrl ?? ''
|
|
31
81
|
}
|
|
82
|
+
i18nInstance.addResourceBundle('en-GB', 'form', translations, true, true)
|
|
32
83
|
}
|
|
33
84
|
}
|
|
@@ -7,13 +7,19 @@ import { type FormDefinitionTranslations } from './types.js'
|
|
|
7
7
|
|
|
8
8
|
type BaseTranslations = FormDefinitionTranslations[string]
|
|
9
9
|
|
|
10
|
-
export function extractBaseTranslations(
|
|
10
|
+
export function extractBaseTranslations(
|
|
11
|
+
def: FormDefinition | undefined
|
|
12
|
+
): BaseTranslations {
|
|
11
13
|
const pages: BaseTranslations['pages'] = {}
|
|
12
14
|
const components: BaseTranslations['components'] = {}
|
|
13
15
|
const sections: BaseTranslations['sections'] = {}
|
|
14
16
|
const listItems: BaseTranslations['listItems'] = {}
|
|
15
17
|
const form: BaseTranslations['form'] = {}
|
|
16
18
|
|
|
19
|
+
if (!def) {
|
|
20
|
+
return { pages, components, sections, listItems, form }
|
|
21
|
+
}
|
|
22
|
+
|
|
17
23
|
for (const page of def.pages) {
|
|
18
24
|
if (page.id && page.title) {
|
|
19
25
|
pages[page.id] = { title: page.title }
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type FormMetadata, type FormStatus } from '@defra/forms-model'
|
|
2
|
+
import Boom from '@hapi/boom'
|
|
3
|
+
import { LRUCache } from 'lru-cache'
|
|
4
|
+
|
|
5
|
+
import { getPluginOptions } from '../helpers.js'
|
|
6
|
+
import { createFormTranslator } from './createFormTranslator.js'
|
|
7
|
+
import { type Translator } from './types.js'
|
|
8
|
+
import { type AnyFormRequest } from '../types.js'
|
|
9
|
+
|
|
10
|
+
const cache = new LRUCache({
|
|
11
|
+
max: 100,
|
|
12
|
+
ttl: 1000 * 60 * 15 // 15 minutes
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Get translator for plugin, for the current form's metadata (as well as the plugin-specific boilerplate).
|
|
17
|
+
* This is an async call so we can read the form definition inside this call.
|
|
18
|
+
* See docs/features/multi-language.md for the language and translation flow overview.
|
|
19
|
+
* @param {AnyFormRequest} request
|
|
20
|
+
* @param {FormMetadata} metadata - the metadata of the form
|
|
21
|
+
* @param {FormStatus} status - the form status to use when retrieving the definition
|
|
22
|
+
* @param {string} language - the language to use for the translator
|
|
23
|
+
*/
|
|
24
|
+
export async function getCachedPluginTranslator(
|
|
25
|
+
request: AnyFormRequest,
|
|
26
|
+
metadata: FormMetadata,
|
|
27
|
+
status: FormStatus,
|
|
28
|
+
language: string
|
|
29
|
+
) {
|
|
30
|
+
const key = `${metadata.id}-${status}-${language}-plugin-meta`
|
|
31
|
+
|
|
32
|
+
if (cache.has(key)) {
|
|
33
|
+
return cache.get(key) as unknown as Translator
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const { services } = getPluginOptions(request.server)
|
|
37
|
+
|
|
38
|
+
const definition = await services?.formsService.getFormDefinition(
|
|
39
|
+
metadata.id,
|
|
40
|
+
status
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
if (!definition) {
|
|
44
|
+
throw Boom.notFound(
|
|
45
|
+
`FormDefinition not found for form ${metadata.id} and status ${status}`
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const translator = createFormTranslator(metadata, definition, language)
|
|
50
|
+
|
|
51
|
+
cache.set(key, translator)
|
|
52
|
+
|
|
53
|
+
return translator
|
|
54
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type FormDefinition } from '@defra/forms-model'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Return a list of available languages.
|
|
5
|
+
* Empty array if only English, or an array of English and Welsh if translations have been defined.
|
|
6
|
+
* @param {FormDefinition} def
|
|
7
|
+
*/
|
|
8
|
+
export function getAvailableLanguages(
|
|
9
|
+
def: FormDefinition
|
|
10
|
+
): { name: string; code: string }[] {
|
|
11
|
+
// @ts-expect-error - dynamic property
|
|
12
|
+
if (def.metadata?.translations?.cy) {
|
|
13
|
+
return [
|
|
14
|
+
{ name: 'English', code: 'en-GB' },
|
|
15
|
+
{ name: 'Cymraeg', code: 'cy' }
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
return []
|
|
19
|
+
}
|
|
@@ -14,7 +14,63 @@
|
|
|
14
14
|
"numberInteger": "Rhaid i {{#label}} fod yn rhif cyfan",
|
|
15
15
|
"numberMin": "Rhaid i {{#label}} fod yn {{#limit}} neu uwch",
|
|
16
16
|
"numberMax": "Rhaid i {{#label}} fod yn {{#limit}} neu is",
|
|
17
|
-
"maxWords": "Rhaid i {{#label}} fod yn {{#limit}} o eiriau neu lai"
|
|
17
|
+
"maxWords": "Rhaid i {{#label}} fod yn {{#limit}} o eiriau neu lai",
|
|
18
|
+
"unicode": "Mae {{#label}} yn cynnwys nodau annilys, er enghraifft, dashes hirion",
|
|
19
|
+
"arrayMin_zero": "Dewiswch o leiaf 1 opsiwn o'r rhestr",
|
|
20
|
+
"arrayMin_one": "Dewiswch o leiaf {{#limit}} opsiwn o'r rhestr",
|
|
21
|
+
"arrayMin_two": "Dewiswch o leiaf ddau opsiwn o'r rhestr",
|
|
22
|
+
"arrayMin_few": "Dewiswch o leiaf {{#limit}} opsiwn o'r rhestr",
|
|
23
|
+
"arrayMin_many": "Dewiswch o leiaf {{#limit}} opsiwn o'r rhestr",
|
|
24
|
+
"arrayMin_other": "Dewiswch o leiaf {{#limit}} opsiwn o'r rhestr",
|
|
25
|
+
"arrayMax_zero": "Dim ond {{#limit}} opsiynau y gellir eu dewis o'r rhestr",
|
|
26
|
+
"arrayMax_one": "Dim ond {{#limit}} opsiwn y gellir ei ddewis o'r rhestr",
|
|
27
|
+
"arrayMax_two": "Dim ond dwy opsiwn y gellir eu dewis o'r rhestr",
|
|
28
|
+
"arrayMax_few": "Dim ond {{#limit}} opsiwn y gellir eu dewis o'r rhestr",
|
|
29
|
+
"arrayMax_many": "Dim ond {{#limit}} opsiwn y gellir eu dewis o'r rhestr",
|
|
30
|
+
"arrayMax_other": "Dim ond {{#limit}} opsiwn y gellir eu dewis o'r rhestr",
|
|
31
|
+
"arrayLength_zero": "Dewiswch 0 opsiwn yn unig o'r rhestr",
|
|
32
|
+
"arrayLength_one": "Dewiswch un opsiwn yn unig o'r rhestr",
|
|
33
|
+
"arrayLength_two": "Dewiswch {{#limit}} opsiwn yn unig o'r rhestr",
|
|
34
|
+
"arrayLength_few": "Dewiswch {{#limit}} opsiwn yn unig o'r rhestr",
|
|
35
|
+
"arrayLength_many": "Dewiswch {{#limit}} opsiwn yn unig o'r rhestr",
|
|
36
|
+
"arrayLength_other": "Dewiswch {{#limit}} opsiwn yn unig o'r rhestr",
|
|
37
|
+
|
|
38
|
+
"featuresMin_zero": "Diffiniwch o leiaf {{#limit}} nodwedd",
|
|
39
|
+
"featuresMin_one": "Diffiniwch o leiaf un nodwedd",
|
|
40
|
+
"featuresMin_two": "Diffiniwch o leiaf {{#limit}} nodwedd",
|
|
41
|
+
"featuresMin_few": "Diffiniwch o leiaf {{#limit}} nodwedd",
|
|
42
|
+
"featuresMin_many": "Diffiniwch o leiaf {{#limit}} nodwedd",
|
|
43
|
+
"featuresMin_other": "Diffiniwch o leiaf {{#limit}} nodwedd",
|
|
44
|
+
"featuresMax_zero": "Dim ond {{#limit}} nodwedd y gellir eu diffinio",
|
|
45
|
+
"featuresMax_one": "Dim ond {{#limit}} nodwedd y gellir ei diffinio",
|
|
46
|
+
"featuresMax_two": "Dim ond {{#limit}} nodwedd y gellir eu diffinio",
|
|
47
|
+
"featuresMax_few": "Dim ond {{#limit}} nodwedd y gellir eu diffinio",
|
|
48
|
+
"featuresMax_many": "Dim ond {{#limit}} nodwedd y gellir eu diffinio",
|
|
49
|
+
"featuresMax_other": "Dim ond {{#limit}} nodwedd y gellir eu diffinio",
|
|
50
|
+
"featuresLength_zero": "Diffiniwch yn union {{#limit}} nodwedd",
|
|
51
|
+
"featuresLength_one": "Diffiniwch un nodwedd yn union",
|
|
52
|
+
"featuresLength_two": "Diffiniwch nodweddion {{#limit}} yn union",
|
|
53
|
+
"featuresLength_few": "Diffiniwch nodweddion {{#limit}} yn union",
|
|
54
|
+
"featuresLength_many": "Diffiniwch nodweddion {{#limit}} yn union",
|
|
55
|
+
"featuresLength_other": "Diffiniwch nodweddion {{#limit}} yn union",
|
|
56
|
+
"filesMin_zero": "Rhaid i chi uwchlwytho {{#limit}} ffeil neu fwy",
|
|
57
|
+
"filesMin_one": "Rhaid i chi uwchlwytho un ffeil neu fwy",
|
|
58
|
+
"filesMin_two": "Rhaid i chi uwchlwytho {{#limit}} o ffeiliau neu fwy",
|
|
59
|
+
"filesMin_few": "Rhaid i chi uwchlwytho {{#limit}} o ffeiliau neu fwy",
|
|
60
|
+
"filesMin_many": "Rhaid i chi uwchlwytho {{#limit}} o ffeiliau neu fwy",
|
|
61
|
+
"filesMin_other": "Rhaid i chi uwchlwytho {{#limit}} o ffeiliau neu fwy",
|
|
62
|
+
"filesMax_zero": "Dim ond {{#limit}} ffeil neu lai y gallwch eu huwchlwytho",
|
|
63
|
+
"filesMax_one": "Dim ond un ffeil neu lai y gallwch ei huwchlwytho",
|
|
64
|
+
"filesMax_two": "Dim ond {{#limit}} o ffeiliau neu lai y gallwch eu huwchlwytho",
|
|
65
|
+
"filesMax_few": "Dim ond {{#limit}} o ffeiliau neu lai y gallwch eu huwchlwytho",
|
|
66
|
+
"filesMax_many": "Dim ond {{#limit}} o ffeiliau neu lai y gallwch eu huwchlwytho",
|
|
67
|
+
"filesMax_other": "Dim ond {{#limit}} o ffeiliau neu lai y gallwch eu huwchlwytho",
|
|
68
|
+
"filesLength_zero": "Rhaid i chi uwchlwytho union {{#limit}} ffeil",
|
|
69
|
+
"filesLength_one": "Rhaid i chi uwchlwytho union un ffeil",
|
|
70
|
+
"filesLength_two": "Rhaid i chi uwchlwytho'n union {{#limit}} o ffeiliau",
|
|
71
|
+
"filesLength_few": "Rhaid i chi uwchlwytho'n union {{#limit}} o ffeiliau",
|
|
72
|
+
"filesLength_many": "Rhaid i chi uwchlwytho'n union {{#limit}} o ffeiliau",
|
|
73
|
+
"filesLength_other": "Rhaid i chi uwchlwytho'n union {{#limit}} o ffeiliau"
|
|
18
74
|
},
|
|
19
75
|
|
|
20
76
|
"errors": {
|
|
@@ -29,7 +85,14 @@
|
|
|
29
85
|
"continue": "Parhau",
|
|
30
86
|
"saveAndExit": "Cadw a gadael",
|
|
31
87
|
"draft": "ddrafft",
|
|
32
|
-
"live": "fyw"
|
|
88
|
+
"live": "fyw",
|
|
89
|
+
"or": "neu",
|
|
90
|
+
"and": "a",
|
|
91
|
+
"england": "Lloegr",
|
|
92
|
+
"wales": "Cymru",
|
|
93
|
+
"northern-ireland": "Gogledd Iwerddon",
|
|
94
|
+
"scotland": "Yr Alban",
|
|
95
|
+
"sendFeedback": "Anfon adborth"
|
|
33
96
|
},
|
|
34
97
|
|
|
35
98
|
"pages": {
|
|
@@ -60,6 +123,12 @@
|
|
|
60
123
|
"totalAmount": "Cyfanswm",
|
|
61
124
|
"reference": "Cyfeirnod",
|
|
62
125
|
"dateOfPayment": "Dyddiad talu",
|
|
126
|
+
"fileUpload_zero": "Ni uwchlwythwyd unrhyw ffeiliau",
|
|
127
|
+
"fileUpload_one": "Uwchlwythwyd [[count]] ffeil",
|
|
128
|
+
"fileUpload_two": "Uwchlwythwyd dwy feil",
|
|
129
|
+
"fileUpload_few": "Uwchlwythwyd [[count]] ffeil",
|
|
130
|
+
"fileUpload_many": "Uwchlwythwyd [[count]] o ffeiliau",
|
|
131
|
+
"fileUpload_other": "Uwchlwythwyd [[count]] ffeil",
|
|
63
132
|
"submissionFailed": "Roedd problem ac ni chyflwynwyd eich ffurflen. Ceisiwch gyflwyno'r ffurflen eto",
|
|
64
133
|
"submissionFailedContactSuffix": " neu gallwch [[contactUsLink]] a dyfynnu'ch cyfeirnod i drefnu ad-daliad",
|
|
65
134
|
"contactUsLinkText": "cysylltu â ni (yn agor mewn tab newydd)",
|
|
@@ -79,17 +148,40 @@
|
|
|
79
148
|
"change": "Newid",
|
|
80
149
|
"notProvided": "Heb ei ddarparu",
|
|
81
150
|
"visuallyHiddenItem": "eitem [[index]]",
|
|
151
|
+
"pageTitle_zero": "Nid ydych wedi ychwanegu unrhyw atebion",
|
|
82
152
|
"pageTitle_one": "Rydych wedi ychwanegu [[count]] ateb",
|
|
153
|
+
"pageTitle_two": "Rydych wedi ychwanegu dau ateb",
|
|
154
|
+
"pageTitle_few": "Rydych wedi ychwanegu [[count]] ateb",
|
|
155
|
+
"pageTitle_many": "Rydych wedi ychwanegu [[count]] o atebion",
|
|
83
156
|
"pageTitle_other": "Rydych wedi ychwanegu [[count]] ateb",
|
|
157
|
+
"tooMany_zero": "Ni allwch ychwanegu unrhyw atebion",
|
|
84
158
|
"tooMany_one": "Dim ond hyd at [[count]] ateb y gallwch ei ychwanegu",
|
|
159
|
+
"tooMany_two": "Dim ond hyd at ddau gateb y gallwch eu hychwanegu",
|
|
160
|
+
"tooMany_few": "Dim ond hyd at [[count]] ateb y gallwch eu hychwanegu",
|
|
161
|
+
"tooMany_many": "Dim ond hyd at [[count]] o atebion y gallwch eu hychwanegu",
|
|
85
162
|
"tooMany_other": "Dim ond hyd at [[count]] ateb y gallwch eu hychwanegu",
|
|
163
|
+
"tooFew_zero": "Rhaid i chi ychwanegu atebion",
|
|
86
164
|
"tooFew_one": "Rhaid i chi ychwanegu o leiaf [[count]] ateb",
|
|
165
|
+
"tooFew_two": "Rhaid i chi ychwanegu o leiaf ddau gateb",
|
|
166
|
+
"tooFew_few": "Rhaid i chi ychwanegu o leiaf [[count]] ateb",
|
|
167
|
+
"tooFew_many": "Rhaid i chi ychwanegu o leiaf [[count]] o atebion",
|
|
87
168
|
"tooFew_other": "Rhaid i chi ychwanegu o leiaf [[count]] ateb"
|
|
88
169
|
},
|
|
89
170
|
|
|
90
171
|
"fileUpload": {
|
|
91
172
|
"upload": "Uwchlwytho ffeil",
|
|
92
|
-
"maxFilesReached": "Rydych wedi cyrraedd nifer uchaf y ffeiliau. Tynnwch ffeil i uwchlwytho rhagor."
|
|
173
|
+
"maxFilesReached": "Rydych wedi cyrraedd nifer uchaf y ffeiliau. Tynnwch ffeil i uwchlwytho rhagor.",
|
|
174
|
+
"remove": "Tynnu",
|
|
175
|
+
"removeFileTitle": "Ydych chi'n siŵr eich bod chi eisiau dileu'r ffeil hon?",
|
|
176
|
+
"removeFileBody": "Ni allwch adfer ffeiliau a dynnwyd.",
|
|
177
|
+
"removeFileButton": "Dileu ffeil",
|
|
178
|
+
"cancel": "Canslo",
|
|
179
|
+
"FILE_VIRUS": "Mae'r ffeil a ddewiswyd yn cynnwys firws",
|
|
180
|
+
"FILE_EMPTY": "Mae'r ffeil a ddewiswyd yn wag",
|
|
181
|
+
"FILE_TOO_LARGE": "Rhaid i'r ffeil a ddewiswyd fod yn llai na [[maxFileSizeFormatted]]",
|
|
182
|
+
"FILE_INVALID_TYPE": "Rhaid i'r ffeil a ddewiswyd fod yn [[fileExtensions]]",
|
|
183
|
+
"FILE_UPLOAD_FAILED": "Ni ellid uwchlwytho'r ffeil a ddewiswyd - rhowch gynnig arall arni",
|
|
184
|
+
"FILE_ERROR_UNKNOWN": "Gwall anhysbys"
|
|
93
185
|
},
|
|
94
186
|
|
|
95
187
|
"exit": {
|
|
@@ -111,9 +203,20 @@
|
|
|
111
203
|
"body": "Os hoffech dderbyn e-bost prawf, [[link]] yr hoffech i gyflwyniadau ffurflen fynd iddo.",
|
|
112
204
|
"linkText": "nodwch y cyfeiriad e-bost (yn agor mewn tab newydd)"
|
|
113
205
|
},
|
|
206
|
+
"bannerTitle": "Pwysig",
|
|
114
207
|
"bannerForce": "Rhagolwg o ffurflen [[previewMode]] yw hon. Peidiwch â rhoi gwybodaeth bersonol.",
|
|
115
208
|
"bannerText": "Dyma ragolwg o dudalen ffurflen [[previewMode]] rydych chi'n ei golygu.",
|
|
116
209
|
"previousPages": "Mae'n dibynnu ar atebion o dudalennau cynharach yn y ffurflen. Yn y fersiwn fyw, bydd angen i ddefnyddwyr gwblhau'r cwestiynau hynny yn gyntaf."
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
"formUnavailable": {
|
|
213
|
+
"title": "Mae'n ddrwg gennyf, nid yw'r ffurflen hon ar gael",
|
|
214
|
+
"subHeading": "Nid yw '[[formTitle]]' ar gael mwyach.",
|
|
215
|
+
"contactDetailsHeading": "Manylion cyswllt ar gyfer [[organisationName]]",
|
|
216
|
+
"telephone": "Ffôn",
|
|
217
|
+
"callCharges": "Dysgwch am gostau galwadau",
|
|
218
|
+
"email": "E-bost",
|
|
219
|
+
"onlineContactForm": "Ffurflen gyswllt ar-lein"
|
|
117
220
|
}
|
|
118
221
|
},
|
|
119
222
|
|
|
@@ -134,7 +237,11 @@
|
|
|
134
237
|
"findAnAddressInstead": "dod o hyd i gyfeiriad yn lle hynny",
|
|
135
238
|
"noAddressFoundTitle": "Ni chanfuwyd cyfeiriad",
|
|
136
239
|
"noAddressFoundBody": "Ni allem ddod o hyd i gyfeiriad cyfatebol",
|
|
240
|
+
"addressFound_zero": "Ni chanfuwyd unrhyw gyfeiriadau ar gyfer",
|
|
137
241
|
"addressFound_one": "Canfuwyd [[count]] cyfeiriad ar gyfer",
|
|
242
|
+
"addressFound_two": "Canfuwyd dau gyfeiriad ar gyfer",
|
|
243
|
+
"addressFound_few": "Canfuwyd [[count]] chyfeiriad ar gyfer",
|
|
244
|
+
"addressFound_many": "Canfuwyd [[count]] o gyfeiriadau ar gyfer",
|
|
138
245
|
"addressFound_other": "Canfuwyd [[count]] cyfeiriad ar gyfer",
|
|
139
246
|
"validation": {
|
|
140
247
|
"invalidPostcode": "Nodwch god post dilys neu nodwch gyfeiriad â llaw",
|
|
@@ -199,7 +306,8 @@
|
|
|
199
306
|
"eastingDigits": "Rhaid i {{#label}} ar gyfer [[fieldLabel]] fod rhwng 1 a 6 digid",
|
|
200
307
|
"northingDigits": "Rhaid i {{#label}} ar gyfer [[fieldLabel]] fod rhwng 1 a 7 digid",
|
|
201
308
|
"eastingRange": "Rhaid i {{#label}} ar gyfer [[fieldLabel]] fod rhwng [[min]] a [[max]]",
|
|
202
|
-
"northingRange": "Rhaid i {{#label}} ar gyfer [[fieldLabel]] fod rhwng [[min]] a [[max]]"
|
|
309
|
+
"northingRange": "Rhaid i {{#label}} ar gyfer [[fieldLabel]] fod rhwng [[min]] a [[max]]",
|
|
310
|
+
"wrongCountry": "Rhaid i leoliad fod y tu mewn i [[country]]"
|
|
203
311
|
},
|
|
204
312
|
|
|
205
313
|
"nationalGridField": {
|
|
@@ -215,14 +323,23 @@
|
|
|
215
323
|
},
|
|
216
324
|
|
|
217
325
|
"locationFieldBase": {
|
|
218
|
-
"howToFind": "Sut i ddod o hyd i fanylion lleoliad"
|
|
326
|
+
"howToFind": "Sut i ddod o hyd i fanylion lleoliad",
|
|
327
|
+
"map": {
|
|
328
|
+
"helpPanel": {
|
|
329
|
+
"label": "Sut i ddefnyddio'r map hwn",
|
|
330
|
+
"point1": "Chwilio am sir, lle neu god post",
|
|
331
|
+
"point2": "Defnyddiwch yr eiconau + a - i chwyddo i mewn ac allan",
|
|
332
|
+
"point3": "Defnyddiwch lyfliwr neu allweddlon i ganolbwyntio'r pwynt yn y lleoliad",
|
|
333
|
+
"point4": "Cliciwch i ychwanegu'r lleoliad i'r map"
|
|
334
|
+
}
|
|
335
|
+
}
|
|
219
336
|
},
|
|
220
337
|
|
|
221
338
|
"yesNoField": {
|
|
222
339
|
"yes": "Ie",
|
|
223
|
-
"no": "
|
|
340
|
+
"no": "Nage",
|
|
224
341
|
"validation": {
|
|
225
|
-
"selectYesNoRequired": "{{#label}} - dewiswch ie neu
|
|
342
|
+
"selectYesNoRequired": "{{#label}} - dewiswch ie neu nage"
|
|
226
343
|
}
|
|
227
344
|
},
|
|
228
345
|
|
|
@@ -236,8 +353,53 @@
|
|
|
236
353
|
},
|
|
237
354
|
|
|
238
355
|
"geospatialField": {
|
|
356
|
+
"added_zero": "Ni ychwanegwyd unrhyw leoliadau",
|
|
239
357
|
"added_one": "Ychwanegwyd [[count]] lleoliad",
|
|
358
|
+
"added_two": "Ychwanegwyd dau leoliad",
|
|
359
|
+
"added_few": "Ychwanegwyd [[count]] lleoliad",
|
|
360
|
+
"added_many": "Ychwanegwyd [[count]] o leoliadau",
|
|
240
361
|
"added_other": "Ychwanegwyd [[count]] lleoliad",
|
|
362
|
+
"map": {
|
|
363
|
+
"helpPanel": {
|
|
364
|
+
"label": "Sut i ddefnyddio'r map hwn",
|
|
365
|
+
"ledeIntro": "Gallwch ychwanegu",
|
|
366
|
+
"ledeOutro": "i'r map.",
|
|
367
|
+
"lineText": "llinell",
|
|
368
|
+
"shapeText": "siâp",
|
|
369
|
+
"lineOrShapeText": "llinell neu siâp",
|
|
370
|
+
"typesPhrasePoint": "pwyntiau",
|
|
371
|
+
"typesPhraseLine": "lliniau",
|
|
372
|
+
"typesPhraseShape": "siâpiau",
|
|
373
|
+
"typesPhraseOr": "neu",
|
|
374
|
+
"point1": "Chwilio am sir, lle neu god post",
|
|
375
|
+
"point2": "Defnyddiwch yr eiconau + a - i chwyddo i mewn ac allan",
|
|
376
|
+
"point3": "Cliciwch ddwywaith, neu dewiswch 'Wedi gorffen', pan fyddwch wedi",
|
|
377
|
+
"point4": "Rhowch enw i'r lleoliad"
|
|
378
|
+
},
|
|
379
|
+
"typeDescriptions": {
|
|
380
|
+
"point": "Pwynt",
|
|
381
|
+
"line": "Llinell",
|
|
382
|
+
"polygon": "Siâp"
|
|
383
|
+
},
|
|
384
|
+
"buttons": {
|
|
385
|
+
"point": "Ychwanegu pwynt",
|
|
386
|
+
"line": "Ychwanegu llinell",
|
|
387
|
+
"polygon": "Ychwanegu siâp"
|
|
388
|
+
},
|
|
389
|
+
"itemLabel1": "Lleoliad",
|
|
390
|
+
"itemLabel2": "disgrifiad",
|
|
391
|
+
"itemUpdateLink": "Diweddaru",
|
|
392
|
+
"itemDeleteLink": "Dileu",
|
|
393
|
+
"itemFocusLink": "Dangos",
|
|
394
|
+
"itemVisuallyHidden": "lleoliad",
|
|
395
|
+
"details": {
|
|
396
|
+
"summary": "Cyfesurynnau",
|
|
397
|
+
"type": "Math",
|
|
398
|
+
"centroidGridReference": "Canol cyfeirnod grid",
|
|
399
|
+
"firstPointGridReference": "Cyfeirnod grid y pwynt cyntaf",
|
|
400
|
+
"detailedCoordinates": "Cyfesurynnau manwl"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
241
403
|
"validation": {
|
|
242
404
|
"descriptionRequired": "Rhowch ddisgrifiad ar gyfer lleoliad [[count]]",
|
|
243
405
|
"wrongCountry": "Rhaid i leoliad [[count]] fod y tu mewn i [[country]]"
|
|
@@ -245,7 +407,7 @@
|
|
|
245
407
|
},
|
|
246
408
|
|
|
247
409
|
"paymentField": {
|
|
248
|
-
"detailsRequired": "Angen
|
|
410
|
+
"detailsRequired": "Angen talu",
|
|
249
411
|
"pendingTransaction": "Mae'n bosibl y gwelwch drafodiad ar y gweill yn eich cyfrif banc ond dim ond pan fyddwch yn cyflwyno'r ffurflen y codir tâl arnoch.",
|
|
250
412
|
"addPaymentDetails": "Ychwanegu manylion talu",
|
|
251
413
|
"cannotTakePayment": "Mae problem ac ni allwn dderbyn taliad. Cysylltwch â ni (manylion yn nhroedyn y ffurflen hon) neu cadwch eich cynnydd a dychwelyd at y ffurflen yn ddiweddarach.",
|
|
@@ -261,11 +423,32 @@
|
|
|
261
423
|
},
|
|
262
424
|
|
|
263
425
|
"fileUploadField": {
|
|
426
|
+
"uploading": "Yn uwchlwytho…",
|
|
264
427
|
"uploaded": "Wedi'i uwchlwytho",
|
|
265
428
|
"uploadFailed": "Roedd problem gyda'ch ffeiliau a uwchlwythwyd. Uwchlwythwch nhw eto cyn cyflwyno'r ffurflen.",
|
|
266
429
|
"uploadedFilesHeading": "Ffeiliau a uwchlwythwyd",
|
|
430
|
+
"filesCount_zero": "Uwchlwythwyd [[count]] o ffeiliau",
|
|
267
431
|
"filesCount_one": "Uwchlwythwyd [[count]] ffeil",
|
|
268
|
-
"
|
|
432
|
+
"filesCount_two": "Uwchlwythwyd [[count]] ffeil",
|
|
433
|
+
"filesCount_few": "Uwchlwythwyd [[count]] ffeil",
|
|
434
|
+
"filesCount_many": "Uwchlwythwyd [[count]] o ffeiliau",
|
|
435
|
+
"filesCount_other": "Uwchlwythwyd [[count]] ffeil",
|
|
436
|
+
"chooseFile": "Dewiswch ffeil",
|
|
437
|
+
"dropFile": "neu ollwng ffeil",
|
|
438
|
+
"noFileChosen": "Dim ffeil wedi'i dewis"
|
|
439
|
+
},
|
|
440
|
+
|
|
441
|
+
"characterCount": {
|
|
442
|
+
"_comment": "Note the use of %{count} instead of [[count]]. This is because we are passing to the govuk template, not passing to Joi",
|
|
443
|
+
"underLimit": {
|
|
444
|
+
"one": "Mae gennych %{count} nod ar ôl",
|
|
445
|
+
"other": "Mae gennych %{count} nod ar ôl"
|
|
446
|
+
},
|
|
447
|
+
"atLimit": "Mae gennych 0 nod ar ôl",
|
|
448
|
+
"overLimit": {
|
|
449
|
+
"one": "Mae gennych %{count} nod yn ormod",
|
|
450
|
+
"other": "Mae gennych %{count} nod yn ormod"
|
|
451
|
+
}
|
|
269
452
|
}
|
|
270
453
|
}
|
|
271
454
|
}
|