Add the actions menu to products and contacts

This commit is contained in:
jordi fita mas 2023-05-11 23:32:21 +02:00
parent 970340277d
commit df37583cc6
4 changed files with 214 additions and 164 deletions

171
po/ca.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: numerus\n" "Project-Id-Version: numerus\n"
"Report-Msgid-Bugs-To: jordi@tandem.blog\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n"
"POT-Creation-Date: 2023-05-06 11:03+0200\n" "POT-Creation-Date: 2023-05-11 23:31+0200\n"
"PO-Revision-Date: 2023-01-18 17:08+0100\n" "PO-Revision-Date: 2023-01-18 17:08+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"
@ -67,7 +67,7 @@ msgid "Price"
msgstr "Preu" msgstr "Preu"
#: web/template/invoices/products.gohtml:64 #: web/template/invoices/products.gohtml:64
#: web/template/products/index.gohtml:61 #: web/template/products/index.gohtml:81
msgid "No products added yet." msgid "No products added yet."
msgstr "No hi ha cap producte." msgstr "No hi ha cap producte."
@ -104,7 +104,8 @@ msgctxt "action"
msgid "Download invoices" msgid "Download invoices"
msgstr "Descarrega factures" msgstr "Descarrega factures"
#: web/template/invoices/index.gohtml:40 web/template/products/index.gohtml:32 #: web/template/invoices/index.gohtml:40 web/template/contacts/index.gohtml:32
#: web/template/expenses/index.gohtml:34 web/template/products/index.gohtml:32
msgctxt "action" msgctxt "action"
msgid "Filter" msgid "Filter"
msgstr "Filtra" msgstr "Filtra"
@ -124,7 +125,7 @@ msgctxt "title"
msgid "Invoice Num." msgid "Invoice Num."
msgstr "Núm. factura" msgstr "Núm. factura"
#: web/template/invoices/index.gohtml:49 web/template/contacts/index.gohtml:25 #: web/template/invoices/index.gohtml:49 web/template/contacts/index.gohtml:39
msgctxt "title" msgctxt "title"
msgid "Customer" msgid "Customer"
msgstr "Client" msgstr "Client"
@ -134,13 +135,13 @@ msgctxt "title"
msgid "Status" msgid "Status"
msgstr "Estat" msgstr "Estat"
#: web/template/invoices/index.gohtml:51 web/template/contacts/index.gohtml:28 #: web/template/invoices/index.gohtml:51 web/template/contacts/index.gohtml:42
#: web/template/expenses/index.gohtml:29 web/template/products/index.gohtml:40 #: web/template/expenses/index.gohtml:44 web/template/products/index.gohtml:40
msgctxt "title" msgctxt "title"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: web/template/invoices/index.gohtml:52 web/template/expenses/index.gohtml:30 #: web/template/invoices/index.gohtml:52 web/template/expenses/index.gohtml:45
msgctxt "title" msgctxt "title"
msgid "Amount" msgid "Amount"
msgstr "Import" msgstr "Import"
@ -150,7 +151,8 @@ msgctxt "title"
msgid "Download" msgid "Download"
msgstr "Descàrrega" msgstr "Descàrrega"
#: web/template/invoices/index.gohtml:54 web/template/expenses/index.gohtml:31 #: web/template/invoices/index.gohtml:54 web/template/contacts/index.gohtml:43
#: web/template/expenses/index.gohtml:46 web/template/products/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Actions" msgid "Actions"
msgstr "Accions" msgstr "Accions"
@ -161,7 +163,8 @@ msgid "Select invoice %v"
msgstr "Selecciona factura %v" msgstr "Selecciona factura %v"
#: web/template/invoices/index.gohtml:116 web/template/invoices/view.gohtml:19 #: web/template/invoices/index.gohtml:116 web/template/invoices/view.gohtml:19
#: web/template/expenses/index.gohtml:58 #: web/template/contacts/index.gohtml:69 web/template/expenses/index.gohtml:77
#: web/template/products/index.gohtml:71
msgctxt "action" msgctxt "action"
msgid "Edit" msgid "Edit"
msgstr "Edita" msgstr "Edita"
@ -277,22 +280,22 @@ msgctxt "action"
msgid "New contact" msgid "New contact"
msgstr "Nou contacte" msgstr "Nou contacte"
#: web/template/contacts/index.gohtml:24 #: web/template/contacts/index.gohtml:38
msgctxt "contact" msgctxt "contact"
msgid "All" msgid "All"
msgstr "Tots" msgstr "Tots"
#: web/template/contacts/index.gohtml:26 #: web/template/contacts/index.gohtml:40
msgctxt "title" msgctxt "title"
msgid "Email" msgid "Email"
msgstr "Correu-e" msgstr "Correu-e"
#: web/template/contacts/index.gohtml:27 #: web/template/contacts/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Phone" msgid "Phone"
msgstr "Telèfon" msgstr "Telèfon"
#: web/template/contacts/index.gohtml:49 #: web/template/contacts/index.gohtml:79
msgid "No contacts added yet." msgid "No contacts added yet."
msgstr "No hi ha cap contacte." msgstr "No hi ha cap contacte."
@ -359,27 +362,27 @@ msgctxt "action"
msgid "New expense" msgid "New expense"
msgstr "Nova despesa" msgstr "Nova despesa"
#: web/template/expenses/index.gohtml:25 #: web/template/expenses/index.gohtml:40
msgctxt "expense" msgctxt "expense"
msgid "All" msgid "All"
msgstr "Totes" msgstr "Totes"
#: web/template/expenses/index.gohtml:26 #: web/template/expenses/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Contact" msgid "Contact"
msgstr "Contacte" msgstr "Contacte"
#: web/template/expenses/index.gohtml:27 #: web/template/expenses/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Data de factura" msgstr "Data de factura"
#: web/template/expenses/index.gohtml:28 #: web/template/expenses/index.gohtml:43
msgctxt "title" msgctxt "title"
msgid "Invoice Number" msgid "Invoice Number"
msgstr "Número de factura" msgstr "Número de factura"
#: web/template/expenses/index.gohtml:68 #: web/template/expenses/index.gohtml:87
msgid "No expenses added yet." msgid "No expenses added yet."
msgstr "No hi ha cap despesa." msgstr "No hi ha cap despesa."
@ -492,7 +495,7 @@ msgctxt "action"
msgid "Update product" msgid "Update product"
msgstr "Actualitza producte" msgstr "Actualitza producte"
#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:199 #: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:268
msgctxt "input" msgctxt "input"
msgid "Email" msgid "Email"
msgstr "Correu-e" msgstr "Correu-e"
@ -502,11 +505,11 @@ msgctxt "input"
msgid "Password" msgid "Password"
msgstr "Contrasenya" msgstr "Contrasenya"
#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:296 #: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:365
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/login.go:70 pkg/profile.go:90 pkg/contacts.go:297 #: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:366
msgid "This value is not a valid email. It should be like name@domain.com." 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." msgstr "Aquest valor no és un correu-e vàlid. Hauria de ser similar a nom@domini.cat."
@ -519,37 +522,43 @@ msgid "Invalid user or password."
msgstr "Nom dusuari o contrasenya incorrectes." msgstr "Nom dusuari o contrasenya incorrectes."
#: pkg/products.go:164 pkg/products.go:263 pkg/invoices.go:776 #: pkg/products.go:164 pkg/products.go:263 pkg/invoices.go:776
#: pkg/contacts.go:135
msgctxt "input" msgctxt "input"
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: pkg/products.go:169 pkg/products.go:290 pkg/expenses.go:158 #: pkg/products.go:169 pkg/products.go:290 pkg/expenses.go:193
#: pkg/invoices.go:187 pkg/invoices.go:597 pkg/invoices.go:1042 #: pkg/expenses.go:343 pkg/invoices.go:187 pkg/invoices.go:597
#: pkg/contacts.go:256 #: pkg/invoices.go:1044 pkg/contacts.go:140 pkg/contacts.go:325
msgctxt "input" msgctxt "input"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: pkg/products.go:173 pkg/invoices.go:191 #: pkg/products.go:173 pkg/expenses.go:347 pkg/invoices.go:191
#: pkg/contacts.go:144
msgctxt "input" msgctxt "input"
msgid "Tags Condition" msgid "Tags Condition"
msgstr "Condició de les etiquetes" msgstr "Condició de les etiquetes"
#: pkg/products.go:177 pkg/invoices.go:195 #: pkg/products.go:177 pkg/expenses.go:351 pkg/invoices.go:195
#: pkg/contacts.go:148
msgctxt "tag condition" msgctxt "tag condition"
msgid "All" msgid "All"
msgstr "Totes" msgstr "Totes"
#: pkg/products.go:178 pkg/invoices.go:196 #: pkg/products.go:178 pkg/expenses.go:352 pkg/invoices.go:196
#: pkg/contacts.go:149
msgid "Invoices must have all the specified labels." msgid "Invoices must have all the specified labels."
msgstr "Les factures han de tenir totes les etiquetes." msgstr "Les factures han de tenir totes les etiquetes."
#: pkg/products.go:182 pkg/invoices.go:200 #: pkg/products.go:182 pkg/expenses.go:356 pkg/invoices.go:200
#: pkg/contacts.go:153
msgctxt "tag condition" msgctxt "tag condition"
msgid "Any" msgid "Any"
msgstr "Qualsevol" msgstr "Qualsevol"
#: pkg/products.go:183 pkg/invoices.go:201 #: pkg/products.go:183 pkg/expenses.go:357 pkg/invoices.go:201
#: pkg/contacts.go:154
msgid "Invoices must have at least one of the specified labels." 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." msgstr "Les factures han de tenir com a mínim una de les etiquetes."
@ -563,7 +572,7 @@ msgctxt "input"
msgid "Price" msgid "Price"
msgstr "Preu" msgstr "Preu"
#: pkg/products.go:284 pkg/expenses.go:142 pkg/invoices.go:823 #: pkg/products.go:284 pkg/expenses.go:177 pkg/invoices.go:823
msgctxt "input" msgctxt "input"
msgid "Taxes" msgid "Taxes"
msgstr "Imposts" msgstr "Imposts"
@ -580,12 +589,12 @@ msgstr "No podeu deixar el preu en blanc."
msgid "Price must be a number greater than zero." msgid "Price must be a number greater than zero."
msgstr "El preu ha de ser un número major a zero." msgstr "El preu ha de ser un número major a zero."
#: pkg/products.go:313 pkg/expenses.go:180 pkg/expenses.go:185 #: pkg/products.go:313 pkg/expenses.go:215 pkg/expenses.go:220
#: pkg/invoices.go:877 #: pkg/invoices.go:877
msgid "Selected tax is not valid." msgid "Selected tax is not valid."
msgstr "Heu seleccionat un impost que no és vàlid." msgstr "Heu seleccionat un impost que no és vàlid."
#: pkg/products.go:314 pkg/expenses.go:181 pkg/expenses.go:186 #: pkg/products.go:314 pkg/expenses.go:216 pkg/expenses.go:221
#: pkg/invoices.go:878 #: pkg/invoices.go:878
msgid "You can only select a tax of each class." msgid "You can only select a tax of each class."
msgstr "Només podeu seleccionar un impost de cada classe." msgstr "Només podeu seleccionar un impost de cada classe."
@ -694,55 +703,70 @@ msgstr "La confirmació no és igual a la contrasenya."
msgid "Selected language is not valid." msgid "Selected language is not valid."
msgstr "Heu seleccionat un idioma que no és vàlid." msgstr "Heu seleccionat un idioma que no és vàlid."
#: pkg/expenses.go:91 #: pkg/expenses.go:126
msgid "Select a contact." msgid "Select a contact."
msgstr "Escolliu un contacte." msgstr "Escolliu un contacte."
#: pkg/expenses.go:125 #: pkg/expenses.go:160
msgctxt "input" msgctxt "input"
msgid "Contact" msgid "Contact"
msgstr "Contacte" msgstr "Contacte"
#: pkg/expenses.go:131 #: pkg/expenses.go:166
msgctxt "input" msgctxt "input"
msgid "Invoice number" msgid "Invoice number"
msgstr "Número de factura" msgstr "Número de factura"
#: pkg/expenses.go:136 pkg/invoices.go:586 #: pkg/expenses.go:171 pkg/invoices.go:586
msgctxt "input" msgctxt "input"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Data de factura" msgstr "Data de factura"
#: pkg/expenses.go:148 #: pkg/expenses.go:183
msgctxt "input" msgctxt "input"
msgid "Amount" msgid "Amount"
msgstr "Import" msgstr "Import"
#: pkg/expenses.go:178 #: pkg/expenses.go:213
msgid "Selected contact is not valid." msgid "Selected contact is not valid."
msgstr "Heu seleccionat un contacte que no és vàlid." msgstr "Heu seleccionat un contacte que no és vàlid."
#: pkg/expenses.go:179 pkg/invoices.go:641 #: pkg/expenses.go:214 pkg/invoices.go:641
msgid "Invoice date must be a valid date." msgid "Invoice date must be a valid date."
msgstr "La data de facturació ha de ser vàlida." msgstr "La data de facturació ha de ser vàlida."
#: pkg/expenses.go:182 #: pkg/expenses.go:217
msgid "Amount can not be empty." msgid "Amount can not be empty."
msgstr "No podeu deixar limport en blanc." msgstr "No podeu deixar limport en blanc."
#: pkg/expenses.go:183 #: pkg/expenses.go:218
msgid "Amount must be a number greater than zero." msgid "Amount must be a number greater than zero."
msgstr "Limport ha de ser un número major a zero." msgstr "Limport ha de ser un número major a zero."
#: pkg/invoices.go:160 pkg/invoices.go:580 #: pkg/expenses.go:322 pkg/invoices.go:160 pkg/invoices.go:580
msgctxt "input" msgctxt "input"
msgid "Customer" msgid "Customer"
msgstr "Client" msgstr "Client"
#: pkg/invoices.go:161 #: pkg/expenses.go:323 pkg/invoices.go:161
msgid "All customers" msgid "All customers"
msgstr "Tots els clients" msgstr "Tots els clients"
#: pkg/expenses.go:328 pkg/invoices.go:172
msgctxt "input"
msgid "Invoice Number"
msgstr "Número de factura"
#: pkg/expenses.go:333 pkg/invoices.go:177
msgctxt "input"
msgid "From Date"
msgstr "A partir de la data"
#: pkg/expenses.go:338 pkg/invoices.go:182
msgctxt "input"
msgid "To Date"
msgstr "Fins la data"
#: pkg/invoices.go:166 pkg/invoices.go:574 #: pkg/invoices.go:166 pkg/invoices.go:574
msgctxt "input" msgctxt "input"
msgid "Invoice Status" msgid "Invoice Status"
@ -752,21 +776,6 @@ msgstr "Estat de la factura"
msgid "All status" msgid "All status"
msgstr "Tots els estats" msgstr "Tots els estats"
#: pkg/invoices.go:172
msgctxt "input"
msgid "Invoice Number"
msgstr "Número de factura"
#: pkg/invoices.go:177
msgctxt "input"
msgid "From Date"
msgstr "A partir de la data"
#: pkg/invoices.go:182
msgctxt "input"
msgid "To Date"
msgstr "Fins la data"
#: pkg/invoices.go:423 #: pkg/invoices.go:423
msgid "Select a customer to bill." msgid "Select a customer to bill."
msgstr "Escolliu un client a facturar." msgstr "Escolliu un client a facturar."
@ -840,105 +849,105 @@ msgstr "No podeu deixar el descompte en blanc."
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/contacts.go:169 #: pkg/contacts.go:238
msgctxt "input" msgctxt "input"
msgid "Business name" msgid "Business name"
msgstr "Nom i cognoms" msgstr "Nom i cognoms"
#: pkg/contacts.go:179 #: pkg/contacts.go:248
msgctxt "input" msgctxt "input"
msgid "VAT number" msgid "VAT number"
msgstr "DNI / NIF" msgstr "DNI / NIF"
#: pkg/contacts.go:185 #: pkg/contacts.go:254
msgctxt "input" msgctxt "input"
msgid "Trade name" msgid "Trade name"
msgstr "Nom comercial" msgstr "Nom comercial"
#: pkg/contacts.go:190 #: pkg/contacts.go:259
msgctxt "input" msgctxt "input"
msgid "Phone" msgid "Phone"
msgstr "Telèfon" msgstr "Telèfon"
#: pkg/contacts.go:208 #: pkg/contacts.go:277
msgctxt "input" msgctxt "input"
msgid "Web" msgid "Web"
msgstr "Web" msgstr "Web"
#: pkg/contacts.go:216 #: pkg/contacts.go:285
msgctxt "input" msgctxt "input"
msgid "Address" msgid "Address"
msgstr "Adreça" msgstr "Adreça"
#: pkg/contacts.go:225 #: pkg/contacts.go:294
msgctxt "input" msgctxt "input"
msgid "City" msgid "City"
msgstr "Població" msgstr "Població"
#: pkg/contacts.go:231 #: pkg/contacts.go:300
msgctxt "input" msgctxt "input"
msgid "Province" msgid "Province"
msgstr "Província" msgstr "Província"
#: pkg/contacts.go:237 #: pkg/contacts.go:306
msgctxt "input" msgctxt "input"
msgid "Postal code" msgid "Postal code"
msgstr "Codi postal" msgstr "Codi postal"
#: pkg/contacts.go:246 #: pkg/contacts.go:315
msgctxt "input" msgctxt "input"
msgid "Country" msgid "Country"
msgstr "País" msgstr "País"
#: pkg/contacts.go:284 #: pkg/contacts.go:353
msgid "Selected country is not valid." msgid "Selected country is not valid."
msgstr "Heu seleccionat un país que no és vàlid." msgstr "Heu seleccionat un país que no és vàlid."
#: pkg/contacts.go:288 #: pkg/contacts.go:357
msgid "Business name can not be empty." msgid "Business 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/contacts.go:289 #: pkg/contacts.go:358
msgid "Business name must have at least two letters." msgid "Business name must have at least two letters."
msgstr "Nom i cognoms han de tenir com a mínim dues lletres." msgstr "Nom i cognoms han de tenir com a mínim dues lletres."
#: pkg/contacts.go:290 #: pkg/contacts.go:359
msgid "VAT number can not be empty." msgid "VAT number can not be empty."
msgstr "No podeu deixar el DNI o NIF en blanc." msgstr "No podeu deixar el DNI o NIF en blanc."
#: pkg/contacts.go:291 #: pkg/contacts.go:360
msgid "This value is not a valid VAT number." msgid "This value is not a valid VAT number."
msgstr "Aquest valor no és un DNI o NIF vàlid." msgstr "Aquest valor no és un DNI o NIF vàlid."
#: pkg/contacts.go:293 #: pkg/contacts.go:362
msgid "Phone can not be empty." msgid "Phone can not be empty."
msgstr "No podeu deixar el telèfon en blanc." msgstr "No podeu deixar el telèfon en blanc."
#: pkg/contacts.go:294 #: pkg/contacts.go:363
msgid "This value is not a valid phone number." msgid "This value is not a valid phone number."
msgstr "Aquest valor no és un telèfon vàlid." msgstr "Aquest valor no és un telèfon vàlid."
#: pkg/contacts.go:300 #: pkg/contacts.go:369
msgid "This value is not a valid web address. It should be like https://domain.com/." 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/." msgstr "Aquest valor no és una adreça web vàlida. Hauria de ser similar a https://domini.cat/."
#: pkg/contacts.go:302 #: pkg/contacts.go:371
msgid "Address can not be empty." msgid "Address can not be empty."
msgstr "No podeu deixar ladreça en blanc." msgstr "No podeu deixar ladreça en blanc."
#: pkg/contacts.go:303 #: pkg/contacts.go:372
msgid "City can not be empty." msgid "City can not be empty."
msgstr "No podeu deixar la població en blanc." msgstr "No podeu deixar la població en blanc."
#: pkg/contacts.go:304 #: pkg/contacts.go:373
msgid "Province can not be empty." msgid "Province can not be empty."
msgstr "No podeu deixar la província en blanc." msgstr "No podeu deixar la província en blanc."
#: pkg/contacts.go:305 #: pkg/contacts.go:374
msgid "Postal code can not be empty." msgid "Postal code can not be empty."
msgstr "No podeu deixar el codi postal en blanc." msgstr "No podeu deixar el codi postal en blanc."
#: pkg/contacts.go:306 #: pkg/contacts.go:375
msgid "This value is not a valid postal code." msgid "This value is not a valid postal code."
msgstr "Aquest valor no és un codi postal vàlid." msgstr "Aquest valor no és un codi postal vàlid."

171
po/es.po
View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: numerus\n" "Project-Id-Version: numerus\n"
"Report-Msgid-Bugs-To: jordi@tandem.blog\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n"
"POT-Creation-Date: 2023-05-06 11:03+0200\n" "POT-Creation-Date: 2023-05-11 23:31+0200\n"
"PO-Revision-Date: 2023-01-18 17:45+0100\n" "PO-Revision-Date: 2023-01-18 17:45+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"
@ -67,7 +67,7 @@ msgid "Price"
msgstr "Precio" msgstr "Precio"
#: web/template/invoices/products.gohtml:64 #: web/template/invoices/products.gohtml:64
#: web/template/products/index.gohtml:61 #: web/template/products/index.gohtml:81
msgid "No products added yet." msgid "No products added yet."
msgstr "No hay productos." msgstr "No hay productos."
@ -104,7 +104,8 @@ msgctxt "action"
msgid "Download invoices" msgid "Download invoices"
msgstr "Descargar facturas" msgstr "Descargar facturas"
#: web/template/invoices/index.gohtml:40 web/template/products/index.gohtml:32 #: web/template/invoices/index.gohtml:40 web/template/contacts/index.gohtml:32
#: web/template/expenses/index.gohtml:34 web/template/products/index.gohtml:32
msgctxt "action" msgctxt "action"
msgid "Filter" msgid "Filter"
msgstr "Filtrar" msgstr "Filtrar"
@ -124,7 +125,7 @@ msgctxt "title"
msgid "Invoice Num." msgid "Invoice Num."
msgstr "Nº factura" msgstr "Nº factura"
#: web/template/invoices/index.gohtml:49 web/template/contacts/index.gohtml:25 #: web/template/invoices/index.gohtml:49 web/template/contacts/index.gohtml:39
msgctxt "title" msgctxt "title"
msgid "Customer" msgid "Customer"
msgstr "Cliente" msgstr "Cliente"
@ -134,13 +135,13 @@ msgctxt "title"
msgid "Status" msgid "Status"
msgstr "Estado" msgstr "Estado"
#: web/template/invoices/index.gohtml:51 web/template/contacts/index.gohtml:28 #: web/template/invoices/index.gohtml:51 web/template/contacts/index.gohtml:42
#: web/template/expenses/index.gohtml:29 web/template/products/index.gohtml:40 #: web/template/expenses/index.gohtml:44 web/template/products/index.gohtml:40
msgctxt "title" msgctxt "title"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: web/template/invoices/index.gohtml:52 web/template/expenses/index.gohtml:30 #: web/template/invoices/index.gohtml:52 web/template/expenses/index.gohtml:45
msgctxt "title" msgctxt "title"
msgid "Amount" msgid "Amount"
msgstr "Importe" msgstr "Importe"
@ -150,7 +151,8 @@ msgctxt "title"
msgid "Download" msgid "Download"
msgstr "Descargar" msgstr "Descargar"
#: web/template/invoices/index.gohtml:54 web/template/expenses/index.gohtml:31 #: web/template/invoices/index.gohtml:54 web/template/contacts/index.gohtml:43
#: web/template/expenses/index.gohtml:46 web/template/products/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Actions" msgid "Actions"
msgstr "Acciones" msgstr "Acciones"
@ -161,7 +163,8 @@ msgid "Select invoice %v"
msgstr "Seleccionar factura %v" msgstr "Seleccionar factura %v"
#: web/template/invoices/index.gohtml:116 web/template/invoices/view.gohtml:19 #: web/template/invoices/index.gohtml:116 web/template/invoices/view.gohtml:19
#: web/template/expenses/index.gohtml:58 #: web/template/contacts/index.gohtml:69 web/template/expenses/index.gohtml:77
#: web/template/products/index.gohtml:71
msgctxt "action" msgctxt "action"
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
@ -277,22 +280,22 @@ msgctxt "action"
msgid "New contact" msgid "New contact"
msgstr "Nuevo contacto" msgstr "Nuevo contacto"
#: web/template/contacts/index.gohtml:24 #: web/template/contacts/index.gohtml:38
msgctxt "contact" msgctxt "contact"
msgid "All" msgid "All"
msgstr "Todos" msgstr "Todos"
#: web/template/contacts/index.gohtml:26 #: web/template/contacts/index.gohtml:40
msgctxt "title" msgctxt "title"
msgid "Email" msgid "Email"
msgstr "Correo-e" msgstr "Correo-e"
#: web/template/contacts/index.gohtml:27 #: web/template/contacts/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Phone" msgid "Phone"
msgstr "Teléfono" msgstr "Teléfono"
#: web/template/contacts/index.gohtml:49 #: web/template/contacts/index.gohtml:79
msgid "No contacts added yet." msgid "No contacts added yet."
msgstr "No hay contactos." msgstr "No hay contactos."
@ -359,27 +362,27 @@ msgctxt "action"
msgid "New expense" msgid "New expense"
msgstr "Nuevo gasto" msgstr "Nuevo gasto"
#: web/template/expenses/index.gohtml:25 #: web/template/expenses/index.gohtml:40
msgctxt "expense" msgctxt "expense"
msgid "All" msgid "All"
msgstr "Todos" msgstr "Todos"
#: web/template/expenses/index.gohtml:26 #: web/template/expenses/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Contact" msgid "Contact"
msgstr "Contacto" msgstr "Contacto"
#: web/template/expenses/index.gohtml:27 #: web/template/expenses/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Fecha de factura" msgstr "Fecha de factura"
#: web/template/expenses/index.gohtml:28 #: web/template/expenses/index.gohtml:43
msgctxt "title" msgctxt "title"
msgid "Invoice Number" msgid "Invoice Number"
msgstr "Número de factura" msgstr "Número de factura"
#: web/template/expenses/index.gohtml:68 #: web/template/expenses/index.gohtml:87
msgid "No expenses added yet." msgid "No expenses added yet."
msgstr "No hay gastos." msgstr "No hay gastos."
@ -492,7 +495,7 @@ msgctxt "action"
msgid "Update product" msgid "Update product"
msgstr "Actualizar producto" msgstr "Actualizar producto"
#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:199 #: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:268
msgctxt "input" msgctxt "input"
msgid "Email" msgid "Email"
msgstr "Correo-e" msgstr "Correo-e"
@ -502,11 +505,11 @@ msgctxt "input"
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:296 #: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:365
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/login.go:70 pkg/profile.go:90 pkg/contacts.go:297 #: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:366
msgid "This value is not a valid email. It should be like name@domain.com." 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." msgstr "Este valor no es un correo-e válido. Tiene que ser parecido a nombre@dominio.es."
@ -519,37 +522,43 @@ msgid "Invalid user or password."
msgstr "Nombre de usuario o contraseña inválido." msgstr "Nombre de usuario o contraseña inválido."
#: pkg/products.go:164 pkg/products.go:263 pkg/invoices.go:776 #: pkg/products.go:164 pkg/products.go:263 pkg/invoices.go:776
#: pkg/contacts.go:135
msgctxt "input" msgctxt "input"
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: pkg/products.go:169 pkg/products.go:290 pkg/expenses.go:158 #: pkg/products.go:169 pkg/products.go:290 pkg/expenses.go:193
#: pkg/invoices.go:187 pkg/invoices.go:597 pkg/invoices.go:1042 #: pkg/expenses.go:343 pkg/invoices.go:187 pkg/invoices.go:597
#: pkg/contacts.go:256 #: pkg/invoices.go:1044 pkg/contacts.go:140 pkg/contacts.go:325
msgctxt "input" msgctxt "input"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: pkg/products.go:173 pkg/invoices.go:191 #: pkg/products.go:173 pkg/expenses.go:347 pkg/invoices.go:191
#: pkg/contacts.go:144
msgctxt "input" msgctxt "input"
msgid "Tags Condition" msgid "Tags Condition"
msgstr "Condición de las etiquetas" msgstr "Condición de las etiquetas"
#: pkg/products.go:177 pkg/invoices.go:195 #: pkg/products.go:177 pkg/expenses.go:351 pkg/invoices.go:195
#: pkg/contacts.go:148
msgctxt "tag condition" msgctxt "tag condition"
msgid "All" msgid "All"
msgstr "Todas" msgstr "Todas"
#: pkg/products.go:178 pkg/invoices.go:196 #: pkg/products.go:178 pkg/expenses.go:352 pkg/invoices.go:196
#: pkg/contacts.go:149
msgid "Invoices must have all the specified labels." msgid "Invoices must have all the specified labels."
msgstr "Las facturas deben tener todas las etiquetas." msgstr "Las facturas deben tener todas las etiquetas."
#: pkg/products.go:182 pkg/invoices.go:200 #: pkg/products.go:182 pkg/expenses.go:356 pkg/invoices.go:200
#: pkg/contacts.go:153
msgctxt "tag condition" msgctxt "tag condition"
msgid "Any" msgid "Any"
msgstr "Cualquiera" msgstr "Cualquiera"
#: pkg/products.go:183 pkg/invoices.go:201 #: pkg/products.go:183 pkg/expenses.go:357 pkg/invoices.go:201
#: pkg/contacts.go:154
msgid "Invoices must have at least one of the specified labels." msgid "Invoices must have at least one of the specified labels."
msgstr "Las facturas debent tener como mínimo una de las etiquetas." msgstr "Las facturas debent tener como mínimo una de las etiquetas."
@ -563,7 +572,7 @@ msgctxt "input"
msgid "Price" msgid "Price"
msgstr "Precio" msgstr "Precio"
#: pkg/products.go:284 pkg/expenses.go:142 pkg/invoices.go:823 #: pkg/products.go:284 pkg/expenses.go:177 pkg/invoices.go:823
msgctxt "input" msgctxt "input"
msgid "Taxes" msgid "Taxes"
msgstr "Impuestos" msgstr "Impuestos"
@ -580,12 +589,12 @@ msgstr "No podéis dejar el precio en blanco."
msgid "Price must be a number greater than zero." msgid "Price must be a number greater than zero."
msgstr "El precio tiene que ser un número mayor a cero." msgstr "El precio tiene que ser un número mayor a cero."
#: pkg/products.go:313 pkg/expenses.go:180 pkg/expenses.go:185 #: pkg/products.go:313 pkg/expenses.go:215 pkg/expenses.go:220
#: pkg/invoices.go:877 #: pkg/invoices.go:877
msgid "Selected tax is not valid." msgid "Selected tax is not valid."
msgstr "Habéis escogido un impuesto que no es válido." msgstr "Habéis escogido un impuesto que no es válido."
#: pkg/products.go:314 pkg/expenses.go:181 pkg/expenses.go:186 #: pkg/products.go:314 pkg/expenses.go:216 pkg/expenses.go:221
#: pkg/invoices.go:878 #: pkg/invoices.go:878
msgid "You can only select a tax of each class." msgid "You can only select a tax of each class."
msgstr "Solo podéis escoger un impuesto de cada clase." msgstr "Solo podéis escoger un impuesto de cada clase."
@ -694,55 +703,70 @@ msgstr "La confirmación no corresponde con la contraseña."
msgid "Selected language is not valid." msgid "Selected language is not valid."
msgstr "Habéis escogido un idioma que no es válido." msgstr "Habéis escogido un idioma que no es válido."
#: pkg/expenses.go:91 #: pkg/expenses.go:126
msgid "Select a contact." msgid "Select a contact."
msgstr "Escoged un contacto" msgstr "Escoged un contacto"
#: pkg/expenses.go:125 #: pkg/expenses.go:160
msgctxt "input" msgctxt "input"
msgid "Contact" msgid "Contact"
msgstr "Contacto" msgstr "Contacto"
#: pkg/expenses.go:131 #: pkg/expenses.go:166
msgctxt "input" msgctxt "input"
msgid "Invoice number" msgid "Invoice number"
msgstr "Número de factura" msgstr "Número de factura"
#: pkg/expenses.go:136 pkg/invoices.go:586 #: pkg/expenses.go:171 pkg/invoices.go:586
msgctxt "input" msgctxt "input"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Fecha de factura" msgstr "Fecha de factura"
#: pkg/expenses.go:148 #: pkg/expenses.go:183
msgctxt "input" msgctxt "input"
msgid "Amount" msgid "Amount"
msgstr "Importe" msgstr "Importe"
#: pkg/expenses.go:178 #: pkg/expenses.go:213
msgid "Selected contact is not valid." msgid "Selected contact is not valid."
msgstr "Habéis escogido un contacto que no es válido." msgstr "Habéis escogido un contacto que no es válido."
#: pkg/expenses.go:179 pkg/invoices.go:641 #: pkg/expenses.go:214 pkg/invoices.go:641
msgid "Invoice date must be a valid date." msgid "Invoice date must be a valid date."
msgstr "La fecha de factura debe ser válida." msgstr "La fecha de factura debe ser válida."
#: pkg/expenses.go:182 #: pkg/expenses.go:217
msgid "Amount can not be empty." msgid "Amount can not be empty."
msgstr "No podéis dejar el importe en blanco." msgstr "No podéis dejar el importe en blanco."
#: pkg/expenses.go:183 #: pkg/expenses.go:218
msgid "Amount must be a number greater than zero." msgid "Amount must be a number greater than zero."
msgstr "El importe tiene que ser un número mayor a cero." msgstr "El importe tiene que ser un número mayor a cero."
#: pkg/invoices.go:160 pkg/invoices.go:580 #: pkg/expenses.go:322 pkg/invoices.go:160 pkg/invoices.go:580
msgctxt "input" msgctxt "input"
msgid "Customer" msgid "Customer"
msgstr "Cliente" msgstr "Cliente"
#: pkg/invoices.go:161 #: pkg/expenses.go:323 pkg/invoices.go:161
msgid "All customers" msgid "All customers"
msgstr "Todos los clientes" msgstr "Todos los clientes"
#: pkg/expenses.go:328 pkg/invoices.go:172
msgctxt "input"
msgid "Invoice Number"
msgstr "Número de factura"
#: pkg/expenses.go:333 pkg/invoices.go:177
msgctxt "input"
msgid "From Date"
msgstr "A partir de la fecha"
#: pkg/expenses.go:338 pkg/invoices.go:182
msgctxt "input"
msgid "To Date"
msgstr "Hasta la fecha"
#: pkg/invoices.go:166 pkg/invoices.go:574 #: pkg/invoices.go:166 pkg/invoices.go:574
msgctxt "input" msgctxt "input"
msgid "Invoice Status" msgid "Invoice Status"
@ -752,21 +776,6 @@ msgstr "Estado de la factura"
msgid "All status" msgid "All status"
msgstr "Todos los estados" msgstr "Todos los estados"
#: pkg/invoices.go:172
msgctxt "input"
msgid "Invoice Number"
msgstr "Número de factura"
#: pkg/invoices.go:177
msgctxt "input"
msgid "From Date"
msgstr "A partir de la fecha"
#: pkg/invoices.go:182
msgctxt "input"
msgid "To Date"
msgstr "Hasta la fecha"
#: pkg/invoices.go:423 #: pkg/invoices.go:423
msgid "Select a customer to bill." msgid "Select a customer to bill."
msgstr "Escoged un cliente a facturar." msgstr "Escoged un cliente a facturar."
@ -840,105 +849,105 @@ msgstr "No podéis dejar el descuento en blanco."
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 0 y 100." msgstr "El descuento tiene que ser un porcentaje entre 0 y 100."
#: pkg/contacts.go:169 #: pkg/contacts.go:238
msgctxt "input" msgctxt "input"
msgid "Business name" msgid "Business name"
msgstr "Nombre y apellidos" msgstr "Nombre y apellidos"
#: pkg/contacts.go:179 #: pkg/contacts.go:248
msgctxt "input" msgctxt "input"
msgid "VAT number" msgid "VAT number"
msgstr "DNI / NIF" msgstr "DNI / NIF"
#: pkg/contacts.go:185 #: pkg/contacts.go:254
msgctxt "input" msgctxt "input"
msgid "Trade name" msgid "Trade name"
msgstr "Nombre comercial" msgstr "Nombre comercial"
#: pkg/contacts.go:190 #: pkg/contacts.go:259
msgctxt "input" msgctxt "input"
msgid "Phone" msgid "Phone"
msgstr "Teléfono" msgstr "Teléfono"
#: pkg/contacts.go:208 #: pkg/contacts.go:277
msgctxt "input" msgctxt "input"
msgid "Web" msgid "Web"
msgstr "Web" msgstr "Web"
#: pkg/contacts.go:216 #: pkg/contacts.go:285
msgctxt "input" msgctxt "input"
msgid "Address" msgid "Address"
msgstr "Dirección" msgstr "Dirección"
#: pkg/contacts.go:225 #: pkg/contacts.go:294
msgctxt "input" msgctxt "input"
msgid "City" msgid "City"
msgstr "Población" msgstr "Población"
#: pkg/contacts.go:231 #: pkg/contacts.go:300
msgctxt "input" msgctxt "input"
msgid "Province" msgid "Province"
msgstr "Provincia" msgstr "Provincia"
#: pkg/contacts.go:237 #: pkg/contacts.go:306
msgctxt "input" msgctxt "input"
msgid "Postal code" msgid "Postal code"
msgstr "Código postal" msgstr "Código postal"
#: pkg/contacts.go:246 #: pkg/contacts.go:315
msgctxt "input" msgctxt "input"
msgid "Country" msgid "Country"
msgstr "País" msgstr "País"
#: pkg/contacts.go:284 #: pkg/contacts.go:353
msgid "Selected country is not valid." msgid "Selected country is not valid."
msgstr "Habéis escogido un país que no es válido." msgstr "Habéis escogido un país que no es válido."
#: pkg/contacts.go:288 #: pkg/contacts.go:357
msgid "Business name can not be empty." msgid "Business 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/contacts.go:289 #: pkg/contacts.go:358
msgid "Business name must have at least two letters." msgid "Business name must have at least two letters."
msgstr "El nombre y los apellidos deben contener como mínimo dos letras." msgstr "El nombre y los apellidos deben contener como mínimo dos letras."
#: pkg/contacts.go:290 #: pkg/contacts.go:359
msgid "VAT number can not be empty." msgid "VAT number can not be empty."
msgstr "No podéis dejar el DNI o NIF en blanco." msgstr "No podéis dejar el DNI o NIF en blanco."
#: pkg/contacts.go:291 #: pkg/contacts.go:360
msgid "This value is not a valid VAT number." msgid "This value is not a valid VAT number."
msgstr "Este valor no es un DNI o NIF válido." msgstr "Este valor no es un DNI o NIF válido."
#: pkg/contacts.go:293 #: pkg/contacts.go:362
msgid "Phone can not be empty." msgid "Phone can not be empty."
msgstr "No podéis dejar el teléfono en blanco." msgstr "No podéis dejar el teléfono en blanco."
#: pkg/contacts.go:294 #: pkg/contacts.go:363
msgid "This value is not a valid phone number." msgid "This value is not a valid phone number."
msgstr "Este valor no es un teléfono válido." msgstr "Este valor no es un teléfono válido."
#: pkg/contacts.go:300 #: pkg/contacts.go:369
msgid "This value is not a valid web address. It should be like https://domain.com/." 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/." msgstr "Este valor no es una dirección web válida. Tiene que ser parecida a https://dominio.es/."
#: pkg/contacts.go:302 #: pkg/contacts.go:371
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/contacts.go:303 #: pkg/contacts.go:372
msgid "City can not be empty." msgid "City 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/contacts.go:304 #: pkg/contacts.go:373
msgid "Province can not be empty." msgid "Province can not be empty."
msgstr "No podéis dejar la provincia en blanco." msgstr "No podéis dejar la provincia en blanco."
#: pkg/contacts.go:305 #: pkg/contacts.go:374
msgid "Postal code can not be empty." msgid "Postal code can not be empty."
msgstr "No podéis dejar el código postal en blanco." msgstr "No podéis dejar el código postal en blanco."
#: pkg/contacts.go:306 #: pkg/contacts.go:375
msgid "This value is not a valid postal code." msgid "This value is not a valid postal code."
msgstr "Este valor no es un código postal válido válido." msgstr "Este valor no es un código postal válido válido."

View File

@ -40,6 +40,7 @@
<th>{{( pgettext "Email" "title" )}}</th> <th>{{( pgettext "Email" "title" )}}</th>
<th>{{( pgettext "Phone" "title" )}}</th> <th>{{( pgettext "Phone" "title" )}}</th>
<th>{{( pgettext "Tags" "title" )}}</th> <th>{{( pgettext "Tags" "title" )}}</th>
<th>{{( pgettext "Actions" "title" )}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -56,11 +57,26 @@
<a href="?tag={{ . }}" data-hx-target="main" data-hx-boost="true">{{ . }}</a> <a href="?tag={{ . }}" data-hx-target="main" data-hx-boost="true">{{ . }}</a>
{{- end }} {{- end }}
</td> </td>
<td class="actions">
<details class="menu">
<summary><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu">
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/contacts"}}/{{ .Slug }}"
data-hx-target="main" data-hx-boost="true"
>
<i class="ri-edit-line"></i>
{{( pgettext "Edit" "action" )}}
</a>
</li>
</ul>
</details>
</td>
</tr> </tr>
{{- end }} {{- end }}
{{ else }} {{ else }}
<tr> <tr>
<td colspan="5">{{( gettext "No contacts added yet." )}}</td> <td colspan="6">{{( gettext "No contacts added yet." )}}</td>
</tr> </tr>
{{ end }} {{ end }}
</tbody> </tbody>

View File

@ -39,6 +39,7 @@
<th>{{( pgettext "Name" "title" )}}</th> <th>{{( pgettext "Name" "title" )}}</th>
<th>{{( pgettext "Tags" "title" )}}</th> <th>{{( pgettext "Tags" "title" )}}</th>
<th>{{( pgettext "Price" "title" )}}</th> <th>{{( pgettext "Price" "title" )}}</th>
<th>{{( pgettext "Actions" "title" )}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -58,11 +59,26 @@
{{- end }} {{- end }}
</td> </td>
<td class="numeric">{{ .Price | formatPrice }}</td> <td class="numeric">{{ .Price | formatPrice }}</td>
<td class="actions">
<details class="menu">
<summary><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu">
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/products"}}/{{ .Slug }}"
data-hx-target="main" data-hx-boost="true"
>
<i class="ri-edit-line"></i>
{{( pgettext "Edit" "action" )}}
</a>
</li>
</ul>
</details>
</td>
</tr> </tr>
{{- end }} {{- end }}
{{ else }} {{ else }}
<tr> <tr>
<td colspan="4">{{( gettext "No products added yet." )}}</td> <td colspan="5">{{( gettext "No products added yet." )}}</td>
</tr> </tr>
{{ end }} {{ end }}
</tbody> </tbody>