Add aria-label to <summary> without text content

Using Orca or similar accessibility tools, it was not possible to
understand what these “menus” were intended for because they had only
icons without any alternative text, thus nothing to speak aloud with.
This commit is contained in:
jordi fita mas 2023-07-06 11:49:36 +02:00
parent d697b340e9
commit 58dd69773a
8 changed files with 182 additions and 130 deletions

144
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-07-02 23:47+0200\n" "POT-Creation-Date: 2023-07-06 11:45+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"
@ -72,51 +72,51 @@ msgid "Price"
msgstr "Preu" msgstr "Preu"
#: web/template/invoices/products.gohtml:64 #: web/template/invoices/products.gohtml:64
#: web/template/quotes/products.gohtml:64 web/template/products/index.gohtml:82 #: web/template/quotes/products.gohtml:64 web/template/products/index.gohtml:83
msgid "No products added yet." msgid "No products added yet."
msgstr "No hi ha cap producte." msgstr "No hi ha cap producte."
#: web/template/invoices/products.gohtml:72 web/template/invoices/new.gohtml:83 #: web/template/invoices/products.gohtml:72 web/template/invoices/new.gohtml:87
#: web/template/invoices/edit.gohtml:84 web/template/quotes/products.gohtml:72 #: web/template/invoices/edit.gohtml:88 web/template/quotes/products.gohtml:72
#: web/template/quotes/new.gohtml:84 web/template/quotes/edit.gohtml:85 #: web/template/quotes/new.gohtml:88 web/template/quotes/edit.gohtml:89
msgctxt "action" msgctxt "action"
msgid "Add products" msgid "Add products"
msgstr "Afegeix productes" msgstr "Afegeix productes"
#: web/template/invoices/new.gohtml:27 web/template/invoices/edit.gohtml:27 #: web/template/invoices/new.gohtml:30 web/template/invoices/edit.gohtml:30
#: web/template/quotes/new.gohtml:27 web/template/quotes/edit.gohtml:27 #: web/template/quotes/new.gohtml:30 web/template/quotes/edit.gohtml:30
msgid "Product “%s” removed" msgid "Product “%s” removed"
msgstr "Sha esborrat el producte «%s»" msgstr "Sha esborrat el producte «%s»"
#: web/template/invoices/new.gohtml:31 web/template/invoices/edit.gohtml:31 #: web/template/invoices/new.gohtml:34 web/template/invoices/edit.gohtml:34
#: web/template/quotes/new.gohtml:31 web/template/quotes/edit.gohtml:31 #: web/template/quotes/new.gohtml:34 web/template/quotes/edit.gohtml:34
msgctxt "action" msgctxt "action"
msgid "Undo" msgid "Undo"
msgstr "Desfes" msgstr "Desfes"
#: web/template/invoices/new.gohtml:60 web/template/invoices/view.gohtml:67 #: web/template/invoices/new.gohtml:63 web/template/invoices/view.gohtml:67
#: web/template/invoices/edit.gohtml:61 web/template/quotes/new.gohtml:61 #: web/template/invoices/edit.gohtml:64 web/template/quotes/new.gohtml:64
#: web/template/quotes/view.gohtml:78 web/template/quotes/edit.gohtml:62 #: web/template/quotes/view.gohtml:78 web/template/quotes/edit.gohtml:65
msgctxt "title" msgctxt "title"
msgid "Subtotal" msgid "Subtotal"
msgstr "Subtotal" msgstr "Subtotal"
#: web/template/invoices/new.gohtml:70 web/template/invoices/view.gohtml:71 #: web/template/invoices/new.gohtml:73 web/template/invoices/view.gohtml:71
#: web/template/invoices/view.gohtml:111 web/template/invoices/edit.gohtml:71 #: web/template/invoices/view.gohtml:111 web/template/invoices/edit.gohtml:74
#: web/template/quotes/new.gohtml:71 web/template/quotes/view.gohtml:82 #: web/template/quotes/new.gohtml:74 web/template/quotes/view.gohtml:82
#: web/template/quotes/view.gohtml:122 web/template/quotes/edit.gohtml:72 #: web/template/quotes/view.gohtml:122 web/template/quotes/edit.gohtml:75
msgctxt "title" msgctxt "title"
msgid "Total" msgid "Total"
msgstr "Total" msgstr "Total"
#: web/template/invoices/new.gohtml:87 web/template/invoices/edit.gohtml:88 #: web/template/invoices/new.gohtml:91 web/template/invoices/edit.gohtml:92
#: web/template/quotes/new.gohtml:88 web/template/quotes/edit.gohtml:89 #: web/template/quotes/new.gohtml:92 web/template/quotes/edit.gohtml:93
msgctxt "action" msgctxt "action"
msgid "Update" msgid "Update"
msgstr "Actualitza" msgstr "Actualitza"
#: web/template/invoices/new.gohtml:90 web/template/invoices/edit.gohtml:91 #: web/template/invoices/new.gohtml:94 web/template/invoices/edit.gohtml:95
#: web/template/quotes/new.gohtml:91 web/template/quotes/edit.gohtml:92 #: web/template/quotes/new.gohtml:95 web/template/quotes/edit.gohtml:96
#: web/template/contacts/new.gohtml:49 web/template/contacts/edit.gohtml:53 #: web/template/contacts/new.gohtml:49 web/template/contacts/edit.gohtml:53
#: web/template/expenses/new.gohtml:33 web/template/expenses/edit.gohtml:38 #: web/template/expenses/new.gohtml:33 web/template/expenses/edit.gohtml:38
#: web/template/products/new.gohtml:30 web/template/products/edit.gohtml:36 #: web/template/products/new.gohtml:30 web/template/products/edit.gohtml:36
@ -168,26 +168,26 @@ msgid "Status"
msgstr "Estat" msgstr "Estat"
#: web/template/invoices/index.gohtml:54 web/template/quotes/index.gohtml:54 #: web/template/invoices/index.gohtml:54 web/template/quotes/index.gohtml:54
#: web/template/contacts/index.gohtml:45 web/template/expenses/index.gohtml:46 #: web/template/contacts/index.gohtml:45 web/template/expenses/index.gohtml:45
#: web/template/products/index.gohtml:41 #: web/template/products/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: web/template/invoices/index.gohtml:55 web/template/quotes/index.gohtml:55 #: web/template/invoices/index.gohtml:55 web/template/quotes/index.gohtml:55
#: web/template/expenses/index.gohtml:47 #: web/template/expenses/index.gohtml:46
msgctxt "title" msgctxt "title"
msgid "Amount" msgid "Amount"
msgstr "Import" msgstr "Import"
#: web/template/invoices/index.gohtml:56 web/template/quotes/index.gohtml:56 #: web/template/invoices/index.gohtml:56 web/template/quotes/index.gohtml:56
#: web/template/expenses/index.gohtml:48 #: web/template/expenses/index.gohtml:47
msgctxt "title" msgctxt "title"
msgid "Download" msgid "Download"
msgstr "Descàrrega" msgstr "Descàrrega"
#: web/template/invoices/index.gohtml:57 web/template/quotes/index.gohtml:57 #: web/template/invoices/index.gohtml:57 web/template/quotes/index.gohtml:57
#: web/template/contacts/index.gohtml:46 web/template/expenses/index.gohtml:49 #: web/template/contacts/index.gohtml:46 web/template/expenses/index.gohtml:48
#: web/template/products/index.gohtml:43 #: web/template/products/index.gohtml:43
msgctxt "title" msgctxt "title"
msgid "Actions" msgid "Actions"
@ -198,26 +198,35 @@ msgctxt "action"
msgid "Select invoice %v" msgid "Select invoice %v"
msgstr "Selecciona factura %v" msgstr "Selecciona factura %v"
#: web/template/invoices/index.gohtml:119 web/template/invoices/view.gohtml:19 #: web/template/invoices/index.gohtml:105
#: web/template/quotes/index.gohtml:119 web/template/quotes/view.gohtml:22 msgctxt "action"
#: web/template/contacts/index.gohtml:76 web/template/expenses/index.gohtml:88 msgid "Download invoice %s"
#: web/template/products/index.gohtml:72 msgstr "Descarrega factura %s"
#: web/template/invoices/index.gohtml:113
msgid "Actions for invoice %s"
msgstr "Accions per la factura %s"
#: web/template/invoices/index.gohtml:121 web/template/invoices/view.gohtml:19
#: web/template/quotes/index.gohtml:120 web/template/quotes/view.gohtml:22
#: web/template/contacts/index.gohtml:77 web/template/expenses/index.gohtml:87
#: web/template/products/index.gohtml:73
msgctxt "action" msgctxt "action"
msgid "Edit" msgid "Edit"
msgstr "Edita" msgstr "Edita"
#: web/template/invoices/index.gohtml:127 web/template/invoices/view.gohtml:16 #: web/template/invoices/index.gohtml:129 web/template/invoices/view.gohtml:16
#: web/template/quotes/index.gohtml:127 web/template/quotes/view.gohtml:19 #: web/template/quotes/index.gohtml:128 web/template/quotes/view.gohtml:19
msgctxt "action" msgctxt "action"
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplica" msgstr "Duplica"
#: web/template/invoices/index.gohtml:137 #: web/template/invoices/index.gohtml:139
msgid "No invoices added yet." msgid "No invoices added yet."
msgstr "No hi ha cap factura." msgstr "No hi ha cap factura."
#: web/template/invoices/index.gohtml:144 web/template/quotes/index.gohtml:152 #: web/template/invoices/index.gohtml:146 web/template/quotes/index.gohtml:153
#: web/template/expenses/index.gohtml:105 #: web/template/expenses/index.gohtml:104
msgid "Total" msgid "Total"
msgstr "Total" msgstr "Total"
@ -364,12 +373,16 @@ msgctxt "action"
msgid "Select quotation %v" msgid "Select quotation %v"
msgstr "Selecciona pressupost %v" msgstr "Selecciona pressupost %v"
#: web/template/quotes/index.gohtml:135 web/template/quotes/view.gohtml:16 #: web/template/quotes/index.gohtml:112
msgid "Actions for quote %s"
msgstr "Accions pel pressupost %s"
#: web/template/quotes/index.gohtml:136 web/template/quotes/view.gohtml:16
msgctxt "action" msgctxt "action"
msgid "Create invoice" msgid "Create invoice"
msgstr "Crea factura" msgstr "Crea factura"
#: web/template/quotes/index.gohtml:145 #: web/template/quotes/index.gohtml:146
msgid "No quotations added yet." msgid "No quotations added yet."
msgstr "No hi ha cap pressupost." msgstr "No hi ha cap pressupost."
@ -460,7 +473,7 @@ msgctxt "action"
msgid "New contact" msgid "New contact"
msgstr "Nou contacte" msgstr "Nou contacte"
#: web/template/contacts/index.gohtml:42 web/template/expenses/index.gohtml:43 #: web/template/contacts/index.gohtml:42 web/template/expenses/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Contact" msgid "Contact"
msgstr "Contacte" msgstr "Contacte"
@ -475,7 +488,11 @@ msgctxt "title"
msgid "Phone" msgid "Phone"
msgstr "Telèfon" msgstr "Telèfon"
#: web/template/contacts/index.gohtml:86 #: web/template/contacts/index.gohtml:69
msgid "Actions for contact %s"
msgstr "Accions pel contacte %s"
#: web/template/contacts/index.gohtml:87
msgid "No contacts added yet." msgid "No contacts added yet."
msgstr "No hi ha cap contacte." msgstr "No hi ha cap contacte."
@ -542,22 +559,21 @@ msgctxt "action"
msgid "New expense" msgid "New expense"
msgstr "Nova despesa" msgstr "Nova despesa"
#: web/template/expenses/index.gohtml:42 #: web/template/expenses/index.gohtml:43
msgctxt "expense"
msgid "All"
msgstr "Totes"
#: web/template/expenses/index.gohtml:44
msgctxt "title" msgctxt "title"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Data de factura" msgstr "Data de factura"
#: web/template/expenses/index.gohtml:45 #: web/template/expenses/index.gohtml:44
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:98 #: web/template/expenses/index.gohtml:79
msgid "Actions for expense %s"
msgstr "Accions per la despesa %s"
#: web/template/expenses/index.gohtml:97
msgid "No expenses added yet." msgid "No expenses added yet."
msgstr "No hi ha cap despesa." msgstr "No hi ha cap despesa."
@ -655,6 +671,10 @@ msgctxt "action"
msgid "New product" msgid "New product"
msgstr "Nou producte" msgstr "Nou producte"
#: web/template/products/index.gohtml:65
msgid "Actions for product %s"
msgstr "Accions pel producte %s"
#: web/template/products/edit.gohtml:3 web/template/products/edit.gohtml:20 #: web/template/products/edit.gohtml:3 web/template/products/edit.gohtml:20
msgctxt "title" msgctxt "title"
msgid "Edit Product “%s”" msgid "Edit Product “%s”"
@ -674,7 +694,7 @@ msgstr "Contrasenya"
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:71 pkg/company.go:284 pkg/profile.go:90 pkg/contacts.go:404 #: pkg/login.go:71 pkg/company.go:284 pkg/profile.go:90 pkg/contacts.go:406
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."
@ -744,7 +764,7 @@ msgid "Taxes"
msgstr "Imposts" msgstr "Imposts"
#: pkg/products.go:309 pkg/quote.go:919 pkg/profile.go:92 pkg/invoices.go:1005 #: pkg/products.go:309 pkg/quote.go:919 pkg/profile.go:92 pkg/invoices.go:1005
#: pkg/contacts.go:397 #: pkg/contacts.go:398
msgid "Name can not be empty." msgid "Name can not be empty."
msgstr "No podeu deixar el nom en blanc." msgstr "No podeu deixar el nom en blanc."
@ -858,11 +878,11 @@ msgstr "No podeu deixar el nom i els cognoms en blanc."
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/company.go:277 pkg/contacts.go:385 #: pkg/company.go:277 pkg/contacts.go:386
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/company.go:278 pkg/contacts.go:386 #: pkg/company.go:278 pkg/contacts.go:387
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."
@ -870,31 +890,31 @@ msgstr "Aquest valor no és un DNI o NIF vàlid."
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/company.go:281 pkg/contacts.go:401 #: pkg/company.go:281 pkg/contacts.go:403
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/company.go:287 pkg/contacts.go:407 #: pkg/company.go:287 pkg/contacts.go:409
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/company.go:289 pkg/contacts.go:388 #: pkg/company.go:289 pkg/contacts.go:389
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/company.go:290 pkg/contacts.go:389 #: pkg/company.go:290 pkg/contacts.go:390
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/company.go:291 pkg/contacts.go:390 #: pkg/company.go:291 pkg/contacts.go:391
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/company.go:292 pkg/contacts.go:392 #: pkg/company.go:292 pkg/contacts.go:393
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/company.go:293 pkg/contacts.go:393 #: pkg/company.go:293 pkg/contacts.go:394
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."
@ -1275,23 +1295,27 @@ msgctxt "bic"
msgid "BIC" msgid "BIC"
msgstr "BIC" msgstr "BIC"
#: pkg/contacts.go:398 #: pkg/contacts.go:399
msgid "Name must have at least two letters." msgid "Name must have at least two letters."
msgstr "El nom ha de tenir com a mínim dues lletres." msgstr "El nom ha de tenir com a mínim dues lletres."
#: pkg/contacts.go:410 #: pkg/contacts.go:412
msgid "This values is not a valid IBAN." msgid "This values is not a valid IBAN."
msgstr "Aquest valor no és un IBAN vàlid." msgstr "Aquest valor no és un IBAN vàlid."
#: pkg/contacts.go:413 #: pkg/contacts.go:415
msgid "This values is not a valid BIC." msgid "This values is not a valid BIC."
msgstr "Aquest valor no és un BIC vàlid." msgstr "Aquest valor no és un BIC vàlid."
#: pkg/contacts.go:527 #: pkg/contacts.go:529
msgctxt "input" msgctxt "input"
msgid "Holded Excel file" msgid "Holded Excel file"
msgstr "Fitxer Excel del Holded" msgstr "Fitxer Excel del Holded"
#~ msgctxt "expense"
#~ msgid "All"
#~ msgstr "Totes"
#~ msgctxt "action" #~ msgctxt "action"
#~ msgid "Update contact" #~ msgid "Update contact"
#~ msgstr "Actualitza contacte" #~ msgstr "Actualitza contacte"

144
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-07-02 23:47+0200\n" "POT-Creation-Date: 2023-07-06 11:45+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"
@ -72,51 +72,51 @@ msgid "Price"
msgstr "Precio" msgstr "Precio"
#: web/template/invoices/products.gohtml:64 #: web/template/invoices/products.gohtml:64
#: web/template/quotes/products.gohtml:64 web/template/products/index.gohtml:82 #: web/template/quotes/products.gohtml:64 web/template/products/index.gohtml:83
msgid "No products added yet." msgid "No products added yet."
msgstr "No hay productos." msgstr "No hay productos."
#: web/template/invoices/products.gohtml:72 web/template/invoices/new.gohtml:83 #: web/template/invoices/products.gohtml:72 web/template/invoices/new.gohtml:87
#: web/template/invoices/edit.gohtml:84 web/template/quotes/products.gohtml:72 #: web/template/invoices/edit.gohtml:88 web/template/quotes/products.gohtml:72
#: web/template/quotes/new.gohtml:84 web/template/quotes/edit.gohtml:85 #: web/template/quotes/new.gohtml:88 web/template/quotes/edit.gohtml:89
msgctxt "action" msgctxt "action"
msgid "Add products" msgid "Add products"
msgstr "Añadir productos" msgstr "Añadir productos"
#: web/template/invoices/new.gohtml:27 web/template/invoices/edit.gohtml:27 #: web/template/invoices/new.gohtml:30 web/template/invoices/edit.gohtml:30
#: web/template/quotes/new.gohtml:27 web/template/quotes/edit.gohtml:27 #: web/template/quotes/new.gohtml:30 web/template/quotes/edit.gohtml:30
msgid "Product “%s” removed" msgid "Product “%s” removed"
msgstr "Se ha borrado el producto «%s»" msgstr "Se ha borrado el producto «%s»"
#: web/template/invoices/new.gohtml:31 web/template/invoices/edit.gohtml:31 #: web/template/invoices/new.gohtml:34 web/template/invoices/edit.gohtml:34
#: web/template/quotes/new.gohtml:31 web/template/quotes/edit.gohtml:31 #: web/template/quotes/new.gohtml:34 web/template/quotes/edit.gohtml:34
msgctxt "action" msgctxt "action"
msgid "Undo" msgid "Undo"
msgstr "Deshacer" msgstr "Deshacer"
#: web/template/invoices/new.gohtml:60 web/template/invoices/view.gohtml:67 #: web/template/invoices/new.gohtml:63 web/template/invoices/view.gohtml:67
#: web/template/invoices/edit.gohtml:61 web/template/quotes/new.gohtml:61 #: web/template/invoices/edit.gohtml:64 web/template/quotes/new.gohtml:64
#: web/template/quotes/view.gohtml:78 web/template/quotes/edit.gohtml:62 #: web/template/quotes/view.gohtml:78 web/template/quotes/edit.gohtml:65
msgctxt "title" msgctxt "title"
msgid "Subtotal" msgid "Subtotal"
msgstr "Subtotal" msgstr "Subtotal"
#: web/template/invoices/new.gohtml:70 web/template/invoices/view.gohtml:71 #: web/template/invoices/new.gohtml:73 web/template/invoices/view.gohtml:71
#: web/template/invoices/view.gohtml:111 web/template/invoices/edit.gohtml:71 #: web/template/invoices/view.gohtml:111 web/template/invoices/edit.gohtml:74
#: web/template/quotes/new.gohtml:71 web/template/quotes/view.gohtml:82 #: web/template/quotes/new.gohtml:74 web/template/quotes/view.gohtml:82
#: web/template/quotes/view.gohtml:122 web/template/quotes/edit.gohtml:72 #: web/template/quotes/view.gohtml:122 web/template/quotes/edit.gohtml:75
msgctxt "title" msgctxt "title"
msgid "Total" msgid "Total"
msgstr "Total" msgstr "Total"
#: web/template/invoices/new.gohtml:87 web/template/invoices/edit.gohtml:88 #: web/template/invoices/new.gohtml:91 web/template/invoices/edit.gohtml:92
#: web/template/quotes/new.gohtml:88 web/template/quotes/edit.gohtml:89 #: web/template/quotes/new.gohtml:92 web/template/quotes/edit.gohtml:93
msgctxt "action" msgctxt "action"
msgid "Update" msgid "Update"
msgstr "Actualizar" msgstr "Actualizar"
#: web/template/invoices/new.gohtml:90 web/template/invoices/edit.gohtml:91 #: web/template/invoices/new.gohtml:94 web/template/invoices/edit.gohtml:95
#: web/template/quotes/new.gohtml:91 web/template/quotes/edit.gohtml:92 #: web/template/quotes/new.gohtml:95 web/template/quotes/edit.gohtml:96
#: web/template/contacts/new.gohtml:49 web/template/contacts/edit.gohtml:53 #: web/template/contacts/new.gohtml:49 web/template/contacts/edit.gohtml:53
#: web/template/expenses/new.gohtml:33 web/template/expenses/edit.gohtml:38 #: web/template/expenses/new.gohtml:33 web/template/expenses/edit.gohtml:38
#: web/template/products/new.gohtml:30 web/template/products/edit.gohtml:36 #: web/template/products/new.gohtml:30 web/template/products/edit.gohtml:36
@ -168,26 +168,26 @@ msgid "Status"
msgstr "Estado" msgstr "Estado"
#: web/template/invoices/index.gohtml:54 web/template/quotes/index.gohtml:54 #: web/template/invoices/index.gohtml:54 web/template/quotes/index.gohtml:54
#: web/template/contacts/index.gohtml:45 web/template/expenses/index.gohtml:46 #: web/template/contacts/index.gohtml:45 web/template/expenses/index.gohtml:45
#: web/template/products/index.gohtml:41 #: web/template/products/index.gohtml:41
msgctxt "title" msgctxt "title"
msgid "Tags" msgid "Tags"
msgstr "Etiquetes" msgstr "Etiquetes"
#: web/template/invoices/index.gohtml:55 web/template/quotes/index.gohtml:55 #: web/template/invoices/index.gohtml:55 web/template/quotes/index.gohtml:55
#: web/template/expenses/index.gohtml:47 #: web/template/expenses/index.gohtml:46
msgctxt "title" msgctxt "title"
msgid "Amount" msgid "Amount"
msgstr "Importe" msgstr "Importe"
#: web/template/invoices/index.gohtml:56 web/template/quotes/index.gohtml:56 #: web/template/invoices/index.gohtml:56 web/template/quotes/index.gohtml:56
#: web/template/expenses/index.gohtml:48 #: web/template/expenses/index.gohtml:47
msgctxt "title" msgctxt "title"
msgid "Download" msgid "Download"
msgstr "Descargar" msgstr "Descargar"
#: web/template/invoices/index.gohtml:57 web/template/quotes/index.gohtml:57 #: web/template/invoices/index.gohtml:57 web/template/quotes/index.gohtml:57
#: web/template/contacts/index.gohtml:46 web/template/expenses/index.gohtml:49 #: web/template/contacts/index.gohtml:46 web/template/expenses/index.gohtml:48
#: web/template/products/index.gohtml:43 #: web/template/products/index.gohtml:43
msgctxt "title" msgctxt "title"
msgid "Actions" msgid "Actions"
@ -198,26 +198,35 @@ msgctxt "action"
msgid "Select invoice %v" msgid "Select invoice %v"
msgstr "Seleccionar factura %v" msgstr "Seleccionar factura %v"
#: web/template/invoices/index.gohtml:119 web/template/invoices/view.gohtml:19 #: web/template/invoices/index.gohtml:105
#: web/template/quotes/index.gohtml:119 web/template/quotes/view.gohtml:22 msgctxt "action"
#: web/template/contacts/index.gohtml:76 web/template/expenses/index.gohtml:88 msgid "Download invoice %s"
#: web/template/products/index.gohtml:72 msgstr "Descargar factura %s"
#: web/template/invoices/index.gohtml:113
msgid "Actions for invoice %s"
msgstr "Acciones para la factura %s"
#: web/template/invoices/index.gohtml:121 web/template/invoices/view.gohtml:19
#: web/template/quotes/index.gohtml:120 web/template/quotes/view.gohtml:22
#: web/template/contacts/index.gohtml:77 web/template/expenses/index.gohtml:87
#: web/template/products/index.gohtml:73
msgctxt "action" msgctxt "action"
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
#: web/template/invoices/index.gohtml:127 web/template/invoices/view.gohtml:16 #: web/template/invoices/index.gohtml:129 web/template/invoices/view.gohtml:16
#: web/template/quotes/index.gohtml:127 web/template/quotes/view.gohtml:19 #: web/template/quotes/index.gohtml:128 web/template/quotes/view.gohtml:19
msgctxt "action" msgctxt "action"
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplicar" msgstr "Duplicar"
#: web/template/invoices/index.gohtml:137 #: web/template/invoices/index.gohtml:139
msgid "No invoices added yet." msgid "No invoices added yet."
msgstr "No hay facturas." msgstr "No hay facturas."
#: web/template/invoices/index.gohtml:144 web/template/quotes/index.gohtml:152 #: web/template/invoices/index.gohtml:146 web/template/quotes/index.gohtml:153
#: web/template/expenses/index.gohtml:105 #: web/template/expenses/index.gohtml:104
msgid "Total" msgid "Total"
msgstr "Total" msgstr "Total"
@ -364,12 +373,16 @@ msgctxt "action"
msgid "Select quotation %v" msgid "Select quotation %v"
msgstr "Seleccionar presupuesto %v" msgstr "Seleccionar presupuesto %v"
#: web/template/quotes/index.gohtml:135 web/template/quotes/view.gohtml:16 #: web/template/quotes/index.gohtml:112
msgid "Actions for quote %s"
msgstr "Acciones para el presupuesto %s"
#: web/template/quotes/index.gohtml:136 web/template/quotes/view.gohtml:16
msgctxt "action" msgctxt "action"
msgid "Create invoice" msgid "Create invoice"
msgstr "Crear factura" msgstr "Crear factura"
#: web/template/quotes/index.gohtml:145 #: web/template/quotes/index.gohtml:146
msgid "No quotations added yet." msgid "No quotations added yet."
msgstr "No hay presupuestos." msgstr "No hay presupuestos."
@ -460,7 +473,7 @@ msgctxt "action"
msgid "New contact" msgid "New contact"
msgstr "Nuevo contacto" msgstr "Nuevo contacto"
#: web/template/contacts/index.gohtml:42 web/template/expenses/index.gohtml:43 #: web/template/contacts/index.gohtml:42 web/template/expenses/index.gohtml:42
msgctxt "title" msgctxt "title"
msgid "Contact" msgid "Contact"
msgstr "Contacto" msgstr "Contacto"
@ -475,7 +488,11 @@ msgctxt "title"
msgid "Phone" msgid "Phone"
msgstr "Teléfono" msgstr "Teléfono"
#: web/template/contacts/index.gohtml:86 #: web/template/contacts/index.gohtml:69
msgid "Actions for contact %s"
msgstr "Acciones para el contacto %s"
#: web/template/contacts/index.gohtml:87
msgid "No contacts added yet." msgid "No contacts added yet."
msgstr "No hay contactos." msgstr "No hay contactos."
@ -542,22 +559,21 @@ msgctxt "action"
msgid "New expense" msgid "New expense"
msgstr "Nuevo gasto" msgstr "Nuevo gasto"
#: web/template/expenses/index.gohtml:42 #: web/template/expenses/index.gohtml:43
msgctxt "expense"
msgid "All"
msgstr "Todos"
#: web/template/expenses/index.gohtml:44
msgctxt "title" msgctxt "title"
msgid "Invoice Date" msgid "Invoice Date"
msgstr "Fecha de factura" msgstr "Fecha de factura"
#: web/template/expenses/index.gohtml:45 #: web/template/expenses/index.gohtml:44
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:98 #: web/template/expenses/index.gohtml:79
msgid "Actions for expense %s"
msgstr "Acciones para el gasto %s"
#: web/template/expenses/index.gohtml:97
msgid "No expenses added yet." msgid "No expenses added yet."
msgstr "No hay gastos." msgstr "No hay gastos."
@ -655,6 +671,10 @@ msgctxt "action"
msgid "New product" msgid "New product"
msgstr "Nuevo producto" msgstr "Nuevo producto"
#: web/template/products/index.gohtml:65
msgid "Actions for product %s"
msgstr "Acciones para el producto %s"
#: web/template/products/edit.gohtml:3 web/template/products/edit.gohtml:20 #: web/template/products/edit.gohtml:3 web/template/products/edit.gohtml:20
msgctxt "title" msgctxt "title"
msgid "Edit Product “%s”" msgid "Edit Product “%s”"
@ -674,7 +694,7 @@ msgstr "Contraseña"
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:71 pkg/company.go:284 pkg/profile.go:90 pkg/contacts.go:404 #: pkg/login.go:71 pkg/company.go:284 pkg/profile.go:90 pkg/contacts.go:406
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."
@ -744,7 +764,7 @@ msgid "Taxes"
msgstr "Impuestos" msgstr "Impuestos"
#: pkg/products.go:309 pkg/quote.go:919 pkg/profile.go:92 pkg/invoices.go:1005 #: pkg/products.go:309 pkg/quote.go:919 pkg/profile.go:92 pkg/invoices.go:1005
#: pkg/contacts.go:397 #: pkg/contacts.go:398
msgid "Name can not be empty." msgid "Name can not be empty."
msgstr "No podéis dejar el nombre en blanco." msgstr "No podéis dejar el nombre en blanco."
@ -858,11 +878,11 @@ msgstr "No podéis dejar el nombre y los apellidos en blanco."
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/company.go:277 pkg/contacts.go:385 #: pkg/company.go:277 pkg/contacts.go:386
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/company.go:278 pkg/contacts.go:386 #: pkg/company.go:278 pkg/contacts.go:387
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."
@ -870,31 +890,31 @@ msgstr "Este valor no es un DNI o NIF válido."
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/company.go:281 pkg/contacts.go:401 #: pkg/company.go:281 pkg/contacts.go:403
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/company.go:287 pkg/contacts.go:407 #: pkg/company.go:287 pkg/contacts.go:409
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/company.go:289 pkg/contacts.go:388 #: pkg/company.go:289 pkg/contacts.go:389
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/company.go:290 pkg/contacts.go:389 #: pkg/company.go:290 pkg/contacts.go:390
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/company.go:291 pkg/contacts.go:390 #: pkg/company.go:291 pkg/contacts.go:391
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/company.go:292 pkg/contacts.go:392 #: pkg/company.go:292 pkg/contacts.go:393
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/company.go:293 pkg/contacts.go:393 #: pkg/company.go:293 pkg/contacts.go:394
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."
@ -1275,23 +1295,27 @@ msgctxt "bic"
msgid "BIC" msgid "BIC"
msgstr "BIC" msgstr "BIC"
#: pkg/contacts.go:398 #: pkg/contacts.go:399
msgid "Name must have at least two letters." msgid "Name must have at least two letters."
msgstr "El nombre debe contener como mínimo dos letras." msgstr "El nombre debe contener como mínimo dos letras."
#: pkg/contacts.go:410 #: pkg/contacts.go:412
msgid "This values is not a valid IBAN." msgid "This values is not a valid IBAN."
msgstr "Este valor no es un IBAN válido." msgstr "Este valor no es un IBAN válido."
#: pkg/contacts.go:413 #: pkg/contacts.go:415
msgid "This values is not a valid BIC." msgid "This values is not a valid BIC."
msgstr "Este valor no es un BIC válido." msgstr "Este valor no es un BIC válido."
#: pkg/contacts.go:527 #: pkg/contacts.go:529
msgctxt "input" msgctxt "input"
msgid "Holded Excel file" msgid "Holded Excel file"
msgstr "Archivo Excel de Holded" msgstr "Archivo Excel de Holded"
#~ msgctxt "expense"
#~ msgid "All"
#~ msgstr "Todos"
#~ msgctxt "action" #~ msgctxt "action"
#~ msgid "Update contact" #~ msgid "Update contact"
#~ msgstr "Actualizar contacto" #~ msgstr "Actualizar contacto"

View File

@ -13,7 +13,7 @@
<header> <header>
<h1><img src="/static/numerus.svg" alt="Numerus" width="261" height="33"></h1> <h1><img src="/static/numerus.svg" alt="Numerus" width="261" height="33"></h1>
<details id="profile-menu" class="menu"> <details id="profile-menu" class="menu">
<summary> <summary aria-label="{{( gettext "Profile menu" )}}">
<i class="ri-user-6-line ri-3x"></i> <i class="ri-user-6-line ri-3x"></i>
</summary> </summary>
<ul role="menu" class="action-menu" data-hx-push-url="false" data-hx-swap="beforeend"> <ul role="menu" class="action-menu" data-hx-push-url="false" data-hx-swap="beforeend">

View File

@ -66,7 +66,8 @@
</td> </td>
<td class="actions"> <td class="actions">
<details class="menu"> <details class="menu">
<summary><i class="ri-more-line"></i></summary> {{- $label := .Name | printf (gettext "Actions for contact %s") -}}
<summary aria-label="{{ $label }}"><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu"> <ul role="menu" class="action-menu">
<li role="presentation"> <li role="presentation">
<a role="menuitem" href="{{ companyURI "/contacts"}}/{{ .Slug }}" <a role="menuitem" href="{{ companyURI "/contacts"}}/{{ .Slug }}"

View File

@ -39,7 +39,6 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>{{( pgettext "All" "expense" )}}</th>
<th>{{( pgettext "Contact" "title" )}}</th> <th>{{( pgettext "Contact" "title" )}}</th>
<th>{{( pgettext "Invoice Date" "title" )}}</th> <th>{{( pgettext "Invoice Date" "title" )}}</th>
<th>{{( pgettext "Invoice Number" "title" )}}</th> <th>{{( pgettext "Invoice Number" "title" )}}</th>
@ -53,7 +52,6 @@
{{ with .Expenses }} {{ with .Expenses }}
{{- range . }} {{- range . }}
<tr> <tr>
<td></td>
<td>{{ .InvoicerName }}</td> <td>{{ .InvoicerName }}</td>
<td>{{ .InvoiceDate|formatDate }}</td> <td>{{ .InvoiceDate|formatDate }}</td>
<td>{{ .InvoiceNumber }}</td> <td>{{ .InvoiceNumber }}</td>
@ -78,7 +76,8 @@
</td> </td>
<td class="actions"> <td class="actions">
<details class="menu"> <details class="menu">
<summary><i class="ri-more-line"></i></summary> {{- $label := .InvoiceNumber | printf (gettext "Actions for expense %s") -}}
<summary aria-label="{{ $label }}"><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu"> <ul role="menu" class="action-menu">
<li role="presentation"> <li role="presentation">
<a role="menuitem" href="{{ companyURI "/expenses"}}/{{ .Slug }}" <a role="menuitem" href="{{ companyURI "/expenses"}}/{{ .Slug }}"
@ -95,7 +94,7 @@
{{- end }} {{- end }}
{{ else }} {{ else }}
<tr> <tr>
<td colspan="8">{{( gettext "No expenses added yet." )}}</td> <td colspan="7">{{( gettext "No expenses added yet." )}}</td>
</tr> </tr>
{{ end }} {{ end }}
</tbody> </tbody>

View File

@ -102,14 +102,16 @@
{{- end }} {{- end }}
</td> </td>
<td class="numeric">{{ .Total|formatPrice }}</td> <td class="numeric">{{ .Total|formatPrice }}</td>
{{- $title = .Number | printf (pgettext "Download invoice %s" "action") -}}
<td class="invoice-download"><a href="{{ companyURI "/invoices/"}}{{ .Slug }}.pdf" <td class="invoice-download"><a href="{{ companyURI "/invoices/"}}{{ .Slug }}.pdf"
download="{{ .Number}}.pdf" download="{{ .Number}}.pdf"
title="{{( pgettext "Download invoice" "action" )}}" title="{{( pgettext "Download invoice" "action" )}}"
aria-label="{{( pgettext "Download invoice %s" "action" )}}"><i aria-label="{{ $title }}"><i
class="ri-download-line"></i></a></td> class="ri-download-line"></i></a></td>
<td class="actions"> <td class="actions">
<details class="menu"> <details class="menu">
<summary><i class="ri-more-line"></i></summary> {{- $title = .Number | printf (gettext "Actions for invoice %s") -}}
<summary aria-label="{{ $title }}"><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu"> <ul role="menu" class="action-menu">
<li role="presentation"> <li role="presentation">
<a role="menuitem" href="{{ companyURI "/invoices"}}/{{ .Slug }}/edit" <a role="menuitem" href="{{ companyURI "/invoices"}}/{{ .Slug }}/edit"

View File

@ -62,7 +62,8 @@
<td class="numeric">{{ .Price | formatPrice }}</td> <td class="numeric">{{ .Price | formatPrice }}</td>
<td class="actions"> <td class="actions">
<details class="menu"> <details class="menu">
<summary><i class="ri-more-line"></i></summary> {{- $label := .Name | printf (gettext "Actions for product %s") -}}
<summary aria-label="{{ $label }}"><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu"> <ul role="menu" class="action-menu">
<li role="presentation"> <li role="presentation">
<a role="menuitem" href="{{ companyURI "/products"}}/{{ .Slug }}" <a role="menuitem" href="{{ companyURI "/products"}}/{{ .Slug }}"

View File

@ -109,7 +109,8 @@
class="ri-download-line"></i></a></td> class="ri-download-line"></i></a></td>
<td class="actions"> <td class="actions">
<details class="menu"> <details class="menu">
<summary><i class="ri-more-line"></i></summary> {{- $label := .Number | printf (gettext "Actions for quote %s") -}}
<summary aria-label="{{ $label }}"><i class="ri-more-line"></i></summary>
<ul role="menu" class="action-menu"> <ul role="menu" class="action-menu">
<li role="presentation"> <li role="presentation">
<a role="menuitem" href="{{ companyURI "/quotes"}}/{{ .Slug }}/edit" <a role="menuitem" href="{{ companyURI "/quotes"}}/{{ .Slug }}/edit"