Add field to update default payment method
It is only shown if there is more than one payment method, otherwise it seems useless as there are nothing to change. This closes #72.
This commit is contained in:
parent
0b74c7a91c
commit
e8a44e480e
|
@ -3,6 +3,7 @@ package pkg
|
|||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/julienschmidt/httprouter"
|
||||
"html/template"
|
||||
"math"
|
||||
|
@ -82,6 +83,7 @@ type PaymentMethod struct {
|
|||
Id int
|
||||
Name string
|
||||
Instructions string
|
||||
IsDefault bool
|
||||
}
|
||||
|
||||
type taxDetailsForm struct {
|
||||
|
@ -699,8 +701,9 @@ func servePaymentMethods(w http.ResponseWriter, r *http.Request, _ httprouter.Pa
|
|||
}
|
||||
|
||||
type PaymentMethodsPage struct {
|
||||
PaymentMethods []*PaymentMethod
|
||||
Form *paymentMethodForm
|
||||
PaymentMethods []*PaymentMethod
|
||||
UpdateDefaultError error
|
||||
Form *paymentMethodForm
|
||||
}
|
||||
|
||||
func newPaymentMethodsPage(ctx context.Context, conn *Conn, company *Company, locale *Locale) *PaymentMethodsPage {
|
||||
|
@ -720,7 +723,16 @@ func (page *PaymentMethodsPage) MustRender(w http.ResponseWriter, r *http.Reques
|
|||
}
|
||||
|
||||
func mustCollectPaymentMethods(ctx context.Context, conn *Conn, company *Company) []*PaymentMethod {
|
||||
rows, err := conn.Query(ctx, "select payment_method_id, name, instructions from payment_method where company_id = $1 order by name", company.Id)
|
||||
rows, err := conn.Query(ctx, `
|
||||
select payment_method_id
|
||||
, name
|
||||
, instructions
|
||||
, payment_method_id = default_payment_method_id
|
||||
from payment_method
|
||||
join company using (company_id)
|
||||
where company_id = $1
|
||||
order by name
|
||||
`, company.Id)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
@ -729,7 +741,7 @@ func mustCollectPaymentMethods(ctx context.Context, conn *Conn, company *Company
|
|||
var methods []*PaymentMethod
|
||||
for rows.Next() {
|
||||
method := &PaymentMethod{}
|
||||
err = rows.Scan(&method.Id, &method.Name, &method.Instructions)
|
||||
err = rows.Scan(&method.Id, &method.Name, &method.Instructions, &method.IsDefault)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
@ -805,6 +817,39 @@ func HandleAddPaymentMethod(w http.ResponseWriter, r *http.Request, _ httprouter
|
|||
htmxRedirect(w, r, companyURI(company, "/payment-methods"))
|
||||
}
|
||||
|
||||
func HandleUpdatePaymentMethod(w http.ResponseWriter, r *http.Request, params httprouter.Params) {
|
||||
if params[0].Value == "default" {
|
||||
HandleUpdateDefaultPaymentMethod(w, r)
|
||||
return
|
||||
}
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
func HandleUpdateDefaultPaymentMethod(w http.ResponseWriter, r *http.Request) {
|
||||
if err := r.ParseForm(); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
if err := verifyCsrfTokenValid(r); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusForbidden)
|
||||
return
|
||||
}
|
||||
locale := getLocale(r)
|
||||
conn := getConn(r)
|
||||
company := mustGetCompany(r)
|
||||
defaultPaymentId, err := strconv.Atoi(r.FormValue("default_payment_id"))
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusUnprocessableEntity)
|
||||
page := newPaymentMethodsPage(r.Context(), conn, company, locale)
|
||||
page.UpdateDefaultError = fmt.Errorf(gettext("Selected payment method is not valid.", locale))
|
||||
page.MustRender(w, r)
|
||||
return
|
||||
}
|
||||
conn.MustExec(r.Context(), "update company set default_payment_method_id = $1 where company_id = $2", defaultPaymentId, company.Id)
|
||||
htmxRedirect(w, r, companyURI(company, "/payment-methods"))
|
||||
}
|
||||
|
||||
func HandleDeletePaymentMethod(w http.ResponseWriter, r *http.Request, params httprouter.Params) {
|
||||
paymentMethodId, err := strconv.Atoi(params[0].Value)
|
||||
if err != nil {
|
||||
|
|
|
@ -20,6 +20,7 @@ func NewRouter(db *Db, demo bool) http.Handler {
|
|||
companyRouter.DELETE("/taxes/:taxId", HandleDeleteCompanyTax)
|
||||
companyRouter.GET("/payment-methods", servePaymentMethods)
|
||||
companyRouter.POST("/payment-methods", HandleAddPaymentMethod)
|
||||
companyRouter.PUT("/payment-methods/:paymentMethodId", HandleUpdatePaymentMethod)
|
||||
companyRouter.DELETE("/payment-methods/:paymentMethodId", HandleDeletePaymentMethod)
|
||||
companyRouter.GET("/contacts", IndexContacts)
|
||||
companyRouter.POST("/contacts", HandleAddContact)
|
||||
|
|
268
po/ca.po
268
po/ca.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: numerus\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-08-26 14:46+0200\n"
|
||||
"POT-Creation-Date: 2024-08-28 11:05+0200\n"
|
||||
"PO-Revision-Date: 2023-01-18 17:08+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
|
@ -701,7 +701,7 @@ msgid "Class"
|
|||
msgstr "Classe"
|
||||
|
||||
#: web/template/company/taxes.gohtml:29
|
||||
#: web/template/company/payment_methods.gohtml:28
|
||||
#: web/template/company/payment_methods.gohtml:29
|
||||
msgid "Are you sure?"
|
||||
msgstr "N’esteu segur?"
|
||||
|
||||
|
@ -736,24 +736,34 @@ msgstr "Configuració fiscal"
|
|||
|
||||
#: web/template/company/payment_methods.gohtml:23
|
||||
msgctxt "title"
|
||||
msgid "Default"
|
||||
msgstr "Per defecte"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:24
|
||||
msgctxt "title"
|
||||
msgid "Payment Method"
|
||||
msgstr "Mètode de pagament"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:24
|
||||
#: web/template/company/payment_methods.gohtml:25
|
||||
msgctxt "title"
|
||||
msgid "Instructions"
|
||||
msgstr "Instruccions"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:48
|
||||
#: web/template/company/payment_methods.gohtml:59
|
||||
msgid "No payment methods added yet."
|
||||
msgstr "No hi ha cap mètode de pagament."
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:55
|
||||
#: web/template/company/payment_methods.gohtml:77
|
||||
msgctxt "action"
|
||||
msgid "Set"
|
||||
msgstr "Estableix"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:87
|
||||
msgctxt "title"
|
||||
msgid "New Payment Method"
|
||||
msgstr "Nou mètode de pagament"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:64
|
||||
#: web/template/company/payment_methods.gohtml:96
|
||||
msgctxt "action"
|
||||
msgid "Add new payment method"
|
||||
msgstr "Afegeix nou mètode de pagament"
|
||||
|
@ -903,7 +913,7 @@ msgctxt "title"
|
|||
msgid "VAT number"
|
||||
msgstr "DNI / NIF"
|
||||
|
||||
#: pkg/login.go:38 pkg/company.go:122 pkg/profile.go:40 pkg/contacts.go:276
|
||||
#: pkg/login.go:38 pkg/company.go:124 pkg/profile.go:40 pkg/contacts.go:274
|
||||
msgctxt "input"
|
||||
msgid "Email"
|
||||
msgstr "Correu-e"
|
||||
|
@ -913,11 +923,11 @@ msgctxt "input"
|
|||
msgid "Password"
|
||||
msgstr "Contrasenya"
|
||||
|
||||
#: pkg/login.go:76 pkg/company.go:238 pkg/profile.go:89
|
||||
#: pkg/login.go:76 pkg/company.go:240 pkg/profile.go:89
|
||||
msgid "Email can not be empty."
|
||||
msgstr "No podeu deixar el correu-e en blanc."
|
||||
|
||||
#: pkg/login.go:77 pkg/company.go:239 pkg/profile.go:90 pkg/contacts.go:420
|
||||
#: pkg/login.go:77 pkg/company.go:241 pkg/profile.go:90 pkg/contacts.go:418
|
||||
msgid "This value is not a valid email. It should be like name@domain.com."
|
||||
msgstr "Aquest valor no és un correu-e vàlid. Hauria de ser similar a nom@domini.cat."
|
||||
|
||||
|
@ -929,196 +939,196 @@ msgstr "No podeu deixar la contrasenya en blanc."
|
|||
msgid "Invalid user or password."
|
||||
msgstr "Nom d’usuari o contrasenya incorrectes."
|
||||
|
||||
#: pkg/products.go:172 pkg/products.go:276 pkg/quote.go:901 pkg/accounts.go:140
|
||||
#: pkg/invoices.go:1132 pkg/contacts.go:149 pkg/contacts.go:262
|
||||
#: pkg/products.go:168 pkg/products.go:272 pkg/quote.go:899 pkg/accounts.go:140
|
||||
#: pkg/invoices.go:1130 pkg/contacts.go:147 pkg/contacts.go:260
|
||||
msgctxt "input"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: pkg/products.go:177 pkg/products.go:303 pkg/tags.go:37 pkg/quote.go:174
|
||||
#: pkg/quote.go:708 pkg/payments.go:420 pkg/expenses.go:335 pkg/expenses.go:485
|
||||
#: pkg/invoices.go:177 pkg/invoices.go:868 pkg/contacts.go:154
|
||||
#: pkg/contacts.go:362
|
||||
#: pkg/products.go:173 pkg/products.go:299 pkg/tags.go:37 pkg/quote.go:174
|
||||
#: pkg/quote.go:706 pkg/payments.go:420 pkg/expenses.go:335 pkg/expenses.go:483
|
||||
#: pkg/invoices.go:177 pkg/invoices.go:866 pkg/contacts.go:152
|
||||
#: pkg/contacts.go:360
|
||||
msgctxt "input"
|
||||
msgid "Tags"
|
||||
msgstr "Etiquetes"
|
||||
|
||||
#: pkg/products.go:181 pkg/quote.go:178 pkg/expenses.go:495 pkg/invoices.go:181
|
||||
#: pkg/contacts.go:158
|
||||
#: pkg/products.go:177 pkg/quote.go:178 pkg/expenses.go:493 pkg/invoices.go:181
|
||||
#: pkg/contacts.go:156
|
||||
msgctxt "input"
|
||||
msgid "Tags Condition"
|
||||
msgstr "Condició de les etiquetes"
|
||||
|
||||
#: pkg/products.go:185 pkg/quote.go:182 pkg/expenses.go:499 pkg/invoices.go:185
|
||||
#: pkg/contacts.go:162
|
||||
#: pkg/products.go:181 pkg/quote.go:182 pkg/expenses.go:497 pkg/invoices.go:185
|
||||
#: pkg/contacts.go:160
|
||||
msgctxt "tag condition"
|
||||
msgid "All"
|
||||
msgstr "Totes"
|
||||
|
||||
#: pkg/products.go:186 pkg/expenses.go:500 pkg/invoices.go:186
|
||||
#: pkg/contacts.go:163
|
||||
#: pkg/products.go:182 pkg/expenses.go:498 pkg/invoices.go:186
|
||||
#: pkg/contacts.go:161
|
||||
msgid "Invoices must have all the specified labels."
|
||||
msgstr "Les factures han de tenir totes les etiquetes."
|
||||
|
||||
#: pkg/products.go:190 pkg/quote.go:187 pkg/expenses.go:504 pkg/invoices.go:190
|
||||
#: pkg/contacts.go:167
|
||||
#: pkg/products.go:186 pkg/quote.go:187 pkg/expenses.go:502 pkg/invoices.go:190
|
||||
#: pkg/contacts.go:165
|
||||
msgctxt "tag condition"
|
||||
msgid "Any"
|
||||
msgstr "Qualsevol"
|
||||
|
||||
#: pkg/products.go:191 pkg/expenses.go:505 pkg/invoices.go:191
|
||||
#: pkg/contacts.go:168
|
||||
#: pkg/products.go:187 pkg/expenses.go:503 pkg/invoices.go:191
|
||||
#: pkg/contacts.go:166
|
||||
msgid "Invoices must have at least one of the specified labels."
|
||||
msgstr "Les factures han de tenir com a mínim una de les etiquetes."
|
||||
|
||||
#: pkg/products.go:282 pkg/quote.go:915 pkg/payments.go:387
|
||||
#: pkg/invoices.go:1146
|
||||
#: pkg/products.go:278 pkg/quote.go:913 pkg/payments.go:387
|
||||
#: pkg/invoices.go:1144
|
||||
msgctxt "input"
|
||||
msgid "Description"
|
||||
msgstr "Descripció"
|
||||
|
||||
#: pkg/products.go:287 pkg/quote.go:919 pkg/invoices.go:1150
|
||||
#: pkg/products.go:283 pkg/quote.go:917 pkg/invoices.go:1148
|
||||
msgctxt "input"
|
||||
msgid "Price"
|
||||
msgstr "Preu"
|
||||
|
||||
#: pkg/products.go:297 pkg/quote.go:948 pkg/expenses.go:310
|
||||
#: pkg/invoices.go:1179
|
||||
#: pkg/products.go:293 pkg/quote.go:946 pkg/expenses.go:310
|
||||
#: pkg/invoices.go:1177
|
||||
msgctxt "input"
|
||||
msgid "Taxes"
|
||||
msgstr "Imposts"
|
||||
|
||||
#: pkg/products.go:322 pkg/quote.go:997 pkg/profile.go:92 pkg/invoices.go:1228
|
||||
#: pkg/contacts.go:412
|
||||
#: pkg/products.go:318 pkg/quote.go:995 pkg/profile.go:92 pkg/invoices.go:1226
|
||||
#: pkg/contacts.go:410
|
||||
msgid "Name can not be empty."
|
||||
msgstr "No podeu deixar el nom en blanc."
|
||||
|
||||
#: pkg/products.go:323 pkg/quote.go:998 pkg/invoices.go:1229
|
||||
#: pkg/products.go:319 pkg/quote.go:996 pkg/invoices.go:1227
|
||||
msgid "Price can not be empty."
|
||||
msgstr "No podeu deixar el preu en blanc."
|
||||
|
||||
#: pkg/products.go:324 pkg/quote.go:999 pkg/invoices.go:1230
|
||||
#: pkg/products.go:320 pkg/quote.go:997 pkg/invoices.go:1228
|
||||
msgid "Price must be a number greater than zero."
|
||||
msgstr "El preu ha de ser un número major a zero."
|
||||
|
||||
#: pkg/products.go:326 pkg/quote.go:1007 pkg/expenses.go:370
|
||||
#: pkg/invoices.go:1238
|
||||
#: pkg/products.go:322 pkg/quote.go:1005 pkg/expenses.go:370
|
||||
#: pkg/invoices.go:1236
|
||||
msgid "Selected tax is not valid."
|
||||
msgstr "Heu seleccionat un impost que no és vàlid."
|
||||
|
||||
#: pkg/products.go:327 pkg/quote.go:1008 pkg/expenses.go:371
|
||||
#: pkg/invoices.go:1239
|
||||
#: pkg/products.go:323 pkg/quote.go:1006 pkg/expenses.go:371
|
||||
#: pkg/invoices.go:1237
|
||||
msgid "You can only select a tax of each class."
|
||||
msgstr "Només podeu seleccionar un impost de cada classe."
|
||||
|
||||
#: pkg/company.go:108
|
||||
#: pkg/company.go:110
|
||||
msgctxt "input"
|
||||
msgid "Trade name"
|
||||
msgstr "Nom comercial"
|
||||
|
||||
#: pkg/company.go:113 pkg/contacts.go:268
|
||||
#: pkg/company.go:115 pkg/contacts.go:266
|
||||
msgctxt "input"
|
||||
msgid "Phone"
|
||||
msgstr "Telèfon"
|
||||
|
||||
#: pkg/company.go:131 pkg/contacts.go:284
|
||||
#: pkg/company.go:133 pkg/contacts.go:282
|
||||
msgctxt "input"
|
||||
msgid "Web"
|
||||
msgstr "Web"
|
||||
|
||||
#: pkg/company.go:139 pkg/contacts.go:296
|
||||
#: pkg/company.go:141 pkg/contacts.go:294
|
||||
msgctxt "input"
|
||||
msgid "Business name"
|
||||
msgstr "Nom i cognoms"
|
||||
|
||||
#: pkg/company.go:149 pkg/contacts.go:306
|
||||
#: pkg/company.go:151 pkg/contacts.go:304
|
||||
msgctxt "input"
|
||||
msgid "VAT number"
|
||||
msgstr "DNI / NIF"
|
||||
|
||||
#: pkg/company.go:155 pkg/contacts.go:312
|
||||
#: pkg/company.go:157 pkg/contacts.go:310
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
msgstr "Adreça"
|
||||
|
||||
#: pkg/company.go:164 pkg/contacts.go:321
|
||||
#: pkg/company.go:166 pkg/contacts.go:319
|
||||
msgctxt "input"
|
||||
msgid "City"
|
||||
msgstr "Població"
|
||||
|
||||
#: pkg/company.go:170 pkg/contacts.go:327
|
||||
#: pkg/company.go:172 pkg/contacts.go:325
|
||||
msgctxt "input"
|
||||
msgid "Province"
|
||||
msgstr "Província"
|
||||
|
||||
#: pkg/company.go:176 pkg/contacts.go:333
|
||||
#: pkg/company.go:178 pkg/contacts.go:331
|
||||
msgctxt "input"
|
||||
msgid "Postal code"
|
||||
msgstr "Codi postal"
|
||||
|
||||
#: pkg/company.go:185 pkg/contacts.go:342
|
||||
#: pkg/company.go:187 pkg/contacts.go:340
|
||||
msgctxt "input"
|
||||
msgid "Country"
|
||||
msgstr "País"
|
||||
|
||||
#: pkg/company.go:195
|
||||
#: pkg/company.go:197
|
||||
msgctxt "input"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
#: pkg/company.go:226 pkg/contacts.go:394
|
||||
#: pkg/company.go:228 pkg/contacts.go:392
|
||||
msgid "Selected country is not valid."
|
||||
msgstr "Heu seleccionat un país que no és vàlid."
|
||||
|
||||
#: pkg/company.go:230 pkg/contacts.go:397
|
||||
#: pkg/company.go:232 pkg/contacts.go:395
|
||||
msgid "Business name can not be empty."
|
||||
msgstr "No podeu deixar el nom i els cognoms en blanc."
|
||||
|
||||
#: pkg/company.go:231 pkg/contacts.go:398
|
||||
#: pkg/company.go:233 pkg/contacts.go:396
|
||||
msgid "Business name must have at least two letters."
|
||||
msgstr "Nom i cognoms han de tenir com a mínim dues lletres."
|
||||
|
||||
#: pkg/company.go:232 pkg/contacts.go:400
|
||||
#: pkg/company.go:234 pkg/contacts.go:398
|
||||
msgid "VAT number can not be empty."
|
||||
msgstr "No podeu deixar el DNI o NIF en blanc."
|
||||
|
||||
#: pkg/company.go:233 pkg/contacts.go:401
|
||||
#: pkg/company.go:235 pkg/contacts.go:399
|
||||
msgid "This value is not a valid VAT number."
|
||||
msgstr "Aquest valor no és un DNI o NIF vàlid."
|
||||
|
||||
#: pkg/company.go:235
|
||||
#: pkg/company.go:237
|
||||
msgid "Phone can not be empty."
|
||||
msgstr "No podeu deixar el telèfon en blanc."
|
||||
|
||||
#: pkg/company.go:236 pkg/contacts.go:417
|
||||
#: pkg/company.go:238 pkg/contacts.go:415
|
||||
msgid "This value is not a valid phone number."
|
||||
msgstr "Aquest valor no és un telèfon vàlid."
|
||||
|
||||
#: pkg/company.go:242 pkg/contacts.go:423
|
||||
#: pkg/company.go:244 pkg/contacts.go:421
|
||||
msgid "This value is not a valid web address. It should be like https://domain.com/."
|
||||
msgstr "Aquest valor no és una adreça web vàlida. Hauria de ser similar a https://domini.cat/."
|
||||
|
||||
#: pkg/company.go:244 pkg/contacts.go:403
|
||||
#: pkg/company.go:246 pkg/contacts.go:401
|
||||
msgid "Address can not be empty."
|
||||
msgstr "No podeu deixar l’adreça en blanc."
|
||||
|
||||
#: pkg/company.go:245 pkg/contacts.go:404
|
||||
#: pkg/company.go:247 pkg/contacts.go:402
|
||||
msgid "City can not be empty."
|
||||
msgstr "No podeu deixar la població en blanc."
|
||||
|
||||
#: pkg/company.go:246 pkg/contacts.go:405
|
||||
#: pkg/company.go:248 pkg/contacts.go:403
|
||||
msgid "Province can not be empty."
|
||||
msgstr "No podeu deixar la província en blanc."
|
||||
|
||||
#: pkg/company.go:247 pkg/contacts.go:407
|
||||
#: pkg/company.go:249 pkg/contacts.go:405
|
||||
msgid "Postal code can not be empty."
|
||||
msgstr "No podeu deixar el codi postal en blanc."
|
||||
|
||||
#: pkg/company.go:248 pkg/contacts.go:408
|
||||
#: pkg/company.go:250 pkg/contacts.go:406
|
||||
msgid "This value is not a valid postal code."
|
||||
msgstr "Aquest valor no és un codi postal vàlid."
|
||||
|
||||
#: pkg/company.go:250
|
||||
#: pkg/company.go:252
|
||||
msgid "Selected currency is not valid."
|
||||
msgstr "Heu seleccionat una moneda que no és vàlida."
|
||||
|
||||
|
@ -1163,60 +1173,64 @@ msgstr "No podeu deixar el format del número de pressupost en blanc."
|
|||
msgid "Next quotation number must be a number greater than zero."
|
||||
msgstr "El següent número de pressupost ha de ser un número major a zero."
|
||||
|
||||
#: pkg/company.go:614
|
||||
#: pkg/company.go:612
|
||||
msgctxt "input"
|
||||
msgid "Tax name"
|
||||
msgstr "Nom impost"
|
||||
|
||||
#: pkg/company.go:620
|
||||
#: pkg/company.go:618
|
||||
msgctxt "input"
|
||||
msgid "Tax Class"
|
||||
msgstr "Classe d’impost"
|
||||
|
||||
#: pkg/company.go:623
|
||||
#: pkg/company.go:621
|
||||
msgid "Select a tax class"
|
||||
msgstr "Escolliu una classe d’impost"
|
||||
|
||||
#: pkg/company.go:627
|
||||
#: pkg/company.go:625
|
||||
msgctxt "input"
|
||||
msgid "Rate (%)"
|
||||
msgstr "Percentatge"
|
||||
|
||||
#: pkg/company.go:650
|
||||
#: pkg/company.go:648
|
||||
msgid "Tax name can not be empty."
|
||||
msgstr "No podeu deixar el nom de l’impost en blanc."
|
||||
|
||||
#: pkg/company.go:651
|
||||
#: pkg/company.go:649
|
||||
msgid "Selected tax class is not valid."
|
||||
msgstr "Heu seleccionat una classe d’impost que no és vàlida."
|
||||
|
||||
#: pkg/company.go:652
|
||||
#: pkg/company.go:650
|
||||
msgid "Tax rate can not be empty."
|
||||
msgstr "No podeu deixar percentatge en blanc."
|
||||
|
||||
#: pkg/company.go:653
|
||||
#: pkg/company.go:651
|
||||
msgid "Tax rate must be an integer between -99 and 99."
|
||||
msgstr "El percentatge ha de ser entre -99 i 99."
|
||||
|
||||
#: pkg/company.go:762
|
||||
#: pkg/company.go:768
|
||||
msgctxt "input"
|
||||
msgid "Payment method name"
|
||||
msgstr "Nom del mètode de pagament"
|
||||
|
||||
#: pkg/company.go:768
|
||||
#: pkg/company.go:774
|
||||
msgctxt "input"
|
||||
msgid "Instructions"
|
||||
msgstr "Instruccions"
|
||||
|
||||
#: pkg/company.go:786
|
||||
#: pkg/company.go:792
|
||||
msgid "Payment method name can not be empty."
|
||||
msgstr "No podeu deixar el nom del mètode de pagament en blanc."
|
||||
|
||||
#: pkg/company.go:787
|
||||
#: pkg/company.go:793
|
||||
msgid "Payment instructions can not be empty."
|
||||
msgstr "No podeu deixar les instruccions de pagament en blanc."
|
||||
|
||||
#: pkg/quote.go:147 pkg/quote.go:686 pkg/invoices.go:150 pkg/invoices.go:851
|
||||
#: pkg/company.go:845 pkg/quote.go:755 pkg/invoices.go:928
|
||||
msgid "Selected payment method is not valid."
|
||||
msgstr "Heu seleccionat un mètode de pagament que no és vàlid."
|
||||
|
||||
#: pkg/quote.go:147 pkg/quote.go:684 pkg/invoices.go:150 pkg/invoices.go:849
|
||||
msgctxt "input"
|
||||
msgid "Customer"
|
||||
msgstr "Client"
|
||||
|
@ -1225,12 +1239,12 @@ msgstr "Client"
|
|||
msgid "All customers"
|
||||
msgstr "Tots els clients"
|
||||
|
||||
#: pkg/quote.go:153 pkg/quote.go:680
|
||||
#: pkg/quote.go:153 pkg/quote.go:678
|
||||
msgctxt "input"
|
||||
msgid "Quotation Status"
|
||||
msgstr "Estat del pressupost"
|
||||
|
||||
#: pkg/quote.go:154 pkg/expenses.go:490 pkg/invoices.go:157
|
||||
#: pkg/quote.go:154 pkg/expenses.go:488 pkg/invoices.go:157
|
||||
msgid "All status"
|
||||
msgstr "Tots els estats"
|
||||
|
||||
|
@ -1239,12 +1253,12 @@ msgctxt "input"
|
|||
msgid "Quotation Number"
|
||||
msgstr "Número de pressupost"
|
||||
|
||||
#: pkg/quote.go:164 pkg/expenses.go:475 pkg/invoices.go:167
|
||||
#: pkg/quote.go:164 pkg/expenses.go:473 pkg/invoices.go:167
|
||||
msgctxt "input"
|
||||
msgid "From Date"
|
||||
msgstr "A partir de la data"
|
||||
|
||||
#: pkg/quote.go:169 pkg/expenses.go:480 pkg/invoices.go:172
|
||||
#: pkg/quote.go:169 pkg/expenses.go:478 pkg/invoices.go:172
|
||||
msgctxt "input"
|
||||
msgid "To Date"
|
||||
msgstr "Fins la data"
|
||||
|
@ -1257,104 +1271,100 @@ msgstr "Els pressuposts han de tenir totes les etiquetes."
|
|||
msgid "Quotations must have at least one of the specified labels."
|
||||
msgstr "Els pressuposts han de tenir com a mínim una de les etiquetes."
|
||||
|
||||
#: pkg/quote.go:618
|
||||
#: pkg/quote.go:616
|
||||
msgid "quotations.zip"
|
||||
msgstr "pressuposts.zip"
|
||||
|
||||
#: pkg/quote.go:632
|
||||
#: pkg/quote.go:630
|
||||
msgid "quotations.ods"
|
||||
msgstr "pressuposts.ods"
|
||||
|
||||
#: pkg/quote.go:634 pkg/quote.go:1176 pkg/quote.go:1184 pkg/expenses.go:645
|
||||
#: pkg/expenses.go:675 pkg/invoices.go:683 pkg/invoices.go:1413
|
||||
#: pkg/invoices.go:1421
|
||||
#: pkg/quote.go:632 pkg/quote.go:1172 pkg/quote.go:1180 pkg/expenses.go:641
|
||||
#: pkg/expenses.go:671 pkg/invoices.go:681 pkg/invoices.go:1409
|
||||
#: pkg/invoices.go:1417
|
||||
msgid "Invalid action"
|
||||
msgstr "Acció invàlida."
|
||||
|
||||
#: pkg/quote.go:687
|
||||
#: pkg/quote.go:685
|
||||
msgid "Select a customer to quote."
|
||||
msgstr "Escolliu un client a pressupostar."
|
||||
|
||||
#: pkg/quote.go:692
|
||||
#: pkg/quote.go:690
|
||||
msgctxt "input"
|
||||
msgid "Quotation Date"
|
||||
msgstr "Data del pressupost"
|
||||
|
||||
#: pkg/quote.go:698
|
||||
#: pkg/quote.go:696
|
||||
msgctxt "input"
|
||||
msgid "Terms and conditions"
|
||||
msgstr "Condicions d’acceptació"
|
||||
|
||||
#: pkg/quote.go:703 pkg/invoices.go:863
|
||||
#: pkg/quote.go:701 pkg/invoices.go:861
|
||||
msgctxt "input"
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: pkg/quote.go:712 pkg/invoices.go:873
|
||||
#: pkg/quote.go:710 pkg/invoices.go:871
|
||||
msgctxt "input"
|
||||
msgid "Payment Method"
|
||||
msgstr "Mètode de pagament"
|
||||
|
||||
#: pkg/quote.go:713
|
||||
#: pkg/quote.go:711
|
||||
msgid "Select a payment method."
|
||||
msgstr "Escolliu un mètode de pagament."
|
||||
|
||||
#: pkg/quote.go:749
|
||||
#: pkg/quote.go:747
|
||||
msgid "Selected quotation status is not valid."
|
||||
msgstr "Heu seleccionat un estat de pressupost que no és vàlid."
|
||||
|
||||
#: pkg/quote.go:751 pkg/invoices.go:926
|
||||
#: pkg/quote.go:749 pkg/invoices.go:924
|
||||
msgid "Selected customer is not valid."
|
||||
msgstr "Heu seleccionat un client que no és vàlid."
|
||||
|
||||
#: pkg/quote.go:753
|
||||
#: pkg/quote.go:751
|
||||
msgid "Quotation date can not be empty."
|
||||
msgstr "No podeu deixar la data del pressupost en blanc."
|
||||
|
||||
#: pkg/quote.go:754
|
||||
#: pkg/quote.go:752
|
||||
msgid "Quotation date must be a valid date."
|
||||
msgstr "La data del pressupost ha de ser vàlida."
|
||||
|
||||
#: pkg/quote.go:757 pkg/invoices.go:930
|
||||
msgid "Selected payment method is not valid."
|
||||
msgstr "Heu seleccionat un mètode de pagament que no és vàlid."
|
||||
|
||||
#: pkg/quote.go:891 pkg/quote.go:896 pkg/invoices.go:1122 pkg/invoices.go:1127
|
||||
#: pkg/quote.go:889 pkg/quote.go:894 pkg/invoices.go:1120 pkg/invoices.go:1125
|
||||
msgctxt "input"
|
||||
msgid "Id"
|
||||
msgstr "Identificador"
|
||||
|
||||
#: pkg/quote.go:929 pkg/invoices.go:1160
|
||||
#: pkg/quote.go:927 pkg/invoices.go:1158
|
||||
msgctxt "input"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantitat"
|
||||
|
||||
#: pkg/quote.go:938 pkg/invoices.go:1169
|
||||
#: pkg/quote.go:936 pkg/invoices.go:1167
|
||||
msgctxt "input"
|
||||
msgid "Discount (%)"
|
||||
msgstr "Descompte (%)"
|
||||
|
||||
#: pkg/quote.go:992
|
||||
#: pkg/quote.go:990
|
||||
msgid "Quotation product ID must be a number greater than zero."
|
||||
msgstr "L’ID del producte de pressupost ha de ser un número major a zero."
|
||||
|
||||
#: pkg/quote.go:995 pkg/invoices.go:1226
|
||||
#: pkg/quote.go:993 pkg/invoices.go:1224
|
||||
msgid "Product ID must be a positive number or zero."
|
||||
msgstr "L’ID del producte ha de ser un número positiu o zero."
|
||||
|
||||
#: pkg/quote.go:1001 pkg/invoices.go:1232
|
||||
#: pkg/quote.go:999 pkg/invoices.go:1230
|
||||
msgid "Quantity can not be empty."
|
||||
msgstr "No podeu deixar la quantitat en blanc."
|
||||
|
||||
#: pkg/quote.go:1002 pkg/invoices.go:1233
|
||||
#: pkg/quote.go:1000 pkg/invoices.go:1231
|
||||
msgid "Quantity must be a number greater than zero."
|
||||
msgstr "La quantitat ha de ser un número major a zero."
|
||||
|
||||
#: pkg/quote.go:1004 pkg/invoices.go:1235
|
||||
#: pkg/quote.go:1002 pkg/invoices.go:1233
|
||||
msgid "Discount can not be empty."
|
||||
msgstr "No podeu deixar el descompte en blanc."
|
||||
|
||||
#: pkg/quote.go:1005 pkg/invoices.go:1236
|
||||
#: pkg/quote.go:1003 pkg/invoices.go:1234
|
||||
msgid "Discount must be a percentage between 0 and 100."
|
||||
msgstr "El descompte ha de ser un percentatge entre 0 i 100."
|
||||
|
||||
|
@ -1426,7 +1436,7 @@ msgctxt "input"
|
|||
msgid "Amount"
|
||||
msgstr "Import"
|
||||
|
||||
#: pkg/payments.go:415 pkg/expenses.go:330 pkg/invoices.go:879
|
||||
#: pkg/payments.go:415 pkg/expenses.go:330 pkg/invoices.go:877
|
||||
msgctxt "input"
|
||||
msgid "File"
|
||||
msgstr "Fitxer"
|
||||
|
@ -1463,7 +1473,7 @@ msgstr "No podeu deixar l’import en blanc."
|
|||
msgid "Amount must be a number greater than zero."
|
||||
msgstr "L’import ha de ser un número major a zero."
|
||||
|
||||
#: pkg/accounts.go:146 pkg/contacts.go:352
|
||||
#: pkg/accounts.go:146 pkg/contacts.go:350
|
||||
msgctxt "input"
|
||||
msgid "IBAN"
|
||||
msgstr "IBAN"
|
||||
|
@ -1553,7 +1563,7 @@ msgstr "Any anterior"
|
|||
msgid "Select a contact."
|
||||
msgstr "Escolliu un contacte."
|
||||
|
||||
#: pkg/expenses.go:293 pkg/expenses.go:464
|
||||
#: pkg/expenses.go:293 pkg/expenses.go:462
|
||||
msgctxt "input"
|
||||
msgid "Contact"
|
||||
msgstr "Contacte"
|
||||
|
@ -1563,7 +1573,7 @@ msgctxt "input"
|
|||
msgid "Invoice number"
|
||||
msgstr "Número de factura"
|
||||
|
||||
#: pkg/expenses.go:304 pkg/invoices.go:857
|
||||
#: pkg/expenses.go:304 pkg/invoices.go:855
|
||||
msgctxt "input"
|
||||
msgid "Invoice Date"
|
||||
msgstr "Data de factura"
|
||||
|
@ -1572,25 +1582,25 @@ msgstr "Data de factura"
|
|||
msgid "Selected contact is not valid."
|
||||
msgstr "Heu seleccionat un contacte que no és vàlid."
|
||||
|
||||
#: pkg/expenses.go:369 pkg/invoices.go:928
|
||||
#: pkg/expenses.go:369 pkg/invoices.go:926
|
||||
msgid "Invoice date must be a valid date."
|
||||
msgstr "La data de facturació ha de ser vàlida."
|
||||
|
||||
#: pkg/expenses.go:465
|
||||
#: pkg/expenses.go:463
|
||||
msgid "All contacts"
|
||||
msgstr "Tots els contactes"
|
||||
|
||||
#: pkg/expenses.go:470 pkg/invoices.go:162
|
||||
#: pkg/expenses.go:468 pkg/invoices.go:162
|
||||
msgctxt "input"
|
||||
msgid "Invoice Number"
|
||||
msgstr "Número de factura"
|
||||
|
||||
#: pkg/expenses.go:489
|
||||
#: pkg/expenses.go:487
|
||||
msgctxt "input"
|
||||
msgid "Expense Status"
|
||||
msgstr "Estat de la despesa"
|
||||
|
||||
#: pkg/expenses.go:673
|
||||
#: pkg/expenses.go:669
|
||||
msgid "expenses.ods"
|
||||
msgstr "despeses.ods"
|
||||
|
||||
|
@ -1603,55 +1613,55 @@ msgstr "Estat de la factura"
|
|||
msgid "Select a customer to bill."
|
||||
msgstr "Escolliu un client a facturar."
|
||||
|
||||
#: pkg/invoices.go:663
|
||||
#: pkg/invoices.go:661
|
||||
msgid "invoices.zip"
|
||||
msgstr "factures.zip"
|
||||
|
||||
#: pkg/invoices.go:681
|
||||
#: pkg/invoices.go:679
|
||||
msgid "invoices.ods"
|
||||
msgstr "factures.ods"
|
||||
|
||||
#: pkg/invoices.go:927
|
||||
#: pkg/invoices.go:925
|
||||
msgid "Invoice date can not be empty."
|
||||
msgstr "No podeu deixar la data de la factura en blanc."
|
||||
|
||||
#: pkg/invoices.go:1059
|
||||
#: pkg/invoices.go:1057
|
||||
#, c-format
|
||||
msgid "Re: quotation #%s of %s"
|
||||
msgstr "Ref: pressupost núm. %s del %s"
|
||||
|
||||
#: pkg/invoices.go:1060
|
||||
#: pkg/invoices.go:1058
|
||||
msgctxt "to_char"
|
||||
msgid "MM/DD/YYYY"
|
||||
msgstr "DD/MM/YYYY"
|
||||
|
||||
#: pkg/invoices.go:1223
|
||||
#: pkg/invoices.go:1221
|
||||
msgid "Invoice product ID must be a number greater than zero."
|
||||
msgstr "L’ID del producte de factura ha de ser un número major a zero."
|
||||
|
||||
#: pkg/contacts.go:292
|
||||
#: pkg/contacts.go:290
|
||||
msgctxt "input"
|
||||
msgid "Need to input tax details"
|
||||
msgstr "Necessito poder facturar aquest contacte"
|
||||
|
||||
#: pkg/contacts.go:357
|
||||
#: pkg/contacts.go:355
|
||||
msgctxt "bic"
|
||||
msgid "BIC"
|
||||
msgstr "BIC"
|
||||
|
||||
#: pkg/contacts.go:413
|
||||
#: pkg/contacts.go:411
|
||||
msgid "Name must have at least two letters."
|
||||
msgstr "El nom ha de tenir com a mínim dues lletres."
|
||||
|
||||
#: pkg/contacts.go:426
|
||||
#: pkg/contacts.go:424
|
||||
msgid "This values is not a valid IBAN."
|
||||
msgstr "Aquest valor no és un IBAN vàlid."
|
||||
|
||||
#: pkg/contacts.go:429
|
||||
#: pkg/contacts.go:427
|
||||
msgid "This values is not a valid BIC."
|
||||
msgstr "Aquest valor no és un BIC vàlid."
|
||||
|
||||
#: pkg/contacts.go:518
|
||||
#: pkg/contacts.go:516
|
||||
msgctxt "input"
|
||||
msgid "Holded Excel file"
|
||||
msgstr "Fitxer Excel del Holded"
|
||||
|
|
268
po/es.po
268
po/es.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: numerus\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-08-26 14:46+0200\n"
|
||||
"POT-Creation-Date: 2024-08-28 11:05+0200\n"
|
||||
"PO-Revision-Date: 2023-01-18 17:45+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||
|
@ -701,7 +701,7 @@ msgid "Class"
|
|||
msgstr "Clase"
|
||||
|
||||
#: web/template/company/taxes.gohtml:29
|
||||
#: web/template/company/payment_methods.gohtml:28
|
||||
#: web/template/company/payment_methods.gohtml:29
|
||||
msgid "Are you sure?"
|
||||
msgstr "¿Estáis seguro?"
|
||||
|
||||
|
@ -736,24 +736,34 @@ msgstr "Configuración fiscal"
|
|||
|
||||
#: web/template/company/payment_methods.gohtml:23
|
||||
msgctxt "title"
|
||||
msgid "Default"
|
||||
msgstr "Por defecto"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:24
|
||||
msgctxt "title"
|
||||
msgid "Payment Method"
|
||||
msgstr "Método de pago"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:24
|
||||
#: web/template/company/payment_methods.gohtml:25
|
||||
msgctxt "title"
|
||||
msgid "Instructions"
|
||||
msgstr "Instrucciones"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:48
|
||||
#: web/template/company/payment_methods.gohtml:59
|
||||
msgid "No payment methods added yet."
|
||||
msgstr "No hay métodos de pago."
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:55
|
||||
#: web/template/company/payment_methods.gohtml:77
|
||||
msgctxt "action"
|
||||
msgid "Set"
|
||||
msgstr "Establecer"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:87
|
||||
msgctxt "title"
|
||||
msgid "New Payment Method"
|
||||
msgstr "Nuevo método de pago"
|
||||
|
||||
#: web/template/company/payment_methods.gohtml:64
|
||||
#: web/template/company/payment_methods.gohtml:96
|
||||
msgctxt "action"
|
||||
msgid "Add new payment method"
|
||||
msgstr "Añadir nuevo método de pago"
|
||||
|
@ -903,7 +913,7 @@ msgctxt "title"
|
|||
msgid "VAT number"
|
||||
msgstr "DNI / NIF"
|
||||
|
||||
#: pkg/login.go:38 pkg/company.go:122 pkg/profile.go:40 pkg/contacts.go:276
|
||||
#: pkg/login.go:38 pkg/company.go:124 pkg/profile.go:40 pkg/contacts.go:274
|
||||
msgctxt "input"
|
||||
msgid "Email"
|
||||
msgstr "Correo-e"
|
||||
|
@ -913,11 +923,11 @@ msgctxt "input"
|
|||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: pkg/login.go:76 pkg/company.go:238 pkg/profile.go:89
|
||||
#: pkg/login.go:76 pkg/company.go:240 pkg/profile.go:89
|
||||
msgid "Email can not be empty."
|
||||
msgstr "No podéis dejar el correo-e en blanco."
|
||||
|
||||
#: pkg/login.go:77 pkg/company.go:239 pkg/profile.go:90 pkg/contacts.go:420
|
||||
#: pkg/login.go:77 pkg/company.go:241 pkg/profile.go:90 pkg/contacts.go:418
|
||||
msgid "This value is not a valid email. It should be like name@domain.com."
|
||||
msgstr "Este valor no es un correo-e válido. Tiene que ser parecido a nombre@dominio.es."
|
||||
|
||||
|
@ -929,196 +939,196 @@ msgstr "No podéis dejar la contraseña en blanco."
|
|||
msgid "Invalid user or password."
|
||||
msgstr "Nombre de usuario o contraseña inválido."
|
||||
|
||||
#: pkg/products.go:172 pkg/products.go:276 pkg/quote.go:901 pkg/accounts.go:140
|
||||
#: pkg/invoices.go:1132 pkg/contacts.go:149 pkg/contacts.go:262
|
||||
#: pkg/products.go:168 pkg/products.go:272 pkg/quote.go:899 pkg/accounts.go:140
|
||||
#: pkg/invoices.go:1130 pkg/contacts.go:147 pkg/contacts.go:260
|
||||
msgctxt "input"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: pkg/products.go:177 pkg/products.go:303 pkg/tags.go:37 pkg/quote.go:174
|
||||
#: pkg/quote.go:708 pkg/payments.go:420 pkg/expenses.go:335 pkg/expenses.go:485
|
||||
#: pkg/invoices.go:177 pkg/invoices.go:868 pkg/contacts.go:154
|
||||
#: pkg/contacts.go:362
|
||||
#: pkg/products.go:173 pkg/products.go:299 pkg/tags.go:37 pkg/quote.go:174
|
||||
#: pkg/quote.go:706 pkg/payments.go:420 pkg/expenses.go:335 pkg/expenses.go:483
|
||||
#: pkg/invoices.go:177 pkg/invoices.go:866 pkg/contacts.go:152
|
||||
#: pkg/contacts.go:360
|
||||
msgctxt "input"
|
||||
msgid "Tags"
|
||||
msgstr "Etiquetes"
|
||||
|
||||
#: pkg/products.go:181 pkg/quote.go:178 pkg/expenses.go:495 pkg/invoices.go:181
|
||||
#: pkg/contacts.go:158
|
||||
#: pkg/products.go:177 pkg/quote.go:178 pkg/expenses.go:493 pkg/invoices.go:181
|
||||
#: pkg/contacts.go:156
|
||||
msgctxt "input"
|
||||
msgid "Tags Condition"
|
||||
msgstr "Condición de las etiquetas"
|
||||
|
||||
#: pkg/products.go:185 pkg/quote.go:182 pkg/expenses.go:499 pkg/invoices.go:185
|
||||
#: pkg/contacts.go:162
|
||||
#: pkg/products.go:181 pkg/quote.go:182 pkg/expenses.go:497 pkg/invoices.go:185
|
||||
#: pkg/contacts.go:160
|
||||
msgctxt "tag condition"
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
#: pkg/products.go:186 pkg/expenses.go:500 pkg/invoices.go:186
|
||||
#: pkg/contacts.go:163
|
||||
#: pkg/products.go:182 pkg/expenses.go:498 pkg/invoices.go:186
|
||||
#: pkg/contacts.go:161
|
||||
msgid "Invoices must have all the specified labels."
|
||||
msgstr "Las facturas deben tener todas las etiquetas."
|
||||
|
||||
#: pkg/products.go:190 pkg/quote.go:187 pkg/expenses.go:504 pkg/invoices.go:190
|
||||
#: pkg/contacts.go:167
|
||||
#: pkg/products.go:186 pkg/quote.go:187 pkg/expenses.go:502 pkg/invoices.go:190
|
||||
#: pkg/contacts.go:165
|
||||
msgctxt "tag condition"
|
||||
msgid "Any"
|
||||
msgstr "Cualquiera"
|
||||
|
||||
#: pkg/products.go:191 pkg/expenses.go:505 pkg/invoices.go:191
|
||||
#: pkg/contacts.go:168
|
||||
#: pkg/products.go:187 pkg/expenses.go:503 pkg/invoices.go:191
|
||||
#: pkg/contacts.go:166
|
||||
msgid "Invoices must have at least one of the specified labels."
|
||||
msgstr "Las facturas deben tener como mínimo una de las etiquetas."
|
||||
|
||||
#: pkg/products.go:282 pkg/quote.go:915 pkg/payments.go:387
|
||||
#: pkg/invoices.go:1146
|
||||
#: pkg/products.go:278 pkg/quote.go:913 pkg/payments.go:387
|
||||
#: pkg/invoices.go:1144
|
||||
msgctxt "input"
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#: pkg/products.go:287 pkg/quote.go:919 pkg/invoices.go:1150
|
||||
#: pkg/products.go:283 pkg/quote.go:917 pkg/invoices.go:1148
|
||||
msgctxt "input"
|
||||
msgid "Price"
|
||||
msgstr "Precio"
|
||||
|
||||
#: pkg/products.go:297 pkg/quote.go:948 pkg/expenses.go:310
|
||||
#: pkg/invoices.go:1179
|
||||
#: pkg/products.go:293 pkg/quote.go:946 pkg/expenses.go:310
|
||||
#: pkg/invoices.go:1177
|
||||
msgctxt "input"
|
||||
msgid "Taxes"
|
||||
msgstr "Impuestos"
|
||||
|
||||
#: pkg/products.go:322 pkg/quote.go:997 pkg/profile.go:92 pkg/invoices.go:1228
|
||||
#: pkg/contacts.go:412
|
||||
#: pkg/products.go:318 pkg/quote.go:995 pkg/profile.go:92 pkg/invoices.go:1226
|
||||
#: pkg/contacts.go:410
|
||||
msgid "Name can not be empty."
|
||||
msgstr "No podéis dejar el nombre en blanco."
|
||||
|
||||
#: pkg/products.go:323 pkg/quote.go:998 pkg/invoices.go:1229
|
||||
#: pkg/products.go:319 pkg/quote.go:996 pkg/invoices.go:1227
|
||||
msgid "Price can not be empty."
|
||||
msgstr "No podéis dejar el precio en blanco."
|
||||
|
||||
#: pkg/products.go:324 pkg/quote.go:999 pkg/invoices.go:1230
|
||||
#: pkg/products.go:320 pkg/quote.go:997 pkg/invoices.go:1228
|
||||
msgid "Price must be a number greater than zero."
|
||||
msgstr "El precio tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/products.go:326 pkg/quote.go:1007 pkg/expenses.go:370
|
||||
#: pkg/invoices.go:1238
|
||||
#: pkg/products.go:322 pkg/quote.go:1005 pkg/expenses.go:370
|
||||
#: pkg/invoices.go:1236
|
||||
msgid "Selected tax is not valid."
|
||||
msgstr "Habéis escogido un impuesto que no es válido."
|
||||
|
||||
#: pkg/products.go:327 pkg/quote.go:1008 pkg/expenses.go:371
|
||||
#: pkg/invoices.go:1239
|
||||
#: pkg/products.go:323 pkg/quote.go:1006 pkg/expenses.go:371
|
||||
#: pkg/invoices.go:1237
|
||||
msgid "You can only select a tax of each class."
|
||||
msgstr "Solo podéis escoger un impuesto de cada clase."
|
||||
|
||||
#: pkg/company.go:108
|
||||
#: pkg/company.go:110
|
||||
msgctxt "input"
|
||||
msgid "Trade name"
|
||||
msgstr "Nombre comercial"
|
||||
|
||||
#: pkg/company.go:113 pkg/contacts.go:268
|
||||
#: pkg/company.go:115 pkg/contacts.go:266
|
||||
msgctxt "input"
|
||||
msgid "Phone"
|
||||
msgstr "Teléfono"
|
||||
|
||||
#: pkg/company.go:131 pkg/contacts.go:284
|
||||
#: pkg/company.go:133 pkg/contacts.go:282
|
||||
msgctxt "input"
|
||||
msgid "Web"
|
||||
msgstr "Web"
|
||||
|
||||
#: pkg/company.go:139 pkg/contacts.go:296
|
||||
#: pkg/company.go:141 pkg/contacts.go:294
|
||||
msgctxt "input"
|
||||
msgid "Business name"
|
||||
msgstr "Nombre y apellidos"
|
||||
|
||||
#: pkg/company.go:149 pkg/contacts.go:306
|
||||
#: pkg/company.go:151 pkg/contacts.go:304
|
||||
msgctxt "input"
|
||||
msgid "VAT number"
|
||||
msgstr "DNI / NIF"
|
||||
|
||||
#: pkg/company.go:155 pkg/contacts.go:312
|
||||
#: pkg/company.go:157 pkg/contacts.go:310
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
msgstr "Dirección"
|
||||
|
||||
#: pkg/company.go:164 pkg/contacts.go:321
|
||||
#: pkg/company.go:166 pkg/contacts.go:319
|
||||
msgctxt "input"
|
||||
msgid "City"
|
||||
msgstr "Población"
|
||||
|
||||
#: pkg/company.go:170 pkg/contacts.go:327
|
||||
#: pkg/company.go:172 pkg/contacts.go:325
|
||||
msgctxt "input"
|
||||
msgid "Province"
|
||||
msgstr "Provincia"
|
||||
|
||||
#: pkg/company.go:176 pkg/contacts.go:333
|
||||
#: pkg/company.go:178 pkg/contacts.go:331
|
||||
msgctxt "input"
|
||||
msgid "Postal code"
|
||||
msgstr "Código postal"
|
||||
|
||||
#: pkg/company.go:185 pkg/contacts.go:342
|
||||
#: pkg/company.go:187 pkg/contacts.go:340
|
||||
msgctxt "input"
|
||||
msgid "Country"
|
||||
msgstr "País"
|
||||
|
||||
#: pkg/company.go:195
|
||||
#: pkg/company.go:197
|
||||
msgctxt "input"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
#: pkg/company.go:226 pkg/contacts.go:394
|
||||
#: pkg/company.go:228 pkg/contacts.go:392
|
||||
msgid "Selected country is not valid."
|
||||
msgstr "Habéis escogido un país que no es válido."
|
||||
|
||||
#: pkg/company.go:230 pkg/contacts.go:397
|
||||
#: pkg/company.go:232 pkg/contacts.go:395
|
||||
msgid "Business name can not be empty."
|
||||
msgstr "No podéis dejar el nombre y los apellidos en blanco."
|
||||
|
||||
#: pkg/company.go:231 pkg/contacts.go:398
|
||||
#: pkg/company.go:233 pkg/contacts.go:396
|
||||
msgid "Business name must have at least two letters."
|
||||
msgstr "El nombre y los apellidos deben contener como mínimo dos letras."
|
||||
|
||||
#: pkg/company.go:232 pkg/contacts.go:400
|
||||
#: pkg/company.go:234 pkg/contacts.go:398
|
||||
msgid "VAT number can not be empty."
|
||||
msgstr "No podéis dejar el DNI o NIF en blanco."
|
||||
|
||||
#: pkg/company.go:233 pkg/contacts.go:401
|
||||
#: pkg/company.go:235 pkg/contacts.go:399
|
||||
msgid "This value is not a valid VAT number."
|
||||
msgstr "Este valor no es un DNI o NIF válido."
|
||||
|
||||
#: pkg/company.go:235
|
||||
#: pkg/company.go:237
|
||||
msgid "Phone can not be empty."
|
||||
msgstr "No podéis dejar el teléfono en blanco."
|
||||
|
||||
#: pkg/company.go:236 pkg/contacts.go:417
|
||||
#: pkg/company.go:238 pkg/contacts.go:415
|
||||
msgid "This value is not a valid phone number."
|
||||
msgstr "Este valor no es un teléfono válido."
|
||||
|
||||
#: pkg/company.go:242 pkg/contacts.go:423
|
||||
#: pkg/company.go:244 pkg/contacts.go:421
|
||||
msgid "This value is not a valid web address. It should be like https://domain.com/."
|
||||
msgstr "Este valor no es una dirección web válida. Tiene que ser parecida a https://dominio.es/."
|
||||
|
||||
#: pkg/company.go:244 pkg/contacts.go:403
|
||||
#: pkg/company.go:246 pkg/contacts.go:401
|
||||
msgid "Address can not be empty."
|
||||
msgstr "No podéis dejar la dirección en blanco."
|
||||
|
||||
#: pkg/company.go:245 pkg/contacts.go:404
|
||||
#: pkg/company.go:247 pkg/contacts.go:402
|
||||
msgid "City can not be empty."
|
||||
msgstr "No podéis dejar la población en blanco."
|
||||
|
||||
#: pkg/company.go:246 pkg/contacts.go:405
|
||||
#: pkg/company.go:248 pkg/contacts.go:403
|
||||
msgid "Province can not be empty."
|
||||
msgstr "No podéis dejar la provincia en blanco."
|
||||
|
||||
#: pkg/company.go:247 pkg/contacts.go:407
|
||||
#: pkg/company.go:249 pkg/contacts.go:405
|
||||
msgid "Postal code can not be empty."
|
||||
msgstr "No podéis dejar el código postal en blanco."
|
||||
|
||||
#: pkg/company.go:248 pkg/contacts.go:408
|
||||
#: pkg/company.go:250 pkg/contacts.go:406
|
||||
msgid "This value is not a valid postal code."
|
||||
msgstr "Este valor no es un código postal válido válido."
|
||||
|
||||
#: pkg/company.go:250
|
||||
#: pkg/company.go:252
|
||||
msgid "Selected currency is not valid."
|
||||
msgstr "Habéis escogido una moneda que no es válida."
|
||||
|
||||
|
@ -1163,60 +1173,64 @@ msgstr "No podéis dejar el formato del número de presupuesto en blanco."
|
|||
msgid "Next quotation number must be a number greater than zero."
|
||||
msgstr "El siguiente número de presupuesto tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/company.go:614
|
||||
#: pkg/company.go:612
|
||||
msgctxt "input"
|
||||
msgid "Tax name"
|
||||
msgstr "Nombre impuesto"
|
||||
|
||||
#: pkg/company.go:620
|
||||
#: pkg/company.go:618
|
||||
msgctxt "input"
|
||||
msgid "Tax Class"
|
||||
msgstr "Clase de impuesto"
|
||||
|
||||
#: pkg/company.go:623
|
||||
#: pkg/company.go:621
|
||||
msgid "Select a tax class"
|
||||
msgstr "Escoged una clase de impuesto"
|
||||
|
||||
#: pkg/company.go:627
|
||||
#: pkg/company.go:625
|
||||
msgctxt "input"
|
||||
msgid "Rate (%)"
|
||||
msgstr "Porcentaje"
|
||||
|
||||
#: pkg/company.go:650
|
||||
#: pkg/company.go:648
|
||||
msgid "Tax name can not be empty."
|
||||
msgstr "No podéis dejar el nombre del impuesto en blanco."
|
||||
|
||||
#: pkg/company.go:651
|
||||
#: pkg/company.go:649
|
||||
msgid "Selected tax class is not valid."
|
||||
msgstr "Habéis escogido una clase impuesto que no es válida."
|
||||
|
||||
#: pkg/company.go:652
|
||||
#: pkg/company.go:650
|
||||
msgid "Tax rate can not be empty."
|
||||
msgstr "No podéis dejar el porcentaje en blanco."
|
||||
|
||||
#: pkg/company.go:653
|
||||
#: pkg/company.go:651
|
||||
msgid "Tax rate must be an integer between -99 and 99."
|
||||
msgstr "El porcentaje tiene que estar entre -99 y 99."
|
||||
|
||||
#: pkg/company.go:762
|
||||
#: pkg/company.go:768
|
||||
msgctxt "input"
|
||||
msgid "Payment method name"
|
||||
msgstr "Nombre del método de pago"
|
||||
|
||||
#: pkg/company.go:768
|
||||
#: pkg/company.go:774
|
||||
msgctxt "input"
|
||||
msgid "Instructions"
|
||||
msgstr "Instrucciones"
|
||||
|
||||
#: pkg/company.go:786
|
||||
#: pkg/company.go:792
|
||||
msgid "Payment method name can not be empty."
|
||||
msgstr "No podéis dejar el nombre del método de pago en blanco."
|
||||
|
||||
#: pkg/company.go:787
|
||||
#: pkg/company.go:793
|
||||
msgid "Payment instructions can not be empty."
|
||||
msgstr "No podéis dejar las instrucciones de pago en blanco."
|
||||
|
||||
#: pkg/quote.go:147 pkg/quote.go:686 pkg/invoices.go:150 pkg/invoices.go:851
|
||||
#: pkg/company.go:845 pkg/quote.go:755 pkg/invoices.go:928
|
||||
msgid "Selected payment method is not valid."
|
||||
msgstr "Habéis escogido un método de pago que no es válido."
|
||||
|
||||
#: pkg/quote.go:147 pkg/quote.go:684 pkg/invoices.go:150 pkg/invoices.go:849
|
||||
msgctxt "input"
|
||||
msgid "Customer"
|
||||
msgstr "Cliente"
|
||||
|
@ -1225,12 +1239,12 @@ msgstr "Cliente"
|
|||
msgid "All customers"
|
||||
msgstr "Todos los clientes"
|
||||
|
||||
#: pkg/quote.go:153 pkg/quote.go:680
|
||||
#: pkg/quote.go:153 pkg/quote.go:678
|
||||
msgctxt "input"
|
||||
msgid "Quotation Status"
|
||||
msgstr "Estado del presupuesto"
|
||||
|
||||
#: pkg/quote.go:154 pkg/expenses.go:490 pkg/invoices.go:157
|
||||
#: pkg/quote.go:154 pkg/expenses.go:488 pkg/invoices.go:157
|
||||
msgid "All status"
|
||||
msgstr "Todos los estados"
|
||||
|
||||
|
@ -1239,12 +1253,12 @@ msgctxt "input"
|
|||
msgid "Quotation Number"
|
||||
msgstr "Número de presupuesto"
|
||||
|
||||
#: pkg/quote.go:164 pkg/expenses.go:475 pkg/invoices.go:167
|
||||
#: pkg/quote.go:164 pkg/expenses.go:473 pkg/invoices.go:167
|
||||
msgctxt "input"
|
||||
msgid "From Date"
|
||||
msgstr "A partir de la fecha"
|
||||
|
||||
#: pkg/quote.go:169 pkg/expenses.go:480 pkg/invoices.go:172
|
||||
#: pkg/quote.go:169 pkg/expenses.go:478 pkg/invoices.go:172
|
||||
msgctxt "input"
|
||||
msgid "To Date"
|
||||
msgstr "Hasta la fecha"
|
||||
|
@ -1257,104 +1271,100 @@ msgstr "Los presupuestos deben tener todas las etiquetas."
|
|||
msgid "Quotations must have at least one of the specified labels."
|
||||
msgstr "Los presupuestos deben tener como mínimo una de las etiquetas."
|
||||
|
||||
#: pkg/quote.go:618
|
||||
#: pkg/quote.go:616
|
||||
msgid "quotations.zip"
|
||||
msgstr "presupuestos.zip"
|
||||
|
||||
#: pkg/quote.go:632
|
||||
#: pkg/quote.go:630
|
||||
msgid "quotations.ods"
|
||||
msgstr "presupuestos.ods"
|
||||
|
||||
#: pkg/quote.go:634 pkg/quote.go:1176 pkg/quote.go:1184 pkg/expenses.go:645
|
||||
#: pkg/expenses.go:675 pkg/invoices.go:683 pkg/invoices.go:1413
|
||||
#: pkg/invoices.go:1421
|
||||
#: pkg/quote.go:632 pkg/quote.go:1172 pkg/quote.go:1180 pkg/expenses.go:641
|
||||
#: pkg/expenses.go:671 pkg/invoices.go:681 pkg/invoices.go:1409
|
||||
#: pkg/invoices.go:1417
|
||||
msgid "Invalid action"
|
||||
msgstr "Acción inválida."
|
||||
|
||||
#: pkg/quote.go:687
|
||||
#: pkg/quote.go:685
|
||||
msgid "Select a customer to quote."
|
||||
msgstr "Escoged un cliente a presupuestar."
|
||||
|
||||
#: pkg/quote.go:692
|
||||
#: pkg/quote.go:690
|
||||
msgctxt "input"
|
||||
msgid "Quotation Date"
|
||||
msgstr "Fecha del presupuesto"
|
||||
|
||||
#: pkg/quote.go:698
|
||||
#: pkg/quote.go:696
|
||||
msgctxt "input"
|
||||
msgid "Terms and conditions"
|
||||
msgstr "Condiciones de aceptación"
|
||||
|
||||
#: pkg/quote.go:703 pkg/invoices.go:863
|
||||
#: pkg/quote.go:701 pkg/invoices.go:861
|
||||
msgctxt "input"
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#: pkg/quote.go:712 pkg/invoices.go:873
|
||||
#: pkg/quote.go:710 pkg/invoices.go:871
|
||||
msgctxt "input"
|
||||
msgid "Payment Method"
|
||||
msgstr "Método de pago"
|
||||
|
||||
#: pkg/quote.go:713
|
||||
#: pkg/quote.go:711
|
||||
msgid "Select a payment method."
|
||||
msgstr "Escoged un método e pago."
|
||||
|
||||
#: pkg/quote.go:749
|
||||
#: pkg/quote.go:747
|
||||
msgid "Selected quotation status is not valid."
|
||||
msgstr "Habéis escogido un estado de presupuesto que no es válido."
|
||||
|
||||
#: pkg/quote.go:751 pkg/invoices.go:926
|
||||
#: pkg/quote.go:749 pkg/invoices.go:924
|
||||
msgid "Selected customer is not valid."
|
||||
msgstr "Habéis escogido un cliente que no es válido."
|
||||
|
||||
#: pkg/quote.go:753
|
||||
#: pkg/quote.go:751
|
||||
msgid "Quotation date can not be empty."
|
||||
msgstr "No podéis dejar la fecha del presupuesto en blanco."
|
||||
|
||||
#: pkg/quote.go:754
|
||||
#: pkg/quote.go:752
|
||||
msgid "Quotation date must be a valid date."
|
||||
msgstr "La fecha de presupuesto debe ser válida."
|
||||
|
||||
#: pkg/quote.go:757 pkg/invoices.go:930
|
||||
msgid "Selected payment method is not valid."
|
||||
msgstr "Habéis escogido un método de pago que no es válido."
|
||||
|
||||
#: pkg/quote.go:891 pkg/quote.go:896 pkg/invoices.go:1122 pkg/invoices.go:1127
|
||||
#: pkg/quote.go:889 pkg/quote.go:894 pkg/invoices.go:1120 pkg/invoices.go:1125
|
||||
msgctxt "input"
|
||||
msgid "Id"
|
||||
msgstr "Identificador"
|
||||
|
||||
#: pkg/quote.go:929 pkg/invoices.go:1160
|
||||
#: pkg/quote.go:927 pkg/invoices.go:1158
|
||||
msgctxt "input"
|
||||
msgid "Quantity"
|
||||
msgstr "Cantidad"
|
||||
|
||||
#: pkg/quote.go:938 pkg/invoices.go:1169
|
||||
#: pkg/quote.go:936 pkg/invoices.go:1167
|
||||
msgctxt "input"
|
||||
msgid "Discount (%)"
|
||||
msgstr "Descuento (%)"
|
||||
|
||||
#: pkg/quote.go:992
|
||||
#: pkg/quote.go:990
|
||||
msgid "Quotation product ID must be a number greater than zero."
|
||||
msgstr "El ID de producto de presupuesto tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/quote.go:995 pkg/invoices.go:1226
|
||||
#: pkg/quote.go:993 pkg/invoices.go:1224
|
||||
msgid "Product ID must be a positive number or zero."
|
||||
msgstr "El ID de producto tiene que ser un número positivo o cero."
|
||||
|
||||
#: pkg/quote.go:1001 pkg/invoices.go:1232
|
||||
#: pkg/quote.go:999 pkg/invoices.go:1230
|
||||
msgid "Quantity can not be empty."
|
||||
msgstr "No podéis dejar la cantidad en blanco."
|
||||
|
||||
#: pkg/quote.go:1002 pkg/invoices.go:1233
|
||||
#: pkg/quote.go:1000 pkg/invoices.go:1231
|
||||
msgid "Quantity must be a number greater than zero."
|
||||
msgstr "La cantidad tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/quote.go:1004 pkg/invoices.go:1235
|
||||
#: pkg/quote.go:1002 pkg/invoices.go:1233
|
||||
msgid "Discount can not be empty."
|
||||
msgstr "No podéis dejar el descuento en blanco."
|
||||
|
||||
#: pkg/quote.go:1005 pkg/invoices.go:1236
|
||||
#: pkg/quote.go:1003 pkg/invoices.go:1234
|
||||
msgid "Discount must be a percentage between 0 and 100."
|
||||
msgstr "El descuento tiene que ser un porcentaje entre 0 y 100."
|
||||
|
||||
|
@ -1426,7 +1436,7 @@ msgctxt "input"
|
|||
msgid "Amount"
|
||||
msgstr "Importe"
|
||||
|
||||
#: pkg/payments.go:415 pkg/expenses.go:330 pkg/invoices.go:879
|
||||
#: pkg/payments.go:415 pkg/expenses.go:330 pkg/invoices.go:877
|
||||
msgctxt "input"
|
||||
msgid "File"
|
||||
msgstr "Archivo"
|
||||
|
@ -1463,7 +1473,7 @@ msgstr "No podéis dejar el importe en blanco."
|
|||
msgid "Amount must be a number greater than zero."
|
||||
msgstr "El importe tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/accounts.go:146 pkg/contacts.go:352
|
||||
#: pkg/accounts.go:146 pkg/contacts.go:350
|
||||
msgctxt "input"
|
||||
msgid "IBAN"
|
||||
msgstr "IBAN"
|
||||
|
@ -1553,7 +1563,7 @@ msgstr "Año anterior"
|
|||
msgid "Select a contact."
|
||||
msgstr "Escoged un contacto"
|
||||
|
||||
#: pkg/expenses.go:293 pkg/expenses.go:464
|
||||
#: pkg/expenses.go:293 pkg/expenses.go:462
|
||||
msgctxt "input"
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
@ -1563,7 +1573,7 @@ msgctxt "input"
|
|||
msgid "Invoice number"
|
||||
msgstr "Número de factura"
|
||||
|
||||
#: pkg/expenses.go:304 pkg/invoices.go:857
|
||||
#: pkg/expenses.go:304 pkg/invoices.go:855
|
||||
msgctxt "input"
|
||||
msgid "Invoice Date"
|
||||
msgstr "Fecha de factura"
|
||||
|
@ -1572,25 +1582,25 @@ msgstr "Fecha de factura"
|
|||
msgid "Selected contact is not valid."
|
||||
msgstr "Habéis escogido un contacto que no es válido."
|
||||
|
||||
#: pkg/expenses.go:369 pkg/invoices.go:928
|
||||
#: pkg/expenses.go:369 pkg/invoices.go:926
|
||||
msgid "Invoice date must be a valid date."
|
||||
msgstr "La fecha de factura debe ser válida."
|
||||
|
||||
#: pkg/expenses.go:465
|
||||
#: pkg/expenses.go:463
|
||||
msgid "All contacts"
|
||||
msgstr "Todos los contactos"
|
||||
|
||||
#: pkg/expenses.go:470 pkg/invoices.go:162
|
||||
#: pkg/expenses.go:468 pkg/invoices.go:162
|
||||
msgctxt "input"
|
||||
msgid "Invoice Number"
|
||||
msgstr "Número de factura"
|
||||
|
||||
#: pkg/expenses.go:489
|
||||
#: pkg/expenses.go:487
|
||||
msgctxt "input"
|
||||
msgid "Expense Status"
|
||||
msgstr "Estado del gasto"
|
||||
|
||||
#: pkg/expenses.go:673
|
||||
#: pkg/expenses.go:669
|
||||
msgid "expenses.ods"
|
||||
msgstr "gastos.ods"
|
||||
|
||||
|
@ -1603,55 +1613,55 @@ msgstr "Estado de la factura"
|
|||
msgid "Select a customer to bill."
|
||||
msgstr "Escoged un cliente a facturar."
|
||||
|
||||
#: pkg/invoices.go:663
|
||||
#: pkg/invoices.go:661
|
||||
msgid "invoices.zip"
|
||||
msgstr "facturas.zip"
|
||||
|
||||
#: pkg/invoices.go:681
|
||||
#: pkg/invoices.go:679
|
||||
msgid "invoices.ods"
|
||||
msgstr "facturas.ods"
|
||||
|
||||
#: pkg/invoices.go:927
|
||||
#: pkg/invoices.go:925
|
||||
msgid "Invoice date can not be empty."
|
||||
msgstr "No podéis dejar la fecha de la factura en blanco."
|
||||
|
||||
#: pkg/invoices.go:1059
|
||||
#: pkg/invoices.go:1057
|
||||
#, c-format
|
||||
msgid "Re: quotation #%s of %s"
|
||||
msgstr "Ref: presupuesto n.º %s del %s"
|
||||
|
||||
#: pkg/invoices.go:1060
|
||||
#: pkg/invoices.go:1058
|
||||
msgctxt "to_char"
|
||||
msgid "MM/DD/YYYY"
|
||||
msgstr "DD/MM/YYYY"
|
||||
|
||||
#: pkg/invoices.go:1223
|
||||
#: pkg/invoices.go:1221
|
||||
msgid "Invoice product ID must be a number greater than zero."
|
||||
msgstr "El ID de producto de factura tiene que ser un número mayor a cero."
|
||||
|
||||
#: pkg/contacts.go:292
|
||||
#: pkg/contacts.go:290
|
||||
msgctxt "input"
|
||||
msgid "Need to input tax details"
|
||||
msgstr "Necesito facturar este contacto"
|
||||
|
||||
#: pkg/contacts.go:357
|
||||
#: pkg/contacts.go:355
|
||||
msgctxt "bic"
|
||||
msgid "BIC"
|
||||
msgstr "BIC"
|
||||
|
||||
#: pkg/contacts.go:413
|
||||
#: pkg/contacts.go:411
|
||||
msgid "Name must have at least two letters."
|
||||
msgstr "El nombre debe contener como mínimo dos letras."
|
||||
|
||||
#: pkg/contacts.go:426
|
||||
#: pkg/contacts.go:424
|
||||
msgid "This values is not a valid IBAN."
|
||||
msgstr "Este valor no es un IBAN válido."
|
||||
|
||||
#: pkg/contacts.go:429
|
||||
#: pkg/contacts.go:427
|
||||
msgid "This values is not a valid BIC."
|
||||
msgstr "Este valor no es un BIC válido."
|
||||
|
||||
#: pkg/contacts.go:518
|
||||
#: pkg/contacts.go:516
|
||||
msgctxt "input"
|
||||
msgid "Holded Excel file"
|
||||
msgstr "Archivo Excel de Holded"
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{( pgettext "Default" "title" )}}</th>
|
||||
<th>{{( pgettext "Payment Method" "title" )}}</th>
|
||||
<th>{{( pgettext "Instructions" "title" )}}</th>
|
||||
<th></th>
|
||||
|
@ -30,6 +31,16 @@
|
|||
{{ with .PaymentMethods }}
|
||||
{{- range $method := . }}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="description-text"></span>
|
||||
<input type="radio"
|
||||
form="default_payment_form"
|
||||
aria-label="{{ pgettext "Set as default" "action" }}"
|
||||
name="default_payment_id"
|
||||
value="{{ .Id }}"
|
||||
{{ if .IsDefault }} checked{{ end}}
|
||||
>
|
||||
</td>
|
||||
<td>{{ .Name }}</td>
|
||||
<td>{{ .Instructions }}</td>
|
||||
<td>
|
||||
|
@ -45,10 +56,31 @@
|
|||
{{- end }}
|
||||
{{ else }}
|
||||
<tr>
|
||||
<td colspan="3">{{( gettext "No payment methods added yet." )}}</td>
|
||||
<td colspan="4">{{( gettext "No payment methods added yet." )}}</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
{{ if gt (len .PaymentMethods) 1 -}}
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td>
|
||||
<form id="default_payment_form"
|
||||
method="POST"
|
||||
action="{{ companyURI "/payment-methods" }}/default"
|
||||
data-hx-boost="true"
|
||||
>
|
||||
{{ csrfToken }}
|
||||
{{ putMethod }}
|
||||
{{ if .UpdateDefaultError -}}
|
||||
<p>{{ .UpdateDefaultError}}</p>
|
||||
{{- end }}
|
||||
<button>{{( pgettext "Set" "action")}}</button>
|
||||
</form>
|
||||
</td>
|
||||
<td colspan="3"></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
{{- end }}
|
||||
</table>
|
||||
|
||||
<form method="POST" action="{{ companyURI "/payment-methods" }}" data-hx-boost="true">
|
||||
|
|
Loading…
Reference in New Issue