@cartbase/storefront 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/package.json +258 -256
- package/src/api/auth.ts +108 -108
- package/src/api/carts.ts +523 -523
- package/src/api/categories.ts +184 -184
- package/src/api/checkout.ts +526 -526
- package/src/api/collections.ts +130 -130
- package/src/api/consent.ts +75 -75
- package/src/api/content.ts +125 -125
- package/src/api/customers.ts +303 -303
- package/src/api/gift-cards.ts +112 -112
- package/src/api/http.ts +180 -180
- package/src/api/index.ts +30 -30
- package/src/api/menus.ts +77 -77
- package/src/api/metaobjects.ts +136 -136
- package/src/api/orders.ts +290 -290
- package/src/api/products.ts +43 -1
- package/src/api/redirects.ts +37 -37
- package/src/api/regions.ts +200 -200
- package/src/api/reviews.ts +259 -259
- package/src/api/search.ts +163 -163
- package/src/api/store.ts +35 -35
- package/src/api/types.ts +91 -91
- package/src/cart-drawer/context.tsx +277 -164
- package/src/cart-drawer/cross-sell-carousel.tsx +211 -211
- package/src/cart-drawer/cross-sell-sidebar.tsx +158 -158
- package/src/cart-drawer/gift-wrap.tsx +82 -82
- package/src/cart-drawer/index.ts +71 -68
- package/src/cart-drawer/item/index.tsx +162 -162
- package/src/cart-drawer/item/quantity.tsx +8 -14
- package/src/cart-drawer/item/upsell.tsx +110 -110
- package/src/cart-drawer/labels.ts +123 -123
- package/src/cart-drawer/mutation-queue.ts +78 -0
- package/src/cart-drawer/notes.tsx +131 -131
- package/src/cart-drawer/sticky-footer.tsx +73 -73
- package/src/cart-drawer/summary-breakdown.tsx +197 -197
- package/src/checkout/address-error-copy.ts +117 -117
- package/src/checkout/boxnow-locker-selector.tsx +410 -410
- package/src/checkout/compare-addresses.ts +40 -40
- package/src/checkout/discount-section.tsx +218 -218
- package/src/checkout/error-copy-codes.ts +63 -63
- package/src/checkout/geocode.ts +154 -154
- package/src/checkout/gift-card-section.tsx +224 -224
- package/src/checkout/index.ts +72 -72
- package/src/checkout/labels.ts +495 -495
- package/src/checkout/payment-button.tsx +372 -372
- package/src/checkout/payment-error-copy.ts +154 -154
- package/src/checkout/promotion-error-copy.ts +91 -91
- package/src/checkout/use-checkout-orchestration.ts +1592 -1592
- package/src/common/country-flag.tsx +52 -52
- package/src/common/country-select.tsx +11 -11
- package/src/common/index.ts +20 -20
- package/src/common/market-select.tsx +57 -57
- package/src/index.ts +12 -12
- package/src/lib/country-name.ts +59 -59
- package/src/lib/get-product-price.ts +133 -133
- package/src/lib/media-image.tsx +39 -39
- package/src/lib/payment-constants.ts +53 -53
- package/src/lib/platform.ts +13 -13
- package/src/lib/price.tsx +39 -39
- package/src/lib/store-api-error.ts +36 -36
- package/src/lib/variant-caption.ts +32 -32
- package/src/locales/bg.ts +467 -467
- package/src/locales/context.ts +37 -37
- package/src/locales/en.ts +26 -26
- package/src/locales/es.ts +466 -466
- package/src/locales/index.ts +19 -19
- package/src/locales/provider.tsx +59 -59
- package/src/locales/types.ts +77 -77
- package/src/order/index.ts +62 -62
- package/src/order/labels.ts +79 -79
- package/src/order/order-totals.tsx +250 -250
- package/src/primitives/select-field.tsx +93 -93
- package/src/products/image-gallery.tsx +43 -43
- package/src/products/index.ts +68 -59
- package/src/products/option-select.tsx +67 -67
- package/src/products/product-actions-wrapper.tsx +63 -62
- package/src/products/product-actions.tsx +151 -150
- package/src/products/product-price.tsx +69 -69
- package/src/products/product-promises.tsx +61 -61
- package/src/products/product-specs.tsx +65 -65
- package/src/products/product-tabs.tsx +123 -123
- package/src/products/product-template.tsx +163 -162
- package/src/products/purchase-options.tsx +130 -130
- package/src/products/sets.ts +110 -0
- package/src/products/use-product-actions.ts +199 -164
- package/src/products/variant-matching.ts +71 -71
- package/src/products/variant-url.ts +74 -74
- package/src/reviews-ui/index.ts +73 -73
- package/src/store/category-template.tsx +136 -136
- package/src/store/index.ts +40 -40
- package/src/tracking/chatgpt-pixel.tsx +99 -99
- package/src/tracking/consent-init.tsx +62 -62
- package/src/tracking/events.ts +348 -348
- package/src/tracking/ga4.tsx +93 -93
- package/src/tracking/google-ads.ts +84 -84
- package/src/tracking/gtm.tsx +60 -60
- package/src/tracking/inline-script.ts +49 -49
- package/src/tracking/oaiq.ts +206 -206
- package/src/tracking/tiktok-pixel.tsx +91 -91
- package/src/tracking/track-init.tsx +56 -56
- package/src/tracking/track-order-purchase.tsx +122 -122
- package/src/tracking/ttq.ts +180 -180
- package/src/tracking/use-tracking-config.ts +54 -54
- package/theme/index.css +25 -25
- package/theme/theme.css +150 -150
- package/theme/tokens.css +106 -106
package/src/locales/es.ts
CHANGED
|
@@ -1,466 +1,466 @@
|
|
|
1
|
-
import type { StorefrontLocale } from "./types"
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* SPANISH — neutral European Spanish (es-ES), readable across markets.
|
|
5
|
-
*
|
|
6
|
-
* A locale pack, opted into by subpath import, never library copy:
|
|
7
|
-
*
|
|
8
|
-
* import { es } from "@cartbase/storefront/locales/es"
|
|
9
|
-
*
|
|
10
|
-
* Typed against the six area shapes, so a label added upstream breaks this
|
|
11
|
-
* file at compile time rather than falling back to English in the middle
|
|
12
|
-
* of a Spanish checkout.
|
|
13
|
-
*
|
|
14
|
-
* THE TERMINOLOGY IS FIXED, not per translator: carrito, pago, pedido,
|
|
15
|
-
* envío, entrega, tarjeta regalo, valoración, Agotado, Añadir al carrito,
|
|
16
|
-
* Seguir comprando. Never usted; the shopper is addressed with the
|
|
17
|
-
* infinitive or the tú imperative. Buttons carry no final period. Where a
|
|
18
|
-
* label is a button or a chip the shortest correct wording wins, because
|
|
19
|
-
* Spanish runs longer than English and the component was laid out in
|
|
20
|
-
* English.
|
|
21
|
-
*
|
|
22
|
-
* Two readings worth knowing, both deliberate: the sort options spell the
|
|
23
|
-
* relation in words ("Precio: de menor a mayor") because an arrow between
|
|
24
|
-
* two values is banned in our UI; and "IVA" is used where the English says
|
|
25
|
-
* VAT, with "Impuestos" kept for the generic word.
|
|
26
|
-
*
|
|
27
|
-
* 249 keys, first written 2026-09-13.
|
|
28
|
-
*/
|
|
29
|
-
export const es: StorefrontLocale = {
|
|
30
|
-
code: "es",
|
|
31
|
-
name: "Español",
|
|
32
|
-
products: {
|
|
33
|
-
selectOption: "Elige",
|
|
34
|
-
selectVariant: "Elige variante",
|
|
35
|
-
outOfStock: "Agotado",
|
|
36
|
-
addToCart: "Añadir al carrito",
|
|
37
|
-
quantity: "Cantidad",
|
|
38
|
-
decreaseQuantity: "Menos",
|
|
39
|
-
increaseQuantity: "Más",
|
|
40
|
-
from: "Desde",
|
|
41
|
-
original: "Antes:",
|
|
42
|
-
productInformation: "Información del producto",
|
|
43
|
-
shippingAndReturns: "Envío y devoluciones",
|
|
44
|
-
material: "Material",
|
|
45
|
-
countryOfOrigin: "País de origen",
|
|
46
|
-
type: "Tipo",
|
|
47
|
-
weight: "Peso",
|
|
48
|
-
weightUnit: "g",
|
|
49
|
-
dimensions: "Dimensiones",
|
|
50
|
-
relatedProducts: "Productos relacionados",
|
|
51
|
-
relatedProductsDescription:
|
|
52
|
-
"Quizá también te interesen estos productos.",
|
|
53
|
-
},
|
|
54
|
-
store: {
|
|
55
|
-
allProducts: "Todos los productos",
|
|
56
|
-
sortBy: "Ordenar por",
|
|
57
|
-
latestArrivals: "Novedades",
|
|
58
|
-
priceLowToHigh: "Precio: de menor a mayor",
|
|
59
|
-
priceHighToLow: "Precio: de mayor a menor",
|
|
60
|
-
searchTitle: "Búsqueda",
|
|
61
|
-
searchPlaceholder: "Buscar productos…",
|
|
62
|
-
searchAction: "Buscar",
|
|
63
|
-
resultsFor: "Resultados para",
|
|
64
|
-
resultsCount: "resultados",
|
|
65
|
-
noResults: "No se han encontrado productos",
|
|
66
|
-
filters: "Filtros",
|
|
67
|
-
clearFilters: "Borrar filtros",
|
|
68
|
-
},
|
|
69
|
-
cartDrawer: {
|
|
70
|
-
yourCart: "Tu carrito",
|
|
71
|
-
item: "artículo",
|
|
72
|
-
items: "artículos",
|
|
73
|
-
closeCart: "Cerrar carrito",
|
|
74
|
-
|
|
75
|
-
emptyCartTitle: "Tu carrito está vacío",
|
|
76
|
-
emptyCartMessage: "Todavía no has añadido ningún producto.",
|
|
77
|
-
browseProducts: "Ver productos",
|
|
78
|
-
|
|
79
|
-
awayFromFreeShipping: "para el envío gratis",
|
|
80
|
-
allRewardsUnlocked: "Todas las recompensas desbloqueadas",
|
|
81
|
-
|
|
82
|
-
addGiftWrap: "Añadir envoltorio de regalo",
|
|
83
|
-
giftNote: "Nota de regalo",
|
|
84
|
-
orderNote: "Nota del pedido",
|
|
85
|
-
giftNotePlaceholder: "Añade un mensaje personal...",
|
|
86
|
-
orderNotePlaceholder: "Instrucciones especiales para este pedido...",
|
|
87
|
-
|
|
88
|
-
estimatedRewardPoints: "Puntos de recompensa estimados",
|
|
89
|
-
|
|
90
|
-
pairsWellWith: "Combina bien con",
|
|
91
|
-
youllLoveThis: "Te va a encantar",
|
|
92
|
-
youMightAlsoLike: "También te puede gustar",
|
|
93
|
-
addToCart: "Añadir",
|
|
94
|
-
|
|
95
|
-
subtotal: "Subtotal",
|
|
96
|
-
taxAndShipping: "IVA incluido. El envío se calcula en el pago.",
|
|
97
|
-
shipping: "Envío",
|
|
98
|
-
free: "Gratis",
|
|
99
|
-
calculatedAtCheckout: "Se calcula en el pago",
|
|
100
|
-
total: "Total",
|
|
101
|
-
secureCheckout: "Finalizar compra",
|
|
102
|
-
shippingAndTaxCalculatedAtCheckout: "El envío y los impuestos se calculan en el pago",
|
|
103
|
-
|
|
104
|
-
discount: "Descuento",
|
|
105
|
-
tax: "IVA",
|
|
106
|
-
paymentMethodFee: "Comisión por método de pago",
|
|
107
|
-
giftCard: "Tarjeta regalo",
|
|
108
|
-
remainingToPay: "Pendiente de pago",
|
|
109
|
-
|
|
110
|
-
continueShopping: "Seguir comprando",
|
|
111
|
-
|
|
112
|
-
remove: "Eliminar",
|
|
113
|
-
},
|
|
114
|
-
checkout: {
|
|
115
|
-
deliveryInfo: "Información de entrega",
|
|
116
|
-
shippingServices: "Método de envío",
|
|
117
|
-
paymentMethod: "Método de pago",
|
|
118
|
-
orderSummary: "Resumen del pedido",
|
|
119
|
-
|
|
120
|
-
email: "Correo electrónico",
|
|
121
|
-
country: "País",
|
|
122
|
-
singleCountryName: undefined,
|
|
123
|
-
firstName: "Nombre",
|
|
124
|
-
lastName: "Apellidos",
|
|
125
|
-
address: "Dirección",
|
|
126
|
-
apartment: "Apartamento, piso, etc. (opcional)",
|
|
127
|
-
city: "Ciudad",
|
|
128
|
-
postalCode: "Código postal",
|
|
129
|
-
phone: "Teléfono",
|
|
130
|
-
province: "Estado / provincia",
|
|
131
|
-
|
|
132
|
-
saveAddress: "Guardar y continuar",
|
|
133
|
-
updateAddress: "Actualizar dirección",
|
|
134
|
-
addToOrder: "+ Añadir al pedido",
|
|
135
|
-
addCode: "Aplicar",
|
|
136
|
-
|
|
137
|
-
deliveryDisabled:
|
|
138
|
-
"Introduce tu dirección de entrega para ver las opciones de envío disponibles.",
|
|
139
|
-
noShippingOptions: "No hay opciones de envío disponibles para tu dirección.",
|
|
140
|
-
paymentDisabled: "Elige un método de envío para continuar.",
|
|
141
|
-
deliveryPreviewHint: "Introduce tu dirección para elegir un método de entrega.",
|
|
142
|
-
buyNeedsAddress: "Introduce tu dirección de entrega",
|
|
143
|
-
buyNeedsDelivery: "Elige un método de entrega",
|
|
144
|
-
|
|
145
|
-
codNote: "Contra reembolso. Pueden aplicarse cargos adicionales.",
|
|
146
|
-
payOnline: "Pago online",
|
|
147
|
-
cashOnDelivery: "Contra reembolso",
|
|
148
|
-
termsText:
|
|
149
|
-
"Al realizar tu pedido aceptas nuestros Términos y la Política de privacidad.",
|
|
150
|
-
|
|
151
|
-
useSavedAddress: "¿Usar una dirección guardada?",
|
|
152
|
-
saveInfo: "Guardar estos datos para la próxima vez",
|
|
153
|
-
|
|
154
|
-
chooseAddress: "Elige una dirección",
|
|
155
|
-
|
|
156
|
-
items: "artículos",
|
|
157
|
-
qty: "Cant.",
|
|
158
|
-
subtotal: "Subtotal",
|
|
159
|
-
shipping: "Envío",
|
|
160
|
-
shippingCalc: "Se calcula en el pago",
|
|
161
|
-
shippingFree: "Gratis",
|
|
162
|
-
// The WORD is the pack's. The RATE is not, and this one was WRONG: it
|
|
163
|
-
// said 20%, which is Bulgaria's rate, while Spain's IVA is 21%. It came
|
|
164
|
-
// from translating the old English default instead of asking whose fact
|
|
165
|
-
// it was. Declared and deliberately empty.
|
|
166
|
-
tax: "IVA incl.",
|
|
167
|
-
taxTooltip: undefined,
|
|
168
|
-
total: "Total",
|
|
169
|
-
discount: "Descuento",
|
|
170
|
-
discountCode: "Código de descuento",
|
|
171
|
-
discountSub: "Ahorra con un código promocional",
|
|
172
|
-
paymentMethodFee: "Comisión del método de pago",
|
|
173
|
-
recommended: "Recomendado para ti",
|
|
174
|
-
recommendedSoon: "Próximamente",
|
|
175
|
-
recommendedSoonSub: "Recomendaciones personalizadas",
|
|
176
|
-
remove: "Quitar",
|
|
177
|
-
secureCheckout: "Pago seguro",
|
|
178
|
-
|
|
179
|
-
giftCard: "Tarjeta regalo",
|
|
180
|
-
giftCardSub: "Canjea una tarjeta regalo",
|
|
181
|
-
giftCardPlaceholder: "GIFT-XXXX-XXXX",
|
|
182
|
-
giftCardApplied: "Tarjetas regalo",
|
|
183
|
-
giftCardRemaining: "Queda por pagar",
|
|
184
|
-
giftCardEnding: "Tarjeta regalo terminada en",
|
|
185
|
-
|
|
186
|
-
companyInvoice: "Factura de empresa",
|
|
187
|
-
companyName: "Nombre de la empresa",
|
|
188
|
-
companyVat: "NIF / CIF",
|
|
189
|
-
companyMol: "Persona responsable",
|
|
190
|
-
companyAddress: "Dirección de la empresa",
|
|
191
|
-
|
|
192
|
-
placeOrder: "Realizar pedido",
|
|
193
|
-
selectPaymentMethod: "Elige un método de pago",
|
|
194
|
-
|
|
195
|
-
processingCard: [
|
|
196
|
-
"Conectando con el banco...",
|
|
197
|
-
"Confirmando el pago...",
|
|
198
|
-
"Registrando el pedido...",
|
|
199
|
-
"Cuidando cada detalle...",
|
|
200
|
-
],
|
|
201
|
-
processingCod: [
|
|
202
|
-
"Reservando la entrega...",
|
|
203
|
-
"Preparando el pedido...",
|
|
204
|
-
"Cuidando cada detalle...",
|
|
205
|
-
],
|
|
206
|
-
|
|
207
|
-
econtLoadingOffices: "Cargando oficinas...",
|
|
208
|
-
econtNearestOffices: "Oficinas más cercanas",
|
|
209
|
-
econtSearchAnother: "Buscar otra oficina",
|
|
210
|
-
econtSearchPlaceholder: "Busca por nombre, ciudad o dirección...",
|
|
211
|
-
econtNoResults: "No se han encontrado oficinas para",
|
|
212
|
-
econtChange: "Cambiar",
|
|
213
|
-
|
|
214
|
-
boxnowLoadingLockers: "Cargando taquillas...",
|
|
215
|
-
boxnowNearestLockers: "Taquillas más cercanas",
|
|
216
|
-
boxnowSearchAnother: "Buscar otra taquilla",
|
|
217
|
-
boxnowSearchPlaceholder: "Busca por nombre, dirección o código postal...",
|
|
218
|
-
boxnowNoResults: "No se han encontrado taquillas para",
|
|
219
|
-
boxnowChange: "Cambiar",
|
|
220
|
-
boxnowUnavailable:
|
|
221
|
-
"BoxNow no está disponible temporalmente, elige otro método de envío.",
|
|
222
|
-
boxnowNoLockersInCity:
|
|
223
|
-
"No hay taquillas de BoxNow en tu ciudad. Elige otro método de envío.",
|
|
224
|
-
addressErrors: {
|
|
225
|
-
generic:
|
|
226
|
-
"No hemos podido guardar tu dirección. Revisa los datos e inténtalo de nuevo.",
|
|
227
|
-
network:
|
|
228
|
-
"No hay conexión con el servidor. Revisa tu conexión e inténtalo de nuevo.",
|
|
229
|
-
validationFailed:
|
|
230
|
-
"Alguno de los campos no es válido. Revisa los datos e inténtalo de nuevo.",
|
|
231
|
-
invalidRegion: "Ese país no es válido. Recarga la página.",
|
|
232
|
-
regionRequired: "La región de envío no es válida. Recarga la página.",
|
|
233
|
-
cartCompleted:
|
|
234
|
-
"El pedido ya está finalizado. Revisa tu correo para ver la confirmación.",
|
|
235
|
-
cartNotFound: "Tu sesión del carrito ha caducado. Recarga la página.",
|
|
236
|
-
invalidEmail: "Ese correo electrónico no es válido. Revisa cómo está escrito.",
|
|
237
|
-
invalidPostalCode: "Ese código postal no es válido. Revísalo.",
|
|
238
|
-
invalidPhone: "Ese número de teléfono no es válido. Revisa los dígitos.",
|
|
239
|
-
invalidCountry: "Ese país no es válido. Recarga la página.",
|
|
240
|
-
},
|
|
241
|
-
paymentErrors: {
|
|
242
|
-
genericCard:
|
|
243
|
-
"El pago no se ha podido procesar ahora mismo. Inténtalo de nuevo o elige otro método de pago.",
|
|
244
|
-
genericCod:
|
|
245
|
-
"El pedido no se ha podido completar ahora mismo. Inténtalo de nuevo en unos momentos.",
|
|
246
|
-
cartEmailRequired:
|
|
247
|
-
"Hace falta un correo electrónico para finalizar la compra. Añade uno para continuar.",
|
|
248
|
-
cartEmpty: "Tu carrito está vacío. Añade un producto para continuar.",
|
|
249
|
-
shippingAddressRequired:
|
|
250
|
-
"Hace falta una dirección de envío para finalizar la compra. Añade una para continuar.",
|
|
251
|
-
shippingMethodRequired: "Elige un método de envío para continuar.",
|
|
252
|
-
paymentCollectionRequired: "El pago aún no está listo. Inténtalo de nuevo.",
|
|
253
|
-
paymentSessionRequired: "El pago aún no está listo. Inténtalo de nuevo.",
|
|
254
|
-
insufficientInventory:
|
|
255
|
-
"Uno de los productos ya no está disponible en la cantidad elegida. Actualiza tu carrito para continuar.",
|
|
256
|
-
checkoutMethodHidden:
|
|
257
|
-
"El método elegido ya no está disponible para este pedido. Elige otro e inténtalo de nuevo.",
|
|
258
|
-
requiresAction:
|
|
259
|
-
"Tu banco necesita confirmar este pago. Sigue los pasos que te indique para continuar.",
|
|
260
|
-
paymentNotAuthorized:
|
|
261
|
-
"El pago no se ha aprobado. Inténtalo de nuevo o elige otro método de pago.",
|
|
262
|
-
paymentNotInitiated:
|
|
263
|
-
"El pago ha caducado antes de completarse. Recarga la página e inténtalo de nuevo.",
|
|
264
|
-
paymentIncomplete:
|
|
265
|
-
"Tus tarjetas regalo ya no cubren el importe total. Elige un método de pago para el resto.",
|
|
266
|
-
giftCardInsufficientBalance:
|
|
267
|
-
"El saldo de esa tarjeta regalo ya no cubre el importe. Retírala o elige otro método de pago.",
|
|
268
|
-
giftCardNotRedeemable:
|
|
269
|
-
"Esa tarjeta regalo ya no se puede usar. Retírala e inténtalo de nuevo.",
|
|
270
|
-
accountRequired:
|
|
271
|
-
"Para finalizar la compra tienes que iniciar sesión. Inicia sesión para continuar.",
|
|
272
|
-
cartLocked:
|
|
273
|
-
"Este pedido se está procesando ahora mismo. Espera unos segundos antes de volver a intentarlo.",
|
|
274
|
-
cartCompleted:
|
|
275
|
-
"Este pedido ya se ha completado. Revisa tu correo electrónico para ver la confirmación.",
|
|
276
|
-
cartNotFound:
|
|
277
|
-
"Tu carrito ya no está disponible. Recarga la página para empezar de nuevo.",
|
|
278
|
-
shippingOptionNotFound:
|
|
279
|
-
"El método de envío elegido ya no está disponible. Elige otro.",
|
|
280
|
-
invalidProvider: "El método de pago elegido no se puede usar. Elige otro.",
|
|
281
|
-
shippingPriceMissing:
|
|
282
|
-
"No se ha podido calcular el coste del envío. Elige otro método de envío.",
|
|
283
|
-
stripeNotConfigured:
|
|
284
|
-
"El pago con tarjeta no está disponible en este momento. Elige otro método de pago.",
|
|
285
|
-
validationFailed:
|
|
286
|
-
"Faltan algunos datos del pedido. Revisa el formulario e inténtalo de nuevo.",
|
|
287
|
-
cardDeclined:
|
|
288
|
-
"El banco ha rechazado esa tarjeta. Prueba con otra tarjeta o contacta con tu banco.",
|
|
289
|
-
insufficientFunds:
|
|
290
|
-
"Esa tarjeta no tiene saldo suficiente. Prueba con otra tarjeta.",
|
|
291
|
-
expiredCard: "Esa tarjeta ha caducado. Prueba con otra tarjeta.",
|
|
292
|
-
incorrectCvc:
|
|
293
|
-
"El código de seguridad no coincide. Revisa el código de seguridad de tu tarjeta e inténtalo de nuevo.",
|
|
294
|
-
incorrectCardNumber:
|
|
295
|
-
"El número de tarjeta no parece correcto. Revisa los dígitos e inténtalo de nuevo.",
|
|
296
|
-
invalidExpiry:
|
|
297
|
-
"La fecha de caducidad no parece correcta. Revisa el mes y el año.",
|
|
298
|
-
authenticationRequired:
|
|
299
|
-
"Tu banco necesita confirmar este pago. Sigue los pasos que te indique para continuar.",
|
|
300
|
-
processingError:
|
|
301
|
-
"No se ha podido procesar la tarjeta. Inténtalo de nuevo en unos momentos.",
|
|
302
|
-
rateLimited:
|
|
303
|
-
"Se han hecho demasiados intentos de pago. Espera unos minutos e inténtalo de nuevo.",
|
|
304
|
-
paymentExpired:
|
|
305
|
-
"El pago ha caducado antes de completarse. Recarga la página e inténtalo de nuevo.",
|
|
306
|
-
amountMismatch:
|
|
307
|
-
"El importe del pedido ha cambiado. Recarga la página e inténtalo de nuevo.",
|
|
308
|
-
networkError:
|
|
309
|
-
"Se ha perdido la conexión. Revisa tu conexión a internet e inténtalo de nuevo.",
|
|
310
|
-
cartAlreadyCompleted:
|
|
311
|
-
"Este pedido ya se ha completado. Revisa tu correo electrónico para ver la confirmación.",
|
|
312
|
-
outOfStock:
|
|
313
|
-
"Uno de los productos ya no está disponible en la cantidad elegida. Actualiza tu carrito para continuar.",
|
|
314
|
-
invalidRegion:
|
|
315
|
-
"Este destino de envío no está disponible. Recarga la página e inténtalo de nuevo.",
|
|
316
|
-
shippingMethodMissing: "Elige un método de envío para continuar.",
|
|
317
|
-
},
|
|
318
|
-
giftCardErrors: {
|
|
319
|
-
invalidGiftCard:
|
|
320
|
-
"Ese código de tarjeta regalo no es válido. Revisa el código e inténtalo de nuevo.",
|
|
321
|
-
rateLimited: "Demasiados intentos. Espera unos minutos e inténtalo de nuevo.",
|
|
322
|
-
cartCompleted:
|
|
323
|
-
"Este pedido ya está finalizado. Revisa tu correo para ver la confirmación.",
|
|
324
|
-
cartNotFound: "Tu carrito ha caducado. Recarga la página e inténtalo de nuevo.",
|
|
325
|
-
validationFailed: "Ese código no es válido. Revísalo e inténtalo de nuevo.",
|
|
326
|
-
generic:
|
|
327
|
-
"La tarjeta regalo no se ha podido aplicar ahora mismo. Inténtalo de nuevo en un momento.",
|
|
328
|
-
},
|
|
329
|
-
promotionErrors: {
|
|
330
|
-
generic:
|
|
331
|
-
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
332
|
-
needsEmail:
|
|
333
|
-
"Este código de descuento necesita una dirección de correo electrónico. Añade la tuya arriba e inténtalo de nuevo.",
|
|
334
|
-
exhausted: "Esta promoción se ha agotado y ya no está disponible.",
|
|
335
|
-
promotionNotFound:
|
|
336
|
-
"Este código de descuento no es válido. Revísalo e inténtalo de nuevo.",
|
|
337
|
-
promotionInactive: "Este código de descuento ya no está activo.",
|
|
338
|
-
promotionMisconfigured:
|
|
339
|
-
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
340
|
-
promotionUnsupportedType:
|
|
341
|
-
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
342
|
-
cartCompleted:
|
|
343
|
-
"Este pedido ya se ha realizado. Revisa tu correo electrónico para ver la confirmación.",
|
|
344
|
-
cartNotFound:
|
|
345
|
-
"No encontramos tu carrito. Recarga la página e inténtalo de nuevo.",
|
|
346
|
-
validationFailed:
|
|
347
|
-
"Este código de descuento no es válido. Revísalo e inténtalo de nuevo.",
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
order: {
|
|
351
|
-
orderConfirmed: "Pedido confirmado",
|
|
352
|
-
confirmationSent: "Hemos enviado una confirmación a",
|
|
353
|
-
orderNumber: "Pedido",
|
|
354
|
-
orderDate: "Fecha",
|
|
355
|
-
summary: "Resumen del pedido",
|
|
356
|
-
subtotal: "Subtotal",
|
|
357
|
-
shipping: "Envío",
|
|
358
|
-
discount: "Descuento",
|
|
359
|
-
tax: "Impuestos",
|
|
360
|
-
total: "Total",
|
|
361
|
-
paymentMethodFee: "Comisión por método de pago",
|
|
362
|
-
contactInfo: "Datos de contacto",
|
|
363
|
-
delivery: "Entrega",
|
|
364
|
-
paymentMethod: "Método de pago",
|
|
365
|
-
paymentMethodTitles: {
|
|
366
|
-
card: "Tarjeta de crédito / débito",
|
|
367
|
-
cod: "Contra reembolso",
|
|
368
|
-
manual: "Pago manual",
|
|
369
|
-
paypal: "PayPal",
|
|
370
|
-
},
|
|
371
|
-
needHelp: "¿Necesitas ayuda?",
|
|
372
|
-
contactUs: "Contacta con nosotros",
|
|
373
|
-
returnsExchanges: "Devoluciones y cambios",
|
|
374
|
-
orderPlaced: "Realizado",
|
|
375
|
-
processing: "En proceso",
|
|
376
|
-
shipped: "Enviado",
|
|
377
|
-
delivered: "Entregado",
|
|
378
|
-
free: "Gratis",
|
|
379
|
-
continueShopping: "Seguir comprando",
|
|
380
|
-
qty: "cant.",
|
|
381
|
-
tracking: "Seguimiento",
|
|
382
|
-
},
|
|
383
|
-
reviews: {
|
|
384
|
-
sectionTitle: "Valoraciones",
|
|
385
|
-
reviewSingular: "valoración",
|
|
386
|
-
reviewPlural: "valoraciones",
|
|
387
|
-
sortAria: "Ordenar",
|
|
388
|
-
sortDefault: "Recomendadas",
|
|
389
|
-
sortNewest: "Más recientes",
|
|
390
|
-
sortRatingDesc: "Mejor valoradas",
|
|
391
|
-
sortRatingAsc: "Peor valoradas",
|
|
392
|
-
verified: "Compra verificada",
|
|
393
|
-
verifiedTitle: "Comprador real, verificado mediante un enlace de pedido",
|
|
394
|
-
loadMore: "Mostrar más",
|
|
395
|
-
loading: "Cargando...",
|
|
396
|
-
dateToday: "hoy",
|
|
397
|
-
dateYesterday: "ayer",
|
|
398
|
-
dateDaysAgo: "hace {n} días",
|
|
399
|
-
showPhoto: "Ver foto",
|
|
400
|
-
playVideo: "Reproducir vídeo",
|
|
401
|
-
close: "Cerrar",
|
|
402
|
-
expiredTitle: "Este enlace de valoración ha caducado",
|
|
403
|
-
expiredBody:
|
|
404
|
-
"El enlace era válido durante 60 días desde tu compra. Si quieres dejar una valoración, escríbenos a {email}.",
|
|
405
|
-
invalidTitle: "Este enlace de valoración no es válido",
|
|
406
|
-
invalidBody:
|
|
407
|
-
"Puede que hayas abierto un enlace antiguo. Si tienes alguna duda, escríbenos a {email}.",
|
|
408
|
-
alreadyTitle: "¡Gracias por tu valoración!",
|
|
409
|
-
alreadyBodyWithProduct: "Ya hemos recibido tu valoración de {name}.",
|
|
410
|
-
alreadyBody: "Esta valoración ya se ha enviado.",
|
|
411
|
-
greeting: "Hola",
|
|
412
|
-
headingRate: "Comparte tu opinión",
|
|
413
|
-
headingPhoto: "Solo queda un paso",
|
|
414
|
-
introRate:
|
|
415
|
-
"Una valoración breve con tus palabras ayuda a quienes están pensando en la misma elección.",
|
|
416
|
-
introPhoto:
|
|
417
|
-
"Tu puntuación está guardada. Añade una foto del producto y consigue un {pct}% de descuento en tu próximo pedido.",
|
|
418
|
-
productLabel: "Producto",
|
|
419
|
-
ratingLabel: "Puntuación",
|
|
420
|
-
ratingOutOf: "{n} de 5",
|
|
421
|
-
ratingAria: "{n} de 5 estrellas",
|
|
422
|
-
bodyLabel: "¿Qué te gustó y qué no?",
|
|
423
|
-
bodyPlaceholder:
|
|
424
|
-
"Descríbelo con tus palabras. Cuanto más detalle, más útil para el próximo cliente.",
|
|
425
|
-
consentNote:
|
|
426
|
-
"Al enviar la valoración aceptas que la publiquemos en la página del producto.",
|
|
427
|
-
continue: "Continuar",
|
|
428
|
-
submitting: "Enviando...",
|
|
429
|
-
bonusBadge: "Extra",
|
|
430
|
-
photoTitle: "Enséñalo y llévate un {pct}%",
|
|
431
|
-
photoSubtitle:
|
|
432
|
-
"Añade una foto o un vídeo corto del producto y te regalamos un {pct}% de descuento para tu próximo pedido.",
|
|
433
|
-
dropHint: "Arrastra los archivos aquí o haz clic para elegir",
|
|
434
|
-
dropLimits: "Hasta {n} fotos (JPG/PNG/WEBP, 8 MB), 1 vídeo (MP4/MOV, 50 MB, 60 s)",
|
|
435
|
-
skip: "Omitir",
|
|
436
|
-
skipAria: "Omitir",
|
|
437
|
-
submitPhoto: "Enviar y obtener el {pct}%",
|
|
438
|
-
waitingUpload: "Esperando la subida...",
|
|
439
|
-
remove: "Quitar",
|
|
440
|
-
thanksTitle: "¡Gracias!",
|
|
441
|
-
thanksBody: "Hemos recibido tu valoración y ya está publicada en la página del producto.",
|
|
442
|
-
rewardTitle: "Tu descuento del {pct}%",
|
|
443
|
-
copy: "Copiar",
|
|
444
|
-
copied: "Copiado",
|
|
445
|
-
copyAria: "Copiar el código",
|
|
446
|
-
rewardNote:
|
|
447
|
-
"También te hemos enviado el código por correo. Úsalo en tu próximo pedido: es válido para un solo uso.",
|
|
448
|
-
codeUnavailable:
|
|
449
|
-
"La foto se ha guardado. Algo ha fallado al generar tu código de descuento: escríbenos a {email} y te lo enviamos enseguida.",
|
|
450
|
-
viewProduct: "Ver producto",
|
|
451
|
-
toStore: "Volver a la tienda",
|
|
452
|
-
errUnsupported: "El archivo {name} no tiene un formato compatible.",
|
|
453
|
-
errMaxImages: "Máximo {n} fotos.",
|
|
454
|
-
errImageTooLarge: "La foto {name} supera los {mb} MB.",
|
|
455
|
-
errMaxVideos: "Máximo {n} vídeo.",
|
|
456
|
-
errVideoTooLarge: "El vídeo supera los {mb} MB.",
|
|
457
|
-
errVideoTooLong: "El vídeo dura más de {s} segundos.",
|
|
458
|
-
errVideoMeta: "No hemos podido leer la duración del vídeo.",
|
|
459
|
-
errUploadFailed: "No se ha podido subir {name}. Inténtalo de nuevo.",
|
|
460
|
-
errRateLimited: "Se han enviado demasiadas valoraciones desde esta dirección. Inténtalo más tarde.",
|
|
461
|
-
errAlreadySubmitted: "Esta valoración ya se ha enviado.",
|
|
462
|
-
errExpired: "El enlace de valoración ha caducado.",
|
|
463
|
-
errGeneric: "Algo ha fallado. Inténtalo de nuevo.",
|
|
464
|
-
errPhotoSave: "La foto no se ha podido guardar. Inténtalo de nuevo.",
|
|
465
|
-
},
|
|
466
|
-
}
|
|
1
|
+
import type { StorefrontLocale } from "./types"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* SPANISH — neutral European Spanish (es-ES), readable across markets.
|
|
5
|
+
*
|
|
6
|
+
* A locale pack, opted into by subpath import, never library copy:
|
|
7
|
+
*
|
|
8
|
+
* import { es } from "@cartbase/storefront/locales/es"
|
|
9
|
+
*
|
|
10
|
+
* Typed against the six area shapes, so a label added upstream breaks this
|
|
11
|
+
* file at compile time rather than falling back to English in the middle
|
|
12
|
+
* of a Spanish checkout.
|
|
13
|
+
*
|
|
14
|
+
* THE TERMINOLOGY IS FIXED, not per translator: carrito, pago, pedido,
|
|
15
|
+
* envío, entrega, tarjeta regalo, valoración, Agotado, Añadir al carrito,
|
|
16
|
+
* Seguir comprando. Never usted; the shopper is addressed with the
|
|
17
|
+
* infinitive or the tú imperative. Buttons carry no final period. Where a
|
|
18
|
+
* label is a button or a chip the shortest correct wording wins, because
|
|
19
|
+
* Spanish runs longer than English and the component was laid out in
|
|
20
|
+
* English.
|
|
21
|
+
*
|
|
22
|
+
* Two readings worth knowing, both deliberate: the sort options spell the
|
|
23
|
+
* relation in words ("Precio: de menor a mayor") because an arrow between
|
|
24
|
+
* two values is banned in our UI; and "IVA" is used where the English says
|
|
25
|
+
* VAT, with "Impuestos" kept for the generic word.
|
|
26
|
+
*
|
|
27
|
+
* 249 keys, first written 2026-09-13.
|
|
28
|
+
*/
|
|
29
|
+
export const es: StorefrontLocale = {
|
|
30
|
+
code: "es",
|
|
31
|
+
name: "Español",
|
|
32
|
+
products: {
|
|
33
|
+
selectOption: "Elige",
|
|
34
|
+
selectVariant: "Elige variante",
|
|
35
|
+
outOfStock: "Agotado",
|
|
36
|
+
addToCart: "Añadir al carrito",
|
|
37
|
+
quantity: "Cantidad",
|
|
38
|
+
decreaseQuantity: "Menos",
|
|
39
|
+
increaseQuantity: "Más",
|
|
40
|
+
from: "Desde",
|
|
41
|
+
original: "Antes:",
|
|
42
|
+
productInformation: "Información del producto",
|
|
43
|
+
shippingAndReturns: "Envío y devoluciones",
|
|
44
|
+
material: "Material",
|
|
45
|
+
countryOfOrigin: "País de origen",
|
|
46
|
+
type: "Tipo",
|
|
47
|
+
weight: "Peso",
|
|
48
|
+
weightUnit: "g",
|
|
49
|
+
dimensions: "Dimensiones",
|
|
50
|
+
relatedProducts: "Productos relacionados",
|
|
51
|
+
relatedProductsDescription:
|
|
52
|
+
"Quizá también te interesen estos productos.",
|
|
53
|
+
},
|
|
54
|
+
store: {
|
|
55
|
+
allProducts: "Todos los productos",
|
|
56
|
+
sortBy: "Ordenar por",
|
|
57
|
+
latestArrivals: "Novedades",
|
|
58
|
+
priceLowToHigh: "Precio: de menor a mayor",
|
|
59
|
+
priceHighToLow: "Precio: de mayor a menor",
|
|
60
|
+
searchTitle: "Búsqueda",
|
|
61
|
+
searchPlaceholder: "Buscar productos…",
|
|
62
|
+
searchAction: "Buscar",
|
|
63
|
+
resultsFor: "Resultados para",
|
|
64
|
+
resultsCount: "resultados",
|
|
65
|
+
noResults: "No se han encontrado productos",
|
|
66
|
+
filters: "Filtros",
|
|
67
|
+
clearFilters: "Borrar filtros",
|
|
68
|
+
},
|
|
69
|
+
cartDrawer: {
|
|
70
|
+
yourCart: "Tu carrito",
|
|
71
|
+
item: "artículo",
|
|
72
|
+
items: "artículos",
|
|
73
|
+
closeCart: "Cerrar carrito",
|
|
74
|
+
|
|
75
|
+
emptyCartTitle: "Tu carrito está vacío",
|
|
76
|
+
emptyCartMessage: "Todavía no has añadido ningún producto.",
|
|
77
|
+
browseProducts: "Ver productos",
|
|
78
|
+
|
|
79
|
+
awayFromFreeShipping: "para el envío gratis",
|
|
80
|
+
allRewardsUnlocked: "Todas las recompensas desbloqueadas",
|
|
81
|
+
|
|
82
|
+
addGiftWrap: "Añadir envoltorio de regalo",
|
|
83
|
+
giftNote: "Nota de regalo",
|
|
84
|
+
orderNote: "Nota del pedido",
|
|
85
|
+
giftNotePlaceholder: "Añade un mensaje personal...",
|
|
86
|
+
orderNotePlaceholder: "Instrucciones especiales para este pedido...",
|
|
87
|
+
|
|
88
|
+
estimatedRewardPoints: "Puntos de recompensa estimados",
|
|
89
|
+
|
|
90
|
+
pairsWellWith: "Combina bien con",
|
|
91
|
+
youllLoveThis: "Te va a encantar",
|
|
92
|
+
youMightAlsoLike: "También te puede gustar",
|
|
93
|
+
addToCart: "Añadir",
|
|
94
|
+
|
|
95
|
+
subtotal: "Subtotal",
|
|
96
|
+
taxAndShipping: "IVA incluido. El envío se calcula en el pago.",
|
|
97
|
+
shipping: "Envío",
|
|
98
|
+
free: "Gratis",
|
|
99
|
+
calculatedAtCheckout: "Se calcula en el pago",
|
|
100
|
+
total: "Total",
|
|
101
|
+
secureCheckout: "Finalizar compra",
|
|
102
|
+
shippingAndTaxCalculatedAtCheckout: "El envío y los impuestos se calculan en el pago",
|
|
103
|
+
|
|
104
|
+
discount: "Descuento",
|
|
105
|
+
tax: "IVA",
|
|
106
|
+
paymentMethodFee: "Comisión por método de pago",
|
|
107
|
+
giftCard: "Tarjeta regalo",
|
|
108
|
+
remainingToPay: "Pendiente de pago",
|
|
109
|
+
|
|
110
|
+
continueShopping: "Seguir comprando",
|
|
111
|
+
|
|
112
|
+
remove: "Eliminar",
|
|
113
|
+
},
|
|
114
|
+
checkout: {
|
|
115
|
+
deliveryInfo: "Información de entrega",
|
|
116
|
+
shippingServices: "Método de envío",
|
|
117
|
+
paymentMethod: "Método de pago",
|
|
118
|
+
orderSummary: "Resumen del pedido",
|
|
119
|
+
|
|
120
|
+
email: "Correo electrónico",
|
|
121
|
+
country: "País",
|
|
122
|
+
singleCountryName: undefined,
|
|
123
|
+
firstName: "Nombre",
|
|
124
|
+
lastName: "Apellidos",
|
|
125
|
+
address: "Dirección",
|
|
126
|
+
apartment: "Apartamento, piso, etc. (opcional)",
|
|
127
|
+
city: "Ciudad",
|
|
128
|
+
postalCode: "Código postal",
|
|
129
|
+
phone: "Teléfono",
|
|
130
|
+
province: "Estado / provincia",
|
|
131
|
+
|
|
132
|
+
saveAddress: "Guardar y continuar",
|
|
133
|
+
updateAddress: "Actualizar dirección",
|
|
134
|
+
addToOrder: "+ Añadir al pedido",
|
|
135
|
+
addCode: "Aplicar",
|
|
136
|
+
|
|
137
|
+
deliveryDisabled:
|
|
138
|
+
"Introduce tu dirección de entrega para ver las opciones de envío disponibles.",
|
|
139
|
+
noShippingOptions: "No hay opciones de envío disponibles para tu dirección.",
|
|
140
|
+
paymentDisabled: "Elige un método de envío para continuar.",
|
|
141
|
+
deliveryPreviewHint: "Introduce tu dirección para elegir un método de entrega.",
|
|
142
|
+
buyNeedsAddress: "Introduce tu dirección de entrega",
|
|
143
|
+
buyNeedsDelivery: "Elige un método de entrega",
|
|
144
|
+
|
|
145
|
+
codNote: "Contra reembolso. Pueden aplicarse cargos adicionales.",
|
|
146
|
+
payOnline: "Pago online",
|
|
147
|
+
cashOnDelivery: "Contra reembolso",
|
|
148
|
+
termsText:
|
|
149
|
+
"Al realizar tu pedido aceptas nuestros Términos y la Política de privacidad.",
|
|
150
|
+
|
|
151
|
+
useSavedAddress: "¿Usar una dirección guardada?",
|
|
152
|
+
saveInfo: "Guardar estos datos para la próxima vez",
|
|
153
|
+
|
|
154
|
+
chooseAddress: "Elige una dirección",
|
|
155
|
+
|
|
156
|
+
items: "artículos",
|
|
157
|
+
qty: "Cant.",
|
|
158
|
+
subtotal: "Subtotal",
|
|
159
|
+
shipping: "Envío",
|
|
160
|
+
shippingCalc: "Se calcula en el pago",
|
|
161
|
+
shippingFree: "Gratis",
|
|
162
|
+
// The WORD is the pack's. The RATE is not, and this one was WRONG: it
|
|
163
|
+
// said 20%, which is Bulgaria's rate, while Spain's IVA is 21%. It came
|
|
164
|
+
// from translating the old English default instead of asking whose fact
|
|
165
|
+
// it was. Declared and deliberately empty.
|
|
166
|
+
tax: "IVA incl.",
|
|
167
|
+
taxTooltip: undefined,
|
|
168
|
+
total: "Total",
|
|
169
|
+
discount: "Descuento",
|
|
170
|
+
discountCode: "Código de descuento",
|
|
171
|
+
discountSub: "Ahorra con un código promocional",
|
|
172
|
+
paymentMethodFee: "Comisión del método de pago",
|
|
173
|
+
recommended: "Recomendado para ti",
|
|
174
|
+
recommendedSoon: "Próximamente",
|
|
175
|
+
recommendedSoonSub: "Recomendaciones personalizadas",
|
|
176
|
+
remove: "Quitar",
|
|
177
|
+
secureCheckout: "Pago seguro",
|
|
178
|
+
|
|
179
|
+
giftCard: "Tarjeta regalo",
|
|
180
|
+
giftCardSub: "Canjea una tarjeta regalo",
|
|
181
|
+
giftCardPlaceholder: "GIFT-XXXX-XXXX",
|
|
182
|
+
giftCardApplied: "Tarjetas regalo",
|
|
183
|
+
giftCardRemaining: "Queda por pagar",
|
|
184
|
+
giftCardEnding: "Tarjeta regalo terminada en",
|
|
185
|
+
|
|
186
|
+
companyInvoice: "Factura de empresa",
|
|
187
|
+
companyName: "Nombre de la empresa",
|
|
188
|
+
companyVat: "NIF / CIF",
|
|
189
|
+
companyMol: "Persona responsable",
|
|
190
|
+
companyAddress: "Dirección de la empresa",
|
|
191
|
+
|
|
192
|
+
placeOrder: "Realizar pedido",
|
|
193
|
+
selectPaymentMethod: "Elige un método de pago",
|
|
194
|
+
|
|
195
|
+
processingCard: [
|
|
196
|
+
"Conectando con el banco...",
|
|
197
|
+
"Confirmando el pago...",
|
|
198
|
+
"Registrando el pedido...",
|
|
199
|
+
"Cuidando cada detalle...",
|
|
200
|
+
],
|
|
201
|
+
processingCod: [
|
|
202
|
+
"Reservando la entrega...",
|
|
203
|
+
"Preparando el pedido...",
|
|
204
|
+
"Cuidando cada detalle...",
|
|
205
|
+
],
|
|
206
|
+
|
|
207
|
+
econtLoadingOffices: "Cargando oficinas...",
|
|
208
|
+
econtNearestOffices: "Oficinas más cercanas",
|
|
209
|
+
econtSearchAnother: "Buscar otra oficina",
|
|
210
|
+
econtSearchPlaceholder: "Busca por nombre, ciudad o dirección...",
|
|
211
|
+
econtNoResults: "No se han encontrado oficinas para",
|
|
212
|
+
econtChange: "Cambiar",
|
|
213
|
+
|
|
214
|
+
boxnowLoadingLockers: "Cargando taquillas...",
|
|
215
|
+
boxnowNearestLockers: "Taquillas más cercanas",
|
|
216
|
+
boxnowSearchAnother: "Buscar otra taquilla",
|
|
217
|
+
boxnowSearchPlaceholder: "Busca por nombre, dirección o código postal...",
|
|
218
|
+
boxnowNoResults: "No se han encontrado taquillas para",
|
|
219
|
+
boxnowChange: "Cambiar",
|
|
220
|
+
boxnowUnavailable:
|
|
221
|
+
"BoxNow no está disponible temporalmente, elige otro método de envío.",
|
|
222
|
+
boxnowNoLockersInCity:
|
|
223
|
+
"No hay taquillas de BoxNow en tu ciudad. Elige otro método de envío.",
|
|
224
|
+
addressErrors: {
|
|
225
|
+
generic:
|
|
226
|
+
"No hemos podido guardar tu dirección. Revisa los datos e inténtalo de nuevo.",
|
|
227
|
+
network:
|
|
228
|
+
"No hay conexión con el servidor. Revisa tu conexión e inténtalo de nuevo.",
|
|
229
|
+
validationFailed:
|
|
230
|
+
"Alguno de los campos no es válido. Revisa los datos e inténtalo de nuevo.",
|
|
231
|
+
invalidRegion: "Ese país no es válido. Recarga la página.",
|
|
232
|
+
regionRequired: "La región de envío no es válida. Recarga la página.",
|
|
233
|
+
cartCompleted:
|
|
234
|
+
"El pedido ya está finalizado. Revisa tu correo para ver la confirmación.",
|
|
235
|
+
cartNotFound: "Tu sesión del carrito ha caducado. Recarga la página.",
|
|
236
|
+
invalidEmail: "Ese correo electrónico no es válido. Revisa cómo está escrito.",
|
|
237
|
+
invalidPostalCode: "Ese código postal no es válido. Revísalo.",
|
|
238
|
+
invalidPhone: "Ese número de teléfono no es válido. Revisa los dígitos.",
|
|
239
|
+
invalidCountry: "Ese país no es válido. Recarga la página.",
|
|
240
|
+
},
|
|
241
|
+
paymentErrors: {
|
|
242
|
+
genericCard:
|
|
243
|
+
"El pago no se ha podido procesar ahora mismo. Inténtalo de nuevo o elige otro método de pago.",
|
|
244
|
+
genericCod:
|
|
245
|
+
"El pedido no se ha podido completar ahora mismo. Inténtalo de nuevo en unos momentos.",
|
|
246
|
+
cartEmailRequired:
|
|
247
|
+
"Hace falta un correo electrónico para finalizar la compra. Añade uno para continuar.",
|
|
248
|
+
cartEmpty: "Tu carrito está vacío. Añade un producto para continuar.",
|
|
249
|
+
shippingAddressRequired:
|
|
250
|
+
"Hace falta una dirección de envío para finalizar la compra. Añade una para continuar.",
|
|
251
|
+
shippingMethodRequired: "Elige un método de envío para continuar.",
|
|
252
|
+
paymentCollectionRequired: "El pago aún no está listo. Inténtalo de nuevo.",
|
|
253
|
+
paymentSessionRequired: "El pago aún no está listo. Inténtalo de nuevo.",
|
|
254
|
+
insufficientInventory:
|
|
255
|
+
"Uno de los productos ya no está disponible en la cantidad elegida. Actualiza tu carrito para continuar.",
|
|
256
|
+
checkoutMethodHidden:
|
|
257
|
+
"El método elegido ya no está disponible para este pedido. Elige otro e inténtalo de nuevo.",
|
|
258
|
+
requiresAction:
|
|
259
|
+
"Tu banco necesita confirmar este pago. Sigue los pasos que te indique para continuar.",
|
|
260
|
+
paymentNotAuthorized:
|
|
261
|
+
"El pago no se ha aprobado. Inténtalo de nuevo o elige otro método de pago.",
|
|
262
|
+
paymentNotInitiated:
|
|
263
|
+
"El pago ha caducado antes de completarse. Recarga la página e inténtalo de nuevo.",
|
|
264
|
+
paymentIncomplete:
|
|
265
|
+
"Tus tarjetas regalo ya no cubren el importe total. Elige un método de pago para el resto.",
|
|
266
|
+
giftCardInsufficientBalance:
|
|
267
|
+
"El saldo de esa tarjeta regalo ya no cubre el importe. Retírala o elige otro método de pago.",
|
|
268
|
+
giftCardNotRedeemable:
|
|
269
|
+
"Esa tarjeta regalo ya no se puede usar. Retírala e inténtalo de nuevo.",
|
|
270
|
+
accountRequired:
|
|
271
|
+
"Para finalizar la compra tienes que iniciar sesión. Inicia sesión para continuar.",
|
|
272
|
+
cartLocked:
|
|
273
|
+
"Este pedido se está procesando ahora mismo. Espera unos segundos antes de volver a intentarlo.",
|
|
274
|
+
cartCompleted:
|
|
275
|
+
"Este pedido ya se ha completado. Revisa tu correo electrónico para ver la confirmación.",
|
|
276
|
+
cartNotFound:
|
|
277
|
+
"Tu carrito ya no está disponible. Recarga la página para empezar de nuevo.",
|
|
278
|
+
shippingOptionNotFound:
|
|
279
|
+
"El método de envío elegido ya no está disponible. Elige otro.",
|
|
280
|
+
invalidProvider: "El método de pago elegido no se puede usar. Elige otro.",
|
|
281
|
+
shippingPriceMissing:
|
|
282
|
+
"No se ha podido calcular el coste del envío. Elige otro método de envío.",
|
|
283
|
+
stripeNotConfigured:
|
|
284
|
+
"El pago con tarjeta no está disponible en este momento. Elige otro método de pago.",
|
|
285
|
+
validationFailed:
|
|
286
|
+
"Faltan algunos datos del pedido. Revisa el formulario e inténtalo de nuevo.",
|
|
287
|
+
cardDeclined:
|
|
288
|
+
"El banco ha rechazado esa tarjeta. Prueba con otra tarjeta o contacta con tu banco.",
|
|
289
|
+
insufficientFunds:
|
|
290
|
+
"Esa tarjeta no tiene saldo suficiente. Prueba con otra tarjeta.",
|
|
291
|
+
expiredCard: "Esa tarjeta ha caducado. Prueba con otra tarjeta.",
|
|
292
|
+
incorrectCvc:
|
|
293
|
+
"El código de seguridad no coincide. Revisa el código de seguridad de tu tarjeta e inténtalo de nuevo.",
|
|
294
|
+
incorrectCardNumber:
|
|
295
|
+
"El número de tarjeta no parece correcto. Revisa los dígitos e inténtalo de nuevo.",
|
|
296
|
+
invalidExpiry:
|
|
297
|
+
"La fecha de caducidad no parece correcta. Revisa el mes y el año.",
|
|
298
|
+
authenticationRequired:
|
|
299
|
+
"Tu banco necesita confirmar este pago. Sigue los pasos que te indique para continuar.",
|
|
300
|
+
processingError:
|
|
301
|
+
"No se ha podido procesar la tarjeta. Inténtalo de nuevo en unos momentos.",
|
|
302
|
+
rateLimited:
|
|
303
|
+
"Se han hecho demasiados intentos de pago. Espera unos minutos e inténtalo de nuevo.",
|
|
304
|
+
paymentExpired:
|
|
305
|
+
"El pago ha caducado antes de completarse. Recarga la página e inténtalo de nuevo.",
|
|
306
|
+
amountMismatch:
|
|
307
|
+
"El importe del pedido ha cambiado. Recarga la página e inténtalo de nuevo.",
|
|
308
|
+
networkError:
|
|
309
|
+
"Se ha perdido la conexión. Revisa tu conexión a internet e inténtalo de nuevo.",
|
|
310
|
+
cartAlreadyCompleted:
|
|
311
|
+
"Este pedido ya se ha completado. Revisa tu correo electrónico para ver la confirmación.",
|
|
312
|
+
outOfStock:
|
|
313
|
+
"Uno de los productos ya no está disponible en la cantidad elegida. Actualiza tu carrito para continuar.",
|
|
314
|
+
invalidRegion:
|
|
315
|
+
"Este destino de envío no está disponible. Recarga la página e inténtalo de nuevo.",
|
|
316
|
+
shippingMethodMissing: "Elige un método de envío para continuar.",
|
|
317
|
+
},
|
|
318
|
+
giftCardErrors: {
|
|
319
|
+
invalidGiftCard:
|
|
320
|
+
"Ese código de tarjeta regalo no es válido. Revisa el código e inténtalo de nuevo.",
|
|
321
|
+
rateLimited: "Demasiados intentos. Espera unos minutos e inténtalo de nuevo.",
|
|
322
|
+
cartCompleted:
|
|
323
|
+
"Este pedido ya está finalizado. Revisa tu correo para ver la confirmación.",
|
|
324
|
+
cartNotFound: "Tu carrito ha caducado. Recarga la página e inténtalo de nuevo.",
|
|
325
|
+
validationFailed: "Ese código no es válido. Revísalo e inténtalo de nuevo.",
|
|
326
|
+
generic:
|
|
327
|
+
"La tarjeta regalo no se ha podido aplicar ahora mismo. Inténtalo de nuevo en un momento.",
|
|
328
|
+
},
|
|
329
|
+
promotionErrors: {
|
|
330
|
+
generic:
|
|
331
|
+
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
332
|
+
needsEmail:
|
|
333
|
+
"Este código de descuento necesita una dirección de correo electrónico. Añade la tuya arriba e inténtalo de nuevo.",
|
|
334
|
+
exhausted: "Esta promoción se ha agotado y ya no está disponible.",
|
|
335
|
+
promotionNotFound:
|
|
336
|
+
"Este código de descuento no es válido. Revísalo e inténtalo de nuevo.",
|
|
337
|
+
promotionInactive: "Este código de descuento ya no está activo.",
|
|
338
|
+
promotionMisconfigured:
|
|
339
|
+
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
340
|
+
promotionUnsupportedType:
|
|
341
|
+
"Este código de descuento no se puede aplicar ahora mismo. Revisa el código e inténtalo de nuevo.",
|
|
342
|
+
cartCompleted:
|
|
343
|
+
"Este pedido ya se ha realizado. Revisa tu correo electrónico para ver la confirmación.",
|
|
344
|
+
cartNotFound:
|
|
345
|
+
"No encontramos tu carrito. Recarga la página e inténtalo de nuevo.",
|
|
346
|
+
validationFailed:
|
|
347
|
+
"Este código de descuento no es válido. Revísalo e inténtalo de nuevo.",
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
order: {
|
|
351
|
+
orderConfirmed: "Pedido confirmado",
|
|
352
|
+
confirmationSent: "Hemos enviado una confirmación a",
|
|
353
|
+
orderNumber: "Pedido",
|
|
354
|
+
orderDate: "Fecha",
|
|
355
|
+
summary: "Resumen del pedido",
|
|
356
|
+
subtotal: "Subtotal",
|
|
357
|
+
shipping: "Envío",
|
|
358
|
+
discount: "Descuento",
|
|
359
|
+
tax: "Impuestos",
|
|
360
|
+
total: "Total",
|
|
361
|
+
paymentMethodFee: "Comisión por método de pago",
|
|
362
|
+
contactInfo: "Datos de contacto",
|
|
363
|
+
delivery: "Entrega",
|
|
364
|
+
paymentMethod: "Método de pago",
|
|
365
|
+
paymentMethodTitles: {
|
|
366
|
+
card: "Tarjeta de crédito / débito",
|
|
367
|
+
cod: "Contra reembolso",
|
|
368
|
+
manual: "Pago manual",
|
|
369
|
+
paypal: "PayPal",
|
|
370
|
+
},
|
|
371
|
+
needHelp: "¿Necesitas ayuda?",
|
|
372
|
+
contactUs: "Contacta con nosotros",
|
|
373
|
+
returnsExchanges: "Devoluciones y cambios",
|
|
374
|
+
orderPlaced: "Realizado",
|
|
375
|
+
processing: "En proceso",
|
|
376
|
+
shipped: "Enviado",
|
|
377
|
+
delivered: "Entregado",
|
|
378
|
+
free: "Gratis",
|
|
379
|
+
continueShopping: "Seguir comprando",
|
|
380
|
+
qty: "cant.",
|
|
381
|
+
tracking: "Seguimiento",
|
|
382
|
+
},
|
|
383
|
+
reviews: {
|
|
384
|
+
sectionTitle: "Valoraciones",
|
|
385
|
+
reviewSingular: "valoración",
|
|
386
|
+
reviewPlural: "valoraciones",
|
|
387
|
+
sortAria: "Ordenar",
|
|
388
|
+
sortDefault: "Recomendadas",
|
|
389
|
+
sortNewest: "Más recientes",
|
|
390
|
+
sortRatingDesc: "Mejor valoradas",
|
|
391
|
+
sortRatingAsc: "Peor valoradas",
|
|
392
|
+
verified: "Compra verificada",
|
|
393
|
+
verifiedTitle: "Comprador real, verificado mediante un enlace de pedido",
|
|
394
|
+
loadMore: "Mostrar más",
|
|
395
|
+
loading: "Cargando...",
|
|
396
|
+
dateToday: "hoy",
|
|
397
|
+
dateYesterday: "ayer",
|
|
398
|
+
dateDaysAgo: "hace {n} días",
|
|
399
|
+
showPhoto: "Ver foto",
|
|
400
|
+
playVideo: "Reproducir vídeo",
|
|
401
|
+
close: "Cerrar",
|
|
402
|
+
expiredTitle: "Este enlace de valoración ha caducado",
|
|
403
|
+
expiredBody:
|
|
404
|
+
"El enlace era válido durante 60 días desde tu compra. Si quieres dejar una valoración, escríbenos a {email}.",
|
|
405
|
+
invalidTitle: "Este enlace de valoración no es válido",
|
|
406
|
+
invalidBody:
|
|
407
|
+
"Puede que hayas abierto un enlace antiguo. Si tienes alguna duda, escríbenos a {email}.",
|
|
408
|
+
alreadyTitle: "¡Gracias por tu valoración!",
|
|
409
|
+
alreadyBodyWithProduct: "Ya hemos recibido tu valoración de {name}.",
|
|
410
|
+
alreadyBody: "Esta valoración ya se ha enviado.",
|
|
411
|
+
greeting: "Hola",
|
|
412
|
+
headingRate: "Comparte tu opinión",
|
|
413
|
+
headingPhoto: "Solo queda un paso",
|
|
414
|
+
introRate:
|
|
415
|
+
"Una valoración breve con tus palabras ayuda a quienes están pensando en la misma elección.",
|
|
416
|
+
introPhoto:
|
|
417
|
+
"Tu puntuación está guardada. Añade una foto del producto y consigue un {pct}% de descuento en tu próximo pedido.",
|
|
418
|
+
productLabel: "Producto",
|
|
419
|
+
ratingLabel: "Puntuación",
|
|
420
|
+
ratingOutOf: "{n} de 5",
|
|
421
|
+
ratingAria: "{n} de 5 estrellas",
|
|
422
|
+
bodyLabel: "¿Qué te gustó y qué no?",
|
|
423
|
+
bodyPlaceholder:
|
|
424
|
+
"Descríbelo con tus palabras. Cuanto más detalle, más útil para el próximo cliente.",
|
|
425
|
+
consentNote:
|
|
426
|
+
"Al enviar la valoración aceptas que la publiquemos en la página del producto.",
|
|
427
|
+
continue: "Continuar",
|
|
428
|
+
submitting: "Enviando...",
|
|
429
|
+
bonusBadge: "Extra",
|
|
430
|
+
photoTitle: "Enséñalo y llévate un {pct}%",
|
|
431
|
+
photoSubtitle:
|
|
432
|
+
"Añade una foto o un vídeo corto del producto y te regalamos un {pct}% de descuento para tu próximo pedido.",
|
|
433
|
+
dropHint: "Arrastra los archivos aquí o haz clic para elegir",
|
|
434
|
+
dropLimits: "Hasta {n} fotos (JPG/PNG/WEBP, 8 MB), 1 vídeo (MP4/MOV, 50 MB, 60 s)",
|
|
435
|
+
skip: "Omitir",
|
|
436
|
+
skipAria: "Omitir",
|
|
437
|
+
submitPhoto: "Enviar y obtener el {pct}%",
|
|
438
|
+
waitingUpload: "Esperando la subida...",
|
|
439
|
+
remove: "Quitar",
|
|
440
|
+
thanksTitle: "¡Gracias!",
|
|
441
|
+
thanksBody: "Hemos recibido tu valoración y ya está publicada en la página del producto.",
|
|
442
|
+
rewardTitle: "Tu descuento del {pct}%",
|
|
443
|
+
copy: "Copiar",
|
|
444
|
+
copied: "Copiado",
|
|
445
|
+
copyAria: "Copiar el código",
|
|
446
|
+
rewardNote:
|
|
447
|
+
"También te hemos enviado el código por correo. Úsalo en tu próximo pedido: es válido para un solo uso.",
|
|
448
|
+
codeUnavailable:
|
|
449
|
+
"La foto se ha guardado. Algo ha fallado al generar tu código de descuento: escríbenos a {email} y te lo enviamos enseguida.",
|
|
450
|
+
viewProduct: "Ver producto",
|
|
451
|
+
toStore: "Volver a la tienda",
|
|
452
|
+
errUnsupported: "El archivo {name} no tiene un formato compatible.",
|
|
453
|
+
errMaxImages: "Máximo {n} fotos.",
|
|
454
|
+
errImageTooLarge: "La foto {name} supera los {mb} MB.",
|
|
455
|
+
errMaxVideos: "Máximo {n} vídeo.",
|
|
456
|
+
errVideoTooLarge: "El vídeo supera los {mb} MB.",
|
|
457
|
+
errVideoTooLong: "El vídeo dura más de {s} segundos.",
|
|
458
|
+
errVideoMeta: "No hemos podido leer la duración del vídeo.",
|
|
459
|
+
errUploadFailed: "No se ha podido subir {name}. Inténtalo de nuevo.",
|
|
460
|
+
errRateLimited: "Se han enviado demasiadas valoraciones desde esta dirección. Inténtalo más tarde.",
|
|
461
|
+
errAlreadySubmitted: "Esta valoración ya se ha enviado.",
|
|
462
|
+
errExpired: "El enlace de valoración ha caducado.",
|
|
463
|
+
errGeneric: "Algo ha fallado. Inténtalo de nuevo.",
|
|
464
|
+
errPhotoSave: "La foto no se ha podido guardar. Inténtalo de nuevo.",
|
|
465
|
+
},
|
|
466
|
+
}
|