{ "searchPlaceholder": "Buscar piezas...", "categoryPlaceholder": "Categoría", "allCategories": "Todas las categorías", "applyMarkup": "Aplicar margen", "addPart": "Añadir pieza", "table": { "partNumber": "N.º pieza", "name": "Nombre", "category": "Categoría", "inStock": "En stock", "unitCost": "Coste unitario", "sellPrice": "Precio de venta", "supplier": "Proveedor", "location": "Ubicación", "low": "Bajo", "barcode": "Código de barras" }, "empty": { "noMatch": "Ninguna pieza coincide con su búsqueda.", "noParts": "Aún no hay piezas en el inventario.", "noLowStock": "Ahora mismo nada está por debajo de su punto de pedido.", "noReorderPoints": "No hay puntos de pedido definidos, así que ninguna pieza puede considerarse baja.", "configureReorderPoints": "Definir un punto de pedido predeterminado" }, "actions": { "edit": "Editar", "delete": "Eliminar", "details": "Detalles e historial" }, "deletePart": { "title": "Eliminar pieza", "description": "¿Eliminar \"{name}\" del inventario? Esta acción no se puede deshacer.", "confirm": "Eliminar" }, "bulkDelete": { "title": "Eliminar piezas seleccionadas", "description": "¿Eliminar {count, plural, one {# pieza} other {# piezas}} del inventario? Esta acción no se puede deshacer.", "confirm": "Eliminar", "selected": "{count, plural, one {# pieza seleccionada} other {# piezas seleccionadas}}", "clearSelection": "Limpiar", "deleteSelected": "Eliminar ({count})", "success": "{count, plural, one {# pieza eliminada} other {# piezas eliminadas}}" }, "markup": { "title": "Aplicar margen a todas las piezas", "multiplierLabel": "Multiplicador de margen", "description": "Esto establecerá el precio de venta = coste x {multiplier} para las {count} piezas.", "percentage": "({percent}% de margen)", "cancel": "Cancelar", "apply": "Aplicar", "overrideExisting": "Sobrescribir precios de venta existentes", "overrideExistingHint": "Se actualizarán todas las piezas, incluidas las que ya tienen precio de venta.", "skipExistingHint": "Solo se actualizarán las piezas sin precio de venta." }, "errors": { "multiplierPositive": "El multiplicador debe ser mayor que 0", "deleteFailed": "No se pudo eliminar la pieza", "applyFailed": "No se pudo aplicar el margen", "saveFailed": "No se pudo guardar la pieza", "error": "Error" }, "scanBarcode": "Escanear", "barcodeScan": { "title": "Pieza escaneada", "notFound": "No se encontró pieza para el código \"{barcode}\"", "createNew": "Crear pieza nueva", "addStock": "Agregar al stock", "editPart": "Editar pieza", "currentStock": "Stock actual: {quantity}", "addedStock": "{amount} agregados al stock", "customAmount": "Cant...", "scanParts": "Escanear piezas" }, "form": { "editPart": "Editar pieza", "addNewPart": "Añadir nueva pieza", "supplierLink": "Enlace del proveedor", "supplierLinkPlaceholder": "https://proveedor.com/producto/...", "fetch": "Obtener", "fetchFailed": "Error al obtener", "fetchError": "No se pudieron obtener los metadatos de la URL", "image": "Imagen", "dropOrClick": "Arrastre una imagen o haga clic", "replace": "Reemplazar", "upload": "Subir", "camera": "Cámara", "aiAnalyze": "IA Auto-rellenar", "aiAnalyzing": "Analizando imagen...", "aiAnalyzeSuccess": "Campos completados desde la imagen", "aiAnalyzeFailed": "No se pudo analizar la imagen", "imageUploading": "Subiendo imagen...", "imageUploaded": "Imagen subida", "imageUploadFailed": "No se pudo subir la imagen", "imageTypeError": "Solo se permiten imágenes JPEG, PNG, WebP y AVIF", "imageSizeError": "La imagen debe ser menor de 5 MB", "partNumber": "Número de pieza", "partNumberPlaceholder": "BRK-001", "barcode": "Código de barras", "barcodePlaceholder": "123456789012", "nameLabel": "Nombre *", "namePlaceholder": "Juego de pastillas de freno", "category": "Categoría", "categoryPlaceholder": "Seleccionar categoría...", "categorySearch": "Buscar o crear...", "categoryCreate": "Crear \"{name}\"", "categoryNone": "Sin categorías aún", "location": "Ubicación", "locationPlaceholder": "Estante A-3", "quantity": "Cantidad", "minQty": "Cant. mín.", "unit": "Unidad", "unitPlaceholder": "uds, l, kg...", "unitSuggestions": "uds,juego", "unitSearch": "Buscar o escribir...", "unitCreate": "Usar \"{name}\"", "unitGroupCount": "Recuento", "unitGroupMetric": "Métrico", "unitGroupImperial": "Imperial", "unitCost": "Coste unitario", "sellPrice": "Precio de venta", "supplier": "Proveedor", "supplierPlaceholder": "AutoParts S.L.", "supplierPhone": "Teléfono del proveedor", "supplierPhonePlaceholder": "(555) 123-4567", "supplierEmail": "Correo del proveedor", "supplierEmailPlaceholder": "pedidos@recambios.com", "description": "Descripción", "descriptionPlaceholder": "Descripción de la pieza...", "cancel": "Cancelar", "saveChanges": "Guardar cambios", "addPart": "Añadir pieza" }, "openMenu": "Abrir menú", "history": { "title": "Historial de stock", "description": "Todos los cambios registrados en {name}, más recientes primero.", "empty": "Aún no hay movimientos de stock.", "when": "Fecha", "change": "Cambio", "balance": "Saldo", "usedOn": "Usado en", "by": "Por", "reasons": { "service_record": "Orden de trabajo", "service_record_deleted": "Orden eliminada", "quote_conversion": "Presupuesto convertido", "manual_adjustment": "Ajuste manual", "bulk_markup": "Margen masivo" }, "backToInventory": "Inventario", "reason": "Motivo", "allReasons": "Todos los motivos" }, "suggestions": { "title": "De su inventario", "inStock": "{quantity} en stock", "outOfStock": "Agotado", "onBackorder": "En pedido pendiente ({count})" } }