Replace admin’s campsite map with a booking grid

Customer told us that they are used to a view of the booking status of
each campsite in the form of a grid: each campsite is a row, and each
day a column; bookings are show as boxes from the first day to the last
day on the corresponding campsite’s row.

I do not yet show the booking boxes, but at least now i have the grid
and date selector form in place.

In the form i would need a couple of input[type=month], but this is not
yet supported in Firefox and Safari. According to MDN, one common way
to bypass that problem is to have two fields, one for the month and the
other for the year; i just did that, but had to create a new input type
in the `form` package just for this.
This commit is contained in:
jordi fita mas 2024-04-19 11:29:43 +02:00
parent 746aa013d3
commit e726bde025
14 changed files with 793 additions and 442 deletions

View File

@ -7,7 +7,9 @@ package campsite
import ( import (
"context" "context"
"fmt"
"net/http" "net/http"
"time"
"github.com/jackc/pgx/v4" "github.com/jackc/pgx/v4"
@ -17,6 +19,7 @@ import (
"dev.tandem.ws/tandem/camper/pkg/form" "dev.tandem.ws/tandem/camper/pkg/form"
httplib "dev.tandem.ws/tandem/camper/pkg/http" httplib "dev.tandem.ws/tandem/camper/pkg/http"
"dev.tandem.ws/tandem/camper/pkg/locale" "dev.tandem.ws/tandem/camper/pkg/locale"
"dev.tandem.ws/tandem/camper/pkg/season"
"dev.tandem.ws/tandem/camper/pkg/template" "dev.tandem.ws/tandem/camper/pkg/template"
) )
@ -92,9 +95,12 @@ func serveCampsiteIndex(w http.ResponseWriter, r *http.Request, user *auth.User,
if err != nil { if err != nil {
panic(err) panic(err)
} }
page := &campsiteIndex{ page := newCampsiteIndex(campsites)
Campsites: campsites, if err := page.Parse(r); err != nil {
panic(err)
} }
fmt.Println(page.From, page.To)
page.Months = collectMonths(page.From.Date(), page.To.Date())
page.MustRender(w, r, user, company) page.MustRender(w, r, user, company)
} }
@ -131,7 +137,92 @@ type campsiteEntry struct {
} }
type campsiteIndex struct { type campsiteIndex struct {
From *form.Month
To *form.Month
Campsites []*campsiteEntry Campsites []*campsiteEntry
Months []*Month
}
func newCampsiteIndex(campsites []*campsiteEntry) *campsiteIndex {
now := time.Now()
from := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.UTC)
to := from.AddDate(0, 3, 0)
return &campsiteIndex{
Campsites: campsites,
From: &form.Month{
Name: "from",
Year: from.Year(),
Month: from.Month(),
},
To: &form.Month{
Name: "to",
Year: to.Year(),
Month: to.Month(),
},
}
}
func (page *campsiteIndex) Parse(r *http.Request) error {
if err := r.ParseForm(); err != nil {
return err
}
page.From.FillValue(r)
page.To.FillValue(r)
return nil
}
type Month struct {
Year int
Month time.Month
Name string
Days []time.Time
Spans []*Span
}
type Span struct {
Weekend bool
Count int
}
func isWeekend(t time.Time) bool {
switch t.Weekday() {
case time.Saturday, time.Sunday:
return true
default:
return false
}
}
func collectMonths(from time.Time, to time.Time) []*Month {
current := time.Date(from.Year(), from.Month(), 1, 0, 0, 0, 0, time.UTC)
numMonths := (to.Year()-from.Year())*12 + int(to.Month()) - int(from.Month()) + 1
var months []*Month
for i := 0; i < numMonths; i++ {
span := &Span{
Weekend: isWeekend(current),
}
month := &Month{
Year: current.Year(),
Month: current.Month(),
Name: season.LongMonthNames[current.Month()-1],
Days: make([]time.Time, 0, 31),
Spans: make([]*Span, 0, 10),
}
month.Spans = append(month.Spans, span)
for current.Month() == month.Month {
month.Days = append(month.Days, current)
if span.Weekend != isWeekend(current) {
span = &Span{
Weekend: !span.Weekend,
}
month.Spans = append(month.Spans, span)
}
span.Count = span.Count + 1
current = current.AddDate(0, 0, 1)
}
months = append(months, month)
}
return months
} }
func (page *campsiteIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) { func (page *campsiteIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) {

32
pkg/form/month.go Normal file
View File

@ -0,0 +1,32 @@
package form
import (
"fmt"
"net/http"
"strconv"
"time"
)
type Month struct {
Name string
Year int
Month time.Month
Error error
}
func (input *Month) FillValue(r *http.Request) {
if year, err := strconv.Atoi(r.FormValue(input.Name + ".year")); err == nil {
input.Year = year
} else {
fmt.Println(err, r.FormValue(input.Name+".year"))
}
if month, err := strconv.Atoi(r.FormValue(input.Name + ".month")); err == nil && month > 0 && month < 13 {
input.Month = time.Month(month)
} else {
fmt.Println(err, r.FormValue(input.Name+".month"))
}
}
func (input *Month) Date() time.Time {
return time.Date(input.Year, input.Month, 1, 0, 0, 0, 0, time.UTC)
}

View File

@ -179,7 +179,7 @@ type seasonEntry struct {
Active bool Active bool
} }
var longMonthNames = []string{ var LongMonthNames = []string{
locale.PgettextNoop("January", "month"), locale.PgettextNoop("January", "month"),
locale.PgettextNoop("February", "month"), locale.PgettextNoop("February", "month"),
locale.PgettextNoop("March", "month"), locale.PgettextNoop("March", "month"),
@ -231,7 +231,7 @@ func CollectSeasonCalendar(ctx context.Context, company *auth.Company, conn *dat
month = &Month{ month = &Month{
Year: day.Date.Year(), Year: day.Date.Year(),
Month: dayMonth, Month: dayMonth,
Name: longMonthNames[dayMonth-1], Name: LongMonthNames[dayMonth-1],
} }
week = Week{} week = Week{}
weekday = int(time.Monday) weekday = int(time.Monday)

303
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-03-24 21:59+0100\n" "POT-Creation-Date: 2024-04-19 11:18+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"
@ -134,7 +134,6 @@ msgstr "Targeta ACSI?"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -144,7 +143,6 @@ msgstr "Sí"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -489,6 +487,88 @@ msgstr "A menys duna hora de <strong>Girona</strong>, a una de <strong>La Bis
msgid "Discover" msgid "Discover"
msgstr "Descobreix" msgstr "Descobreix"
#: web/templates/public/form.gohtml:28 web/templates/admin/form.gohtml:28
msgctxt "input"
msgid "Month"
msgstr "Mes"
#: web/templates/public/form.gohtml:30 web/templates/admin/form.gohtml:30
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "gener"
#: web/templates/public/form.gohtml:31 web/templates/admin/form.gohtml:31
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "febrer"
#: web/templates/public/form.gohtml:32 web/templates/admin/form.gohtml:32
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "març"
#: web/templates/public/form.gohtml:33 web/templates/admin/form.gohtml:33
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "abril"
#: web/templates/public/form.gohtml:34 web/templates/admin/form.gohtml:34
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "maig"
#: web/templates/public/form.gohtml:35 web/templates/admin/form.gohtml:35
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "juny"
#: web/templates/public/form.gohtml:36 web/templates/admin/form.gohtml:36
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "juliol"
#: web/templates/public/form.gohtml:37 web/templates/admin/form.gohtml:37
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "agost"
#: web/templates/public/form.gohtml:38 web/templates/admin/form.gohtml:38
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "setembre"
#: web/templates/public/form.gohtml:39 web/templates/admin/form.gohtml:39
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "octubre"
#: web/templates/public/form.gohtml:40 web/templates/admin/form.gohtml:40
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "novembre"
#: web/templates/public/form.gohtml:41 web/templates/admin/form.gohtml:41
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "desembre"
#: web/templates/public/form.gohtml:45 web/templates/admin/form.gohtml:45
msgctxt "input"
msgid "Year"
msgstr "Any"
#: web/templates/public/campsite/type.gohtml:49 #: web/templates/public/campsite/type.gohtml:49
#: web/templates/public/booking/fields.gohtml:273 #: web/templates/public/booking/fields.gohtml:273
msgctxt "action" msgctxt "action"
@ -1059,7 +1139,7 @@ msgid "Slug"
msgstr "Àlies" msgstr "Àlies"
#: web/templates/admin/legal/form.gohtml:50 #: web/templates/admin/legal/form.gohtml:50
#: web/templates/admin/campsite/feature/form.gohtml:50 #: web/templates/admin/campsite/feature/form.gohtml:51
#: web/templates/admin/campsite/type/feature/form.gohtml:59 #: web/templates/admin/campsite/type/feature/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:51 #: web/templates/admin/campsite/type/form.gohtml:51
#: web/templates/admin/campsite/type/option/form.gohtml:41 #: web/templates/admin/campsite/type/option/form.gohtml:41
@ -1080,9 +1160,9 @@ msgstr "Contingut"
#: web/templates/admin/legal/form.gohtml:88 #: web/templates/admin/legal/form.gohtml:88
#: web/templates/admin/carousel/form.gohtml:55 #: web/templates/admin/carousel/form.gohtml:55
#: web/templates/admin/campsite/feature/form.gohtml:65 #: web/templates/admin/campsite/feature/form.gohtml:66
#: web/templates/admin/campsite/carousel/form.gohtml:50 #: web/templates/admin/campsite/carousel/form.gohtml:51
#: web/templates/admin/campsite/form.gohtml:92 #: web/templates/admin/campsite/form.gohtml:96
#: web/templates/admin/campsite/type/feature/form.gohtml:74 #: web/templates/admin/campsite/type/feature/form.gohtml:74
#: web/templates/admin/campsite/type/carousel/form.gohtml:59 #: web/templates/admin/campsite/type/carousel/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:287 #: web/templates/admin/campsite/type/form.gohtml:287
@ -1102,9 +1182,9 @@ msgstr "Actualitza"
#: web/templates/admin/legal/form.gohtml:90 #: web/templates/admin/legal/form.gohtml:90
#: web/templates/admin/carousel/form.gohtml:57 #: web/templates/admin/carousel/form.gohtml:57
#: web/templates/admin/campsite/feature/form.gohtml:67 #: web/templates/admin/campsite/feature/form.gohtml:68
#: web/templates/admin/campsite/carousel/form.gohtml:52 #: web/templates/admin/campsite/carousel/form.gohtml:53
#: web/templates/admin/campsite/form.gohtml:94 #: web/templates/admin/campsite/form.gohtml:98
#: web/templates/admin/campsite/type/feature/form.gohtml:76 #: web/templates/admin/campsite/type/feature/form.gohtml:76
#: web/templates/admin/campsite/type/carousel/form.gohtml:61 #: web/templates/admin/campsite/type/carousel/form.gohtml:61
#: web/templates/admin/campsite/type/form.gohtml:289 #: web/templates/admin/campsite/type/form.gohtml:289
@ -1125,7 +1205,7 @@ msgid "Add Legal Text"
msgstr "Afegeix text legal" msgstr "Afegeix text legal"
#: web/templates/admin/legal/index.gohtml:20 #: web/templates/admin/legal/index.gohtml:20
#: web/templates/admin/campsite/feature/index.gohtml:30 #: web/templates/admin/campsite/feature/index.gohtml:31
#: web/templates/admin/campsite/type/feature/index.gohtml:31 #: web/templates/admin/campsite/type/feature/index.gohtml:31
#: web/templates/admin/campsite/type/option/index.gohtml:30 #: web/templates/admin/campsite/type/option/index.gohtml:30
#: web/templates/admin/campsite/type/index.gohtml:29 #: web/templates/admin/campsite/type/index.gohtml:29
@ -1155,7 +1235,7 @@ msgid "New Carousel Slide"
msgstr "Nova diapositiva del carrusel" msgstr "Nova diapositiva del carrusel"
#: web/templates/admin/carousel/form.gohtml:40 #: web/templates/admin/carousel/form.gohtml:40
#: web/templates/admin/campsite/carousel/form.gohtml:35 #: web/templates/admin/campsite/carousel/form.gohtml:36
#: web/templates/admin/campsite/type/carousel/form.gohtml:44 #: web/templates/admin/campsite/type/carousel/form.gohtml:44
#: web/templates/admin/amenity/carousel/form.gohtml:35 #: web/templates/admin/amenity/carousel/form.gohtml:35
msgctxt "input" msgctxt "input"
@ -1193,12 +1273,21 @@ msgid "New Campsite Feature"
msgstr "Nova característica de lallotjament" msgstr "Nova característica de lallotjament"
#: web/templates/admin/campsite/feature/form.gohtml:17 #: web/templates/admin/campsite/feature/form.gohtml:17
#: web/templates/admin/campsite/feature/index.gohtml:11
#: web/templates/admin/campsite/carousel/form.gohtml:17
#: web/templates/admin/campsite/carousel/index.gohtml:11
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Edició de lallotjament"
#: web/templates/admin/campsite/feature/form.gohtml:18
#: web/templates/admin/campsite/feature/index.gohtml:6 #: web/templates/admin/campsite/feature/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Features" msgid "Campsite Features"
msgstr "Característiques de lallotjament" msgstr "Característiques de lallotjament"
#: web/templates/admin/campsite/feature/form.gohtml:32 #: web/templates/admin/campsite/feature/form.gohtml:33
#: web/templates/admin/campsite/type/feature/form.gohtml:41 #: web/templates/admin/campsite/type/feature/form.gohtml:41
#: web/templates/admin/services/form.gohtml:35 #: web/templates/admin/services/form.gohtml:35
#: web/templates/admin/amenity/feature/form.gohtml:32 #: web/templates/admin/amenity/feature/form.gohtml:32
@ -1206,15 +1295,15 @@ msgctxt "input"
msgid "Icon" msgid "Icon"
msgstr "Icona" msgstr "Icona"
#: web/templates/admin/campsite/feature/index.gohtml:15 #: web/templates/admin/campsite/feature/index.gohtml:16
#: web/templates/admin/campsite/type/feature/index.gohtml:16 #: web/templates/admin/campsite/type/feature/index.gohtml:16
#: web/templates/admin/amenity/feature/index.gohtml:15 #: web/templates/admin/amenity/feature/index.gohtml:15
msgctxt "action" msgctxt "action"
msgid "Add Feature" msgid "Add Feature"
msgstr "Afegeix característica" msgstr "Afegeix característica"
#: web/templates/admin/campsite/feature/index.gohtml:31 #: web/templates/admin/campsite/feature/index.gohtml:32
#: web/templates/admin/campsite/carousel/index.gohtml:31 #: web/templates/admin/campsite/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/feature/index.gohtml:32 #: web/templates/admin/campsite/type/feature/index.gohtml:32
#: web/templates/admin/campsite/type/carousel/index.gohtml:32 #: web/templates/admin/campsite/type/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/option/index.gohtml:31 #: web/templates/admin/campsite/type/option/index.gohtml:31
@ -1231,14 +1320,14 @@ msgctxt "header"
msgid "Actions" msgid "Actions"
msgstr "Accions" msgstr "Accions"
#: web/templates/admin/campsite/feature/index.gohtml:35 #: web/templates/admin/campsite/feature/index.gohtml:36
#: web/templates/admin/campsite/type/feature/index.gohtml:36 #: web/templates/admin/campsite/type/feature/index.gohtml:36
#: web/templates/admin/amenity/feature/index.gohtml:35 #: web/templates/admin/amenity/feature/index.gohtml:35
msgid "Are you sure you wish to delete this feature?" msgid "Are you sure you wish to delete this feature?"
msgstr "Esteu segur de voler esborrar aquesta característica?" msgstr "Esteu segur de voler esborrar aquesta característica?"
#: web/templates/admin/campsite/feature/index.gohtml:47 #: web/templates/admin/campsite/feature/index.gohtml:48
#: web/templates/admin/campsite/carousel/index.gohtml:49 #: web/templates/admin/campsite/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/feature/index.gohtml:48 #: web/templates/admin/campsite/type/feature/index.gohtml:48
#: web/templates/admin/campsite/type/carousel/index.gohtml:50 #: web/templates/admin/campsite/type/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/option/index.gohtml:47 #: web/templates/admin/campsite/type/option/index.gohtml:47
@ -1256,7 +1345,7 @@ msgctxt "action"
msgid "Delete" msgid "Delete"
msgstr "Esborra" msgstr "Esborra"
#: web/templates/admin/campsite/feature/index.gohtml:56 #: web/templates/admin/campsite/feature/index.gohtml:57
msgid "No campsite features added yet." msgid "No campsite features added yet."
msgstr "No sha afegit cap característica a lallotjament encara." msgstr "No sha afegit cap característica a lallotjament encara."
@ -1270,13 +1359,13 @@ msgctxt "title"
msgid "New Campsite Carousel Slide" msgid "New Campsite Carousel Slide"
msgstr "Nova diapositiva del carrusel de lallotjament" msgstr "Nova diapositiva del carrusel de lallotjament"
#: web/templates/admin/campsite/carousel/form.gohtml:17 #: web/templates/admin/campsite/carousel/form.gohtml:18
#: web/templates/admin/campsite/carousel/index.gohtml:6 #: web/templates/admin/campsite/carousel/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Carousel" msgid "Campsite Carousel"
msgstr "Carrusel de lallotjament" msgstr "Carrusel de lallotjament"
#: web/templates/admin/campsite/carousel/index.gohtml:16 #: web/templates/admin/campsite/carousel/index.gohtml:17
#: web/templates/admin/campsite/type/carousel/index.gohtml:17 #: web/templates/admin/campsite/type/carousel/index.gohtml:17
#: web/templates/admin/services/index.gohtml:15 #: web/templates/admin/services/index.gohtml:15
#: web/templates/admin/amenity/carousel/index.gohtml:16 #: web/templates/admin/amenity/carousel/index.gohtml:16
@ -1285,7 +1374,7 @@ msgctxt "action"
msgid "Add slide" msgid "Add slide"
msgstr "Afegeix diapositiva" msgstr "Afegeix diapositiva"
#: web/templates/admin/campsite/carousel/index.gohtml:29 #: web/templates/admin/campsite/carousel/index.gohtml:30
#: web/templates/admin/campsite/type/carousel/index.gohtml:30 #: web/templates/admin/campsite/type/carousel/index.gohtml:30
#: web/templates/admin/services/index.gohtml:28 #: web/templates/admin/services/index.gohtml:28
#: web/templates/admin/surroundings/index.gohtml:82 #: web/templates/admin/surroundings/index.gohtml:82
@ -1296,7 +1385,7 @@ msgctxt "header"
msgid "Image" msgid "Image"
msgstr "Imatge" msgstr "Imatge"
#: web/templates/admin/campsite/carousel/index.gohtml:30 #: web/templates/admin/campsite/carousel/index.gohtml:31
#: web/templates/admin/campsite/type/carousel/index.gohtml:31 #: web/templates/admin/campsite/type/carousel/index.gohtml:31
#: web/templates/admin/services/index.gohtml:29 #: web/templates/admin/services/index.gohtml:29
#: web/templates/admin/amenity/carousel/index.gohtml:30 #: web/templates/admin/amenity/carousel/index.gohtml:30
@ -1306,7 +1395,7 @@ msgctxt "header"
msgid "Caption" msgid "Caption"
msgstr "Llegenda" msgstr "Llegenda"
#: web/templates/admin/campsite/carousel/index.gohtml:35 #: web/templates/admin/campsite/carousel/index.gohtml:36
#: web/templates/admin/campsite/type/carousel/index.gohtml:36 #: web/templates/admin/campsite/type/carousel/index.gohtml:36
#: web/templates/admin/services/index.gohtml:34 #: web/templates/admin/services/index.gohtml:34
#: web/templates/admin/amenity/carousel/index.gohtml:35 #: web/templates/admin/amenity/carousel/index.gohtml:35
@ -1314,7 +1403,7 @@ msgstr "Llegenda"
msgid "Are you sure you wish to delete this slide?" msgid "Are you sure you wish to delete this slide?"
msgstr "Esteu segur de voler esborrar aquesta diapositiva?" msgstr "Esteu segur de voler esborrar aquesta diapositiva?"
#: web/templates/admin/campsite/carousel/index.gohtml:58 #: web/templates/admin/campsite/carousel/index.gohtml:59
#: web/templates/admin/campsite/type/carousel/index.gohtml:59 #: web/templates/admin/campsite/type/carousel/index.gohtml:59
#: web/templates/admin/services/index.gohtml:56 #: web/templates/admin/services/index.gohtml:56
#: web/templates/admin/amenity/carousel/index.gohtml:58 #: web/templates/admin/amenity/carousel/index.gohtml:58
@ -1322,44 +1411,52 @@ msgstr "Esteu segur de voler esborrar aquesta diapositiva?"
msgid "No slides added yet." msgid "No slides added yet."
msgstr "No sha afegit cap diapositiva encara." msgstr "No sha afegit cap diapositiva encara."
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Edició de lallotjament"
#: web/templates/admin/campsite/form.gohtml:10 #: web/templates/admin/campsite/form.gohtml:10
msgctxt "title" msgctxt "title"
msgid "New Campsite" msgid "New Campsite"
msgstr "Nou allotjament" msgstr "Nou allotjament"
#: web/templates/admin/campsite/form.gohtml:33 #: web/templates/admin/campsite/form.gohtml:21
#: web/templates/admin/campsite/index.gohtml:27 #: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Edita les característiques"
#: web/templates/admin/campsite/form.gohtml:22
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Edita el carrusel"
#: web/templates/admin/campsite/form.gohtml:37
msgctxt "campsite" msgctxt "campsite"
msgid "Active" msgid "Active"
msgstr "Actiu" msgstr "Actiu"
#: web/templates/admin/campsite/form.gohtml:42 #: web/templates/admin/campsite/form.gohtml:46
msgctxt "input" msgctxt "input"
msgid "Campsite Type" msgid "Campsite Type"
msgstr "Tipus dallotjament" msgstr "Tipus dallotjament"
#: web/templates/admin/campsite/form.gohtml:47 #: web/templates/admin/campsite/form.gohtml:51
msgid "Select campsite type" msgid "Select campsite type"
msgstr "Escolliu un tipus dallotjament" msgstr "Escolliu un tipus dallotjament"
#: web/templates/admin/campsite/form.gohtml:56 #: web/templates/admin/campsite/form.gohtml:60
#: web/templates/admin/amenity/form.gohtml:42 #: web/templates/admin/amenity/form.gohtml:42
msgctxt "input" msgctxt "input"
msgid "Label" msgid "Label"
msgstr "Etiqueta" msgstr "Etiqueta"
#: web/templates/admin/campsite/form.gohtml:64 #: web/templates/admin/campsite/form.gohtml:68
#: web/templates/admin/amenity/form.gohtml:63 #: web/templates/admin/amenity/form.gohtml:63
msgctxt "input" msgctxt "input"
msgid "Info (First Column)" msgid "Info (First Column)"
msgstr "Informació (primera columna)" msgstr "Informació (primera columna)"
#: web/templates/admin/campsite/form.gohtml:77 #: web/templates/admin/campsite/form.gohtml:81
#: web/templates/admin/amenity/form.gohtml:76 #: web/templates/admin/amenity/form.gohtml:76
msgctxt "input" msgctxt "input"
msgid "Info (Second Column)" msgid "Info (Second Column)"
@ -1370,46 +1467,26 @@ msgctxt "action"
msgid "Add Campsite" msgid "Add Campsite"
msgstr "Afegeix allotjament" msgstr "Afegeix allotjament"
#: web/templates/admin/campsite/index.gohtml:23 #: web/templates/admin/campsite/index.gohtml:21
msgid "From Date"
msgstr "De la data"
#: web/templates/admin/campsite/index.gohtml:28
msgid "To Date"
msgstr "A la data"
#: web/templates/admin/campsite/index.gohtml:35
msgctxt "action"
msgid "Show"
msgstr "Mostra"
#: web/templates/admin/campsite/index.gohtml:50
#: web/templates/admin/amenity/index.gohtml:20 #: web/templates/admin/amenity/index.gohtml:20
msgctxt "header" msgctxt "header"
msgid "Label" msgid "Label"
msgstr "Etiqueta" msgstr "Etiqueta"
#: web/templates/admin/campsite/index.gohtml:24 #: web/templates/admin/campsite/index.gohtml:78
msgctxt "header"
msgid "Type"
msgstr "Tipus"
#: web/templates/admin/campsite/index.gohtml:25
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Característiques"
#: web/templates/admin/campsite/index.gohtml:26
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrusel"
#: web/templates/admin/campsite/index.gohtml:36
#: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Edita les característiques"
#: web/templates/admin/campsite/index.gohtml:39
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Edita el carrusel"
#: web/templates/admin/campsite/index.gohtml:47
msgid "No campsites added yet." msgid "No campsites added yet."
msgstr "No sha afegit cap allotjament encara." msgstr "No sha afegit cap allotjament encara."
@ -1654,11 +1731,23 @@ msgctxt "action"
msgid "Add Type" msgid "Add Type"
msgstr "Afegeix tipus" msgstr "Afegeix tipus"
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Característiques"
#: web/templates/admin/campsite/type/index.gohtml:31 #: web/templates/admin/campsite/type/index.gohtml:31
msgctxt "header" msgctxt "header"
msgid "Options" msgid "Options"
msgstr "Opcions" msgstr "Opcions"
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrusel"
#: web/templates/admin/campsite/type/index.gohtml:48 #: web/templates/admin/campsite/type/index.gohtml:48
msgctxt "action" msgctxt "action"
msgid "Edit Options" msgid "Edit Options"
@ -2548,75 +2637,15 @@ 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:275 pkg/booking/public.go:172 #: pkg/campsite/admin.go:366 pkg/booking/public.go:172
#: pkg/booking/public.go:227 #: pkg/booking/public.go:227
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."
#: pkg/campsite/admin.go:276 pkg/amenity/admin.go:282 #: pkg/campsite/admin.go:367 pkg/amenity/admin.go:282
msgid "Label can not be empty." msgid "Label can not be empty."
msgstr "No podeu deixar letiqueta en blanc." msgstr "No podeu deixar letiqueta en blanc."
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "gener"
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "febrer"
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "març"
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "abril"
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "maig"
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "juny"
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "juliol"
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "agost"
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "setembre"
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "octubre"
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "novembre"
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "desembre"
#: pkg/season/admin.go:412 #: pkg/season/admin.go:412
msgid "Color can not be empty." msgid "Color can not be empty."
msgstr "No podeu deixar el color en blanc." msgstr "No podeu deixar el color en blanc."
@ -2956,6 +2985,10 @@ msgstr "No podeu deixar la població en blanc."
msgid "It is mandatory to agree to the reservation conditions." msgid "It is mandatory to agree to the reservation conditions."
msgstr "És obligatori acceptar les condicions de reserves." msgstr "És obligatori acceptar les condicions de reserves."
#~ msgctxt "header"
#~ msgid "Type"
#~ msgstr "Tipus"
#~ msgid "Postal code can not be empty." #~ msgid "Postal code can not be empty."
#~ msgstr "No podeu deixar el codi postal en blanc." #~ msgstr "No podeu deixar el codi postal en blanc."

303
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-03-24 21:59+0100\n" "POT-Creation-Date: 2024-04-19 11:18+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"
@ -134,7 +134,6 @@ msgstr "¿Tarjeta ACSI?"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -144,7 +143,6 @@ msgstr "Sí"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -489,6 +487,88 @@ msgstr "A menos de una hora de <strong>Girona</strong>, a una de <strong>La Bisb
msgid "Discover" msgid "Discover"
msgstr "Descubre" msgstr "Descubre"
#: web/templates/public/form.gohtml:28 web/templates/admin/form.gohtml:28
msgctxt "input"
msgid "Month"
msgstr "Mes"
#: web/templates/public/form.gohtml:30 web/templates/admin/form.gohtml:30
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "enero"
#: web/templates/public/form.gohtml:31 web/templates/admin/form.gohtml:31
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "febrero"
#: web/templates/public/form.gohtml:32 web/templates/admin/form.gohtml:32
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "marzo"
#: web/templates/public/form.gohtml:33 web/templates/admin/form.gohtml:33
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "abril"
#: web/templates/public/form.gohtml:34 web/templates/admin/form.gohtml:34
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "mayo"
#: web/templates/public/form.gohtml:35 web/templates/admin/form.gohtml:35
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "junio"
#: web/templates/public/form.gohtml:36 web/templates/admin/form.gohtml:36
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "julio"
#: web/templates/public/form.gohtml:37 web/templates/admin/form.gohtml:37
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "agosto"
#: web/templates/public/form.gohtml:38 web/templates/admin/form.gohtml:38
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "septiembre"
#: web/templates/public/form.gohtml:39 web/templates/admin/form.gohtml:39
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "octubre"
#: web/templates/public/form.gohtml:40 web/templates/admin/form.gohtml:40
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "noviembre"
#: web/templates/public/form.gohtml:41 web/templates/admin/form.gohtml:41
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "diciembre"
#: web/templates/public/form.gohtml:45 web/templates/admin/form.gohtml:45
msgctxt "input"
msgid "Year"
msgstr "Año"
#: web/templates/public/campsite/type.gohtml:49 #: web/templates/public/campsite/type.gohtml:49
#: web/templates/public/booking/fields.gohtml:273 #: web/templates/public/booking/fields.gohtml:273
msgctxt "action" msgctxt "action"
@ -1059,7 +1139,7 @@ msgid "Slug"
msgstr "Álias" msgstr "Álias"
#: web/templates/admin/legal/form.gohtml:50 #: web/templates/admin/legal/form.gohtml:50
#: web/templates/admin/campsite/feature/form.gohtml:50 #: web/templates/admin/campsite/feature/form.gohtml:51
#: web/templates/admin/campsite/type/feature/form.gohtml:59 #: web/templates/admin/campsite/type/feature/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:51 #: web/templates/admin/campsite/type/form.gohtml:51
#: web/templates/admin/campsite/type/option/form.gohtml:41 #: web/templates/admin/campsite/type/option/form.gohtml:41
@ -1080,9 +1160,9 @@ msgstr "Contenido"
#: web/templates/admin/legal/form.gohtml:88 #: web/templates/admin/legal/form.gohtml:88
#: web/templates/admin/carousel/form.gohtml:55 #: web/templates/admin/carousel/form.gohtml:55
#: web/templates/admin/campsite/feature/form.gohtml:65 #: web/templates/admin/campsite/feature/form.gohtml:66
#: web/templates/admin/campsite/carousel/form.gohtml:50 #: web/templates/admin/campsite/carousel/form.gohtml:51
#: web/templates/admin/campsite/form.gohtml:92 #: web/templates/admin/campsite/form.gohtml:96
#: web/templates/admin/campsite/type/feature/form.gohtml:74 #: web/templates/admin/campsite/type/feature/form.gohtml:74
#: web/templates/admin/campsite/type/carousel/form.gohtml:59 #: web/templates/admin/campsite/type/carousel/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:287 #: web/templates/admin/campsite/type/form.gohtml:287
@ -1102,9 +1182,9 @@ msgstr "Actualizar"
#: web/templates/admin/legal/form.gohtml:90 #: web/templates/admin/legal/form.gohtml:90
#: web/templates/admin/carousel/form.gohtml:57 #: web/templates/admin/carousel/form.gohtml:57
#: web/templates/admin/campsite/feature/form.gohtml:67 #: web/templates/admin/campsite/feature/form.gohtml:68
#: web/templates/admin/campsite/carousel/form.gohtml:52 #: web/templates/admin/campsite/carousel/form.gohtml:53
#: web/templates/admin/campsite/form.gohtml:94 #: web/templates/admin/campsite/form.gohtml:98
#: web/templates/admin/campsite/type/feature/form.gohtml:76 #: web/templates/admin/campsite/type/feature/form.gohtml:76
#: web/templates/admin/campsite/type/carousel/form.gohtml:61 #: web/templates/admin/campsite/type/carousel/form.gohtml:61
#: web/templates/admin/campsite/type/form.gohtml:289 #: web/templates/admin/campsite/type/form.gohtml:289
@ -1125,7 +1205,7 @@ msgid "Add Legal Text"
msgstr "Añadir texto legal" msgstr "Añadir texto legal"
#: web/templates/admin/legal/index.gohtml:20 #: web/templates/admin/legal/index.gohtml:20
#: web/templates/admin/campsite/feature/index.gohtml:30 #: web/templates/admin/campsite/feature/index.gohtml:31
#: web/templates/admin/campsite/type/feature/index.gohtml:31 #: web/templates/admin/campsite/type/feature/index.gohtml:31
#: web/templates/admin/campsite/type/option/index.gohtml:30 #: web/templates/admin/campsite/type/option/index.gohtml:30
#: web/templates/admin/campsite/type/index.gohtml:29 #: web/templates/admin/campsite/type/index.gohtml:29
@ -1155,7 +1235,7 @@ msgid "New Carousel Slide"
msgstr "Nueva diapositiva del carrusel" msgstr "Nueva diapositiva del carrusel"
#: web/templates/admin/carousel/form.gohtml:40 #: web/templates/admin/carousel/form.gohtml:40
#: web/templates/admin/campsite/carousel/form.gohtml:35 #: web/templates/admin/campsite/carousel/form.gohtml:36
#: web/templates/admin/campsite/type/carousel/form.gohtml:44 #: web/templates/admin/campsite/type/carousel/form.gohtml:44
#: web/templates/admin/amenity/carousel/form.gohtml:35 #: web/templates/admin/amenity/carousel/form.gohtml:35
msgctxt "input" msgctxt "input"
@ -1193,12 +1273,21 @@ msgid "New Campsite Feature"
msgstr "Nueva característica del alojamiento" msgstr "Nueva característica del alojamiento"
#: web/templates/admin/campsite/feature/form.gohtml:17 #: web/templates/admin/campsite/feature/form.gohtml:17
#: web/templates/admin/campsite/feature/index.gohtml:11
#: web/templates/admin/campsite/carousel/form.gohtml:17
#: web/templates/admin/campsite/carousel/index.gohtml:11
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Edición del alojamientos"
#: web/templates/admin/campsite/feature/form.gohtml:18
#: web/templates/admin/campsite/feature/index.gohtml:6 #: web/templates/admin/campsite/feature/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Features" msgid "Campsite Features"
msgstr "Características del alojamiento" msgstr "Características del alojamiento"
#: web/templates/admin/campsite/feature/form.gohtml:32 #: web/templates/admin/campsite/feature/form.gohtml:33
#: web/templates/admin/campsite/type/feature/form.gohtml:41 #: web/templates/admin/campsite/type/feature/form.gohtml:41
#: web/templates/admin/services/form.gohtml:35 #: web/templates/admin/services/form.gohtml:35
#: web/templates/admin/amenity/feature/form.gohtml:32 #: web/templates/admin/amenity/feature/form.gohtml:32
@ -1206,15 +1295,15 @@ msgctxt "input"
msgid "Icon" msgid "Icon"
msgstr "Icono" msgstr "Icono"
#: web/templates/admin/campsite/feature/index.gohtml:15 #: web/templates/admin/campsite/feature/index.gohtml:16
#: web/templates/admin/campsite/type/feature/index.gohtml:16 #: web/templates/admin/campsite/type/feature/index.gohtml:16
#: web/templates/admin/amenity/feature/index.gohtml:15 #: web/templates/admin/amenity/feature/index.gohtml:15
msgctxt "action" msgctxt "action"
msgid "Add Feature" msgid "Add Feature"
msgstr "Añadir características" msgstr "Añadir características"
#: web/templates/admin/campsite/feature/index.gohtml:31 #: web/templates/admin/campsite/feature/index.gohtml:32
#: web/templates/admin/campsite/carousel/index.gohtml:31 #: web/templates/admin/campsite/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/feature/index.gohtml:32 #: web/templates/admin/campsite/type/feature/index.gohtml:32
#: web/templates/admin/campsite/type/carousel/index.gohtml:32 #: web/templates/admin/campsite/type/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/option/index.gohtml:31 #: web/templates/admin/campsite/type/option/index.gohtml:31
@ -1231,14 +1320,14 @@ msgctxt "header"
msgid "Actions" msgid "Actions"
msgstr "Acciones" msgstr "Acciones"
#: web/templates/admin/campsite/feature/index.gohtml:35 #: web/templates/admin/campsite/feature/index.gohtml:36
#: web/templates/admin/campsite/type/feature/index.gohtml:36 #: web/templates/admin/campsite/type/feature/index.gohtml:36
#: web/templates/admin/amenity/feature/index.gohtml:35 #: web/templates/admin/amenity/feature/index.gohtml:35
msgid "Are you sure you wish to delete this feature?" msgid "Are you sure you wish to delete this feature?"
msgstr "¿Estáis seguro de querer borrar esta característica?" msgstr "¿Estáis seguro de querer borrar esta característica?"
#: web/templates/admin/campsite/feature/index.gohtml:47 #: web/templates/admin/campsite/feature/index.gohtml:48
#: web/templates/admin/campsite/carousel/index.gohtml:49 #: web/templates/admin/campsite/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/feature/index.gohtml:48 #: web/templates/admin/campsite/type/feature/index.gohtml:48
#: web/templates/admin/campsite/type/carousel/index.gohtml:50 #: web/templates/admin/campsite/type/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/option/index.gohtml:47 #: web/templates/admin/campsite/type/option/index.gohtml:47
@ -1256,7 +1345,7 @@ msgctxt "action"
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: web/templates/admin/campsite/feature/index.gohtml:56 #: web/templates/admin/campsite/feature/index.gohtml:57
msgid "No campsite features added yet." msgid "No campsite features added yet."
msgstr "No se ha añadido ninguna característica al alojamiento todavía." msgstr "No se ha añadido ninguna característica al alojamiento todavía."
@ -1270,13 +1359,13 @@ msgctxt "title"
msgid "New Campsite Carousel Slide" msgid "New Campsite Carousel Slide"
msgstr "Nueva diapositiva del carrusel del alojamiento" msgstr "Nueva diapositiva del carrusel del alojamiento"
#: web/templates/admin/campsite/carousel/form.gohtml:17 #: web/templates/admin/campsite/carousel/form.gohtml:18
#: web/templates/admin/campsite/carousel/index.gohtml:6 #: web/templates/admin/campsite/carousel/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Carousel" msgid "Campsite Carousel"
msgstr "Carrusel del alojamiento" msgstr "Carrusel del alojamiento"
#: web/templates/admin/campsite/carousel/index.gohtml:16 #: web/templates/admin/campsite/carousel/index.gohtml:17
#: web/templates/admin/campsite/type/carousel/index.gohtml:17 #: web/templates/admin/campsite/type/carousel/index.gohtml:17
#: web/templates/admin/services/index.gohtml:15 #: web/templates/admin/services/index.gohtml:15
#: web/templates/admin/amenity/carousel/index.gohtml:16 #: web/templates/admin/amenity/carousel/index.gohtml:16
@ -1285,7 +1374,7 @@ msgctxt "action"
msgid "Add slide" msgid "Add slide"
msgstr "Añadir diapositiva" msgstr "Añadir diapositiva"
#: web/templates/admin/campsite/carousel/index.gohtml:29 #: web/templates/admin/campsite/carousel/index.gohtml:30
#: web/templates/admin/campsite/type/carousel/index.gohtml:30 #: web/templates/admin/campsite/type/carousel/index.gohtml:30
#: web/templates/admin/services/index.gohtml:28 #: web/templates/admin/services/index.gohtml:28
#: web/templates/admin/surroundings/index.gohtml:82 #: web/templates/admin/surroundings/index.gohtml:82
@ -1296,7 +1385,7 @@ msgctxt "header"
msgid "Image" msgid "Image"
msgstr "Imagen" msgstr "Imagen"
#: web/templates/admin/campsite/carousel/index.gohtml:30 #: web/templates/admin/campsite/carousel/index.gohtml:31
#: web/templates/admin/campsite/type/carousel/index.gohtml:31 #: web/templates/admin/campsite/type/carousel/index.gohtml:31
#: web/templates/admin/services/index.gohtml:29 #: web/templates/admin/services/index.gohtml:29
#: web/templates/admin/amenity/carousel/index.gohtml:30 #: web/templates/admin/amenity/carousel/index.gohtml:30
@ -1306,7 +1395,7 @@ msgctxt "header"
msgid "Caption" msgid "Caption"
msgstr "Leyenda" msgstr "Leyenda"
#: web/templates/admin/campsite/carousel/index.gohtml:35 #: web/templates/admin/campsite/carousel/index.gohtml:36
#: web/templates/admin/campsite/type/carousel/index.gohtml:36 #: web/templates/admin/campsite/type/carousel/index.gohtml:36
#: web/templates/admin/services/index.gohtml:34 #: web/templates/admin/services/index.gohtml:34
#: web/templates/admin/amenity/carousel/index.gohtml:35 #: web/templates/admin/amenity/carousel/index.gohtml:35
@ -1314,7 +1403,7 @@ msgstr "Leyenda"
msgid "Are you sure you wish to delete this slide?" msgid "Are you sure you wish to delete this slide?"
msgstr "¿Estáis seguro de querer borrar esta diapositiva?" msgstr "¿Estáis seguro de querer borrar esta diapositiva?"
#: web/templates/admin/campsite/carousel/index.gohtml:58 #: web/templates/admin/campsite/carousel/index.gohtml:59
#: web/templates/admin/campsite/type/carousel/index.gohtml:59 #: web/templates/admin/campsite/type/carousel/index.gohtml:59
#: web/templates/admin/services/index.gohtml:56 #: web/templates/admin/services/index.gohtml:56
#: web/templates/admin/amenity/carousel/index.gohtml:58 #: web/templates/admin/amenity/carousel/index.gohtml:58
@ -1322,44 +1411,52 @@ msgstr "¿Estáis seguro de querer borrar esta diapositiva?"
msgid "No slides added yet." msgid "No slides added yet."
msgstr "No se ha añadido ninguna diapositiva todavía." msgstr "No se ha añadido ninguna diapositiva todavía."
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Edición del alojamientos"
#: web/templates/admin/campsite/form.gohtml:10 #: web/templates/admin/campsite/form.gohtml:10
msgctxt "title" msgctxt "title"
msgid "New Campsite" msgid "New Campsite"
msgstr "Nuevo alojamiento" msgstr "Nuevo alojamiento"
#: web/templates/admin/campsite/form.gohtml:33 #: web/templates/admin/campsite/form.gohtml:21
#: web/templates/admin/campsite/index.gohtml:27 #: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Editar las características"
#: web/templates/admin/campsite/form.gohtml:22
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Editar el carrusel"
#: web/templates/admin/campsite/form.gohtml:37
msgctxt "campsite" msgctxt "campsite"
msgid "Active" msgid "Active"
msgstr "Activo" msgstr "Activo"
#: web/templates/admin/campsite/form.gohtml:42 #: web/templates/admin/campsite/form.gohtml:46
msgctxt "input" msgctxt "input"
msgid "Campsite Type" msgid "Campsite Type"
msgstr "Tipo de alojamiento" msgstr "Tipo de alojamiento"
#: web/templates/admin/campsite/form.gohtml:47 #: web/templates/admin/campsite/form.gohtml:51
msgid "Select campsite type" msgid "Select campsite type"
msgstr "Escoged un tipo de alojamiento" msgstr "Escoged un tipo de alojamiento"
#: web/templates/admin/campsite/form.gohtml:56 #: web/templates/admin/campsite/form.gohtml:60
#: web/templates/admin/amenity/form.gohtml:42 #: web/templates/admin/amenity/form.gohtml:42
msgctxt "input" msgctxt "input"
msgid "Label" msgid "Label"
msgstr "Etiqueta" msgstr "Etiqueta"
#: web/templates/admin/campsite/form.gohtml:64 #: web/templates/admin/campsite/form.gohtml:68
#: web/templates/admin/amenity/form.gohtml:63 #: web/templates/admin/amenity/form.gohtml:63
msgctxt "input" msgctxt "input"
msgid "Info (First Column)" msgid "Info (First Column)"
msgstr "Información (primera columna)" msgstr "Información (primera columna)"
#: web/templates/admin/campsite/form.gohtml:77 #: web/templates/admin/campsite/form.gohtml:81
#: web/templates/admin/amenity/form.gohtml:76 #: web/templates/admin/amenity/form.gohtml:76
msgctxt "input" msgctxt "input"
msgid "Info (Second Column)" msgid "Info (Second Column)"
@ -1370,46 +1467,26 @@ msgctxt "action"
msgid "Add Campsite" msgid "Add Campsite"
msgstr "Añadir alojamiento" msgstr "Añadir alojamiento"
#: web/templates/admin/campsite/index.gohtml:23 #: web/templates/admin/campsite/index.gohtml:21
msgid "From Date"
msgstr "De la fecha"
#: web/templates/admin/campsite/index.gohtml:28
msgid "To Date"
msgstr "A la fecha"
#: web/templates/admin/campsite/index.gohtml:35
msgctxt "action"
msgid "Show"
msgstr "Mostrar"
#: web/templates/admin/campsite/index.gohtml:50
#: web/templates/admin/amenity/index.gohtml:20 #: web/templates/admin/amenity/index.gohtml:20
msgctxt "header" msgctxt "header"
msgid "Label" msgid "Label"
msgstr "Etiqueta" msgstr "Etiqueta"
#: web/templates/admin/campsite/index.gohtml:24 #: web/templates/admin/campsite/index.gohtml:78
msgctxt "header"
msgid "Type"
msgstr "Tipo"
#: web/templates/admin/campsite/index.gohtml:25
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Características"
#: web/templates/admin/campsite/index.gohtml:26
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrusel"
#: web/templates/admin/campsite/index.gohtml:36
#: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Editar las características"
#: web/templates/admin/campsite/index.gohtml:39
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Editar el carrusel"
#: web/templates/admin/campsite/index.gohtml:47
msgid "No campsites added yet." msgid "No campsites added yet."
msgstr "No se ha añadido ningún alojamiento todavía." msgstr "No se ha añadido ningún alojamiento todavía."
@ -1654,11 +1731,23 @@ msgctxt "action"
msgid "Add Type" msgid "Add Type"
msgstr "Añadir tipo" msgstr "Añadir tipo"
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Características"
#: web/templates/admin/campsite/type/index.gohtml:31 #: web/templates/admin/campsite/type/index.gohtml:31
msgctxt "header" msgctxt "header"
msgid "Options" msgid "Options"
msgstr "Opciones" msgstr "Opciones"
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrusel"
#: web/templates/admin/campsite/type/index.gohtml:48 #: web/templates/admin/campsite/type/index.gohtml:48
msgctxt "action" msgctxt "action"
msgid "Edit Options" msgid "Edit Options"
@ -2548,75 +2637,15 @@ 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:275 pkg/booking/public.go:172 #: pkg/campsite/admin.go:366 pkg/booking/public.go:172
#: pkg/booking/public.go:227 #: pkg/booking/public.go:227
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."
#: pkg/campsite/admin.go:276 pkg/amenity/admin.go:282 #: pkg/campsite/admin.go:367 pkg/amenity/admin.go:282
msgid "Label can not be empty." msgid "Label can not be empty."
msgstr "No podéis dejar la etiqueta en blanco." msgstr "No podéis dejar la etiqueta en blanco."
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "enero"
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "febrero"
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "marzo"
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "abril"
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "mayo"
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "junio"
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "julio"
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "agosto"
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "septiembre"
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "octubre"
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "noviembre"
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "diciembre"
#: pkg/season/admin.go:412 #: pkg/season/admin.go:412
msgid "Color can not be empty." msgid "Color can not be empty."
msgstr "No podéis dejar el color en blanco." msgstr "No podéis dejar el color en blanco."
@ -2956,6 +2985,10 @@ msgstr "No podéis dejar la población en blanco."
msgid "It is mandatory to agree to the reservation conditions." msgid "It is mandatory to agree to the reservation conditions."
msgstr "Es obligatorio aceptar las condiciones de reserva." msgstr "Es obligatorio aceptar las condiciones de reserva."
#~ msgctxt "header"
#~ msgid "Type"
#~ msgstr "Tipo"
#~ msgid "Postal code can not be empty." #~ msgid "Postal code 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."

303
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-03-24 21:59+0100\n" "POT-Creation-Date: 2024-04-19 11:18+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"
@ -134,7 +134,6 @@ msgstr "Carte ACSI ?"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -144,7 +143,6 @@ msgstr "Oui"
#: web/templates/mail/payment/details.gotxt:18 #: web/templates/mail/payment/details.gotxt:18
#: web/templates/admin/payment/details.gohtml:83 #: web/templates/admin/payment/details.gohtml:83
#: web/templates/admin/campsite/index.gohtml:41
#: web/templates/admin/campsite/type/index.gohtml:53 #: web/templates/admin/campsite/type/index.gohtml:53
#: web/templates/admin/season/index.gohtml:44 #: web/templates/admin/season/index.gohtml:44
#: web/templates/admin/user/login-attempts.gohtml:31 #: web/templates/admin/user/login-attempts.gohtml:31
@ -489,6 +487,88 @@ msgstr "À moins dune heure de <strong>Gérone</strong>, un de <strong>La Bis
msgid "Discover" msgid "Discover"
msgstr "Découvrir" msgstr "Découvrir"
#: web/templates/public/form.gohtml:28 web/templates/admin/form.gohtml:28
msgctxt "input"
msgid "Month"
msgstr "Mois"
#: web/templates/public/form.gohtml:30 web/templates/admin/form.gohtml:30
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "Janvier"
#: web/templates/public/form.gohtml:31 web/templates/admin/form.gohtml:31
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "Février"
#: web/templates/public/form.gohtml:32 web/templates/admin/form.gohtml:32
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "Mars"
#: web/templates/public/form.gohtml:33 web/templates/admin/form.gohtml:33
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "Avril"
#: web/templates/public/form.gohtml:34 web/templates/admin/form.gohtml:34
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "Mai"
#: web/templates/public/form.gohtml:35 web/templates/admin/form.gohtml:35
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "Juin"
#: web/templates/public/form.gohtml:36 web/templates/admin/form.gohtml:36
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "Juillet"
#: web/templates/public/form.gohtml:37 web/templates/admin/form.gohtml:37
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "Août"
#: web/templates/public/form.gohtml:38 web/templates/admin/form.gohtml:38
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "Septembre"
#: web/templates/public/form.gohtml:39 web/templates/admin/form.gohtml:39
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "Octobre"
#: web/templates/public/form.gohtml:40 web/templates/admin/form.gohtml:40
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "Novembre"
#: web/templates/public/form.gohtml:41 web/templates/admin/form.gohtml:41
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "Décembre"
#: web/templates/public/form.gohtml:45 web/templates/admin/form.gohtml:45
msgctxt "input"
msgid "Year"
msgstr "Année"
#: web/templates/public/campsite/type.gohtml:49 #: web/templates/public/campsite/type.gohtml:49
#: web/templates/public/booking/fields.gohtml:273 #: web/templates/public/booking/fields.gohtml:273
msgctxt "action" msgctxt "action"
@ -1059,7 +1139,7 @@ msgid "Slug"
msgstr "Slug" msgstr "Slug"
#: web/templates/admin/legal/form.gohtml:50 #: web/templates/admin/legal/form.gohtml:50
#: web/templates/admin/campsite/feature/form.gohtml:50 #: web/templates/admin/campsite/feature/form.gohtml:51
#: web/templates/admin/campsite/type/feature/form.gohtml:59 #: web/templates/admin/campsite/type/feature/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:51 #: web/templates/admin/campsite/type/form.gohtml:51
#: web/templates/admin/campsite/type/option/form.gohtml:41 #: web/templates/admin/campsite/type/option/form.gohtml:41
@ -1080,9 +1160,9 @@ msgstr "Contenu"
#: web/templates/admin/legal/form.gohtml:88 #: web/templates/admin/legal/form.gohtml:88
#: web/templates/admin/carousel/form.gohtml:55 #: web/templates/admin/carousel/form.gohtml:55
#: web/templates/admin/campsite/feature/form.gohtml:65 #: web/templates/admin/campsite/feature/form.gohtml:66
#: web/templates/admin/campsite/carousel/form.gohtml:50 #: web/templates/admin/campsite/carousel/form.gohtml:51
#: web/templates/admin/campsite/form.gohtml:92 #: web/templates/admin/campsite/form.gohtml:96
#: web/templates/admin/campsite/type/feature/form.gohtml:74 #: web/templates/admin/campsite/type/feature/form.gohtml:74
#: web/templates/admin/campsite/type/carousel/form.gohtml:59 #: web/templates/admin/campsite/type/carousel/form.gohtml:59
#: web/templates/admin/campsite/type/form.gohtml:287 #: web/templates/admin/campsite/type/form.gohtml:287
@ -1102,9 +1182,9 @@ msgstr "Mettre à jour"
#: web/templates/admin/legal/form.gohtml:90 #: web/templates/admin/legal/form.gohtml:90
#: web/templates/admin/carousel/form.gohtml:57 #: web/templates/admin/carousel/form.gohtml:57
#: web/templates/admin/campsite/feature/form.gohtml:67 #: web/templates/admin/campsite/feature/form.gohtml:68
#: web/templates/admin/campsite/carousel/form.gohtml:52 #: web/templates/admin/campsite/carousel/form.gohtml:53
#: web/templates/admin/campsite/form.gohtml:94 #: web/templates/admin/campsite/form.gohtml:98
#: web/templates/admin/campsite/type/feature/form.gohtml:76 #: web/templates/admin/campsite/type/feature/form.gohtml:76
#: web/templates/admin/campsite/type/carousel/form.gohtml:61 #: web/templates/admin/campsite/type/carousel/form.gohtml:61
#: web/templates/admin/campsite/type/form.gohtml:289 #: web/templates/admin/campsite/type/form.gohtml:289
@ -1125,7 +1205,7 @@ msgid "Add Legal Text"
msgstr "Ajouter un texte juridique" msgstr "Ajouter un texte juridique"
#: web/templates/admin/legal/index.gohtml:20 #: web/templates/admin/legal/index.gohtml:20
#: web/templates/admin/campsite/feature/index.gohtml:30 #: web/templates/admin/campsite/feature/index.gohtml:31
#: web/templates/admin/campsite/type/feature/index.gohtml:31 #: web/templates/admin/campsite/type/feature/index.gohtml:31
#: web/templates/admin/campsite/type/option/index.gohtml:30 #: web/templates/admin/campsite/type/option/index.gohtml:30
#: web/templates/admin/campsite/type/index.gohtml:29 #: web/templates/admin/campsite/type/index.gohtml:29
@ -1155,7 +1235,7 @@ msgid "New Carousel Slide"
msgstr "Nouveau diapositive carrousel" msgstr "Nouveau diapositive carrousel"
#: web/templates/admin/carousel/form.gohtml:40 #: web/templates/admin/carousel/form.gohtml:40
#: web/templates/admin/campsite/carousel/form.gohtml:35 #: web/templates/admin/campsite/carousel/form.gohtml:36
#: web/templates/admin/campsite/type/carousel/form.gohtml:44 #: web/templates/admin/campsite/type/carousel/form.gohtml:44
#: web/templates/admin/amenity/carousel/form.gohtml:35 #: web/templates/admin/amenity/carousel/form.gohtml:35
msgctxt "input" msgctxt "input"
@ -1193,12 +1273,21 @@ msgid "New Campsite Feature"
msgstr "Nouvelle caractéristique de camping" msgstr "Nouvelle caractéristique de camping"
#: web/templates/admin/campsite/feature/form.gohtml:17 #: web/templates/admin/campsite/feature/form.gohtml:17
#: web/templates/admin/campsite/feature/index.gohtml:11
#: web/templates/admin/campsite/carousel/form.gohtml:17
#: web/templates/admin/campsite/carousel/index.gohtml:11
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Modifier le camping"
#: web/templates/admin/campsite/feature/form.gohtml:18
#: web/templates/admin/campsite/feature/index.gohtml:6 #: web/templates/admin/campsite/feature/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Features" msgid "Campsite Features"
msgstr "Caractéristiques de camping" msgstr "Caractéristiques de camping"
#: web/templates/admin/campsite/feature/form.gohtml:32 #: web/templates/admin/campsite/feature/form.gohtml:33
#: web/templates/admin/campsite/type/feature/form.gohtml:41 #: web/templates/admin/campsite/type/feature/form.gohtml:41
#: web/templates/admin/services/form.gohtml:35 #: web/templates/admin/services/form.gohtml:35
#: web/templates/admin/amenity/feature/form.gohtml:32 #: web/templates/admin/amenity/feature/form.gohtml:32
@ -1206,15 +1295,15 @@ msgctxt "input"
msgid "Icon" msgid "Icon"
msgstr "Icône" msgstr "Icône"
#: web/templates/admin/campsite/feature/index.gohtml:15 #: web/templates/admin/campsite/feature/index.gohtml:16
#: web/templates/admin/campsite/type/feature/index.gohtml:16 #: web/templates/admin/campsite/type/feature/index.gohtml:16
#: web/templates/admin/amenity/feature/index.gohtml:15 #: web/templates/admin/amenity/feature/index.gohtml:15
msgctxt "action" msgctxt "action"
msgid "Add Feature" msgid "Add Feature"
msgstr "Ajouter une caractéristique" msgstr "Ajouter une caractéristique"
#: web/templates/admin/campsite/feature/index.gohtml:31 #: web/templates/admin/campsite/feature/index.gohtml:32
#: web/templates/admin/campsite/carousel/index.gohtml:31 #: web/templates/admin/campsite/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/feature/index.gohtml:32 #: web/templates/admin/campsite/type/feature/index.gohtml:32
#: web/templates/admin/campsite/type/carousel/index.gohtml:32 #: web/templates/admin/campsite/type/carousel/index.gohtml:32
#: web/templates/admin/campsite/type/option/index.gohtml:31 #: web/templates/admin/campsite/type/option/index.gohtml:31
@ -1231,14 +1320,14 @@ msgctxt "header"
msgid "Actions" msgid "Actions"
msgstr "Actions" msgstr "Actions"
#: web/templates/admin/campsite/feature/index.gohtml:35 #: web/templates/admin/campsite/feature/index.gohtml:36
#: web/templates/admin/campsite/type/feature/index.gohtml:36 #: web/templates/admin/campsite/type/feature/index.gohtml:36
#: web/templates/admin/amenity/feature/index.gohtml:35 #: web/templates/admin/amenity/feature/index.gohtml:35
msgid "Are you sure you wish to delete this feature?" msgid "Are you sure you wish to delete this feature?"
msgstr "Êtes-vous sûr de vouloir supprimer cette caractéristique ?" msgstr "Êtes-vous sûr de vouloir supprimer cette caractéristique ?"
#: web/templates/admin/campsite/feature/index.gohtml:47 #: web/templates/admin/campsite/feature/index.gohtml:48
#: web/templates/admin/campsite/carousel/index.gohtml:49 #: web/templates/admin/campsite/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/feature/index.gohtml:48 #: web/templates/admin/campsite/type/feature/index.gohtml:48
#: web/templates/admin/campsite/type/carousel/index.gohtml:50 #: web/templates/admin/campsite/type/carousel/index.gohtml:50
#: web/templates/admin/campsite/type/option/index.gohtml:47 #: web/templates/admin/campsite/type/option/index.gohtml:47
@ -1256,7 +1345,7 @@ msgctxt "action"
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: web/templates/admin/campsite/feature/index.gohtml:56 #: web/templates/admin/campsite/feature/index.gohtml:57
msgid "No campsite features added yet." msgid "No campsite features added yet."
msgstr "Aucune caractéristique de camping na encore été ajoutée." msgstr "Aucune caractéristique de camping na encore été ajoutée."
@ -1270,13 +1359,13 @@ msgctxt "title"
msgid "New Campsite Carousel Slide" msgid "New Campsite Carousel Slide"
msgstr "Nouveau diapositive de carrousel de camping" msgstr "Nouveau diapositive de carrousel de camping"
#: web/templates/admin/campsite/carousel/form.gohtml:17 #: web/templates/admin/campsite/carousel/form.gohtml:18
#: web/templates/admin/campsite/carousel/index.gohtml:6 #: web/templates/admin/campsite/carousel/index.gohtml:6
msgctxt "title" msgctxt "title"
msgid "Campsite Carousel" msgid "Campsite Carousel"
msgstr "Camping Carrousel" msgstr "Camping Carrousel"
#: web/templates/admin/campsite/carousel/index.gohtml:16 #: web/templates/admin/campsite/carousel/index.gohtml:17
#: web/templates/admin/campsite/type/carousel/index.gohtml:17 #: web/templates/admin/campsite/type/carousel/index.gohtml:17
#: web/templates/admin/services/index.gohtml:15 #: web/templates/admin/services/index.gohtml:15
#: web/templates/admin/amenity/carousel/index.gohtml:16 #: web/templates/admin/amenity/carousel/index.gohtml:16
@ -1285,7 +1374,7 @@ msgctxt "action"
msgid "Add slide" msgid "Add slide"
msgstr "Ajouter la diapositive" msgstr "Ajouter la diapositive"
#: web/templates/admin/campsite/carousel/index.gohtml:29 #: web/templates/admin/campsite/carousel/index.gohtml:30
#: web/templates/admin/campsite/type/carousel/index.gohtml:30 #: web/templates/admin/campsite/type/carousel/index.gohtml:30
#: web/templates/admin/services/index.gohtml:28 #: web/templates/admin/services/index.gohtml:28
#: web/templates/admin/surroundings/index.gohtml:82 #: web/templates/admin/surroundings/index.gohtml:82
@ -1296,7 +1385,7 @@ msgctxt "header"
msgid "Image" msgid "Image"
msgstr "Image" msgstr "Image"
#: web/templates/admin/campsite/carousel/index.gohtml:30 #: web/templates/admin/campsite/carousel/index.gohtml:31
#: web/templates/admin/campsite/type/carousel/index.gohtml:31 #: web/templates/admin/campsite/type/carousel/index.gohtml:31
#: web/templates/admin/services/index.gohtml:29 #: web/templates/admin/services/index.gohtml:29
#: web/templates/admin/amenity/carousel/index.gohtml:30 #: web/templates/admin/amenity/carousel/index.gohtml:30
@ -1306,7 +1395,7 @@ msgctxt "header"
msgid "Caption" msgid "Caption"
msgstr "Légende" msgstr "Légende"
#: web/templates/admin/campsite/carousel/index.gohtml:35 #: web/templates/admin/campsite/carousel/index.gohtml:36
#: web/templates/admin/campsite/type/carousel/index.gohtml:36 #: web/templates/admin/campsite/type/carousel/index.gohtml:36
#: web/templates/admin/services/index.gohtml:34 #: web/templates/admin/services/index.gohtml:34
#: web/templates/admin/amenity/carousel/index.gohtml:35 #: web/templates/admin/amenity/carousel/index.gohtml:35
@ -1314,7 +1403,7 @@ msgstr "Légende"
msgid "Are you sure you wish to delete this slide?" msgid "Are you sure you wish to delete this slide?"
msgstr "Êtes-vous sûr de vouloir supprimer cette diapositive ?" msgstr "Êtes-vous sûr de vouloir supprimer cette diapositive ?"
#: web/templates/admin/campsite/carousel/index.gohtml:58 #: web/templates/admin/campsite/carousel/index.gohtml:59
#: web/templates/admin/campsite/type/carousel/index.gohtml:59 #: web/templates/admin/campsite/type/carousel/index.gohtml:59
#: web/templates/admin/services/index.gohtml:56 #: web/templates/admin/services/index.gohtml:56
#: web/templates/admin/amenity/carousel/index.gohtml:58 #: web/templates/admin/amenity/carousel/index.gohtml:58
@ -1322,44 +1411,52 @@ msgstr "Êtes-vous sûr de vouloir supprimer cette diapositive ?"
msgid "No slides added yet." msgid "No slides added yet."
msgstr "Aucune diapositive na encore été ajoutée." msgstr "Aucune diapositive na encore été ajoutée."
#: web/templates/admin/campsite/form.gohtml:8
msgctxt "title"
msgid "Edit Campsite"
msgstr "Modifier le camping"
#: web/templates/admin/campsite/form.gohtml:10 #: web/templates/admin/campsite/form.gohtml:10
msgctxt "title" msgctxt "title"
msgid "New Campsite" msgid "New Campsite"
msgstr "Nouveau camping" msgstr "Nouveau camping"
#: web/templates/admin/campsite/form.gohtml:33 #: web/templates/admin/campsite/form.gohtml:21
#: web/templates/admin/campsite/index.gohtml:27 #: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Edit caractéristiques"
#: web/templates/admin/campsite/form.gohtml:22
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Modifier le carrousel"
#: web/templates/admin/campsite/form.gohtml:37
msgctxt "campsite" msgctxt "campsite"
msgid "Active" msgid "Active"
msgstr "Actif" msgstr "Actif"
#: web/templates/admin/campsite/form.gohtml:42 #: web/templates/admin/campsite/form.gohtml:46
msgctxt "input" msgctxt "input"
msgid "Campsite Type" msgid "Campsite Type"
msgstr "Type demplacement de camping" msgstr "Type demplacement de camping"
#: web/templates/admin/campsite/form.gohtml:47 #: web/templates/admin/campsite/form.gohtml:51
msgid "Select campsite type" msgid "Select campsite type"
msgstr "Sélectionnez le type demplacement" msgstr "Sélectionnez le type demplacement"
#: web/templates/admin/campsite/form.gohtml:56 #: web/templates/admin/campsite/form.gohtml:60
#: web/templates/admin/amenity/form.gohtml:42 #: web/templates/admin/amenity/form.gohtml:42
msgctxt "input" msgctxt "input"
msgid "Label" msgid "Label"
msgstr "Label" msgstr "Label"
#: web/templates/admin/campsite/form.gohtml:64 #: web/templates/admin/campsite/form.gohtml:68
#: web/templates/admin/amenity/form.gohtml:63 #: web/templates/admin/amenity/form.gohtml:63
msgctxt "input" msgctxt "input"
msgid "Info (First Column)" msgid "Info (First Column)"
msgstr "Info (première colonne)" msgstr "Info (première colonne)"
#: web/templates/admin/campsite/form.gohtml:77 #: web/templates/admin/campsite/form.gohtml:81
#: web/templates/admin/amenity/form.gohtml:76 #: web/templates/admin/amenity/form.gohtml:76
msgctxt "input" msgctxt "input"
msgid "Info (Second Column)" msgid "Info (Second Column)"
@ -1370,46 +1467,26 @@ msgctxt "action"
msgid "Add Campsite" msgid "Add Campsite"
msgstr "Ajouter un camping" msgstr "Ajouter un camping"
#: web/templates/admin/campsite/index.gohtml:23 #: web/templates/admin/campsite/index.gohtml:21
msgid "From Date"
msgstr "Partir de la date"
#: web/templates/admin/campsite/index.gohtml:28
msgid "To Date"
msgstr "À la date"
#: web/templates/admin/campsite/index.gohtml:35
msgctxt "action"
msgid "Show"
msgstr "Montrer"
#: web/templates/admin/campsite/index.gohtml:50
#: web/templates/admin/amenity/index.gohtml:20 #: web/templates/admin/amenity/index.gohtml:20
msgctxt "header" msgctxt "header"
msgid "Label" msgid "Label"
msgstr "Label" msgstr "Label"
#: web/templates/admin/campsite/index.gohtml:24 #: web/templates/admin/campsite/index.gohtml:78
msgctxt "header"
msgid "Type"
msgstr "Type"
#: web/templates/admin/campsite/index.gohtml:25
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Caractéristiques"
#: web/templates/admin/campsite/index.gohtml:26
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrousel"
#: web/templates/admin/campsite/index.gohtml:36
#: web/templates/admin/campsite/type/index.gohtml:45
#: web/templates/admin/amenity/index.gohtml:35
msgctxt "action"
msgid "Edit Features"
msgstr "Edit caractéristiques"
#: web/templates/admin/campsite/index.gohtml:39
#: web/templates/admin/campsite/type/index.gohtml:51
#: web/templates/admin/amenity/index.gohtml:38
msgctxt "action"
msgid "Edit Carousel"
msgstr "Modifier le carrousel"
#: web/templates/admin/campsite/index.gohtml:47
msgid "No campsites added yet." msgid "No campsites added yet."
msgstr "Aucun camping na encore été ajouté." msgstr "Aucun camping na encore été ajouté."
@ -1654,11 +1731,23 @@ msgctxt "action"
msgid "Add Type" msgid "Add Type"
msgstr "Ajouter un type" msgstr "Ajouter un type"
#: web/templates/admin/campsite/type/index.gohtml:30
#: web/templates/admin/amenity/index.gohtml:22
msgctxt "header"
msgid "Features"
msgstr "Caractéristiques"
#: web/templates/admin/campsite/type/index.gohtml:31 #: web/templates/admin/campsite/type/index.gohtml:31
msgctxt "header" msgctxt "header"
msgid "Options" msgid "Options"
msgstr "Options" msgstr "Options"
#: web/templates/admin/campsite/type/index.gohtml:32
#: web/templates/admin/amenity/index.gohtml:23
msgctxt "header"
msgid "Carousel"
msgstr "Carrousel"
#: web/templates/admin/campsite/type/index.gohtml:48 #: web/templates/admin/campsite/type/index.gohtml:48
msgctxt "action" msgctxt "action"
msgid "Edit Options" msgid "Edit Options"
@ -2548,75 +2637,15 @@ 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:275 pkg/booking/public.go:172 #: pkg/campsite/admin.go:366 pkg/booking/public.go:172
#: pkg/booking/public.go:227 #: pkg/booking/public.go:227
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."
#: pkg/campsite/admin.go:276 pkg/amenity/admin.go:282 #: pkg/campsite/admin.go:367 pkg/amenity/admin.go:282
msgid "Label can not be empty." msgid "Label can not be empty."
msgstr "L'étiquette ne peut pas être vide." msgstr "L'étiquette ne peut pas être vide."
#: pkg/season/admin.go:183
msgctxt "month"
msgid "January"
msgstr "Janvier"
#: pkg/season/admin.go:184
msgctxt "month"
msgid "February"
msgstr "Février"
#: pkg/season/admin.go:185
msgctxt "month"
msgid "March"
msgstr "Mars"
#: pkg/season/admin.go:186
msgctxt "month"
msgid "April"
msgstr "Avril"
#: pkg/season/admin.go:187
msgctxt "month"
msgid "May"
msgstr "Mai"
#: pkg/season/admin.go:188
msgctxt "month"
msgid "June"
msgstr "Juin"
#: pkg/season/admin.go:189
msgctxt "month"
msgid "July"
msgstr "Juillet"
#: pkg/season/admin.go:190
msgctxt "month"
msgid "August"
msgstr "Août"
#: pkg/season/admin.go:191
msgctxt "month"
msgid "September"
msgstr "Septembre"
#: pkg/season/admin.go:192
msgctxt "month"
msgid "October"
msgstr "Octobre"
#: pkg/season/admin.go:193
msgctxt "month"
msgid "November"
msgstr "Novembre"
#: pkg/season/admin.go:194
msgctxt "month"
msgid "December"
msgstr "Décembre"
#: pkg/season/admin.go:412 #: pkg/season/admin.go:412
msgid "Color can not be empty." msgid "Color can not be empty."
msgstr "La couleur ne peut pas être vide." msgstr "La couleur ne peut pas être vide."
@ -2956,6 +2985,10 @@ msgstr "La ville ne peut pas être vide."
msgid "It is mandatory to agree to the reservation conditions." msgid "It is mandatory to agree to the reservation conditions."
msgstr "Il est obligatoire daccepter les conditions de réservation." msgstr "Il est obligatoire daccepter les conditions de réservation."
#~ msgctxt "header"
#~ msgid "Type"
#~ msgstr "Type"
#~ msgid "Postal code can not be empty." #~ msgid "Postal code can not be empty."
#~ msgstr "Le code postal ne peut pas être vide." #~ msgstr "Le code postal ne peut pas être vide."

View File

@ -769,3 +769,75 @@ label[x-show] > span, label[x-show] > br {
} }
/*</editor-fold>*/ /*</editor-fold>*/
/*<editor-fold desc="Campsites Booking">*/
#campsites-booking {
height: 90vh;
overflow: scroll;
}
#campsites-booking table {
width: auto;
}
#campsites-booking .weekend {
background-color: var(--camper--color--rosy);
}
#campsites-booking colgroup {
border-right: 2px solid;
}
#campsites-booking col {
border: 1px solid;
min-width: 2.25ch;
max-width: 2.25ch;
}
#campsites-booking th {
background-color: var(--camper--background-color);
background-clip: padding-box;
}
#campsites-booking thead tr:first-child th, #campsites-booking tbody th {
padding: 0 .5ch;
}
#campsites-booking thead tr:last-child th {
padding: 0;
text-align: center;
}
#campsites-booking thead {
position: sticky;
top: 0;
}
#campsites-booking tbody th {
position: sticky;
left: 0;
}
#booking-filter, #booking-filter fieldset {
display: flex;
gap: 1ch;
}
#booking-filter label, #booking-filter fieldset + fieldset, #booking-filter footer {
margin-top: 0;
}
#booking-filter input[type="number"] {
width: 9ch;
}
#booking-filter footer {
align-self: end;
}
#booking-filter button {
min-width: unset;
padding: .25em 1em;
}
/*</editor-fold>*/

View File

@ -14,6 +14,7 @@
{{ define "breadcrumb" -}} {{ define "breadcrumb" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite/types.slideForm*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite/types.slideForm*/ -}}
<li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li> <li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}">{{( pgettext "Edit Campsite" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}/slides">{{( pgettext "Campsite Carousel" "title" )}}</a></li> <li><a href="/admin/campsites/{{ .Label }}/slides">{{( pgettext "Campsite Carousel" "title" )}}</a></li>
{{- end }} {{- end }}

View File

@ -8,6 +8,7 @@
{{ define "breadcrumb" -}} {{ define "breadcrumb" -}}
<li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li> <li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}">{{( pgettext "Edit Campsite" "title" )}}</a></li>
{{- end }} {{- end }}
{{ define "content" -}} {{ define "content" -}}

View File

@ -14,6 +14,7 @@
{{ define "breadcrumb" -}} {{ define "breadcrumb" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.featureForm*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.featureForm*/ -}}
<li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li> <li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}">{{( pgettext "Edit Campsite" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}/features">{{( pgettext "Campsite Features" "title" )}}</a></li> <li><a href="/admin/campsites/{{ .Label }}/features">{{( pgettext "Campsite Features" "title" )}}</a></li>
{{- end }} {{- end }}

View File

@ -8,6 +8,7 @@
{{ define "breadcrumb" -}} {{ define "breadcrumb" -}}
<li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li> <li><a href="/admin/campsites">{{( pgettext "Campsites" "title" )}}</a></li>
<li><a href="/admin/campsites/{{ .Label }}">{{( pgettext "Edit Campsite" "title" )}}</a></li>
{{- end }} {{- end }}
{{ define "content" -}} {{ define "content" -}}

View File

@ -17,6 +17,10 @@
{{ define "content" -}} {{ define "content" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.campsiteForm*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.campsiteForm*/ -}}
{{ if .ID -}}
<a href="/admin/campsites/{{ .CurrentLabel }}/features">{{( pgettext "Edit Features" "action" )}}</a>
<a href="/admin/campsites/{{ .CurrentLabel }}/slides">{{( pgettext "Edit Carousel" "action" )}}</a>
{{- end }}
<form <form
{{- if .ID }} data-hx-put="/admin/campsites/{{ .CurrentLabel }}" {{- if .ID }} data-hx-put="/admin/campsites/{{ .CurrentLabel }}"
{{- else }} action="/admin/campsites" method="post" {{- else }} action="/admin/campsites" method="post"

View File

@ -13,43 +13,68 @@
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.campsiteIndex*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/campsite.campsiteIndex*/ -}}
<a href="/admin/campsites/new">{{( pgettext "Add Campsite" "action" )}}</a> <a href="/admin/campsites/new">{{( pgettext "Add Campsite" "action" )}}</a>
<h2>{{( pgettext "Campsites" "title" )}}</h2> <h2>{{( pgettext "Campsites" "title" )}}</h2>
<div id="campground_map">
{{ template "campground_map.svg" }}
</div>
{{ if .Campsites -}} {{ if .Campsites -}}
<table> <form id="booking-filter">
<thead> <fieldset>
<tr> {{ with .From -}}
<th scope="col">{{( pgettext "Label" "header" )}}</th> <fieldset>
<th scope="col">{{( pgettext "Type" "header" )}}</th> <legend>{{( gettext "From Date" )}}</legend>
<th scope="col">{{( pgettext "Features" "header" )}}</th> {{ template "month-input" . }}
<th scope="col">{{( pgettext "Carousel" "header" )}}</th> {{ template "error-message" . }}
<th scope="col">{{( pgettext "Active" "campsite" )}}</th> </fieldset>
</tr> {{- end }}
</thead> {{ with .To -}}
<tbody> <fieldset>
{{ range .Campsites -}} <legend>{{( gettext "To Date" )}}</legend>
{{ template "month-input" . }}
{{ template "error-message" . }}
</fieldset>
{{- end }}
</fieldset>
<footer>
<button type="submit">{{( pgettext "Show" "action" )}}</button>
</footer>
</form>
<div id="campsites-booking">
<table>
<colgroup></colgroup>
{{ range .Months }}
<colgroup>
{{ range .Spans }}
<col span="{{ .Count }}" class="{{ if .Weekend }}weekend{{ else }}weekday{{ end }}">
{{- end }}
</colgroup>
{{- end }}
<thead>
<tr> <tr>
<td><a href="/admin/campsites/{{ .Label }}">{{ .Label }}</a></td> <th scope="col" rowspan="2">{{( pgettext "Label" "header" )}}</th>
<td>{{ .Type }}</td> {{ range .Months }}
<td> <th scope="col" colspan="{{ len .Days }}">{{ pgettext .Name "month" }} {{ .Year }}</th>
<a href="/admin/campsites/{{ .Label }}/features">{{( pgettext "Edit Features" "action" )}}</a> {{- end }}
</td>
<td>
<a href="/admin/campsites/{{ .Label }}/slides">{{( pgettext "Edit Carousel" "action" )}}</a>
</td>
<td>{{ if .Active }}{{( gettext "Yes" )}}{{ else }}{{( gettext "No" )}}{{ end }}</td>
</tr> </tr>
{{- end }} <tr>
</tbody> {{ range .Months }}
</table> {{ range .Days }}
<th scope="col">{{ .Day }}</th>
{{- end }}
{{- end }}
</tr>
</thead>
<tbody>
{{ range .Campsites -}}
<tr>
<th scope="row"><a href="/admin/campsites/{{ .Label }}">{{ .Label }}</a></th>
{{ range $.Months }}
{{ range .Days }}
<td></td>
{{- end }}
{{- end }}
</tr>
{{- end }}
</tbody>
</table>
</div>
{{ else -}} {{ else -}}
<p>{{( gettext "No campsites added yet." )}}</p> <p>{{( gettext "No campsites added yet." )}}</p>
{{- end }} {{- end }}
<script type="module">
import {setupCampgroundMap} from "/static/camper.js?v=";
setupCampgroundMap(document.getElementById('campground_map'));
</script>
{{- end }} {{- end }}

View File

@ -23,6 +23,30 @@
{{- end }} {{- end }}
{{- end }} {{- end }}
{{ define "month-input" -}}
<label>
<span class="sr-only">{{( pgettext "Month" "input" )}}</span>
<select name="{{ .Name }}.month">
<option value="1"{{ if eq .Month 1}} selected{{ end }}>{{( pgettext "January" "month" )}}</option>
<option value="2"{{ if eq .Month 2}} selected{{ end }}>{{( pgettext "February" "month" )}}</option>
<option value="3"{{ if eq .Month 3}} selected{{ end }}>{{( pgettext "March" "month" )}}</option>
<option value="4"{{ if eq .Month 4}} selected{{ end }}>{{( pgettext "April" "month" )}}</option>
<option value="5"{{ if eq .Month 5}} selected{{ end }}>{{( pgettext "May" "month" )}}</option>
<option value="6"{{ if eq .Month 6}} selected{{ end }}>{{( pgettext "June" "month" )}}</option>
<option value="7"{{ if eq .Month 7}} selected{{ end }}>{{( pgettext "July" "month" )}}</option>
<option value="8"{{ if eq .Month 8}} selected{{ end }}>{{( pgettext "August" "month" )}}</option>
<option value="9"{{ if eq .Month 9}} selected{{ end }}>{{( pgettext "September" "month" )}}</option>
<option value="10"{{ if eq .Month 10}} selected{{ end }}>{{( pgettext "October" "month" )}}</option>
<option value="11"{{ if eq .Month 11}} selected{{ end }}>{{( pgettext "November" "month" )}}</option>
<option value="12"{{ if eq .Month 12}} selected{{ end }}>{{( pgettext "December" "month" )}}</option>
</select>
</label>
<label>
<span class="sr-only">{{( pgettext "Year" "input" )}}</span>
<input name="{{ .Name }}.year" type="number" value="{{ .Year }}">
</label>
{{- end }}
{{ define "media-picker" -}} {{ define "media-picker" -}}
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/form.Media*/ -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/form.Media*/ -}}
<fieldset data-hx-target="this" data-hx-swap="outerHTML"> <fieldset data-hx-target="this" data-hx-swap="outerHTML">