Add pagination to invoices
I’ve removed the total amount because it is very difficult to get it with pagination, and customer never saw it (it was from Numerus), thus they won’t miss it—i hope.
This commit is contained in:
parent
674cdff87b
commit
48c1529e6c
|
@ -148,14 +148,13 @@ type IndexEntry struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func serveInvoiceIndex(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) {
|
func serveInvoiceIndex(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) {
|
||||||
filters := newInvoiceFilterForm(r.Context(), conn, company, user.Locale)
|
filters := newFilterForm(r.Context(), conn, company, user.Locale)
|
||||||
if err := filters.Parse(r); err != nil {
|
if err := filters.Parse(r); err != nil {
|
||||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
page := &invoiceIndex{
|
page := &invoiceIndex{
|
||||||
Invoices: mustCollectInvoiceEntries(r.Context(), conn, user.Locale, filters),
|
Invoices: filters.buildCursor(mustCollectInvoiceEntries(r.Context(), conn, user.Locale, filters)),
|
||||||
TotalAmount: mustComputeInvoicesTotalAmount(r.Context(), conn, filters),
|
|
||||||
Filters: filters,
|
Filters: filters,
|
||||||
InvoiceStatuses: mustCollectInvoiceStatuses(r.Context(), conn, user.Locale),
|
InvoiceStatuses: mustCollectInvoiceStatuses(r.Context(), conn, user.Locale),
|
||||||
}
|
}
|
||||||
|
@ -164,16 +163,19 @@ func serveInvoiceIndex(w http.ResponseWriter, r *http.Request, user *auth.User,
|
||||||
|
|
||||||
type invoiceIndex struct {
|
type invoiceIndex struct {
|
||||||
Invoices []*IndexEntry
|
Invoices []*IndexEntry
|
||||||
TotalAmount string
|
Filters *filterForm
|
||||||
Filters *invoiceFilterForm
|
|
||||||
InvoiceStatuses map[string]string
|
InvoiceStatuses map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (page *invoiceIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) {
|
func (page *invoiceIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) {
|
||||||
template.MustRenderAdmin(w, r, user, company, "invoice/index.gohtml", page)
|
if httplib.IsHTMxRequest(r) && page.Filters.Paginated() {
|
||||||
|
template.MustRenderAdminNoLayout(w, r, user, company, "invoice/results.gohtml", page)
|
||||||
|
} else {
|
||||||
|
template.MustRenderAdminFiles(w, r, user, company, page, "invoice/index.gohtml", "invoice/results.gohtml")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func mustCollectInvoiceEntries(ctx context.Context, conn *database.Conn, locale *locale.Locale, filters *invoiceFilterForm) []*IndexEntry {
|
func mustCollectInvoiceEntries(ctx context.Context, conn *database.Conn, locale *locale.Locale, filters *filterForm) []*IndexEntry {
|
||||||
where, args := filters.BuildQuery([]interface{}{locale.Language.String()})
|
where, args := filters.BuildQuery([]interface{}{locale.Language.String()})
|
||||||
rows, err := conn.Query(ctx, fmt.Sprintf(`
|
rows, err := conn.Query(ctx, fmt.Sprintf(`
|
||||||
select invoice_id
|
select invoice_id
|
||||||
|
@ -192,7 +194,8 @@ func mustCollectInvoiceEntries(ctx context.Context, conn *database.Conn, locale
|
||||||
where (%s)
|
where (%s)
|
||||||
order by invoice_date desc
|
order by invoice_date desc
|
||||||
, invoice_number desc
|
, invoice_number desc
|
||||||
`, where), args...)
|
limit %d
|
||||||
|
`, where, filters.PerPage()+1), args...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -213,25 +216,6 @@ func mustCollectInvoiceEntries(ctx context.Context, conn *database.Conn, locale
|
||||||
return entries
|
return entries
|
||||||
}
|
}
|
||||||
|
|
||||||
func mustComputeInvoicesTotalAmount(ctx context.Context, conn *database.Conn, filters *invoiceFilterForm) string {
|
|
||||||
where, args := filters.BuildQuery(nil)
|
|
||||||
text, err := conn.GetText(ctx, fmt.Sprintf(`
|
|
||||||
select to_price(sum(total)::integer, decimal_digits)
|
|
||||||
from invoice
|
|
||||||
join invoice_amount using (invoice_id)
|
|
||||||
join currency using (currency_code)
|
|
||||||
where (%s)
|
|
||||||
group by decimal_digits
|
|
||||||
`, where), args...)
|
|
||||||
if err != nil {
|
|
||||||
if database.ErrorIsNotFound(err) {
|
|
||||||
return "0.0"
|
|
||||||
}
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return text
|
|
||||||
}
|
|
||||||
|
|
||||||
func mustCollectInvoiceStatuses(ctx context.Context, conn *database.Conn, locale *locale.Locale) map[string]string {
|
func mustCollectInvoiceStatuses(ctx context.Context, conn *database.Conn, locale *locale.Locale) map[string]string {
|
||||||
rows, err := conn.Query(ctx, `
|
rows, err := conn.Query(ctx, `
|
||||||
select invoice_status.invoice_status
|
select invoice_status.invoice_status
|
||||||
|
@ -261,88 +245,6 @@ func mustCollectInvoiceStatuses(ctx context.Context, conn *database.Conn, locale
|
||||||
return statuses
|
return statuses
|
||||||
}
|
}
|
||||||
|
|
||||||
type invoiceFilterForm struct {
|
|
||||||
locale *locale.Locale
|
|
||||||
company *auth.Company
|
|
||||||
Customer *form.Select
|
|
||||||
InvoiceStatus *form.Select
|
|
||||||
InvoiceNumber *form.Input
|
|
||||||
FromDate *form.Input
|
|
||||||
ToDate *form.Input
|
|
||||||
}
|
|
||||||
|
|
||||||
func newInvoiceFilterForm(ctx context.Context, conn *database.Conn, company *auth.Company, locale *locale.Locale) *invoiceFilterForm {
|
|
||||||
return &invoiceFilterForm{
|
|
||||||
locale: locale,
|
|
||||||
company: company,
|
|
||||||
Customer: &form.Select{
|
|
||||||
Name: "customer",
|
|
||||||
Options: mustGetContactOptions(ctx, conn, company),
|
|
||||||
},
|
|
||||||
InvoiceStatus: &form.Select{
|
|
||||||
Name: "invoice_status",
|
|
||||||
Options: mustGetInvoiceStatusOptions(ctx, conn, locale),
|
|
||||||
},
|
|
||||||
InvoiceNumber: &form.Input{
|
|
||||||
Name: "number",
|
|
||||||
},
|
|
||||||
FromDate: &form.Input{
|
|
||||||
Name: "from_date",
|
|
||||||
},
|
|
||||||
ToDate: &form.Input{
|
|
||||||
Name: "to_date",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *invoiceFilterForm) Parse(r *http.Request) error {
|
|
||||||
if err := r.ParseForm(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
f.Customer.FillValue(r)
|
|
||||||
f.InvoiceStatus.FillValue(r)
|
|
||||||
f.InvoiceNumber.FillValue(r)
|
|
||||||
f.FromDate.FillValue(r)
|
|
||||||
f.ToDate.FillValue(r)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *invoiceFilterForm) BuildQuery(args []interface{}) (string, []interface{}) {
|
|
||||||
var where []string
|
|
||||||
appendWhere := func(expression string, value interface{}) {
|
|
||||||
args = append(args, value)
|
|
||||||
where = append(where, fmt.Sprintf(expression, len(args)))
|
|
||||||
}
|
|
||||||
maybeAppendWhere := func(expression string, value string, conv func(string) interface{}) {
|
|
||||||
if value != "" {
|
|
||||||
if conv == nil {
|
|
||||||
appendWhere(expression, value)
|
|
||||||
} else {
|
|
||||||
appendWhere(expression, conv(value))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
appendWhere("invoice.company_id = $%d", f.company.ID)
|
|
||||||
maybeAppendWhere("contact_id = $%d", f.Customer.String(), func(v string) interface{} {
|
|
||||||
customerId, _ := strconv.Atoi(f.Customer.Selected[0])
|
|
||||||
return customerId
|
|
||||||
})
|
|
||||||
maybeAppendWhere("invoice.invoice_status = $%d", f.InvoiceStatus.String(), nil)
|
|
||||||
maybeAppendWhere("invoice_number = $%d", f.InvoiceNumber.Val, nil)
|
|
||||||
maybeAppendWhere("invoice_date >= $%d", f.FromDate.Val, nil)
|
|
||||||
maybeAppendWhere("invoice_date <= $%d", f.ToDate.Val, nil)
|
|
||||||
return strings.Join(where, ") AND ("), args
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *invoiceFilterForm) HasValue() bool {
|
|
||||||
return (len(f.Customer.Selected) > 0 && f.Customer.Selected[0] != "") ||
|
|
||||||
(len(f.InvoiceStatus.Selected) > 0 && f.InvoiceStatus.Selected[0] != "") ||
|
|
||||||
f.InvoiceNumber.Val != "" ||
|
|
||||||
f.FromDate.Val != "" ||
|
|
||||||
f.ToDate.Val != ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func serveInvoice(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn, slug string) {
|
func serveInvoice(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn, slug string) {
|
||||||
pdf := false
|
pdf := false
|
||||||
if strings.HasSuffix(slug, ".pdf") {
|
if strings.HasSuffix(slug, ".pdf") {
|
||||||
|
@ -682,7 +584,7 @@ func handleBatchAction(w http.ResponseWriter, r *http.Request, user *auth.User,
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
case "export":
|
case "export":
|
||||||
filters := newInvoiceFilterForm(r.Context(), conn, company, user.Locale)
|
filters := newFilterForm(r.Context(), conn, company, user.Locale)
|
||||||
if err := filters.Parse(r); err != nil {
|
if err := filters.Parse(r); err != nil {
|
||||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||||
return
|
return
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
package invoice
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"dev.tandem.ws/tandem/camper/pkg/auth"
|
||||||
|
"dev.tandem.ws/tandem/camper/pkg/database"
|
||||||
|
"dev.tandem.ws/tandem/camper/pkg/form"
|
||||||
|
"dev.tandem.ws/tandem/camper/pkg/locale"
|
||||||
|
)
|
||||||
|
|
||||||
|
type filterForm struct {
|
||||||
|
company *auth.Company
|
||||||
|
Customer *form.Select
|
||||||
|
InvoiceStatus *form.Select
|
||||||
|
InvoiceNumber *form.Input
|
||||||
|
FromDate *form.Input
|
||||||
|
ToDate *form.Input
|
||||||
|
Cursor *form.Cursor
|
||||||
|
}
|
||||||
|
|
||||||
|
func newFilterForm(ctx context.Context, conn *database.Conn, company *auth.Company, locale *locale.Locale) *filterForm {
|
||||||
|
return &filterForm{
|
||||||
|
company: company,
|
||||||
|
Customer: &form.Select{
|
||||||
|
Name: "customer",
|
||||||
|
Options: mustGetContactOptions(ctx, conn, company),
|
||||||
|
},
|
||||||
|
InvoiceStatus: &form.Select{
|
||||||
|
Name: "invoice_status",
|
||||||
|
Options: mustGetInvoiceStatusOptions(ctx, conn, locale),
|
||||||
|
},
|
||||||
|
InvoiceNumber: &form.Input{
|
||||||
|
Name: "number",
|
||||||
|
},
|
||||||
|
FromDate: &form.Input{
|
||||||
|
Name: "from_date",
|
||||||
|
},
|
||||||
|
ToDate: &form.Input{
|
||||||
|
Name: "to_date",
|
||||||
|
},
|
||||||
|
Cursor: &form.Cursor{
|
||||||
|
Name: "cursor",
|
||||||
|
PerPage: 25,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) Parse(r *http.Request) error {
|
||||||
|
if err := r.ParseForm(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
f.Customer.FillValue(r)
|
||||||
|
f.InvoiceStatus.FillValue(r)
|
||||||
|
f.InvoiceNumber.FillValue(r)
|
||||||
|
f.FromDate.FillValue(r)
|
||||||
|
f.ToDate.FillValue(r)
|
||||||
|
f.Cursor.FillValue(r)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) BuildQuery(args []interface{}) (string, []interface{}) {
|
||||||
|
var where []string
|
||||||
|
appendWhere := func(expression string, value interface{}) {
|
||||||
|
args = append(args, value)
|
||||||
|
where = append(where, fmt.Sprintf(expression, len(args)))
|
||||||
|
}
|
||||||
|
maybeAppendWhere := func(expression string, value string, conv func(string) interface{}) {
|
||||||
|
if value != "" {
|
||||||
|
if conv == nil {
|
||||||
|
appendWhere(expression, value)
|
||||||
|
} else {
|
||||||
|
appendWhere(expression, conv(value))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
appendWhere("invoice.company_id = $%d", f.company.ID)
|
||||||
|
maybeAppendWhere("contact_id = $%d", f.Customer.String(), func(v string) interface{} {
|
||||||
|
customerId, _ := strconv.Atoi(f.Customer.Selected[0])
|
||||||
|
return customerId
|
||||||
|
})
|
||||||
|
maybeAppendWhere("invoice.invoice_status = $%d", f.InvoiceStatus.String(), nil)
|
||||||
|
maybeAppendWhere("invoice_number = $%d", f.InvoiceNumber.Val, nil)
|
||||||
|
maybeAppendWhere("invoice_date >= $%d", f.FromDate.Val, nil)
|
||||||
|
maybeAppendWhere("invoice_date <= $%d", f.ToDate.Val, nil)
|
||||||
|
|
||||||
|
if f.Paginated() {
|
||||||
|
params := f.Cursor.Params()
|
||||||
|
if len(params) == 2 {
|
||||||
|
where = append(where, fmt.Sprintf("(invoice_date, invoice_number) < ($%d, $%d)", len(args)+1, len(args)+2))
|
||||||
|
args = append(args, params[0])
|
||||||
|
args = append(args, params[1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Join(where, ") AND ("), args
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) buildCursor(customers []*IndexEntry) []*IndexEntry {
|
||||||
|
return form.BuildCursor(f.Cursor, customers, func(entry *IndexEntry) []string {
|
||||||
|
return []string{entry.Date.Format(database.ISODateFormat), entry.Number}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) HasValue() bool {
|
||||||
|
return (len(f.Customer.Selected) > 0 && f.Customer.Selected[0] != "") ||
|
||||||
|
(len(f.InvoiceStatus.Selected) > 0 && f.InvoiceStatus.Selected[0] != "") ||
|
||||||
|
f.InvoiceNumber.Val != "" ||
|
||||||
|
f.FromDate.Val != "" ||
|
||||||
|
f.ToDate.Val != ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) PerPage() int {
|
||||||
|
return f.Cursor.PerPage
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *filterForm) Paginated() bool {
|
||||||
|
return f.Cursor.Pagination
|
||||||
|
}
|
182
po/ca.po
182
po/ca.po
|
@ -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-05-03 17:19+0200\n"
|
"POT-Creation-Date: 2024-05-03 19:12+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"
|
||||||
|
@ -179,7 +179,7 @@ msgstr "Nits"
|
||||||
#: web/templates/mail/payment/details.gotxt:22
|
#: web/templates/mail/payment/details.gotxt:22
|
||||||
#: web/templates/public/booking/fields.gohtml:60
|
#: web/templates/public/booking/fields.gohtml:60
|
||||||
#: web/templates/admin/payment/details.gohtml:98
|
#: web/templates/admin/payment/details.gohtml:98
|
||||||
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
|
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:964
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Adults aged 17 or older"
|
msgid "Adults aged 17 or older"
|
||||||
msgstr "Adults de 17 anys o més"
|
msgstr "Adults de 17 anys o més"
|
||||||
|
@ -187,7 +187,7 @@ msgstr "Adults de 17 anys o més"
|
||||||
#: web/templates/mail/payment/details.gotxt:23
|
#: web/templates/mail/payment/details.gotxt:23
|
||||||
#: web/templates/public/booking/fields.gohtml:71
|
#: web/templates/public/booking/fields.gohtml:71
|
||||||
#: web/templates/admin/payment/details.gohtml:102
|
#: web/templates/admin/payment/details.gohtml:102
|
||||||
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
|
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:965
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Teenagers from 11 to 16 years old"
|
msgid "Teenagers from 11 to 16 years old"
|
||||||
msgstr "Adolescents d’entre 11 i 16 anys"
|
msgstr "Adolescents d’entre 11 i 16 anys"
|
||||||
|
@ -195,7 +195,7 @@ msgstr "Adolescents d’entre 11 i 16 anys"
|
||||||
#: web/templates/mail/payment/details.gotxt:24
|
#: web/templates/mail/payment/details.gotxt:24
|
||||||
#: web/templates/public/booking/fields.gohtml:82
|
#: web/templates/public/booking/fields.gohtml:82
|
||||||
#: web/templates/admin/payment/details.gohtml:106
|
#: web/templates/admin/payment/details.gohtml:106
|
||||||
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
|
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:966
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Children from 2 to 10 years old"
|
msgid "Children from 2 to 10 years old"
|
||||||
msgstr "Nens d’entre 2 i 10 anys"
|
msgstr "Nens d’entre 2 i 10 anys"
|
||||||
|
@ -203,14 +203,14 @@ msgstr "Nens d’entre 2 i 10 anys"
|
||||||
#: web/templates/mail/payment/details.gotxt:25
|
#: web/templates/mail/payment/details.gotxt:25
|
||||||
#: web/templates/public/booking/fields.gohtml:100
|
#: web/templates/public/booking/fields.gohtml:100
|
||||||
#: web/templates/admin/payment/details.gohtml:110
|
#: web/templates/admin/payment/details.gohtml:110
|
||||||
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
|
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:967
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Dogs"
|
msgid "Dogs"
|
||||||
msgstr "Gossos"
|
msgstr "Gossos"
|
||||||
|
|
||||||
#: web/templates/mail/payment/details.gotxt:26
|
#: web/templates/mail/payment/details.gotxt:26
|
||||||
#: web/templates/admin/payment/details.gohtml:114
|
#: web/templates/admin/payment/details.gohtml:114
|
||||||
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
|
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:968
|
||||||
#: pkg/booking/cart.go:242
|
#: pkg/booking/cart.go:242
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Tourist tax"
|
msgid "Tourist tax"
|
||||||
|
@ -293,6 +293,7 @@ msgstr "País"
|
||||||
#: web/templates/mail/payment/details.gotxt:46
|
#: web/templates/mail/payment/details.gotxt:46
|
||||||
#: web/templates/public/booking/fields.gohtml:201
|
#: web/templates/public/booking/fields.gohtml:201
|
||||||
#: web/templates/admin/payment/details.gohtml:163
|
#: web/templates/admin/payment/details.gohtml:163
|
||||||
|
#: web/templates/admin/customer/index.gohtml:33
|
||||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||||
#: web/templates/admin/taxDetails.gohtml:53
|
#: web/templates/admin/taxDetails.gohtml:53
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
|
@ -418,7 +419,7 @@ msgid "Order Number"
|
||||||
msgstr "Número de comanda"
|
msgstr "Número de comanda"
|
||||||
|
|
||||||
#: web/templates/public/payment/details.gohtml:8
|
#: web/templates/public/payment/details.gohtml:8
|
||||||
#: web/templates/admin/invoice/index.gohtml:103
|
#: web/templates/admin/invoice/index.gohtml:104
|
||||||
#: web/templates/admin/invoice/view.gohtml:26
|
#: web/templates/admin/invoice/view.gohtml:26
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
|
@ -596,6 +597,12 @@ msgctxt "action"
|
||||||
msgid "Filters"
|
msgid "Filters"
|
||||||
msgstr "Filtres"
|
msgstr "Filtres"
|
||||||
|
|
||||||
|
#: web/templates/public/form.gohtml:93 web/templates/admin/form.gohtml:93
|
||||||
|
#: web/templates/admin/prebooking/results.gohtml:20
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Load more"
|
||||||
|
msgstr "Carrega’n més"
|
||||||
|
|
||||||
#: web/templates/public/campsite/type.gohtml:49
|
#: web/templates/public/campsite/type.gohtml:49
|
||||||
#: web/templates/public/booking/fields.gohtml:278
|
#: web/templates/public/booking/fields.gohtml:278
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
|
@ -1183,6 +1190,7 @@ msgstr "Àlies"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/form.gohtml:50
|
#: web/templates/admin/season/form.gohtml:50
|
||||||
|
#: web/templates/admin/customer/index.gohtml:24
|
||||||
#: web/templates/admin/invoice/product-form.gohtml:16
|
#: web/templates/admin/invoice/product-form.gohtml:16
|
||||||
#: web/templates/admin/services/form.gohtml:53
|
#: web/templates/admin/services/form.gohtml:53
|
||||||
#: web/templates/admin/profile.gohtml:29
|
#: web/templates/admin/profile.gohtml:29
|
||||||
|
@ -1255,7 +1263,7 @@ msgstr "Afegeix text legal"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/index.gohtml:29
|
#: web/templates/admin/season/index.gohtml:29
|
||||||
#: web/templates/admin/customer/index.gohtml:19
|
#: web/templates/admin/customer/index.gohtml:51
|
||||||
#: web/templates/admin/user/index.gohtml:20
|
#: web/templates/admin/user/index.gohtml:20
|
||||||
#: web/templates/admin/surroundings/index.gohtml:83
|
#: web/templates/admin/surroundings/index.gohtml:83
|
||||||
#: web/templates/admin/amenity/feature/index.gohtml:30
|
#: web/templates/admin/amenity/feature/index.gohtml:30
|
||||||
|
@ -1860,7 +1868,7 @@ msgid "New Customer"
|
||||||
msgstr "Nou client"
|
msgstr "Nou client"
|
||||||
|
|
||||||
#: web/templates/admin/customer/form.gohtml:15
|
#: web/templates/admin/customer/form.gohtml:15
|
||||||
#: web/templates/admin/invoice/index.gohtml:105
|
#: web/templates/admin/invoice/index.gohtml:106
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Customer"
|
msgid "Customer"
|
||||||
msgstr "Client"
|
msgstr "Client"
|
||||||
|
@ -1917,19 +1925,27 @@ msgctxt "action"
|
||||||
msgid "Add Customer"
|
msgid "Add Customer"
|
||||||
msgstr "Afegeix client"
|
msgstr "Afegeix client"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:20
|
#: web/templates/admin/customer/index.gohtml:43
|
||||||
|
#: web/templates/admin/invoice/index.gohtml:94
|
||||||
|
#: web/templates/admin/prebooking/index.gohtml:51
|
||||||
|
#: web/templates/admin/booking/index.gohtml:65
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Reset"
|
||||||
|
msgstr "Restableix"
|
||||||
|
|
||||||
|
#: web/templates/admin/customer/index.gohtml:52
|
||||||
#: web/templates/admin/user/login-attempts.gohtml:20
|
#: web/templates/admin/user/login-attempts.gohtml:20
|
||||||
#: web/templates/admin/user/index.gohtml:21
|
#: web/templates/admin/user/index.gohtml:21
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Correu-e"
|
msgstr "Correu-e"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:21
|
#: web/templates/admin/customer/index.gohtml:53
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr "Telèfon"
|
msgstr "Telèfon"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:33
|
#: web/templates/admin/customer/index.gohtml:61
|
||||||
msgid "No customer found."
|
msgid "No customer found."
|
||||||
msgstr "No s’ha trobat cap client."
|
msgstr "No s’ha trobat cap client."
|
||||||
|
|
||||||
|
@ -2076,60 +2092,39 @@ msgctxt "action"
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr "Filtra"
|
msgstr "Filtra"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:94
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:51
|
|
||||||
#: web/templates/admin/booking/index.gohtml:65
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Reset"
|
|
||||||
msgstr "Restableix"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:97
|
#: web/templates/admin/invoice/index.gohtml:97
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Add invoice"
|
msgid "Add invoice"
|
||||||
msgstr "Afegeix factura"
|
msgstr "Afegeix factura"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:102
|
#: web/templates/admin/invoice/index.gohtml:103
|
||||||
msgctxt "invoice"
|
msgctxt "invoice"
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Totes"
|
msgstr "Totes"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:104
|
#: web/templates/admin/invoice/index.gohtml:105
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Invoice Num."
|
msgid "Invoice Num."
|
||||||
msgstr "Núm. de factura"
|
msgstr "Núm. de factura"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:106
|
#: web/templates/admin/invoice/index.gohtml:107
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Estat"
|
msgstr "Estat"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:107
|
#: web/templates/admin/invoice/index.gohtml:108
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Descàrrega"
|
msgstr "Descàrrega"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:108
|
#: web/templates/admin/invoice/index.gohtml:109
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Import"
|
msgstr "Import"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:115
|
#: web/templates/admin/invoice/index.gohtml:117
|
||||||
msgctxt "action"
|
msgid "No invoices found."
|
||||||
msgid "Select invoice %v"
|
msgstr "No s’ha trobat cap factura."
|
||||||
msgstr "Selecciona la factura %v"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:144
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Download invoice %s"
|
|
||||||
msgstr "Descarrega la factura %s"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:154
|
|
||||||
msgid "No invoices added yet."
|
|
||||||
msgstr "No s’ha afegit cap factura encara."
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:161
|
|
||||||
msgid "Total"
|
|
||||||
msgstr "Total"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/view.gohtml:2
|
#: web/templates/admin/invoice/view.gohtml:2
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
|
@ -2171,6 +2166,16 @@ msgctxt "title"
|
||||||
msgid "Tax Base"
|
msgid "Tax Base"
|
||||||
msgstr "Base imposable"
|
msgstr "Base imposable"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:3
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Select invoice %v"
|
||||||
|
msgstr "Selecciona la factura %v"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:32
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Download invoice %s"
|
||||||
|
msgstr "Descarrega la factura %s"
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:6
|
#: web/templates/admin/prebooking/index.gohtml:6
|
||||||
#: web/templates/admin/layout.gohtml:92
|
#: web/templates/admin/layout.gohtml:92
|
||||||
#: web/templates/admin/booking/form.gohtml:20
|
#: web/templates/admin/booking/form.gohtml:20
|
||||||
|
@ -2216,12 +2221,6 @@ msgstr "Nom del titular"
|
||||||
msgid "No prebooking found."
|
msgid "No prebooking found."
|
||||||
msgstr "No s’ha trobat cap pre-reserva."
|
msgstr "No s’ha trobat cap pre-reserva."
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/results.gohtml:20
|
|
||||||
#: web/templates/admin/booking/results.gohtml:23
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Load more"
|
|
||||||
msgstr "Carrega’n més"
|
|
||||||
|
|
||||||
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
|
@ -2701,7 +2700,7 @@ msgctxt "header"
|
||||||
msgid "Decription"
|
msgid "Decription"
|
||||||
msgstr "Descripció"
|
msgstr "Descripció"
|
||||||
|
|
||||||
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
|
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:963
|
||||||
#: pkg/booking/cart.go:232
|
#: pkg/booking/cart.go:232
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Night"
|
msgid "Night"
|
||||||
|
@ -2900,7 +2899,7 @@ msgstr "Rebut amb èxit el pagament de la reserva"
|
||||||
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
||||||
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
||||||
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
||||||
#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
|
#: pkg/invoice/admin.go:1060 pkg/services/admin.go:316
|
||||||
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
||||||
#: pkg/amenity/admin.go:283
|
#: pkg/amenity/admin.go:283
|
||||||
msgid "Name can not be empty."
|
msgid "Name can not be empty."
|
||||||
|
@ -2941,8 +2940,8 @@ msgstr "La imatge de la diapositiva ha de ser un mèdia de tipus imatge."
|
||||||
msgid "Email can not be empty."
|
msgid "Email can not be empty."
|
||||||
msgstr "No podeu deixar el correu-e en blanc."
|
msgstr "No podeu deixar el correu-e en blanc."
|
||||||
|
|
||||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
|
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:361
|
||||||
#: pkg/company/admin.go:225 pkg/booking/admin.go:597 pkg/booking/public.go:593
|
#: pkg/company/admin.go:225 pkg/booking/admin.go:479 pkg/booking/public.go:593
|
||||||
msgid "This email is not valid. It should be like name@domain.com."
|
msgid "This email is not valid. It should be like name@domain.com."
|
||||||
msgstr "Aquest correu-e no és vàlid. Hauria de ser similar a nom@domini.com."
|
msgstr "Aquest correu-e no és vàlid. Hauria de ser similar a nom@domini.com."
|
||||||
|
|
||||||
|
@ -2999,15 +2998,15 @@ msgstr "El valor del màxim ha de ser un número enter."
|
||||||
msgid "Maximum must be equal or greater than minimum."
|
msgid "Maximum must be equal or greater than minimum."
|
||||||
msgstr "El valor del màxim ha de ser igual o superir al del mínim."
|
msgstr "El valor del màxim ha de ser igual o superir al del mínim."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
|
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1061
|
||||||
msgid "Price can not be empty."
|
msgid "Price can not be empty."
|
||||||
msgstr "No podeu deixar el preu en blanc."
|
msgstr "No podeu deixar el preu en blanc."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
|
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1062
|
||||||
msgid "Price must be a decimal number."
|
msgid "Price must be a decimal number."
|
||||||
msgstr "El preu ha de ser un número decimal."
|
msgstr "El preu ha de ser un número decimal."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
|
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1063
|
||||||
msgid "Price must be zero or greater."
|
msgid "Price must be zero or greater."
|
||||||
msgstr "El preu ha de ser com a mínim zero."
|
msgstr "El preu ha de ser com a mínim zero."
|
||||||
|
|
||||||
|
@ -3153,7 +3152,7 @@ msgctxt "header"
|
||||||
msgid "Children (aged 2 to 10)"
|
msgid "Children (aged 2 to 10)"
|
||||||
msgstr "Mainada (entre 2 i 10 anys)"
|
msgstr "Mainada (entre 2 i 10 anys)"
|
||||||
|
|
||||||
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:573 pkg/booking/public.go:177
|
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:455 pkg/booking/public.go:177
|
||||||
#: pkg/booking/public.go:232
|
#: pkg/booking/public.go:232
|
||||||
msgid "Selected campsite type is not valid."
|
msgid "Selected campsite type is not valid."
|
||||||
msgstr "El tipus d’allotjament escollit no és vàlid."
|
msgstr "El tipus d’allotjament escollit no és vàlid."
|
||||||
|
@ -3191,129 +3190,129 @@ msgstr "No podeu deixar la data de fi en blanc."
|
||||||
msgid "End date must be a valid date."
|
msgid "End date must be a valid date."
|
||||||
msgstr "La data de fi ha de ser una data vàlida."
|
msgstr "La data de fi ha de ser una data vàlida."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:326 pkg/company/admin.go:207
|
#: pkg/customer/admin.go:342 pkg/company/admin.go:207
|
||||||
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
||||||
msgid "Selected country is not valid."
|
msgid "Selected country is not valid."
|
||||||
msgstr "El país escollit no és vàlid."
|
msgstr "El país escollit no és vàlid."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
|
#: pkg/customer/admin.go:346 pkg/booking/checkin.go:284
|
||||||
msgid "Selected ID document type is not valid."
|
msgid "Selected ID document type is not valid."
|
||||||
msgstr "El tipus de document d’identitat escollit no és vàlid."
|
msgstr "El tipus de document d’identitat escollit no és vàlid."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
|
#: pkg/customer/admin.go:347 pkg/booking/checkin.go:285
|
||||||
msgid "ID document number can not be empty."
|
msgid "ID document number can not be empty."
|
||||||
msgstr "No podeu deixar el número document d’identitat en blanc."
|
msgstr "No podeu deixar el número document d’identitat en blanc."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
|
#: pkg/customer/admin.go:349 pkg/booking/checkin.go:291
|
||||||
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:585
|
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:467
|
||||||
#: pkg/booking/public.go:581
|
#: pkg/booking/public.go:581
|
||||||
msgid "Full name can not be empty."
|
msgid "Full name can not be empty."
|
||||||
msgstr "No podeu deixar el nom i els cognoms en blanc."
|
msgstr "No podeu deixar el nom i els cognoms en blanc."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:334 pkg/booking/admin.go:586 pkg/booking/public.go:582
|
#: pkg/customer/admin.go:350 pkg/booking/admin.go:468 pkg/booking/public.go:582
|
||||||
msgid "Full name must have at least one letter."
|
msgid "Full name must have at least one letter."
|
||||||
msgstr "El nom i els cognoms han de tenir com a mínim una lletra."
|
msgstr "El nom i els cognoms han de tenir com a mínim una lletra."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:337 pkg/company/admin.go:230 pkg/booking/public.go:585
|
#: pkg/customer/admin.go:353 pkg/company/admin.go:230 pkg/booking/public.go:585
|
||||||
msgid "Address can not be empty."
|
msgid "Address can not be empty."
|
||||||
msgstr "No podeu deixar l’adreça en blanc."
|
msgstr "No podeu deixar l’adreça en blanc."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:338 pkg/booking/public.go:586
|
#: pkg/customer/admin.go:354 pkg/booking/public.go:586
|
||||||
msgid "Town or village can not be empty."
|
msgid "Town or village can not be empty."
|
||||||
msgstr "No podeu deixar la població en blanc."
|
msgstr "No podeu deixar la població en blanc."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:339 pkg/company/admin.go:233 pkg/booking/public.go:587
|
#: pkg/customer/admin.go:355 pkg/company/admin.go:233 pkg/booking/public.go:587
|
||||||
msgid "Postcode can not be empty."
|
msgid "Postcode can not be empty."
|
||||||
msgstr "No podeu deixar el codi postal en blanc."
|
msgstr "No podeu deixar el codi postal en blanc."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:592
|
#: pkg/customer/admin.go:356 pkg/company/admin.go:234 pkg/booking/admin.go:474
|
||||||
#: pkg/booking/public.go:588
|
#: pkg/booking/public.go:588
|
||||||
msgid "This postcode is not valid."
|
msgid "This postcode is not valid."
|
||||||
msgstr "Aquest codi postal no és vàlid."
|
msgstr "Aquest codi postal no és vàlid."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:348 pkg/company/admin.go:220
|
#: pkg/customer/admin.go:364 pkg/company/admin.go:220
|
||||||
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:602
|
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:484
|
||||||
#: pkg/booking/public.go:596
|
#: pkg/booking/public.go:596
|
||||||
msgid "This phone number is not valid."
|
msgid "This phone number is not valid."
|
||||||
msgstr "Aquest número de telèfon no és vàlid."
|
msgstr "Aquest número de telèfon no és vàlid."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:679
|
#: pkg/invoice/admin.go:581
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.zip"
|
msgid "invoices.zip"
|
||||||
msgstr "factures.zip"
|
msgstr "factures.zip"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:694
|
#: pkg/invoice/admin.go:596
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.ods"
|
msgid "invoices.ods"
|
||||||
msgstr "factures.ods"
|
msgstr "factures.ods"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
|
#: pkg/invoice/admin.go:598 pkg/invoice/admin.go:1260 pkg/invoice/admin.go:1267
|
||||||
msgid "Invalid action"
|
msgid "Invalid action"
|
||||||
msgstr "Acció invàlida"
|
msgstr "Acció invàlida"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:861
|
#: pkg/invoice/admin.go:763
|
||||||
msgid "Selected invoice status is not valid."
|
msgid "Selected invoice status is not valid."
|
||||||
msgstr "L’estat de factura escollit no és vàlid."
|
msgstr "L’estat de factura escollit no és vàlid."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:862
|
#: pkg/invoice/admin.go:764
|
||||||
msgid "Invoice date can not be empty."
|
msgid "Invoice date can not be empty."
|
||||||
msgstr "No podeu deixar la data de factura en blanc."
|
msgstr "No podeu deixar la data de factura en blanc."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:863
|
#: pkg/invoice/admin.go:765
|
||||||
msgid "Invoice date must be a valid date."
|
msgid "Invoice date must be a valid date."
|
||||||
msgstr "La data de factura ha de ser una data vàlida."
|
msgstr "La data de factura ha de ser una data vàlida."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1021
|
#: pkg/invoice/admin.go:923
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Re: booking #%s of %s–%s"
|
msgid "Re: booking #%s of %s–%s"
|
||||||
msgstr "Ref: reserva núm. %s del %s-%s"
|
msgstr "Ref: reserva núm. %s del %s-%s"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1022
|
#: pkg/invoice/admin.go:924
|
||||||
msgctxt "to_char"
|
msgctxt "to_char"
|
||||||
msgid "MM/DD/YYYY"
|
msgid "MM/DD/YYYY"
|
||||||
msgstr "DD/MM/YYYY"
|
msgstr "DD/MM/YYYY"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1149
|
#: pkg/invoice/admin.go:1051
|
||||||
msgid "Invoice product ID must be an integer."
|
msgid "Invoice product ID must be an integer."
|
||||||
msgstr "L’ID de producte de factura ha de ser enter."
|
msgstr "L’ID de producte de factura ha de ser enter."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1150
|
#: pkg/invoice/admin.go:1052
|
||||||
msgid "Invoice product ID one or greater."
|
msgid "Invoice product ID one or greater."
|
||||||
msgstr "L’ID de producte de factura ha de ser com a mínim u."
|
msgstr "L’ID de producte de factura ha de ser com a mínim u."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1154
|
#: pkg/invoice/admin.go:1056
|
||||||
msgid "Product ID must be an integer."
|
msgid "Product ID must be an integer."
|
||||||
msgstr "L’ID de producte ha de ser un número enter."
|
msgstr "L’ID de producte ha de ser un número enter."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1155
|
#: pkg/invoice/admin.go:1057
|
||||||
msgid "Product ID must zero or greater."
|
msgid "Product ID must zero or greater."
|
||||||
msgstr "L’ID de producte ha de ser com a mínim zero."
|
msgstr "L’ID de producte ha de ser com a mínim zero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1164
|
#: pkg/invoice/admin.go:1066
|
||||||
msgid "Quantity can not be empty."
|
msgid "Quantity can not be empty."
|
||||||
msgstr "No podeu deixar la quantitat en blanc."
|
msgstr "No podeu deixar la quantitat en blanc."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1165
|
#: pkg/invoice/admin.go:1067
|
||||||
msgid "Quantity must be an integer."
|
msgid "Quantity must be an integer."
|
||||||
msgstr "La quantitat ha de ser un número enter."
|
msgstr "La quantitat ha de ser un número enter."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1166
|
#: pkg/invoice/admin.go:1068
|
||||||
msgid "Quantity must one or greater."
|
msgid "Quantity must one or greater."
|
||||||
msgstr "La quantitat ha de ser com a mínim u."
|
msgstr "La quantitat ha de ser com a mínim u."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1169
|
#: pkg/invoice/admin.go:1071
|
||||||
msgid "Discount can not be empty."
|
msgid "Discount can not be empty."
|
||||||
msgstr "No podeu deixar el descompte en blanc."
|
msgstr "No podeu deixar el descompte en blanc."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1170
|
#: pkg/invoice/admin.go:1072
|
||||||
msgid "Discount must be an integer."
|
msgid "Discount must be an integer."
|
||||||
msgstr "El descompte ha de ser un número enter."
|
msgstr "El descompte ha de ser un número enter."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
|
#: pkg/invoice/admin.go:1073 pkg/invoice/admin.go:1074
|
||||||
msgid "Discount must be a percentage between 0 and 100."
|
msgid "Discount must be a percentage between 0 and 100."
|
||||||
msgstr "El descompte ha de ser un percentatge entre 0 i 100"
|
msgstr "El descompte ha de ser un percentatge entre 0 i 100"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1176
|
#: pkg/invoice/admin.go:1078
|
||||||
msgid "Selected tax is not valid."
|
msgid "Selected tax is not valid."
|
||||||
msgstr "L’impost escollit no és vàlid."
|
msgstr "L’impost escollit no és vàlid."
|
||||||
|
|
||||||
|
@ -3501,19 +3500,19 @@ msgctxt "filename"
|
||||||
msgid "bookings.ods"
|
msgid "bookings.ods"
|
||||||
msgstr "reserves.ods"
|
msgstr "reserves.ods"
|
||||||
|
|
||||||
#: pkg/booking/admin.go:591
|
#: pkg/booking/admin.go:473
|
||||||
msgid "Country can not be empty to validate the postcode."
|
msgid "Country can not be empty to validate the postcode."
|
||||||
msgstr "No podeu deixar el país en blanc per validar el codi postal."
|
msgstr "No podeu deixar el país en blanc per validar el codi postal."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:601
|
#: pkg/booking/admin.go:483
|
||||||
msgid "Country can not be empty to validate the phone."
|
msgid "Country can not be empty to validate the phone."
|
||||||
msgstr "No podeu deixar el país en blanc per validar el telèfon."
|
msgstr "No podeu deixar el país en blanc per validar el telèfon."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:608
|
#: pkg/booking/admin.go:490
|
||||||
msgid "You must select at least one accommodation."
|
msgid "You must select at least one accommodation."
|
||||||
msgstr "Heu d’escollir com a mínim un allotjament."
|
msgstr "Heu d’escollir com a mínim un allotjament."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:614
|
#: pkg/booking/admin.go:496
|
||||||
msgid "The selected accommodations have no available openings in the requested dates."
|
msgid "The selected accommodations have no available openings in the requested dates."
|
||||||
msgstr "Els allotjaments escollits no estan disponibles a les dates demanades."
|
msgstr "Els allotjaments escollits no estan disponibles a les dates demanades."
|
||||||
|
|
||||||
|
@ -3630,6 +3629,9 @@ msgstr "El valor de %s ha de ser com a màxim %d."
|
||||||
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."
|
||||||
|
|
||||||
|
#~ msgid "Total"
|
||||||
|
#~ msgstr "Total"
|
||||||
|
|
||||||
#~ msgid "Select a customer"
|
#~ msgid "Select a customer"
|
||||||
#~ msgstr "Esculliu un client"
|
#~ msgstr "Esculliu un client"
|
||||||
|
|
||||||
|
|
182
po/es.po
182
po/es.po
|
@ -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-05-03 17:19+0200\n"
|
"POT-Creation-Date: 2024-05-03 19:12+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"
|
||||||
|
@ -179,7 +179,7 @@ msgstr "Noches"
|
||||||
#: web/templates/mail/payment/details.gotxt:22
|
#: web/templates/mail/payment/details.gotxt:22
|
||||||
#: web/templates/public/booking/fields.gohtml:60
|
#: web/templates/public/booking/fields.gohtml:60
|
||||||
#: web/templates/admin/payment/details.gohtml:98
|
#: web/templates/admin/payment/details.gohtml:98
|
||||||
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
|
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:964
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Adults aged 17 or older"
|
msgid "Adults aged 17 or older"
|
||||||
msgstr "Adultos de 17 años o más"
|
msgstr "Adultos de 17 años o más"
|
||||||
|
@ -187,7 +187,7 @@ msgstr "Adultos de 17 años o más"
|
||||||
#: web/templates/mail/payment/details.gotxt:23
|
#: web/templates/mail/payment/details.gotxt:23
|
||||||
#: web/templates/public/booking/fields.gohtml:71
|
#: web/templates/public/booking/fields.gohtml:71
|
||||||
#: web/templates/admin/payment/details.gohtml:102
|
#: web/templates/admin/payment/details.gohtml:102
|
||||||
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
|
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:965
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Teenagers from 11 to 16 years old"
|
msgid "Teenagers from 11 to 16 years old"
|
||||||
msgstr "Adolescentes de 11 a 16 años"
|
msgstr "Adolescentes de 11 a 16 años"
|
||||||
|
@ -195,7 +195,7 @@ msgstr "Adolescentes de 11 a 16 años"
|
||||||
#: web/templates/mail/payment/details.gotxt:24
|
#: web/templates/mail/payment/details.gotxt:24
|
||||||
#: web/templates/public/booking/fields.gohtml:82
|
#: web/templates/public/booking/fields.gohtml:82
|
||||||
#: web/templates/admin/payment/details.gohtml:106
|
#: web/templates/admin/payment/details.gohtml:106
|
||||||
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
|
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:966
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Children from 2 to 10 years old"
|
msgid "Children from 2 to 10 years old"
|
||||||
msgstr "Niños de 2 a 10 años"
|
msgstr "Niños de 2 a 10 años"
|
||||||
|
@ -203,14 +203,14 @@ msgstr "Niños de 2 a 10 años"
|
||||||
#: web/templates/mail/payment/details.gotxt:25
|
#: web/templates/mail/payment/details.gotxt:25
|
||||||
#: web/templates/public/booking/fields.gohtml:100
|
#: web/templates/public/booking/fields.gohtml:100
|
||||||
#: web/templates/admin/payment/details.gohtml:110
|
#: web/templates/admin/payment/details.gohtml:110
|
||||||
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
|
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:967
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Dogs"
|
msgid "Dogs"
|
||||||
msgstr "Perros"
|
msgstr "Perros"
|
||||||
|
|
||||||
#: web/templates/mail/payment/details.gotxt:26
|
#: web/templates/mail/payment/details.gotxt:26
|
||||||
#: web/templates/admin/payment/details.gohtml:114
|
#: web/templates/admin/payment/details.gohtml:114
|
||||||
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
|
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:968
|
||||||
#: pkg/booking/cart.go:242
|
#: pkg/booking/cart.go:242
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Tourist tax"
|
msgid "Tourist tax"
|
||||||
|
@ -293,6 +293,7 @@ msgstr "País"
|
||||||
#: web/templates/mail/payment/details.gotxt:46
|
#: web/templates/mail/payment/details.gotxt:46
|
||||||
#: web/templates/public/booking/fields.gohtml:201
|
#: web/templates/public/booking/fields.gohtml:201
|
||||||
#: web/templates/admin/payment/details.gohtml:163
|
#: web/templates/admin/payment/details.gohtml:163
|
||||||
|
#: web/templates/admin/customer/index.gohtml:33
|
||||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||||
#: web/templates/admin/taxDetails.gohtml:53
|
#: web/templates/admin/taxDetails.gohtml:53
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
|
@ -418,7 +419,7 @@ msgid "Order Number"
|
||||||
msgstr "Número de pedido"
|
msgstr "Número de pedido"
|
||||||
|
|
||||||
#: web/templates/public/payment/details.gohtml:8
|
#: web/templates/public/payment/details.gohtml:8
|
||||||
#: web/templates/admin/invoice/index.gohtml:103
|
#: web/templates/admin/invoice/index.gohtml:104
|
||||||
#: web/templates/admin/invoice/view.gohtml:26
|
#: web/templates/admin/invoice/view.gohtml:26
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
|
@ -596,6 +597,12 @@ msgctxt "action"
|
||||||
msgid "Filters"
|
msgid "Filters"
|
||||||
msgstr "Filtros"
|
msgstr "Filtros"
|
||||||
|
|
||||||
|
#: web/templates/public/form.gohtml:93 web/templates/admin/form.gohtml:93
|
||||||
|
#: web/templates/admin/prebooking/results.gohtml:20
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Load more"
|
||||||
|
msgstr "Cargar más"
|
||||||
|
|
||||||
#: web/templates/public/campsite/type.gohtml:49
|
#: web/templates/public/campsite/type.gohtml:49
|
||||||
#: web/templates/public/booking/fields.gohtml:278
|
#: web/templates/public/booking/fields.gohtml:278
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
|
@ -1183,6 +1190,7 @@ msgstr "Álias"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/form.gohtml:50
|
#: web/templates/admin/season/form.gohtml:50
|
||||||
|
#: web/templates/admin/customer/index.gohtml:24
|
||||||
#: web/templates/admin/invoice/product-form.gohtml:16
|
#: web/templates/admin/invoice/product-form.gohtml:16
|
||||||
#: web/templates/admin/services/form.gohtml:53
|
#: web/templates/admin/services/form.gohtml:53
|
||||||
#: web/templates/admin/profile.gohtml:29
|
#: web/templates/admin/profile.gohtml:29
|
||||||
|
@ -1255,7 +1263,7 @@ msgstr "Añadir texto legal"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/index.gohtml:29
|
#: web/templates/admin/season/index.gohtml:29
|
||||||
#: web/templates/admin/customer/index.gohtml:19
|
#: web/templates/admin/customer/index.gohtml:51
|
||||||
#: web/templates/admin/user/index.gohtml:20
|
#: web/templates/admin/user/index.gohtml:20
|
||||||
#: web/templates/admin/surroundings/index.gohtml:83
|
#: web/templates/admin/surroundings/index.gohtml:83
|
||||||
#: web/templates/admin/amenity/feature/index.gohtml:30
|
#: web/templates/admin/amenity/feature/index.gohtml:30
|
||||||
|
@ -1860,7 +1868,7 @@ msgid "New Customer"
|
||||||
msgstr "Nuevo cliente"
|
msgstr "Nuevo cliente"
|
||||||
|
|
||||||
#: web/templates/admin/customer/form.gohtml:15
|
#: web/templates/admin/customer/form.gohtml:15
|
||||||
#: web/templates/admin/invoice/index.gohtml:105
|
#: web/templates/admin/invoice/index.gohtml:106
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Customer"
|
msgid "Customer"
|
||||||
msgstr "Cliente"
|
msgstr "Cliente"
|
||||||
|
@ -1917,19 +1925,27 @@ msgctxt "action"
|
||||||
msgid "Add Customer"
|
msgid "Add Customer"
|
||||||
msgstr "Añadir cliente"
|
msgstr "Añadir cliente"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:20
|
#: web/templates/admin/customer/index.gohtml:43
|
||||||
|
#: web/templates/admin/invoice/index.gohtml:94
|
||||||
|
#: web/templates/admin/prebooking/index.gohtml:51
|
||||||
|
#: web/templates/admin/booking/index.gohtml:65
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Reset"
|
||||||
|
msgstr "Restablecer"
|
||||||
|
|
||||||
|
#: web/templates/admin/customer/index.gohtml:52
|
||||||
#: web/templates/admin/user/login-attempts.gohtml:20
|
#: web/templates/admin/user/login-attempts.gohtml:20
|
||||||
#: web/templates/admin/user/index.gohtml:21
|
#: web/templates/admin/user/index.gohtml:21
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Correo-e"
|
msgstr "Correo-e"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:21
|
#: web/templates/admin/customer/index.gohtml:53
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr "Teléfono"
|
msgstr "Teléfono"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:33
|
#: web/templates/admin/customer/index.gohtml:61
|
||||||
msgid "No customer found."
|
msgid "No customer found."
|
||||||
msgstr "No se ha encontrado ningún cliente."
|
msgstr "No se ha encontrado ningún cliente."
|
||||||
|
|
||||||
|
@ -2076,60 +2092,39 @@ msgctxt "action"
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr "Filtrar"
|
msgstr "Filtrar"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:94
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:51
|
|
||||||
#: web/templates/admin/booking/index.gohtml:65
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Reset"
|
|
||||||
msgstr "Restablecer"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:97
|
#: web/templates/admin/invoice/index.gohtml:97
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Add invoice"
|
msgid "Add invoice"
|
||||||
msgstr "Añadir factura"
|
msgstr "Añadir factura"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:102
|
#: web/templates/admin/invoice/index.gohtml:103
|
||||||
msgctxt "invoice"
|
msgctxt "invoice"
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todas"
|
msgstr "Todas"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:104
|
#: web/templates/admin/invoice/index.gohtml:105
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Invoice Num."
|
msgid "Invoice Num."
|
||||||
msgstr "Núm. de factura"
|
msgstr "Núm. de factura"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:106
|
#: web/templates/admin/invoice/index.gohtml:107
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Estado"
|
msgstr "Estado"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:107
|
#: web/templates/admin/invoice/index.gohtml:108
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Descarga"
|
msgstr "Descarga"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:108
|
#: web/templates/admin/invoice/index.gohtml:109
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Importe"
|
msgstr "Importe"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:115
|
#: web/templates/admin/invoice/index.gohtml:117
|
||||||
msgctxt "action"
|
msgid "No invoices found."
|
||||||
msgid "Select invoice %v"
|
msgstr "No se ha encontrado ninguna factura."
|
||||||
msgstr "Seleccionar factura %v"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:144
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Download invoice %s"
|
|
||||||
msgstr "Descargar factura %s"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:154
|
|
||||||
msgid "No invoices added yet."
|
|
||||||
msgstr "No se ha añadido ninguna factura todavía."
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:161
|
|
||||||
msgid "Total"
|
|
||||||
msgstr "Total"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/view.gohtml:2
|
#: web/templates/admin/invoice/view.gohtml:2
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
|
@ -2171,6 +2166,16 @@ msgctxt "title"
|
||||||
msgid "Tax Base"
|
msgid "Tax Base"
|
||||||
msgstr "Base imponible"
|
msgstr "Base imponible"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:3
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Select invoice %v"
|
||||||
|
msgstr "Seleccionar factura %v"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:32
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Download invoice %s"
|
||||||
|
msgstr "Descargar factura %s"
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:6
|
#: web/templates/admin/prebooking/index.gohtml:6
|
||||||
#: web/templates/admin/layout.gohtml:92
|
#: web/templates/admin/layout.gohtml:92
|
||||||
#: web/templates/admin/booking/form.gohtml:20
|
#: web/templates/admin/booking/form.gohtml:20
|
||||||
|
@ -2216,12 +2221,6 @@ msgstr "Nombre del titular"
|
||||||
msgid "No prebooking found."
|
msgid "No prebooking found."
|
||||||
msgstr "No se ha encontrado ninguna prereserva."
|
msgstr "No se ha encontrado ninguna prereserva."
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/results.gohtml:20
|
|
||||||
#: web/templates/admin/booking/results.gohtml:23
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Load more"
|
|
||||||
msgstr "Cargar más"
|
|
||||||
|
|
||||||
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
|
@ -2701,7 +2700,7 @@ msgctxt "header"
|
||||||
msgid "Decription"
|
msgid "Decription"
|
||||||
msgstr "Descripción"
|
msgstr "Descripción"
|
||||||
|
|
||||||
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
|
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:963
|
||||||
#: pkg/booking/cart.go:232
|
#: pkg/booking/cart.go:232
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Night"
|
msgid "Night"
|
||||||
|
@ -2900,7 +2899,7 @@ msgstr "Se ha recibido correctamente el pago de la reserva"
|
||||||
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
||||||
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
||||||
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
||||||
#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
|
#: pkg/invoice/admin.go:1060 pkg/services/admin.go:316
|
||||||
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
||||||
#: pkg/amenity/admin.go:283
|
#: pkg/amenity/admin.go:283
|
||||||
msgid "Name can not be empty."
|
msgid "Name can not be empty."
|
||||||
|
@ -2941,8 +2940,8 @@ msgstr "La imagen de la diapositiva tiene que ser un medio de tipo imagen."
|
||||||
msgid "Email can not be empty."
|
msgid "Email can not be empty."
|
||||||
msgstr "No podéis dejar el correo-e en blanco."
|
msgstr "No podéis dejar el correo-e en blanco."
|
||||||
|
|
||||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
|
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:361
|
||||||
#: pkg/company/admin.go:225 pkg/booking/admin.go:597 pkg/booking/public.go:593
|
#: pkg/company/admin.go:225 pkg/booking/admin.go:479 pkg/booking/public.go:593
|
||||||
msgid "This email is not valid. It should be like name@domain.com."
|
msgid "This email is not valid. It should be like name@domain.com."
|
||||||
msgstr "Este correo-e no es válido. Tiene que ser parecido a nombre@dominio.com."
|
msgstr "Este correo-e no es válido. Tiene que ser parecido a nombre@dominio.com."
|
||||||
|
|
||||||
|
@ -2999,15 +2998,15 @@ msgstr "El valor del máximo tiene que ser un número entero."
|
||||||
msgid "Maximum must be equal or greater than minimum."
|
msgid "Maximum must be equal or greater than minimum."
|
||||||
msgstr "El valor del máximo tiene que ser igual o mayor al del mínimo."
|
msgstr "El valor del máximo tiene que ser igual o mayor al del mínimo."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
|
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1061
|
||||||
msgid "Price can not be empty."
|
msgid "Price can not be empty."
|
||||||
msgstr "No podéis dejar el precio en blanco."
|
msgstr "No podéis dejar el precio en blanco."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
|
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1062
|
||||||
msgid "Price must be a decimal number."
|
msgid "Price must be a decimal number."
|
||||||
msgstr "El precio tiene que ser un número decimal."
|
msgstr "El precio tiene que ser un número decimal."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
|
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1063
|
||||||
msgid "Price must be zero or greater."
|
msgid "Price must be zero or greater."
|
||||||
msgstr "El precio tiene que ser como mínimo cero."
|
msgstr "El precio tiene que ser como mínimo cero."
|
||||||
|
|
||||||
|
@ -3153,7 +3152,7 @@ msgctxt "header"
|
||||||
msgid "Children (aged 2 to 10)"
|
msgid "Children (aged 2 to 10)"
|
||||||
msgstr "Niños (de 2 a 10 años)"
|
msgstr "Niños (de 2 a 10 años)"
|
||||||
|
|
||||||
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:573 pkg/booking/public.go:177
|
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:455 pkg/booking/public.go:177
|
||||||
#: pkg/booking/public.go:232
|
#: pkg/booking/public.go:232
|
||||||
msgid "Selected campsite type is not valid."
|
msgid "Selected campsite type is not valid."
|
||||||
msgstr "El tipo de alojamiento escogido no es válido."
|
msgstr "El tipo de alojamiento escogido no es válido."
|
||||||
|
@ -3191,129 +3190,129 @@ msgstr "No podéis dejar la fecha final en blanco."
|
||||||
msgid "End date must be a valid date."
|
msgid "End date must be a valid date."
|
||||||
msgstr "La fecha final tiene que ser una fecha válida."
|
msgstr "La fecha final tiene que ser una fecha válida."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:326 pkg/company/admin.go:207
|
#: pkg/customer/admin.go:342 pkg/company/admin.go:207
|
||||||
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
||||||
msgid "Selected country is not valid."
|
msgid "Selected country is not valid."
|
||||||
msgstr "El país escogido no es válido."
|
msgstr "El país escogido no es válido."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
|
#: pkg/customer/admin.go:346 pkg/booking/checkin.go:284
|
||||||
msgid "Selected ID document type is not valid."
|
msgid "Selected ID document type is not valid."
|
||||||
msgstr "El tipo de documento de identidad escogido no es válido."
|
msgstr "El tipo de documento de identidad escogido no es válido."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
|
#: pkg/customer/admin.go:347 pkg/booking/checkin.go:285
|
||||||
msgid "ID document number can not be empty."
|
msgid "ID document number can not be empty."
|
||||||
msgstr "No podéis dejar el número del documento de identidad en blanco."
|
msgstr "No podéis dejar el número del documento de identidad en blanco."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
|
#: pkg/customer/admin.go:349 pkg/booking/checkin.go:291
|
||||||
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:585
|
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:467
|
||||||
#: pkg/booking/public.go:581
|
#: pkg/booking/public.go:581
|
||||||
msgid "Full name can not be empty."
|
msgid "Full name can not be empty."
|
||||||
msgstr "No podéis dejar el nombre y los apellidos en blanco."
|
msgstr "No podéis dejar el nombre y los apellidos en blanco."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:334 pkg/booking/admin.go:586 pkg/booking/public.go:582
|
#: pkg/customer/admin.go:350 pkg/booking/admin.go:468 pkg/booking/public.go:582
|
||||||
msgid "Full name must have at least one letter."
|
msgid "Full name must have at least one letter."
|
||||||
msgstr "El nombre y los apellidos tienen que tener como mínimo una letra."
|
msgstr "El nombre y los apellidos tienen que tener como mínimo una letra."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:337 pkg/company/admin.go:230 pkg/booking/public.go:585
|
#: pkg/customer/admin.go:353 pkg/company/admin.go:230 pkg/booking/public.go:585
|
||||||
msgid "Address can not be empty."
|
msgid "Address can not be empty."
|
||||||
msgstr "No podéis dejar la dirección en blanco."
|
msgstr "No podéis dejar la dirección en blanco."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:338 pkg/booking/public.go:586
|
#: pkg/customer/admin.go:354 pkg/booking/public.go:586
|
||||||
msgid "Town or village can not be empty."
|
msgid "Town or village can not be empty."
|
||||||
msgstr "No podéis dejar la población en blanco."
|
msgstr "No podéis dejar la población en blanco."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:339 pkg/company/admin.go:233 pkg/booking/public.go:587
|
#: pkg/customer/admin.go:355 pkg/company/admin.go:233 pkg/booking/public.go:587
|
||||||
msgid "Postcode can not be empty."
|
msgid "Postcode can not be empty."
|
||||||
msgstr "No podéis dejar el código postal en blanco."
|
msgstr "No podéis dejar el código postal en blanco."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:592
|
#: pkg/customer/admin.go:356 pkg/company/admin.go:234 pkg/booking/admin.go:474
|
||||||
#: pkg/booking/public.go:588
|
#: pkg/booking/public.go:588
|
||||||
msgid "This postcode is not valid."
|
msgid "This postcode is not valid."
|
||||||
msgstr "Este código postal no es válido."
|
msgstr "Este código postal no es válido."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:348 pkg/company/admin.go:220
|
#: pkg/customer/admin.go:364 pkg/company/admin.go:220
|
||||||
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:602
|
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:484
|
||||||
#: pkg/booking/public.go:596
|
#: pkg/booking/public.go:596
|
||||||
msgid "This phone number is not valid."
|
msgid "This phone number is not valid."
|
||||||
msgstr "Este teléfono no es válido."
|
msgstr "Este teléfono no es válido."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:679
|
#: pkg/invoice/admin.go:581
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.zip"
|
msgid "invoices.zip"
|
||||||
msgstr "facturas.zip"
|
msgstr "facturas.zip"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:694
|
#: pkg/invoice/admin.go:596
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.ods"
|
msgid "invoices.ods"
|
||||||
msgstr "facturas.ods"
|
msgstr "facturas.ods"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
|
#: pkg/invoice/admin.go:598 pkg/invoice/admin.go:1260 pkg/invoice/admin.go:1267
|
||||||
msgid "Invalid action"
|
msgid "Invalid action"
|
||||||
msgstr "Acción inválida"
|
msgstr "Acción inválida"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:861
|
#: pkg/invoice/admin.go:763
|
||||||
msgid "Selected invoice status is not valid."
|
msgid "Selected invoice status is not valid."
|
||||||
msgstr "El estado de factura escogida no es válido."
|
msgstr "El estado de factura escogida no es válido."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:862
|
#: pkg/invoice/admin.go:764
|
||||||
msgid "Invoice date can not be empty."
|
msgid "Invoice date can not be empty."
|
||||||
msgstr "No podéis dejar la fecha de factura en blanco."
|
msgstr "No podéis dejar la fecha de factura en blanco."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:863
|
#: pkg/invoice/admin.go:765
|
||||||
msgid "Invoice date must be a valid date."
|
msgid "Invoice date must be a valid date."
|
||||||
msgstr "La fecha de factura tiene que ser una fecha válida."
|
msgstr "La fecha de factura tiene que ser una fecha válida."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1021
|
#: pkg/invoice/admin.go:923
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Re: booking #%s of %s–%s"
|
msgid "Re: booking #%s of %s–%s"
|
||||||
msgstr "Ref.: reserva núm. %s del %s–%s"
|
msgstr "Ref.: reserva núm. %s del %s–%s"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1022
|
#: pkg/invoice/admin.go:924
|
||||||
msgctxt "to_char"
|
msgctxt "to_char"
|
||||||
msgid "MM/DD/YYYY"
|
msgid "MM/DD/YYYY"
|
||||||
msgstr "DD/MM/YYYY"
|
msgstr "DD/MM/YYYY"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1149
|
#: pkg/invoice/admin.go:1051
|
||||||
msgid "Invoice product ID must be an integer."
|
msgid "Invoice product ID must be an integer."
|
||||||
msgstr "El ID de producto de factura tiene que ser entero."
|
msgstr "El ID de producto de factura tiene que ser entero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1150
|
#: pkg/invoice/admin.go:1052
|
||||||
msgid "Invoice product ID one or greater."
|
msgid "Invoice product ID one or greater."
|
||||||
msgstr "El ID de producto de factura tiene que ser como mínimo uno."
|
msgstr "El ID de producto de factura tiene que ser como mínimo uno."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1154
|
#: pkg/invoice/admin.go:1056
|
||||||
msgid "Product ID must be an integer."
|
msgid "Product ID must be an integer."
|
||||||
msgstr "El ID de producto tiene que ser un número entero."
|
msgstr "El ID de producto tiene que ser un número entero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1155
|
#: pkg/invoice/admin.go:1057
|
||||||
msgid "Product ID must zero or greater."
|
msgid "Product ID must zero or greater."
|
||||||
msgstr "El ID de producto tiene que ser como mínimo cero."
|
msgstr "El ID de producto tiene que ser como mínimo cero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1164
|
#: pkg/invoice/admin.go:1066
|
||||||
msgid "Quantity can not be empty."
|
msgid "Quantity can not be empty."
|
||||||
msgstr "No podéis dejar la cantidad en blanco."
|
msgstr "No podéis dejar la cantidad en blanco."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1165
|
#: pkg/invoice/admin.go:1067
|
||||||
msgid "Quantity must be an integer."
|
msgid "Quantity must be an integer."
|
||||||
msgstr "La cantidad tiene que ser un número entero."
|
msgstr "La cantidad tiene que ser un número entero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1166
|
#: pkg/invoice/admin.go:1068
|
||||||
msgid "Quantity must one or greater."
|
msgid "Quantity must one or greater."
|
||||||
msgstr "La cantidad tiene que ser como mínimo uno."
|
msgstr "La cantidad tiene que ser como mínimo uno."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1169
|
#: pkg/invoice/admin.go:1071
|
||||||
msgid "Discount can not be empty."
|
msgid "Discount can not be empty."
|
||||||
msgstr "No podéis dejar el descuento en blanco."
|
msgstr "No podéis dejar el descuento en blanco."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1170
|
#: pkg/invoice/admin.go:1072
|
||||||
msgid "Discount must be an integer."
|
msgid "Discount must be an integer."
|
||||||
msgstr "El descuento tiene que ser un número entero."
|
msgstr "El descuento tiene que ser un número entero."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
|
#: pkg/invoice/admin.go:1073 pkg/invoice/admin.go:1074
|
||||||
msgid "Discount must be a percentage between 0 and 100."
|
msgid "Discount must be a percentage between 0 and 100."
|
||||||
msgstr "El descuento tiene que ser un porcentaje entre 1 y 100."
|
msgstr "El descuento tiene que ser un porcentaje entre 1 y 100."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1176
|
#: pkg/invoice/admin.go:1078
|
||||||
msgid "Selected tax is not valid."
|
msgid "Selected tax is not valid."
|
||||||
msgstr "El impuesto escogido no es válido."
|
msgstr "El impuesto escogido no es válido."
|
||||||
|
|
||||||
|
@ -3501,19 +3500,19 @@ msgctxt "filename"
|
||||||
msgid "bookings.ods"
|
msgid "bookings.ods"
|
||||||
msgstr "reservas.ods"
|
msgstr "reservas.ods"
|
||||||
|
|
||||||
#: pkg/booking/admin.go:591
|
#: pkg/booking/admin.go:473
|
||||||
msgid "Country can not be empty to validate the postcode."
|
msgid "Country can not be empty to validate the postcode."
|
||||||
msgstr "No podéis dejar el país en blanco para validar el código postal."
|
msgstr "No podéis dejar el país en blanco para validar el código postal."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:601
|
#: pkg/booking/admin.go:483
|
||||||
msgid "Country can not be empty to validate the phone."
|
msgid "Country can not be empty to validate the phone."
|
||||||
msgstr "No podéis dejar el país en blanco para validar el teléfono."
|
msgstr "No podéis dejar el país en blanco para validar el teléfono."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:608
|
#: pkg/booking/admin.go:490
|
||||||
msgid "You must select at least one accommodation."
|
msgid "You must select at least one accommodation."
|
||||||
msgstr "Tenéis que seleccionar como mínimo un alojamiento."
|
msgstr "Tenéis que seleccionar como mínimo un alojamiento."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:614
|
#: pkg/booking/admin.go:496
|
||||||
msgid "The selected accommodations have no available openings in the requested dates."
|
msgid "The selected accommodations have no available openings in the requested dates."
|
||||||
msgstr "Los alojamientos seleccionados no tienen disponibilidad en las fechas pedidas."
|
msgstr "Los alojamientos seleccionados no tienen disponibilidad en las fechas pedidas."
|
||||||
|
|
||||||
|
@ -3630,6 +3629,9 @@ msgstr "%s tiene que ser como máximo %d"
|
||||||
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."
|
||||||
|
|
||||||
|
#~ msgid "Total"
|
||||||
|
#~ msgstr "Total"
|
||||||
|
|
||||||
#~ msgid "Select a customer"
|
#~ msgid "Select a customer"
|
||||||
#~ msgstr "Escoja un cliente"
|
#~ msgstr "Escoja un cliente"
|
||||||
|
|
||||||
|
|
182
po/fr.po
182
po/fr.po
|
@ -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-05-03 17:19+0200\n"
|
"POT-Creation-Date: 2024-05-03 19:12+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"
|
||||||
|
@ -179,7 +179,7 @@ msgstr "Nuits"
|
||||||
#: web/templates/mail/payment/details.gotxt:22
|
#: web/templates/mail/payment/details.gotxt:22
|
||||||
#: web/templates/public/booking/fields.gohtml:60
|
#: web/templates/public/booking/fields.gohtml:60
|
||||||
#: web/templates/admin/payment/details.gohtml:98
|
#: web/templates/admin/payment/details.gohtml:98
|
||||||
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062
|
#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:964
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Adults aged 17 or older"
|
msgid "Adults aged 17 or older"
|
||||||
msgstr "Adultes âgés 17 ans ou plus"
|
msgstr "Adultes âgés 17 ans ou plus"
|
||||||
|
@ -187,7 +187,7 @@ msgstr "Adultes âgés 17 ans ou plus"
|
||||||
#: web/templates/mail/payment/details.gotxt:23
|
#: web/templates/mail/payment/details.gotxt:23
|
||||||
#: web/templates/public/booking/fields.gohtml:71
|
#: web/templates/public/booking/fields.gohtml:71
|
||||||
#: web/templates/admin/payment/details.gohtml:102
|
#: web/templates/admin/payment/details.gohtml:102
|
||||||
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063
|
#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:965
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Teenagers from 11 to 16 years old"
|
msgid "Teenagers from 11 to 16 years old"
|
||||||
msgstr "Adolescents de 11 à 16 ans"
|
msgstr "Adolescents de 11 à 16 ans"
|
||||||
|
@ -195,7 +195,7 @@ msgstr "Adolescents de 11 à 16 ans"
|
||||||
#: web/templates/mail/payment/details.gotxt:24
|
#: web/templates/mail/payment/details.gotxt:24
|
||||||
#: web/templates/public/booking/fields.gohtml:82
|
#: web/templates/public/booking/fields.gohtml:82
|
||||||
#: web/templates/admin/payment/details.gohtml:106
|
#: web/templates/admin/payment/details.gohtml:106
|
||||||
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064
|
#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:966
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Children from 2 to 10 years old"
|
msgid "Children from 2 to 10 years old"
|
||||||
msgstr "Enfants de 2 à 10 ans"
|
msgstr "Enfants de 2 à 10 ans"
|
||||||
|
@ -203,14 +203,14 @@ msgstr "Enfants de 2 à 10 ans"
|
||||||
#: web/templates/mail/payment/details.gotxt:25
|
#: web/templates/mail/payment/details.gotxt:25
|
||||||
#: web/templates/public/booking/fields.gohtml:100
|
#: web/templates/public/booking/fields.gohtml:100
|
||||||
#: web/templates/admin/payment/details.gohtml:110
|
#: web/templates/admin/payment/details.gohtml:110
|
||||||
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065
|
#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:967
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
msgid "Dogs"
|
msgid "Dogs"
|
||||||
msgstr "Chiens"
|
msgstr "Chiens"
|
||||||
|
|
||||||
#: web/templates/mail/payment/details.gotxt:26
|
#: web/templates/mail/payment/details.gotxt:26
|
||||||
#: web/templates/admin/payment/details.gohtml:114
|
#: web/templates/admin/payment/details.gohtml:114
|
||||||
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066
|
#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:968
|
||||||
#: pkg/booking/cart.go:242
|
#: pkg/booking/cart.go:242
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Tourist tax"
|
msgid "Tourist tax"
|
||||||
|
@ -293,6 +293,7 @@ msgstr "Pays"
|
||||||
#: web/templates/mail/payment/details.gotxt:46
|
#: web/templates/mail/payment/details.gotxt:46
|
||||||
#: web/templates/public/booking/fields.gohtml:201
|
#: web/templates/public/booking/fields.gohtml:201
|
||||||
#: web/templates/admin/payment/details.gohtml:163
|
#: web/templates/admin/payment/details.gohtml:163
|
||||||
|
#: web/templates/admin/customer/index.gohtml:33
|
||||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||||
#: web/templates/admin/taxDetails.gohtml:53
|
#: web/templates/admin/taxDetails.gohtml:53
|
||||||
msgctxt "input"
|
msgctxt "input"
|
||||||
|
@ -418,7 +419,7 @@ msgid "Order Number"
|
||||||
msgstr "Numéro de commande"
|
msgstr "Numéro de commande"
|
||||||
|
|
||||||
#: web/templates/public/payment/details.gohtml:8
|
#: web/templates/public/payment/details.gohtml:8
|
||||||
#: web/templates/admin/invoice/index.gohtml:103
|
#: web/templates/admin/invoice/index.gohtml:104
|
||||||
#: web/templates/admin/invoice/view.gohtml:26
|
#: web/templates/admin/invoice/view.gohtml:26
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
|
@ -596,6 +597,12 @@ msgctxt "action"
|
||||||
msgid "Filters"
|
msgid "Filters"
|
||||||
msgstr "Filtres"
|
msgstr "Filtres"
|
||||||
|
|
||||||
|
#: web/templates/public/form.gohtml:93 web/templates/admin/form.gohtml:93
|
||||||
|
#: web/templates/admin/prebooking/results.gohtml:20
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Load more"
|
||||||
|
msgstr "Charger plus"
|
||||||
|
|
||||||
#: web/templates/public/campsite/type.gohtml:49
|
#: web/templates/public/campsite/type.gohtml:49
|
||||||
#: web/templates/public/booking/fields.gohtml:278
|
#: web/templates/public/booking/fields.gohtml:278
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
|
@ -1183,6 +1190,7 @@ msgstr "Slug"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/form.gohtml:50
|
#: web/templates/admin/season/form.gohtml:50
|
||||||
|
#: web/templates/admin/customer/index.gohtml:24
|
||||||
#: web/templates/admin/invoice/product-form.gohtml:16
|
#: web/templates/admin/invoice/product-form.gohtml:16
|
||||||
#: web/templates/admin/services/form.gohtml:53
|
#: web/templates/admin/services/form.gohtml:53
|
||||||
#: web/templates/admin/profile.gohtml:29
|
#: web/templates/admin/profile.gohtml:29
|
||||||
|
@ -1255,7 +1263,7 @@ msgstr "Ajouter un texte juridique"
|
||||||
#: 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
|
||||||
#: web/templates/admin/season/index.gohtml:29
|
#: web/templates/admin/season/index.gohtml:29
|
||||||
#: web/templates/admin/customer/index.gohtml:19
|
#: web/templates/admin/customer/index.gohtml:51
|
||||||
#: web/templates/admin/user/index.gohtml:20
|
#: web/templates/admin/user/index.gohtml:20
|
||||||
#: web/templates/admin/surroundings/index.gohtml:83
|
#: web/templates/admin/surroundings/index.gohtml:83
|
||||||
#: web/templates/admin/amenity/feature/index.gohtml:30
|
#: web/templates/admin/amenity/feature/index.gohtml:30
|
||||||
|
@ -1860,7 +1868,7 @@ msgid "New Customer"
|
||||||
msgstr "Nouveau client"
|
msgstr "Nouveau client"
|
||||||
|
|
||||||
#: web/templates/admin/customer/form.gohtml:15
|
#: web/templates/admin/customer/form.gohtml:15
|
||||||
#: web/templates/admin/invoice/index.gohtml:105
|
#: web/templates/admin/invoice/index.gohtml:106
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Customer"
|
msgid "Customer"
|
||||||
msgstr "Client"
|
msgstr "Client"
|
||||||
|
@ -1917,19 +1925,27 @@ msgctxt "action"
|
||||||
msgid "Add Customer"
|
msgid "Add Customer"
|
||||||
msgstr "Ajouter un client"
|
msgstr "Ajouter un client"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:20
|
#: web/templates/admin/customer/index.gohtml:43
|
||||||
|
#: web/templates/admin/invoice/index.gohtml:94
|
||||||
|
#: web/templates/admin/prebooking/index.gohtml:51
|
||||||
|
#: web/templates/admin/booking/index.gohtml:65
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Reset"
|
||||||
|
msgstr "Réinitialiser"
|
||||||
|
|
||||||
|
#: web/templates/admin/customer/index.gohtml:52
|
||||||
#: web/templates/admin/user/login-attempts.gohtml:20
|
#: web/templates/admin/user/login-attempts.gohtml:20
|
||||||
#: web/templates/admin/user/index.gohtml:21
|
#: web/templates/admin/user/index.gohtml:21
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:21
|
#: web/templates/admin/customer/index.gohtml:53
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr "Téléphone"
|
msgstr "Téléphone"
|
||||||
|
|
||||||
#: web/templates/admin/customer/index.gohtml:33
|
#: web/templates/admin/customer/index.gohtml:61
|
||||||
msgid "No customer found."
|
msgid "No customer found."
|
||||||
msgstr "Aucun client trouvée."
|
msgstr "Aucun client trouvée."
|
||||||
|
|
||||||
|
@ -2076,60 +2092,39 @@ msgctxt "action"
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr "Filtrer"
|
msgstr "Filtrer"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:94
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:51
|
|
||||||
#: web/templates/admin/booking/index.gohtml:65
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Reset"
|
|
||||||
msgstr "Réinitialiser"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:97
|
#: web/templates/admin/invoice/index.gohtml:97
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Add invoice"
|
msgid "Add invoice"
|
||||||
msgstr "Nouvelle facture"
|
msgstr "Nouvelle facture"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:102
|
#: web/templates/admin/invoice/index.gohtml:103
|
||||||
msgctxt "invoice"
|
msgctxt "invoice"
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Toutes"
|
msgstr "Toutes"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:104
|
#: web/templates/admin/invoice/index.gohtml:105
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Invoice Num."
|
msgid "Invoice Num."
|
||||||
msgstr "Num. de facture"
|
msgstr "Num. de facture"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:106
|
#: web/templates/admin/invoice/index.gohtml:107
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Statut"
|
msgstr "Statut"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:107
|
#: web/templates/admin/invoice/index.gohtml:108
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Téléchargement"
|
msgstr "Téléchargement"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:108
|
#: web/templates/admin/invoice/index.gohtml:109
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Import"
|
msgstr "Import"
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:115
|
#: web/templates/admin/invoice/index.gohtml:117
|
||||||
msgctxt "action"
|
msgid "No invoices found."
|
||||||
msgid "Select invoice %v"
|
msgstr "Aucune facture trouvée."
|
||||||
msgstr "Sélectionner la facture %v"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:144
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Download invoice %s"
|
|
||||||
msgstr "Télécharger la facture %s"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:154
|
|
||||||
msgid "No invoices added yet."
|
|
||||||
msgstr "Aucune facture n’a encore été ajouté."
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/index.gohtml:161
|
|
||||||
msgid "Total"
|
|
||||||
msgstr "Totale"
|
|
||||||
|
|
||||||
#: web/templates/admin/invoice/view.gohtml:2
|
#: web/templates/admin/invoice/view.gohtml:2
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
|
@ -2171,6 +2166,16 @@ msgctxt "title"
|
||||||
msgid "Tax Base"
|
msgid "Tax Base"
|
||||||
msgstr "Import imposable"
|
msgstr "Import imposable"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:3
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Select invoice %v"
|
||||||
|
msgstr "Sélectionner la facture %v"
|
||||||
|
|
||||||
|
#: web/templates/admin/invoice/results.gohtml:32
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Download invoice %s"
|
||||||
|
msgstr "Télécharger la facture %s"
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/index.gohtml:6
|
#: web/templates/admin/prebooking/index.gohtml:6
|
||||||
#: web/templates/admin/layout.gohtml:92
|
#: web/templates/admin/layout.gohtml:92
|
||||||
#: web/templates/admin/booking/form.gohtml:20
|
#: web/templates/admin/booking/form.gohtml:20
|
||||||
|
@ -2216,12 +2221,6 @@ msgstr "Nom du titulaire"
|
||||||
msgid "No prebooking found."
|
msgid "No prebooking found."
|
||||||
msgstr "Aucune pré-réservation trouvée."
|
msgstr "Aucune pré-réservation trouvée."
|
||||||
|
|
||||||
#: web/templates/admin/prebooking/results.gohtml:20
|
|
||||||
#: web/templates/admin/booking/results.gohtml:23
|
|
||||||
msgctxt "action"
|
|
||||||
msgid "Load more"
|
|
||||||
msgstr "Charger plus"
|
|
||||||
|
|
||||||
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
#: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
|
@ -2701,7 +2700,7 @@ msgctxt "header"
|
||||||
msgid "Decription"
|
msgid "Decription"
|
||||||
msgstr "Description"
|
msgstr "Description"
|
||||||
|
|
||||||
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061
|
#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:963
|
||||||
#: pkg/booking/cart.go:232
|
#: pkg/booking/cart.go:232
|
||||||
msgctxt "cart"
|
msgctxt "cart"
|
||||||
msgid "Night"
|
msgid "Night"
|
||||||
|
@ -2900,7 +2899,7 @@ msgstr "Paiement de réservation reçu avec succès"
|
||||||
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
#: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365
|
||||||
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
#: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577
|
||||||
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
#: pkg/campsite/feature.go:269 pkg/season/admin.go:411
|
||||||
#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316
|
#: pkg/invoice/admin.go:1060 pkg/services/admin.go:316
|
||||||
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
#: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269
|
||||||
#: pkg/amenity/admin.go:283
|
#: pkg/amenity/admin.go:283
|
||||||
msgid "Name can not be empty."
|
msgid "Name can not be empty."
|
||||||
|
@ -2941,8 +2940,8 @@ msgstr "L’image de la diapositive doit être de type média d’image."
|
||||||
msgid "Email can not be empty."
|
msgid "Email can not be empty."
|
||||||
msgstr "L’e-mail ne peut pas être vide."
|
msgstr "L’e-mail ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:345
|
#: pkg/app/login.go:57 pkg/app/user.go:247 pkg/customer/admin.go:361
|
||||||
#: pkg/company/admin.go:225 pkg/booking/admin.go:597 pkg/booking/public.go:593
|
#: pkg/company/admin.go:225 pkg/booking/admin.go:479 pkg/booking/public.go:593
|
||||||
msgid "This email is not valid. It should be like name@domain.com."
|
msgid "This email is not valid. It should be like name@domain.com."
|
||||||
msgstr "Cette adresse e-mail n’est pas valide. Il devrait en être name@domain.com."
|
msgstr "Cette adresse e-mail n’est pas valide. Il devrait en être name@domain.com."
|
||||||
|
|
||||||
|
@ -2999,15 +2998,15 @@ msgstr "Le maximum doit être un nombre entier."
|
||||||
msgid "Maximum must be equal or greater than minimum."
|
msgid "Maximum must be equal or greater than minimum."
|
||||||
msgstr "Le maximum doit être égal ou supérieur au minimum."
|
msgstr "Le maximum doit être égal ou supérieur au minimum."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159
|
#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1061
|
||||||
msgid "Price can not be empty."
|
msgid "Price can not be empty."
|
||||||
msgstr "Le prix ne peut pas être vide."
|
msgstr "Le prix ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160
|
#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1062
|
||||||
msgid "Price must be a decimal number."
|
msgid "Price must be a decimal number."
|
||||||
msgstr "Le prix doit être un nombre décimal."
|
msgstr "Le prix doit être un nombre décimal."
|
||||||
|
|
||||||
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161
|
#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1063
|
||||||
msgid "Price must be zero or greater."
|
msgid "Price must be zero or greater."
|
||||||
msgstr "Le prix doit être égal ou supérieur à zéro."
|
msgstr "Le prix doit être égal ou supérieur à zéro."
|
||||||
|
|
||||||
|
@ -3153,7 +3152,7 @@ msgctxt "header"
|
||||||
msgid "Children (aged 2 to 10)"
|
msgid "Children (aged 2 to 10)"
|
||||||
msgstr "Enfants (de 2 à 10 anys)"
|
msgstr "Enfants (de 2 à 10 anys)"
|
||||||
|
|
||||||
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:573 pkg/booking/public.go:177
|
#: pkg/campsite/admin.go:280 pkg/booking/admin.go:455 pkg/booking/public.go:177
|
||||||
#: pkg/booking/public.go:232
|
#: pkg/booking/public.go:232
|
||||||
msgid "Selected campsite type is not valid."
|
msgid "Selected campsite type is not valid."
|
||||||
msgstr "Le type d’emplacement sélectionné n’est pas valide."
|
msgstr "Le type d’emplacement sélectionné n’est pas valide."
|
||||||
|
@ -3191,129 +3190,129 @@ msgstr "La date de fin ne peut pas être vide."
|
||||||
msgid "End date must be a valid date."
|
msgid "End date must be a valid date."
|
||||||
msgstr "La date de fin doit être une date valide."
|
msgstr "La date de fin doit être une date valide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:326 pkg/company/admin.go:207
|
#: pkg/customer/admin.go:342 pkg/company/admin.go:207
|
||||||
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
#: pkg/booking/checkin.go:300 pkg/booking/public.go:577
|
||||||
msgid "Selected country is not valid."
|
msgid "Selected country is not valid."
|
||||||
msgstr "Le pays sélectionné n’est pas valide."
|
msgstr "Le pays sélectionné n’est pas valide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284
|
#: pkg/customer/admin.go:346 pkg/booking/checkin.go:284
|
||||||
msgid "Selected ID document type is not valid."
|
msgid "Selected ID document type is not valid."
|
||||||
msgstr "Le type de document d’identité sélectionné n’est pas valide."
|
msgstr "Le type de document d’identité sélectionné n’est pas valide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285
|
#: pkg/customer/admin.go:347 pkg/booking/checkin.go:285
|
||||||
msgid "ID document number can not be empty."
|
msgid "ID document number can not be empty."
|
||||||
msgstr "Le numéro de documento d’identité ne peut pas être vide."
|
msgstr "Le numéro de documento d’identité ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291
|
#: pkg/customer/admin.go:349 pkg/booking/checkin.go:291
|
||||||
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:585
|
#: pkg/booking/checkin.go:292 pkg/booking/admin.go:467
|
||||||
#: pkg/booking/public.go:581
|
#: pkg/booking/public.go:581
|
||||||
msgid "Full name can not be empty."
|
msgid "Full name can not be empty."
|
||||||
msgstr "Le nom complet ne peut pas être vide."
|
msgstr "Le nom complet ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:334 pkg/booking/admin.go:586 pkg/booking/public.go:582
|
#: pkg/customer/admin.go:350 pkg/booking/admin.go:468 pkg/booking/public.go:582
|
||||||
msgid "Full name must have at least one letter."
|
msgid "Full name must have at least one letter."
|
||||||
msgstr "Le nom complet doit comporter au moins une lettre."
|
msgstr "Le nom complet doit comporter au moins une lettre."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:337 pkg/company/admin.go:230 pkg/booking/public.go:585
|
#: pkg/customer/admin.go:353 pkg/company/admin.go:230 pkg/booking/public.go:585
|
||||||
msgid "Address can not be empty."
|
msgid "Address can not be empty."
|
||||||
msgstr "L’adresse ne peut pas être vide."
|
msgstr "L’adresse ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:338 pkg/booking/public.go:586
|
#: pkg/customer/admin.go:354 pkg/booking/public.go:586
|
||||||
msgid "Town or village can not be empty."
|
msgid "Town or village can not be empty."
|
||||||
msgstr "La ville ne peut pas être vide."
|
msgstr "La ville ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:339 pkg/company/admin.go:233 pkg/booking/public.go:587
|
#: pkg/customer/admin.go:355 pkg/company/admin.go:233 pkg/booking/public.go:587
|
||||||
msgid "Postcode can not be empty."
|
msgid "Postcode can not be empty."
|
||||||
msgstr "Le code postal ne peut pas être vide."
|
msgstr "Le code postal ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:592
|
#: pkg/customer/admin.go:356 pkg/company/admin.go:234 pkg/booking/admin.go:474
|
||||||
#: pkg/booking/public.go:588
|
#: pkg/booking/public.go:588
|
||||||
msgid "This postcode is not valid."
|
msgid "This postcode is not valid."
|
||||||
msgstr "Ce code postal n’est pas valide."
|
msgstr "Ce code postal n’est pas valide."
|
||||||
|
|
||||||
#: pkg/customer/admin.go:348 pkg/company/admin.go:220
|
#: pkg/customer/admin.go:364 pkg/company/admin.go:220
|
||||||
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:602
|
#: pkg/booking/checkin.go:304 pkg/booking/admin.go:484
|
||||||
#: pkg/booking/public.go:596
|
#: pkg/booking/public.go:596
|
||||||
msgid "This phone number is not valid."
|
msgid "This phone number is not valid."
|
||||||
msgstr "Ce numéro de téléphone n’est pas valide."
|
msgstr "Ce numéro de téléphone n’est pas valide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:679
|
#: pkg/invoice/admin.go:581
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.zip"
|
msgid "invoices.zip"
|
||||||
msgstr "factures.zip"
|
msgstr "factures.zip"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:694
|
#: pkg/invoice/admin.go:596
|
||||||
msgctxt "filename"
|
msgctxt "filename"
|
||||||
msgid "invoices.ods"
|
msgid "invoices.ods"
|
||||||
msgstr "factures.ods"
|
msgstr "factures.ods"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365
|
#: pkg/invoice/admin.go:598 pkg/invoice/admin.go:1260 pkg/invoice/admin.go:1267
|
||||||
msgid "Invalid action"
|
msgid "Invalid action"
|
||||||
msgstr "Actin invalide"
|
msgstr "Actin invalide"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:861
|
#: pkg/invoice/admin.go:763
|
||||||
msgid "Selected invoice status is not valid."
|
msgid "Selected invoice status is not valid."
|
||||||
msgstr "L’statut sélectionné n’est pas valide."
|
msgstr "L’statut sélectionné n’est pas valide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:862
|
#: pkg/invoice/admin.go:764
|
||||||
msgid "Invoice date can not be empty."
|
msgid "Invoice date can not be empty."
|
||||||
msgstr "La date de facture ne peut pas être vide."
|
msgstr "La date de facture ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:863
|
#: pkg/invoice/admin.go:765
|
||||||
msgid "Invoice date must be a valid date."
|
msgid "Invoice date must be a valid date."
|
||||||
msgstr "La date de facture doit être une date valide."
|
msgstr "La date de facture doit être une date valide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1021
|
#: pkg/invoice/admin.go:923
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Re: booking #%s of %s–%s"
|
msgid "Re: booking #%s of %s–%s"
|
||||||
msgstr "Réf. : réservation num. %s du %s–%s"
|
msgstr "Réf. : réservation num. %s du %s–%s"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1022
|
#: pkg/invoice/admin.go:924
|
||||||
msgctxt "to_char"
|
msgctxt "to_char"
|
||||||
msgid "MM/DD/YYYY"
|
msgid "MM/DD/YYYY"
|
||||||
msgstr "DD/MM/YYYY"
|
msgstr "DD/MM/YYYY"
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1149
|
#: pkg/invoice/admin.go:1051
|
||||||
msgid "Invoice product ID must be an integer."
|
msgid "Invoice product ID must be an integer."
|
||||||
msgstr "Le ID de produit de facture doit être un entier."
|
msgstr "Le ID de produit de facture doit être un entier."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1150
|
#: pkg/invoice/admin.go:1052
|
||||||
msgid "Invoice product ID one or greater."
|
msgid "Invoice product ID one or greater."
|
||||||
msgstr "Le ID de produit de facture doit être égal ou supérieur à un."
|
msgstr "Le ID de produit de facture doit être égal ou supérieur à un."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1154
|
#: pkg/invoice/admin.go:1056
|
||||||
msgid "Product ID must be an integer."
|
msgid "Product ID must be an integer."
|
||||||
msgstr "Le ID de produit doit être un entier."
|
msgstr "Le ID de produit doit être un entier."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1155
|
#: pkg/invoice/admin.go:1057
|
||||||
msgid "Product ID must zero or greater."
|
msgid "Product ID must zero or greater."
|
||||||
msgstr "Le ID de produit doit être égal ou supérieur à zéro."
|
msgstr "Le ID de produit doit être égal ou supérieur à zéro."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1164
|
#: pkg/invoice/admin.go:1066
|
||||||
msgid "Quantity can not be empty."
|
msgid "Quantity can not be empty."
|
||||||
msgstr "La quantité ne peut pas être vide."
|
msgstr "La quantité ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1165
|
#: pkg/invoice/admin.go:1067
|
||||||
msgid "Quantity must be an integer."
|
msgid "Quantity must be an integer."
|
||||||
msgstr "La quantité doit être un entier."
|
msgstr "La quantité doit être un entier."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1166
|
#: pkg/invoice/admin.go:1068
|
||||||
msgid "Quantity must one or greater."
|
msgid "Quantity must one or greater."
|
||||||
msgstr "La quantité doit être égnal ou supérieur à zéro."
|
msgstr "La quantité doit être égnal ou supérieur à zéro."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1169
|
#: pkg/invoice/admin.go:1071
|
||||||
msgid "Discount can not be empty."
|
msgid "Discount can not be empty."
|
||||||
msgstr "Le rabais ne peut pas être vide."
|
msgstr "Le rabais ne peut pas être vide."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1170
|
#: pkg/invoice/admin.go:1072
|
||||||
msgid "Discount must be an integer."
|
msgid "Discount must be an integer."
|
||||||
msgstr "Le rabais doit être un entier."
|
msgstr "Le rabais doit être un entier."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172
|
#: pkg/invoice/admin.go:1073 pkg/invoice/admin.go:1074
|
||||||
msgid "Discount must be a percentage between 0 and 100."
|
msgid "Discount must be a percentage between 0 and 100."
|
||||||
msgstr "Le rabais doit être un pourcentage compris entre 0 et 100."
|
msgstr "Le rabais doit être un pourcentage compris entre 0 et 100."
|
||||||
|
|
||||||
#: pkg/invoice/admin.go:1176
|
#: pkg/invoice/admin.go:1078
|
||||||
msgid "Selected tax is not valid."
|
msgid "Selected tax is not valid."
|
||||||
msgstr "La taxe sélectionnée n’est pas valide."
|
msgstr "La taxe sélectionnée n’est pas valide."
|
||||||
|
|
||||||
|
@ -3501,19 +3500,19 @@ msgctxt "filename"
|
||||||
msgid "bookings.ods"
|
msgid "bookings.ods"
|
||||||
msgstr "reservations.ods"
|
msgstr "reservations.ods"
|
||||||
|
|
||||||
#: pkg/booking/admin.go:591
|
#: pkg/booking/admin.go:473
|
||||||
msgid "Country can not be empty to validate the postcode."
|
msgid "Country can not be empty to validate the postcode."
|
||||||
msgstr "Le pays ne peut pas être vide pour valider le code postal."
|
msgstr "Le pays ne peut pas être vide pour valider le code postal."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:601
|
#: pkg/booking/admin.go:483
|
||||||
msgid "Country can not be empty to validate the phone."
|
msgid "Country can not be empty to validate the phone."
|
||||||
msgstr "Le pays ne peut pas être vide pour valider le téléphone."
|
msgstr "Le pays ne peut pas être vide pour valider le téléphone."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:608
|
#: pkg/booking/admin.go:490
|
||||||
msgid "You must select at least one accommodation."
|
msgid "You must select at least one accommodation."
|
||||||
msgstr "Vous devez sélectionner au moins un hébergement."
|
msgstr "Vous devez sélectionner au moins un hébergement."
|
||||||
|
|
||||||
#: pkg/booking/admin.go:614
|
#: pkg/booking/admin.go:496
|
||||||
msgid "The selected accommodations have no available openings in the requested dates."
|
msgid "The selected accommodations have no available openings in the requested dates."
|
||||||
msgstr "Les hébergements sélectionnés n’ont pas de disponibilités aux dates demandées."
|
msgstr "Les hébergements sélectionnés n’ont pas de disponibilités aux dates demandées."
|
||||||
|
|
||||||
|
@ -3630,6 +3629,9 @@ msgstr "%s doit être tout au plus %d."
|
||||||
msgid "It is mandatory to agree to the reservation conditions."
|
msgid "It is mandatory to agree to the reservation conditions."
|
||||||
msgstr "Il est obligatoire d’accepter les conditions de réservation."
|
msgstr "Il est obligatoire d’accepter les conditions de réservation."
|
||||||
|
|
||||||
|
#~ msgid "Total"
|
||||||
|
#~ msgstr "Totale"
|
||||||
|
|
||||||
#~ msgid "Select a customer"
|
#~ msgid "Select a customer"
|
||||||
#~ msgstr "Choisissez un client"
|
#~ msgstr "Choisissez un client"
|
||||||
|
|
||||||
|
|
|
@ -96,73 +96,24 @@
|
||||||
</form>
|
</form>
|
||||||
<a href="/admin/invoices/new">{{( pgettext "Add invoice" "action" )}}</a>
|
<a href="/admin/invoices/new">{{( pgettext "Add invoice" "action" )}}</a>
|
||||||
<h2>{{ template "title" . }}</h2>
|
<h2>{{ template "title" . }}</h2>
|
||||||
<table id="invoice-list">
|
{{ if .Invoices }}
|
||||||
<thead>
|
<table id="invoice-list">
|
||||||
<tr>
|
<thead>
|
||||||
<th>{{( pgettext "All" "invoice" )}}</th>
|
|
||||||
<th>{{( pgettext "Date" "title" )}}</th>
|
|
||||||
<th>{{( pgettext "Invoice Num." "title" )}}</th>
|
|
||||||
<th>{{( pgettext "Customer" "title" )}}</th>
|
|
||||||
<th>{{( pgettext "Status" "title" )}}</th>
|
|
||||||
<th>{{( pgettext "Download" "title" )}}</th>
|
|
||||||
<th class="numeric">{{( pgettext "Amount" "title" )}}</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{ with .Invoices }}
|
|
||||||
{{- range $invoice := . }}
|
|
||||||
<tr>
|
|
||||||
{{ $title := .Number | printf (pgettext "Select invoice %v" "action") }}
|
|
||||||
<td><input type="checkbox" form="batch-form"
|
|
||||||
name="invoice" value="{{ .Slug }}"
|
|
||||||
aria-label="{{ $title }}"
|
|
||||||
title="{{ $title }}"/></td>
|
|
||||||
<td>{{ .Date|formatDate }}</td>
|
|
||||||
<td><a href="/admin/invoices/{{ .Slug }}">{{ .Number }}</a></td>
|
|
||||||
<td>{{ .CustomerName }}</td>
|
|
||||||
<td class="invoice-status-{{ .Status }}">
|
|
||||||
<details class="invoice-status menu">
|
|
||||||
<summary >{{ .StatusLabel }}</summary>
|
|
||||||
<form data-hx-put="/admin/invoices/{{ .Slug }}">
|
|
||||||
{{ CSRFInput }}
|
|
||||||
<input type="hidden" name="quick" value="status">
|
|
||||||
<ul role="menu">
|
|
||||||
{{- range $status, $name := $.InvoiceStatuses }}
|
|
||||||
{{- if ne $status $invoice.Status }}
|
|
||||||
<li role="presentation">
|
|
||||||
<button role="menuitem" type="submit"
|
|
||||||
name="invoice_status" value="{{ $status }}"
|
|
||||||
class="invoice-status-{{ $status }}"
|
|
||||||
>{{ $name }}</button>
|
|
||||||
</li>
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
</ul>
|
|
||||||
</form>
|
|
||||||
</details>
|
|
||||||
</td>
|
|
||||||
{{- $title = .Number | printf (pgettext "Download invoice %s" "action") -}}
|
|
||||||
<td class="invoice-download"><a href="/admin/invoices/{{ .Slug }}.pdf"
|
|
||||||
download="{{ .Number}}-{{ .CustomerName | slugify }}.pdf"
|
|
||||||
title="{{( pgettext "Download invoice" "action" )}}"
|
|
||||||
aria-label="{{ $title }}">⤓</a></td>
|
|
||||||
<td class="numeric">{{ .Total|formatPrice }}</td>
|
|
||||||
</tr>
|
|
||||||
{{- end }}
|
|
||||||
{{ else }}
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="9">{{( gettext "No invoices added yet." )}}</td>
|
<th>{{( pgettext "All" "invoice" )}}</th>
|
||||||
|
<th>{{( pgettext "Date" "title" )}}</th>
|
||||||
|
<th>{{( pgettext "Invoice Num." "title" )}}</th>
|
||||||
|
<th>{{( pgettext "Customer" "title" )}}</th>
|
||||||
|
<th>{{( pgettext "Status" "title" )}}</th>
|
||||||
|
<th>{{( pgettext "Download" "title" )}}</th>
|
||||||
|
<th class="numeric">{{( pgettext "Amount" "title" )}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
{{ end }}
|
</thead>
|
||||||
</tbody>
|
<tbody>
|
||||||
{{ if .Invoices }}
|
{{ template "results.gohtml" . }}
|
||||||
<tfoot>
|
</tbody>
|
||||||
<tr>
|
</table>
|
||||||
<th scope="row" colspan="6">{{( gettext "Total" )}}</th>
|
{{- else -}}
|
||||||
<td class="numeric">{{ .TotalAmount|formatPrice }}</td>
|
<p>{{( gettext "No invoices found." )}}</p>
|
||||||
<td colspan="2"></td>
|
{{ end }}
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
{{ end }}
|
|
||||||
</table>
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
{{- range $invoice := .Invoices }}
|
||||||
|
<tr>
|
||||||
|
{{ $title := .Number | printf (pgettext "Select invoice %v" "action") }}
|
||||||
|
<td><input type="checkbox" form="batch-form"
|
||||||
|
name="invoice" value="{{ .Slug }}"
|
||||||
|
aria-label="{{ $title }}"
|
||||||
|
title="{{ $title }}"/></td>
|
||||||
|
<td>{{ .Date|formatDate }}</td>
|
||||||
|
<td><a href="/admin/invoices/{{ .Slug }}">{{ .Number }}</a></td>
|
||||||
|
<td>{{ .CustomerName }}</td>
|
||||||
|
<td class="invoice-status-{{ .Status }}">
|
||||||
|
<details class="invoice-status menu">
|
||||||
|
<summary>{{ .StatusLabel }}</summary>
|
||||||
|
<form data-hx-put="/admin/invoices/{{ .Slug }}">
|
||||||
|
{{ CSRFInput }}
|
||||||
|
<input type="hidden" name="quick" value="status">
|
||||||
|
<ul role="menu">
|
||||||
|
{{- range $status, $name := $.InvoiceStatuses }}
|
||||||
|
{{- if ne $status $invoice.Status }}
|
||||||
|
<li role="presentation">
|
||||||
|
<button role="menuitem" type="submit"
|
||||||
|
name="invoice_status" value="{{ $status }}"
|
||||||
|
class="invoice-status-{{ $status }}"
|
||||||
|
>{{ $name }}</button>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
</form>
|
||||||
|
</details>
|
||||||
|
</td>
|
||||||
|
{{- $title = .Number | printf (pgettext "Download invoice %s" "action") -}}
|
||||||
|
<td class="invoice-download"><a href="/admin/invoices/{{ .Slug }}.pdf"
|
||||||
|
download="{{ .Number}}-{{ .CustomerName | slugify }}.pdf"
|
||||||
|
title="{{( pgettext "Download invoice" "action" )}}"
|
||||||
|
aria-label="{{ $title }}">⤓</a></td>
|
||||||
|
<td class="numeric">{{ .Total|formatPrice }}</td>
|
||||||
|
</tr>
|
||||||
|
{{- end }}
|
||||||
|
{{ template "pagination" .Filters.Cursor | colspan 7 }}
|
Loading…
Reference in New Issue