From fc0cdad2467425fa10d59ca2fd9edeac36969896 Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Wed, 8 Jan 2025 16:27:45 +0100 Subject: [PATCH] feat: added gonk and qol --- config/settings/base.py | 11 +- locale/es_ES/LC_MESSAGES/django.po | 805 ++++++++++++++++++++++++----- requirements.txt | 6 +- web/urls.py | 30 +- 4 files changed, 691 insertions(+), 161 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index b42bc0b..7e3c03b 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -30,6 +30,7 @@ THIRD_PARTY_APPS = [ "django_filters", "watchman", "drf_spectacular", + "gonk", "rest_framework_simplejwt", "tailwind", ] @@ -87,14 +88,14 @@ WSGI_APPLICATION = "config.wsgi.application" # Database -# https://docs.djangoproject.com/en/4.2/ref/settings/#databases +# https://docs.djangoproject.com/en/5.1/ref/settings/#databases DATABASES = { "default": DATABASE_URL, } # Password validation -# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators +# https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { @@ -113,7 +114,7 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization -# https://docs.djangoproject.com/en/4.2/topics/i18n/ +# https://docs.djangoproject.com/en/5.1/topics/i18n/ LANGUAGE_CODE = "es-es" @@ -127,7 +128,7 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/4.2/howto/static-files/ +# https://docs.djangoproject.com/en/5.1/howto/static-files/ STATIC_URL = "/static/" STATIC_ROOT = BASE_DIR / "static" @@ -184,7 +185,7 @@ SPECTACULAR_SETTINGS = { "SERVE_INCLUDE_SCHEMA": False, } -CELERY_BROKER_URL = env.str("CELERY_BROKER_URL", default="redis://172.17.0.1:6379/0") +CELERY_BROKER_URL = env.str("CELERY_BROKER_URL", default="memory://localhost:8000//") CELERY_TIME_ZONE = TIME_ZONE CELERY_ALWAYS_EAGER = DEBUG diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 796410d..66d4f9a 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es_ES/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-23 20:47+0100\n" +"POT-Creation-Date: 2025-01-08 11:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: shop/api/v1/viewsets.py:72 +#: shop/api/v1/viewsets.py:70 msgid "No se puede borrar el producto" msgstr "No se puede borrar el producto" @@ -29,282 +29,439 @@ msgstr "Nombre" msgid "Etiquetas" msgstr "Etiquetas" -#: shop/models.py:12 +#: shop/filters.py:14 +msgid "Categorías" +msgstr "Categorías" + +#: shop/models.py:16 shop/models.py:426 msgid "fecha de creación" msgstr "fecha de creación" -#: shop/models.py:15 +#: shop/models.py:19 msgid "fecha de última modificación" msgstr "fecha de última modificación" -#: shop/models.py:29 +#: shop/models.py:33 msgid "etiqueta" msgstr "etiqueta" -#: shop/models.py:30 shop/models.py:66 +#: shop/models.py:34 shop/models.py:106 msgid "etiquetas" msgstr "etiquetas" -#: shop/models.py:40 +#: shop/models.py:45 +msgid "categoría padre" +msgstr "categoría padre" + +#: shop/models.py:47 +msgid "promocionada" +msgstr "promocionada" + +#: shop/models.py:48 +msgid "oculta" +msgstr "oculta" + +#: shop/models.py:50 +msgid "mostrar en cabecera" +msgstr "mostrar en cabecera" + +#: shop/models.py:56 +msgid "slug" +msgstr "slug" + +#: shop/models.py:69 +msgid "categoría" +msgstr "categoría" + +#: shop/models.py:70 shop/models.py:108 +msgid "categorías" +msgstr "categorías" + +#: shop/models.py:80 msgid "código de referencia" msgstr "código de referencia" -#: shop/models.py:46 shop/models.py:188 shop/models.py:215 shop/models.py:242 +#: shop/models.py:86 shop/models.py:235 shop/models.py:262 shop/models.py:511 msgid "nombre" msgstr "nombre" -#: shop/models.py:51 +#: shop/models.py:91 msgid "descripción" msgstr "descripción" -#: shop/models.py:57 +#: shop/models.py:97 msgid "stock" msgstr "stock" -#: shop/models.py:60 +#: shop/models.py:100 msgid "es un activo digital" msgstr "es un activo digital" -#: shop/models.py:62 +#: shop/models.py:102 msgid "URL de descarga" msgstr "URL de descarga" -#: shop/models.py:64 +#: shop/models.py:104 msgid "imágenes" msgstr "imágenes" -#: shop/models.py:72 shop/models.py:246 +#: shop/models.py:115 shop/models.py:266 msgid "marca" msgstr "marca" -#: shop/models.py:75 +#: shop/models.py:118 msgid "Slug" msgstr "Slug" -#: shop/models.py:95 shop/models.py:108 shop/models.py:137 shop/models.py:262 +#: shop/models.py:120 shop/models.py:500 +msgid "oculto" +msgstr "oculto" + +#: shop/models.py:135 shop/models.py:148 shop/models.py:184 shop/models.py:282 +#: shop/models.py:442 shop/models.py:529 msgid "producto" msgstr "producto" -#: shop/models.py:96 +#: shop/models.py:136 msgid "productos" msgstr "productos" -#: shop/models.py:102 shop/models.py:275 +#: shop/models.py:142 shop/models.py:295 msgid "precio" msgstr "precio" -#: shop/models.py:104 +#: shop/models.py:144 msgid "fecha" msgstr "fecha" -#: shop/models.py:114 +#: shop/models.py:154 msgid "impuesto aplicable" msgstr "impuesto aplicable" -#: shop/models.py:116 +#: shop/models.py:161 +#, fuzzy +#| msgid "total sin impuestos" +msgid "precio con impuestos" +msgstr "total sin impuestos" + +#: shop/models.py:163 msgid "es el precio actual" msgstr "es el precio actual" -#: shop/models.py:127 shop/models.py:128 +#: shop/models.py:174 shop/models.py:175 msgid "precio de producto" msgstr "precio de producto" -#: shop/models.py:134 +#: shop/models.py:181 msgid "código" msgstr "código" -#: shop/models.py:143 shop/models.py:270 +#: shop/models.py:190 shop/models.py:290 shop/models.py:444 msgid "cantidad" msgstr "cantidad" -#: shop/models.py:146 +#: shop/models.py:193 msgid "fecha de caducidad / consumo preferente" msgstr "fecha de caducidad / consumo preferente" -#: shop/models.py:153 shop/models.py:236 +#: shop/models.py:200 shop/models.py:256 msgid "proveedor" msgstr "proveedor" -#: shop/models.py:160 +#: shop/models.py:207 msgid "remesa de producto" msgstr "remesa de producto" -#: shop/models.py:161 +#: shop/models.py:208 msgid "remesas de productos" msgstr "remesas de productos" -#: shop/models.py:166 +#: shop/models.py:213 msgid "código de impuesto" msgstr "código de impuesto" -#: shop/models.py:169 +#: shop/models.py:216 msgid "valor entero (porcentaje)" msgstr "valor entero (porcentaje)" -#: shop/models.py:176 +#: shop/models.py:223 msgid "impuesto" msgstr "impuesto" -#: shop/models.py:177 shop/models.py:295 +#: shop/models.py:224 shop/models.py:315 msgid "impuestos" msgstr "impuestos" -#: shop/models.py:186 shop/models.py:213 +#: shop/models.py:233 msgid "documento de identidad" msgstr "documento de identidad" -#: shop/models.py:190 -msgid "apellidos" -msgstr "apellidos" - -#: shop/models.py:192 -msgid "e-mail" -msgstr "e-mail" - -#: shop/models.py:194 shop/models.py:226 shop/models.py:363 -msgid "dirección" -msgstr "dirección" - -#: shop/models.py:195 shop/models.py:227 shop/models.py:366 -msgid "ciudad" -msgstr "ciudad" - -#: shop/models.py:196 shop/models.py:228 shop/models.py:369 -msgid "región" -msgstr "región" - -#: shop/models.py:197 shop/models.py:229 shop/models.py:372 -msgid "país" -msgstr "país" - -#: shop/models.py:198 shop/models.py:230 shop/models.py:375 -msgid "código postal" -msgstr "código postal" - -#: shop/models.py:204 shop/models.py:341 -msgid "cliente" -msgstr "cliente" - -#: shop/models.py:205 -msgid "clientes" -msgstr "clientes" - -#: shop/models.py:217 +#: shop/models.py:237 web/models.py:59 msgid "e-mail de contacto" msgstr "e-mail de contacto" -#: shop/models.py:223 +#: shop/models.py:243 msgid "Teléfono de contacto" msgstr "Teléfono de contacto" -#: shop/models.py:237 +#: shop/models.py:246 shop/models.py:383 shop/models.py:467 shop/models.py:470 +msgid "dirección" +msgstr "dirección" + +#: shop/models.py:247 shop/models.py:386 +msgid "ciudad" +msgstr "ciudad" + +#: shop/models.py:248 shop/models.py:389 +msgid "región" +msgstr "región" + +#: shop/models.py:249 shop/models.py:392 shop/models.py:486 +msgid "país" +msgstr "país" + +#: shop/models.py:250 shop/models.py:395 shop/models.py:476 +msgid "código postal" +msgstr "código postal" + +#: shop/models.py:257 msgid "proveedores" msgstr "proveedores" -#: shop/models.py:247 +#: shop/models.py:267 msgid "marcas" msgstr "marcas" -#: shop/models.py:255 shop/models.py:392 +#: shop/models.py:275 shop/models.py:412 msgid "pedido" msgstr "pedido" -#: shop/models.py:285 +#: shop/models.py:305 msgid "total sin impuestos" msgstr "total sin impuestos" -#: shop/models.py:290 +#: shop/models.py:310 msgid "valor de impuestos" msgstr "valor de impuestos" -#: shop/models.py:300 shop/models.py:336 +#: shop/models.py:320 shop/models.py:356 msgid "total" msgstr "total" -#: shop/models.py:307 +#: shop/models.py:327 msgid "línea de pedido" msgstr "línea de pedido" -#: shop/models.py:308 +#: shop/models.py:328 msgid "líneas de pedido" msgstr "líneas de pedido" -#: shop/models.py:313 +#: shop/models.py:333 msgid "pendiente de pago" msgstr "pendiente de pago" -#: shop/models.py:314 +#: shop/models.py:334 msgid "pagado" msgstr "pagado" -#: shop/models.py:315 +#: shop/models.py:335 msgid "preparado" msgstr "preparado" -#: shop/models.py:316 +#: shop/models.py:336 msgid "listo para ser enviado" msgstr "listo para ser enviado" -#: shop/models.py:317 +#: shop/models.py:337 msgid "enviado" msgstr "enviado" -#: shop/models.py:318 +#: shop/models.py:338 msgid "entregado" msgstr "entregado" -#: shop/models.py:319 +#: shop/models.py:339 msgid "finalizado" msgstr "finalizado" -#: shop/models.py:320 +#: shop/models.py:340 msgid "cancelado" msgstr "cancelado" -#: shop/models.py:321 +#: shop/models.py:341 msgid "devuelto" msgstr "devuelto" -#: shop/models.py:323 +#: shop/models.py:343 msgid "UUID" msgstr "UUID" -#: shop/models.py:326 +#: shop/models.py:346 msgid "estado" msgstr "estado" -#: shop/models.py:333 +#: shop/models.py:353 msgid "base imponible" msgstr "base imponible" -#: shop/models.py:346 +#: shop/models.py:360 +msgid "cliente" +msgstr "cliente" + +#: shop/models.py:362 shop/models.py:498 +msgid "e-mail" +msgstr "e-mail" + +#: shop/models.py:366 msgid "dirección de facturación" msgstr "dirección de facturación" -#: shop/models.py:349 +#: shop/models.py:369 msgid "ciudad de facturación" msgstr "ciudad de facturación" -#: shop/models.py:352 +#: shop/models.py:372 msgid "región de facturación" msgstr "región de facturación" -#: shop/models.py:355 +#: shop/models.py:375 msgid "país de facturación" msgstr "país de facturación" -#: shop/models.py:358 +#: shop/models.py:378 msgid "código postal de facturación" msgstr "código postal de facturación" -#: shop/models.py:378 +#: shop/models.py:398 msgid "teléfono de contacto" msgstr "teléfono de contacto" -#: shop/models.py:393 +#: shop/models.py:413 msgid "pedidos" msgstr "pedidos" +#: shop/models.py:417 +msgid "uuid" +msgstr "uuid" + +#: shop/models.py:421 shop/models.py:457 shop/models.py:527 +msgid "usuario" +msgstr "usuario" + +#: shop/models.py:430 shop/models.py:439 +#, fuzzy +#| msgid "Carrito" +msgid "carrito" +msgstr "carrito" + +#: shop/models.py:431 +#, fuzzy +#| msgid "Carrito" +msgid "carritos" +msgstr "carritos" + +#: shop/models.py:447 +#, fuzzy +#| msgid "línea de pedido" +msgid "línea de carrito" +msgstr "línea de carrito" + +#: shop/models.py:448 +#, fuzzy +#| msgid "líneas de pedido" +msgid "líneas de carrito" +msgstr "líneas de carrito" + +#: shop/models.py:453 +#, fuzzy +#| msgid "país de facturación" +msgid "facturación" +msgstr "facturación" + +#: shop/models.py:454 +msgid "envío" +msgstr "envío" + +#: shop/models.py:464 +msgid "número de identificación fiscal" +msgstr "número de identificación fiscal" + +#: shop/models.py:473 +#, fuzzy +#| msgid "cantidad" +msgid "localidad" +msgstr "localidad" + +#: shop/models.py:479 +msgid "provincia" +msgstr "provincia" + +#: shop/models.py:489 +#, fuzzy +#| msgid "teléfono de contacto" +msgid "teléfono" +msgstr "teléfono" + +#: shop/models.py:496 +#, fuzzy +#| msgid "dirección" +msgid "tipo de dirección" +msgstr "tipo de dirección" + +#: shop/models.py:499 +msgid "por defecto" +msgstr "por defecto" + +#: shop/models.py:506 +#, fuzzy +#| msgid "dirección de facturación" +msgid "dirección de cliente" +msgstr "dirección de cliente" + +#: shop/models.py:507 +#, fuzzy +#| msgid "Direcciones de envío" +msgid "direcciones de cliente" +msgstr "Direcciones de envío" + +#: shop/models.py:513 +#, fuzzy +#| msgid "descripción" +msgid "description" +msgstr "descripción" + +#: shop/models.py:515 +msgid "url" +msgstr "url" + +#: shop/models.py:517 +#, fuzzy +#| msgid "Direcciones de envío" +msgid "producto de envío" +msgstr "producto de envío" + +#: shop/models.py:519 +msgid "habilitado" +msgstr "habilitado" + +#: shop/models.py:522 +#, fuzzy +#| msgid "Métodos de pago" +msgid "método de envío" +msgstr "método de envío" + +#: shop/models.py:523 +#, fuzzy +#| msgid "Métodos de pago" +msgid "métodos de envío" +msgstr "métodos de envío" + +#: shop/models.py:533 shop/models.py:534 +#, fuzzy +#| msgid "productos" +msgid "productos deseados" +msgstr "productos deseados" + #: tpv/forms.py:7 msgid "Introduce tu e-mail" msgstr "Introduce tu e-mail" @@ -527,62 +684,297 @@ msgid "No se ha realizado el pago. Motivo: {reason}" msgstr "No se ha realizado el pago. Motivo: {reason}" #: users/forms/login.py:18 -msgid "Password" +msgid "Contraseña" msgstr "Contraseña" -#: web/templates/components/cart/cart_dropdown.html:34 +#: users/forms/login.py:30 +msgid "Mantener sesión iniciada" +msgstr "Mantener sesión iniciada" + +#: web/models.py:9 +msgid "título de la web" +msgstr "título de la web" + +#: web/models.py:12 #, fuzzy -#| msgid "Cantidad a pagar" -msgid "Ir a pagar" -msgstr "Cantidad a pagar" +#| msgid "descripción" +msgid "descripción de la web" +msgstr "descripción de la web" -#: web/templates/components/generic/navbar.html:20 -#: web/templates/components/generic/navbar.html:122 -msgid "Inicio" -msgstr "Inicio" +#: web/models.py:15 +msgid "logo de la web" +msgstr "logo de la web" -#: web/templates/components/generic/navbar.html:26 -#: web/templates/components/generic/navbar.html:125 +#: web/models.py:22 +msgid "nombre de negocio" +msgstr "nombre de negocio" + +#: web/models.py:23 +msgid "nombre fiscal del comercio" +msgstr "nombre fiscal del comercio" + +#: web/models.py:26 +msgid "CIF del negocio" +msgstr "CIF del negocio" + +#: web/models.py:32 +msgid "marca de negocio" +msgstr "marca de negocio" + +#: 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 "pedidos" -msgid "Más vendidos" -msgstr "Más vendidos" +#| msgid "dirección de facturación" +msgid "dirección de negocio" +msgstr "dirección de negocio" -#: web/templates/components/generic/navbar.html:32 -#: web/templates/components/generic/navbar.html:128 -msgid "Ideas de regalo" -msgstr "Ideas de regalo" +#: web/models.py:43 +msgid "unidad territorial del negocio" +msgstr "unidad territorial del negocio" -#: web/templates/components/generic/navbar.html:38 -#: web/templates/components/generic/navbar.html:137 -msgid "Ofertas del día" -msgstr "Ofertas del día" +#: web/models.py:49 +#, fuzzy +#| msgid "código postal de facturación" +msgid "código postal del negocio" +msgstr "código postal del negocio" -#: web/templates/components/generic/navbar.html:54 -#: web/templates/components/generic/navbar.html:61 -msgid "Carrito" -msgstr "Carrito" +#: web/models.py:56 +#, fuzzy +#| msgid "teléfono de contacto" +msgid "número de teléfono de contacto" +msgstr "número de teléfono de contacto" -#: web/templates/components/generic/navbar.html:86 -#: web/templates/components/users/user_dropdown.html:6 -msgid "Mi cuenta" -msgstr "Mi cuenta" +#: web/models.py:65 +#, fuzzy +#| msgid "e-mail de contacto" +msgid "e-mail secundario de contacto" +msgstr "e-mail secundario de contacto" -#: web/templates/components/generic/navbar.html:131 -msgid "Juegos" -msgstr "Juegos" +#: web/models.py:73 +msgid "color de fondo" +msgstr "color de fondo" -#: web/templates/components/generic/navbar.html:134 -msgid "Electrónica" -msgstr "Electrónica" +#: web/models.py:76 +#, fuzzy +#| msgid "Error de sistema" +msgid "color de tema" +msgstr "color de tema" -#: web/templates/components/product_card.html:65 -#: web/templates/web/product_detail.html:163 +#: web/models.py:79 +msgid "logo 240x240" +msgstr "logo 240x240" + +#: web/models.py:82 +msgid "logo 128x128" +msgstr "logo 128x128" + +#: 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:12 msgid "Añadir al carrito" msgstr "Añadir al carrito" +#: web/templates/components/cart/cart.html:6 +msgid "Carrito" +msgstr "Carrito" + +#: web/templates/components/cart/cart.html:23 +#: web/templates/components/cart/cart_navbar.html:40 +#: web/templates/web/order.html:30 +#, fuzzy +#| msgid "cantidad" +msgid "Cantidad" +msgstr "Cantidad" + +#: web/templates/components/cart/cart.html:54 +#: web/templates/components/cart/cart_navbar.html:47 +#: web/templates/web/order.html:61 +msgid "Quitar" +msgstr "Quitar" + +#: web/templates/components/cart/cart.html:66 web/templates/web/order.html:73 +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:78 +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:85 +#, fuzzy +#| msgid "Direcciones de envío" +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 +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 +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" +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" +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" +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 +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 +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:99 +#, fuzzy +#| msgid "dirección de facturación" +msgid "Dirección de facturación" +msgstr "Dirección de facturación" + +#: web/templates/components/cart/cart.html:260 web/templates/web/order.html:113 +#, fuzzy +#| msgid "Direcciones de envío" +msgid "Opciones de envío" +msgstr "Opciones de envío" + +#: web/templates/components/cart/cart.html:288 web/templates/web/order.html:12 +#: web/templates/web/order.html:132 +#, fuzzy +#| msgid "líneas de pedido" +msgid "Resumen del pedido" +msgstr "Resumen del pedido" + +#: web/templates/components/cart/cart.html:294 web/templates/web/order.html:138 +#, fuzzy +#| msgid "base imponible" +msgid "Base imponible" +msgstr "Base imponible" + +#: web/templates/components/cart/cart.html:299 web/templates/web/order.html:143 +msgid "Descuentos" +msgstr "Descuentos" + +#: web/templates/components/cart/cart.html:305 web/templates/web/order.html:149 +#, fuzzy +#| msgid "Direcciones de envío" +msgid "Gastos de envío" +msgstr "Gastos de envío" + +#: web/templates/components/cart/cart.html:310 web/templates/web/order.html:154 +#, fuzzy +#| msgid "impuestos" +msgid "Impuestos" +msgstr "Impuestos" + +#: web/templates/components/cart/cart.html:316 web/templates/web/order.html:160 +#, fuzzy +#| msgid "total" +msgid "Total" +msgstr "Total" + +#: web/templates/components/cart/cart.html:323 +#, fuzzy +#| msgid "pedidos" +msgid "Terminar pedido" +msgstr "Terminar pedido" + +#: web/templates/components/cart/cart.html:327 web/templates/web/order.html:171 +msgid "o" +msgstr "o" + +#: web/templates/components/cart/cart.html:330 web/templates/web/order.html:174 +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" +msgid "Quitar del carrito" +msgstr "Quitar del carrito" + +#: web/templates/components/cart/cart_navbar.html:71 +#, fuzzy +#| msgid "Carrito" +msgid "Ver carrito" +msgstr "Ver carrito" + +#: web/templates/components/cart/cart_navbar.html:77 +msgid "Comprar" +msgstr "Comprar" + +#: web/templates/components/generic/navbar.html:22 +#: web/templates/components/generic/navbar.html:87 +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 +msgid "Mi cuenta" +msgstr "Mi cuenta" + +#: web/templates/components/generic/navbar.html:75 +msgid "Abrir menú" +msgstr "Abrir menú" + #: web/templates/components/products/list_filters.html:14 -#: web/templates/components/products/list_filters.html:28 +#: web/templates/components/products/list_filters.html:23 msgid "Buscar" msgstr "Buscar" @@ -597,6 +989,7 @@ msgid "Ajustes" msgstr "Ajustes" #: web/templates/components/users/user_dropdown.html:24 +#: web/templates/web/wishlist.html:17 #, fuzzy #| msgid "Añadir a lista de deseados" msgid "Lista de deseados" @@ -614,10 +1007,136 @@ msgstr "Métodos de pago" msgid "Cerrar sesión" msgstr "Cerrar sesión" -#: web/templates/web/index.html:29 -msgid "Mostrar mas" -msgstr "Mostrar mas" +#: web/templates/users/login.html:17 +msgid "Inicia sesión en tu cuenta" +msgstr "Inicia sesión en tu cuenta" -#: web/templates/web/product_detail.html:136 -msgid "Añadir a lista de deseados" -msgstr "Añadir a lista de deseados" +#: web/templates/users/login.html:43 +#, fuzzy +#| msgid "Cerrar sesión" +msgid "Iniciar sesión" +msgstr "Iniciar sesión" + +#: web/templates/users/login.html:46 +msgid "¿Aún no tienes cuenta?" +msgstr "¿Aún no tienes cuenta?" + +#: web/templates/users/login.html:47 +msgid "Regístrate aquí" +msgstr "Regístrate aquí" + +#: web/templates/users/user_details.html:24 +#, fuzzy +#| msgid "dirección" +msgid "Mis direcciones" +msgstr "Mis direcciones" + +#: web/templates/users/user_details.html:56 +#, fuzzy +#| msgid "Teléfono de contacto" +msgid "Teléfono" +msgstr "Teléfono" + +#: web/templates/users/user_details.html:90 +msgid "Editar datos" +msgstr "Editar datos" + +#: web/templates/web/list_products.html:22 +msgid "Anterior" +msgstr "Anterior" + +#: web/templates/web/list_products.html:36 +#, fuzzy +#| msgid "cliente" +msgid "Siguiente" +msgstr "Siguiente" + +#: web/templates/web/order.html:167 +#, fuzzy +#| msgid "Pagado" +msgid "Pagar" +msgstr "Pagar" + +#: web/urls.py:31 +msgid "wishlist" +msgstr "lista-deseados" + +#: web/urls.py:32 +msgid "categories//" +msgstr "categorias//" + +#: web/urls.py:33 +msgid "products///" +msgstr "productos///" + +#: web/urls.py:34 +msgid "cart/" +msgstr "carrito/" + +#: web/urls.py:35 +msgid "order//" +msgstr "pedido//" + +#: web/urls.py:37 +msgid "login/" +msgstr "iniciar-sesion/" + +#: web/urls.py:38 +msgid "logout/" +msgstr "cerrar-sesion/" + +#: web/urls.py:39 +msgid "register/" +msgstr "crear-cuenta/" + +#: web/urls.py:40 +#, fuzzy +#| msgid "Password" +msgid "reset-password/" +msgstr "restablecer-contrasena/" + +#: web/urls.py:41 +msgid "my-account/" +msgstr "mi-cuenta/" + +#: web/views/users.py:40 +msgid "inicio de sesión" +msgstr "" + +#: web/views/web.py:82 +msgid "resumen del carrito" +msgstr "" + +#~ 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/requirements.txt b/requirements.txt index cf03541..2040bbf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ boto3==1.34.105 celery==5.4.0 -django==5.1.3 +django==5.1.4 +django-celery-beat==2.7.0 django-cors-headers==3.13.0 django-cryptography==1.1 django-debug-toolbar==4.4.6 @@ -14,8 +15,9 @@ django-tailwind==3.8.0 django-unfold==0.42.0 djangorestframework==3.15.2 dj-database-url==1.0.0 -djangorestframework-simplejwt==5.3.1 +djangorestframework-simplejwt==5.4.0 drf-spectacular==0.26.1 +gonk==0.6.1 ipython==8.16.1 Pillow==11.0.0 psycopg2-binary==2.9.9 diff --git a/web/urls.py b/web/urls.py index 2d2507b..acc5279 100644 --- a/web/urls.py +++ b/web/urls.py @@ -1,5 +1,7 @@ from django.urls import path +from django.conf.urls.i18n import i18n_patterns from django.contrib.auth.decorators import login_required +from django.utils.text import gettext_lazy as _ from web.views.components import ( cart, cart_dropdown, @@ -24,19 +26,22 @@ from web.views.web import ( app_name = "web" -urlpatterns = [ +i18n_resolvers = i18n_patterns( path("", index, name="index"), - path("wishlist", login_required(wishlist, login_url="/login/"), name="wishlist"), - path("categories//", category_view, name="category_view"), - path("products///", product_detail, name="product_detail"), - path("cart/", cart_detail, name="cart_detail"), - path("order//", order_detail, name="order"), + path(_("wishlist"), login_required(wishlist, login_url="/login/"), name="wishlist"), + path(_("categories//"), category_view, name="category_view"), + path(_("products///"), product_detail, name="product_detail"), + path(_("cart/"), cart_detail, name="cart_detail"), + path(_("order//"), order_detail, name="order"), # users - path("login/", login, name="login"), - path("logout/", logout, name="logout"), - path("register/", register, name="register"), - path("reset-password/", reset_password, name="reset-password"), - path("my-account/", my_account, name="my_account"), + path(_("login/"), login, name="login"), + path(_("logout/"), logout, name="logout"), + path(_("register/"), register, name="register"), + path(_("reset-password/"), reset_password, name="reset-password"), + path(_("my-account/"), my_account, name="my_account"), +) + +urlpatterns = [ # components path("web/components/products/", list_products, name="list_products"), path( @@ -63,3 +68,6 @@ urlpatterns = [ # manifest path("manifest.json", manifest, name="manifest_json"), ] + +for resolver in i18n_resolvers: + urlpatterns += resolver.url_patterns