diff --git a/pkg/auth/company.go b/pkg/auth/company.go index 8f2ef67..41908c8 100644 --- a/pkg/auth/company.go +++ b/pkg/auth/company.go @@ -21,6 +21,10 @@ type Company struct { Locales locale.Locales } +func (c Company) DefaultLocale() *locale.Locale { + return c.Locales[c.DefaultLanguage] +} + func CompanyByHost(ctx context.Context, conn *database.Conn, host string, allLocales locale.Locales) (*Company, error) { company := &Company{ Locales: allLocales, diff --git a/pkg/payment/public.go b/pkg/payment/public.go index f671e84..6287f30 100644 --- a/pkg/payment/public.go +++ b/pkg/payment/public.go @@ -4,6 +4,7 @@ import ( "context" "fmt" ht "html/template" + "log" "net/http" tt "text/template" "time" @@ -248,7 +249,9 @@ func handleNotification(w http.ResponseWriter, r *http.Request, user *auth.User, } switch status { case StatusCompleted: - _ = sendEmail(r.Context(), conn, payment, company, user.Locale) /* shrug */ + if err := sendEmail(r, conn, payment, company, user.Locale); err != nil { + log.Println("Could not send email:", err) + } default: } w.WriteHeader(http.StatusOK) @@ -272,6 +275,12 @@ type CompletedEmail struct { CompanyAddress *address } +type NotificationEmail struct { + CompanyName string + BaseURL string + Details *paymentDetails +} + type address struct { TradeName string Address string @@ -281,7 +290,7 @@ type address struct { Country string } -func sendEmail(ctx context.Context, conn *database.Conn, payment *Payment, company *auth.Company, locale *locale.Locale) error { +func sendEmail(r *http.Request, conn *database.Conn, payment *Payment, company *auth.Company, locale *locale.Locale) error { email := &CompletedEmail{ CurrentLocale: locale.Language.String(), PaymentReference: payment.Reference, @@ -292,7 +301,7 @@ func sendEmail(ctx context.Context, conn *database.Conn, payment *Payment, compa var fromAddress string var toAddress string - if err := conn.QueryRow(ctx, ` + if err := conn.QueryRow(r.Context(), ` select company.email::text , customer.email::text , customer.full_name @@ -329,6 +338,24 @@ func sendEmail(ctx context.Context, conn *database.Conn, payment *Payment, compa return err } + details, notificationErr := fetchPaymentDetails(r.Context(), conn, payment.Slug, company.DefaultLocale()) + if notificationErr == nil { + schema := httplib.Protocol(r) + authority := httplib.Host(r) + notification := &NotificationEmail{ + CompanyName: email.CompanyAddress.TradeName, + BaseURL: fmt.Sprintf("%s://%s/admin/payments/%s", schema, authority, payment.Slug), + Details: details, + } + notificationErr = sendEmailTemplate(fromAddress, fromAddress, notification, company, "details.go", false, company.DefaultLocale()) + } + if err := sendEmailTemplate(fromAddress, toAddress, email, company, "body.go", true, locale); err != nil { + return err + } + return notificationErr +} + +func sendEmailTemplate(fromAddress string, toAddress string, data interface{}, company *auth.Company, baseTemplate string, addAlternativeHTML bool, locale *locale.Locale) error { m := mail.NewMsg() if err := m.From(fromAddress); err != nil { return err @@ -341,29 +368,32 @@ func sendEmail(ctx context.Context, conn *database.Conn, payment *Payment, compa } m.Subject(locale.Pgettext("Booking payment successfully received", "subject")) - baseTemplate := "body.go" baseFilename := "web/templates/mail/payment/" + baseTemplate body, err := tt.New(baseTemplate + "txt").Funcs(tt.FuncMap{ "gettext": locale.Get, "pgettext": locale.GetC, + "formatPrice": func(price string) string { + return template.FormatPrice(price, locale.Language, locale.CurrencyPattern, company.DecimalDigits, company.CurrencySymbol) + }, }).ParseFiles(baseFilename + "txt") if err != nil { return err } - if err := m.SetBodyTextTemplate(body, email); err != nil { + if err := m.SetBodyTextTemplate(body, data); err != nil { return err } - - alternative, err := ht.New(baseTemplate + "html").Funcs(tt.FuncMap{ - "gettext": locale.Get, - "pgettext": locale.GetC, - "raw": func(s string) ht.HTML { return ht.HTML(s) }, - }).ParseFiles(baseFilename + "html") - if err != nil { - return err - } - if err := m.AddAlternativeHTMLTemplate(alternative, email); err != nil { - return err + if addAlternativeHTML { + alternative, err := ht.New(baseTemplate + "html").Funcs(tt.FuncMap{ + "gettext": locale.Get, + "pgettext": locale.GetC, + "raw": func(s string) ht.HTML { return ht.HTML(s) }, + }).ParseFiles(baseFilename + "html") + if err != nil { + return err + } + if err := m.AddAlternativeHTMLTemplate(alternative, data); err != nil { + return err + } } return m.WriteToSendmail() } diff --git a/po/ca.po b/po/ca.po index 296c821..a95bbb4 100644 --- a/po/ca.po +++ b/po/ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-27 19:39+0100\n" +"POT-Creation-Date: 2024-02-29 16:55+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Catalan \n" @@ -59,21 +59,255 @@ msgctxt "tooltip" msgid "Zone 1" msgstr "Zona 1" -#: web/templates/mail/payment/body.gohtml:6 -msgctxt "title" -msgid "Booking Payment Notification" -msgstr "Notificació de pagament de reserva" - +#: web/templates/mail/payment/details.gotxt:1 #: web/templates/mail/payment/body.gohtml:33 #: web/templates/mail/payment/body.gotxt:1 msgid "Hi %s," msgstr "Hola %s," +#: web/templates/mail/payment/details.gotxt:3 #: web/templates/mail/payment/body.gohtml:35 #: web/templates/mail/payment/body.gotxt:3 msgid "We have successfully received the payment for the booking with the following details:" msgstr "Hem rebut amb èxit el pagament de la reserva amb els següents detalls:" +#: web/templates/mail/payment/details.gotxt:7 +#: web/templates/admin/payment/details.gohtml:19 +msgctxt "title" +msgid "Payment" +msgstr "Pagament" + +#: web/templates/mail/payment/details.gotxt:9 +#: web/templates/admin/payment/index.gohtml:21 +#: web/templates/admin/payment/details.gohtml:22 +#: web/templates/admin/booking/index.gohtml:21 +msgctxt "header" +msgid "Reference" +msgstr "Referència" + +#: web/templates/mail/payment/details.gotxt:10 +#: web/templates/admin/payment/index.gohtml:22 +#: web/templates/admin/payment/details.gohtml:26 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "header" +msgid "Status" +msgstr "Estat" + +#: web/templates/mail/payment/details.gotxt:11 +#: web/templates/admin/payment/details.gohtml:30 +msgctxt "payment header" +msgid "Created at" +msgstr "Creat el" + +#: web/templates/mail/payment/details.gotxt:12 +#: web/templates/admin/payment/details.gohtml:34 +msgctxt "payment header" +msgid "Last updated at" +msgstr "Actualitzat per darrera vegada el" + +#: web/templates/mail/payment/details.gotxt:14 +#: web/templates/public/layout.gohtml:71 +#: web/templates/public/booking/page.gohtml:7 +#: web/templates/admin/payment/details.gohtml:41 +msgctxt "title" +msgid "Booking" +msgstr "Reserva" + +#: web/templates/mail/payment/details.gotxt:16 +#: web/templates/public/booking/fields.gohtml:14 +#: web/templates/admin/payment/details.gohtml:44 +msgctxt "title" +msgid "Accommodation" +msgstr "Allotjament" + +#: web/templates/mail/payment/details.gotxt:17 +#: web/templates/admin/payment/details.gohtml:48 +msgctxt "header" +msgid "Area preferences" +msgstr "Preferències d’àrea" + +#: web/templates/mail/payment/details.gotxt:18 +#: web/templates/public/campsite/dates.gohtml:4 +#: web/templates/public/booking/fields.gohtml:30 +#: web/templates/admin/payment/details.gohtml:52 +msgctxt "input" +msgid "Arrival date" +msgstr "Data d’arribada" + +#: web/templates/mail/payment/details.gotxt:19 +#: web/templates/public/campsite/dates.gohtml:15 +#: web/templates/public/booking/fields.gohtml:41 +#: web/templates/admin/payment/details.gohtml:56 +msgctxt "input" +msgid "Departure date" +msgstr "Data de sortida" + +#: web/templates/mail/payment/details.gotxt:20 +#: web/templates/admin/payment/details.gohtml:60 +msgctxt "cart" +msgid "Nights" +msgstr "Nits" + +#: web/templates/mail/payment/details.gotxt:21 +#: web/templates/public/booking/fields.gohtml:60 +#: web/templates/admin/payment/details.gohtml:64 +msgctxt "input" +msgid "Adults aged 17 or older" +msgstr "Adults de 17 anys o més" + +#: web/templates/mail/payment/details.gotxt:22 +#: web/templates/public/booking/fields.gohtml:71 +#: web/templates/admin/payment/details.gohtml:68 +msgctxt "input" +msgid "Teenagers from 11 to 16 years old" +msgstr "Adolescents d’entre 11 i 16 anys" + +#: web/templates/mail/payment/details.gotxt:23 +#: web/templates/public/booking/fields.gohtml:82 +#: web/templates/admin/payment/details.gohtml:72 +msgctxt "input" +msgid "Children from 2 to 10 years old" +msgstr "Nens d’entre 2 i 10 anys" + +#: web/templates/mail/payment/details.gotxt:24 +#: web/templates/public/booking/fields.gohtml:100 +#: web/templates/admin/payment/details.gohtml:76 +msgctxt "input" +msgid "Dogs" +msgstr "Gossos" + +#: web/templates/mail/payment/details.gotxt:25 +#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 +msgctxt "cart" +msgid "Tourist tax" +msgstr "Impost turístic" + +#: web/templates/mail/payment/details.gotxt:26 +#: web/templates/public/booking/fields.gohtml:242 +msgctxt "cart" +msgid "Total" +msgstr "Total" + +#: web/templates/mail/payment/details.gotxt:27 +#: web/templates/public/booking/fields.gohtml:247 +#: web/templates/admin/payment/details.gohtml:84 +msgctxt "cart" +msgid "Down payment" +msgstr "A compte" + +#: web/templates/mail/payment/details.gotxt:30 +#: web/templates/admin/payment/details.gohtml:92 +#: web/templates/admin/campsite/type/option/form.gohtml:18 +#: web/templates/admin/campsite/type/option/index.gohtml:6 +#: web/templates/admin/campsite/type/option/index.gohtml:17 +msgctxt "title" +msgid "Campsite Type Options" +msgstr "Opcions del tipus d’allotjament" + +#: web/templates/mail/payment/details.gotxt:38 +#: web/templates/public/booking/fields.gohtml:146 +#: web/templates/admin/payment/details.gohtml:106 +msgctxt "title" +msgid "Customer Details" +msgstr "Detalls del client" + +#: web/templates/mail/payment/details.gotxt:40 +#: web/templates/public/booking/fields.gohtml:149 +#: web/templates/admin/payment/details.gohtml:109 +msgctxt "input" +msgid "Full name" +msgstr "Nom i cognoms" + +#: web/templates/mail/payment/details.gotxt:41 +#: web/templates/public/booking/fields.gohtml:158 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 +msgctxt "input" +msgid "Address" +msgstr "Adreça" + +#: web/templates/mail/payment/details.gotxt:42 +#: web/templates/public/booking/fields.gohtml:167 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 +msgctxt "input" +msgid "Postcode" +msgstr "Codi postal" + +#: web/templates/mail/payment/details.gotxt:43 +#: web/templates/admin/payment/details.gohtml:121 +#: web/templates/admin/taxDetails.gohtml:77 +msgctxt "input" +msgid "City" +msgstr "Població" + +#: web/templates/mail/payment/details.gotxt:44 +#: web/templates/public/booking/fields.gohtml:185 +#: web/templates/admin/payment/details.gohtml:125 +#: web/templates/admin/taxDetails.gohtml:101 +msgctxt "input" +msgid "Country" +msgstr "País" + +#: web/templates/mail/payment/details.gotxt:45 +#: web/templates/public/booking/fields.gohtml:196 +#: web/templates/admin/payment/details.gohtml:129 +#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 +#: web/templates/admin/taxDetails.gohtml:53 +msgctxt "input" +msgid "Email" +msgstr "Correu-e" + +#: web/templates/mail/payment/details.gotxt:46 +#: web/templates/public/booking/fields.gohtml:205 +#: web/templates/admin/payment/details.gohtml:133 +#: web/templates/admin/taxDetails.gohtml:45 +msgctxt "input" +msgid "Phone" +msgstr "Telèfon" + +#: web/templates/mail/payment/details.gotxt:47 +#: web/templates/admin/payment/details.gohtml:137 +#: web/templates/admin/profile.gohtml:68 +msgctxt "input" +msgid "Language" +msgstr "Idioma" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:141 +msgctxt "input" +msgid "ACSI card?" +msgstr "Targeta ACSI?" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "Yes" +msgstr "Sí" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "No" +msgstr "No" + +#: web/templates/mail/payment/details.gotxt:54 +msgid "Best regards," +msgstr "Salutacions," + +#: web/templates/mail/payment/body.gohtml:6 +msgctxt "title" +msgid "Booking Payment Notification" +msgstr "Notificació de pagament de reserva" + #: web/templates/mail/payment/body.gohtml:37 msgid "Payment reference: %s" msgstr "Referència de pagament: %s" @@ -185,7 +419,7 @@ msgstr "A compte" #: web/templates/public/services.gohtml:7 #: web/templates/public/services.gohtml:16 -#: web/templates/public/layout.gohtml:67 web/templates/public/layout.gohtml:95 +#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 #: web/templates/admin/services/index.gohtml:59 msgctxt "title" msgid "Services" @@ -204,14 +438,14 @@ msgstr "Característiques" #: web/templates/public/location.gohtml:7 #: web/templates/public/location.gohtml:13 -#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 +#: web/templates/public/layout.gohtml:70 web/templates/public/layout.gohtml:98 #: web/templates/admin/layout.gohtml:64 msgctxt "title" msgid "Location" msgstr "Com arribar" -#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:53 -#: web/templates/public/layout.gohtml:93 +#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:54 +#: web/templates/public/layout.gohtml:94 msgctxt "title" msgid "Home" msgstr "Inici" @@ -232,7 +466,7 @@ msgstr "Els nostres serveis" #: web/templates/public/home.gohtml:44 #: web/templates/public/surroundings.gohtml:7 #: web/templates/public/surroundings.gohtml:12 -#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 +#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 #: web/templates/admin/surroundings/form.gohtml:15 #: web/templates/admin/layout.gohtml:67 msgctxt "title" @@ -256,7 +490,7 @@ msgid "Discover" msgstr "Descobreix" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:268 +#: web/templates/public/booking/fields.gohtml:269 msgctxt "action" msgid "Book" msgstr "Reserva" @@ -378,20 +612,6 @@ msgctxt "day" msgid "Sun" msgstr "dg" -#: web/templates/public/campsite/dates.gohtml:4 -#: web/templates/public/booking/fields.gohtml:29 -#: web/templates/admin/payment/details.gohtml:52 -msgctxt "input" -msgid "Arrival date" -msgstr "Data d’arribada" - -#: web/templates/public/campsite/dates.gohtml:15 -#: web/templates/public/booking/fields.gohtml:40 -#: web/templates/admin/payment/details.gohtml:56 -msgctxt "input" -msgid "Departure date" -msgstr "Data de sortida" - #: web/templates/public/surroundings.gohtml:30 msgctxt "title" msgid "What to Do Outside the Campsite?" @@ -436,7 +656,7 @@ msgstr "Hi ha diversos punts on poder anar amb caiac, des de trams del riu Ter c #: web/templates/public/campground.gohtml:7 #: web/templates/public/campground.gohtml:16 -#: web/templates/public/layout.gohtml:54 web/templates/public/layout.gohtml:94 +#: web/templates/public/layout.gohtml:55 web/templates/public/layout.gohtml:95 msgctxt "title" msgid "Campground" msgstr "El càmping" @@ -591,19 +811,19 @@ msgctxt "legend" msgid "Faucet" msgstr "Aixeta" -#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:48 +#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:49 msgid "Campsite Montagut" msgstr "Càmping Montagut" -#: web/templates/public/layout.gohtml:24 web/templates/admin/layout.gohtml:21 +#: web/templates/public/layout.gohtml:25 web/templates/admin/layout.gohtml:21 msgid "Skip to main content" msgstr "Salta al contingut principal" -#: web/templates/public/layout.gohtml:50 +#: web/templates/public/layout.gohtml:51 msgid "Menu" msgstr "Menú" -#: web/templates/public/layout.gohtml:58 web/templates/public/layout.gohtml:104 +#: web/templates/public/layout.gohtml:59 web/templates/public/layout.gohtml:105 #: web/templates/admin/campsite/feature/form.gohtml:16 #: web/templates/admin/campsite/feature/index.gohtml:10 #: web/templates/admin/campsite/carousel/form.gohtml:16 @@ -624,194 +844,98 @@ msgctxt "title" msgid "Campsites" msgstr "Allotjaments" -#: web/templates/public/layout.gohtml:70 -#: web/templates/public/booking/page.gohtml:7 -#: web/templates/admin/payment/details.gohtml:41 -msgctxt "title" -msgid "Booking" -msgstr "Reserva" - -#: web/templates/public/layout.gohtml:91 +#: web/templates/public/layout.gohtml:92 msgctxt "title" msgid "Sections" msgstr "Apartats" -#: web/templates/public/layout.gohtml:115 +#: web/templates/public/layout.gohtml:116 msgctxt "title" msgid "Opening" msgstr "Obertura" -#: web/templates/public/layout.gohtml:122 +#: web/templates/public/layout.gohtml:123 msgid "RTC #%s" msgstr "Núm. RTC %s" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Credits" msgstr "Crèdits" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Terms and Conditions" msgstr "Avís legal" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Reservation Conditions" msgstr "Condicions de reserva" -#: web/templates/public/booking/page.gohtml:15 +#: web/templates/public/booking/page.gohtml:19 msgid "Sorry, there was a problem. You’ll find more details highlighted below." msgstr "Hi ha hagut un problema. Trobeu més informació ressaltada a baix." -#: web/templates/public/booking/page.gohtml:20 +#: web/templates/public/booking/page.gohtml:24 msgid "Payment is in test mode. You can make the booking regardless, but no money will be charged. We will send you an additional email with instructions on how to perform the payment." msgstr "El pagament està en mode de proves. Igualment podeu fer la reserva, però no se us farà cap càrrec. Us enviarem un correu addicional amb instruccions sobre com realitzar el pagament." -#: web/templates/public/booking/fields.gohtml:14 -#: web/templates/admin/payment/details.gohtml:44 -msgctxt "title" -msgid "Accommodation" -msgstr "Allotjament" - -#: web/templates/public/booking/fields.gohtml:26 +#: web/templates/public/booking/fields.gohtml:27 msgctxt "title" msgid "Booking Period" msgstr "Període de reserva" -#: web/templates/public/booking/fields.gohtml:55 +#: web/templates/public/booking/fields.gohtml:56 msgctxt "title" msgid "Guests" msgstr "Hostes" -#: web/templates/public/booking/fields.gohtml:59 -#: web/templates/admin/payment/details.gohtml:64 -msgctxt "input" -msgid "Adults aged 17 or older" -msgstr "Adults de 17 anys o més" - -#: web/templates/public/booking/fields.gohtml:70 -#: web/templates/admin/payment/details.gohtml:68 -msgctxt "input" -msgid "Teenagers from 11 to 16 years old" -msgstr "Adolescents d’entre 11 i 16 anys" - -#: web/templates/public/booking/fields.gohtml:81 -#: web/templates/admin/payment/details.gohtml:72 -msgctxt "input" -msgid "Children from 2 to 10 years old" -msgstr "Nens d’entre 2 i 10 anys" - -#: web/templates/public/booking/fields.gohtml:91 +#: web/templates/public/booking/fields.gohtml:92 msgid "Note: Due to guest capacity, we have added more accomodations to the booking, but we cannot guarantee that they will be next to each other." msgstr "Nota: S’han afegit més allotjaments a la reserva degut a la capacitat de cadascuna, però no es garanteix que estiguin de costat." -#: web/templates/public/booking/fields.gohtml:99 -#: web/templates/admin/payment/details.gohtml:76 -msgctxt "input" -msgid "Dogs" -msgstr "Gossos" - -#: web/templates/public/booking/fields.gohtml:108 +#: web/templates/public/booking/fields.gohtml:109 msgid "Note: This accommodation does not allow dogs." msgstr "Nota: A aquest allotjament no s’hi permeten gossos." -#: web/templates/public/booking/fields.gohtml:120 +#: web/templates/public/booking/fields.gohtml:121 msgctxt "input" msgid "Area preferences (optional)" msgstr "Preferències d’àrea (opcional)" -#: web/templates/public/booking/fields.gohtml:122 +#: web/templates/public/booking/fields.gohtml:123 msgid "Campground map" msgstr "Mapa del càmping" -#: web/templates/public/booking/fields.gohtml:145 -#: web/templates/admin/payment/details.gohtml:106 -msgctxt "title" -msgid "Customer Details" -msgstr "Detalls del client" - -#: web/templates/public/booking/fields.gohtml:148 -#: web/templates/admin/payment/details.gohtml:109 -msgctxt "input" -msgid "Full name" -msgstr "Nom i cognoms" - -#: web/templates/public/booking/fields.gohtml:157 -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Adreça" - -#: web/templates/public/booking/fields.gohtml:166 -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Codi postal" - -#: web/templates/public/booking/fields.gohtml:175 +#: web/templates/public/booking/fields.gohtml:176 msgctxt "input" msgid "Town or village" msgstr "Població" -#: web/templates/public/booking/fields.gohtml:184 -#: web/templates/admin/payment/details.gohtml:125 -#: web/templates/admin/taxDetails.gohtml:101 -msgctxt "input" -msgid "Country" -msgstr "País" - -#: web/templates/public/booking/fields.gohtml:187 +#: web/templates/public/booking/fields.gohtml:188 msgid "Choose a country" msgstr "Esculli un país" -#: web/templates/public/booking/fields.gohtml:195 -#: web/templates/admin/payment/details.gohtml:129 -#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 -#: web/templates/admin/taxDetails.gohtml:53 -msgctxt "input" -msgid "Email" -msgstr "Correu-e" - -#: web/templates/public/booking/fields.gohtml:204 -#: web/templates/admin/payment/details.gohtml:133 -#: web/templates/admin/taxDetails.gohtml:45 -msgctxt "input" -msgid "Phone" -msgstr "Telèfon" - -#: web/templates/public/booking/fields.gohtml:215 +#: web/templates/public/booking/fields.gohtml:216 msgctxt "input" msgid "ACSI card? (optional)" msgstr "Targeta ACSI? (opcional)" -#: web/templates/public/booking/fields.gohtml:223 +#: web/templates/public/booking/fields.gohtml:224 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "He llegit i accepto %[1]sles condicions de reserves%[2]s" -#: web/templates/public/booking/fields.gohtml:241 -msgctxt "cart" -msgid "Total" -msgstr "Total" - -#: web/templates/public/booking/fields.gohtml:246 -#: web/templates/admin/payment/details.gohtml:84 -msgctxt "cart" -msgid "Down payment" -msgstr "A compte" - -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:261 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En tramitar el %d %% del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquest percentatge en cas que sigui acceptada." -#: web/templates/public/booking/fields.gohtml:262 +#: web/templates/public/booking/fields.gohtml:263 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En tramitar el pagament del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquesta quantitat en cas que sigui acceptada." -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:267 msgid "See <%s>our conditions for more information." msgstr "Consulteu <%s>les nostres condicions per a més informació." @@ -872,20 +996,6 @@ msgctxt "header" msgid "Date" msgstr "Data" -#: web/templates/admin/payment/index.gohtml:21 -#: web/templates/admin/payment/details.gohtml:22 -#: web/templates/admin/booking/index.gohtml:21 -msgctxt "header" -msgid "Reference" -msgstr "Referència" - -#: web/templates/admin/payment/index.gohtml:22 -#: web/templates/admin/payment/details.gohtml:26 -#: web/templates/admin/booking/index.gohtml:25 -msgctxt "header" -msgid "Status" -msgstr "Estat" - #: web/templates/admin/payment/index.gohtml:23 msgctxt "header" msgid "Down payment" @@ -905,79 +1015,6 @@ msgctxt "title" msgid "Payment %s" msgstr "Pagament %s" -#: web/templates/admin/payment/details.gohtml:19 -msgctxt "title" -msgid "Payment" -msgstr "Pagament" - -#: web/templates/admin/payment/details.gohtml:30 -msgctxt "payment header" -msgid "Created at" -msgstr "Creat el" - -#: web/templates/admin/payment/details.gohtml:34 -msgctxt "payment header" -msgid "Last updated at" -msgstr "Actualitzat per darrera vegada el" - -#: web/templates/admin/payment/details.gohtml:48 -msgctxt "header" -msgid "Area preferences" -msgstr "Preferències d’àrea" - -#: web/templates/admin/payment/details.gohtml:60 -msgctxt "cart" -msgid "Nights" -msgstr "Nits" - -#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 -msgctxt "cart" -msgid "Tourist tax" -msgstr "Impost turístic" - -#: web/templates/admin/payment/details.gohtml:92 -#: web/templates/admin/campsite/type/option/form.gohtml:18 -#: web/templates/admin/campsite/type/option/index.gohtml:6 -#: web/templates/admin/campsite/type/option/index.gohtml:17 -msgctxt "title" -msgid "Campsite Type Options" -msgstr "Opcions del tipus d’allotjament" - -#: web/templates/admin/payment/details.gohtml:121 -#: web/templates/admin/taxDetails.gohtml:77 -msgctxt "input" -msgid "City" -msgstr "Població" - -#: web/templates/admin/payment/details.gohtml:137 -#: web/templates/admin/profile.gohtml:68 -msgctxt "input" -msgid "Language" -msgstr "Idioma" - -#: web/templates/admin/payment/details.gohtml:141 -msgctxt "input" -msgid "ACSI card?" -msgstr "Targeta ACSI?" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "Yes" -msgstr "Sí" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "No" -msgstr "No" - #: web/templates/admin/legal/form.gohtml:8 #: web/templates/admin/legal/form.gohtml:29 msgctxt "title" @@ -2228,19 +2265,19 @@ msgstr "La integració escollida no és vàlida." msgid "The merchant key is not valid." msgstr "Aquesta clau del comerç no és vàlid." -#: pkg/payment/public.go:110 +#: pkg/payment/public.go:111 msgctxt "order product name" msgid "Campsite Booking" msgstr "Reserva de càmping" -#: pkg/payment/public.go:342 +#: pkg/payment/public.go:372 msgctxt "subject" msgid "Booking payment successfully received" 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/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 -#: pkg/campsite/feature.go:269 pkg/season/admin.go:412 +#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/services/admin.go:316 pkg/surroundings/admin.go:340 #: pkg/amenity/feature.go:269 pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2562,32 +2599,32 @@ msgctxt "month" msgid "December" msgstr "desembre" -#: pkg/season/admin.go:413 +#: pkg/season/admin.go:412 msgid "Color can not be empty." msgstr "No podeu deixar el color en blanc." -#: pkg/season/admin.go:414 +#: pkg/season/admin.go:413 msgid "This color is not valid. It must be like #123abc." msgstr "Aquest color no és vàlid. Hauria de ser similar a #123abc." -#: pkg/season/admin.go:514 +#: pkg/season/admin.go:513 msgctxt "action" msgid "Unset" msgstr "Desassigna" -#: pkg/season/admin.go:545 +#: pkg/season/admin.go:544 msgid "Start date can not be empty." msgstr "No podeu deixar la data d’inici en blanc." -#: pkg/season/admin.go:546 +#: pkg/season/admin.go:545 msgid "Start date must be a valid date." msgstr "La data d’inici ha de ser una data vàlida." -#: pkg/season/admin.go:548 +#: pkg/season/admin.go:547 msgid "End date can not be empty." msgstr "No podeu deixar la data de fi en blanc." -#: pkg/season/admin.go:549 +#: pkg/season/admin.go:548 msgid "End date must be a valid date." msgstr "La data de fi ha de ser una data vàlida." diff --git a/po/es.po b/po/es.po index 914eedc..0528e24 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-27 19:39+0100\n" +"POT-Creation-Date: 2024-02-29 16:55+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Spanish \n" @@ -59,21 +59,255 @@ msgctxt "tooltip" msgid "Zone 1" msgstr "Zona 1" -#: web/templates/mail/payment/body.gohtml:6 -msgctxt "title" -msgid "Booking Payment Notification" -msgstr "Notificación de pago de reserva" - +#: web/templates/mail/payment/details.gotxt:1 #: web/templates/mail/payment/body.gohtml:33 #: web/templates/mail/payment/body.gotxt:1 msgid "Hi %s," msgstr "Hola %s," +#: web/templates/mail/payment/details.gotxt:3 #: web/templates/mail/payment/body.gohtml:35 #: web/templates/mail/payment/body.gotxt:3 msgid "We have successfully received the payment for the booking with the following details:" msgstr "Hemos recibido correctamente el pago de la reserva con los siguientes detalles:" +#: web/templates/mail/payment/details.gotxt:7 +#: web/templates/admin/payment/details.gohtml:19 +msgctxt "title" +msgid "Payment" +msgstr "Pago" + +#: web/templates/mail/payment/details.gotxt:9 +#: web/templates/admin/payment/index.gohtml:21 +#: web/templates/admin/payment/details.gohtml:22 +#: web/templates/admin/booking/index.gohtml:21 +msgctxt "header" +msgid "Reference" +msgstr "Referencia" + +#: web/templates/mail/payment/details.gotxt:10 +#: web/templates/admin/payment/index.gohtml:22 +#: web/templates/admin/payment/details.gohtml:26 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "header" +msgid "Status" +msgstr "Estado" + +#: web/templates/mail/payment/details.gotxt:11 +#: web/templates/admin/payment/details.gohtml:30 +msgctxt "payment header" +msgid "Created at" +msgstr "Creado el" + +#: web/templates/mail/payment/details.gotxt:12 +#: web/templates/admin/payment/details.gohtml:34 +msgctxt "payment header" +msgid "Last updated at" +msgstr "Actualizado por última vez el" + +#: web/templates/mail/payment/details.gotxt:14 +#: web/templates/public/layout.gohtml:71 +#: web/templates/public/booking/page.gohtml:7 +#: web/templates/admin/payment/details.gohtml:41 +msgctxt "title" +msgid "Booking" +msgstr "Reserva" + +#: web/templates/mail/payment/details.gotxt:16 +#: web/templates/public/booking/fields.gohtml:14 +#: web/templates/admin/payment/details.gohtml:44 +msgctxt "title" +msgid "Accommodation" +msgstr "Alojamientos" + +#: web/templates/mail/payment/details.gotxt:17 +#: web/templates/admin/payment/details.gohtml:48 +msgctxt "header" +msgid "Area preferences" +msgstr "Preferencias de área" + +#: web/templates/mail/payment/details.gotxt:18 +#: web/templates/public/campsite/dates.gohtml:4 +#: web/templates/public/booking/fields.gohtml:30 +#: web/templates/admin/payment/details.gohtml:52 +msgctxt "input" +msgid "Arrival date" +msgstr "Fecha de llegada" + +#: web/templates/mail/payment/details.gotxt:19 +#: web/templates/public/campsite/dates.gohtml:15 +#: web/templates/public/booking/fields.gohtml:41 +#: web/templates/admin/payment/details.gohtml:56 +msgctxt "input" +msgid "Departure date" +msgstr "Fecha de salida" + +#: web/templates/mail/payment/details.gotxt:20 +#: web/templates/admin/payment/details.gohtml:60 +msgctxt "cart" +msgid "Nights" +msgstr "Noches" + +#: web/templates/mail/payment/details.gotxt:21 +#: web/templates/public/booking/fields.gohtml:60 +#: web/templates/admin/payment/details.gohtml:64 +msgctxt "input" +msgid "Adults aged 17 or older" +msgstr "Adultos de 17 años o más" + +#: web/templates/mail/payment/details.gotxt:22 +#: web/templates/public/booking/fields.gohtml:71 +#: web/templates/admin/payment/details.gohtml:68 +msgctxt "input" +msgid "Teenagers from 11 to 16 years old" +msgstr "Adolescentes de 11 a 16 años" + +#: web/templates/mail/payment/details.gotxt:23 +#: web/templates/public/booking/fields.gohtml:82 +#: web/templates/admin/payment/details.gohtml:72 +msgctxt "input" +msgid "Children from 2 to 10 years old" +msgstr "Niños de 2 a 10 años" + +#: web/templates/mail/payment/details.gotxt:24 +#: web/templates/public/booking/fields.gohtml:100 +#: web/templates/admin/payment/details.gohtml:76 +msgctxt "input" +msgid "Dogs" +msgstr "Perros" + +#: web/templates/mail/payment/details.gotxt:25 +#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 +msgctxt "cart" +msgid "Tourist tax" +msgstr "Impuesto turístico" + +#: web/templates/mail/payment/details.gotxt:26 +#: web/templates/public/booking/fields.gohtml:242 +msgctxt "cart" +msgid "Total" +msgstr "Total" + +#: web/templates/mail/payment/details.gotxt:27 +#: web/templates/public/booking/fields.gohtml:247 +#: web/templates/admin/payment/details.gohtml:84 +msgctxt "cart" +msgid "Down payment" +msgstr "A cuenta" + +#: web/templates/mail/payment/details.gotxt:30 +#: web/templates/admin/payment/details.gohtml:92 +#: web/templates/admin/campsite/type/option/form.gohtml:18 +#: web/templates/admin/campsite/type/option/index.gohtml:6 +#: web/templates/admin/campsite/type/option/index.gohtml:17 +msgctxt "title" +msgid "Campsite Type Options" +msgstr "Opciones del tipo de alojamiento" + +#: web/templates/mail/payment/details.gotxt:38 +#: web/templates/public/booking/fields.gohtml:146 +#: web/templates/admin/payment/details.gohtml:106 +msgctxt "title" +msgid "Customer Details" +msgstr "Detalles del cliente" + +#: web/templates/mail/payment/details.gotxt:40 +#: web/templates/public/booking/fields.gohtml:149 +#: web/templates/admin/payment/details.gohtml:109 +msgctxt "input" +msgid "Full name" +msgstr "Nombre y apellidos" + +#: web/templates/mail/payment/details.gotxt:41 +#: web/templates/public/booking/fields.gohtml:158 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 +msgctxt "input" +msgid "Address" +msgstr "Dirección" + +#: web/templates/mail/payment/details.gotxt:42 +#: web/templates/public/booking/fields.gohtml:167 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 +msgctxt "input" +msgid "Postcode" +msgstr "Código postal" + +#: web/templates/mail/payment/details.gotxt:43 +#: web/templates/admin/payment/details.gohtml:121 +#: web/templates/admin/taxDetails.gohtml:77 +msgctxt "input" +msgid "City" +msgstr "Población" + +#: web/templates/mail/payment/details.gotxt:44 +#: web/templates/public/booking/fields.gohtml:185 +#: web/templates/admin/payment/details.gohtml:125 +#: web/templates/admin/taxDetails.gohtml:101 +msgctxt "input" +msgid "Country" +msgstr "País" + +#: web/templates/mail/payment/details.gotxt:45 +#: web/templates/public/booking/fields.gohtml:196 +#: web/templates/admin/payment/details.gohtml:129 +#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 +#: web/templates/admin/taxDetails.gohtml:53 +msgctxt "input" +msgid "Email" +msgstr "Correo-e" + +#: web/templates/mail/payment/details.gotxt:46 +#: web/templates/public/booking/fields.gohtml:205 +#: web/templates/admin/payment/details.gohtml:133 +#: web/templates/admin/taxDetails.gohtml:45 +msgctxt "input" +msgid "Phone" +msgstr "Teléfono" + +#: web/templates/mail/payment/details.gotxt:47 +#: web/templates/admin/payment/details.gohtml:137 +#: web/templates/admin/profile.gohtml:68 +msgctxt "input" +msgid "Language" +msgstr "Idioma" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:141 +msgctxt "input" +msgid "ACSI card?" +msgstr "¿Tarjeta ACSI?" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "Yes" +msgstr "Sí" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "No" +msgstr "No" + +#: web/templates/mail/payment/details.gotxt:54 +msgid "Best regards," +msgstr "Saludos," + +#: web/templates/mail/payment/body.gohtml:6 +msgctxt "title" +msgid "Booking Payment Notification" +msgstr "Notificación de pago de reserva" + #: web/templates/mail/payment/body.gohtml:37 msgid "Payment reference: %s" msgstr "Referencia del pago: %s" @@ -185,7 +419,7 @@ msgstr "A cuenta" #: web/templates/public/services.gohtml:7 #: web/templates/public/services.gohtml:16 -#: web/templates/public/layout.gohtml:67 web/templates/public/layout.gohtml:95 +#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 #: web/templates/admin/services/index.gohtml:59 msgctxt "title" msgid "Services" @@ -204,14 +438,14 @@ msgstr "Características" #: web/templates/public/location.gohtml:7 #: web/templates/public/location.gohtml:13 -#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 +#: web/templates/public/layout.gohtml:70 web/templates/public/layout.gohtml:98 #: web/templates/admin/layout.gohtml:64 msgctxt "title" msgid "Location" msgstr "Cómo llegar" -#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:53 -#: web/templates/public/layout.gohtml:93 +#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:54 +#: web/templates/public/layout.gohtml:94 msgctxt "title" msgid "Home" msgstr "Inicio" @@ -232,7 +466,7 @@ msgstr "Nuestros servicios" #: web/templates/public/home.gohtml:44 #: web/templates/public/surroundings.gohtml:7 #: web/templates/public/surroundings.gohtml:12 -#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 +#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 #: web/templates/admin/surroundings/form.gohtml:15 #: web/templates/admin/layout.gohtml:67 msgctxt "title" @@ -256,7 +490,7 @@ msgid "Discover" msgstr "Descubre" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:268 +#: web/templates/public/booking/fields.gohtml:269 msgctxt "action" msgid "Book" msgstr "Reservar" @@ -378,20 +612,6 @@ msgctxt "day" msgid "Sun" msgstr "do" -#: web/templates/public/campsite/dates.gohtml:4 -#: web/templates/public/booking/fields.gohtml:29 -#: web/templates/admin/payment/details.gohtml:52 -msgctxt "input" -msgid "Arrival date" -msgstr "Fecha de llegada" - -#: web/templates/public/campsite/dates.gohtml:15 -#: web/templates/public/booking/fields.gohtml:40 -#: web/templates/admin/payment/details.gohtml:56 -msgctxt "input" -msgid "Departure date" -msgstr "Fecha de salida" - #: web/templates/public/surroundings.gohtml:30 msgctxt "title" msgid "What to Do Outside the Campsite?" @@ -436,7 +656,7 @@ msgstr "Hay diversos puntos dónde podéis ir en kayak, desde tramos del río Te #: web/templates/public/campground.gohtml:7 #: web/templates/public/campground.gohtml:16 -#: web/templates/public/layout.gohtml:54 web/templates/public/layout.gohtml:94 +#: web/templates/public/layout.gohtml:55 web/templates/public/layout.gohtml:95 msgctxt "title" msgid "Campground" msgstr "El camping" @@ -591,19 +811,19 @@ msgctxt "legend" msgid "Faucet" msgstr "Grifo" -#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:48 +#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:49 msgid "Campsite Montagut" msgstr "Camping Montagut" -#: web/templates/public/layout.gohtml:24 web/templates/admin/layout.gohtml:21 +#: web/templates/public/layout.gohtml:25 web/templates/admin/layout.gohtml:21 msgid "Skip to main content" msgstr "Saltar al contenido principal" -#: web/templates/public/layout.gohtml:50 +#: web/templates/public/layout.gohtml:51 msgid "Menu" msgstr "Menú" -#: web/templates/public/layout.gohtml:58 web/templates/public/layout.gohtml:104 +#: web/templates/public/layout.gohtml:59 web/templates/public/layout.gohtml:105 #: web/templates/admin/campsite/feature/form.gohtml:16 #: web/templates/admin/campsite/feature/index.gohtml:10 #: web/templates/admin/campsite/carousel/form.gohtml:16 @@ -624,194 +844,98 @@ msgctxt "title" msgid "Campsites" msgstr "Alojamientos" -#: web/templates/public/layout.gohtml:70 -#: web/templates/public/booking/page.gohtml:7 -#: web/templates/admin/payment/details.gohtml:41 -msgctxt "title" -msgid "Booking" -msgstr "Reserva" - -#: web/templates/public/layout.gohtml:91 +#: web/templates/public/layout.gohtml:92 msgctxt "title" msgid "Sections" msgstr "Apartados" -#: web/templates/public/layout.gohtml:115 +#: web/templates/public/layout.gohtml:116 msgctxt "title" msgid "Opening" msgstr "Apertura" -#: web/templates/public/layout.gohtml:122 +#: web/templates/public/layout.gohtml:123 msgid "RTC #%s" msgstr " RTC %s" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Credits" msgstr "Créditos" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Terms and Conditions" msgstr "Aviso legal" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Reservation Conditions" msgstr "Condiciones de reserva" -#: web/templates/public/booking/page.gohtml:15 +#: web/templates/public/booking/page.gohtml:19 msgid "Sorry, there was a problem. You’ll find more details highlighted below." msgstr "Ha habido un problema. Encontraréis más información resaltada debajo." -#: web/templates/public/booking/page.gohtml:20 +#: web/templates/public/booking/page.gohtml:24 msgid "Payment is in test mode. You can make the booking regardless, but no money will be charged. We will send you an additional email with instructions on how to perform the payment." msgstr "El pago está en modo de pruebas. Igualmente podéis hacer la reserva, pero no se os hará ningún cargo. Os enviaremos un correo adicional con instrucciones sobre cómo realizar el pago." -#: web/templates/public/booking/fields.gohtml:14 -#: web/templates/admin/payment/details.gohtml:44 -msgctxt "title" -msgid "Accommodation" -msgstr "Alojamientos" - -#: web/templates/public/booking/fields.gohtml:26 +#: web/templates/public/booking/fields.gohtml:27 msgctxt "title" msgid "Booking Period" msgstr "Periodo de reserva" -#: web/templates/public/booking/fields.gohtml:55 +#: web/templates/public/booking/fields.gohtml:56 msgctxt "title" msgid "Guests" msgstr "Huéspedes" -#: web/templates/public/booking/fields.gohtml:59 -#: web/templates/admin/payment/details.gohtml:64 -msgctxt "input" -msgid "Adults aged 17 or older" -msgstr "Adultos de 17 años o más" - -#: web/templates/public/booking/fields.gohtml:70 -#: web/templates/admin/payment/details.gohtml:68 -msgctxt "input" -msgid "Teenagers from 11 to 16 years old" -msgstr "Adolescentes de 11 a 16 años" - -#: web/templates/public/booking/fields.gohtml:81 -#: web/templates/admin/payment/details.gohtml:72 -msgctxt "input" -msgid "Children from 2 to 10 years old" -msgstr "Niños de 2 a 10 años" - -#: web/templates/public/booking/fields.gohtml:91 +#: web/templates/public/booking/fields.gohtml:92 msgid "Note: Due to guest capacity, we have added more accomodations to the booking, but we cannot guarantee that they will be next to each other." msgstr "Nota: Se han añadido alojamientos a la reserva debido a la capacidad de cada una, pero no se garantiza que estén de lado." -#: web/templates/public/booking/fields.gohtml:99 -#: web/templates/admin/payment/details.gohtml:76 -msgctxt "input" -msgid "Dogs" -msgstr "Perros" - -#: web/templates/public/booking/fields.gohtml:108 +#: web/templates/public/booking/fields.gohtml:109 msgid "Note: This accommodation does not allow dogs." msgstr "Nota: En este alojamiento no se permiten perros." -#: web/templates/public/booking/fields.gohtml:120 +#: web/templates/public/booking/fields.gohtml:121 msgctxt "input" msgid "Area preferences (optional)" msgstr "Preferencias de área (opcional)" -#: web/templates/public/booking/fields.gohtml:122 +#: web/templates/public/booking/fields.gohtml:123 msgid "Campground map" msgstr "Mapa del camping" -#: web/templates/public/booking/fields.gohtml:145 -#: web/templates/admin/payment/details.gohtml:106 -msgctxt "title" -msgid "Customer Details" -msgstr "Detalles del cliente" - -#: web/templates/public/booking/fields.gohtml:148 -#: web/templates/admin/payment/details.gohtml:109 -msgctxt "input" -msgid "Full name" -msgstr "Nombre y apellidos" - -#: web/templates/public/booking/fields.gohtml:157 -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Dirección" - -#: web/templates/public/booking/fields.gohtml:166 -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Código postal" - -#: web/templates/public/booking/fields.gohtml:175 +#: web/templates/public/booking/fields.gohtml:176 msgctxt "input" msgid "Town or village" msgstr "Población" -#: web/templates/public/booking/fields.gohtml:184 -#: web/templates/admin/payment/details.gohtml:125 -#: web/templates/admin/taxDetails.gohtml:101 -msgctxt "input" -msgid "Country" -msgstr "País" - -#: web/templates/public/booking/fields.gohtml:187 +#: web/templates/public/booking/fields.gohtml:188 msgid "Choose a country" msgstr "Escoja un país" -#: web/templates/public/booking/fields.gohtml:195 -#: web/templates/admin/payment/details.gohtml:129 -#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 -#: web/templates/admin/taxDetails.gohtml:53 -msgctxt "input" -msgid "Email" -msgstr "Correo-e" - -#: web/templates/public/booking/fields.gohtml:204 -#: web/templates/admin/payment/details.gohtml:133 -#: web/templates/admin/taxDetails.gohtml:45 -msgctxt "input" -msgid "Phone" -msgstr "Teléfono" - -#: web/templates/public/booking/fields.gohtml:215 +#: web/templates/public/booking/fields.gohtml:216 msgctxt "input" msgid "ACSI card? (optional)" msgstr "¿Tarjeta ACSI? (opcional)" -#: web/templates/public/booking/fields.gohtml:223 +#: web/templates/public/booking/fields.gohtml:224 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "He leído y acepto %[1]slas condiciones de reserva%[2]s" -#: web/templates/public/booking/fields.gohtml:241 -msgctxt "cart" -msgid "Total" -msgstr "Total" - -#: web/templates/public/booking/fields.gohtml:246 -#: web/templates/admin/payment/details.gohtml:84 -msgctxt "cart" -msgid "Down payment" -msgstr "A cuenta" - -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:261 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En tramitar el %d %% del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos este porcentaje en caso que sea aceptada." -#: web/templates/public/booking/fields.gohtml:262 +#: web/templates/public/booking/fields.gohtml:263 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En tramitar el pago del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos esta cantidad en caso que sea aceptada." -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:267 msgid "See <%s>our conditions for more information." msgstr "Consultad <%s>nuestras condiciones para más información." @@ -872,20 +996,6 @@ msgctxt "header" msgid "Date" msgstr "Fecha" -#: web/templates/admin/payment/index.gohtml:21 -#: web/templates/admin/payment/details.gohtml:22 -#: web/templates/admin/booking/index.gohtml:21 -msgctxt "header" -msgid "Reference" -msgstr "Referencia" - -#: web/templates/admin/payment/index.gohtml:22 -#: web/templates/admin/payment/details.gohtml:26 -#: web/templates/admin/booking/index.gohtml:25 -msgctxt "header" -msgid "Status" -msgstr "Estado" - #: web/templates/admin/payment/index.gohtml:23 msgctxt "header" msgid "Down payment" @@ -905,79 +1015,6 @@ msgctxt "title" msgid "Payment %s" msgstr "Pago %s" -#: web/templates/admin/payment/details.gohtml:19 -msgctxt "title" -msgid "Payment" -msgstr "Pago" - -#: web/templates/admin/payment/details.gohtml:30 -msgctxt "payment header" -msgid "Created at" -msgstr "Creado el" - -#: web/templates/admin/payment/details.gohtml:34 -msgctxt "payment header" -msgid "Last updated at" -msgstr "Actualizado por última vez el" - -#: web/templates/admin/payment/details.gohtml:48 -msgctxt "header" -msgid "Area preferences" -msgstr "Preferencias de área" - -#: web/templates/admin/payment/details.gohtml:60 -msgctxt "cart" -msgid "Nights" -msgstr "Noches" - -#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 -msgctxt "cart" -msgid "Tourist tax" -msgstr "Impuesto turístico" - -#: web/templates/admin/payment/details.gohtml:92 -#: web/templates/admin/campsite/type/option/form.gohtml:18 -#: web/templates/admin/campsite/type/option/index.gohtml:6 -#: web/templates/admin/campsite/type/option/index.gohtml:17 -msgctxt "title" -msgid "Campsite Type Options" -msgstr "Opciones del tipo de alojamiento" - -#: web/templates/admin/payment/details.gohtml:121 -#: web/templates/admin/taxDetails.gohtml:77 -msgctxt "input" -msgid "City" -msgstr "Población" - -#: web/templates/admin/payment/details.gohtml:137 -#: web/templates/admin/profile.gohtml:68 -msgctxt "input" -msgid "Language" -msgstr "Idioma" - -#: web/templates/admin/payment/details.gohtml:141 -msgctxt "input" -msgid "ACSI card?" -msgstr "¿Tarjeta ACSI?" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "Yes" -msgstr "Sí" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "No" -msgstr "No" - #: web/templates/admin/legal/form.gohtml:8 #: web/templates/admin/legal/form.gohtml:29 msgctxt "title" @@ -2228,19 +2265,19 @@ msgstr "La integración escogida no es válida." msgid "The merchant key is not valid." msgstr "Esta clave del comercio no es válida." -#: pkg/payment/public.go:110 +#: pkg/payment/public.go:111 msgctxt "order product name" msgid "Campsite Booking" msgstr "Reserva de camping" -#: pkg/payment/public.go:342 +#: pkg/payment/public.go:372 msgctxt "subject" msgid "Booking payment successfully received" 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/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 -#: pkg/campsite/feature.go:269 pkg/season/admin.go:412 +#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/services/admin.go:316 pkg/surroundings/admin.go:340 #: pkg/amenity/feature.go:269 pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2562,32 +2599,32 @@ msgctxt "month" msgid "December" msgstr "diciembre" -#: pkg/season/admin.go:413 +#: pkg/season/admin.go:412 msgid "Color can not be empty." msgstr "No podéis dejar el color en blanco." -#: pkg/season/admin.go:414 +#: pkg/season/admin.go:413 msgid "This color is not valid. It must be like #123abc." msgstr "Este color no es válido. Tiene que ser parecido a #123abc." -#: pkg/season/admin.go:514 +#: pkg/season/admin.go:513 msgctxt "action" msgid "Unset" msgstr "Desasignar" -#: pkg/season/admin.go:545 +#: pkg/season/admin.go:544 msgid "Start date can not be empty." msgstr "No podéis dejar la fecha de inicio en blanco." -#: pkg/season/admin.go:546 +#: pkg/season/admin.go:545 msgid "Start date must be a valid date." msgstr "La fecha de inicio tiene que ser una fecha válida." -#: pkg/season/admin.go:548 +#: pkg/season/admin.go:547 msgid "End date can not be empty." msgstr "No podéis dejar la fecha final en blanco." -#: pkg/season/admin.go:549 +#: pkg/season/admin.go:548 msgid "End date must be a valid date." msgstr "La fecha final tiene que ser una fecha válida." diff --git a/po/fr.po b/po/fr.po index ab21006..4574899 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-27 19:39+0100\n" +"POT-Creation-Date: 2024-02-29 16:55+0100\n" "PO-Revision-Date: 2024-02-06 10:05+0100\n" "Last-Translator: Oriol Carbonell \n" "Language-Team: French \n" @@ -59,21 +59,255 @@ msgctxt "tooltip" msgid "Zone 1" msgstr "Zone 1" -#: web/templates/mail/payment/body.gohtml:6 -msgctxt "title" -msgid "Booking Payment Notification" -msgstr "Notification de paiement de réservation" - +#: web/templates/mail/payment/details.gotxt:1 #: web/templates/mail/payment/body.gohtml:33 #: web/templates/mail/payment/body.gotxt:1 msgid "Hi %s," msgstr "Salut %s," +#: web/templates/mail/payment/details.gotxt:3 #: web/templates/mail/payment/body.gohtml:35 #: web/templates/mail/payment/body.gotxt:3 msgid "We have successfully received the payment for the booking with the following details:" msgstr "Nous avons reçu avec succès le paiement de la réservation avec les détails suivants :" +#: web/templates/mail/payment/details.gotxt:7 +#: web/templates/admin/payment/details.gohtml:19 +msgctxt "title" +msgid "Payment" +msgstr "Paiement" + +#: web/templates/mail/payment/details.gotxt:9 +#: web/templates/admin/payment/index.gohtml:21 +#: web/templates/admin/payment/details.gohtml:22 +#: web/templates/admin/booking/index.gohtml:21 +msgctxt "header" +msgid "Reference" +msgstr "Référence" + +#: web/templates/mail/payment/details.gotxt:10 +#: web/templates/admin/payment/index.gohtml:22 +#: web/templates/admin/payment/details.gohtml:26 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "header" +msgid "Status" +msgstr "Statut" + +#: web/templates/mail/payment/details.gotxt:11 +#: web/templates/admin/payment/details.gohtml:30 +msgctxt "payment header" +msgid "Created at" +msgstr "Créé à" + +#: web/templates/mail/payment/details.gotxt:12 +#: web/templates/admin/payment/details.gohtml:34 +msgctxt "payment header" +msgid "Last updated at" +msgstr "Dernière mise à jour à" + +#: web/templates/mail/payment/details.gotxt:14 +#: web/templates/public/layout.gohtml:71 +#: web/templates/public/booking/page.gohtml:7 +#: web/templates/admin/payment/details.gohtml:41 +msgctxt "title" +msgid "Booking" +msgstr "Réservation" + +#: web/templates/mail/payment/details.gotxt:16 +#: web/templates/public/booking/fields.gohtml:14 +#: web/templates/admin/payment/details.gohtml:44 +msgctxt "title" +msgid "Accommodation" +msgstr "Hébergement" + +#: web/templates/mail/payment/details.gotxt:17 +#: web/templates/admin/payment/details.gohtml:48 +msgctxt "header" +msgid "Area preferences" +msgstr "Préférences de zone" + +#: web/templates/mail/payment/details.gotxt:18 +#: web/templates/public/campsite/dates.gohtml:4 +#: web/templates/public/booking/fields.gohtml:30 +#: web/templates/admin/payment/details.gohtml:52 +msgctxt "input" +msgid "Arrival date" +msgstr "Date d’arrivée" + +#: web/templates/mail/payment/details.gotxt:19 +#: web/templates/public/campsite/dates.gohtml:15 +#: web/templates/public/booking/fields.gohtml:41 +#: web/templates/admin/payment/details.gohtml:56 +msgctxt "input" +msgid "Departure date" +msgstr "Date de depart" + +#: web/templates/mail/payment/details.gotxt:20 +#: web/templates/admin/payment/details.gohtml:60 +msgctxt "cart" +msgid "Nights" +msgstr "Nuits" + +#: web/templates/mail/payment/details.gotxt:21 +#: web/templates/public/booking/fields.gohtml:60 +#: web/templates/admin/payment/details.gohtml:64 +msgctxt "input" +msgid "Adults aged 17 or older" +msgstr "Adultes âgés 17 ans ou plus" + +#: web/templates/mail/payment/details.gotxt:22 +#: web/templates/public/booking/fields.gohtml:71 +#: web/templates/admin/payment/details.gohtml:68 +msgctxt "input" +msgid "Teenagers from 11 to 16 years old" +msgstr "Adolescents de 11 à 16 ans" + +#: web/templates/mail/payment/details.gotxt:23 +#: web/templates/public/booking/fields.gohtml:82 +#: web/templates/admin/payment/details.gohtml:72 +msgctxt "input" +msgid "Children from 2 to 10 years old" +msgstr "Enfants de 2 à 10 ans" + +#: web/templates/mail/payment/details.gotxt:24 +#: web/templates/public/booking/fields.gohtml:100 +#: web/templates/admin/payment/details.gohtml:76 +msgctxt "input" +msgid "Dogs" +msgstr "Chiens" + +#: web/templates/mail/payment/details.gotxt:25 +#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 +msgctxt "cart" +msgid "Tourist tax" +msgstr "Taxe touristique" + +#: web/templates/mail/payment/details.gotxt:26 +#: web/templates/public/booking/fields.gohtml:242 +msgctxt "cart" +msgid "Total" +msgstr "Totale" + +#: web/templates/mail/payment/details.gotxt:27 +#: web/templates/public/booking/fields.gohtml:247 +#: web/templates/admin/payment/details.gohtml:84 +msgctxt "cart" +msgid "Down payment" +msgstr "Acompte" + +#: web/templates/mail/payment/details.gotxt:30 +#: web/templates/admin/payment/details.gohtml:92 +#: web/templates/admin/campsite/type/option/form.gohtml:18 +#: web/templates/admin/campsite/type/option/index.gohtml:6 +#: web/templates/admin/campsite/type/option/index.gohtml:17 +msgctxt "title" +msgid "Campsite Type Options" +msgstr "Options de type d’emplacement de camping" + +#: web/templates/mail/payment/details.gotxt:38 +#: web/templates/public/booking/fields.gohtml:146 +#: web/templates/admin/payment/details.gohtml:106 +msgctxt "title" +msgid "Customer Details" +msgstr "Détails du client" + +#: web/templates/mail/payment/details.gotxt:40 +#: web/templates/public/booking/fields.gohtml:149 +#: web/templates/admin/payment/details.gohtml:109 +msgctxt "input" +msgid "Full name" +msgstr "Nom et prénom" + +#: web/templates/mail/payment/details.gotxt:41 +#: web/templates/public/booking/fields.gohtml:158 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 +msgctxt "input" +msgid "Address" +msgstr "Adresse" + +#: web/templates/mail/payment/details.gotxt:42 +#: web/templates/public/booking/fields.gohtml:167 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 +msgctxt "input" +msgid "Postcode" +msgstr "Code postal" + +#: web/templates/mail/payment/details.gotxt:43 +#: web/templates/admin/payment/details.gohtml:121 +#: web/templates/admin/taxDetails.gohtml:77 +msgctxt "input" +msgid "City" +msgstr "Ville" + +#: web/templates/mail/payment/details.gotxt:44 +#: web/templates/public/booking/fields.gohtml:185 +#: web/templates/admin/payment/details.gohtml:125 +#: web/templates/admin/taxDetails.gohtml:101 +msgctxt "input" +msgid "Country" +msgstr "Pays" + +#: web/templates/mail/payment/details.gotxt:45 +#: web/templates/public/booking/fields.gohtml:196 +#: web/templates/admin/payment/details.gohtml:129 +#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 +#: web/templates/admin/taxDetails.gohtml:53 +msgctxt "input" +msgid "Email" +msgstr "E-mail" + +#: web/templates/mail/payment/details.gotxt:46 +#: web/templates/public/booking/fields.gohtml:205 +#: web/templates/admin/payment/details.gohtml:133 +#: web/templates/admin/taxDetails.gohtml:45 +msgctxt "input" +msgid "Phone" +msgstr "Téléphone" + +#: web/templates/mail/payment/details.gotxt:47 +#: web/templates/admin/payment/details.gohtml:137 +#: web/templates/admin/profile.gohtml:68 +msgctxt "input" +msgid "Language" +msgstr "Langue" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:141 +msgctxt "input" +msgid "ACSI card?" +msgstr "Carte ACSI ?" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "Yes" +msgstr "Oui" + +#: web/templates/mail/payment/details.gotxt:48 +#: web/templates/admin/payment/details.gohtml:142 +#: web/templates/admin/campsite/index.gohtml:41 +#: web/templates/admin/campsite/type/index.gohtml:53 +#: web/templates/admin/season/index.gohtml:44 +#: web/templates/admin/user/login-attempts.gohtml:31 +#: web/templates/admin/amenity/index.gohtml:40 +msgid "No" +msgstr "Non" + +#: web/templates/mail/payment/details.gotxt:54 +msgid "Best regards," +msgstr "Cordialement," + +#: web/templates/mail/payment/body.gohtml:6 +msgctxt "title" +msgid "Booking Payment Notification" +msgstr "Notification de paiement de réservation" + #: web/templates/mail/payment/body.gohtml:37 msgid "Payment reference: %s" msgstr "Référence de paiement : %s." @@ -185,7 +419,7 @@ msgstr "Acompte" #: web/templates/public/services.gohtml:7 #: web/templates/public/services.gohtml:16 -#: web/templates/public/layout.gohtml:67 web/templates/public/layout.gohtml:95 +#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 #: web/templates/admin/services/index.gohtml:59 msgctxt "title" msgid "Services" @@ -204,14 +438,14 @@ msgstr "Caractéristiques" #: web/templates/public/location.gohtml:7 #: web/templates/public/location.gohtml:13 -#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 +#: web/templates/public/layout.gohtml:70 web/templates/public/layout.gohtml:98 #: web/templates/admin/layout.gohtml:64 msgctxt "title" msgid "Location" msgstr "Comment nous rejoindre" -#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:53 -#: web/templates/public/layout.gohtml:93 +#: web/templates/public/home.gohtml:7 web/templates/public/layout.gohtml:54 +#: web/templates/public/layout.gohtml:94 msgctxt "title" msgid "Home" msgstr "Accueil" @@ -232,7 +466,7 @@ msgstr "Nos services" #: web/templates/public/home.gohtml:44 #: web/templates/public/surroundings.gohtml:7 #: web/templates/public/surroundings.gohtml:12 -#: web/templates/public/layout.gohtml:68 web/templates/public/layout.gohtml:96 +#: web/templates/public/layout.gohtml:69 web/templates/public/layout.gohtml:97 #: web/templates/admin/surroundings/form.gohtml:15 #: web/templates/admin/layout.gohtml:67 msgctxt "title" @@ -256,7 +490,7 @@ msgid "Discover" msgstr "Découvrir" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:268 +#: web/templates/public/booking/fields.gohtml:269 msgctxt "action" msgid "Book" msgstr "Réserver" @@ -378,20 +612,6 @@ msgctxt "day" msgid "Sun" msgstr "Dim." -#: web/templates/public/campsite/dates.gohtml:4 -#: web/templates/public/booking/fields.gohtml:29 -#: web/templates/admin/payment/details.gohtml:52 -msgctxt "input" -msgid "Arrival date" -msgstr "Date d’arrivée" - -#: web/templates/public/campsite/dates.gohtml:15 -#: web/templates/public/booking/fields.gohtml:40 -#: web/templates/admin/payment/details.gohtml:56 -msgctxt "input" -msgid "Departure date" -msgstr "Date de depart" - #: web/templates/public/surroundings.gohtml:30 msgctxt "title" msgid "What to Do Outside the Campsite?" @@ -436,7 +656,7 @@ msgstr "Il y a plusieurs points où vous pouvez aller en kayak, à partir de sec #: web/templates/public/campground.gohtml:7 #: web/templates/public/campground.gohtml:16 -#: web/templates/public/layout.gohtml:54 web/templates/public/layout.gohtml:94 +#: web/templates/public/layout.gohtml:55 web/templates/public/layout.gohtml:95 msgctxt "title" msgid "Campground" msgstr "Camping" @@ -591,19 +811,19 @@ msgctxt "legend" msgid "Faucet" msgstr "Robinet" -#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:48 +#: web/templates/public/layout.gohtml:12 web/templates/public/layout.gohtml:49 msgid "Campsite Montagut" msgstr "Camping Montagut" -#: web/templates/public/layout.gohtml:24 web/templates/admin/layout.gohtml:21 +#: web/templates/public/layout.gohtml:25 web/templates/admin/layout.gohtml:21 msgid "Skip to main content" msgstr "Passer au contenu principal" -#: web/templates/public/layout.gohtml:50 +#: web/templates/public/layout.gohtml:51 msgid "Menu" msgstr "Menu" -#: web/templates/public/layout.gohtml:58 web/templates/public/layout.gohtml:104 +#: web/templates/public/layout.gohtml:59 web/templates/public/layout.gohtml:105 #: web/templates/admin/campsite/feature/form.gohtml:16 #: web/templates/admin/campsite/feature/index.gohtml:10 #: web/templates/admin/campsite/carousel/form.gohtml:16 @@ -624,194 +844,98 @@ msgctxt "title" msgid "Campsites" msgstr "Locatifs" -#: web/templates/public/layout.gohtml:70 -#: web/templates/public/booking/page.gohtml:7 -#: web/templates/admin/payment/details.gohtml:41 -msgctxt "title" -msgid "Booking" -msgstr "Réservation" - -#: web/templates/public/layout.gohtml:91 +#: web/templates/public/layout.gohtml:92 msgctxt "title" msgid "Sections" msgstr "Sections" -#: web/templates/public/layout.gohtml:115 +#: web/templates/public/layout.gohtml:116 msgctxt "title" msgid "Opening" msgstr "Ouverture" -#: web/templates/public/layout.gohtml:122 +#: web/templates/public/layout.gohtml:123 msgid "RTC #%s" msgstr "# RTC %s" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Credits" msgstr "Crédits" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Terms and Conditions" msgstr "Termes et conditions" -#: web/templates/public/layout.gohtml:131 +#: web/templates/public/layout.gohtml:132 msgctxt "title" msgid "Reservation Conditions" msgstr "Conditions de réservation" -#: web/templates/public/booking/page.gohtml:15 +#: web/templates/public/booking/page.gohtml:19 msgid "Sorry, there was a problem. You’ll find more details highlighted below." msgstr "Il y avait un problème. Vous trouverez plus de détails ci-dessous." -#: web/templates/public/booking/page.gohtml:20 +#: web/templates/public/booking/page.gohtml:24 msgid "Payment is in test mode. You can make the booking regardless, but no money will be charged. We will send you an additional email with instructions on how to perform the payment." msgstr "Le paiement est en mode test. Malgré tout, vous pouvez effectuer la réservation, mais aucun argent ne sera facturé. Nous vous enverrons un e-mail supplémentaire avec des instructions sur la manière d’effectuer le paiement." -#: web/templates/public/booking/fields.gohtml:14 -#: web/templates/admin/payment/details.gohtml:44 -msgctxt "title" -msgid "Accommodation" -msgstr "Hébergement" - -#: web/templates/public/booking/fields.gohtml:26 +#: web/templates/public/booking/fields.gohtml:27 msgctxt "title" msgid "Booking Period" msgstr "Période de réservation" -#: web/templates/public/booking/fields.gohtml:55 +#: web/templates/public/booking/fields.gohtml:56 msgctxt "title" msgid "Guests" msgstr "Personnes logeant" -#: web/templates/public/booking/fields.gohtml:59 -#: web/templates/admin/payment/details.gohtml:64 -msgctxt "input" -msgid "Adults aged 17 or older" -msgstr "Adultes âgés 17 ans ou plus" - -#: web/templates/public/booking/fields.gohtml:70 -#: web/templates/admin/payment/details.gohtml:68 -msgctxt "input" -msgid "Teenagers from 11 to 16 years old" -msgstr "Adolescents de 11 à 16 ans" - -#: web/templates/public/booking/fields.gohtml:81 -#: web/templates/admin/payment/details.gohtml:72 -msgctxt "input" -msgid "Children from 2 to 10 years old" -msgstr "Enfants de 2 à 10 ans" - -#: web/templates/public/booking/fields.gohtml:91 +#: web/templates/public/booking/fields.gohtml:92 msgid "Note: Due to guest capacity, we have added more accomodations to the booking, but we cannot guarantee that they will be next to each other." msgstr "Remarque : En raison de la capacité d’accueils, nous avons ajouté d’autres hébergements à la réservation, mais nous ne pouvons garantir qu’ils seront côte à côte." -#: web/templates/public/booking/fields.gohtml:99 -#: web/templates/admin/payment/details.gohtml:76 -msgctxt "input" -msgid "Dogs" -msgstr "Chiens" - -#: web/templates/public/booking/fields.gohtml:108 +#: web/templates/public/booking/fields.gohtml:109 msgid "Note: This accommodation does not allow dogs." msgstr "Remarque : Dans cet hébergement les chiens ne sont pas acceptés." -#: web/templates/public/booking/fields.gohtml:120 +#: web/templates/public/booking/fields.gohtml:121 msgctxt "input" msgid "Area preferences (optional)" msgstr "Préférences de zone (facultatif)" -#: web/templates/public/booking/fields.gohtml:122 +#: web/templates/public/booking/fields.gohtml:123 msgid "Campground map" msgstr "Plan du camping" -#: web/templates/public/booking/fields.gohtml:145 -#: web/templates/admin/payment/details.gohtml:106 -msgctxt "title" -msgid "Customer Details" -msgstr "Détails du client" - -#: web/templates/public/booking/fields.gohtml:148 -#: web/templates/admin/payment/details.gohtml:109 -msgctxt "input" -msgid "Full name" -msgstr "Nom et prénom" - -#: web/templates/public/booking/fields.gohtml:157 -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Adresse" - -#: web/templates/public/booking/fields.gohtml:166 -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Code postal" - -#: web/templates/public/booking/fields.gohtml:175 +#: web/templates/public/booking/fields.gohtml:176 msgctxt "input" msgid "Town or village" msgstr "Ville" -#: web/templates/public/booking/fields.gohtml:184 -#: web/templates/admin/payment/details.gohtml:125 -#: web/templates/admin/taxDetails.gohtml:101 -msgctxt "input" -msgid "Country" -msgstr "Pays" - -#: web/templates/public/booking/fields.gohtml:187 +#: web/templates/public/booking/fields.gohtml:188 msgid "Choose a country" msgstr "Choisissez un pays" -#: web/templates/public/booking/fields.gohtml:195 -#: web/templates/admin/payment/details.gohtml:129 -#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38 -#: web/templates/admin/taxDetails.gohtml:53 -msgctxt "input" -msgid "Email" -msgstr "E-mail" - -#: web/templates/public/booking/fields.gohtml:204 -#: web/templates/admin/payment/details.gohtml:133 -#: web/templates/admin/taxDetails.gohtml:45 -msgctxt "input" -msgid "Phone" -msgstr "Téléphone" - -#: web/templates/public/booking/fields.gohtml:215 +#: web/templates/public/booking/fields.gohtml:216 msgctxt "input" msgid "ACSI card? (optional)" msgstr "Carte ACSI ? (Facultatif)" -#: web/templates/public/booking/fields.gohtml:223 +#: web/templates/public/booking/fields.gohtml:224 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "J’ai lu et j’accepte %[1]sles conditions de réservation%[2]s" -#: web/templates/public/booking/fields.gohtml:241 -msgctxt "cart" -msgid "Total" -msgstr "Totale" - -#: web/templates/public/booking/fields.gohtml:246 -#: web/templates/admin/payment/details.gohtml:84 -msgctxt "cart" -msgid "Down payment" -msgstr "Acompte" - -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:261 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En En effectuant le paiement de %d %% du total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce pourcentage sera facturé en cas d’acceptation." -#: web/templates/public/booking/fields.gohtml:262 +#: web/templates/public/booking/fields.gohtml:263 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En procédant au paiement du montant total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce montant sera facturé en cas d’acceptation." -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:267 msgid "See <%s>our conditions for more information." msgstr "Consultez <%s>nos conditions pour plus d’informations." @@ -872,20 +996,6 @@ msgctxt "header" msgid "Date" msgstr "Date" -#: web/templates/admin/payment/index.gohtml:21 -#: web/templates/admin/payment/details.gohtml:22 -#: web/templates/admin/booking/index.gohtml:21 -msgctxt "header" -msgid "Reference" -msgstr "Référence" - -#: web/templates/admin/payment/index.gohtml:22 -#: web/templates/admin/payment/details.gohtml:26 -#: web/templates/admin/booking/index.gohtml:25 -msgctxt "header" -msgid "Status" -msgstr "Statut" - #: web/templates/admin/payment/index.gohtml:23 msgctxt "header" msgid "Down payment" @@ -905,79 +1015,6 @@ msgctxt "title" msgid "Payment %s" msgstr "Paiement %s" -#: web/templates/admin/payment/details.gohtml:19 -msgctxt "title" -msgid "Payment" -msgstr "Paiement" - -#: web/templates/admin/payment/details.gohtml:30 -msgctxt "payment header" -msgid "Created at" -msgstr "Créé à" - -#: web/templates/admin/payment/details.gohtml:34 -msgctxt "payment header" -msgid "Last updated at" -msgstr "Dernière mise à jour à" - -#: web/templates/admin/payment/details.gohtml:48 -msgctxt "header" -msgid "Area preferences" -msgstr "Préférences de zone" - -#: web/templates/admin/payment/details.gohtml:60 -msgctxt "cart" -msgid "Nights" -msgstr "Nuits" - -#: web/templates/admin/payment/details.gohtml:80 pkg/booking/cart.go:191 -msgctxt "cart" -msgid "Tourist tax" -msgstr "Taxe touristique" - -#: web/templates/admin/payment/details.gohtml:92 -#: web/templates/admin/campsite/type/option/form.gohtml:18 -#: web/templates/admin/campsite/type/option/index.gohtml:6 -#: web/templates/admin/campsite/type/option/index.gohtml:17 -msgctxt "title" -msgid "Campsite Type Options" -msgstr "Options de type d’emplacement de camping" - -#: web/templates/admin/payment/details.gohtml:121 -#: web/templates/admin/taxDetails.gohtml:77 -msgctxt "input" -msgid "City" -msgstr "Ville" - -#: web/templates/admin/payment/details.gohtml:137 -#: web/templates/admin/profile.gohtml:68 -msgctxt "input" -msgid "Language" -msgstr "Langue" - -#: web/templates/admin/payment/details.gohtml:141 -msgctxt "input" -msgid "ACSI card?" -msgstr "Carte ACSI ?" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "Yes" -msgstr "Oui" - -#: web/templates/admin/payment/details.gohtml:142 -#: web/templates/admin/campsite/index.gohtml:41 -#: web/templates/admin/campsite/type/index.gohtml:53 -#: web/templates/admin/season/index.gohtml:44 -#: web/templates/admin/user/login-attempts.gohtml:31 -#: web/templates/admin/amenity/index.gohtml:40 -msgid "No" -msgstr "Non" - #: web/templates/admin/legal/form.gohtml:8 #: web/templates/admin/legal/form.gohtml:29 msgctxt "title" @@ -2228,19 +2265,19 @@ msgstr "L’intégration sélectionnée n’est pas valide." msgid "The merchant key is not valid." msgstr "La clé marchand n’est pas valide." -#: pkg/payment/public.go:110 +#: pkg/payment/public.go:111 msgctxt "order product name" msgid "Campsite Booking" msgstr "Réservation camping" -#: pkg/payment/public.go:342 +#: pkg/payment/public.go:372 msgctxt "subject" msgid "Booking payment successfully received" 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/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 -#: pkg/campsite/feature.go:269 pkg/season/admin.go:412 +#: pkg/campsite/feature.go:269 pkg/season/admin.go:411 #: pkg/services/admin.go:316 pkg/surroundings/admin.go:340 #: pkg/amenity/feature.go:269 pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2562,32 +2599,32 @@ msgctxt "month" msgid "December" msgstr "Décembre" -#: pkg/season/admin.go:413 +#: pkg/season/admin.go:412 msgid "Color can not be empty." msgstr "La couleur ne peut pas être vide." -#: pkg/season/admin.go:414 +#: pkg/season/admin.go:413 msgid "This color is not valid. It must be like #123abc." msgstr "Cette couleur n’est pas valide. Il doit être comme #123abc." -#: pkg/season/admin.go:514 +#: pkg/season/admin.go:513 msgctxt "action" msgid "Unset" msgstr "Unset" -#: pkg/season/admin.go:545 +#: pkg/season/admin.go:544 msgid "Start date can not be empty." msgstr "La date de début ne peut pas être vide." -#: pkg/season/admin.go:546 +#: pkg/season/admin.go:545 msgid "Start date must be a valid date." msgstr "La date de début doit être une date valide." -#: pkg/season/admin.go:548 +#: pkg/season/admin.go:547 msgid "End date can not be empty." msgstr "La date de fin ne peut pas être vide." -#: pkg/season/admin.go:549 +#: pkg/season/admin.go:548 msgid "End date must be a valid date." msgstr "La date de fin doit être une date valide." diff --git a/web/templates/mail/payment/body.gotxt b/web/templates/mail/payment/body.gotxt index 4112951..645c166 100644 --- a/web/templates/mail/payment/body.gotxt +++ b/web/templates/mail/payment/body.gotxt @@ -11,6 +11,7 @@ {{( gettext "Thank you for your booking, and see you soon!" )}} +-- {{ with .CompanyAddress -}} {{ .TradeName }}, {{ .Address }}, diff --git a/web/templates/mail/payment/details.gotxt b/web/templates/mail/payment/details.gotxt new file mode 100644 index 0000000..420a600 --- /dev/null +++ b/web/templates/mail/payment/details.gotxt @@ -0,0 +1,54 @@ +{{ printf (gettext "Hi %s,") .CompanyName }} + +{{( gettext "We have successfully received the payment for the booking with the following details:" )}} + +{{ with .Details -}} + +## {{( pgettext "Payment" "title" )}} + + * {{( pgettext "Reference" "header" )}}: {{ .Reference }} ({{ $.BaseURL }}) + * {{( pgettext "Status" "header" )}}: {{ .StatusLabel }} + * {{( pgettext "Created at" "payment header" )}}: {{ .CreatedAt.Format "02/01/2006 15:04:05" }} + * {{( pgettext "Last updated at" "payment header" )}}: {{ .UpdatedAt.Format "02/01/2006 15:04:05" }} + +## {{( pgettext "Booking" "title" )}} + + * {{( pgettext "Accommodation" "title" )}}: {{ .CampsiteType }} + * {{( pgettext "Area preferences" "header" )}}: {{ .ZonePreferences }} + * {{( pgettext "Arrival date" "input" )}}: {{ .ArrivalDate.Format "02/01/2006" }} + * {{( pgettext "Departure date" "input" )}}: {{ .DepartureDate.Format "02/01/2006" }} + * {{( pgettext "Nights" "cart" )}}: {{ .NumNights }} + * {{( pgettext "Adults aged 17 or older" "input" )}}: {{ .NumAdults }} + * {{( pgettext "Teenagers from 11 to 16 years old" "input" )}}: {{ .NumTeenagers }} + * {{( pgettext "Children from 2 to 10 years old" "input" )}}: {{ .NumChildren }} + * {{( pgettext "Dogs" "input" )}}: {{ .NumDogs }} + * {{( pgettext "Tourist tax" "cart" )}}: {{ .SubtotalTouristTax | formatPrice }} + * {{( pgettext "Total" "cart" )}}: {{ .Total | formatPrice }} + * {{( pgettext "Down payment" "cart" )}}: {{ .DownPaymentPercent }} %, {{ .DownPayment | formatPrice }} +{{ with .Options }} + +## {{( pgettext "Campsite Type Options" "title" )}} + +{{ range . -}} + * {{ .Label }}: {{ .Units }} +{{- end }} +{{- end -}} +{{ with .Customer }} + +## {{( pgettext "Customer Details" "title" )}} + + * {{( pgettext "Full name" "input" )}}: {{ .FullName }} + * {{( pgettext "Address" "input" )}}: {{ .Address }} + * {{( pgettext "Postcode" "input" )}}: {{ .PostalCode }} + * {{( pgettext "City" "input" )}}: {{ .City }} + * {{( pgettext "Country" "input" )}}: {{ .Country }} + * {{( pgettext "Email" "input" )}}: {{ .Email }} + * {{( pgettext "Phone" "input" )}}: {{ .Phone }} + * {{( pgettext "Language" "input" )}}: {{ .Language }} + * {{( pgettext "ACSI card?" "input" )}}: {{if .ACSICard}}{{( gettext "Yes" )}}{{ else }}{{( gettext "No" )}}{{ end }} + +{{- end }} + +{{- end }} + +{{( gettext "Best regards," )}}