Refactor project structure and enhance localization: Rename project to "reactshop" and update package.json with new dependencies and scripts for development and production. Update Greek, Spanish, French, and Croatian translation files with improved comments for clarity and accuracy, ensuring better localization support across the application.

This commit is contained in:
sebseb7
2025-07-16 06:06:08 +02:00
parent 11a3522a97
commit f5d6778def
5 changed files with 749 additions and 699 deletions

View File

@@ -1,231 +1,231 @@
export default {
"locale": {
"code": "es-ES"
"code": "es-ES" // de-DE
},
"navigation": {
"home": "Inicio",
"aktionen": "Acciones",
"filiale": "Sucursal",
"categories": "Categorías",
"categoriesOpen": "Categorías abiertas",
"categoriesClose": "Cerrar categorías",
"otherCategories": "Otras categorías"
"home": "Inicio", // Startseite
"aktionen": "Promociones", // Aktionen
"filiale": "Sucursal", // Filiale
"categories": "Categorías", // Kategorien
"categoriesOpen": "Abrir categorías", // Kategorien öffnen
"categoriesClose": "Cerrar categorías", // Kategorien schließen
"otherCategories": "Otras categorías" // Andere Kategorien
},
"auth": {
"login": "Iniciar sesión",
"register": "Registrarse",
"logout": "Cerrar sesión",
"profile": "Perfil",
"email": "Correo electrónico",
"password": "Contraseña",
"confirmPassword": "Confirmar contraseña",
"forgotPassword": "¿Olvidaste la contraseña?",
"loginWithGoogle": "Iniciar sesión con Google",
"or": "O",
"privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\", acepto la",
"privacyPolicy": "Política de privacidad",
"passwordMinLength": "La contraseña debe tener al menos 8 caracteres",
"newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres",
"login": "Iniciar sesión", // Anmelden
"register": "Registrarse", // Registrieren
"logout": "Cerrar sesión", // Abmelden
"profile": "Perfil", // Profil
"email": "Correo electrónico", // E-Mail
"password": "Contraseña", // Passwort
"confirmPassword": "Confirmar contraseña", // Passwort bestätigen
"forgotPassword": "¿Olvidaste tu contraseña?", // Passwort vergessen?
"loginWithGoogle": "Iniciar sesión con Google", // Mit Google anmelden
"or": "O", // ODER
"privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\" acepto la", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die
"privacyPolicy": "Política de privacidad", // Datenschutzbestimmungen
"passwordMinLength": "La contraseña debe tener al menos 8 caracteres", // Das Passwort muss mindestens 8 Zeichen lang sein
"newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres", // Das neue Passwort muss mindestens 8 Zeichen lang sein
"menu": {
"profile": "Perfil",
"checkout": "Pagar",
"orders": "Pedidos",
"settings": "Configuraciones",
"adminDashboard": "Panel de administrador",
"adminUsers": "Usuarios admin"
"profile": "Perfil", // Profil
"checkout": "Finalizar compra", // Bestellabschluss
"orders": "Pedidos", // Bestellungen
"settings": "Configuración", // Einstellungen
"adminDashboard": "Panel de administración", // Admin Dashboard
"adminUsers": "Usuarios admin" // Admin Users
}
},
"cart": {
"title": "Carrito de compras",
"empty": "vacío",
"addToCart": "Agregar al carrito",
"preorderCutting": "Pre-orden como esquejes",
"continueShopping": "Continuar comprando",
"proceedToCheckout": "Proceder a pagar",
"productCount": "{{count}} {{count, plural, one {producto} other {productos}}}",
"removeFromCart": "Quitar del carrito",
"openCart": "Abrir carrito",
"availableFrom": "Desde {{date}}",
"backToOrder": "← Volver al pedido",
"title": "Carrito", // Warenkorb
"empty": "vacío", // leer
"addToCart": "Añadir al carrito", // In den Korb
"preorderCutting": "Preordenar como esqueje", // Als Steckling vorbestellen
"continueShopping": "Continuar comprando", // Weiter einkaufen
"proceedToCheckout": "Proceder al pago", // Weiter zur Kasse
"productCount": "{{count}} {{count, plural, one {Producto} other {Productos}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}}
"removeFromCart": "Eliminar del carrito", // Aus dem Warenkorb entfernen
"openCart": "Abrir carrito", // Warenkorb öffnen
"availableFrom": "Disponible desde {{date}}", // Ab {{date}}
"backToOrder": "← Volver al pedido", // ← Zurück zur Bestellung
"sync": {
"title": "Sincronización del carrito",
"description": "Tienes un carrito guardado en tu cuenta. Por favor, elige cómo proceder:",
"deleteServer": "Eliminar carrito en servidor",
"useServer": "Usar carrito en servidor",
"merge": "Combinar carritos",
"currentCart": "Tu carrito actual",
"serverCart": "Carrito guardado en tu perfil"
"title": "Sincronización del carrito", // Warenkorb-Synchronisierung
"description": "Tienes un carrito guardado en tu cuenta. Por favor elige cómo quieres proceder:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
"deleteServer": "Eliminar carrito del servidor", // Server-Warenkorb löschen
"useServer": "Usar carrito del servidor", // Server-Warenkorb übernehmen
"merge": "Combinar carritos", // Warenkörbe zusammenführen
"currentCart": "Tu carrito actual", // Ihr aktueller Warenkorb
"serverCart": "Carrito guardado en tu perfil" // In Ihrem Profil gespeicherter Warenkorb
}
},
"product": {
"loading": "Cargando producto...",
"notFound": "Producto no encontrado",
"notFoundDescription": "El producto buscado no existe o ha sido eliminado.",
"backToHome": "Volver a la página principal",
"error": "Error",
"articleNumber": "Número de artículo",
"manufacturer": "Fabricante",
"inclVat": "incluyendo {{vat}}% IVA",
"priceUnit": "{{price}}/{{unit}}",
"new": "Nuevo",
"arriving": "Llegada:",
"inclVatFooter": "incluyendo {{vat}}% IVA, *",
"availability": "Disponibilidad",
"inStock": "En stock",
"comingSoon": "Próximamente",
"deliveryTime": "Tiempo de entrega",
"inclShort": "incl.",
"vatShort": "IVA",
"loading": "Cargando producto...", // Produkt wird geladen...
"notFound": "Producto no encontrado", // Produkt nicht gefunden
"notFoundDescription": "El producto que buscas no existe o ha sido eliminado.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
"backToHome": "Volver al inicio", // Zurück zur Startseite
"error": "Error", // Fehler
"articleNumber": "Número de artículo", // Artikelnummer
"manufacturer": "Fabricante", // Hersteller
"inclVat": "incl. {{vat}}% IVA", // inkl. {{vat}}% MwSt.
"priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
"new": "Nuevo", // Neu
"arriving": "Llegando:", // Ankunft:
"inclVatFooter": "incl. {{vat}}% IVA,*", // incl. {{vat}}% USt.,*
"availability": "Disponibilidad", // Verfügbarkeit
"inStock": "en stock", // auf Lager
"comingSoon": "Próximamente", // Bald verfügbar
"deliveryTime": "Tiempo de entrega", // Lieferzeit
"inclShort": "incl.", // inkl.
"vatShort": "IVA", // MwSt.
"countDisplay": {
"noProducts": "0 productos",
"oneProduct": "1 producto",
"multipleProducts": "{{count}} productos",
"filteredProducts": "{{filtered}} de {{total}} productos",
"filteredOneProduct": "{{filtered}} de 1 producto"
"noProducts": "0 productos", // 0 Produkte
"oneProduct": "1 producto", // 1 Produkt
"multipleProducts": "{{count}} productos", // {{count}} Produkte
"filteredProducts": "{{filtered}} de {{total}} productos", // {{filtered}} von {{total}} Produkten
"filteredOneProduct": "{{filtered}} de 1 producto" // {{filtered}} von 1 Produkt
},
"removeFiltersToSee": "Eliminar filtros para ver productos",
"outOfStock": "Agotado",
"fromXProducts": "desde {{count}} productos"
"removeFiltersToSee": "Elimina filtros para ver productos", // Entferne Filter um Produkte zu sehen
"outOfStock": "Agotado", // Out of Stock
"fromXProducts": "desde {{count}} productos" // ab {{count}} Produkten
},
"search": {
"placeholder": "Puedes preguntarme por cepas de cannabis...",
"recording": "Grabando...",
"searchProducts": "Buscar productos..."
"placeholder": "Puedes preguntarme sobre variedades de cannabis...", // Du kannst mich nach Cannabissorten fragen...
"recording": "Grabando...", // Aufnahme läuft...
"searchProducts": "Buscar productos..." // Produkte suchen...
},
"sorting": {
"name": "Nombre",
"searchField": "Término de búsqueda",
"priceLowHigh": "Precio: De menor a mayor",
"priceHighLow": "Precio: De mayor a menor"
"name": "Nombre", // Name
"searchField": "Término de búsqueda", // Suchbegriff
"priceLowHigh": "Precio: de menor a mayor", // Preis: Niedrig zu Hoch
"priceHighLow": "Precio: de mayor a menor" // Preis: Hoch zu Niedrig
},
"chat": {
"privacyRead": "Leído & Aceptado"
"privacyRead": "Leído y aceptado" // Gelesen & Akzeptiert
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
"sperrgut": "Mercancía voluminoso",
"pickup": "Recogida en tienda"
"dhl": "DHL", // DHL
"dpd": "DPD", // DPD
"sperrgut": "Mercancía voluminosa", // Sperrgut
"pickup": "Recoger en sucursal" // Abholung in der Filiale
},
"descriptions": {
"standard": "Envío estándar",
"standardFree": "Envío estándar - ¡GRATIS a partir de 100 en productos!",
"notAvailable": "no seleccionable porque uno o más artículos solo se pueden recoger",
"bulky": "Para artículos grandes y pesados"
"standard": "Envío estándar", // Standardversand
"standardFree": "Envío estándar - ¡GRATIS a partir de 100€ de pedido!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
"notAvailable": "No seleccionable porque uno o más artículos solo pueden recogerse", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
"bulky": "Para artículos grandes y pesados" // Für große und schwere Artikel
},
"prices": {
"free": "gratis",
"freeFrom100": "(gratis desde 100)",
"dhl": "€6.99",
"dpd": "€4.90",
"sperrgut": "€28.99"
"free": "gratis", // kostenlos
"freeFrom100": "(gratis desde 100)", // (kostenlos ab 100€)
"dhl": "€6.99", // 6,99 €
"dpd": "€4.90", // 4,90 €
"sperrgut": "€28.99" // 28,99 €
},
"times": {
"cutting14Days": "Tiempo de entrega: 14 días",
"standard2to3Days": "Tiempo de entrega: 2-3 días",
"supplier7to9Days": "Tiempo de entrega: 7-9 días"
"cutting14Days": "Tiempo de entrega: 14 días", // Lieferzeit: 14 Tage
"standard2to3Days": "Tiempo de entrega: 2-3 días", // Lieferzeit: 2-3 Tage
"supplier7to9Days": "Tiempo de entrega: 7-9 días" // Lieferzeit: 7-9 Tage
}
},
"checkout": {
"invoiceAddress": "Dirección de facturación",
"deliveryAddress": "Dirección de entrega",
"saveForFuture": "Guardar para pedidos futuros",
"pickupDate": "¿Para qué fecha se desea la recogida de los esquejes?",
"note": "Nota",
"sameAddress": "La dirección de entrega es igual a la de facturación",
"termsAccept": "He leído los términos y condiciones, la política de privacidad y la política de cancelación"
"invoiceAddress": "Dirección de facturación", // Rechnungsadresse
"deliveryAddress": "Dirección de entrega", // Lieferadresse
"saveForFuture": "Guardar para futuros pedidos", // Für zukünftige Bestellungen speichern
"pickupDate": "¿Para qué fecha quieres recoger los esquejes?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
"note": "Nota", // Anmerkung
"sameAddress": "La dirección de entrega es igual a la de facturación", // Lieferadresse ist identisch mit Rechnungsadresse
"termsAccept": "He leído los Términos y Condiciones, la Política de Privacidad y la información sobre el Derecho de desistimiento" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
},
"payment": {
"successful": "¡Pago exitoso!",
"failed": "Pago fallido",
"orderCompleted": "🎉 ¡Su pedido ha sido completado exitosamente! Ahora puede ver sus pedidos.",
"orderProcessing": "Su pago ha sido procesado con éxito. El pedido se completará automáticamente.",
"paymentError": "No se pudo procesar su pago. Por favor, inténtelo de nuevo o seleccione otro método de pago.",
"viewOrders": "Ver mis pedidos"
"successful": "¡Pago exitoso!", // Zahlung erfolgreich!
"failed": "Pago fallido", // Zahlung fehlgeschlagen
"orderCompleted": "🎉 ¡Tu pedido se ha completado con éxito! Ahora puedes ver tus pedidos.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
"orderProcessing": "Tu pago fue procesado con éxito. El pedido se completará automáticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
"paymentError": "No se pudo procesar tu pago. Por favor, inténtalo de nuevo o elige otro método de pago.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
"viewOrders": "Ver mis pedidos" // Zu meinen Bestellungen
},
"filters": {
"sorting": "Ordenar",
"perPage": "por página",
"availability": "Disponibilidad",
"manufacturer": "Fabricante"
"sorting": "Ordenar", // Sortierung
"perPage": "por página", // pro Seite
"availability": "Disponibilidad", // Verfügbarkeit
"manufacturer": "Fabricante" // Hersteller
},
"tax": {
"vat": "IVA",
"vat7": "IVA 7%",
"vat19": "IVA 19%",
"vat19WithShipping": "IVA 19% (incl. envío)",
"totalNet": "Precio neto total",
"totalGross": "Precio bruto total sin envío",
"subtotal": "Subtotal"
"vat": "Impuesto al Valor Agregado", // Mehrwertsteuer
"vat7": "7% Impuesto al Valor Agregado", // 7% Mehrwertsteuer
"vat19": "19% Impuesto al Valor Agregado", // 19% Mehrwertsteuer
"vat19WithShipping": "19% Impuesto al Valor Agregado (incl. envío)", // 19% Mehrwertsteuer (inkl. Versand)
"totalNet": "Precio neto total", // Gesamtnettopreis
"totalGross": "Precio bruto total sin incluir envío", // Gesamtbruttopreis ohne Versand
"subtotal": "Subtotal" // Zwischensumme
},
"footer": {
"hours": "Sáb 11-19",
"address": "Trachenberger Straße 14 - Dresde",
"location": "Entre la parada Pieschen y Trachenberger Platz",
"allPricesIncl": "* Todos los precios incluyen IVA legal, más envío",
"copyright": "© {{year}} GrowHeads.de",
"hours": "Sáb 11-19", // Sa 11-19
"address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
"location": "Entre la parada Pieschen y Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
"allPricesIncl": "* Todos los precios incluyen IVA legal, más envío", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
"copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
"legal": {
"datenschutz": "Política de privacidad",
"agb": "Términos y condiciones",
"sitemap": "Mapa del sitio",
"impressum": "Aviso legal",
"batteriegesetzhinweise": "Notas sobre regulación de baterías",
"widerrufsrecht": "Derecho de desistimiento"
"datenschutz": "Privacidad", // Datenschutz
"agb": "Términos y condiciones", // AGB
"sitemap": "Mapa del sitio", // Sitemap
"impressum": "Imprint", // Impressum
"batteriegesetzhinweise": "Notas sobre la ley de baterías", // Batteriegesetzhinweise
"widerrufsrecht": "Derecho de desistimiento" // Widerrufsrecht
}
},
},
"titles": {
"home": "ine anabis eeds & uttings",
"aktionen": "tuelle ktionen & gebote",
"filiale": "ur iliale en resden"
"home": "Semillas y esquejes finos de cannabis", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment)
"aktionen": "Promociones y ofertas actuales", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment)
"filiale": "Nuestra sucursal en Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment)
},
"sections": {
"seeds": "Semillas",
"stecklinge": "Esquejes",
"oilPress": "Alquiler de prensa de aceite",
"thcTest": "Análisis de THC",
"address1": "Trachenberger Straße 14",
"address2": "01129 Dresde"
"seeds": "Semillas", // Seeds
"stecklinge": "Esquejes", // Stecklinge
"oilPress": "Prestar prensa de aceite", // Ölpresse ausleihen
"thcTest": "Test de THC", // THC Test
"address1": "Trachenberger Straße 14", // Trachenberger Straße 14
"address2": "01129 Dresden" // 01129 Dresden
},
"pages": {
"oilPress": {
"title": "Alquiler de prensa de aceite",
"comingSoon": "Contenido próximamente..."
"title": "Prestar prensa de aceite", // Ölpresse ausleihen
"comingSoon": "Contenido próximamente..." // Inhalt kommt bald...
},
"thcTest": {
"title": "Análisis de THC",
"comingSoon": "Contenido próximamente..."
"title": "Test de THC", // THC Test
"comingSoon": "Contenido próximamente..." // Inhalt kommt bald...
}
},
"orders": {
"status": {
"new": "En progreso",
"pending": "Nuevo",
"processing": "En progreso",
"cancelled": "Cancelado",
"shipped": "Enviado",
"delivered": "Entregado",
"return": "Devolver",
"partialReturn": "Devolución parcial",
"partialDelivered": "Entrega parcial"
"new": "En proceso", // in Bearbeitung
"pending": "Nuevo", // Neu
"processing": "En proceso", // in Bearbeitung
"cancelled": "Cancelado", // Storniert
"shipped": "Enviado", // Verschickt
"delivered": "Entregado", // Geliefert
"return": "Devolución", // Retoure
"partialReturn": "Devolución parcial", // Teil Retoure
"partialDelivered": "Entregado parcialmente" // Teil geliefert
}
},
"common": {
"loading": "Cargando...",
"error": "Error",
"close": "Cerrar",
"save": "Guardar",
"cancel": "Cancelar",
"ok": "Aceptar",
"yes": "Sí",
"no": "No",
"next": "Siguiente",
"back": "Atrás",
"edit": "Editar",
"delete": "Eliminar",
"add": "Agregar",
"remove": "Quitar",
"products": "Productos",
"product": "Producto"
"loading": "Cargando...", // Lädt...
"error": "Error", // Fehler
"close": "Cerrar", // Schließen
"save": "Guardar", // Speichern
"cancel": "Cancelar", // Abbrechen
"ok": "OK", // OK
"yes": "Sí", // Ja
"no": "No", // Nein
"next": "Siguiente", // Weiter
"back": "Atrás", // Zurück
"edit": "Editar", // Bearbeiten
"delete": "Eliminar", // Löschen
"add": "Añadir", // Hinzufügen
"remove": "Quitar", // Entfernen
"products": "Productos", // Produkte
"product": "Producto" // Produkt
}
};