diff --git a/grails-app/i18n/messages.properties b/grails-app/i18n/messages.properties
index b9f5d0d880..87354094f2 100644
--- a/grails-app/i18n/messages.properties
+++ b/grails-app/i18n/messages.properties
@@ -1473,6 +1473,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_ach.properties b/grails-app/i18n/messages_ach.properties
index 4249917142..7dd935b3dc 100644
--- a/grails-app/i18n/messages_ach.properties
+++ b/grails-app/i18n/messages_ach.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=crwdns22917\:0crwdne22917\:0
locale.de.label=crwdns22919\:0crwdne22919\:0
locale.en.label=crwdns22921\:0crwdne22921\:0
locale.es.label=crwdns22923\:0crwdne22923\:0
+locale.es_MX.label=crwdns23542\:0crwdne23542\:0
locale.fi.label=crwdns22925\:0crwdne22925\:0
locale.fr.label=crwdns22927\:0crwdne22927\:0
locale.ht.label=crwdns22929\:0crwdne22929\:0
@@ -4382,7 +4383,7 @@ react.productSupplier.form.bidName.tooltip=crwdns23278\:0crwdne23278\:0
react.productSupplier.form.productPackageQuantity.tooltip=crwdns23280\:0crwdne23280\:0
react.productSupplier.form.minOrderQuantity.tooltip=crwdns23282\:0crwdne23282\:0
react.productSupplier.form.packagePrice.tooltip=crwdns23284\:0crwdne23284\:0
-react.productSupplier.form.eachPrice.tooltip=crwdns23540\:0crwdne23540\:0
+react.productSupplier.form.eachPrice.tooltip=crwdns23544\:0crwdne23544\:0
react.productSupplier.form.legacyCode.tooltip=crwdns23288\:0crwdne23288\:0
react.productSupplier.form.contractPricePrice.tooltip=crwdns23290\:0crwdne23290\:0
react.productSupplier.form.tieredPricing.tooltip=crwdns23292\:0crwdne23292\:0
diff --git a/grails-app/i18n/messages_ar.properties b/grails-app/i18n/messages_ar.properties
index 0eccdfcc8f..5d6b85b7bb 100755
--- a/grails-app/i18n/messages_ar.properties
+++ b/grails-app/i18n/messages_ar.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_cs.properties b/grails-app/i18n/messages_cs.properties
index 48b9f2ed85..8b86f42e1b 100644
--- a/grails-app/i18n/messages_cs.properties
+++ b/grails-app/i18n/messages_cs.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_de.properties b/grails-app/i18n/messages_de.properties
index dd56fa9158..47ba685b41 100755
--- a/grails-app/i18n/messages_de.properties
+++ b/grails-app/i18n/messages_de.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_es.properties b/grails-app/i18n/messages_es.properties
index 5f29b05f43..0c416ff3c6 100644
--- a/grails-app/i18n/messages_es.properties
+++ b/grails-app/i18n/messages_es.properties
@@ -784,7 +784,7 @@ enum.InventoryLevelStatus.OVERSTOCK=sobresstockLow stock
enum.InventoryLevelStatus.REORDER=Reorder
enum.InventoryLevelStatus.IDEAL_STOCK=Ideal stock
-enum.InventoryLevelStatus.IN_STOCK=In stock
+enum.InventoryLevelStatus.IN_STOCK=En stock
enum.InventoryLevelStatus.NOT_STOCKED=Not stocked
enum.InventoryLevelStatus.INVALID=Invalid
enum.InventoryLevelStatus.NOT_SUPPORTED=Not supported
@@ -1288,7 +1288,7 @@ inventory.snapshot.label=Instantáneas de inventario
inventory.thereAreNoItemsCurrentlyInStock.message=No hay {0} ítems en stock.
inventory.thereAreRowsIn.message=Hay {0} filas en {1}. Esto importación creará {2} nuevos productos, {3} artículos de inventario nuevos y {4} nuevas categorías.
inventory.toggleOutOfStockItems.label=Cambia de artículos disponibles
-inventory.tooManyProducts.message=Too many products - cannot view quantities. Narrow your search to view quantities.
+inventory.tooManyProducts.message=Demasiados productos - no se pueden ver cantidades. Limita tu búsqueda para ver cantidades.
inventory.transactionHasBeenConfirmed.message=Transacción ha sido confirmada
inventory.transactionHasBeenUnconfirmed.message=La transacción ha sido confirmada
inventory.transactionSaved.message=Transacción guardado correctamente
@@ -1300,7 +1300,7 @@ inventory.uploadAFileToImport.label=Archivo de datos
inventory.view.label=Ver inventario
inventory.yourSearchDidNotReturnAnyItems.message=Su búsqueda no ha obtenido ningún Artículos
inventory.withinCategory.label=dentro de la categoría
-inventory.transferStockInternally.label=Transferir existencias internamente
+inventory.transferStockInternally.label=Transferir stock internamente
inventory.printStockTransfer.label=Imprimir transferencia de stock
inventory.replenishPickingBins.label=Replenish picking bins
@@ -1329,7 +1329,7 @@ replenishment.temporaryDisabled.message=La reposición de contenedores fue desha
inventoryItem.addedItemToShipment.message=Alta elemento {0} para el envío {1}
inventoryItem.adjustStock.message=Adjusted stock for lot number {0}
inventoryItem.binLocation.label=Ubicación del contenedor
-inventoryItem.binLocationOld.label=Bin Location Old
+inventoryItem.binLocationOld.label=Ubicación de contenedor antigua
inventoryItem.browse.label=Buscar artículos de inventario
inventoryItem.create.label=Crear artículo de inventario
inventoryItem.daysUntilExpiry.label=Días hasta que caduque
@@ -1395,7 +1395,7 @@ inventoryItems.expiring.label=Insumos en inventario caducidad
inventoryItems.downloadWithBinLocation.label=Descargar con ubicación de contenedores
inventoryLevel.label=nivel de inventario
inventoryLevels.label=Niveles del inventario
-inventoryLevel.binLocation.label=Bin location
+inventoryLevel.binLocation.label=Ubicación del contenedor
inventoryLevel.abcClass.label=Clase ABC
inventoryLevel.currentQuantity.label=Cantidad actual
inventoryLevel.zone.label=Zone
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
@@ -1480,15 +1481,15 @@ location.addLocation.label=Agregar una nueva ubicación
location.addNewLocation.label=Agregar una nueva ubicación
location.addSupplierCustomer.label=Agregar un nuevo proveedor o cliente
location.binLocation.label=Ubicación del contenedor
-location.binLocations.label=Bin Locations
-location.bin.label=Bin
-location.bins.label=Bins
+location.binLocations.label=Ubicaciones de contenedores
+location.bin.label=Contenedor
+location.bins.label=Contenedores
location.zone.label=Zona
location.zoneLocations.label=Zone Locations
location.zoneLocation.label=Zone Location
location.noZoneLocations.label=No hay ubicaciones de zona
location.noZone.label=Sin zona
-location.zoneAssigned.message=You cannot delete zone that is assigned to a bin location
+location.zoneAssigned.message=No se puede eliminar la zona que está asignada a una ubicación de contenedor
location.bgColor.label=Background color
location.fgColor.label=Foreground color
location.bgColor.invalid.matchingcolor=Los colores no deben coincidir
@@ -1633,7 +1634,7 @@ order.header.label=Encabezado de la Orden
order.itemStatus.message=Estado del insumo
order.itemDetails.message=Detalles del insumo
order.itemsInOrder.message=Hay {0} artículos en esta orden.
-order.itemsOrdered.label=Artículos pedidos
+order.itemsOrdered.label=Línea de insumos pedidos
order.itemsReceived.label=Artículos recibido
order.list.label=Órdenes de compra
order.listIncoming.label=Órdenes de compra
@@ -1648,7 +1649,7 @@ order.cantEditFromDifferentLocation.label=To edit this Purchase Order, please lo
order.noComments.label=No hay comentarios
order.noDocuments.label=No hay documentos
order.noItems.label=No hay elementos
-order.noPendingItems.label=No hay pendientes artículos de la orden
+order.noPendingItems.label=No hay insumos pendientes en la orden
order.noPendingOrders.label=No hay pedidos pendientes
order.noRecent.label=No hay pedidos
order.noShipments.label=No hay envíos
@@ -1716,7 +1717,7 @@ order.total.label=Total
order.totalPrice.label=Precio total (MX)
order.transferOrder.label=Orden de transferencia
order.unitPrice.label=Precio unitario (MX)
-order.unitPrice.hint=Unit Price supports up to 4 decimal places (e.g. 0.0001)
+order.unitPrice.hint=Precio unitario soporta hasta 4 decimales (por ejemplo, 0.0001)
order.untitled.label=Orden sin titulo
order.updateItem.label=actualizar el artículo
order.view.label=Ver orden
@@ -1762,7 +1763,7 @@ orderCommand.shippedOn.invalid.required=La propiedad [{0}] de la clase [{1}] con
sendShipmentCommand.actualShippingDate.validator.error=fecha del envío debe ocurrir a partir del día de hoy
sendShipmentCommand.shipment.validator.error=envío \= ya ha sido enviado
# Order Item messages
-orderItem.list.label=Elementos de la lista de pedidos
+orderItem.list.label=Insumos de la lista de pedidos
orderItem.orderItemStatusCode.label=Estado
orderItem.quantity.label=Cantidad
orderItem.quantityUom.label=Unidad de medida
@@ -1821,8 +1822,8 @@ organization.label=Organization
organizations.label=Organizaciones
organization.confirm.inactive.message=This will also deactivate all locations associated with this organization. Would you like to proceed?
# Pack level
-packLevel1.label=Paquete nivel 1
-packLevel2.label=Paquete nivel 2
+packLevel1.label=Paq nivel 1
+packLevel2.label=Paq nivel 2
# Payment Term
paymentTerm.label=Términos de pago
paymentTerms.label=Términos de pago
@@ -1971,8 +1972,8 @@ product.overStock.label=Overstock
product.otherCategories.label=Categorías opcionales
product.packageDescription.label=descripción del paquete
product.packaging.label=Empaquetamiento
-product.pricePerUnit.label=Average Unit Price
-product.unitPrice.label=Unit Price
+product.pricePerUnit.label=Precio promedio unitario
+product.unitPrice.label=Precio unitario
product.lastPaid.label=Last Paid
product.primaryCategory.label=Categoría Principal
product.productCode.label=Código del Insumo
@@ -2064,7 +2065,7 @@ productAttribute.label=Product Attribute
# Product catalogs
productCatalog.label=Catálogo del producto
productCatalogs.label=Product Catalogs
-productCatalog.addColor.label=Add color in the Global Search
+productCatalog.addColor.label=Añadir color en la búsqueda global
productCatalog.color.label=Color
# Product catalog items
productCatalogItem.label=Product Catalog Item
@@ -2170,7 +2171,7 @@ receipt.actualDeliveryDate.invalid.mustOccurOnOrBeforeToday=Debe ocurrir en o an
receipt.inventoryItem.invalid=Debe hacer referencia a un artículo de inventario válido
receipt.destinationMismatch.message=Please log into ''{0}'' in order to receive this shipment
receipt.saveAndContinue.message=NOTE\: Please click Save & Continue to save any changes before using the Split or Delete buttons.
-receipt.copyBinLocation.message=Copy this bin location to all other lines in this shipment
+receipt.copyBinLocation.message=Copiar esta ubicación de contenedor a todas las demás líneas en este envío
receipt.receiptNumber.label=Número de recibo
receipt.receiptStatusCode.label=Estado del recibo
# Receipt messages
@@ -2618,7 +2619,7 @@ shipmentItem.label=envío del artículo
shipmentItem.quantity.label=Cantidad
shipmentItem.product.label=Insumo
shipmentItem.inventoryItem.label=artículo de inventario
-shipmentItem.binLocation.label=Bin Location
+shipmentItem.binLocation.label=Ubicación del contenedor
shipmentItem.quantity.cannotExceedAvailableQuantity=La cantidad de envío ({0}) no puede exceder la cantidad disponible ({1}) para el código del producto ''{2}'' y el número de lote ''{3}'' en el contenedor ''{4}'' original ''{5}''.
shipmentItem.quantity.pickNotValid=La opción para el código del insumo ({0}) ya no es válida. Esto puede ocurrir si se ha realizado un recuento de existencias, transferencia o retirada del producto desde que se generó la selección inicial. Para abordar este problema, edite la selección para seleccionar un nuevo lote o reducir la cantidad de selección y agregar un código de razón.
shipmentItem.shipment.required=envío \= Artículo se debe asignar un envío
@@ -2884,7 +2885,7 @@ synonym.name.blank=El sinónimo no puede ser una cadena vacía
supplier.label=Supplier
supplier.priceHistory.label=Price History
# Certificate of Donation
-certificateOfDonation.unitPrice.label=Unit Price (USD)
+certificateOfDonation.unitPrice.label=Precio unitario (MXN)
certificateOfDonation.totalCost.label=Total Cost
certificateOfDonation.quantity.label=Cantidad
certificateOfDonation.expDate.label=Fecha de cad
@@ -3219,7 +3220,7 @@ react.default.featureNotSupported=Esta función no es compatible en este momento
react.default.globalSearch.placeholder.label=Buscar...
react.default.loading.label=Cargando...
react.default.select.noResultsFound.label=No results found
-react.default.select.typeToSearch.label=Type to search
+react.default.select.typeToSearch.label=Escriba para buscar
react.default.noOptions.label=No options
react.default.dateInput.placeholder.label=Selecciona una fecha
react.default.form.field.required.label=${0} is required
@@ -3273,7 +3274,7 @@ react.invoice.viewDetails.label=View Invoice Details
react.invoice.edit.label=Edit Invoice
react.invoice.error.fetching.label=Unable to fetch invoices
react.invoice.vendor.label=Vendor
-react.invoice.searchField.placeholder.label=Search by invoice number...
+react.invoice.searchField.placeholder.label=Buscar por número de factura...
react.invoice.column.itemCount.label=\# items
react.invoice.column.status.label=Estado
react.invoice.column.invoiceNumber.label=Invoice Number
@@ -3315,8 +3316,8 @@ react.stockMovement.maxQuantity.label=Max Qty
react.stockMovement.neededQuantity.label=Needed Qty
react.stockMovement.demandPerReplenishmentPeriod.label=Demand per Replenishment Period
react.stockMovement.demandPerRequestPeriod.label=Demand per Request Period
-react.stockMovement.packLevel1.label=Pack nivel 1
-react.stockMovement.packLevel2.label=Pack nivel 2
+react.stockMovement.packLevel1.label=Paq nivel 1
+react.stockMovement.packLevel2.label=Paq nivel 2
react.stockMovement.item.label=Articulo
react.stockMovement.lot.label=Lote
react.stockMovement.expiry.label=Caducidad
@@ -3586,7 +3587,7 @@ react.partialReceiving.receiveShipment.label=Recibir envío
react.partialReceiving.cancelAllRemaining.label=Cancel all remaining
react.partialReceiving.shipmentInformation.label=Información sobre el envío
react.partialReceiving.message.confirmReceive.label=Confirm receiving
-react.partialReceiving.confirmReceive.message=Are you sure you want to receive? There are some lines with empty bin locations.
+react.partialReceiving.confirmReceive.message=¿Estás seguro de que quieres recibir? Hay algunas líneas con ubicaciones de contenedores vacías.
react.partialReceiving.message.confirmSave.label=Confirm save
react.partialReceiving.confirmExpiryDateUpdate.message=Esto actualizará la fecha de caducidad en todos los depósitos del sistema. ¿Está seguro de que desea continuar?
react.partialReceiving.error.enterQuantityShipped.label=¡Ingrese la cantidad enviada\!
@@ -3669,7 +3670,7 @@ react.stockListManagement.alert.noManagerSelected.label=Please add a manager as
# Dashboard titles
react.dashboard.inventoryByLotAndBin.title.label=Detalles del inventario por Lote y Contenedor
-react.dashboard.inventoryByLotAndBin.info.label=Number of lines in inventory report, broken down by lot and bin location
+react.dashboard.inventoryByLotAndBin.info.label=Número de líneas en el reporte de inventario, desglosadas por lote y ubicación de contenedor
react.dashboard.inProgressShipments.title.label=Sus envíos en progreso
react.dashboard.inProgressShipments.info.label=Número de envíos salientes creados por usted y aún no emitidos
react.dashboard.inProgressPutaways.title.label=Tus Asignaciones en Progreso
@@ -3690,8 +3691,8 @@ react.dashboard.openStockRequests.info.label=Número de solicitudes electrónica
react.dashboard.requestsPendingApproval.title.label=Requests waiting for approval
react.dashboard.requestsPendingApproval.info.label=Number of electronic requests waiting for approval
react.dashboard.inventoryValue.title.label = Inventory Value
-react.dashboard.chooseLocation.label = Escoja una Localización
-react.dashboard.noLocationGroup.label = No location group
+react.dashboard.chooseLocation.label = Elegir Ubicación
+react.dashboard.noLocationGroup.label = No hay grupo de ubicación
react.dashboard.noOrganization.label = No organization
react.dashboard.expirationSummaryData.title.label=Resumen de caducidad
@@ -3740,7 +3741,7 @@ react.dashboard.archive.label=Archivar indicador
react.dashboard.fillRate.label=Tasa de relleno
react.dashboard.transaction.label=Gestión de transacciones
react.dashboard.inventory.label=Gestión del Inventario
-react.dashboard.warehouse.label=Gestión de bodega
+react.dashboard.warehouse.label=Gestor de Almacén
react.dashboard.personal.label=Panel de Control
react.dashboard.supplier.label=Panel del proveedor
@@ -3909,12 +3910,12 @@ react.outboundReturns.lot.label=Lot
react.outboundReturns.expiry.label=Caducidad
react.outboundReturns.qoh.label=QOH
react.outboundReturns.zone.labe=Zone
-react.outboundReturns.bin.label=Bin Location
+react.outboundReturns.bin.label=Ubicación del contenedor
react.outboundReturns.quantity.label=Qty to Return
react.outboundReturns.selectProduct.label=Select product...
react.outboundReturns.enterLotNumber.label=Enter lot number...
react.outboundReturns.selectExpirationDate.label=Select expiration date...
-react.outboundReturns.selectBinLocation.label=Select bin location...
+react.outboundReturns.selectBinLocation.label=Seleccionar ubicación de contenedor...
react.outboundReturns.recalledAndOnHold.label=This item is both recalled and on hold
react.outboundReturns.recalled.label=This item is recalled
react.outboundReturns.onHold.label=This item is on hold
@@ -3936,7 +3937,7 @@ react.inboundReturns.lot.label=Lot
react.inboundReturns.expiry.label=Caducidad
react.inboundReturns.qoh.label=QOH
react.inboundReturns.zone.labe=Zone
-react.inboundReturns.bin.label=Bin Location
+react.inboundReturns.bin.label=Ubicación del contenedor
react.inboundReturns.quantity.label=Qty to Return
react.inboundReturns.error.enterQuantity.label=Enter proper quantity
react.inboundReturns.error.invalidDate.label=This date is invalid. Please enter a date after 2000.
@@ -3999,7 +4000,7 @@ react.locationsConfiguration.address.city.label=City
react.locationsConfiguration.address.street.label=Street Address
react.locationsConfiguration.address.street2.label=Street Address 2
react.locationsConfiguration.address.postalCode.label=CP
-react.locationsConfiguration.zoneAndBin.label=Zone and Bin Locations
+react.locationsConfiguration.zoneAndBin.label=Ubicaciones de zona y ubicaciones de contenedor
react.locationsConfiguration.forecasting.label=Forecasting
react.locationsConfiguration.welcomeHeader.label=Welcome to OpenBoxes - Create a Depot Location\!
react.locationsConfiguration.modalIntro.label=The first step in setting up your instance of OpenBoxes is to create locations. Locations represent physical spaces that ship stock, receive stock, or manage inventory. Learn more about locations in OpenBoxes
@@ -4049,12 +4050,12 @@ react.locationsConfiguration.forecast.replenishmentPeriod.tooltip.label=Introduz
react.locationsConfiguration.forecast.demandTime.tooltip.label=Introduzca cuántos días de historial de consumo desea utilizar para calcular la demanda promedio. Por ejemplo, para calcular la demanda utilizando los datos de los últimos 3 meses, introduzca 90.
react.locationsConfiguration.forecast.notsupported.label=Esta sección no es compatible con el tipo de ubicación elegido.
react.locationsConfiguration.zone.label=Zone Locations
-react.locationsConfiguration.zone.additionalTitle1.label=Zones are large areas within a depot encompassing multiple bin locations. They may represent different rooms or buildings within a depot space.
-react.locationsConfiguration.zone.additionalTitle2.label=Zones are optional; bin locations can be entered with or without a zone location.
+react.locationsConfiguration.zone.additionalTitle1.label=Las zonas son áreas grandes dentro de un almacén que abarcan múltiples ubicaciones de contenedores. Pueden representar diferentes habitaciones o edificios dentro de un almacén.
+react.locationsConfiguration.zone.additionalTitle2.label=Las zonas son opcionales; las ubicaciones de contenedores se pueden introducir con o sin una zona de ubicación.
react.locationsConfiguration.addZone.label=Add Zone Location
react.locationsConfiguration.error.zoneList.label=No se pudo obtener la lista de zonas
react.locationsConfiguration.addZone.withoutPlus.label=Add Zone Location
-react.locationsConfiguration.addZone.additionalTitle.label=Zones are large areas within a depot encompassing multiple bin locations. They may represent different rooms or buildings within a depot space. To remove a zone from your depot, uncheck the box to mark it as inactive.
+react.locationsConfiguration.addZone.additionalTitle.label=Las zonas son áreas grandes dentro de un almacén que abarcan múltiples ubicaciones de contenedores. Pueden representar diferentes habitaciones o edificios dentro de un almacén. Para eliminar una zona de su depósito, desmarque la casilla para marcarla como inactiva.
react.locationsConfiguration.addZone.status.label=Estado
react.locationsConfiguration.addZone.error.label=No se pudo agregar la ubicación de la zona
react.locationsConfiguration.addZone.name.tooltip.label=Enter a unique name for the zone.
@@ -4143,29 +4144,29 @@ react.loadData.error.contactSupport.button.label=Contact Support
react.loadData.error.content.label=Hubo un problema al cargar los datos de demostración. A veces esto se puede resolver simplemente reintentando el proceso de carga. Puede encontrar un enlace para reiniciar el proceso de carga en el menú de configuración. También puedes pedir a tu administrador que restablezca tu instancia. Si no estás seguro de cómo continuar, puedes solicitar soporte en OpenBoxes
react.loadData.error.discussionForum.link.label=discussion forum
-react.locationsConfiguration.editBin.label=Edit Bin Location
+react.locationsConfiguration.editBin.label=Editar ubicación del contenedor
react.locationsConfiguration.editBin.additionalTitle.label=Las ubicaciones de contenedores representan una ubicación de almacenamiento físico dentro de un depósito. Los contenedores se definen por un nombre o código único que indica la posición dentro del depósito. Los nombres comunes pueden incluir un número de posición de paleta, un número de rack o una acción de shelf.
react.locationsConfiguration.error.binList.label=No se pudo obtener la lista de ubicaciones de contenedor
-react.locationsConfiguration.deleteBin.error.label=Could not delete bin location
-react.locationsConfiguration.addBin.label=Add Bin Location
-react.locationConfiguration.importBin=Import Bin Locations
-react.locationsConfiguration.addBin.success.label=Bin location has been created successfully\!
-react.locationsConfiguration.addBin.error.label=Could not add bin location
-react.locationsConfiguration.bin.label=Bin Locations
+react.locationsConfiguration.deleteBin.error.label=No se pudo eliminar la ubicación del contenedor
+react.locationsConfiguration.addBin.label=Agregar ubicación de contenedor
+react.locationConfiguration.importBin=Importar ubicaciones de contenedores
+react.locationsConfiguration.addBin.success.label=¡La ubicación del contenedor se ha creado con éxito\!
+react.locationsConfiguration.addBin.error.label=No se pudo agregar la ubicación del contenedor
+react.locationsConfiguration.bin.label=Ubicaciones de contenedores
react.locationsConfiguration.bin.additionalTitle.label=Las ubicaciones de contenedores representan una ubicación de almacenamiento físico dentro de un almacén. El inventario dentro del almacén es rastreado y escogido por la ubicación del contenedor.
-react.locationsConfiguration.importBinLocations.label= Import Bin Locations
+react.locationsConfiguration.importBinLocations.label= Importar ubicaciones de contenedores
react.locationsConfiguration.importBinLocations.importInstruction1.label=Utilice esta página para importar una lista de ubicaciones de la papelera de excel. Para descargar la plantilla, haga clic
react.locationsConfiguration.importBinLocations.importInstruction2.label=Detailed import instructions can be found here.
-react.locationsConfiguration.importBinLocations.here.label=here
-react.locationsConfiguration.importBinLocations.successMessage.label=Bin Location imported successfully
-react.locationsConfiguration.exportBinLocations.label= Export Bin Locations
-react.locationsConfiguration.editBin.success.label=Bin location has been edited successfully\!
-react.locationsConfiguration.editBin.error.label=Could not edit bin location
-react.locationsConfiguration.error.fetchingBinAndZoneTypes=Could not load location types
+react.locationsConfiguration.importBinLocations.here.label=aquí
+react.locationsConfiguration.importBinLocations.successMessage.label=Ubicación del contenedor importada correctamente
+react.locationsConfiguration.exportBinLocations.label= Exportar ubicaciones de contenedores
+react.locationsConfiguration.editBin.success.label=¡La ubicación del contenedor ha sido editada con éxito\!
+react.locationsConfiguration.editBin.error.label=No se pudo editar la ubicación del contenedor
+react.locationsConfiguration.error.fetchingBinAndZoneTypes=No se pudo cargar los tipos de ubicación
react.locationsConfiguration.zoneType.label=Zone Type
react.locationsConfiguration.zoneLocation.label=Zone Location
-react.locationsConfiguration.error.fetchingBinTypes=Could not load bin types
-react.locationsConfiguration.binType.label=Bin Type
+react.locationsConfiguration.error.fetchingBinTypes=No se pudo cargar los tipos de contenedor
+react.locationsConfiguration.binType.label=Tipo contenedor
react.locationsConfiguration.success.congratulations=Congratulations
react.locationsConfiguration.success.subtitle=You have created your first location\!
react.locationsConfiguration.success.createAnother=Create another location
@@ -4384,7 +4385,7 @@ react.productSupplier.form.minOrderQuantity.tooltip=Minimum Order Quantity - the
react.productSupplier.form.packagePrice.tooltip=The most recent price paid per default package
react.productSupplier.form.eachPrice.tooltip=The most recent price paid per smallest individual unit (package price
react.productSupplier.form.legacyCode.tooltip=Referencia a este registro en un sistema de compra anterior o paralelo
-react.productSupplier.form.contractPricePrice.tooltip=Fixed price per unit guaranteed by a contract with the supplier
+react.productSupplier.form.contractPricePrice.tooltip=Precio fijo por unidad garantizado por un contrato con el proveedor
react.productSupplier.form.tieredPricing.tooltip=Indicates whether the supplier offers lower pricing for meeting specific quantity targets
react.productSupplier.form.uom.tooltip=El paquete más común comprado para este insumo
react.productSupplier.form.supplier.title=Supplier
@@ -4496,5 +4497,5 @@ react.outboundImport.table.column.productName.label=Product
react.outboundImport.table.column.lotNumber.label=Lot
react.outboundImport.table.column.expirationDate.label=Caducidad
react.outboundImport.table.column.quantityPicked.label=Qty Picked
-react.outboundImport.table.column.binLocation.label=Bin Location
+react.outboundImport.table.column.binLocation.label=Ubicación del contenedor
react.outboundImport.table.column.recipient.label=Recipient
diff --git a/grails-app/i18n/messages_fi.properties b/grails-app/i18n/messages_fi.properties
index dd56fa9158..47ba685b41 100755
--- a/grails-app/i18n/messages_fi.properties
+++ b/grails-app/i18n/messages_fi.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_fr.properties b/grails-app/i18n/messages_fr.properties
index 862c8e66c8..0579820594 100644
--- a/grails-app/i18n/messages_fr.properties
+++ b/grails-app/i18n/messages_fr.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_ht.properties b/grails-app/i18n/messages_ht.properties
index 04acc89fd0..ddbb95ee3e 100644
--- a/grails-app/i18n/messages_ht.properties
+++ b/grails-app/i18n/messages_ht.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_it.properties b/grails-app/i18n/messages_it.properties
index dd56fa9158..47ba685b41 100755
--- a/grails-app/i18n/messages_it.properties
+++ b/grails-app/i18n/messages_it.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_nl.properties b/grails-app/i18n/messages_nl.properties
index 1d934dd209..f86ed1d123 100644
--- a/grails-app/i18n/messages_nl.properties
+++ b/grails-app/i18n/messages_nl.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Duits
locale.en.label=Engels
locale.es.label=Spaans
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Frans
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_pt.properties b/grails-app/i18n/messages_pt.properties
index 6fe040d759..2ff289fc83 100644
--- a/grails-app/i18n/messages_pt.properties
+++ b/grails-app/i18n/messages_pt.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_rw.properties b/grails-app/i18n/messages_rw.properties
index dd56fa9158..47ba685b41 100644
--- a/grails-app/i18n/messages_rw.properties
+++ b/grails-app/i18n/messages_rw.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_sw.properties b/grails-app/i18n/messages_sw.properties
index dd56fa9158..47ba685b41 100644
--- a/grails-app/i18n/messages_sw.properties
+++ b/grails-app/i18n/messages_sw.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl
diff --git a/grails-app/i18n/messages_zh.properties b/grails-app/i18n/messages_zh.properties
index dd4436d1db..d54fcf5598 100755
--- a/grails-app/i18n/messages_zh.properties
+++ b/grails-app/i18n/messages_zh.properties
@@ -1468,6 +1468,7 @@ locale.ar.label=عربى
locale.de.label=Deutsche
locale.en.label=English
locale.es.label=Español
+locale.es_MX.label=Español (México)
locale.fi.label=Suomi
locale.fr.label=Français
locale.ht.label=Kreyòl