Make address, postcode, and city require for booking
Customer changed their mind.
This commit is contained in:
parent
c848330751
commit
950bae16e1
|
@ -27,6 +27,7 @@ func requestPayment(w http.ResponseWriter, r *http.Request, user *auth.User, com
|
|||
w.WriteHeader(http.StatusUnprocessableEntity)
|
||||
}
|
||||
page := newPublicPageWithForm(f)
|
||||
page.HasErrors = true
|
||||
page.MustRender(w, r, user, company, conn)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -56,7 +56,8 @@ func (h *PublicHandler) Handler(user *auth.User, company *auth.Company, conn *da
|
|||
|
||||
type publicPage struct {
|
||||
*template.PublicPage
|
||||
Form *bookingForm
|
||||
Form *bookingForm
|
||||
HasErrors bool
|
||||
}
|
||||
|
||||
func newPublicPage(r *http.Request, company *auth.Company, conn *database.Conn, l *locale.Locale) (*publicPage, error) {
|
||||
|
@ -525,15 +526,17 @@ func (f *bookingCustomerFields) Valid(ctx context.Context, conn *database.Conn,
|
|||
v.CheckMinLength(f.FullName, 1, l.GettextNoop("Full name must have at least one letter."))
|
||||
}
|
||||
|
||||
if country != "" && f.PostalCode.Val != "" {
|
||||
if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postal code is not valid.")); err != nil {
|
||||
v.CheckRequired(f.Address, l.GettextNoop("Address can not be empty."))
|
||||
v.CheckRequired(f.City, l.GettextNoop("Town or village can not be empty."))
|
||||
if v.CheckRequired(f.PostalCode, l.GettextNoop("Postcode can not be empty.")) && country != "" {
|
||||
if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postcode is not valid.")); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if v.CheckRequired(f.Email, l.GettextNoop("Email can not be empty.")) {
|
||||
v.CheckValidEmail(f.Email, l.GettextNoop("This email is not valid. It should be like name@domain.com."))
|
||||
}
|
||||
if v.CheckRequired(f.Phone, l.GettextNoop("Phone can not be empty.")) {
|
||||
if v.CheckRequired(f.Phone, l.GettextNoop("Phone can not be empty.")) && country != "" {
|
||||
if _, err := v.CheckValidPhone(ctx, conn, f.Phone, country, l.GettextNoop("This phone number is not valid.")); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -223,8 +223,8 @@ func (f *taxDetailsForm) Valid(ctx context.Context, conn *database.Conn, l *loca
|
|||
v.CheckRequired(f.Address, l.GettextNoop("Address can not be empty."))
|
||||
v.CheckRequired(f.City, l.GettextNoop("City can not be empty."))
|
||||
v.CheckRequired(f.Province, l.GettextNoop("Province can not be empty."))
|
||||
if v.CheckRequired(f.PostalCode, l.GettextNoop("Postal code can not be empty.")) {
|
||||
if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postal code is not valid.")); err != nil {
|
||||
if v.CheckRequired(f.PostalCode, l.GettextNoop("Postcode can not be empty.")) {
|
||||
if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postcode is not valid.")); err != nil {
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
|
|
146
po/ca.po
146
po/ca.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-02-15 15:41+0100\n"
|
||||
"POT-Creation-Date: 2024-02-24 19:56+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:04+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
|
@ -256,7 +256,7 @@ msgid "Discover"
|
|||
msgstr "Descobreix"
|
||||
|
||||
#: web/templates/public/campsite/type.gohtml:49
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
#: web/templates/public/booking/fields.gohtml:268
|
||||
msgctxt "action"
|
||||
msgid "Book"
|
||||
msgstr "Reserva"
|
||||
|
@ -645,6 +645,10 @@ msgstr "Obertura"
|
|||
msgid "<abbr title=\"Catalonia Tourism Registry\">RTC</abbr> <abbr title=\"Number\">#</abbr>%s"
|
||||
msgstr "<abbr title=\"Número\">Núm.</abbr> <abbr title=\"Registre de Turisme de Catalunya\">RTC</abbr> %s"
|
||||
|
||||
#: web/templates/public/booking/page.gohtml:15
|
||||
msgid "Sorry, there was a problem. You’ll find more details highlighted below."
|
||||
msgstr "Hi ha hagut un problema. Trobeu més informació ressaltada a baix."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
msgctxt "title"
|
||||
|
@ -715,19 +719,23 @@ msgid "Full name"
|
|||
msgstr "Nom i cognoms"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:157
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address (optional)"
|
||||
msgstr "Adreça (opcional)"
|
||||
msgid "Address"
|
||||
msgstr "Adreça"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:166
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode (optional)"
|
||||
msgstr "Codi postal (opcional)"
|
||||
msgid "Postcode"
|
||||
msgstr "Codi postal"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:175
|
||||
msgctxt "input"
|
||||
msgid "Town or village (optional)"
|
||||
msgstr "Població (opcional)"
|
||||
msgid "Town or village"
|
||||
msgstr "Població"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:184
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
|
@ -760,31 +768,31 @@ msgctxt "input"
|
|||
msgid "ACSI card? (optional)"
|
||||
msgstr "Targeta ACSI? (opcional)"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:222
|
||||
#: web/templates/public/booking/fields.gohtml:223
|
||||
msgctxt "input"
|
||||
msgid "I have read and I accept %[1]sthe reservation conditions%[2]s"
|
||||
msgstr "He llegit i accepto %[1]sles condicions de reserves%[2]s"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:239
|
||||
#: web/templates/public/booking/fields.gohtml:241
|
||||
msgctxt "cart"
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:244
|
||||
#: web/templates/public/booking/fields.gohtml:246
|
||||
#: web/templates/admin/payment/details.gohtml:84
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "A compte"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:258
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted."
|
||||
msgstr "En tramitar el %d %% del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquest percentatge en cas que sigui acceptada."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
#: web/templates/public/booking/fields.gohtml:262
|
||||
msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted."
|
||||
msgstr "En tramitar el pagament del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquesta quantitat en cas que sigui acceptada."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:264
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
msgid "See <%s>our conditions</%s> for more information."
|
||||
msgstr "Consulteu <%s>les nostres condicions</%s> per a més informació."
|
||||
|
||||
|
@ -916,18 +924,6 @@ msgctxt "title"
|
|||
msgid "Campsite Type Options"
|
||||
msgstr "Opcions del tipus d’allotjament"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
msgstr "Adreça"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Codi postal"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
|
@ -2257,12 +2253,12 @@ msgid "Slide image must be an image media type."
|
|||
msgstr "La imatge de la diapositiva ha de ser un mèdia de tipus imatge."
|
||||
|
||||
#: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217
|
||||
#: pkg/booking/public.go:533
|
||||
#: pkg/booking/public.go:536
|
||||
msgid "Email can not be empty."
|
||||
msgstr "No podeu deixar el correu-e en blanc."
|
||||
|
||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218
|
||||
#: pkg/booking/public.go:534
|
||||
#: pkg/booking/public.go:537
|
||||
msgid "This email is not valid. It should be like name@domain.com."
|
||||
msgstr "Aquest correu-e no és vàlid. Hauria de ser similar a nom@domini.com."
|
||||
|
||||
|
@ -2473,8 +2469,8 @@ msgctxt "header"
|
|||
msgid "Children (aged 2 to 10)"
|
||||
msgstr "Mainada (entre 2 i 10 anys)"
|
||||
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:171
|
||||
#: pkg/booking/public.go:226
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:172
|
||||
#: pkg/booking/public.go:227
|
||||
msgid "Selected campsite type is not valid."
|
||||
msgstr "El tipus d’allotjament escollit no és vàlid."
|
||||
|
||||
|
@ -2630,7 +2626,7 @@ msgstr "No podeu deixar l’adreça de l’enllaç en blanc."
|
|||
msgid "This web address is not valid. It should be like https://domain.com/."
|
||||
msgstr "Aquesta adreça web no és vàlida. Hauria de ser similar a https://domini.com/."
|
||||
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:520
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:521
|
||||
msgid "Selected country is not valid."
|
||||
msgstr "El país escollit no és vàlid."
|
||||
|
||||
|
@ -2650,15 +2646,15 @@ msgstr "No podeu deixar el NIF en blanc."
|
|||
msgid "This VAT number is not valid."
|
||||
msgstr "Aquest NIF no és vàlid."
|
||||
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:536
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:539
|
||||
msgid "Phone can not be empty."
|
||||
msgstr "No podeu deixar el telèfon en blanc."
|
||||
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:537
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:540
|
||||
msgid "This phone number is not valid."
|
||||
msgstr "Aquest número de telèfon no és vàlid."
|
||||
|
||||
#: pkg/company/admin.go:223
|
||||
#: pkg/company/admin.go:223 pkg/booking/public.go:529
|
||||
msgid "Address can not be empty."
|
||||
msgstr "No podeu deixar l’adreça en blanc."
|
||||
|
||||
|
@ -2670,12 +2666,12 @@ msgstr "No podeu deixar la població en blanc."
|
|||
msgid "Province can not be empty."
|
||||
msgstr "No podeu deixar la província en blanc."
|
||||
|
||||
#: pkg/company/admin.go:226
|
||||
msgid "Postal code can not be empty."
|
||||
#: pkg/company/admin.go:226 pkg/booking/public.go:531
|
||||
msgid "Postcode can not be empty."
|
||||
msgstr "No podeu deixar el codi postal en blanc."
|
||||
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:529
|
||||
msgid "This postal code is not valid."
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:532
|
||||
msgid "This postcode is not valid."
|
||||
msgstr "Aquest codi postal no és vàlid."
|
||||
|
||||
#: pkg/company/admin.go:231
|
||||
|
@ -2744,127 +2740,145 @@ msgctxt "filename"
|
|||
msgid "bookings.ods"
|
||||
msgstr "reserves.ods"
|
||||
|
||||
#: pkg/booking/public.go:275 pkg/booking/public.go:304
|
||||
#: pkg/booking/public.go:276 pkg/booking/public.go:305
|
||||
msgid "Arrival date must be a valid date."
|
||||
msgstr "La data d’arribada ha de ser una data vàlida."
|
||||
|
||||
#: pkg/booking/public.go:289 pkg/booking/public.go:311
|
||||
#: pkg/booking/public.go:290 pkg/booking/public.go:312
|
||||
msgid "Departure date must be a valid date."
|
||||
msgstr "La data de sortida ha de ser una data vàlida."
|
||||
|
||||
#: pkg/booking/public.go:303
|
||||
#: pkg/booking/public.go:304
|
||||
msgid "Arrival date can not be empty"
|
||||
msgstr "No podeu deixar la data d’arribada en blanc."
|
||||
|
||||
#: pkg/booking/public.go:305
|
||||
#: pkg/booking/public.go:306
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or after."
|
||||
msgstr "La data d’arribada ha de ser igual o posterior a %s."
|
||||
|
||||
#: pkg/booking/public.go:306
|
||||
#: pkg/booking/public.go:307
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or before."
|
||||
msgstr "La data d’arribada ha de ser anterior o igual a %s."
|
||||
|
||||
#: pkg/booking/public.go:310
|
||||
#: pkg/booking/public.go:311
|
||||
msgid "Departure date can not be empty"
|
||||
msgstr "No podeu deixar la data de sortida en blanc."
|
||||
|
||||
#: pkg/booking/public.go:312
|
||||
#: pkg/booking/public.go:313
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or after."
|
||||
msgstr "La data de sortida ha de ser igual o posterior a %s."
|
||||
|
||||
#: pkg/booking/public.go:313
|
||||
#: pkg/booking/public.go:314
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or before."
|
||||
msgstr "La data de sortida ha de ser anterior o igual a %s."
|
||||
|
||||
#: pkg/booking/public.go:355
|
||||
#: pkg/booking/public.go:356
|
||||
#, c-format
|
||||
msgid "There can be at most %d guests in this accommodation."
|
||||
msgstr "Hi poden haver com a màxim %d convidats a aquest allotjament."
|
||||
|
||||
#: pkg/booking/public.go:375
|
||||
#: pkg/booking/public.go:376
|
||||
msgid "Number of adults can not be empty"
|
||||
msgstr "No podeu deixar el número d’adults en blanc."
|
||||
|
||||
#: pkg/booking/public.go:376
|
||||
#: pkg/booking/public.go:377
|
||||
msgid "Number of adults must be an integer."
|
||||
msgstr "El número d’adults ha de ser enter."
|
||||
|
||||
#: pkg/booking/public.go:377
|
||||
#: pkg/booking/public.go:378
|
||||
msgid "There must be at least one adult."
|
||||
msgstr "Hi ha d’haver com a mínim un adult."
|
||||
|
||||
#: pkg/booking/public.go:380
|
||||
#: pkg/booking/public.go:381
|
||||
msgid "Number of teenagers can not be empty"
|
||||
msgstr "No podeu deixar el número d’adolescents en blanc."
|
||||
|
||||
#: pkg/booking/public.go:381
|
||||
#: pkg/booking/public.go:382
|
||||
msgid "Number of teenagers must be an integer."
|
||||
msgstr "El número d’adolescents ha de ser enter."
|
||||
|
||||
#: pkg/booking/public.go:382
|
||||
#: pkg/booking/public.go:383
|
||||
msgid "Number of teenagers can not be negative."
|
||||
msgstr "El número d’adolescents no pot ser negatiu."
|
||||
|
||||
#: pkg/booking/public.go:385
|
||||
#: pkg/booking/public.go:386
|
||||
msgid "Number of children can not be empty"
|
||||
msgstr "No podeu deixar el número de nens en blanc."
|
||||
|
||||
#: pkg/booking/public.go:386
|
||||
#: pkg/booking/public.go:387
|
||||
msgid "Number of children must be an integer."
|
||||
msgstr "El número de nens ha de ser enter."
|
||||
|
||||
#: pkg/booking/public.go:387
|
||||
#: pkg/booking/public.go:388
|
||||
msgid "Number of children can not be negative."
|
||||
msgstr "El número de nens no pot ser negatiu."
|
||||
|
||||
#: pkg/booking/public.go:390
|
||||
#: pkg/booking/public.go:391
|
||||
msgid "Number of dogs can not be empty"
|
||||
msgstr "No podeu deixar el número de gossos en blanc."
|
||||
|
||||
#: pkg/booking/public.go:391
|
||||
#: pkg/booking/public.go:392
|
||||
msgid "Number of dogs must be an integer."
|
||||
msgstr "El número de gossos ha de ser enter."
|
||||
|
||||
#: pkg/booking/public.go:392
|
||||
#: pkg/booking/public.go:393
|
||||
msgid "Number of dogs can not be negative."
|
||||
msgstr "El número de gossos no pot ser negatiu."
|
||||
|
||||
#: pkg/booking/public.go:463
|
||||
#: pkg/booking/public.go:464
|
||||
#, c-format
|
||||
msgid "%s can not be empty"
|
||||
msgstr "No podeu deixar %s en blanc."
|
||||
|
||||
#: pkg/booking/public.go:464
|
||||
#: pkg/booking/public.go:465
|
||||
#, c-format
|
||||
msgid "%s must be an integer."
|
||||
msgstr "%s ha de ser un número enter."
|
||||
|
||||
#: pkg/booking/public.go:465
|
||||
#: pkg/booking/public.go:466
|
||||
#, c-format
|
||||
msgid "%s must be %d or greater."
|
||||
msgstr "El valor de %s ha de ser com a mínim %d."
|
||||
|
||||
#: pkg/booking/public.go:466
|
||||
#: pkg/booking/public.go:467
|
||||
#, c-format
|
||||
msgid "%s must be at most %d."
|
||||
msgstr "El valor de %s ha de ser com a màxim %d."
|
||||
|
||||
#: pkg/booking/public.go:524
|
||||
#: pkg/booking/public.go:525
|
||||
msgid "Full name can not be empty."
|
||||
msgstr "No podeu deixar el nom i els cognoms en blanc."
|
||||
|
||||
#: pkg/booking/public.go:525
|
||||
#: pkg/booking/public.go:526
|
||||
msgid "Full name must have at least one letter."
|
||||
msgstr "El nom i els cognoms han de tenir com a mínim una lletra."
|
||||
|
||||
#: pkg/booking/public.go:542
|
||||
#: pkg/booking/public.go:530
|
||||
msgid "Town or village can not be empty."
|
||||
msgstr "No podeu deixar la població en blanc."
|
||||
|
||||
#: pkg/booking/public.go:545
|
||||
msgid "It is mandatory to agree to the reservation conditions."
|
||||
msgstr "És obligatori acceptar les condicions de reserves."
|
||||
|
||||
#~ msgid "Postal code can not be empty."
|
||||
#~ msgstr "No podeu deixar el codi postal en blanc."
|
||||
|
||||
#~ msgid "This postal code is not valid."
|
||||
#~ msgstr "Aquest codi postal no és vàlid."
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Address (optional)"
|
||||
#~ msgstr "Adreça (opcional)"
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Postcode (optional)"
|
||||
#~ msgstr "Codi postal (opcional)"
|
||||
|
||||
#~ msgctxt "action"
|
||||
#~ msgid "Pay"
|
||||
#~ msgstr "Paga"
|
||||
|
|
148
po/es.po
148
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-02-15 15:41+0100\n"
|
||||
"POT-Creation-Date: 2024-02-24 19:56+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:04+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||
|
@ -256,7 +256,7 @@ msgid "Discover"
|
|||
msgstr "Descubre"
|
||||
|
||||
#: web/templates/public/campsite/type.gohtml:49
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
#: web/templates/public/booking/fields.gohtml:268
|
||||
msgctxt "action"
|
||||
msgid "Book"
|
||||
msgstr "Reservar"
|
||||
|
@ -645,6 +645,10 @@ msgstr "Apertura"
|
|||
msgid "<abbr title=\"Catalonia Tourism Registry\">RTC</abbr> <abbr title=\"Number\">#</abbr>%s"
|
||||
msgstr "<abbr title=\"Número\">Nº</abbr> <abbr title=\"Registro de Turismo de Cataluña\">RTC</abbr> %s"
|
||||
|
||||
#: web/templates/public/booking/page.gohtml:15
|
||||
msgid "Sorry, there was a problem. You’ll find more details highlighted below."
|
||||
msgstr "Ha habido un problema. Encontraréis más información resaltada debajo."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
msgctxt "title"
|
||||
|
@ -715,19 +719,23 @@ msgid "Full name"
|
|||
msgstr "Nombre y apellidos"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:157
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address (optional)"
|
||||
msgstr "Dirección (opcional)"
|
||||
msgid "Address"
|
||||
msgstr "Dirección"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:166
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode (optional)"
|
||||
msgstr "Código postal (opcional)"
|
||||
msgid "Postcode"
|
||||
msgstr "Código postal"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:175
|
||||
msgctxt "input"
|
||||
msgid "Town or village (optional)"
|
||||
msgstr "Población (opcional)"
|
||||
msgid "Town or village"
|
||||
msgstr "Población"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:184
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
|
@ -760,31 +768,31 @@ msgctxt "input"
|
|||
msgid "ACSI card? (optional)"
|
||||
msgstr "¿Tarjeta ACSI? (opcional)"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:222
|
||||
#: web/templates/public/booking/fields.gohtml:223
|
||||
msgctxt "input"
|
||||
msgid "I have read and I accept %[1]sthe reservation conditions%[2]s"
|
||||
msgstr "He leído y acepto %[1]slas condiciones de reserva%[2]s"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:239
|
||||
#: web/templates/public/booking/fields.gohtml:241
|
||||
msgctxt "cart"
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:244
|
||||
#: web/templates/public/booking/fields.gohtml:246
|
||||
#: web/templates/admin/payment/details.gohtml:84
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "A cuenta"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:258
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted."
|
||||
msgstr "En tramitar el %d %% del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos este porcentaje en caso que sea aceptada."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
#: web/templates/public/booking/fields.gohtml:262
|
||||
msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted."
|
||||
msgstr "En tramitar el pago del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos esta cantidad en caso que sea aceptada."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:264
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
msgid "See <%s>our conditions</%s> for more information."
|
||||
msgstr "Consultad <%s>nuestras condiciones</%s> para más información."
|
||||
|
||||
|
@ -884,13 +892,11 @@ msgid "Payment"
|
|||
msgstr "Pago"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:30
|
||||
#, fuzzy
|
||||
msgctxt "payment header"
|
||||
msgid "Created at"
|
||||
msgstr "Creado el"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
#, fuzzy
|
||||
msgctxt "payment header"
|
||||
msgid "Last updated at"
|
||||
msgstr "Actualizado por última vez el"
|
||||
|
@ -918,18 +924,6 @@ msgctxt "title"
|
|||
msgid "Campsite Type Options"
|
||||
msgstr "Opciones del tipo de alojamiento"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
msgstr "Dirección"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Código postal"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
|
@ -2259,12 +2253,12 @@ msgid "Slide image must be an image media type."
|
|||
msgstr "La imagen de la diapositiva tiene que ser un medio de tipo imagen."
|
||||
|
||||
#: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217
|
||||
#: pkg/booking/public.go:533
|
||||
#: pkg/booking/public.go:536
|
||||
msgid "Email can not be empty."
|
||||
msgstr "No podéis dejar el correo-e en blanco."
|
||||
|
||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218
|
||||
#: pkg/booking/public.go:534
|
||||
#: pkg/booking/public.go:537
|
||||
msgid "This email is not valid. It should be like name@domain.com."
|
||||
msgstr "Este correo-e no es válido. Tiene que ser parecido a nombre@dominio.com."
|
||||
|
||||
|
@ -2475,8 +2469,8 @@ msgctxt "header"
|
|||
msgid "Children (aged 2 to 10)"
|
||||
msgstr "Niños (de 2 a 10 años)"
|
||||
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:171
|
||||
#: pkg/booking/public.go:226
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:172
|
||||
#: pkg/booking/public.go:227
|
||||
msgid "Selected campsite type is not valid."
|
||||
msgstr "El tipo de alojamiento escogido no es válido."
|
||||
|
||||
|
@ -2632,7 +2626,7 @@ msgstr "No podéis dejar la dirección del enlace en blanco."
|
|||
msgid "This web address is not valid. It should be like https://domain.com/."
|
||||
msgstr "Esta dirección web no es válida. Tiene que ser parecido a https://dominio.com/."
|
||||
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:520
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:521
|
||||
msgid "Selected country is not valid."
|
||||
msgstr "El país escogido no es válido."
|
||||
|
||||
|
@ -2652,15 +2646,15 @@ msgstr "No podéis dejar el NIF en blanco."
|
|||
msgid "This VAT number is not valid."
|
||||
msgstr "Este NIF no es válido."
|
||||
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:536
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:539
|
||||
msgid "Phone can not be empty."
|
||||
msgstr "No podéis dejar el teléfono en blanco."
|
||||
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:537
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:540
|
||||
msgid "This phone number is not valid."
|
||||
msgstr "Este teléfono no es válido."
|
||||
|
||||
#: pkg/company/admin.go:223
|
||||
#: pkg/company/admin.go:223 pkg/booking/public.go:529
|
||||
msgid "Address can not be empty."
|
||||
msgstr "No podéis dejar la dirección en blanco."
|
||||
|
||||
|
@ -2672,12 +2666,12 @@ msgstr "No podéis dejar la población en blanco."
|
|||
msgid "Province can not be empty."
|
||||
msgstr "No podéis dejar la provincia en blanco."
|
||||
|
||||
#: pkg/company/admin.go:226
|
||||
msgid "Postal code can not be empty."
|
||||
#: pkg/company/admin.go:226 pkg/booking/public.go:531
|
||||
msgid "Postcode can not be empty."
|
||||
msgstr "No podéis dejar el código postal en blanco."
|
||||
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:529
|
||||
msgid "This postal code is not valid."
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:532
|
||||
msgid "This postcode is not valid."
|
||||
msgstr "Este código postal no es válido."
|
||||
|
||||
#: pkg/company/admin.go:231
|
||||
|
@ -2746,127 +2740,145 @@ msgctxt "filename"
|
|||
msgid "bookings.ods"
|
||||
msgstr "reservas.ods"
|
||||
|
||||
#: pkg/booking/public.go:275 pkg/booking/public.go:304
|
||||
#: pkg/booking/public.go:276 pkg/booking/public.go:305
|
||||
msgid "Arrival date must be a valid date."
|
||||
msgstr "La fecha de llegada tiene que ser una fecha válida."
|
||||
|
||||
#: pkg/booking/public.go:289 pkg/booking/public.go:311
|
||||
#: pkg/booking/public.go:290 pkg/booking/public.go:312
|
||||
msgid "Departure date must be a valid date."
|
||||
msgstr "La fecha de partida tiene que ser una fecha válida."
|
||||
|
||||
#: pkg/booking/public.go:303
|
||||
#: pkg/booking/public.go:304
|
||||
msgid "Arrival date can not be empty"
|
||||
msgstr "No podéis dejar la fecha de llegada en blanco."
|
||||
|
||||
#: pkg/booking/public.go:305
|
||||
#: pkg/booking/public.go:306
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or after."
|
||||
msgstr "La fecha de llegada tiene que ser igual o posterior a %s."
|
||||
|
||||
#: pkg/booking/public.go:306
|
||||
#: pkg/booking/public.go:307
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or before."
|
||||
msgstr "La fecha de llegada tiene que ser anterior o igual a %s."
|
||||
|
||||
#: pkg/booking/public.go:310
|
||||
#: pkg/booking/public.go:311
|
||||
msgid "Departure date can not be empty"
|
||||
msgstr "No podéis dejar la fecha de partida en blanco."
|
||||
|
||||
#: pkg/booking/public.go:312
|
||||
#: pkg/booking/public.go:313
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or after."
|
||||
msgstr "La fecha de partida tiene que igual o posterior a %s."
|
||||
|
||||
#: pkg/booking/public.go:313
|
||||
#: pkg/booking/public.go:314
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or before."
|
||||
msgstr "La fecha de partida tiene que ser anterior o igual a %s."
|
||||
|
||||
#: pkg/booking/public.go:355
|
||||
#: pkg/booking/public.go:356
|
||||
#, c-format
|
||||
msgid "There can be at most %d guests in this accommodation."
|
||||
msgstr "Solo puede haber como máximo %d invitados en este alojamiento."
|
||||
|
||||
#: pkg/booking/public.go:375
|
||||
#: pkg/booking/public.go:376
|
||||
msgid "Number of adults can not be empty"
|
||||
msgstr "No podéis dejar el número de adultos blanco."
|
||||
|
||||
#: pkg/booking/public.go:376
|
||||
#: pkg/booking/public.go:377
|
||||
msgid "Number of adults must be an integer."
|
||||
msgstr "El número de adultos tiene que ser entero."
|
||||
|
||||
#: pkg/booking/public.go:377
|
||||
#: pkg/booking/public.go:378
|
||||
msgid "There must be at least one adult."
|
||||
msgstr "Tiene que haber como mínimo un adulto."
|
||||
|
||||
#: pkg/booking/public.go:380
|
||||
#: pkg/booking/public.go:381
|
||||
msgid "Number of teenagers can not be empty"
|
||||
msgstr "No podéis dejar el número de adolescentes en blanco."
|
||||
|
||||
#: pkg/booking/public.go:381
|
||||
#: pkg/booking/public.go:382
|
||||
msgid "Number of teenagers must be an integer."
|
||||
msgstr "El número de adolescentes tiene que ser entero."
|
||||
|
||||
#: pkg/booking/public.go:382
|
||||
#: pkg/booking/public.go:383
|
||||
msgid "Number of teenagers can not be negative."
|
||||
msgstr "El número de adolescentes no puede ser negativo."
|
||||
|
||||
#: pkg/booking/public.go:385
|
||||
#: pkg/booking/public.go:386
|
||||
msgid "Number of children can not be empty"
|
||||
msgstr "No podéis dejar el número de niños en blanco."
|
||||
|
||||
#: pkg/booking/public.go:386
|
||||
#: pkg/booking/public.go:387
|
||||
msgid "Number of children must be an integer."
|
||||
msgstr "El número de niños tiene que ser entero."
|
||||
|
||||
#: pkg/booking/public.go:387
|
||||
#: pkg/booking/public.go:388
|
||||
msgid "Number of children can not be negative."
|
||||
msgstr "El número de niños no puede ser negativo."
|
||||
|
||||
#: pkg/booking/public.go:390
|
||||
#: pkg/booking/public.go:391
|
||||
msgid "Number of dogs can not be empty"
|
||||
msgstr "No podéis dejar el número de perros en blanco."
|
||||
|
||||
#: pkg/booking/public.go:391
|
||||
#: pkg/booking/public.go:392
|
||||
msgid "Number of dogs must be an integer."
|
||||
msgstr "El número de perros tiene que ser entero."
|
||||
|
||||
#: pkg/booking/public.go:392
|
||||
#: pkg/booking/public.go:393
|
||||
msgid "Number of dogs can not be negative."
|
||||
msgstr "El número de perros no puede ser negativo."
|
||||
|
||||
#: pkg/booking/public.go:463
|
||||
#: pkg/booking/public.go:464
|
||||
#, c-format
|
||||
msgid "%s can not be empty"
|
||||
msgstr "No podéis dejar %s en blanco."
|
||||
|
||||
#: pkg/booking/public.go:464
|
||||
#: pkg/booking/public.go:465
|
||||
#, c-format
|
||||
msgid "%s must be an integer."
|
||||
msgstr "%s tiene que ser un número entero."
|
||||
|
||||
#: pkg/booking/public.go:465
|
||||
#: pkg/booking/public.go:466
|
||||
#, c-format
|
||||
msgid "%s must be %d or greater."
|
||||
msgstr "%s tiene que ser como mínimo %d."
|
||||
|
||||
#: pkg/booking/public.go:466
|
||||
#: pkg/booking/public.go:467
|
||||
#, c-format
|
||||
msgid "%s must be at most %d."
|
||||
msgstr "%s tiene que ser como máximo %d"
|
||||
|
||||
#: pkg/booking/public.go:524
|
||||
#: pkg/booking/public.go:525
|
||||
msgid "Full name can not be empty."
|
||||
msgstr "No podéis dejar el nombre y los apellidos en blanco."
|
||||
|
||||
#: pkg/booking/public.go:525
|
||||
#: pkg/booking/public.go:526
|
||||
msgid "Full name must have at least one letter."
|
||||
msgstr "El nombre y los apellidos tienen que tener como mínimo una letra."
|
||||
|
||||
#: pkg/booking/public.go:542
|
||||
#: pkg/booking/public.go:530
|
||||
msgid "Town or village can not be empty."
|
||||
msgstr "No podéis dejar la población en blanco."
|
||||
|
||||
#: pkg/booking/public.go:545
|
||||
msgid "It is mandatory to agree to the reservation conditions."
|
||||
msgstr "Es obligatorio aceptar las condiciones de reserva."
|
||||
|
||||
#~ msgid "Postal code can not be empty."
|
||||
#~ msgstr "No podéis dejar el código postal en blanco."
|
||||
|
||||
#~ msgid "This postal code is not valid."
|
||||
#~ msgstr "Este código postal no es válido."
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Address (optional)"
|
||||
#~ msgstr "Dirección (opcional)"
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Postcode (optional)"
|
||||
#~ msgstr "Código postal (opcional)"
|
||||
|
||||
#~ msgctxt "action"
|
||||
#~ msgid "Pay"
|
||||
#~ msgstr "Pagar"
|
||||
|
|
148
po/fr.po
148
po/fr.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-02-15 15:48+0100\n"
|
||||
"POT-Creation-Date: 2024-02-24 19:56+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:05+0100\n"
|
||||
"Last-Translator: Oriol Carbonell <info@oriolcarbonell.cat>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
|
@ -256,7 +256,7 @@ msgid "Discover"
|
|||
msgstr "Découvrir"
|
||||
|
||||
#: web/templates/public/campsite/type.gohtml:49
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
#: web/templates/public/booking/fields.gohtml:268
|
||||
msgctxt "action"
|
||||
msgid "Book"
|
||||
msgstr "Réserver"
|
||||
|
@ -645,6 +645,10 @@ msgstr "Ouverture"
|
|||
msgid "<abbr title=\"Catalonia Tourism Registry\">RTC</abbr> <abbr title=\"Number\">#</abbr>%s"
|
||||
msgstr "<abbr title=\"Registre du tourisme de Catalogne\"># RTC</abbr> %s"
|
||||
|
||||
#: web/templates/public/booking/page.gohtml:15
|
||||
msgid "Sorry, there was a problem. You’ll find more details highlighted below."
|
||||
msgstr "Il y avait un problème. Vous trouverez plus de détails ci-dessous."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
msgctxt "title"
|
||||
|
@ -715,19 +719,23 @@ msgid "Full name"
|
|||
msgstr "Nom et prénom"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:157
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address (optional)"
|
||||
msgstr "Adresse (Facultatif)"
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:166
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode (optional)"
|
||||
msgstr "Code postal (Facultatif)"
|
||||
msgid "Postcode"
|
||||
msgstr "Code postal"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:175
|
||||
msgctxt "input"
|
||||
msgid "Town or village (optional)"
|
||||
msgstr "Ville (Facultatif)"
|
||||
msgid "Town or village"
|
||||
msgstr "Ville"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:184
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
|
@ -760,31 +768,31 @@ msgctxt "input"
|
|||
msgid "ACSI card? (optional)"
|
||||
msgstr "Carte ACSI ? (Facultatif)"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:222
|
||||
#: web/templates/public/booking/fields.gohtml:223
|
||||
msgctxt "input"
|
||||
msgid "I have read and I accept %[1]sthe reservation conditions%[2]s"
|
||||
msgstr "J’ai lu et j’accepte %[1]sles conditions de réservation%[2]s"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:239
|
||||
#: web/templates/public/booking/fields.gohtml:241
|
||||
msgctxt "cart"
|
||||
msgid "Total"
|
||||
msgstr "Totale"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:244
|
||||
#: web/templates/public/booking/fields.gohtml:246
|
||||
#: web/templates/admin/payment/details.gohtml:84
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "Acompte"
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:258
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted."
|
||||
msgstr "En En effectuant le paiement de %d %% du total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce pourcentage sera facturé en cas d’acceptation."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:260
|
||||
#: web/templates/public/booking/fields.gohtml:262
|
||||
msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted."
|
||||
msgstr "En procédant au paiement du montant total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce montant sera facturé en cas d’acceptation."
|
||||
|
||||
#: web/templates/public/booking/fields.gohtml:264
|
||||
#: web/templates/public/booking/fields.gohtml:266
|
||||
msgid "See <%s>our conditions</%s> for more information."
|
||||
msgstr "Consultez <%s>nos conditions</%s> pour plus d’informations."
|
||||
|
||||
|
@ -884,13 +892,11 @@ msgid "Payment"
|
|||
msgstr "Paiement"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:30
|
||||
#, fuzzy
|
||||
msgctxt "payment header"
|
||||
msgid "Created at"
|
||||
msgstr "Créé à"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
#, fuzzy
|
||||
msgctxt "payment header"
|
||||
msgid "Last updated at"
|
||||
msgstr "Dernière mise à jour à"
|
||||
|
@ -918,18 +924,6 @@ msgctxt "title"
|
|||
msgid "Campsite Type Options"
|
||||
msgstr "Options de type d’emplacement de camping"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Code Postal"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
|
@ -2259,12 +2253,12 @@ msgid "Slide image must be an image media type."
|
|||
msgstr "L’image de la diapositive doit être de type média d’image."
|
||||
|
||||
#: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217
|
||||
#: pkg/booking/public.go:533
|
||||
#: pkg/booking/public.go:536
|
||||
msgid "Email can not be empty."
|
||||
msgstr "L’e-mail ne peut pas être vide."
|
||||
|
||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218
|
||||
#: pkg/booking/public.go:534
|
||||
#: pkg/booking/public.go:537
|
||||
msgid "This email is not valid. It should be like name@domain.com."
|
||||
msgstr "Cette adresse e-mail n’est pas valide. Il devrait en être name@domain.com."
|
||||
|
||||
|
@ -2475,8 +2469,8 @@ msgctxt "header"
|
|||
msgid "Children (aged 2 to 10)"
|
||||
msgstr "Enfants (de 2 à 10 anys)"
|
||||
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:171
|
||||
#: pkg/booking/public.go:226
|
||||
#: pkg/campsite/admin.go:275 pkg/booking/public.go:172
|
||||
#: pkg/booking/public.go:227
|
||||
msgid "Selected campsite type is not valid."
|
||||
msgstr "Le type d’emplacement sélectionné n’est pas valide."
|
||||
|
||||
|
@ -2632,7 +2626,7 @@ msgstr "L’addresse du lien ne peut pas être vide."
|
|||
msgid "This web address is not valid. It should be like https://domain.com/."
|
||||
msgstr "Cette adresse web n’est pas valide. Il devrait en être https://domain.com/."
|
||||
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:520
|
||||
#: pkg/company/admin.go:200 pkg/booking/public.go:521
|
||||
msgid "Selected country is not valid."
|
||||
msgstr "Le pays sélectionné n’est pas valide."
|
||||
|
||||
|
@ -2652,15 +2646,15 @@ msgstr "Le numéro de TVA ne peut pas être vide."
|
|||
msgid "This VAT number is not valid."
|
||||
msgstr "Ce numéro de TVA n’est pas valide."
|
||||
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:536
|
||||
#: pkg/company/admin.go:212 pkg/booking/public.go:539
|
||||
msgid "Phone can not be empty."
|
||||
msgstr "Le téléphone ne peut pas être vide."
|
||||
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:537
|
||||
#: pkg/company/admin.go:213 pkg/booking/public.go:540
|
||||
msgid "This phone number is not valid."
|
||||
msgstr "Ce numéro de téléphone n’est pas valide."
|
||||
|
||||
#: pkg/company/admin.go:223
|
||||
#: pkg/company/admin.go:223 pkg/booking/public.go:529
|
||||
msgid "Address can not be empty."
|
||||
msgstr "L’adresse ne peut pas être vide."
|
||||
|
||||
|
@ -2672,12 +2666,12 @@ msgstr "La ville ne peut pas être vide."
|
|||
msgid "Province can not be empty."
|
||||
msgstr "La province ne peut pas être vide."
|
||||
|
||||
#: pkg/company/admin.go:226
|
||||
msgid "Postal code can not be empty."
|
||||
#: pkg/company/admin.go:226 pkg/booking/public.go:531
|
||||
msgid "Postcode can not be empty."
|
||||
msgstr "Le code postal ne peut pas être vide."
|
||||
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:529
|
||||
msgid "This postal code is not valid."
|
||||
#: pkg/company/admin.go:227 pkg/booking/public.go:532
|
||||
msgid "This postcode is not valid."
|
||||
msgstr "Ce code postal n’est pas valide."
|
||||
|
||||
#: pkg/company/admin.go:231
|
||||
|
@ -2746,127 +2740,145 @@ msgctxt "filename"
|
|||
msgid "bookings.ods"
|
||||
msgstr "reservations.ods"
|
||||
|
||||
#: pkg/booking/public.go:275 pkg/booking/public.go:304
|
||||
#: pkg/booking/public.go:276 pkg/booking/public.go:305
|
||||
msgid "Arrival date must be a valid date."
|
||||
msgstr "La date d’arrivée doit être une date valide."
|
||||
|
||||
#: pkg/booking/public.go:289 pkg/booking/public.go:311
|
||||
#: pkg/booking/public.go:290 pkg/booking/public.go:312
|
||||
msgid "Departure date must be a valid date."
|
||||
msgstr "La date de départ doit être une date valide."
|
||||
|
||||
#: pkg/booking/public.go:303
|
||||
#: pkg/booking/public.go:304
|
||||
msgid "Arrival date can not be empty"
|
||||
msgstr "La date d’arrivée ne peut pas être vide"
|
||||
|
||||
#: pkg/booking/public.go:305
|
||||
#: pkg/booking/public.go:306
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or after."
|
||||
msgstr "La date d’arrivée doit être égale ou postérieure à %s."
|
||||
|
||||
#: pkg/booking/public.go:306
|
||||
#: pkg/booking/public.go:307
|
||||
#, c-format
|
||||
msgid "Arrival date must be %s or before."
|
||||
msgstr "La date d’arrivée doit être antérieure ou égale à %s."
|
||||
|
||||
#: pkg/booking/public.go:310
|
||||
#: pkg/booking/public.go:311
|
||||
msgid "Departure date can not be empty"
|
||||
msgstr "La date de départ ne peut pas être vide"
|
||||
|
||||
#: pkg/booking/public.go:312
|
||||
#: pkg/booking/public.go:313
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or after."
|
||||
msgstr "La date de départ doit être égale ou postérieure à %s."
|
||||
|
||||
#: pkg/booking/public.go:313
|
||||
#: pkg/booking/public.go:314
|
||||
#, c-format
|
||||
msgid "Departure date must be %s or before."
|
||||
msgstr "La date de départ doit être antérieure ou égale à %s."
|
||||
|
||||
#: pkg/booking/public.go:355
|
||||
#: pkg/booking/public.go:356
|
||||
#, c-format
|
||||
msgid "There can be at most %d guests in this accommodation."
|
||||
msgstr "Il peut y avoir au plus %d invités dans cet hébergement."
|
||||
|
||||
#: pkg/booking/public.go:375
|
||||
#: pkg/booking/public.go:376
|
||||
msgid "Number of adults can not be empty"
|
||||
msgstr "Le nombre d’adultes ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:376
|
||||
#: pkg/booking/public.go:377
|
||||
msgid "Number of adults must be an integer."
|
||||
msgstr "Le nombre d’adultes doit être un entier."
|
||||
|
||||
#: pkg/booking/public.go:377
|
||||
#: pkg/booking/public.go:378
|
||||
msgid "There must be at least one adult."
|
||||
msgstr "Il doit y avoir au moins un adulte."
|
||||
|
||||
#: pkg/booking/public.go:380
|
||||
#: pkg/booking/public.go:381
|
||||
msgid "Number of teenagers can not be empty"
|
||||
msgstr "Le nombre d’adolescents ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:381
|
||||
#: pkg/booking/public.go:382
|
||||
msgid "Number of teenagers must be an integer."
|
||||
msgstr "Le nombre d’adolescents doit être un entier."
|
||||
|
||||
#: pkg/booking/public.go:382
|
||||
#: pkg/booking/public.go:383
|
||||
msgid "Number of teenagers can not be negative."
|
||||
msgstr "Le nombre d’adolescents ne peut pas être négatif."
|
||||
|
||||
#: pkg/booking/public.go:385
|
||||
#: pkg/booking/public.go:386
|
||||
msgid "Number of children can not be empty"
|
||||
msgstr "Le nombre d’enfants ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:386
|
||||
#: pkg/booking/public.go:387
|
||||
msgid "Number of children must be an integer."
|
||||
msgstr "Le nombre d’enfants doit être un entier."
|
||||
|
||||
#: pkg/booking/public.go:387
|
||||
#: pkg/booking/public.go:388
|
||||
msgid "Number of children can not be negative."
|
||||
msgstr "Le nombre d’enfants ne peut pas être négatif."
|
||||
|
||||
#: pkg/booking/public.go:390
|
||||
#: pkg/booking/public.go:391
|
||||
msgid "Number of dogs can not be empty"
|
||||
msgstr "Le nombre de chiens ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:391
|
||||
#: pkg/booking/public.go:392
|
||||
msgid "Number of dogs must be an integer."
|
||||
msgstr "Le nombre de chiens nuits être un entier."
|
||||
|
||||
#: pkg/booking/public.go:392
|
||||
#: pkg/booking/public.go:393
|
||||
msgid "Number of dogs can not be negative."
|
||||
msgstr "Le nombre de chiens ne peut pas être négatif."
|
||||
|
||||
#: pkg/booking/public.go:463
|
||||
#: pkg/booking/public.go:464
|
||||
#, c-format
|
||||
msgid "%s can not be empty"
|
||||
msgstr "%s ne peut pas être vide"
|
||||
|
||||
#: pkg/booking/public.go:464
|
||||
#: pkg/booking/public.go:465
|
||||
#, c-format
|
||||
msgid "%s must be an integer."
|
||||
msgstr "%s doit être un entier."
|
||||
|
||||
#: pkg/booking/public.go:465
|
||||
#: pkg/booking/public.go:466
|
||||
#, c-format
|
||||
msgid "%s must be %d or greater."
|
||||
msgstr "%s doit être %d ou plus."
|
||||
|
||||
#: pkg/booking/public.go:466
|
||||
#: pkg/booking/public.go:467
|
||||
#, c-format
|
||||
msgid "%s must be at most %d."
|
||||
msgstr "%s doit être tout au plus %d."
|
||||
|
||||
#: pkg/booking/public.go:524
|
||||
#: pkg/booking/public.go:525
|
||||
msgid "Full name can not be empty."
|
||||
msgstr "Le nom complet ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:525
|
||||
#: pkg/booking/public.go:526
|
||||
msgid "Full name must have at least one letter."
|
||||
msgstr "Le nom complet doit comporter au moins une lettre."
|
||||
|
||||
#: pkg/booking/public.go:542
|
||||
#: pkg/booking/public.go:530
|
||||
msgid "Town or village can not be empty."
|
||||
msgstr "La ville ne peut pas être vide."
|
||||
|
||||
#: pkg/booking/public.go:545
|
||||
msgid "It is mandatory to agree to the reservation conditions."
|
||||
msgstr "Il est obligatoire d’accepter les conditions de réservation."
|
||||
|
||||
#~ msgid "Postal code can not be empty."
|
||||
#~ msgstr "Le code postal ne peut pas être vide."
|
||||
|
||||
#~ msgid "This postal code is not valid."
|
||||
#~ msgstr "Ce code postal n’est pas valide."
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Address (optional)"
|
||||
#~ msgstr "Adresse (Facultatif)"
|
||||
|
||||
#~ msgctxt "input"
|
||||
#~ msgid "Postcode (optional)"
|
||||
#~ msgstr "Code postal (Facultatif)"
|
||||
|
||||
#~ msgctxt "action"
|
||||
#~ msgid "Pay"
|
||||
#~ msgstr "Payer"
|
||||
|
|
|
@ -103,6 +103,7 @@ html {
|
|||
--accent: #00aa7d;
|
||||
--accent-2: #FFE37F;
|
||||
--accent-3: #9adff4;
|
||||
--error: #871d1f;
|
||||
--clar-rgb: 239, 237, 236;
|
||||
--clar: rgb(var(--clar-rgb));
|
||||
}
|
||||
|
@ -1272,14 +1273,6 @@ select {
|
|||
padding: 20px;
|
||||
}
|
||||
|
||||
/*
|
||||
label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
}
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
@ -1299,6 +1292,20 @@ button[disabled] {
|
|||
border-color: var(--contrast-3);
|
||||
}
|
||||
|
||||
.error {
|
||||
color: var(--error);
|
||||
}
|
||||
|
||||
input[aria-invalid="true"] {
|
||||
border-color: var(--error);
|
||||
}
|
||||
|
||||
.error[role="alert"] {
|
||||
background-color: #fae0e3;
|
||||
padding: 1em;
|
||||
margin: 1em 0 2em;
|
||||
}
|
||||
|
||||
/* radio buttins + checkbox */
|
||||
|
||||
/* Context for relative positioning */
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{{ define "error-message" -}}
|
||||
{{ if .Error -}}
|
||||
<span id="{{ .Name }}-error" class="error">{{ .Error }}</span><br>
|
||||
<strong id="{{ .Name }}-error" class="error">{{ .Error }}</strong><br>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
max="{{ formatDateAttr .MaxDate }}"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .DepartureDate -}}
|
||||
<label>
|
||||
|
@ -43,8 +43,8 @@
|
|||
max="{{ formatDateAttr .MaxDate }}"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
</fieldset>
|
||||
{{- end }}
|
||||
|
@ -62,8 +62,8 @@
|
|||
min="1"{{if not $guests.OverflowAllowed }} max="{{ $guests.MaxGuests }}"{{ end }}
|
||||
{{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .NumberTeenagers -}}
|
||||
<label>
|
||||
|
@ -73,8 +73,8 @@
|
|||
min="0"{{if not $guests.OverflowAllowed }} max="{{ $guests.MaxGuests | dec }}"{{ end }}
|
||||
{{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .NumberChildren -}}
|
||||
<label>
|
||||
|
@ -84,8 +84,8 @@
|
|||
min="0"{{if not $guests.OverflowAllowed }} max="{{ $guests.MaxGuests | dec }}"{{ end }}
|
||||
{{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ if .Overflow -}}
|
||||
<small>{{( gettext "Note: Due to guest capacity, we have added more accomodations to the booking, but we <strong>cannot</strong> guarantee that they will be next to each other." ) | raw}}</small>
|
||||
|
@ -101,8 +101,8 @@
|
|||
name="{{ .Name }}" value="{{ .Val }}" min="0"
|
||||
{{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{- else -}}
|
||||
<small>{{( gettext "Note: This accommodation does <strong>not</strong> allow dogs.") | raw }}</small>
|
||||
|
@ -124,8 +124,8 @@
|
|||
<input type="text"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ range .Options -}}
|
||||
<label>
|
||||
|
@ -135,8 +135,8 @@
|
|||
min="{{ .Min }}" max="{{ .Max }}"
|
||||
{{ template "error-attrs" .Input }}
|
||||
><br>
|
||||
{{ template "error-message" .Input }}
|
||||
</label>
|
||||
{{ template "error-message" .Input }}
|
||||
{{- end }}
|
||||
</fieldset>
|
||||
{{- end }}
|
||||
|
@ -149,35 +149,35 @@
|
|||
<input type="text" required autocomplete="name" minlength="2"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .Address -}}
|
||||
<label>
|
||||
{{( pgettext "Address (optional)" "input" )}}<br>
|
||||
<input type="text" autocomplete="billing street-address"
|
||||
{{( pgettext "Address" "input" )}}<br>
|
||||
<input type="text" required autocomplete="billing street-address"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .PostalCode -}}
|
||||
<label>
|
||||
{{( pgettext "Postcode (optional)" "input" )}}<br>
|
||||
<input type="text" autocomplete="billing postal-code"
|
||||
{{( pgettext "Postcode" "input" )}}<br>
|
||||
<input type="text" required autocomplete="billing postal-code"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .City -}}
|
||||
<label>
|
||||
{{( pgettext "Town or village (optional)" "input" )}}<br>
|
||||
<input type="text"
|
||||
{{( pgettext "Town or village" "input" )}}<br>
|
||||
<input type="text" required
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .Country -}}
|
||||
<label>
|
||||
|
@ -187,8 +187,8 @@
|
|||
<option>{{( gettext "Choose a country" )}}</option>
|
||||
{{ template "error-attrs" . }}>{{ template "list-options" . }}
|
||||
</select><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .Email -}}
|
||||
<label>
|
||||
|
@ -196,8 +196,8 @@
|
|||
<input type="email" required autocomplete="email"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .Phone -}}
|
||||
<label>
|
||||
|
@ -205,23 +205,25 @@
|
|||
<input type="tel" required autocomplete="tel"
|
||||
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
|
||||
><br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{ template "error-message" . }}
|
||||
{{- end }}
|
||||
{{ with .ACSICard -}}
|
||||
<label class="full-row">
|
||||
<input type="checkbox" name="{{ .Name }}" {{ if .Checked}}checked{{ end }}
|
||||
{{ template "error-attrs" . }}
|
||||
> {{( pgettext "ACSI card? (optional)" "input" )}}</label><br>
|
||||
{{ template "error-message" . }}
|
||||
> {{( pgettext "ACSI card? (optional)" "input" )}}<br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{- end }}
|
||||
{{ with .Agreement -}}
|
||||
<label class="full-row">
|
||||
<input type="checkbox" required name="{{ .Name }}" {{ if .Checked}}checked{{ end }}
|
||||
{{ template "error-attrs" . }}
|
||||
> {{ printf ( pgettext "I have read and I accept %[1]sthe reservation conditions%[2]s" "input" ) (printf "<a href=\"/%s/legal/reservation\" rel=\"terms-of-service\" target=\"_blank\">" currentLocale) (print "</a>") | raw }}
|
||||
</label><br>
|
||||
{{ template "error-message" . }}
|
||||
<br>
|
||||
{{ template "error-message" . }}
|
||||
</label>
|
||||
{{- end }}
|
||||
</fieldset>
|
||||
{{- end }}
|
||||
|
|
|
@ -10,6 +10,11 @@
|
|||
{{ define "content" -}}
|
||||
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.publicPage*/ -}}
|
||||
<h2>{{ template "title" . }}</h2>
|
||||
{{ if .HasErrors -}}
|
||||
<div role="alert" class="error">
|
||||
<p>{{( gettext "Sorry, there was a problem. You’ll find more details highlighted below." )}}</p>
|
||||
</div>
|
||||
{{- end }}
|
||||
<form id="booking" action="/{{ currentLocale }}/booking" method="post"
|
||||
data-hx-include="this"
|
||||
data-hx-target="this"
|
||||
|
|
Loading…
Reference in New Issue