Add the section of prebookings

It is just the index of bookings in the created state, but we thought it
would make easier to understand the difference between a booking from
a customer not yet confirmed, from a booking confirmed or created by the
staff.
This commit is contained in:
jordi fita mas 2024-05-03 01:01:01 +02:00
parent 5d4fe15e88
commit c84b58a0d5
10 changed files with 573 additions and 270 deletions

View File

@ -41,6 +41,7 @@ type adminHandler struct {
location *location.AdminHandler location *location.AdminHandler
media *media.AdminHandler media *media.AdminHandler
payment *payment.AdminHandler payment *payment.AdminHandler
prebooking *booking.PrebookingHandler
season *season.AdminHandler season *season.AdminHandler
services *services.AdminHandler services *services.AdminHandler
surroundings *surroundings.AdminHandler surroundings *surroundings.AdminHandler
@ -60,6 +61,7 @@ func newAdminHandler(mediaDir string) *adminHandler {
location: location.NewAdminHandler(), location: location.NewAdminHandler(),
media: media.NewAdminHandler(mediaDir), media: media.NewAdminHandler(mediaDir),
payment: payment.NewAdminHandler(), payment: payment.NewAdminHandler(),
prebooking: booking.NewPrebookingHandler(),
season: season.NewAdminHandler(), season: season.NewAdminHandler(),
services: services.NewAdminHandler(), services: services.NewAdminHandler(),
surroundings: surroundings.NewAdminHandler(), surroundings: surroundings.NewAdminHandler(),
@ -105,6 +107,8 @@ func (h *adminHandler) Handle(user *auth.User, company *auth.Company, conn *data
h.media.Handler(user, company, conn).ServeHTTP(w, r) h.media.Handler(user, company, conn).ServeHTTP(w, r)
case "payments": case "payments":
h.payment.Handler(user, company, conn).ServeHTTP(w, r) h.payment.Handler(user, company, conn).ServeHTTP(w, r)
case "prebookings":
h.prebooking.Handler(user, company, conn).ServeHTTP(w, r)
case "seasons": case "seasons":
h.season.Handler(user, company, conn).ServeHTTP(w, r) h.season.Handler(user, company, conn).ServeHTTP(w, r)
case "services": case "services":

View File

@ -286,6 +286,7 @@ func mustGetBookingStatusOptions(ctx context.Context, conn *database.Conn, local
from booking_status from booking_status
join booking_status_i18n isi18n using(booking_status) join booking_status_i18n isi18n using(booking_status)
where isi18n.lang_tag = $1 where isi18n.lang_tag = $1
and booking_status <> 'created'
order by booking_status`, locale.Language) order by booking_status`, locale.Language)
} }
@ -322,7 +323,11 @@ func (f *filterForm) BuildQuery(args []interface{}) (string, []interface{}) {
maybeAppendWhere("booking.holder_name ILIKE $%d", f.HolderName.Val, func(v string) interface{} { maybeAppendWhere("booking.holder_name ILIKE $%d", f.HolderName.Val, func(v string) interface{} {
return "%" + v + "%" return "%" + v + "%"
}) })
if len(f.BookingStatus.Selected) == 0 {
where = append(where, "booking.booking_status <> 'created'")
} else {
maybeAppendWhere("booking.booking_status = $%d", f.BookingStatus.String(), nil) maybeAppendWhere("booking.booking_status = $%d", f.BookingStatus.String(), nil)
}
maybeAppendWhere("lower(stay) >= $%d", f.FromDate.Val, nil) maybeAppendWhere("lower(stay) >= $%d", f.FromDate.Val, nil)
maybeAppendWhere("lower(stay) <= $%d", f.ToDate.Val, nil) maybeAppendWhere("lower(stay) <= $%d", f.ToDate.Val, nil)
@ -360,6 +365,7 @@ type adminBookingForm struct {
*bookingForm *bookingForm
ID int ID int
URL string URL string
Status string
Campsites []*CampsiteEntry Campsites []*CampsiteEntry
selected []int selected []int
Months []*Month Months []*Month
@ -626,6 +632,7 @@ func (f *adminBookingForm) FillFromDatabase(ctx context.Context, conn *database.
row := conn.QueryRow(ctx, ` row := conn.QueryRow(ctx, `
select booking_id select booking_id
, '/admin/bookings/' || booking.slug , '/admin/bookings/' || booking.slug
, booking_status
, array[campsite_type.slug::text] , array[campsite_type.slug::text]
, lower(booking.stay)::text , lower(booking.stay)::text
, upper(booking.stay)::text , upper(booking.stay)::text
@ -685,6 +692,7 @@ func (f *adminBookingForm) FillFromDatabase(ctx context.Context, conn *database.
if err := row.Scan( if err := row.Scan(
&f.ID, &f.ID,
&f.URL, &f.URL,
&f.Status,
&f.CampsiteType.Selected, &f.CampsiteType.Selected,
&arrivalDate, &arrivalDate,
&departureDate, &departureDate,

67
pkg/booking/prebooking.go Normal file
View File

@ -0,0 +1,67 @@
package booking
import (
"net/http"
"dev.tandem.ws/tandem/camper/pkg/auth"
"dev.tandem.ws/tandem/camper/pkg/database"
httplib "dev.tandem.ws/tandem/camper/pkg/http"
"dev.tandem.ws/tandem/camper/pkg/template"
)
type PrebookingHandler struct {
}
func NewPrebookingHandler() *PrebookingHandler {
return &PrebookingHandler{}
}
func (h *PrebookingHandler) Handler(user *auth.User, company *auth.Company, conn *database.Conn) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
var head string
head, r.URL.Path = httplib.ShiftPath(r.URL.Path)
switch head {
case "":
switch r.Method {
case http.MethodGet:
servePrebookingIndex(w, r, user, company, conn)
default:
httplib.MethodNotAllowed(w, r, http.MethodGet)
}
default:
http.NotFound(w, r)
}
})
}
func servePrebookingIndex(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) {
filters := newFilterForm(r.Context(), conn, company, user.Locale)
if err := filters.Parse(r); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
filters.BookingStatus.Selected = []string{"created"}
bookings, err := collectBookingEntries(r.Context(), conn, user.Locale.Language, filters)
if err != nil {
panic(err)
}
page := &prebookingIndex{
Bookings: filters.buildCursor(bookings),
Filters: filters,
}
page.MustRender(w, r, user, company)
}
type prebookingIndex struct {
Bookings []*bookingEntry
Filters *filterForm
}
func (page prebookingIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) {
if httplib.IsHTMxRequest(r) && page.Filters.pagination {
template.MustRenderAdminNoLayout(w, r, user, company, "prebooking/results.gohtml", page)
} else {
template.MustRenderAdminFiles(w, r, user, company, page, "prebooking/index.gohtml", "prebooking/results.gohtml")
}
}

216
po/ca.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: camper\n" "Project-Id-Version: camper\n"
"Report-Msgid-Bugs-To: jordi@tandem.blog\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n"
"POT-Creation-Date: 2024-04-28 22:32+0200\n" "POT-Creation-Date: 2024-05-03 00:56+0200\n"
"PO-Revision-Date: 2024-02-06 10:04+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n"
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n" "Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
"Language-Team: Catalan <ca@dodds.net>\n" "Language-Team: Catalan <ca@dodds.net>\n"
@ -80,7 +80,8 @@ msgstr "Pagament"
#: web/templates/mail/payment/details.gotxt:9 #: web/templates/mail/payment/details.gotxt:9
#: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/index.gohtml:21
#: web/templates/admin/payment/details.gohtml:52 #: web/templates/admin/payment/details.gohtml:52
#: web/templates/admin/booking/index.gohtml:21 #: web/templates/admin/prebooking/index.gohtml:59
#: web/templates/admin/booking/index.gohtml:73
msgctxt "header" msgctxt "header"
msgid "Reference" msgid "Reference"
msgstr "Referència" msgstr "Referència"
@ -88,7 +89,7 @@ msgstr "Referència"
#: web/templates/mail/payment/details.gotxt:10 #: web/templates/mail/payment/details.gotxt:10
#: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/index.gohtml:22
#: web/templates/admin/payment/details.gohtml:56 #: web/templates/admin/payment/details.gohtml:56
#: web/templates/admin/booking/index.gohtml:25 #: web/templates/admin/booking/index.gohtml:77
msgctxt "header" msgctxt "header"
msgid "Status" msgid "Status"
msgstr "Estat" msgstr "Estat"
@ -178,7 +179,7 @@ msgstr "Nits"
#: web/templates/mail/payment/details.gotxt:22 #: web/templates/mail/payment/details.gotxt:22
#: web/templates/public/booking/fields.gohtml:60 #: web/templates/public/booking/fields.gohtml:60
#: web/templates/admin/payment/details.gohtml:98 #: web/templates/admin/payment/details.gohtml:98
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 #: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
msgctxt "input" msgctxt "input"
msgid "Adults aged 17 or older" msgid "Adults aged 17 or older"
msgstr "Adults de 17 anys o més" msgstr "Adults de 17 anys o més"
@ -186,7 +187,7 @@ msgstr "Adults de 17 anys o més"
#: web/templates/mail/payment/details.gotxt:23 #: web/templates/mail/payment/details.gotxt:23
#: web/templates/public/booking/fields.gohtml:71 #: web/templates/public/booking/fields.gohtml:71
#: web/templates/admin/payment/details.gohtml:102 #: web/templates/admin/payment/details.gohtml:102
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 #: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
msgctxt "input" msgctxt "input"
msgid "Teenagers from 11 to 16 years old" msgid "Teenagers from 11 to 16 years old"
msgstr "Adolescents dentre 11 i 16 anys" msgstr "Adolescents dentre 11 i 16 anys"
@ -194,7 +195,7 @@ msgstr "Adolescents dentre 11 i 16 anys"
#: web/templates/mail/payment/details.gotxt:24 #: web/templates/mail/payment/details.gotxt:24
#: web/templates/public/booking/fields.gohtml:82 #: web/templates/public/booking/fields.gohtml:82
#: web/templates/admin/payment/details.gohtml:106 #: web/templates/admin/payment/details.gohtml:106
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 #: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
msgctxt "input" msgctxt "input"
msgid "Children from 2 to 10 years old" msgid "Children from 2 to 10 years old"
msgstr "Nens dentre 2 i 10 anys" msgstr "Nens dentre 2 i 10 anys"
@ -202,14 +203,14 @@ msgstr "Nens dentre 2 i 10 anys"
#: web/templates/mail/payment/details.gotxt:25 #: web/templates/mail/payment/details.gotxt:25
#: web/templates/public/booking/fields.gohtml:100 #: web/templates/public/booking/fields.gohtml:100
#: web/templates/admin/payment/details.gohtml:110 #: web/templates/admin/payment/details.gohtml:110
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 #: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
msgctxt "input" msgctxt "input"
msgid "Dogs" msgid "Dogs"
msgstr "Gossos" msgstr "Gossos"
#: web/templates/mail/payment/details.gotxt:26 #: web/templates/mail/payment/details.gotxt:26
#: web/templates/admin/payment/details.gohtml:114 #: web/templates/admin/payment/details.gohtml:114
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 #: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
#: pkg/booking/cart.go:242 #: pkg/booking/cart.go:242
msgctxt "cart" msgctxt "cart"
msgid "Tourist tax" msgid "Tourist tax"
@ -945,7 +946,7 @@ msgstr "Menú"
#: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/form.gohtml:16
#: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/option/index.gohtml:10
#: web/templates/admin/campsite/type/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10
#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 #: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104
#: web/templates/admin/booking/fields.gohtml:266 #: web/templates/admin/booking/fields.gohtml:266
msgctxt "title" msgctxt "title"
msgid "Campsites" msgid "Campsites"
@ -1217,7 +1218,7 @@ msgstr "Contingut"
#: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/amenity/form.gohtml:91
#: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/home/index.gohtml:34
#: web/templates/admin/media/form.gohtml:39 #: web/templates/admin/media/form.gohtml:39
#: web/templates/admin/booking/form.gohtml:48 #: web/templates/admin/booking/form.gohtml:52
msgctxt "action" msgctxt "action"
msgid "Update" msgid "Update"
msgstr "Actualitza" msgstr "Actualitza"
@ -1238,7 +1239,7 @@ msgstr "Actualitza"
#: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/feature/form.gohtml:67
#: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/carousel/form.gohtml:52
#: web/templates/admin/amenity/form.gohtml:93 #: web/templates/admin/amenity/form.gohtml:93
#: web/templates/admin/booking/form.gohtml:50 #: web/templates/admin/booking/form.gohtml:54
msgctxt "action" msgctxt "action"
msgid "Add" msgid "Add"
msgstr "Afegeix" msgstr "Afegeix"
@ -1906,7 +1907,7 @@ msgid "Phone (optional)"
msgstr "Telèfon (opcional)" msgstr "Telèfon (opcional)"
#: web/templates/admin/customer/index.gohtml:6 #: web/templates/admin/customer/index.gohtml:6
#: web/templates/admin/layout.gohtml:95 #: web/templates/admin/layout.gohtml:98
msgctxt "title" msgctxt "title"
msgid "Customers" msgid "Customers"
msgstr "Clients" msgstr "Clients"
@ -1976,7 +1977,7 @@ msgstr "Nova factura"
#: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/form.gohtml:15
#: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/index.gohtml:2
#: web/templates/admin/invoice/view.gohtml:6 #: web/templates/admin/invoice/view.gohtml:6
#: web/templates/admin/layout.gohtml:98 #: web/templates/admin/layout.gohtml:101
msgctxt "title" msgctxt "title"
msgid "Invoices" msgid "Invoices"
msgstr "Factures" msgstr "Factures"
@ -2047,15 +2048,20 @@ msgid "All customers"
msgstr "Tots els clients" msgstr "Tots els clients"
#: web/templates/admin/invoice/index.gohtml:55 #: web/templates/admin/invoice/index.gohtml:55
#: web/templates/admin/booking/index.gohtml:38
msgid "All statuses" msgid "All statuses"
msgstr "Tots els estats" msgstr "Tots els estats"
#: web/templates/admin/invoice/index.gohtml:63 #: web/templates/admin/invoice/index.gohtml:63
#: web/templates/admin/prebooking/index.gohtml:32
#: web/templates/admin/booking/index.gohtml:46
msgctxt "input" msgctxt "input"
msgid "From date" msgid "From date"
msgstr "De la data" msgstr "De la data"
#: web/templates/admin/invoice/index.gohtml:72 #: web/templates/admin/invoice/index.gohtml:72
#: web/templates/admin/prebooking/index.gohtml:41
#: web/templates/admin/booking/index.gohtml:55
msgctxt "input" msgctxt "input"
msgid "To date" msgid "To date"
msgstr "A la data" msgstr "A la data"
@ -2071,6 +2077,8 @@ msgid "Filter"
msgstr "Filtra" msgstr "Filtra"
#: web/templates/admin/invoice/index.gohtml:94 #: web/templates/admin/invoice/index.gohtml:94
#: web/templates/admin/prebooking/index.gohtml:51
#: web/templates/admin/booking/index.gohtml:65
msgctxt "action" msgctxt "action"
msgid "Reset" msgid "Reset"
msgstr "Restableix" msgstr "Restableix"
@ -2163,6 +2171,57 @@ msgctxt "title"
msgid "Tax Base" msgid "Tax Base"
msgstr "Base imposable" msgstr "Base imposable"
#: web/templates/admin/prebooking/index.gohtml:6
#: web/templates/admin/layout.gohtml:92
#: web/templates/admin/booking/form.gohtml:20
msgctxt "title"
msgid "Prebookings"
msgstr "Pre-reserves"
#: web/templates/admin/prebooking/index.gohtml:23
#: web/templates/admin/booking/index.gohtml:25
msgctxt "input"
msgid "Holder name"
msgstr "Nom del titular"
#: web/templates/admin/prebooking/index.gohtml:54
#: web/templates/admin/layout.gohtml:95
#: web/templates/admin/booking/form.gohtml:22
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:68
msgctxt "title"
msgid "Bookings"
msgstr "Reserves"
#: web/templates/admin/prebooking/index.gohtml:60
#: web/templates/admin/booking/index.gohtml:74
msgctxt "header"
msgid "Arrival Date"
msgstr "Data darribada"
#: web/templates/admin/prebooking/index.gohtml:61
#: web/templates/admin/booking/index.gohtml:75
msgctxt "header"
msgid "Departure Date"
msgstr "Data de sortida"
#: web/templates/admin/prebooking/index.gohtml:62
#: web/templates/admin/booking/index.gohtml:76
msgctxt "header"
msgid "Holder Name"
msgstr "Nom del titular"
#: web/templates/admin/prebooking/index.gohtml:70
msgid "No prebooking found."
msgstr "No sha trobat cap pre-reserva."
#: web/templates/admin/prebooking/results.gohtml:20
#: web/templates/admin/booking/results.gohtml:23
msgctxt "action"
msgid "Load more"
msgstr "Carregan més"
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
msgctxt "title" msgctxt "title"
msgid "Login" msgid "Login"
@ -2527,20 +2586,11 @@ msgctxt "action"
msgid "Logout" msgid "Logout"
msgstr "Surt" msgstr "Surt"
#: web/templates/admin/layout.gohtml:92 #: web/templates/admin/layout.gohtml:110
#: web/templates/admin/booking/form.gohtml:19
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:16
msgctxt "title"
msgid "Bookings"
msgstr "Reserves"
#: web/templates/admin/layout.gohtml:107
msgid "Breadcrumb" msgid "Breadcrumb"
msgstr "Fil dAriadna" msgstr "Fil dAriadna"
#: web/templates/admin/layout.gohtml:119 #: web/templates/admin/layout.gohtml:122
msgid "Camper Version: %s" msgid "Camper Version: %s"
msgstr "Camper versió: %s" msgstr "Camper versió: %s"
@ -2651,7 +2701,7 @@ msgctxt "header"
msgid "Decription" msgid "Decription"
msgstr "Descripció" msgstr "Descripció"
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 #: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
#: pkg/booking/cart.go:232 #: pkg/booking/cart.go:232
msgctxt "cart" msgctxt "cart"
msgid "Night" msgid "Night"
@ -2688,12 +2738,12 @@ msgctxt "title"
msgid "New Booking" msgid "New Booking"
msgstr "Nova reserva" msgstr "Nova reserva"
#: web/templates/admin/booking/form.gohtml:25 #: web/templates/admin/booking/form.gohtml:30
msgctxt "action" msgctxt "action"
msgid "Check-in Booking" msgid "Check-in Booking"
msgstr "Registra la reserva" msgstr "Registra la reserva"
#: web/templates/admin/booking/form.gohtml:28 #: web/templates/admin/booking/form.gohtml:31
msgctxt "action" msgctxt "action"
msgid "Invoice Booking" msgid "Invoice Booking"
msgstr "Factura la reserva" msgstr "Factura la reserva"
@ -2728,22 +2778,12 @@ msgctxt "action"
msgid "Export Bookings" msgid "Export Bookings"
msgstr "Exporta reserves" msgstr "Exporta reserves"
#: web/templates/admin/booking/index.gohtml:22 #: web/templates/admin/booking/index.gohtml:34
msgctxt "header" msgctxt "input"
msgid "Arrival Date" msgid "Booking status"
msgstr "Data darribada" msgstr "Estat de la reserva"
#: web/templates/admin/booking/index.gohtml:23 #: web/templates/admin/booking/index.gohtml:85
msgctxt "header"
msgid "Departure Date"
msgstr "Data de sortida"
#: web/templates/admin/booking/index.gohtml:24
msgctxt "header"
msgid "Holder Name"
msgstr "Nom del titular"
#: web/templates/admin/booking/index.gohtml:41
msgid "No booking found." msgid "No booking found."
msgstr "No sha trobat cap reserva." msgstr "No sha trobat cap reserva."
@ -2843,7 +2883,7 @@ msgctxt "order product name"
msgid "Campsite Booking" msgid "Campsite Booking"
msgstr "Reserva de càmping" msgstr "Reserva de càmping"
#: pkg/payment/public.go:374 #: pkg/payment/public.go:378
msgctxt "subject" msgctxt "subject"
msgid "Booking payment successfully received" msgid "Booking payment successfully received"
msgstr "Rebut amb èxit el pagament de la reserva" msgstr "Rebut amb èxit el pagament de la reserva"
@ -2851,7 +2891,7 @@ msgstr "Rebut amb èxit el pagament de la reserva"
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411
#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 #: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
#: pkg/amenity/admin.go:283 #: pkg/amenity/admin.go:283
msgid "Name can not be empty." msgid "Name can not be empty."
@ -2893,7 +2933,7 @@ msgid "Email can not be empty."
msgstr "No podeu deixar el correu-e en blanc." msgstr "No podeu deixar el correu-e en blanc."
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345 #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 #: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593
msgid "This email is not valid. It should be like name@domain.com." 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." msgstr "Aquest correu-e no és vàlid. Hauria de ser similar a nom@domini.com."
@ -2922,7 +2962,7 @@ msgstr "Lidioma escollit no és vàlid."
msgid "File must be a valid PNG or JPEG image." msgid "File must be a valid PNG or JPEG image."
msgstr "El fitxer has de ser una imatge PNG o JPEG vàlida." msgstr "El fitxer has de ser una imatge PNG o JPEG vàlida."
#: pkg/app/admin.go:79 #: pkg/app/admin.go:81
msgid "Access forbidden" msgid "Access forbidden"
msgstr "Accés prohibit" msgstr "Accés prohibit"
@ -2950,15 +2990,15 @@ msgstr "El valor del màxim ha de ser un número enter."
msgid "Maximum must be equal or greater than minimum." msgid "Maximum must be equal or greater than minimum."
msgstr "El valor del màxim ha de ser igual o superir al del mínim." msgstr "El valor del màxim ha de ser igual o superir al del mínim."
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 #: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
msgid "Price can not be empty." msgid "Price can not be empty."
msgstr "No podeu deixar el preu en blanc." msgstr "No podeu deixar el preu en blanc."
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 #: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
msgid "Price must be a decimal number." msgid "Price must be a decimal number."
msgstr "El preu ha de ser un número decimal." msgstr "El preu ha de ser un número decimal."
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 #: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
msgid "Price must be zero or greater." msgid "Price must be zero or greater."
msgstr "El preu ha de ser com a mínim zero." msgstr "El preu ha de ser com a mínim zero."
@ -3104,7 +3144,7 @@ msgctxt "header"
msgid "Children (aged 2 to 10)" msgid "Children (aged 2 to 10)"
msgstr "Mainada (entre 2 i 10 anys)" msgstr "Mainada (entre 2 i 10 anys)"
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 #: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177
#: pkg/booking/public.go:232 #: pkg/booking/public.go:232
msgid "Selected campsite type is not valid." msgid "Selected campsite type is not valid."
msgstr "El tipus dallotjament escollit no és vàlid." msgstr "El tipus dallotjament escollit no és vàlid."
@ -3143,25 +3183,25 @@ msgid "End date must be a valid date."
msgstr "La data de fi ha de ser una data vàlida." msgstr "La data de fi ha de ser una data vàlida."
#: pkg/customer/admin.go:326 pkg/company/admin.go:207 #: pkg/customer/admin.go:326 pkg/company/admin.go:207
#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 #: pkg/booking/checkin.go:300 pkg/booking/public.go:577
msgid "Selected country is not valid." msgid "Selected country is not valid."
msgstr "El país escollit no és vàlid." msgstr "El país escollit no és vàlid."
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 #: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
msgid "Selected ID document type is not valid." msgid "Selected ID document type is not valid."
msgstr "El tipus de document didentitat escollit no és vàlid." msgstr "El tipus de document didentitat escollit no és vàlid."
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 #: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
msgid "ID document number can not be empty." msgid "ID document number can not be empty."
msgstr "No podeu deixar el número document didentitat en blanc." msgstr "No podeu deixar el número document didentitat en blanc."
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 #: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 #: pkg/booking/checkin.go:292 pkg/booking/admin.go:570
#: pkg/booking/public.go:581 #: pkg/booking/public.go:581
msgid "Full name can not be empty." msgid "Full name can not be empty."
msgstr "No podeu deixar el nom i els cognoms en blanc." msgstr "No podeu deixar el nom i els cognoms en blanc."
#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 #: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582
msgid "Full name must have at least one letter." msgid "Full name must have at least one letter."
msgstr "El nom i els cognoms han de tenir com a mínim una lletra." msgstr "El nom i els cognoms han de tenir com a mínim una lletra."
@ -3177,94 +3217,94 @@ msgstr "No podeu deixar la població en blanc."
msgid "Postcode can not be empty." msgid "Postcode can not be empty."
msgstr "No podeu deixar el codi postal en blanc." msgstr "No podeu deixar el codi postal en blanc."
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 #: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577
#: pkg/booking/public.go:588 #: pkg/booking/public.go:588
msgid "This postcode is not valid." msgid "This postcode is not valid."
msgstr "Aquest codi postal no és vàlid." msgstr "Aquest codi postal no és vàlid."
#: pkg/customer/admin.go:348 pkg/company/admin.go:220 #: pkg/customer/admin.go:348 pkg/company/admin.go:220
#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 #: pkg/booking/checkin.go:304 pkg/booking/admin.go:587
#: pkg/booking/public.go:596 #: pkg/booking/public.go:596
msgid "This phone number is not valid." msgid "This phone number is not valid."
msgstr "Aquest número de telèfon no és vàlid." msgstr "Aquest número de telèfon no és vàlid."
#: pkg/invoice/admin.go:681 #: pkg/invoice/admin.go:679
msgctxt "filename" msgctxt "filename"
msgid "invoices.zip" msgid "invoices.zip"
msgstr "factures.zip" msgstr "factures.zip"
#: pkg/invoice/admin.go:696 #: pkg/invoice/admin.go:694
msgctxt "filename" msgctxt "filename"
msgid "invoices.ods" msgid "invoices.ods"
msgstr "factures.ods" msgstr "factures.ods"
#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 #: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
msgid "Invalid action" msgid "Invalid action"
msgstr "Acció invàlida" msgstr "Acció invàlida"
#: pkg/invoice/admin.go:863 #: pkg/invoice/admin.go:861
msgid "Selected invoice status is not valid." msgid "Selected invoice status is not valid."
msgstr "Lestat de factura escollit no és vàlid." msgstr "Lestat de factura escollit no és vàlid."
#: pkg/invoice/admin.go:864 #: pkg/invoice/admin.go:862
msgid "Invoice date can not be empty." msgid "Invoice date can not be empty."
msgstr "No podeu deixar la data de factura en blanc." msgstr "No podeu deixar la data de factura en blanc."
#: pkg/invoice/admin.go:865 #: pkg/invoice/admin.go:863
msgid "Invoice date must be a valid date." msgid "Invoice date must be a valid date."
msgstr "La data de factura ha de ser una data vàlida." msgstr "La data de factura ha de ser una data vàlida."
#: pkg/invoice/admin.go:1023 #: pkg/invoice/admin.go:1021
#, c-format #, c-format
msgid "Re: booking #%s of %s%s" msgid "Re: booking #%s of %s%s"
msgstr "Ref: reserva núm. %s del %s-%s" msgstr "Ref: reserva núm. %s del %s-%s"
#: pkg/invoice/admin.go:1024 #: pkg/invoice/admin.go:1022
msgctxt "to_char" msgctxt "to_char"
msgid "MM/DD/YYYY" msgid "MM/DD/YYYY"
msgstr "DD/MM/YYYY" msgstr "DD/MM/YYYY"
#: pkg/invoice/admin.go:1151 #: pkg/invoice/admin.go:1149
msgid "Invoice product ID must be an integer." msgid "Invoice product ID must be an integer."
msgstr "LID de producte de factura ha de ser enter." msgstr "LID de producte de factura ha de ser enter."
#: pkg/invoice/admin.go:1152 #: pkg/invoice/admin.go:1150
msgid "Invoice product ID one or greater." msgid "Invoice product ID one or greater."
msgstr "LID de producte de factura ha de ser com a mínim u." msgstr "LID de producte de factura ha de ser com a mínim u."
#: pkg/invoice/admin.go:1156 #: pkg/invoice/admin.go:1154
msgid "Product ID must be an integer." msgid "Product ID must be an integer."
msgstr "LID de producte ha de ser un número enter." msgstr "LID de producte ha de ser un número enter."
#: pkg/invoice/admin.go:1157 #: pkg/invoice/admin.go:1155
msgid "Product ID must zero or greater." msgid "Product ID must zero or greater."
msgstr "LID de producte ha de ser com a mínim zero." msgstr "LID de producte ha de ser com a mínim zero."
#: pkg/invoice/admin.go:1166 #: pkg/invoice/admin.go:1164
msgid "Quantity can not be empty." msgid "Quantity can not be empty."
msgstr "No podeu deixar la quantitat en blanc." msgstr "No podeu deixar la quantitat en blanc."
#: pkg/invoice/admin.go:1167 #: pkg/invoice/admin.go:1165
msgid "Quantity must be an integer." msgid "Quantity must be an integer."
msgstr "La quantitat ha de ser un número enter." msgstr "La quantitat ha de ser un número enter."
#: pkg/invoice/admin.go:1168 #: pkg/invoice/admin.go:1166
msgid "Quantity must one or greater." msgid "Quantity must one or greater."
msgstr "La quantitat ha de ser com a mínim u." msgstr "La quantitat ha de ser com a mínim u."
#: pkg/invoice/admin.go:1171 #: pkg/invoice/admin.go:1169
msgid "Discount can not be empty." msgid "Discount can not be empty."
msgstr "No podeu deixar el descompte en blanc." msgstr "No podeu deixar el descompte en blanc."
#: pkg/invoice/admin.go:1172 #: pkg/invoice/admin.go:1170
msgid "Discount must be an integer." msgid "Discount must be an integer."
msgstr "El descompte ha de ser un número enter." msgstr "El descompte ha de ser un número enter."
#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 #: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
msgid "Discount must be a percentage between 0 and 100." msgid "Discount must be a percentage between 0 and 100."
msgstr "El descompte ha de ser un percentatge entre 0 i 100" msgstr "El descompte ha de ser un percentatge entre 0 i 100"
#: pkg/invoice/admin.go:1178 #: pkg/invoice/admin.go:1176
msgid "Selected tax is not valid." msgid "Selected tax is not valid."
msgstr "Limpost escollit no és vàlid." msgstr "Limpost escollit no és vàlid."
@ -3403,27 +3443,27 @@ msgstr "No podeu deixar el fitxer del mèdia en blanc."
msgid "Filename can not be empty." msgid "Filename can not be empty."
msgstr "No podeu deixar el nom del fitxer en blanc." msgstr "No podeu deixar el nom del fitxer en blanc."
#: pkg/booking/checkin.go:284 #: pkg/booking/checkin.go:287
msgid "ID document issue date must be a valid date." msgid "ID document issue date must be a valid date."
msgstr "La data dexpedició del document didentitat ha de ser una data vàlida." msgstr "La data dexpedició del document didentitat ha de ser una data vàlida."
#: pkg/booking/checkin.go:285 #: pkg/booking/checkin.go:288
msgid "ID document issue date must be in the past." msgid "ID document issue date must be in the past."
msgstr "La data dexpedició del document didentitat ha de ser al passat." msgstr "La data dexpedició del document didentitat ha de ser al passat."
#: pkg/booking/checkin.go:290 #: pkg/booking/checkin.go:293
msgid "Selected sex is not valid." msgid "Selected sex is not valid."
msgstr "El sexe escollit no és vàlid." msgstr "El sexe escollit no és vàlid."
#: pkg/booking/checkin.go:291 #: pkg/booking/checkin.go:294
msgid "Birthdate can not be empty" msgid "Birthdate can not be empty"
msgstr "No podeu deixar la data de naixement en blanc." msgstr "No podeu deixar la data de naixement en blanc."
#: pkg/booking/checkin.go:292 #: pkg/booking/checkin.go:295
msgid "Birthdate must be a valid date." msgid "Birthdate must be a valid date."
msgstr "La data de naixement ha de ser una data vàlida." msgstr "La data de naixement ha de ser una data vàlida."
#: pkg/booking/checkin.go:293 #: pkg/booking/checkin.go:296
msgid "Birthdate must be in the past." msgid "Birthdate must be in the past."
msgstr "La data de naixement ha de ser al passat." msgstr "La data de naixement ha de ser al passat."
@ -3447,24 +3487,24 @@ msgctxt "cart"
msgid "Dog" msgid "Dog"
msgstr "Gos" msgstr "Gos"
#: pkg/booking/admin.go:218 #: pkg/booking/admin.go:236
msgctxt "filename" msgctxt "filename"
msgid "bookings.ods" msgid "bookings.ods"
msgstr "reserves.ods" msgstr "reserves.ods"
#: pkg/booking/admin.go:435 #: pkg/booking/admin.go:576
msgid "Country can not be empty to validate the postcode." msgid "Country can not be empty to validate the postcode."
msgstr "No podeu deixar el país en blanc per validar el codi postal." msgstr "No podeu deixar el país en blanc per validar el codi postal."
#: pkg/booking/admin.go:445 #: pkg/booking/admin.go:586
msgid "Country can not be empty to validate the phone." msgid "Country can not be empty to validate the phone."
msgstr "No podeu deixar el país en blanc per validar el telèfon." msgstr "No podeu deixar el país en blanc per validar el telèfon."
#: pkg/booking/admin.go:452 #: pkg/booking/admin.go:593
msgid "You must select at least one accommodation." msgid "You must select at least one accommodation."
msgstr "Heu descollir com a mínim un allotjament." msgstr "Heu descollir com a mínim un allotjament."
#: pkg/booking/admin.go:458 #: pkg/booking/admin.go:599
msgid "The selected accommodations have no available openings in the requested dates." msgid "The selected accommodations have no available openings in the requested dates."
msgstr "Els allotjaments escollits no estan disponibles a les dates demanades." msgstr "Els allotjaments escollits no estan disponibles a les dates demanades."

216
po/es.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: camper\n" "Project-Id-Version: camper\n"
"Report-Msgid-Bugs-To: jordi@tandem.blog\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n"
"POT-Creation-Date: 2024-04-28 22:32+0200\n" "POT-Creation-Date: 2024-05-03 00:56+0200\n"
"PO-Revision-Date: 2024-02-06 10:04+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n"
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n" "Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
"Language-Team: Spanish <es@tp.org.es>\n" "Language-Team: Spanish <es@tp.org.es>\n"
@ -80,7 +80,8 @@ msgstr "Pago"
#: web/templates/mail/payment/details.gotxt:9 #: web/templates/mail/payment/details.gotxt:9
#: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/index.gohtml:21
#: web/templates/admin/payment/details.gohtml:52 #: web/templates/admin/payment/details.gohtml:52
#: web/templates/admin/booking/index.gohtml:21 #: web/templates/admin/prebooking/index.gohtml:59
#: web/templates/admin/booking/index.gohtml:73
msgctxt "header" msgctxt "header"
msgid "Reference" msgid "Reference"
msgstr "Referencia" msgstr "Referencia"
@ -88,7 +89,7 @@ msgstr "Referencia"
#: web/templates/mail/payment/details.gotxt:10 #: web/templates/mail/payment/details.gotxt:10
#: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/index.gohtml:22
#: web/templates/admin/payment/details.gohtml:56 #: web/templates/admin/payment/details.gohtml:56
#: web/templates/admin/booking/index.gohtml:25 #: web/templates/admin/booking/index.gohtml:77
msgctxt "header" msgctxt "header"
msgid "Status" msgid "Status"
msgstr "Estado" msgstr "Estado"
@ -178,7 +179,7 @@ msgstr "Noches"
#: web/templates/mail/payment/details.gotxt:22 #: web/templates/mail/payment/details.gotxt:22
#: web/templates/public/booking/fields.gohtml:60 #: web/templates/public/booking/fields.gohtml:60
#: web/templates/admin/payment/details.gohtml:98 #: web/templates/admin/payment/details.gohtml:98
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 #: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
msgctxt "input" msgctxt "input"
msgid "Adults aged 17 or older" msgid "Adults aged 17 or older"
msgstr "Adultos de 17 años o más" msgstr "Adultos de 17 años o más"
@ -186,7 +187,7 @@ msgstr "Adultos de 17 años o más"
#: web/templates/mail/payment/details.gotxt:23 #: web/templates/mail/payment/details.gotxt:23
#: web/templates/public/booking/fields.gohtml:71 #: web/templates/public/booking/fields.gohtml:71
#: web/templates/admin/payment/details.gohtml:102 #: web/templates/admin/payment/details.gohtml:102
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 #: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
msgctxt "input" msgctxt "input"
msgid "Teenagers from 11 to 16 years old" msgid "Teenagers from 11 to 16 years old"
msgstr "Adolescentes de 11 a 16 años" msgstr "Adolescentes de 11 a 16 años"
@ -194,7 +195,7 @@ msgstr "Adolescentes de 11 a 16 años"
#: web/templates/mail/payment/details.gotxt:24 #: web/templates/mail/payment/details.gotxt:24
#: web/templates/public/booking/fields.gohtml:82 #: web/templates/public/booking/fields.gohtml:82
#: web/templates/admin/payment/details.gohtml:106 #: web/templates/admin/payment/details.gohtml:106
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 #: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
msgctxt "input" msgctxt "input"
msgid "Children from 2 to 10 years old" msgid "Children from 2 to 10 years old"
msgstr "Niños de 2 a 10 años" msgstr "Niños de 2 a 10 años"
@ -202,14 +203,14 @@ msgstr "Niños de 2 a 10 años"
#: web/templates/mail/payment/details.gotxt:25 #: web/templates/mail/payment/details.gotxt:25
#: web/templates/public/booking/fields.gohtml:100 #: web/templates/public/booking/fields.gohtml:100
#: web/templates/admin/payment/details.gohtml:110 #: web/templates/admin/payment/details.gohtml:110
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 #: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
msgctxt "input" msgctxt "input"
msgid "Dogs" msgid "Dogs"
msgstr "Perros" msgstr "Perros"
#: web/templates/mail/payment/details.gotxt:26 #: web/templates/mail/payment/details.gotxt:26
#: web/templates/admin/payment/details.gohtml:114 #: web/templates/admin/payment/details.gohtml:114
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 #: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
#: pkg/booking/cart.go:242 #: pkg/booking/cart.go:242
msgctxt "cart" msgctxt "cart"
msgid "Tourist tax" msgid "Tourist tax"
@ -945,7 +946,7 @@ msgstr "Menú"
#: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/form.gohtml:16
#: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/option/index.gohtml:10
#: web/templates/admin/campsite/type/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10
#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 #: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104
#: web/templates/admin/booking/fields.gohtml:266 #: web/templates/admin/booking/fields.gohtml:266
msgctxt "title" msgctxt "title"
msgid "Campsites" msgid "Campsites"
@ -1217,7 +1218,7 @@ msgstr "Contenido"
#: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/amenity/form.gohtml:91
#: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/home/index.gohtml:34
#: web/templates/admin/media/form.gohtml:39 #: web/templates/admin/media/form.gohtml:39
#: web/templates/admin/booking/form.gohtml:48 #: web/templates/admin/booking/form.gohtml:52
msgctxt "action" msgctxt "action"
msgid "Update" msgid "Update"
msgstr "Actualizar" msgstr "Actualizar"
@ -1238,7 +1239,7 @@ msgstr "Actualizar"
#: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/feature/form.gohtml:67
#: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/carousel/form.gohtml:52
#: web/templates/admin/amenity/form.gohtml:93 #: web/templates/admin/amenity/form.gohtml:93
#: web/templates/admin/booking/form.gohtml:50 #: web/templates/admin/booking/form.gohtml:54
msgctxt "action" msgctxt "action"
msgid "Add" msgid "Add"
msgstr "Añadir" msgstr "Añadir"
@ -1906,7 +1907,7 @@ msgid "Phone (optional)"
msgstr "Teléfono (opcional)" msgstr "Teléfono (opcional)"
#: web/templates/admin/customer/index.gohtml:6 #: web/templates/admin/customer/index.gohtml:6
#: web/templates/admin/layout.gohtml:95 #: web/templates/admin/layout.gohtml:98
msgctxt "title" msgctxt "title"
msgid "Customers" msgid "Customers"
msgstr "Clientes" msgstr "Clientes"
@ -1976,7 +1977,7 @@ msgstr "Nueva factura"
#: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/form.gohtml:15
#: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/index.gohtml:2
#: web/templates/admin/invoice/view.gohtml:6 #: web/templates/admin/invoice/view.gohtml:6
#: web/templates/admin/layout.gohtml:98 #: web/templates/admin/layout.gohtml:101
msgctxt "title" msgctxt "title"
msgid "Invoices" msgid "Invoices"
msgstr "Facturas" msgstr "Facturas"
@ -2047,15 +2048,20 @@ msgid "All customers"
msgstr "Todos los clientes" msgstr "Todos los clientes"
#: web/templates/admin/invoice/index.gohtml:55 #: web/templates/admin/invoice/index.gohtml:55
#: web/templates/admin/booking/index.gohtml:38
msgid "All statuses" msgid "All statuses"
msgstr "Todos los estados" msgstr "Todos los estados"
#: web/templates/admin/invoice/index.gohtml:63 #: web/templates/admin/invoice/index.gohtml:63
#: web/templates/admin/prebooking/index.gohtml:32
#: web/templates/admin/booking/index.gohtml:46
msgctxt "input" msgctxt "input"
msgid "From date" msgid "From date"
msgstr "De la fecha" msgstr "De la fecha"
#: web/templates/admin/invoice/index.gohtml:72 #: web/templates/admin/invoice/index.gohtml:72
#: web/templates/admin/prebooking/index.gohtml:41
#: web/templates/admin/booking/index.gohtml:55
msgctxt "input" msgctxt "input"
msgid "To date" msgid "To date"
msgstr "A la fecha" msgstr "A la fecha"
@ -2071,6 +2077,8 @@ msgid "Filter"
msgstr "Filtrar" msgstr "Filtrar"
#: web/templates/admin/invoice/index.gohtml:94 #: web/templates/admin/invoice/index.gohtml:94
#: web/templates/admin/prebooking/index.gohtml:51
#: web/templates/admin/booking/index.gohtml:65
msgctxt "action" msgctxt "action"
msgid "Reset" msgid "Reset"
msgstr "Restablecer" msgstr "Restablecer"
@ -2163,6 +2171,57 @@ msgctxt "title"
msgid "Tax Base" msgid "Tax Base"
msgstr "Base imponible" msgstr "Base imponible"
#: web/templates/admin/prebooking/index.gohtml:6
#: web/templates/admin/layout.gohtml:92
#: web/templates/admin/booking/form.gohtml:20
msgctxt "title"
msgid "Prebookings"
msgstr "Prereservas"
#: web/templates/admin/prebooking/index.gohtml:23
#: web/templates/admin/booking/index.gohtml:25
msgctxt "input"
msgid "Holder name"
msgstr "Nombre del titular"
#: web/templates/admin/prebooking/index.gohtml:54
#: web/templates/admin/layout.gohtml:95
#: web/templates/admin/booking/form.gohtml:22
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:68
msgctxt "title"
msgid "Bookings"
msgstr "Reservas"
#: web/templates/admin/prebooking/index.gohtml:60
#: web/templates/admin/booking/index.gohtml:74
msgctxt "header"
msgid "Arrival Date"
msgstr "Fecha de llegada"
#: web/templates/admin/prebooking/index.gohtml:61
#: web/templates/admin/booking/index.gohtml:75
msgctxt "header"
msgid "Departure Date"
msgstr "Fecha de salida"
#: web/templates/admin/prebooking/index.gohtml:62
#: web/templates/admin/booking/index.gohtml:76
msgctxt "header"
msgid "Holder Name"
msgstr "Nombre del titular"
#: web/templates/admin/prebooking/index.gohtml:70
msgid "No prebooking found."
msgstr "No se ha encontrado ninguna prereserva."
#: web/templates/admin/prebooking/results.gohtml:20
#: web/templates/admin/booking/results.gohtml:23
msgctxt "action"
msgid "Load more"
msgstr "Cargar más"
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
msgctxt "title" msgctxt "title"
msgid "Login" msgid "Login"
@ -2527,20 +2586,11 @@ msgctxt "action"
msgid "Logout" msgid "Logout"
msgstr "Salir" msgstr "Salir"
#: web/templates/admin/layout.gohtml:92 #: web/templates/admin/layout.gohtml:110
#: web/templates/admin/booking/form.gohtml:19
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:16
msgctxt "title"
msgid "Bookings"
msgstr "Reservas"
#: web/templates/admin/layout.gohtml:107
msgid "Breadcrumb" msgid "Breadcrumb"
msgstr "Migas de pan" msgstr "Migas de pan"
#: web/templates/admin/layout.gohtml:119 #: web/templates/admin/layout.gohtml:122
msgid "Camper Version: %s" msgid "Camper Version: %s"
msgstr "Camper versión: %s" msgstr "Camper versión: %s"
@ -2651,7 +2701,7 @@ msgctxt "header"
msgid "Decription" msgid "Decription"
msgstr "Descripción" msgstr "Descripción"
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 #: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
#: pkg/booking/cart.go:232 #: pkg/booking/cart.go:232
msgctxt "cart" msgctxt "cart"
msgid "Night" msgid "Night"
@ -2688,12 +2738,12 @@ msgctxt "title"
msgid "New Booking" msgid "New Booking"
msgstr "Nueva reserva" msgstr "Nueva reserva"
#: web/templates/admin/booking/form.gohtml:25 #: web/templates/admin/booking/form.gohtml:30
msgctxt "action" msgctxt "action"
msgid "Check-in Booking" msgid "Check-in Booking"
msgstr "Registrar reserva" msgstr "Registrar reserva"
#: web/templates/admin/booking/form.gohtml:28 #: web/templates/admin/booking/form.gohtml:31
msgctxt "action" msgctxt "action"
msgid "Invoice Booking" msgid "Invoice Booking"
msgstr "Facturar la reserva" msgstr "Facturar la reserva"
@ -2728,22 +2778,12 @@ msgctxt "action"
msgid "Export Bookings" msgid "Export Bookings"
msgstr "Exportar reservas" msgstr "Exportar reservas"
#: web/templates/admin/booking/index.gohtml:22 #: web/templates/admin/booking/index.gohtml:34
msgctxt "header" msgctxt "input"
msgid "Arrival Date" msgid "Booking status"
msgstr "Fecha de llegada" msgstr "Estado de la reserva"
#: web/templates/admin/booking/index.gohtml:23 #: web/templates/admin/booking/index.gohtml:85
msgctxt "header"
msgid "Departure Date"
msgstr "Fecha de salida"
#: web/templates/admin/booking/index.gohtml:24
msgctxt "header"
msgid "Holder Name"
msgstr "Nombre del titular"
#: web/templates/admin/booking/index.gohtml:41
msgid "No booking found." msgid "No booking found."
msgstr "No se ha encontrado ninguna reserva." msgstr "No se ha encontrado ninguna reserva."
@ -2843,7 +2883,7 @@ msgctxt "order product name"
msgid "Campsite Booking" msgid "Campsite Booking"
msgstr "Reserva de camping" msgstr "Reserva de camping"
#: pkg/payment/public.go:374 #: pkg/payment/public.go:378
msgctxt "subject" msgctxt "subject"
msgid "Booking payment successfully received" msgid "Booking payment successfully received"
msgstr "Se ha recibido correctamente el pago de la reserva" msgstr "Se ha recibido correctamente el pago de la reserva"
@ -2851,7 +2891,7 @@ msgstr "Se ha recibido correctamente el pago de la reserva"
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411
#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 #: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
#: pkg/amenity/admin.go:283 #: pkg/amenity/admin.go:283
msgid "Name can not be empty." msgid "Name can not be empty."
@ -2893,7 +2933,7 @@ msgid "Email can not be empty."
msgstr "No podéis dejar el correo-e en blanco." msgstr "No podéis dejar el correo-e en blanco."
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345 #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 #: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593
msgid "This email is not valid. It should be like name@domain.com." 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." msgstr "Este correo-e no es válido. Tiene que ser parecido a nombre@dominio.com."
@ -2922,7 +2962,7 @@ msgstr "El idioma escogido no es válido."
msgid "File must be a valid PNG or JPEG image." msgid "File must be a valid PNG or JPEG image."
msgstr "El archivo tiene que ser una imagen PNG o JPEG válida." msgstr "El archivo tiene que ser una imagen PNG o JPEG válida."
#: pkg/app/admin.go:79 #: pkg/app/admin.go:81
msgid "Access forbidden" msgid "Access forbidden"
msgstr "Acceso prohibido" msgstr "Acceso prohibido"
@ -2950,15 +2990,15 @@ msgstr "El valor del máximo tiene que ser un número entero."
msgid "Maximum must be equal or greater than minimum." msgid "Maximum must be equal or greater than minimum."
msgstr "El valor del máximo tiene que ser igual o mayor al del mínimo." msgstr "El valor del máximo tiene que ser igual o mayor al del mínimo."
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 #: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
msgid "Price can not be empty." msgid "Price can not be empty."
msgstr "No podéis dejar el precio en blanco." msgstr "No podéis dejar el precio en blanco."
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 #: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
msgid "Price must be a decimal number." msgid "Price must be a decimal number."
msgstr "El precio tiene que ser un número decimal." msgstr "El precio tiene que ser un número decimal."
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 #: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
msgid "Price must be zero or greater." msgid "Price must be zero or greater."
msgstr "El precio tiene que ser como mínimo cero." msgstr "El precio tiene que ser como mínimo cero."
@ -3104,7 +3144,7 @@ msgctxt "header"
msgid "Children (aged 2 to 10)" msgid "Children (aged 2 to 10)"
msgstr "Niños (de 2 a 10 años)" msgstr "Niños (de 2 a 10 años)"
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 #: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177
#: pkg/booking/public.go:232 #: pkg/booking/public.go:232
msgid "Selected campsite type is not valid." msgid "Selected campsite type is not valid."
msgstr "El tipo de alojamiento escogido no es válido." msgstr "El tipo de alojamiento escogido no es válido."
@ -3143,25 +3183,25 @@ msgid "End date must be a valid date."
msgstr "La fecha final tiene que ser una fecha válida." msgstr "La fecha final tiene que ser una fecha válida."
#: pkg/customer/admin.go:326 pkg/company/admin.go:207 #: pkg/customer/admin.go:326 pkg/company/admin.go:207
#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 #: pkg/booking/checkin.go:300 pkg/booking/public.go:577
msgid "Selected country is not valid." msgid "Selected country is not valid."
msgstr "El país escogido no es válido." msgstr "El país escogido no es válido."
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 #: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
msgid "Selected ID document type is not valid." msgid "Selected ID document type is not valid."
msgstr "El tipo de documento de identidad escogido no es válido." msgstr "El tipo de documento de identidad escogido no es válido."
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 #: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
msgid "ID document number can not be empty." msgid "ID document number can not be empty."
msgstr "No podéis dejar el número del documento de identidad en blanco." msgstr "No podéis dejar el número del documento de identidad en blanco."
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 #: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 #: pkg/booking/checkin.go:292 pkg/booking/admin.go:570
#: pkg/booking/public.go:581 #: pkg/booking/public.go:581
msgid "Full name can not be empty." msgid "Full name can not be empty."
msgstr "No podéis dejar el nombre y los apellidos en blanco." msgstr "No podéis dejar el nombre y los apellidos en blanco."
#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 #: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582
msgid "Full name must have at least one letter." msgid "Full name must have at least one letter."
msgstr "El nombre y los apellidos tienen que tener como mínimo una letra." msgstr "El nombre y los apellidos tienen que tener como mínimo una letra."
@ -3177,94 +3217,94 @@ msgstr "No podéis dejar la población en blanco."
msgid "Postcode can not be empty." msgid "Postcode can not be empty."
msgstr "No podéis dejar el código postal en blanco." msgstr "No podéis dejar el código postal en blanco."
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 #: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577
#: pkg/booking/public.go:588 #: pkg/booking/public.go:588
msgid "This postcode is not valid." msgid "This postcode is not valid."
msgstr "Este código postal no es válido." msgstr "Este código postal no es válido."
#: pkg/customer/admin.go:348 pkg/company/admin.go:220 #: pkg/customer/admin.go:348 pkg/company/admin.go:220
#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 #: pkg/booking/checkin.go:304 pkg/booking/admin.go:587
#: pkg/booking/public.go:596 #: pkg/booking/public.go:596
msgid "This phone number is not valid." msgid "This phone number is not valid."
msgstr "Este teléfono no es válido." msgstr "Este teléfono no es válido."
#: pkg/invoice/admin.go:681 #: pkg/invoice/admin.go:679
msgctxt "filename" msgctxt "filename"
msgid "invoices.zip" msgid "invoices.zip"
msgstr "facturas.zip" msgstr "facturas.zip"
#: pkg/invoice/admin.go:696 #: pkg/invoice/admin.go:694
msgctxt "filename" msgctxt "filename"
msgid "invoices.ods" msgid "invoices.ods"
msgstr "facturas.ods" msgstr "facturas.ods"
#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 #: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
msgid "Invalid action" msgid "Invalid action"
msgstr "Acción inválida" msgstr "Acción inválida"
#: pkg/invoice/admin.go:863 #: pkg/invoice/admin.go:861
msgid "Selected invoice status is not valid." msgid "Selected invoice status is not valid."
msgstr "El estado de factura escogida no es válido." msgstr "El estado de factura escogida no es válido."
#: pkg/invoice/admin.go:864 #: pkg/invoice/admin.go:862
msgid "Invoice date can not be empty." msgid "Invoice date can not be empty."
msgstr "No podéis dejar la fecha de factura en blanco." msgstr "No podéis dejar la fecha de factura en blanco."
#: pkg/invoice/admin.go:865 #: pkg/invoice/admin.go:863
msgid "Invoice date must be a valid date." msgid "Invoice date must be a valid date."
msgstr "La fecha de factura tiene que ser una fecha válida." msgstr "La fecha de factura tiene que ser una fecha válida."
#: pkg/invoice/admin.go:1023 #: pkg/invoice/admin.go:1021
#, c-format #, c-format
msgid "Re: booking #%s of %s%s" msgid "Re: booking #%s of %s%s"
msgstr "Ref.: reserva núm. %s del %s%s" msgstr "Ref.: reserva núm. %s del %s%s"
#: pkg/invoice/admin.go:1024 #: pkg/invoice/admin.go:1022
msgctxt "to_char" msgctxt "to_char"
msgid "MM/DD/YYYY" msgid "MM/DD/YYYY"
msgstr "DD/MM/YYYY" msgstr "DD/MM/YYYY"
#: pkg/invoice/admin.go:1151 #: pkg/invoice/admin.go:1149
msgid "Invoice product ID must be an integer." msgid "Invoice product ID must be an integer."
msgstr "El ID de producto de factura tiene que ser entero." msgstr "El ID de producto de factura tiene que ser entero."
#: pkg/invoice/admin.go:1152 #: pkg/invoice/admin.go:1150
msgid "Invoice product ID one or greater." msgid "Invoice product ID one or greater."
msgstr "El ID de producto de factura tiene que ser como mínimo uno." msgstr "El ID de producto de factura tiene que ser como mínimo uno."
#: pkg/invoice/admin.go:1156 #: pkg/invoice/admin.go:1154
msgid "Product ID must be an integer." msgid "Product ID must be an integer."
msgstr "El ID de producto tiene que ser un número entero." msgstr "El ID de producto tiene que ser un número entero."
#: pkg/invoice/admin.go:1157 #: pkg/invoice/admin.go:1155
msgid "Product ID must zero or greater." msgid "Product ID must zero or greater."
msgstr "El ID de producto tiene que ser como mínimo cero." msgstr "El ID de producto tiene que ser como mínimo cero."
#: pkg/invoice/admin.go:1166 #: pkg/invoice/admin.go:1164
msgid "Quantity can not be empty." msgid "Quantity can not be empty."
msgstr "No podéis dejar la cantidad en blanco." msgstr "No podéis dejar la cantidad en blanco."
#: pkg/invoice/admin.go:1167 #: pkg/invoice/admin.go:1165
msgid "Quantity must be an integer." msgid "Quantity must be an integer."
msgstr "La cantidad tiene que ser un número entero." msgstr "La cantidad tiene que ser un número entero."
#: pkg/invoice/admin.go:1168 #: pkg/invoice/admin.go:1166
msgid "Quantity must one or greater." msgid "Quantity must one or greater."
msgstr "La cantidad tiene que ser como mínimo uno." msgstr "La cantidad tiene que ser como mínimo uno."
#: pkg/invoice/admin.go:1171 #: pkg/invoice/admin.go:1169
msgid "Discount can not be empty." msgid "Discount can not be empty."
msgstr "No podéis dejar el descuento en blanco." msgstr "No podéis dejar el descuento en blanco."
#: pkg/invoice/admin.go:1172 #: pkg/invoice/admin.go:1170
msgid "Discount must be an integer." msgid "Discount must be an integer."
msgstr "El descuento tiene que ser un número entero." msgstr "El descuento tiene que ser un número entero."
#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 #: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
msgid "Discount must be a percentage between 0 and 100." msgid "Discount must be a percentage between 0 and 100."
msgstr "El descuento tiene que ser un porcentaje entre 1 y 100." msgstr "El descuento tiene que ser un porcentaje entre 1 y 100."
#: pkg/invoice/admin.go:1178 #: pkg/invoice/admin.go:1176
msgid "Selected tax is not valid." msgid "Selected tax is not valid."
msgstr "El impuesto escogido no es válido." msgstr "El impuesto escogido no es válido."
@ -3403,27 +3443,27 @@ msgstr "No podéis dejar el archivo del medio en blanco."
msgid "Filename can not be empty." msgid "Filename can not be empty."
msgstr "No podéis dejar el nombre del archivo en blanco." msgstr "No podéis dejar el nombre del archivo en blanco."
#: pkg/booking/checkin.go:284 #: pkg/booking/checkin.go:287
msgid "ID document issue date must be a valid date." msgid "ID document issue date must be a valid date."
msgstr "La fecha de expedición del documento de identidad tiene que ser una fecha válida." msgstr "La fecha de expedición del documento de identidad tiene que ser una fecha válida."
#: pkg/booking/checkin.go:285 #: pkg/booking/checkin.go:288
msgid "ID document issue date must be in the past." msgid "ID document issue date must be in the past."
msgstr "La fecha de expedición del documento de identidad tiene que ser del pasado." msgstr "La fecha de expedición del documento de identidad tiene que ser del pasado."
#: pkg/booking/checkin.go:290 #: pkg/booking/checkin.go:293
msgid "Selected sex is not valid." msgid "Selected sex is not valid."
msgstr "El sexo escogido no es válido." msgstr "El sexo escogido no es válido."
#: pkg/booking/checkin.go:291 #: pkg/booking/checkin.go:294
msgid "Birthdate can not be empty" msgid "Birthdate can not be empty"
msgstr "No podéis dejar la fecha de nacimiento en blanco." msgstr "No podéis dejar la fecha de nacimiento en blanco."
#: pkg/booking/checkin.go:292 #: pkg/booking/checkin.go:295
msgid "Birthdate must be a valid date." msgid "Birthdate must be a valid date."
msgstr "La fecha de nacimiento tiene que ser una fecha válida." msgstr "La fecha de nacimiento tiene que ser una fecha válida."
#: pkg/booking/checkin.go:293 #: pkg/booking/checkin.go:296
msgid "Birthdate must be in the past." msgid "Birthdate must be in the past."
msgstr "La fecha de nacimiento tiene que ser del pasado." msgstr "La fecha de nacimiento tiene que ser del pasado."
@ -3447,24 +3487,24 @@ msgctxt "cart"
msgid "Dog" msgid "Dog"
msgstr "Perro" msgstr "Perro"
#: pkg/booking/admin.go:218 #: pkg/booking/admin.go:236
msgctxt "filename" msgctxt "filename"
msgid "bookings.ods" msgid "bookings.ods"
msgstr "reservas.ods" msgstr "reservas.ods"
#: pkg/booking/admin.go:435 #: pkg/booking/admin.go:576
msgid "Country can not be empty to validate the postcode." msgid "Country can not be empty to validate the postcode."
msgstr "No podéis dejar el país en blanco para validar el código postal." msgstr "No podéis dejar el país en blanco para validar el código postal."
#: pkg/booking/admin.go:445 #: pkg/booking/admin.go:586
msgid "Country can not be empty to validate the phone." msgid "Country can not be empty to validate the phone."
msgstr "No podéis dejar el país en blanco para validar el teléfono." msgstr "No podéis dejar el país en blanco para validar el teléfono."
#: pkg/booking/admin.go:452 #: pkg/booking/admin.go:593
msgid "You must select at least one accommodation." msgid "You must select at least one accommodation."
msgstr "Tenéis que seleccionar como mínimo un alojamiento." msgstr "Tenéis que seleccionar como mínimo un alojamiento."
#: pkg/booking/admin.go:458 #: pkg/booking/admin.go:599
msgid "The selected accommodations have no available openings in the requested dates." msgid "The selected accommodations have no available openings in the requested dates."
msgstr "Los alojamientos seleccionados no tienen disponibilidad en las fechas pedidas." msgstr "Los alojamientos seleccionados no tienen disponibilidad en las fechas pedidas."

216
po/fr.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: camper\n" "Project-Id-Version: camper\n"
"Report-Msgid-Bugs-To: jordi@tandem.blog\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n"
"POT-Creation-Date: 2024-04-28 22:32+0200\n" "POT-Creation-Date: 2024-05-03 00:56+0200\n"
"PO-Revision-Date: 2024-02-06 10:05+0100\n" "PO-Revision-Date: 2024-02-06 10:05+0100\n"
"Last-Translator: Oriol Carbonell <info@oriolcarbonell.cat>\n" "Last-Translator: Oriol Carbonell <info@oriolcarbonell.cat>\n"
"Language-Team: French <traduc@traduc.org>\n" "Language-Team: French <traduc@traduc.org>\n"
@ -80,7 +80,8 @@ msgstr "Paiement"
#: web/templates/mail/payment/details.gotxt:9 #: web/templates/mail/payment/details.gotxt:9
#: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/index.gohtml:21
#: web/templates/admin/payment/details.gohtml:52 #: web/templates/admin/payment/details.gohtml:52
#: web/templates/admin/booking/index.gohtml:21 #: web/templates/admin/prebooking/index.gohtml:59
#: web/templates/admin/booking/index.gohtml:73
msgctxt "header" msgctxt "header"
msgid "Reference" msgid "Reference"
msgstr "Référence" msgstr "Référence"
@ -88,7 +89,7 @@ msgstr "Référence"
#: web/templates/mail/payment/details.gotxt:10 #: web/templates/mail/payment/details.gotxt:10
#: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/index.gohtml:22
#: web/templates/admin/payment/details.gohtml:56 #: web/templates/admin/payment/details.gohtml:56
#: web/templates/admin/booking/index.gohtml:25 #: web/templates/admin/booking/index.gohtml:77
msgctxt "header" msgctxt "header"
msgid "Status" msgid "Status"
msgstr "Statut" msgstr "Statut"
@ -178,7 +179,7 @@ msgstr "Nuits"
#: web/templates/mail/payment/details.gotxt:22 #: web/templates/mail/payment/details.gotxt:22
#: web/templates/public/booking/fields.gohtml:60 #: web/templates/public/booking/fields.gohtml:60
#: web/templates/admin/payment/details.gohtml:98 #: web/templates/admin/payment/details.gohtml:98
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 #: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
msgctxt "input" msgctxt "input"
msgid "Adults aged 17 or older" msgid "Adults aged 17 or older"
msgstr "Adultes âgés 17 ans ou plus" msgstr "Adultes âgés 17 ans ou plus"
@ -186,7 +187,7 @@ msgstr "Adultes âgés 17 ans ou plus"
#: web/templates/mail/payment/details.gotxt:23 #: web/templates/mail/payment/details.gotxt:23
#: web/templates/public/booking/fields.gohtml:71 #: web/templates/public/booking/fields.gohtml:71
#: web/templates/admin/payment/details.gohtml:102 #: web/templates/admin/payment/details.gohtml:102
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 #: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
msgctxt "input" msgctxt "input"
msgid "Teenagers from 11 to 16 years old" msgid "Teenagers from 11 to 16 years old"
msgstr "Adolescents de 11 à 16 ans" msgstr "Adolescents de 11 à 16 ans"
@ -194,7 +195,7 @@ msgstr "Adolescents de 11 à 16 ans"
#: web/templates/mail/payment/details.gotxt:24 #: web/templates/mail/payment/details.gotxt:24
#: web/templates/public/booking/fields.gohtml:82 #: web/templates/public/booking/fields.gohtml:82
#: web/templates/admin/payment/details.gohtml:106 #: web/templates/admin/payment/details.gohtml:106
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 #: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
msgctxt "input" msgctxt "input"
msgid "Children from 2 to 10 years old" msgid "Children from 2 to 10 years old"
msgstr "Enfants de 2 à 10 ans" msgstr "Enfants de 2 à 10 ans"
@ -202,14 +203,14 @@ msgstr "Enfants de 2 à 10 ans"
#: web/templates/mail/payment/details.gotxt:25 #: web/templates/mail/payment/details.gotxt:25
#: web/templates/public/booking/fields.gohtml:100 #: web/templates/public/booking/fields.gohtml:100
#: web/templates/admin/payment/details.gohtml:110 #: web/templates/admin/payment/details.gohtml:110
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 #: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
msgctxt "input" msgctxt "input"
msgid "Dogs" msgid "Dogs"
msgstr "Chiens" msgstr "Chiens"
#: web/templates/mail/payment/details.gotxt:26 #: web/templates/mail/payment/details.gotxt:26
#: web/templates/admin/payment/details.gohtml:114 #: web/templates/admin/payment/details.gohtml:114
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 #: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
#: pkg/booking/cart.go:242 #: pkg/booking/cart.go:242
msgctxt "cart" msgctxt "cart"
msgid "Tourist tax" msgid "Tourist tax"
@ -945,7 +946,7 @@ msgstr "Menu"
#: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/form.gohtml:16
#: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/option/index.gohtml:10
#: web/templates/admin/campsite/type/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10
#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 #: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104
#: web/templates/admin/booking/fields.gohtml:266 #: web/templates/admin/booking/fields.gohtml:266
msgctxt "title" msgctxt "title"
msgid "Campsites" msgid "Campsites"
@ -1217,7 +1218,7 @@ msgstr "Contenu"
#: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/amenity/form.gohtml:91
#: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/home/index.gohtml:34
#: web/templates/admin/media/form.gohtml:39 #: web/templates/admin/media/form.gohtml:39
#: web/templates/admin/booking/form.gohtml:48 #: web/templates/admin/booking/form.gohtml:52
msgctxt "action" msgctxt "action"
msgid "Update" msgid "Update"
msgstr "Mettre à jour" msgstr "Mettre à jour"
@ -1238,7 +1239,7 @@ msgstr "Mettre à jour"
#: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/feature/form.gohtml:67
#: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/carousel/form.gohtml:52
#: web/templates/admin/amenity/form.gohtml:93 #: web/templates/admin/amenity/form.gohtml:93
#: web/templates/admin/booking/form.gohtml:50 #: web/templates/admin/booking/form.gohtml:54
msgctxt "action" msgctxt "action"
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
@ -1906,7 +1907,7 @@ msgid "Phone (optional)"
msgstr "Téléphone (facultatif)" msgstr "Téléphone (facultatif)"
#: web/templates/admin/customer/index.gohtml:6 #: web/templates/admin/customer/index.gohtml:6
#: web/templates/admin/layout.gohtml:95 #: web/templates/admin/layout.gohtml:98
msgctxt "title" msgctxt "title"
msgid "Customers" msgid "Customers"
msgstr "Clients" msgstr "Clients"
@ -1976,7 +1977,7 @@ msgstr "Nouvelle facture"
#: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/form.gohtml:15
#: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/index.gohtml:2
#: web/templates/admin/invoice/view.gohtml:6 #: web/templates/admin/invoice/view.gohtml:6
#: web/templates/admin/layout.gohtml:98 #: web/templates/admin/layout.gohtml:101
msgctxt "title" msgctxt "title"
msgid "Invoices" msgid "Invoices"
msgstr "Factures" msgstr "Factures"
@ -2047,15 +2048,20 @@ msgid "All customers"
msgstr "Tous les clients" msgstr "Tous les clients"
#: web/templates/admin/invoice/index.gohtml:55 #: web/templates/admin/invoice/index.gohtml:55
#: web/templates/admin/booking/index.gohtml:38
msgid "All statuses" msgid "All statuses"
msgstr "Tous les statuts" msgstr "Tous les statuts"
#: web/templates/admin/invoice/index.gohtml:63 #: web/templates/admin/invoice/index.gohtml:63
#: web/templates/admin/prebooking/index.gohtml:32
#: web/templates/admin/booking/index.gohtml:46
msgctxt "input" msgctxt "input"
msgid "From date" msgid "From date"
msgstr "Partir de la date" msgstr "Partir de la date"
#: web/templates/admin/invoice/index.gohtml:72 #: web/templates/admin/invoice/index.gohtml:72
#: web/templates/admin/prebooking/index.gohtml:41
#: web/templates/admin/booking/index.gohtml:55
msgctxt "input" msgctxt "input"
msgid "To date" msgid "To date"
msgstr "À ce jour" msgstr "À ce jour"
@ -2071,6 +2077,8 @@ msgid "Filter"
msgstr "Filtrer" msgstr "Filtrer"
#: web/templates/admin/invoice/index.gohtml:94 #: web/templates/admin/invoice/index.gohtml:94
#: web/templates/admin/prebooking/index.gohtml:51
#: web/templates/admin/booking/index.gohtml:65
msgctxt "action" msgctxt "action"
msgid "Reset" msgid "Reset"
msgstr "Réinitialiser" msgstr "Réinitialiser"
@ -2163,6 +2171,57 @@ msgctxt "title"
msgid "Tax Base" msgid "Tax Base"
msgstr "Import imposable" msgstr "Import imposable"
#: web/templates/admin/prebooking/index.gohtml:6
#: web/templates/admin/layout.gohtml:92
#: web/templates/admin/booking/form.gohtml:20
msgctxt "title"
msgid "Prebookings"
msgstr "Pré-réservations"
#: web/templates/admin/prebooking/index.gohtml:23
#: web/templates/admin/booking/index.gohtml:25
msgctxt "input"
msgid "Holder name"
msgstr "Nom du titulaire"
#: web/templates/admin/prebooking/index.gohtml:54
#: web/templates/admin/layout.gohtml:95
#: web/templates/admin/booking/form.gohtml:22
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:68
msgctxt "title"
msgid "Bookings"
msgstr "Réservations"
#: web/templates/admin/prebooking/index.gohtml:60
#: web/templates/admin/booking/index.gohtml:74
msgctxt "header"
msgid "Arrival Date"
msgstr "Date darrivée"
#: web/templates/admin/prebooking/index.gohtml:61
#: web/templates/admin/booking/index.gohtml:75
msgctxt "header"
msgid "Departure Date"
msgstr "Date de depart"
#: web/templates/admin/prebooking/index.gohtml:62
#: web/templates/admin/booking/index.gohtml:76
msgctxt "header"
msgid "Holder Name"
msgstr "Nom du titulaire"
#: web/templates/admin/prebooking/index.gohtml:70
msgid "No prebooking found."
msgstr "Aucune pré-réservation trouvée."
#: web/templates/admin/prebooking/results.gohtml:20
#: web/templates/admin/booking/results.gohtml:23
msgctxt "action"
msgid "Load more"
msgstr "Charger plus"
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
msgctxt "title" msgctxt "title"
msgid "Login" msgid "Login"
@ -2527,20 +2586,11 @@ msgctxt "action"
msgid "Logout" msgid "Logout"
msgstr "Déconnexion" msgstr "Déconnexion"
#: web/templates/admin/layout.gohtml:92 #: web/templates/admin/layout.gohtml:110
#: web/templates/admin/booking/form.gohtml:19
#: web/templates/admin/booking/checkin.gohtml:10
#: web/templates/admin/booking/index.gohtml:6
#: web/templates/admin/booking/index.gohtml:16
msgctxt "title"
msgid "Bookings"
msgstr "Réservations"
#: web/templates/admin/layout.gohtml:107
msgid "Breadcrumb" msgid "Breadcrumb"
msgstr "Fil dAriane" msgstr "Fil dAriane"
#: web/templates/admin/layout.gohtml:119 #: web/templates/admin/layout.gohtml:122
msgid "Camper Version: %s" msgid "Camper Version: %s"
msgstr "Camper version: %s" msgstr "Camper version: %s"
@ -2651,7 +2701,7 @@ msgctxt "header"
msgid "Decription" msgid "Decription"
msgstr "Description" msgstr "Description"
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 #: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
#: pkg/booking/cart.go:232 #: pkg/booking/cart.go:232
msgctxt "cart" msgctxt "cart"
msgid "Night" msgid "Night"
@ -2688,12 +2738,12 @@ msgctxt "title"
msgid "New Booking" msgid "New Booking"
msgstr "Nouvelle réservation" msgstr "Nouvelle réservation"
#: web/templates/admin/booking/form.gohtml:25 #: web/templates/admin/booking/form.gohtml:30
msgctxt "action" msgctxt "action"
msgid "Check-in Booking" msgid "Check-in Booking"
msgstr "Enregistrer réservation" msgstr "Enregistrer réservation"
#: web/templates/admin/booking/form.gohtml:28 #: web/templates/admin/booking/form.gohtml:31
msgctxt "action" msgctxt "action"
msgid "Invoice Booking" msgid "Invoice Booking"
msgstr "Facturer la réservation" msgstr "Facturer la réservation"
@ -2728,22 +2778,12 @@ msgctxt "action"
msgid "Export Bookings" msgid "Export Bookings"
msgstr "Exporter les réservations" msgstr "Exporter les réservations"
#: web/templates/admin/booking/index.gohtml:22 #: web/templates/admin/booking/index.gohtml:34
msgctxt "header" msgctxt "input"
msgid "Arrival Date" msgid "Booking status"
msgstr "Date darrivée" msgstr "Statut de réservation"
#: web/templates/admin/booking/index.gohtml:23 #: web/templates/admin/booking/index.gohtml:85
msgctxt "header"
msgid "Departure Date"
msgstr "Date de depart"
#: web/templates/admin/booking/index.gohtml:24
msgctxt "header"
msgid "Holder Name"
msgstr "Nom du titulaire"
#: web/templates/admin/booking/index.gohtml:41
msgid "No booking found." msgid "No booking found."
msgstr "Aucune réservation trouvée." msgstr "Aucune réservation trouvée."
@ -2843,7 +2883,7 @@ msgctxt "order product name"
msgid "Campsite Booking" msgid "Campsite Booking"
msgstr "Réservation camping" msgstr "Réservation camping"
#: pkg/payment/public.go:374 #: pkg/payment/public.go:378
msgctxt "subject" msgctxt "subject"
msgid "Booking payment successfully received" msgid "Booking payment successfully received"
msgstr "Paiement de réservation reçu avec succès" msgstr "Paiement de réservation reçu avec succès"
@ -2851,7 +2891,7 @@ msgstr "Paiement de réservation reçu avec succès"
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411
#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 #: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
#: pkg/amenity/admin.go:283 #: pkg/amenity/admin.go:283
msgid "Name can not be empty." msgid "Name can not be empty."
@ -2893,7 +2933,7 @@ msgid "Email can not be empty."
msgstr "Le-mail ne peut pas être vide." msgstr "Le-mail ne peut pas être vide."
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345 #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 #: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593
msgid "This email is not valid. It should be like name@domain.com." msgid "This email is not valid. It should be like name@domain.com."
msgstr "Cette adresse e-mail nest pas valide. Il devrait en être name@domain.com." msgstr "Cette adresse e-mail nest pas valide. Il devrait en être name@domain.com."
@ -2922,7 +2962,7 @@ msgstr "La langue sélectionnée nest pas valide."
msgid "File must be a valid PNG or JPEG image." msgid "File must be a valid PNG or JPEG image."
msgstr "Le fichier doit être une image PNG ou JPEG valide." msgstr "Le fichier doit être une image PNG ou JPEG valide."
#: pkg/app/admin.go:79 #: pkg/app/admin.go:81
msgid "Access forbidden" msgid "Access forbidden"
msgstr "Accès interdit" msgstr "Accès interdit"
@ -2950,15 +2990,15 @@ msgstr "Le maximum doit être un nombre entier."
msgid "Maximum must be equal or greater than minimum." msgid "Maximum must be equal or greater than minimum."
msgstr "Le maximum doit être égal ou supérieur au minimum." msgstr "Le maximum doit être égal ou supérieur au minimum."
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 #: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
msgid "Price can not be empty." msgid "Price can not be empty."
msgstr "Le prix ne peut pas être vide." msgstr "Le prix ne peut pas être vide."
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 #: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
msgid "Price must be a decimal number." msgid "Price must be a decimal number."
msgstr "Le prix doit être un nombre décimal." msgstr "Le prix doit être un nombre décimal."
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 #: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
msgid "Price must be zero or greater." msgid "Price must be zero or greater."
msgstr "Le prix doit être égal ou supérieur à zéro." msgstr "Le prix doit être égal ou supérieur à zéro."
@ -3104,7 +3144,7 @@ msgctxt "header"
msgid "Children (aged 2 to 10)" msgid "Children (aged 2 to 10)"
msgstr "Enfants (de 2 à 10 anys)" msgstr "Enfants (de 2 à 10 anys)"
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 #: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177
#: pkg/booking/public.go:232 #: pkg/booking/public.go:232
msgid "Selected campsite type is not valid." msgid "Selected campsite type is not valid."
msgstr "Le type demplacement sélectionné nest pas valide." msgstr "Le type demplacement sélectionné nest pas valide."
@ -3143,25 +3183,25 @@ msgid "End date must be a valid date."
msgstr "La date de fin doit être une date valide." msgstr "La date de fin doit être une date valide."
#: pkg/customer/admin.go:326 pkg/company/admin.go:207 #: pkg/customer/admin.go:326 pkg/company/admin.go:207
#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 #: pkg/booking/checkin.go:300 pkg/booking/public.go:577
msgid "Selected country is not valid." msgid "Selected country is not valid."
msgstr "Le pays sélectionné nest pas valide." msgstr "Le pays sélectionné nest pas valide."
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 #: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
msgid "Selected ID document type is not valid." msgid "Selected ID document type is not valid."
msgstr "Le type de document didentité sélectionné nest pas valide." msgstr "Le type de document didentité sélectionné nest pas valide."
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 #: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
msgid "ID document number can not be empty." msgid "ID document number can not be empty."
msgstr "Le numéro de documento didentité ne peut pas être vide." msgstr "Le numéro de documento didentité ne peut pas être vide."
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 #: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 #: pkg/booking/checkin.go:292 pkg/booking/admin.go:570
#: pkg/booking/public.go:581 #: pkg/booking/public.go:581
msgid "Full name can not be empty." msgid "Full name can not be empty."
msgstr "Le nom complet ne peut pas être vide." msgstr "Le nom complet ne peut pas être vide."
#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 #: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582
msgid "Full name must have at least one letter." msgid "Full name must have at least one letter."
msgstr "Le nom complet doit comporter au moins une lettre." msgstr "Le nom complet doit comporter au moins une lettre."
@ -3177,94 +3217,94 @@ msgstr "La ville ne peut pas être vide."
msgid "Postcode can not be empty." msgid "Postcode can not be empty."
msgstr "Le code postal ne peut pas être vide." msgstr "Le code postal ne peut pas être vide."
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 #: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577
#: pkg/booking/public.go:588 #: pkg/booking/public.go:588
msgid "This postcode is not valid." msgid "This postcode is not valid."
msgstr "Ce code postal nest pas valide." msgstr "Ce code postal nest pas valide."
#: pkg/customer/admin.go:348 pkg/company/admin.go:220 #: pkg/customer/admin.go:348 pkg/company/admin.go:220
#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 #: pkg/booking/checkin.go:304 pkg/booking/admin.go:587
#: pkg/booking/public.go:596 #: pkg/booking/public.go:596
msgid "This phone number is not valid." msgid "This phone number is not valid."
msgstr "Ce numéro de téléphone nest pas valide." msgstr "Ce numéro de téléphone nest pas valide."
#: pkg/invoice/admin.go:681 #: pkg/invoice/admin.go:679
msgctxt "filename" msgctxt "filename"
msgid "invoices.zip" msgid "invoices.zip"
msgstr "factures.zip" msgstr "factures.zip"
#: pkg/invoice/admin.go:696 #: pkg/invoice/admin.go:694
msgctxt "filename" msgctxt "filename"
msgid "invoices.ods" msgid "invoices.ods"
msgstr "factures.ods" msgstr "factures.ods"
#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 #: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
msgid "Invalid action" msgid "Invalid action"
msgstr "Actin invalide" msgstr "Actin invalide"
#: pkg/invoice/admin.go:863 #: pkg/invoice/admin.go:861
msgid "Selected invoice status is not valid." msgid "Selected invoice status is not valid."
msgstr "Lstatut sélectionné nest pas valide." msgstr "Lstatut sélectionné nest pas valide."
#: pkg/invoice/admin.go:864 #: pkg/invoice/admin.go:862
msgid "Invoice date can not be empty." msgid "Invoice date can not be empty."
msgstr "La date de facture ne peut pas être vide." msgstr "La date de facture ne peut pas être vide."
#: pkg/invoice/admin.go:865 #: pkg/invoice/admin.go:863
msgid "Invoice date must be a valid date." msgid "Invoice date must be a valid date."
msgstr "La date de facture doit être une date valide." msgstr "La date de facture doit être une date valide."
#: pkg/invoice/admin.go:1023 #: pkg/invoice/admin.go:1021
#, c-format #, c-format
msgid "Re: booking #%s of %s%s" msgid "Re: booking #%s of %s%s"
msgstr "Réf. : réservation num. %s du %s%s" msgstr "Réf. : réservation num. %s du %s%s"
#: pkg/invoice/admin.go:1024 #: pkg/invoice/admin.go:1022
msgctxt "to_char" msgctxt "to_char"
msgid "MM/DD/YYYY" msgid "MM/DD/YYYY"
msgstr "DD/MM/YYYY" msgstr "DD/MM/YYYY"
#: pkg/invoice/admin.go:1151 #: pkg/invoice/admin.go:1149
msgid "Invoice product ID must be an integer." msgid "Invoice product ID must be an integer."
msgstr "Le ID de produit de facture doit être un entier." msgstr "Le ID de produit de facture doit être un entier."
#: pkg/invoice/admin.go:1152 #: pkg/invoice/admin.go:1150
msgid "Invoice product ID one or greater." msgid "Invoice product ID one or greater."
msgstr "Le ID de produit de facture doit être égal ou supérieur à un." msgstr "Le ID de produit de facture doit être égal ou supérieur à un."
#: pkg/invoice/admin.go:1156 #: pkg/invoice/admin.go:1154
msgid "Product ID must be an integer." msgid "Product ID must be an integer."
msgstr "Le ID de produit doit être un entier." msgstr "Le ID de produit doit être un entier."
#: pkg/invoice/admin.go:1157 #: pkg/invoice/admin.go:1155
msgid "Product ID must zero or greater." msgid "Product ID must zero or greater."
msgstr "Le ID de produit doit être égal ou supérieur à zéro." msgstr "Le ID de produit doit être égal ou supérieur à zéro."
#: pkg/invoice/admin.go:1166 #: pkg/invoice/admin.go:1164
msgid "Quantity can not be empty." msgid "Quantity can not be empty."
msgstr "La quantité ne peut pas être vide." msgstr "La quantité ne peut pas être vide."
#: pkg/invoice/admin.go:1167 #: pkg/invoice/admin.go:1165
msgid "Quantity must be an integer." msgid "Quantity must be an integer."
msgstr "La quantité doit être un entier." msgstr "La quantité doit être un entier."
#: pkg/invoice/admin.go:1168 #: pkg/invoice/admin.go:1166
msgid "Quantity must one or greater." msgid "Quantity must one or greater."
msgstr "La quantité doit être égnal ou supérieur à zéro." msgstr "La quantité doit être égnal ou supérieur à zéro."
#: pkg/invoice/admin.go:1171 #: pkg/invoice/admin.go:1169
msgid "Discount can not be empty." msgid "Discount can not be empty."
msgstr "Le rabais ne peut pas être vide." msgstr "Le rabais ne peut pas être vide."
#: pkg/invoice/admin.go:1172 #: pkg/invoice/admin.go:1170
msgid "Discount must be an integer." msgid "Discount must be an integer."
msgstr "Le rabais doit être un entier." msgstr "Le rabais doit être un entier."
#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 #: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
msgid "Discount must be a percentage between 0 and 100." msgid "Discount must be a percentage between 0 and 100."
msgstr "Le rabais doit être un pourcentage compris entre 0 et 100." msgstr "Le rabais doit être un pourcentage compris entre 0 et 100."
#: pkg/invoice/admin.go:1178 #: pkg/invoice/admin.go:1176
msgid "Selected tax is not valid." msgid "Selected tax is not valid."
msgstr "La taxe sélectionnée nest pas valide." msgstr "La taxe sélectionnée nest pas valide."
@ -3403,27 +3443,27 @@ msgstr "Le fichier téléchargé ne peut pas être vide."
msgid "Filename can not be empty." msgid "Filename can not be empty."
msgstr "Le nom de fichier ne peut pas être vide." msgstr "Le nom de fichier ne peut pas être vide."
#: pkg/booking/checkin.go:284 #: pkg/booking/checkin.go:287
msgid "ID document issue date must be a valid date." msgid "ID document issue date must be a valid date."
msgstr "La date de délivrance du document didentité doit être une date valide." msgstr "La date de délivrance du document didentité doit être une date valide."
#: pkg/booking/checkin.go:285 #: pkg/booking/checkin.go:288
msgid "ID document issue date must be in the past." msgid "ID document issue date must be in the past."
msgstr "La ate de délivrance du document didentité doit être du passé." msgstr "La ate de délivrance du document didentité doit être du passé."
#: pkg/booking/checkin.go:290 #: pkg/booking/checkin.go:293
msgid "Selected sex is not valid." msgid "Selected sex is not valid."
msgstr "Le sexe sélectionné nest pas valide." msgstr "Le sexe sélectionné nest pas valide."
#: pkg/booking/checkin.go:291 #: pkg/booking/checkin.go:294
msgid "Birthdate can not be empty" msgid "Birthdate can not be empty"
msgstr "La date de naissance ne peut pas être vide." msgstr "La date de naissance ne peut pas être vide."
#: pkg/booking/checkin.go:292 #: pkg/booking/checkin.go:295
msgid "Birthdate must be a valid date." msgid "Birthdate must be a valid date."
msgstr "La date de naissance doit être une date valide." msgstr "La date de naissance doit être une date valide."
#: pkg/booking/checkin.go:293 #: pkg/booking/checkin.go:296
msgid "Birthdate must be in the past." msgid "Birthdate must be in the past."
msgstr "La date de naissance doit être du passé." msgstr "La date de naissance doit être du passé."
@ -3447,24 +3487,24 @@ msgctxt "cart"
msgid "Dog" msgid "Dog"
msgstr "Chien" msgstr "Chien"
#: pkg/booking/admin.go:218 #: pkg/booking/admin.go:236
msgctxt "filename" msgctxt "filename"
msgid "bookings.ods" msgid "bookings.ods"
msgstr "reservations.ods" msgstr "reservations.ods"
#: pkg/booking/admin.go:435 #: pkg/booking/admin.go:576
msgid "Country can not be empty to validate the postcode." msgid "Country can not be empty to validate the postcode."
msgstr "Le pays ne peut pas être vide pour valider le code postal." msgstr "Le pays ne peut pas être vide pour valider le code postal."
#: pkg/booking/admin.go:445 #: pkg/booking/admin.go:586
msgid "Country can not be empty to validate the phone." msgid "Country can not be empty to validate the phone."
msgstr "Le pays ne peut pas être vide pour valider le téléphone." msgstr "Le pays ne peut pas être vide pour valider le téléphone."
#: pkg/booking/admin.go:452 #: pkg/booking/admin.go:593
msgid "You must select at least one accommodation." msgid "You must select at least one accommodation."
msgstr "Vous devez sélectionner au moins un hébergement." msgstr "Vous devez sélectionner au moins un hébergement."
#: pkg/booking/admin.go:458 #: pkg/booking/admin.go:599
msgid "The selected accommodations have no available openings in the requested dates." msgid "The selected accommodations have no available openings in the requested dates."
msgstr "Les hébergements sélectionnés nont pas de disponibilités aux dates demandées." msgstr "Les hébergements sélectionnés nont pas de disponibilités aux dates demandées."

View File

@ -16,17 +16,21 @@
{{- end }} {{- end }}
{{ define "breadcrumb" -}} {{ define "breadcrumb" -}}
{{ if eq .Status "created" -}}
<li><a href="/admin/prebookings">{{( pgettext "Prebookings" "title" )}}</a></li>
{{- else -}}
<li><a href="./">{{( pgettext "Bookings" "title" )}}</a></li> <li><a href="./">{{( pgettext "Bookings" "title" )}}</a></li>
{{- end }}
{{- end }} {{- end }}
{{ define "content" -}} {{ define "content" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.adminBookingForm*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.adminBookingForm*/ -}}
{{ if .ID -}} {{ if .ID -}}
{{ if ne .Status "created" -}}
<a href="{{ .URL }}/check-in">{{( pgettext "Check-in Booking" "action" )}}</a> <a href="{{ .URL }}/check-in">{{( pgettext "Check-in Booking" "action" )}}</a>
{{- end }}
{{ if .ID -}}
<a href="/admin/invoices/new?booking={{ .ID }}">{{( pgettext "Invoice Booking" "action" )}}</a> <a href="/admin/invoices/new?booking={{ .ID }}">{{( pgettext "Invoice Booking" "action" )}}</a>
{{- end }} {{- end }}
{{- end }}
<h2>{{ template "title" .}}</h2> <h2>{{ template "title" .}}</h2>
<form id="booking-form" <form id="booking-form"
data-hx-ext="morph" data-hx-ext="morph"

View File

@ -88,6 +88,9 @@
<li> <li>
<a href="/admin/">{{( pgettext "Dashboard" "title" )}}</a> <a href="/admin/">{{( pgettext "Dashboard" "title" )}}</a>
</li> </li>
<li>
<a href="/admin/prebookings">{{( pgettext "Prebookings" "title" )}}</a>
</li>
<li> <li>
<a href="/admin/bookings">{{( pgettext "Bookings" "title" )}}</a> <a href="/admin/bookings">{{( pgettext "Bookings" "title" )}}</a>
</li> </li>

View File

@ -0,0 +1,72 @@
<!--
SPDX-FileCopyrightText: 2023 jordi fita mas <jordi@tandem.blog>
SPDX-License-Identifier: AGPL-3.0-only
-->
{{ define "title" -}}
{{( pgettext "Prebookings" "title" )}}
{{- end }}
{{ define "breadcrumb" -}}
{{- end }}
{{ define "content" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.prebookingIndex*/ -}}
{{ template "filters-toggle" }}
<form class="filters" method="GET" action="/admin/prebookings"
data-hx-target="main" data-hx-boost="true" data-hx-trigger="change,search,submit"
aria-labelledby="filters-toggle"
>
{{ with .Filters }}
<fieldset>
{{ with .HolderName -}}
<label>
{{( pgettext "Holder name" "input" )}}<br>
<input type="text"
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
><br>
{{ template "error-message" . }}
</label>
{{- end }}
{{ with .FromDate -}}
<label>
{{( pgettext "From date" "input" )}}<br>
<input type="date"
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
><br>
{{ template "error-message" . }}
</label>
{{- end }}
{{ with .ToDate -}}
<label>
{{( pgettext "To date" "input" )}}<br>
<input type="date"
name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }}
><br>
{{ template "error-message" . }}
</label>
{{- end }}
</fieldset>
{{ end }}
{{ if .Filters.HasValue }}
<a href="/admin/prebookings" class="button">{{( pgettext "Reset" "action" )}}</a>
{{ end }}
</form>
<h2>{{( pgettext "Bookings" "title" )}}</h2>
{{ if .Bookings -}}
<table>
<thead>
<tr>
<th scope="col">{{( pgettext "Reference" "header" )}}</th>
<th scope="col">{{( pgettext "Arrival Date" "header" )}}</th>
<th scope="col">{{( pgettext "Departure Date" "header" )}}</th>
<th scope="col">{{( pgettext "Holder Name" "header" )}}</th>
</tr>
</thead>
<tbody>
{{ template "results.gohtml" . }}
</tbody>
</table>
{{ else -}}
<p>{{( gettext "No prebooking found." )}}</p>
{{- end }}
{{- end }}

View File

@ -0,0 +1,25 @@
{{ range .Bookings -}}
<tr>
<td><a href="{{ .URL }}">{{ .Reference }}</a></td>
<td>{{ .ArrivalDate | formatDate }}</td>
<td>{{ .DepartureDate | formatDate }}</td>
<td>{{ .HolderName }}</td>
</tr>
{{- end }}
{{ if .Filters.Cursor.Val }}
<tr>
<td colspan="4">
{{ with .Filters -}}
<form data-hx-get="/admin/prebookings" data-hx-target="closest tr" data-hx-swap="outerHTML">
{{ with .HolderName -}}<input type="hidden" name="{{ .Name }}"
value="{{ .Val }}">{{- end }}
{{ with .FromDate -}}<input type="hidden" name="{{ .Name }}"
value="{{ .Val }}">{{- end }}
{{ with .ToDate -}}<input type="hidden" name="{{ .Name }}" value="{{ .Val }}">{{- end }}
{{ with .Cursor -}}<input type="hidden" name="{{ .Name }}" value="{{ .Val }}">{{- end }}
<button type="submit">{{( pgettext "Load more" "action" )}}</button>
</form>
{{- end }}
<td>
</tr>
{{- end }}