From ae26a8d09cdc178f6ce4e6c12736e8acf3c9d343 Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Fri, 17 Jan 2025 21:25:51 +0100 Subject: [PATCH] fix: translations --- config/settings/base.py | 8 +- locale/{es_ES => es}/LC_MESSAGES/django.po | 941 ++++++++---------- users/forms/login.py | 10 +- users/forms/register.py | 2 +- users/forms/reset_password.py | 11 +- web/mixins.py | 6 +- .../components/cart/cart_navbar.html | 4 +- web/templates/components/generic/toast.html | 26 + web/views/users.py | 13 +- web/views/web.py | 4 +- 10 files changed, 452 insertions(+), 573 deletions(-) rename locale/{es_ES => es}/LC_MESSAGES/django.po (50%) create mode 100644 web/templates/components/generic/toast.html diff --git a/config/settings/base.py b/config/settings/base.py index 4a0c2dc..5b36c59 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -1,6 +1,7 @@ import datetime from config.settings.environ import * # noqa +from django.utils.text import gettext_lazy as _ APP_NAME = "Shop" DESCRIPTION = "" @@ -122,7 +123,12 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/5.1/topics/i18n/ -LANGUAGE_CODE = "es-es" +LANGUAGE_CODE = "es" + +LANGUAGES = ( + ("en", _("Inglés")), + ("es", _("Castellano")), +) TIME_ZONE = "Europe/Madrid" diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po similarity index 50% rename from locale/es_ES/LC_MESSAGES/django.po rename to locale/es/LC_MESSAGES/django.po index d06afb3..866d674 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -6,630 +6,588 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-16 23:42+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2025-01-17 21:17+0100\n" +"PO-Revision-Date: 2025-01-17 21:23+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.5\n" -#: shop/api/v1/viewsets.py:70 +#: .\config\settings\base.py:129 +msgid "Inglés" +msgstr "Inglés" + +#: .\config\settings\base.py:130 +msgid "Castellano" +msgstr "Castellano" + +#: .\shop\api\v1\viewsets.py:70 msgid "No se puede borrar el producto" msgstr "No se puede borrar el producto" -#: shop/filters.py:10 +#: .\shop\filters.py:10 msgid "Nombre" msgstr "Nombre" -#: shop/filters.py:12 +#: .\shop\filters.py:12 msgid "Etiquetas" msgstr "Etiquetas" -#: shop/filters.py:14 +#: .\shop\filters.py:14 msgid "Categorías" msgstr "Categorías" -#: shop/models.py:19 shop/models.py:481 +#: .\shop\models.py:19 .\shop\models.py:481 msgid "fecha de creación" msgstr "fecha de creación" -#: shop/models.py:22 +#: .\shop\models.py:22 msgid "fecha de última modificación" msgstr "fecha de última modificación" -#: shop/models.py:36 +#: .\shop\models.py:36 msgid "etiqueta" msgstr "etiqueta" -#: shop/models.py:37 shop/models.py:109 +#: .\shop\models.py:37 .\shop\models.py:109 msgid "etiquetas" msgstr "etiquetas" -#: shop/models.py:48 +#: .\shop\models.py:48 msgid "categoría padre" msgstr "categoría padre" -#: shop/models.py:50 +#: .\shop\models.py:50 msgid "promocionada" msgstr "promocionada" -#: shop/models.py:51 +#: .\shop\models.py:51 msgid "oculta" msgstr "oculta" -#: shop/models.py:53 +#: .\shop\models.py:53 msgid "mostrar en cabecera" msgstr "mostrar en cabecera" -#: shop/models.py:59 +#: .\shop\models.py:59 msgid "slug" msgstr "slug" -#: shop/models.py:72 +#: .\shop\models.py:72 msgid "categoría" msgstr "categoría" -#: shop/models.py:73 shop/models.py:111 +#: .\shop\models.py:73 .\shop\models.py:111 msgid "categorías" msgstr "categorías" -#: shop/models.py:83 +#: .\shop\models.py:83 msgid "código de referencia" msgstr "código de referencia" -#: shop/models.py:89 shop/models.py:241 shop/models.py:268 shop/models.py:566 +#: .\shop\models.py:89 .\shop\models.py:241 .\shop\models.py:268 +#: .\shop\models.py:566 msgid "nombre" msgstr "nombre" -#: shop/models.py:94 +#: .\shop\models.py:94 msgid "descripción" msgstr "descripción" -#: shop/models.py:100 +#: .\shop\models.py:100 msgid "stock" msgstr "stock" -#: shop/models.py:103 +#: .\shop\models.py:103 msgid "es un activo digital" msgstr "es un activo digital" -#: shop/models.py:105 +#: .\shop\models.py:105 msgid "URL de descarga" msgstr "URL de descarga" -#: shop/models.py:107 +#: .\shop\models.py:107 msgid "imágenes" msgstr "imágenes" -#: shop/models.py:118 shop/models.py:272 +#: .\shop\models.py:118 .\shop\models.py:272 msgid "marca" msgstr "marca" -#: shop/models.py:121 +#: .\shop\models.py:121 msgid "Slug" msgstr "Slug" -#: shop/models.py:123 shop/models.py:555 +#: .\shop\models.py:123 .\shop\models.py:555 msgid "oculto" msgstr "oculto" -#: shop/models.py:125 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\shop\models.py:125 msgid "es forma de envío" msgstr "es forma de envío" -#: shop/models.py:141 shop/models.py:154 shop/models.py:190 shop/models.py:288 -#: shop/models.py:497 shop/models.py:584 +#: .\shop\models.py:141 .\shop\models.py:154 .\shop\models.py:190 +#: .\shop\models.py:288 .\shop\models.py:497 .\shop\models.py:584 msgid "producto" msgstr "producto" -#: shop/models.py:142 +#: .\shop\models.py:142 msgid "productos" msgstr "productos" -#: shop/models.py:148 shop/models.py:301 +#: .\shop\models.py:148 .\shop\models.py:301 msgid "precio" msgstr "precio" -#: shop/models.py:150 +#: .\shop\models.py:150 msgid "fecha" msgstr "fecha" -#: shop/models.py:160 +#: .\shop\models.py:160 msgid "impuesto aplicable" msgstr "impuesto aplicable" -#: shop/models.py:167 -#, fuzzy -#| msgid "total sin impuestos" +#: .\shop\models.py:167 msgid "precio con impuestos" -msgstr "total sin impuestos" +msgstr "precio con impuestos" -#: shop/models.py:169 +#: .\shop\models.py:169 msgid "es el precio actual" msgstr "es el precio actual" -#: shop/models.py:180 shop/models.py:181 +#: .\shop\models.py:180 .\shop\models.py:181 msgid "precio de producto" msgstr "precio de producto" -#: shop/models.py:187 +#: .\shop\models.py:187 msgid "código" msgstr "código" -#: shop/models.py:196 shop/models.py:296 shop/models.py:499 +#: .\shop\models.py:196 .\shop\models.py:296 .\shop\models.py:499 msgid "cantidad" msgstr "cantidad" -#: shop/models.py:199 +#: .\shop\models.py:199 msgid "fecha de caducidad / consumo preferente" msgstr "fecha de caducidad / consumo preferente" -#: shop/models.py:206 shop/models.py:262 +#: .\shop\models.py:206 .\shop\models.py:262 msgid "proveedor" msgstr "proveedor" -#: shop/models.py:213 +#: .\shop\models.py:213 msgid "remesa de producto" msgstr "remesa de producto" -#: shop/models.py:214 +#: .\shop\models.py:214 msgid "remesas de productos" msgstr "remesas de productos" -#: shop/models.py:219 +#: .\shop\models.py:219 msgid "código de impuesto" msgstr "código de impuesto" -#: shop/models.py:222 +#: .\shop\models.py:222 msgid "valor entero (porcentaje)" msgstr "valor entero (porcentaje)" -#: shop/models.py:229 +#: .\shop\models.py:229 msgid "impuesto" msgstr "impuesto" -#: shop/models.py:230 shop/models.py:321 +#: .\shop\models.py:230 .\shop\models.py:321 msgid "impuestos" msgstr "impuestos" -#: shop/models.py:239 +#: .\shop\models.py:239 msgid "documento de identidad" msgstr "documento de identidad" -#: shop/models.py:243 web/models.py:59 +#: .\shop\models.py:243 .\web\models.py:59 msgid "e-mail de contacto" msgstr "e-mail de contacto" -#: shop/models.py:249 +#: .\shop\models.py:249 msgid "Teléfono de contacto" msgstr "Teléfono de contacto" -#: shop/models.py:252 shop/models.py:414 shop/models.py:522 shop/models.py:525 +#: .\shop\models.py:252 .\shop\models.py:414 .\shop\models.py:522 +#: .\shop\models.py:525 msgid "dirección" msgstr "dirección" -#: shop/models.py:253 shop/models.py:417 +#: .\shop\models.py:253 .\shop\models.py:417 msgid "ciudad" msgstr "ciudad" -#: shop/models.py:254 shop/models.py:420 +#: .\shop\models.py:254 .\shop\models.py:420 msgid "región" msgstr "región" -#: shop/models.py:255 shop/models.py:423 shop/models.py:541 +#: .\shop\models.py:255 .\shop\models.py:423 .\shop\models.py:541 msgid "país" msgstr "país" -#: shop/models.py:256 shop/models.py:426 shop/models.py:531 +#: .\shop\models.py:256 .\shop\models.py:426 .\shop\models.py:531 msgid "código postal" msgstr "código postal" -#: shop/models.py:263 +#: .\shop\models.py:263 msgid "proveedores" msgstr "proveedores" -#: shop/models.py:273 +#: .\shop\models.py:273 msgid "marcas" msgstr "marcas" -#: shop/models.py:281 shop/models.py:466 shop/models.py:610 +#: .\shop\models.py:281 .\shop\models.py:466 .\shop\models.py:610 msgid "pedido" msgstr "pedido" -#: shop/models.py:311 +#: .\shop\models.py:311 msgid "total sin impuestos" msgstr "total sin impuestos" -#: shop/models.py:316 +#: .\shop\models.py:316 msgid "valor de impuestos" msgstr "valor de impuestos" -#: shop/models.py:326 shop/models.py:387 +#: .\shop\models.py:326 .\shop\models.py:387 msgid "total" msgstr "total" -#: shop/models.py:333 +#: .\shop\models.py:333 msgid "línea de pedido" msgstr "línea de pedido" -#: shop/models.py:334 +#: .\shop\models.py:334 msgid "líneas de pedido" msgstr "líneas de pedido" -#: shop/models.py:350 +#: .\shop\models.py:350 msgid "pendiente de pago" msgstr "pendiente de pago" -#: shop/models.py:351 +#: .\shop\models.py:351 msgid "pagado" msgstr "pagado" -#: shop/models.py:352 shop/models.py:364 +#: .\shop\models.py:352 .\shop\models.py:364 msgid "devuelto" msgstr "devuelto" -#: shop/models.py:353 web/templates/web/orders.html:78 +#: .\shop\models.py:353 .\web\templates\web\orders.html:78 msgid "Error" msgstr "Error" -#: shop/models.py:356 -#, fuzzy -#| msgid "preparado" +#: .\shop\models.py:356 msgid "no preparado" msgstr "no preparado" -#: shop/models.py:357 +#: .\shop\models.py:357 msgid "preparado" msgstr "preparado" -#: shop/models.py:358 +#: .\shop\models.py:358 msgid "listo para ser enviado" msgstr "listo para ser enviado" -#: shop/models.py:359 +#: .\shop\models.py:359 msgid "enviado" msgstr "enviado" -#: shop/models.py:360 +#: .\shop\models.py:360 msgid "entregado" msgstr "entregado" -#: shop/models.py:361 +#: .\shop\models.py:361 msgid "finalizado" msgstr "finalizado" -#: shop/models.py:362 +#: .\shop\models.py:362 msgid "cancelado" msgstr "cancelado" -#: shop/models.py:363 +#: .\shop\models.py:363 msgid "devolución solicitada" msgstr "devolución solicitada" -#: shop/models.py:366 +#: .\shop\models.py:366 msgid "UUID" msgstr "UUID" -#: shop/models.py:370 +#: .\shop\models.py:370 msgid "estado" msgstr "estado" -#: shop/models.py:376 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\shop\models.py:376 msgid "estado de envío" msgstr "estado de envío" -#: shop/models.py:383 +#: .\shop\models.py:383 msgid "base imponible" msgstr "base imponible" -#: shop/models.py:391 shop/models.py:614 +#: .\shop\models.py:391 .\shop\models.py:614 msgid "cliente" msgstr "cliente" -#: shop/models.py:393 shop/models.py:553 +#: .\shop\models.py:393 .\shop\models.py:553 msgid "e-mail" msgstr "e-mail" -#: shop/models.py:397 +#: .\shop\models.py:397 msgid "dirección de facturación" msgstr "dirección de facturación" -#: shop/models.py:400 +#: .\shop\models.py:400 msgid "ciudad de facturación" msgstr "ciudad de facturación" -#: shop/models.py:403 +#: .\shop\models.py:403 msgid "región de facturación" msgstr "región de facturación" -#: shop/models.py:406 +#: .\shop\models.py:406 msgid "país de facturación" msgstr "país de facturación" -#: shop/models.py:409 +#: .\shop\models.py:409 msgid "código postal de facturación" msgstr "código postal de facturación" -#: shop/models.py:429 +#: .\shop\models.py:429 msgid "teléfono de contacto" msgstr "teléfono de contacto" -#: shop/models.py:436 -#, fuzzy -#| msgid "Cantidad a pagar" +#: .\shop\models.py:436 msgid "cantidad pagada" msgstr "cantidad pagada" -#: shop/models.py:444 shop/models.py:577 -#, fuzzy -#| msgid "Métodos de pago" +#: .\shop\models.py:444 .\shop\models.py:577 msgid "método de envío" msgstr "método de envío" -#: shop/models.py:452 +#: .\shop\models.py:452 msgid "carrito de origen de pedido" msgstr "carrito de origen de pedido" -#: shop/models.py:467 +#: .\shop\models.py:467 msgid "pedidos" msgstr "pedidos" -#: shop/models.py:472 +#: .\shop\models.py:472 msgid "uuid" msgstr "uuid" -#: shop/models.py:476 shop/models.py:512 shop/models.py:582 +#: .\shop\models.py:476 .\shop\models.py:512 .\shop\models.py:582 msgid "usuario" msgstr "usuario" -#: shop/models.py:485 shop/models.py:494 -#, fuzzy -#| msgid "Carrito" +#: .\shop\models.py:485 .\shop\models.py:494 msgid "carrito" msgstr "carrito" -#: shop/models.py:486 -#, fuzzy -#| msgid "Carrito" +#: .\shop\models.py:486 msgid "carritos" msgstr "carritos" -#: shop/models.py:502 -#, fuzzy -#| msgid "línea de pedido" +#: .\shop\models.py:502 msgid "línea de carrito" msgstr "línea de carrito" -#: shop/models.py:503 -#, fuzzy -#| msgid "líneas de pedido" +#: .\shop\models.py:503 msgid "líneas de carrito" msgstr "líneas de carrito" -#: shop/models.py:508 -#, fuzzy -#| msgid "país de facturación" +#: .\shop\models.py:508 msgid "facturación" msgstr "facturación" -#: shop/models.py:509 +#: .\shop\models.py:509 msgid "envío" msgstr "envío" -#: shop/models.py:519 +#: .\shop\models.py:519 msgid "número de identificación fiscal" msgstr "número de identificación fiscal" -#: shop/models.py:528 -#, fuzzy -#| msgid "cantidad" +#: .\shop\models.py:528 msgid "localidad" msgstr "localidad" -#: shop/models.py:534 +#: .\shop\models.py:534 msgid "provincia" msgstr "provincia" -#: shop/models.py:544 -#, fuzzy -#| msgid "teléfono de contacto" +#: .\shop\models.py:544 msgid "teléfono" msgstr "teléfono" -#: shop/models.py:551 -#, fuzzy -#| msgid "dirección" +#: .\shop\models.py:551 msgid "tipo de dirección" msgstr "tipo de dirección" -#: shop/models.py:554 +#: .\shop\models.py:554 msgid "por defecto" msgstr "por defecto" -#: shop/models.py:561 -#, fuzzy -#| msgid "dirección de facturación" +#: .\shop\models.py:561 msgid "dirección de cliente" msgstr "dirección de cliente" -#: shop/models.py:562 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\shop\models.py:562 msgid "direcciones de cliente" -msgstr "Direcciones de envío" +msgstr "direcciones de cliente" -#: shop/models.py:568 -#, fuzzy -#| msgid "descripción" +#: .\shop\models.py:568 msgid "description" -msgstr "descripción" +msgstr "description" -#: shop/models.py:570 +#: .\shop\models.py:570 msgid "url" msgstr "url" -#: shop/models.py:572 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\shop\models.py:572 msgid "producto de envío" msgstr "producto de envío" -#: shop/models.py:574 +#: .\shop\models.py:574 msgid "habilitado" msgstr "habilitado" -#: shop/models.py:578 -#, fuzzy -#| msgid "Métodos de pago" +#: .\shop\models.py:578 msgid "métodos de envío" msgstr "métodos de envío" -#: shop/models.py:588 shop/models.py:589 -#, fuzzy -#| msgid "productos" +#: .\shop\models.py:588 .\shop\models.py:589 msgid "productos deseados" msgstr "productos deseados" -#: shop/models.py:600 +#: .\shop\models.py:600 msgid "Hash" msgstr "Hash" -#: shop/models.py:605 web/templates/components/cart/cart.html:23 -#: web/templates/components/cart/cart_navbar.html:40 -#, fuzzy -#| msgid "cantidad" +#: .\shop\models.py:605 .\web\templates\components\cart\cart.html:46 +#: .\web\templates\components\cart\cart_navbar.html:38 msgid "Cantidad" msgstr "Cantidad" -#: shop/models.py:618 +#: .\shop\models.py:618 msgid "Fecha de creación" msgstr "Fecha de creación" -#: shop/models.py:621 +#: .\shop\models.py:621 msgid "Metadata" msgstr "Metadata" -#: shop/models.py:627 -#, fuzzy -#| msgid "Métodos de pago" +#: .\shop\models.py:627 msgid "método de pago" msgstr "método de pago" -#: shop/models.py:631 +#: .\shop\models.py:631 msgid "Pago" msgstr "Pago" -#: shop/models.py:632 +#: .\shop\models.py:632 msgid "Pagos" msgstr "Pagos" -#: shop/models.py:640 -#, fuzzy -#| msgid "dirección de facturación" +#: .\shop\models.py:640 msgid "Identificación de comercio" msgstr "Identificación de comercio" -#: shop/models.py:646 -#, fuzzy -#| msgid "código de impuesto" +#: .\shop\models.py:646 msgid "Código de moneda" msgstr "Código de moneda" -#: shop/models.py:648 -#, fuzzy -#| msgid "pedidos" +#: .\shop\models.py:648 msgid "Terminal" msgstr "Terminal" -#: shop/models.py:649 -#, fuzzy -#| msgid "Pago de pedido en Redsys" +#: .\shop\models.py:649 msgid "Clave de Redsys" msgstr "Clave de Redsys" -#: shop/models.py:651 +#: .\shop\models.py:651 msgid "dominio del tpv" msgstr "dominio del tpv" -#: shop/models.py:655 shop/models.py:656 -#, fuzzy -#| msgid "ajustes de la web" +#: .\shop\models.py:655 .\shop\models.py:656 msgid "ajustes de la tienda" msgstr "ajustes de la tienda" -#: shop/settings.py:230 shop/utils.py:230 +#: .\shop\settings.py:230 .\shop\utils.py:230 msgid "Error no tipificado" msgstr "Error no tipificado" -#: shop/settings.py:231 +#: .\shop\settings.py:231 msgid "Transacción autorizada para devoluciones y confirmaciones" msgstr "Transacción autorizada para devoluciones y confirmaciones" -#: shop/settings.py:232 +#: .\shop\settings.py:232 msgid "Transacción autorizada para anulaciones" msgstr "Transacción autorizada para anulaciones" -#: shop/settings.py:233 +#: .\shop\settings.py:233 msgid "Tarjeta caducada" msgstr "Tarjeta caducada" -#: shop/settings.py:234 +#: .\shop\settings.py:234 msgid "Tarjeta en excepción transitoria o bajo sospecha de fraude" msgstr "Tarjeta en excepción transitoria o bajo sospecha de fraude" -#: shop/settings.py:235 +#: .\shop\settings.py:235 msgid "Intentos de PIN excedidos" msgstr "Intentos de PIN excedidos" -#: shop/settings.py:236 +#: .\shop\settings.py:236 msgid "Tarjeta no efectiva" msgstr "Tarjeta no efectiva" -#: shop/settings.py:237 +#: .\shop\settings.py:237 msgid "Código de seguridad (CVV2/CVC2) incorrecto" msgstr "Código de seguridad (CVV2/CVC2) incorrecto" -#: shop/settings.py:238 +#: .\shop\settings.py:238 msgid "Denegada, no repetir." msgstr "Denegada, no repetir." -#: shop/settings.py:239 +#: .\shop\settings.py:239 msgid "Denegada, no repetir sin actualizar datos de tarjeta." msgstr "Denegada, no repetir sin actualizar datos de tarjeta." -#: shop/settings.py:240 +#: .\shop\settings.py:240 msgid "Denegada, no repetir antes de 72 horas." msgstr "Denegada, no repetir antes de 72 horas." -#: shop/settings.py:241 +#: .\shop\settings.py:241 msgid "Tarjeta ajena al servicio" msgstr "Tarjeta ajena al servicio" -#: shop/settings.py:242 +#: .\shop\settings.py:242 msgid "Error en la autenticación del titular" msgstr "Error en la autenticación del titular" -#: shop/settings.py:243 +#: .\shop\settings.py:243 msgid "Denegación del emisor sin especificar motivo" msgstr "Denegación del emisor sin especificar motivo" -#: shop/settings.py:244 +#: .\shop\settings.py:244 msgid "Fecha de caducidad errónea" msgstr "Fecha de caducidad errónea" -#: shop/settings.py:245 +#: .\shop\settings.py:245 msgid "Requiere autenticación SCA" msgstr "Requiere autenticación SCA" -#: shop/settings.py:247 +#: .\shop\settings.py:247 msgid "" "Tarjeta en excepción transitoria o bajo sospecha de fraude con retirada de " "tarjeta" @@ -637,67 +595,67 @@ msgstr "" "Tarjeta en excepción transitoria o bajo sospecha de fraude con retirada de " "tarjeta" -#: shop/settings.py:249 +#: .\shop\settings.py:249 msgid "Comercio no registrado en FUC" msgstr "Comercio no registrado en FUC" -#: shop/settings.py:250 +#: .\shop\settings.py:250 msgid "Error de sistema" msgstr "Error de sistema" -#: shop/settings.py:251 +#: .\shop\settings.py:251 msgid "Pedido repetido" msgstr "Pedido repetido" -#: shop/settings.py:252 +#: .\shop\settings.py:252 msgid "Sesión Incorrecta" msgstr "Sesión Incorrecta" -#: shop/settings.py:253 +#: .\shop\settings.py:253 msgid "Operación de devolución no permitida" msgstr "Operación de devolución no permitida" -#: shop/settings.py:254 shop/settings.py:255 +#: .\shop\settings.py:254 .\shop\settings.py:255 msgid "Emisor no disponible" -msgstr "" +msgstr "Emisor no disponible" -#: shop/settings.py:256 +#: .\shop\settings.py:256 msgid "Número de posiciones de la tarjeta incorrecto" msgstr "Número de posiciones de la tarjeta incorrecto" -#: shop/settings.py:257 +#: .\shop\settings.py:257 msgid "Tipo de operación no permitida para esa tarjeta" msgstr "Tipo de operación no permitida para esa tarjeta" -#: shop/settings.py:258 +#: .\shop\settings.py:258 msgid "Tarjeta no existente" msgstr "Tarjeta no existente" -#: shop/settings.py:259 +#: .\shop\settings.py:259 msgid "Rechazo servidores internacionales" msgstr "Rechazo servidores internacionales" -#: shop/settings.py:260 +#: .\shop\settings.py:260 msgid "Comercio con titular seguro y titular sin clave de compra segura" msgstr "Comercio con titular seguro y titular sin clave de compra segura" -#: shop/settings.py:261 +#: .\shop\settings.py:261 msgid "El comercio no permite op. seguras por entrada /operaciones" msgstr "El comercio no permite op. seguras por entrada /operaciones" -#: shop/settings.py:262 +#: .\shop\settings.py:262 msgid "Tarjeta no cumple el check-digit" msgstr "Tarjeta no cumple el check-digit" -#: shop/settings.py:263 +#: .\shop\settings.py:263 msgid "El comercio no puede realizar preautorizaciones" msgstr "El comercio no puede realizar preautorizaciones" -#: shop/settings.py:264 +#: .\shop\settings.py:264 msgid "Esta tarjeta no permite operativa de preautorizaciones" msgstr "Esta tarjeta no permite operativa de preautorizaciones" -#: shop/settings.py:266 +#: .\shop\settings.py:266 msgid "" "Operación detenida por superar el control de restricciones en la entrada al " "SIS" @@ -705,663 +663,544 @@ msgstr "" "Operación detenida por superar el control de restricciones en la entrada al " "SIS" -#: shop/settings.py:268 +#: .\shop\settings.py:268 msgid "A petición del usuario se ha cancelado el pago" msgstr "A petición del usuario se ha cancelado el pago" -#: shop/settings.py:269 +#: .\shop\settings.py:269 msgid "Se está procesando otra transacción en SIS con la misma tarjeta" msgstr "Se está procesando otra transacción en SIS con la misma tarjeta" -#: shop/settings.py:270 +#: .\shop\settings.py:270 msgid "Operación en proceso de solicitud de datos de tarjeta" msgstr "Operación en proceso de solicitud de datos de tarjeta" -#: shop/settings.py:271 +#: .\shop\settings.py:271 msgid "Operación que ha sido redirigida al emisor a autenticar" msgstr "Operación que ha sido redirigida al emisor a autenticar" -#: shop/utils.py:218 +#: .\shop\utils.py:218 msgid "No se ha recibido ningún valor para Ds_MerchantParameters" msgstr "No se ha recibido ningún valor para Ds_MerchantParameters" -#: shop/utils.py:232 +#: .\shop\utils.py:232 #, python-brace-format msgid "No se ha realizado el pago. Motivo: {reason}" msgstr "No se ha realizado el pago. Motivo: {reason}" -#: users/forms/login.py:18 +#: .\users\forms\login.py:13 .\users\forms\register.py:14 +#: .\users\forms\reset_password.py:16 +msgid "pablo@shoppy.com" +msgstr "pablo@shoppy.com" + +#: .\users\forms\login.py:26 msgid "Contraseña" msgstr "Contraseña" -#: users/forms/login.py:31 +#: .\users\forms\login.py:39 msgid "Mantener sesión iniciada" msgstr "Mantener sesión iniciada" -#: users/forms/reset_password.py:16 users/forms/reset_password.py:32 +#: .\users\forms\register.py:15 +msgid "Pablo" +msgstr "Pablo" + +#: .\users\forms\register.py:16 +msgid "Moreno" +msgstr "Moreno" + +#: .\users\forms\reset_password.py:42 msgid "El token no es válido o ha expirado" msgstr "El token no es válido o ha expirado" -#: web/models.py:9 +#: .\web\models.py:9 msgid "título de la web" msgstr "título de la web" -#: web/models.py:12 -#, fuzzy -#| msgid "descripción" +#: .\web\models.py:12 msgid "descripción de la web" msgstr "descripción de la web" -#: web/models.py:15 +#: .\web\models.py:15 msgid "logo de la web" msgstr "logo de la web" -#: web/models.py:22 +#: .\web\models.py:22 msgid "nombre de negocio" msgstr "nombre de negocio" -#: web/models.py:23 +#: .\web\models.py:23 msgid "nombre fiscal del comercio" msgstr "nombre fiscal del comercio" -#: web/models.py:26 +#: .\web\models.py:26 msgid "CIF del negocio" msgstr "CIF del negocio" -#: web/models.py:32 +#: .\web\models.py:32 msgid "marca de negocio" msgstr "marca de negocio" -#: web/models.py:33 +#: .\web\models.py:33 msgid "marca o nombre comercial que se va a mostrar en la web" msgstr "marca o nombre comercial que se va a mostrar en la web" -#: web/models.py:37 -#, fuzzy -#| msgid "dirección de facturación" +#: .\web\models.py:37 msgid "dirección de negocio" msgstr "dirección de negocio" -#: web/models.py:43 +#: .\web\models.py:43 msgid "unidad territorial del negocio" msgstr "unidad territorial del negocio" -#: web/models.py:49 -#, fuzzy -#| msgid "código postal de facturación" +#: .\web\models.py:49 msgid "código postal del negocio" msgstr "código postal del negocio" -#: web/models.py:56 -#, fuzzy -#| msgid "teléfono de contacto" +#: .\web\models.py:56 msgid "número de teléfono de contacto" msgstr "número de teléfono de contacto" -#: web/models.py:65 -#, fuzzy -#| msgid "e-mail de contacto" +#: .\web\models.py:65 msgid "e-mail secundario de contacto" msgstr "e-mail secundario de contacto" -#: web/models.py:73 +#: .\web\models.py:73 msgid "color de fondo" msgstr "color de fondo" -#: web/models.py:76 -#, fuzzy -#| msgid "Error de sistema" +#: .\web\models.py:76 msgid "color de tema" msgstr "color de tema" -#: web/models.py:79 +#: .\web\models.py:79 msgid "logo 240x240" msgstr "logo 240x240" -#: web/models.py:82 +#: .\web\models.py:82 msgid "logo 128x128" msgstr "logo 128x128" -#: web/models.py:86 web/models.py:87 +#: .\web\models.py:86 .\web\models.py:87 msgid "ajustes de la web" msgstr "ajustes de la web" -#: web/templates/components/cart/add_to_cart.html:17 +#: .\web\templates\components\cart\add_to_cart.html:17 msgid "Añadir al carrito" msgstr "Añadir al carrito" -#: web/templates/components/cart/cart.html:6 +#: .\web\templates\components\cart\cart.html:6 +#: .\web\templates\components\cart\cart_navbar.html:9 msgid "Carrito" msgstr "Carrito" -#: web/templates/components/cart/cart.html:54 -#: web/templates/components/cart/cart_navbar.html:47 +#: .\web\templates\components\cart\cart.html:41 +#: .\web\templates\components\cart\cart_navbar.html:45 msgid "Quitar" msgstr "Quitar" -#: web/templates/components/cart/cart.html:66 web/templates/web/order.html:62 +#: .\web\templates\components\cart\cart.html:69 +#: .\web\templates\web\order.html:62 msgid "No hay nada en el carrito..." msgstr "No hay nada en el carrito..." -#: web/templates/components/cart/cart.html:71 web/templates/web/order.html:67 +#: .\web\templates\components\cart\cart.html:74 +#: .\web\templates\web\order.html:67 msgid "Volver a inicio" msgstr "Volver a inicio" -#: web/templates/components/cart/cart.html:77 -#: web/templates/users/user_details.html:67 web/templates/web/order.html:74 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\web\templates\components\cart\cart.html:80 +#: .\web\templates\users\user_details.html:67 +#: .\web\templates\web\order.html:74 msgid "Dirección de envío" msgstr "Dirección de envío" -#: web/templates/components/cart/cart.html:86 -#: web/templates/components/cart/cart.html:91 +#: .\web\templates\components\cart\cart.html:90 +#: .\web\templates\components\cart\cart.html:95 msgid "E-Mail" msgstr "E-Mail" -#: web/templates/components/cart/cart.html:101 -#: web/templates/components/cart/cart.html:106 -#: web/templates/components/cart/cart.html:184 -#: web/templates/components/cart/cart.html:189 -#: web/templates/users/user_details.html:40 +#: .\web\templates\components\cart\cart.html:106 +#: .\web\templates\components\cart\cart.html:111 +#: .\web\templates\components\cart\cart.html:199 +#: .\web\templates\components\cart\cart.html:204 +#: .\web\templates\users\user_details.html:40 msgid "Nombre completo" msgstr "Nombre completo" -#: web/templates/components/cart/cart.html:111 -#: web/templates/components/cart/cart.html:116 -#: web/templates/components/cart/cart.html:194 -#: web/templates/components/cart/cart.html:199 -#: web/templates/users/user_details.html:46 -#, fuzzy -#| msgid "dirección" +#: .\web\templates\components\cart\cart.html:117 +#: .\web\templates\components\cart\cart.html:122 +#: .\web\templates\components\cart\cart.html:210 +#: .\web\templates\components\cart\cart.html:216 +#: .\web\templates\users\user_details.html:46 msgid "Dirección" msgstr "Dirección" -#: web/templates/components/cart/cart.html:123 -#: web/templates/components/cart/cart.html:128 -#: web/templates/components/cart/cart.html:206 -#: web/templates/components/cart/cart.html:211 -#: web/templates/users/user_details.html:72 -#, fuzzy -#| msgid "cantidad" +#: .\web\templates\components\cart\cart.html:130 +#: .\web\templates\components\cart\cart.html:136 +#: .\web\templates\components\cart\cart.html:224 +#: .\web\templates\components\cart\cart.html:230 +#: .\web\templates\users\user_details.html:72 msgid "Localidad" msgstr "Localidad" -#: web/templates/components/cart/cart.html:135 -#: web/templates/components/cart/cart.html:140 -#: web/templates/components/cart/cart.html:218 -#: web/templates/components/cart/cart.html:223 -#: web/templates/users/user_details.html:52 -#, fuzzy -#| msgid "código postal" +#: .\web\templates\components\cart\cart.html:144 +#: .\web\templates\components\cart\cart.html:150 +#: .\web\templates\components\cart\cart.html:238 +#: .\web\templates\components\cart\cart.html:244 +#: .\web\templates\users\user_details.html:52 msgid "Código postal" msgstr "Código postal" -#: web/templates/components/cart/cart.html:148 -#: web/templates/components/cart/cart.html:153 -#: web/templates/components/cart/cart.html:231 -#: web/templates/components/cart/cart.html:236 -#: web/templates/users/user_details.html:76 +#: .\web\templates\components\cart\cart.html:159 +#: .\web\templates\components\cart\cart.html:165 +#: .\web\templates\components\cart\cart.html:253 +#: .\web\templates\components\cart\cart.html:259 +#: .\web\templates\users\user_details.html:76 msgid "Provincia" msgstr "Provincia" -#: web/templates/components/cart/cart.html:161 -#: web/templates/components/cart/cart.html:166 -#: web/templates/components/cart/cart.html:244 -#: web/templates/components/cart/cart.html:249 +#: .\web\templates\components\cart\cart.html:174 +#: .\web\templates\components\cart\cart.html:180 +#: .\web\templates\components\cart\cart.html:268 +#: .\web\templates\components\cart\cart.html:274 msgid "País" msgstr "País" -#: web/templates/components/cart/cart.html:176 -#: web/templates/users/user_details.html:65 web/templates/web/order.html:89 -#, fuzzy -#| msgid "dirección de facturación" +#: .\web\templates\components\cart\cart.html:190 +#: .\web\templates\users\user_details.html:65 +#: .\web\templates\web\order.html:89 msgid "Dirección de facturación" msgstr "Dirección de facturación" -#: web/templates/components/cart/cart.html:260 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\web\templates\components\cart\cart.html:285 msgid "Opciones de envío" msgstr "Opciones de envío" -#: web/templates/components/cart/cart.html:288 web/templates/web/order.html:10 -#: web/templates/web/order.html:119 -#, fuzzy -#| msgid "líneas de pedido" +#: .\web\templates\components\cart\cart.html:316 +#: .\web\templates\web\order.html:10 .\web\templates\web\order.html:119 msgid "Resumen del pedido" msgstr "Resumen del pedido" -#: web/templates/components/cart/cart.html:294 web/templates/web/order.html:126 -#, fuzzy -#| msgid "base imponible" +#: .\web\templates\components\cart\cart.html:324 +#: .\web\templates\web\order.html:126 msgid "Base imponible" msgstr "Base imponible" -#: web/templates/components/cart/cart.html:299 web/templates/web/order.html:134 +#: .\web\templates\components\cart\cart.html:332 +#: .\web\templates\web\order.html:134 msgid "Descuentos" msgstr "Descuentos" -#: web/templates/components/cart/cart.html:305 web/templates/web/order.html:142 -#, fuzzy -#| msgid "Direcciones de envío" +#: .\web\templates\components\cart\cart.html:340 +#: .\web\templates\web\order.html:142 msgid "Gastos de envío" msgstr "Gastos de envío" -#: web/templates/components/cart/cart.html:310 web/templates/web/order.html:151 -#, fuzzy -#| msgid "impuestos" +#: .\web\templates\components\cart\cart.html:349 +#: .\web\templates\web\order.html:151 msgid "Impuestos" msgstr "Impuestos" -#: web/templates/components/cart/cart.html:316 web/templates/web/order.html:159 -#: web/templates/web/orders.html:40 -#, fuzzy -#| msgid "total" +#: .\web\templates\components\cart\cart.html:357 +#: .\web\templates\web\order.html:159 .\web\templates\web\orders.html:40 msgid "Total" msgstr "Total" -#: web/templates/components/cart/cart.html:323 -#, fuzzy -#| msgid "pedidos" +#: .\web\templates\components\cart\cart.html:364 msgid "Terminar pedido" msgstr "Terminar pedido" -#: web/templates/components/cart/cart.html:327 web/templates/web/order.html:177 +#: .\web\templates\components\cart\cart.html:368 +#: .\web\templates\web\order.html:177 msgid "o" msgstr "o" -#: web/templates/components/cart/cart.html:330 web/templates/web/order.html:180 +#: .\web\templates\components\cart\cart.html:371 +#: .\web\templates\web\order.html:180 msgid "Seguir comprando" msgstr "Seguir comprando" -#: web/templates/components/cart/cart_navbar.html:9 -msgid "" -"\n" -" Carrito\n" -" " -msgstr "" -"\n" -" Carrito\n" -" " - -#: web/templates/components/cart/cart_navbar.html:56 -#, fuzzy -#| msgid "Añadir al carrito" +#: .\web\templates\components\cart\cart_navbar.html:54 msgid "Quitar del carrito" msgstr "Quitar del carrito" -#: web/templates/components/cart/cart_navbar.html:69 -#, fuzzy -#| msgid "Carrito" +#: .\web\templates\components\cart\cart_navbar.html:68 msgid "Ver carrito" msgstr "Ver carrito" -#: web/templates/components/generic/navbar.html:22 -#: web/templates/components/generic/navbar.html:88 +#: .\web\templates\components\generic\navbar.html:22 +#: .\web\templates\components\generic\navbar.html:88 msgid "Inicio" msgstr "Inicio" -#: web/templates/components/generic/navbar.html:53 -#: web/templates/components/users/user_dropdown.html:6 -#: web/templates/users/user_details.html:10 +#: .\web\templates\components\generic\navbar.html:53 +#: .\web\templates\components\users\user_dropdown.html:6 +#: .\web\templates\users\user_details.html:10 msgid "Mi cuenta" msgstr "Mi cuenta" -#: web/templates/components/generic/navbar.html:76 +#: .\web\templates\components\generic\navbar.html:76 msgid "Abrir menú" msgstr "Abrir menú" -#: web/templates/components/products/list_filters.html:14 -#: web/templates/components/products/list_filters.html:23 +#: .\web\templates\components\generic\spinner.html:12 +msgid "Cargando..." +msgstr "Cargando..." + +#: .\web\templates\components\generic\toast.html:20 +msgid "Cerrar" +msgstr "Cerrar" + +#: .\web\templates\components\products\list_filters.html:14 +#: .\web\templates\components\products\list_filters.html:23 msgid "Buscar" msgstr "Buscar" -#: web/templates/components/users/user_dropdown.html:12 -#: web/templates/web/orders.html:10 -#, fuzzy -#| msgid "pedidos" +#: .\web\templates\components\users\user_dropdown.html:12 +#: .\web\templates\web\orders.html:10 msgid "Mis pedidos" msgstr "Mis pedidos" -#: web/templates/components/users/user_dropdown.html:18 -#: web/templates/web/wishlist.html:17 -#, fuzzy -#| msgid "Añadir a lista de deseados" +#: .\web\templates\components\users\user_dropdown.html:18 +#: .\web\templates\web\wishlist.html:17 msgid "Lista de deseados" msgstr "Lista de deseados" -#: web/templates/components/users/user_dropdown.html:26 +#: .\web\templates\components\users\user_dropdown.html:26 msgid "Cerrar sesión" msgstr "Cerrar sesión" -#: web/templates/mails/reset_password.html:2 +#: .\web\templates\mails\reset_password.html:2 #, python-format msgid "" "You're receiving this email because you requested a password reset for your " "user account at %(site_name)s." msgstr "" -"Ha recibido este correo electrónico porque ha solicitado restablecer la " -"contraseña para su cuenta en %(site_name)s." +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." -#: web/templates/mails/reset_password.html:4 +#: .\web\templates\mails\reset_password.html:4 msgid "Please go to the following page and choose a new password:" -msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña:" +msgstr "Please go to the following page and choose a new password:" -#: web/templates/mails/reset_password.html:8 +#: .\web\templates\mails\reset_password.html:8 msgid "Your username, in case you’ve forgotten:" -msgstr "Su nombre de usuario, en caso de que lo haya olvidado:" +msgstr "Your username, in case you’ve forgotten:" -#: web/templates/mails/reset_password.html:10 +#: .\web\templates\mails\reset_password.html:10 msgid "Thanks for using our site!" -msgstr " ¡Gracias por usar nuestro sitio!" +msgstr "Thanks for using our site!" -#: web/templates/mails/reset_password.html:12 +#: .\web\templates\mails\reset_password.html:12 #, python-format msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" +msgstr "The %(site_name)s team" -#: web/templates/users/login.html:18 +#: .\web\templates\mails\subject_reset_password.txt:2 +#, python-format +msgid "Password reset on %(site_name)s" +msgstr "Password reset on %(site_name)s" + +#: .\web\templates\users\login.html:18 msgid "Inicia sesión en tu cuenta" msgstr "Inicia sesión en tu cuenta" -#: web/templates/users/login.html:45 web/templates/users/reset_password.html:37 -#: web/templates/users/reset_password_confirm.html:38 -#: web/templates/users/reset_password_email_sent.html:22 +#: .\web\templates\users\login.html:42 +#: .\web\templates\users\reset_password.html:37 +#: .\web\templates\users\reset_password_confirm.html:38 +#: .\web\templates\users\reset_password_email_sent.html:22 msgid "¿Aún no tienes cuenta?" msgstr "¿Aún no tienes cuenta?" -#: web/templates/users/login.html:47 web/templates/users/reset_password.html:38 -#: web/templates/users/reset_password_confirm.html:39 -#: web/templates/users/reset_password_email_sent.html:24 +#: .\web\templates\users\login.html:44 +#: .\web\templates\users\reset_password.html:38 +#: .\web\templates\users\reset_password_confirm.html:39 +#: .\web\templates\users\reset_password_email_sent.html:24 msgid "Regístrate aquí" msgstr "Regístrate aquí" -#: web/templates/users/login.html:53 -#, fuzzy -#| msgid "Cerrar sesión" +#: .\web\templates\users\login.html:55 msgid "Iniciar sesión" msgstr "Iniciar sesión" -#: web/templates/users/login.html:59 +#: .\web\templates\users\login.html:61 msgid "¿Has olvidado tu contraseña?" msgstr "¿Has olvidado tu contraseña?" -#: web/templates/users/register.html:17 -#, fuzzy -#| msgid "Mi cuenta" +#: .\web\templates\users\register.html:17 msgid "Crea tu cuenta" msgstr "Crea tu cuenta" -#: web/templates/users/register.html:42 web/views/users.py:109 -#, fuzzy -#| msgid "Mi cuenta" +#: .\web\templates\users\register.html:42 .\web\views\users.py:117 msgid "Crear cuenta" msgstr "Crear cuenta" -#: web/templates/users/register.html:45 -#, fuzzy -#| msgid "¿Aún no tienes cuenta?" +#: .\web\templates\users\register.html:45 msgid "¿Ya tienes cuenta?" msgstr "¿Ya tienes cuenta?" -#: web/templates/users/register.html:46 -#, fuzzy -#| msgid "Cerrar sesión" +#: .\web\templates\users\register.html:46 msgid "Inicia sesión aquí" -msgstr "Iniciar sesión aquí" +msgstr "Inicia sesión aquí" -#: web/templates/users/reset_password.html:17 -#: web/templates/users/reset_password.html:34 -#: web/templates/users/reset_password_confirm.html:17 -#: web/templates/users/reset_password_confirm.html:35 web/views/users.py:149 +#: .\web\templates\users\reset_password.html:17 +#: .\web\templates\users\reset_password.html:34 +#: .\web\templates\users\reset_password_confirm.html:17 +#: .\web\templates\users\reset_password_confirm.html:35 +#: .\web\views\users.py:156 msgid "Restablecer contraseña" msgstr "Restablecer contraseña" -#: web/templates/users/reset_password_email_sent.html:18 +#: .\web\templates\users\reset_password_email_sent.html:18 msgid "Se te ha enviado un correo electrónico para restablecer tu contraseña" msgstr "Se te ha enviado un correo electrónico para restablecer tu contraseña" -#: web/templates/users/user_details.html:24 -#, fuzzy -#| msgid "dirección" +#: .\web\templates\users\user_details.html:24 msgid "Mis direcciones" msgstr "Mis direcciones" -#: web/templates/users/user_details.html:32 -#, fuzzy -#| msgid "dirección" +#: .\web\templates\users\user_details.html:32 msgid "No hay ninguna dirección" -msgstr "tipo de dirección" +msgstr "No hay ninguna dirección" -#: web/templates/users/user_details.html:56 -#, fuzzy -#| msgid "Teléfono de contacto" +#: .\web\templates\users\user_details.html:56 msgid "Teléfono" msgstr "Teléfono" -#: web/templates/users/user_details.html:90 +#: .\web\templates\users\user_details.html:90 msgid "Editar datos" msgstr "Editar datos" -#: web/templates/web/list_products.html:24 +#: .\web\templates\web\list_products.html:24 msgid "Anterior" msgstr "Anterior" -#: web/templates/web/list_products.html:38 -#, fuzzy -#| msgid "cliente" +#: .\web\templates\web\list_products.html:38 msgid "Siguiente" msgstr "Siguiente" -#: web/templates/web/order.html:13 web/templates/web/orders.html:51 +#: .\web\templates\web\order.html:13 .\web\templates\web\orders.html:51 msgid "Pagado" msgstr "Pagado" -#: web/templates/web/order.html:104 -#, fuzzy -#| msgid "Métodos de pago" +#: .\web\templates\web\order.html:104 msgid "Método de envío" -msgstr "método de envío" +msgstr "Método de envío" -#: web/templates/web/order.html:173 -#, fuzzy -#| msgid "Pagado" +#: .\web\templates\web\order.html:173 msgid "Pagar" msgstr "Pagar" -#: web/templates/web/orders.html:20 -#, fuzzy -#| msgid "línea de pedido" +#: .\web\templates\web\orders.html:20 msgid "Número de pedido" msgstr "Número de pedido" -#: web/templates/web/orders.html:31 -#, fuzzy -#| msgid "fecha" +#: .\web\templates\web\orders.html:31 msgid "Fecha" msgstr "Fecha" -#: web/templates/web/orders.html:56 -#, fuzzy -#| msgid "habilitado" +#: .\web\templates\web\orders.html:56 msgid "Tramitado" msgstr "Tramitado" -#: web/templates/web/orders.html:60 -#, fuzzy -#| msgid "preparado" +#: .\web\templates\web\orders.html:60 msgid "Preparado" msgstr "Preparado" -#: web/templates/web/orders.html:64 +#: .\web\templates\web\orders.html:64 msgid "Listo" msgstr "Listo" -#: web/templates/web/orders.html:68 -#, fuzzy -#| msgid "enviado" +#: .\web\templates\web\orders.html:68 msgid "Enviado" msgstr "Enviado" -#: web/templates/web/orders.html:72 -#, fuzzy -#| msgid "entregado" +#: .\web\templates\web\orders.html:72 msgid "Entregado" msgstr "Entregado" -#: web/templates/web/orders.html:82 -#, fuzzy -#| msgid "devuelto" +#: .\web\templates\web\orders.html:82 msgid "Devuelto" msgstr "Devuelto" -#: web/templates/web/orders.html:89 -#, fuzzy -#| msgid "pedido" +#: .\web\templates\web\orders.html:89 msgid "Ver pedido" msgstr "Ver pedido" -#: web/urls.py:41 +#: .\web\urls.py:41 msgid "wishlist" msgstr "lista-deseados" -#: web/urls.py:42 +#: .\web\urls.py:42 msgid "categories//" msgstr "categorias//" -#: web/urls.py:43 +#: .\web\urls.py:43 msgid "products///" msgstr "productos///" -#: web/urls.py:44 +#: .\web\urls.py:44 msgid "cart/" msgstr "carrito/" -#: web/urls.py:45 +#: .\web\urls.py:45 msgid "orders/" msgstr "pedidos/" -#: web/urls.py:46 +#: .\web\urls.py:46 msgid "order//" -msgstr "pedido//" +msgstr "pedidos//" -#: web/urls.py:48 +#: .\web\urls.py:48 msgid "login/" msgstr "iniciar-sesion/" -#: web/urls.py:49 +#: .\web\urls.py:49 msgid "logout/" msgstr "cerrar-sesion/" -#: web/urls.py:50 +#: .\web\urls.py:50 msgid "register/" msgstr "crear-cuenta/" -#: web/urls.py:51 -#, fuzzy -#| msgid "Password" +#: .\web\urls.py:51 msgid "reset-password/" -msgstr "restablecer-contrasena/" +msgstr "restablecer-contraseña/" -#: web/urls.py:53 -#, fuzzy -#| msgid "reset///" +#: .\web\urls.py:53 msgid "reset-password///" msgstr "restablecer-contrasena///" -#: web/urls.py:58 -#, fuzzy -#| msgid "Password" +#: .\web\urls.py:58 msgid "reset-password/email-sent/" msgstr "restablecer-contrasena/email-enviado/" -#: web/urls.py:62 +#: .\web\urls.py:62 msgid "my-account/" msgstr "mi-cuenta/" -#: web/views/users.py:48 +#: .\web\views\users.py:48 msgid "inicio de sesión" msgstr "inicio de sesión" -#: web/views/users.py:77 -#, fuzzy -#| msgid "Mi cuenta" +#: .\web\views\users.py:85 msgid "crear cuenta" msgstr "crear cuenta" -#: web/views/users.py:100 +#: .\web\views\users.py:108 msgid "Ya existe un usuario con ese correo electrónico" msgstr "Ya existe un usuario con ese correo electrónico" -#: web/views/users.py:212 +#: .\web\views\users.py:227 msgid "Establecer nueva contraseña" msgstr "Establecer nueva contraseña" -#: web/views/web.py:86 +#: .\web\views\web.py:48 +#, python-brace-format +msgid "{settings.web_title} - {category.name}" +msgstr "{settings.web_title} - {category.name}" + +#: .\web\views\web.py:82 msgid "resumen del carrito" msgstr "resumen del carrito" - -#~ msgid "Introduce tu e-mail" -#~ msgstr "Introduce tu e-mail" - -#~ msgid "Pendiente" -#~ msgstr "Pendiente" - -#~ msgid "Estado" -#~ msgstr "Estado" - -#~ msgid "Fecha de última modificación" -#~ msgstr "Fecha de última modificación" - -#~ msgid "Email de contacto" -#~ msgstr "Email de contacto" - -#~ msgid "Observaciones" -#~ msgstr "Observaciones" - -#~ msgid "Pagos de pedidos en Redsys" -#~ msgstr "Pagos de pedidos en Redsys" - -#~ msgid "Comprar" -#~ msgstr "Comprar" - -#~ msgid "Ajustes" -#~ msgstr "Ajustes" - -#~ msgid "Direcciones de envío" -#~ msgstr "Direcciones de envío" - -#~ msgid "apellidos" -#~ msgstr "apellidos" - -#~ msgid "clientes" -#~ msgstr "clientes" - -#, fuzzy -#~| msgid "Cantidad a pagar" -#~ msgid "Ir a pagar" -#~ msgstr "Cantidad a pagar" - -#, fuzzy -#~| msgid "pedidos" -#~ msgid "Más vendidos" -#~ msgstr "Más vendidos" - -#~ msgid "Ideas de regalo" -#~ msgstr "Ideas de regalo" - -#~ msgid "Ofertas del día" -#~ msgstr "Ofertas del día" - -#~ msgid "Juegos" -#~ msgstr "Juegos" - -#~ msgid "Electrónica" -#~ msgstr "Electrónica" - -#~ msgid "Mostrar mas" -#~ msgstr "Mostrar mas" - -#~ msgid "Añadir a lista de deseados" -#~ msgstr "Añadir a lista de deseados" diff --git a/users/forms/login.py b/users/forms/login.py index fd9ed9e..2d025b1 100644 --- a/users/forms/login.py +++ b/users/forms/login.py @@ -6,11 +6,11 @@ from web.mixins import StylingMixin class LoginForm(StylingMixin, AuthenticationForm): - styled_fields = ['username', 'password', ] - placeholder_for_field = { - "username": _("pablo@shoppy.com"), - "password": "********" - } + styled_fields = [ + "username", + "password", + ] + placeholder_for_field = {"username": _("pablo@shoppy.com"), "password": "********"} username = UsernameField( widget=forms.EmailInput( diff --git a/users/forms/register.py b/users/forms/register.py index db46d92..451c5ff 100644 --- a/users/forms/register.py +++ b/users/forms/register.py @@ -11,7 +11,7 @@ class RegisterForm(StylingMixin, BaseUserCreationForm, SetPasswordMixin): password1, password2 = SetPasswordMixin.create_password_fields() styled_fields = ["email", "first_name", "last_name", "password1", "password2"] placeholder_for_field = { - "email": _('pablo@shoppy.com'), + "email": _("pablo@shoppy.com"), "first_name": _("Pablo"), "last_name": _("Moreno"), "password1": "********", diff --git a/users/forms/reset_password.py b/users/forms/reset_password.py index a9c22e3..ecbc734 100644 --- a/users/forms/reset_password.py +++ b/users/forms/reset_password.py @@ -9,14 +9,19 @@ from web.mixins import StylingMixin class PasswordResetForm(StylingMixin, BasePasswordResetForm): - styled_fields = ['email', ] + styled_fields = [ + "email", + ] placeholder_for_field = { "email": _("pablo@shoppy.com"), } class SetPasswordForm(StylingMixin, BaseSetPasswordForm): - styled_fields = ['new_password1', 'new_password2', ] + styled_fields = [ + "new_password1", + "new_password2", + ] placeholder_for_field = { "new_password1": "********", "new_password2": "********", @@ -40,6 +45,6 @@ class SetPasswordForm(StylingMixin, BaseSetPasswordForm): try: self.validate_token() except ValidationError as e: - self.add_error('token', str(e)) + self.add_error("token", str(e)) return False return super().is_valid() diff --git a/web/mixins.py b/web/mixins.py index 97f24ed..7ba84fd 100644 --- a/web/mixins.py +++ b/web/mixins.py @@ -43,9 +43,9 @@ class StylingMixin: field.widget.attrs.update( { "class": "my-2 bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg " - "focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 " - "dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 " - "dark:focus:border-primary-500" + "focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 " + "dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 " + "dark:focus:border-primary-500" } ) diff --git a/web/templates/components/cart/cart_navbar.html b/web/templates/components/cart/cart_navbar.html index 7280298..febdb2a 100644 --- a/web/templates/components/cart/cart_navbar.html +++ b/web/templates/components/cart/cart_navbar.html @@ -6,9 +6,7 @@ class="inline-flex items-center rounded-lg justify-center p-2 hover:bg-gray-100 dark:hover:bg-gray-700 text-sm font-medium leading-none text-gray-900 dark:text-white"> {% include 'components/icons/cart.svg' %} + {% translate 'Carrito' %} ({{ cart.items.count }}) diff --git a/web/templates/components/generic/toast.html b/web/templates/components/generic/toast.html new file mode 100644 index 0000000..56f1873 --- /dev/null +++ b/web/templates/components/generic/toast.html @@ -0,0 +1,26 @@ + diff --git a/web/views/users.py b/web/views/users.py index 6ff20fe..fb512a8 100644 --- a/web/views/users.py +++ b/web/views/users.py @@ -60,10 +60,15 @@ class LoginView(View, RedirectionMixin): return redirect(self.get_redirection()) - return render(request, self.template_name, { - "form": login_form, - "errors": login_form.errors.get('__all__'), - }, status=400) + return render( + request, + self.template_name, + { + "form": login_form, + "errors": login_form.errors.get("__all__"), + }, + status=400, + ) class RegisterView(TemplateView, RedirectionMixin): diff --git a/web/views/web.py b/web/views/web.py index 25e95af..1b37ec7 100644 --- a/web/views/web.py +++ b/web/views/web.py @@ -45,7 +45,7 @@ class CategoryView(TemplateView): category = ProductCategory.objects.get(slug=slug) return { - "title": _(f'{settings.web_title} - {category.name}'), + "title": _(f"{settings.web_title} - {category.name}"), "description": settings.web_description, "category": category, "filter_by_category": True, @@ -61,7 +61,7 @@ class ProductDetail(TemplateView): return { "product": product, - "title": f'{settings.web_title} - {product.name}', + "title": f"{settings.web_title} - {product.name}", "description": product.description, "image": product.images.first(), }