{
    "caseta_titulo": "Access Control — Gate",
    "caseta_subtitulo": "Flow to generate and scan vehicle QRs at Macuspana branch.",
    "caseta_generar_qr_local": "Generate QR (local)",
    "caseta_escanear_qr": "Scan QR (local/external)",
    "caseta_card_generar_titulo": "Generate local QR",
    "caseta_card_generar_desc": "The guard selects the order (or creates a new one), the product and takes a photo of the vehicle/material before generating the QR. Number of trips is at order level (once per order).",
    "caseta_pedido": "Order",
    "caseta_crear_nuevo_pedido": "— Create new order —",
    "caseta_numero_viajes_pedido": "Number of trips for order",
    "caseta_producto": "Product",
    "caseta_seleccione_producto": "Select product",
    "caseta_foto_vehiculo": "Photo of vehicle/material",
    "caseta_boton_generar_qr": "Generate QR",
    "caseta_generando": "Generating...",
    "caseta_qr_generado": "QR generated",
    "caseta_payload_plano": "Plain payload for QR:",
    "caseta_card_escanear_titulo": "Scan QR and register access",
    "caseta_card_escanear_desc": "Click the box and scan the QR. If valid, the system will request an evidence photo to register entry.",
    "caseta_evidencia_ingreso": "Entry evidence",
    "caseta_cantidad_viaje": "Quantity for this trip",
    "caseta_registrar_acceso": "Register access",
    "caseta_registrando": "Registering...",
    "caseta_productos_permitidos_info": "Tickets can only be generated for: Polvo, Rezaga and Balastre.",
    "pos_nueva_venta": "New Sale",
    "pos_productos": "Products",
    "pos_agregar_al_carrito": "Add to cart",
    "pos_carrito": "Cart",
    "pos_total": "Total",
    "pos_descuento_porcentaje": "Discount",
    "pos_descuento_solo_villahermosa": "Discounts only apply at the Villahermosa branch.",
    "pos_descuento_aplicado": "Discount applied",
    "pos_finalizar_venta": "Complete Sale",
    "pos_cantidad": "Qty",
    "pos_quitar": "Remove",
    "pos_vaciar_carrito": "Clear cart",
    "pos_pagos": "Payments",
    "pos_metodo_pago": "Method",
    "pos_monto": "Amount",
    "pos_monto_entregado": "Amount given",
    "pos_monto_recibido": "Amount received",
    "pos_cambio": "Change to give",
    "pos_estatus_entrega": "Delivery",
    "pos_entrega_pendiente": "Pending delivery",
    "pos_entrega_parcial": "Partial delivery",
    "pos_entrega_completa": "Delivered",
    "pos_pendiente_pago": "Pending payment",
    "pos_pedido_finalizado_corto": "Closed",
    "pos_cancelado": "Cancelled",
    "pos_exceso_sin_cambio": "Overpayment of ${monto} on card/transfer (not cash change).",
    "pos_referencia": "Reference",
    "pos_agregar_pago": "Add payment line",
    "pos_donativo": "Donation",
    "pos_tipo_salida": "Sale type",
    "pos_tipo_venta": "Sale (charged)",
    "pos_tipo_donativo": "Donation",
    "pos_tipo_acarreo": "Hauling",
    "pos_tipo_muestra": "Sample",
    "pos_sin_cobro_ayuda": "Not charged to customer; total saved from catalog prices (internal cost reference).",
    "pos_observaciones_donativo": "Notes (required for donation)",
    "pos_observaciones_placeholder": "Justification or reason...",
    "pos_error_observaciones_sin_cobro": "Notes are required for donation, hauling, or sample.",
    "pos_confirmar_venta": "Confirm sale",
    "pos_guardando": "Saving...",
    "pos_suma_pagos": "Total payments",
    "pos_debe_coincidir": "Sum of payments must match total.",
    "pos_catalogo_completo": "Full catalog",
    "pos_solo_macuspana": "Polvo, Rezaga and Balastre",
    "pos_remanente_pago": "Remaining",
    "pos_venta_creada": "Sale created successfully.",
    "pos_error_crear_venta": "Error creating sale.",
    "pos_error_observaciones_donativo": "Notes are required for donations.",
    "pos_error_suma_pagos": "Sum of payments must be at least the total.",
    "pos_error_sin_detalles": "Add at least one product to the cart.",
    "pos_venta_cancelada": "Sale cancelled successfully.",
    "pos_error_cancelar_venta": "Error cancelling sale.",
    "pos_cancelar_venta": "Cancel sale",
    "pos_solicitar_cancelacion": "Request cancellation",
    "pos_solicitar_cancelacion_texto": "A cancellation request will be sent to the administrator for sale {folio}.",
    "pos_solicitud_cancelacion_enviada": "Cancellation request sent to the administrator.",
    "pos_error_solicitud_cancelacion": "Could not send the cancellation request.",
    "pos_solicitud_cancelacion_pendiente": "Pending cancellation request",
    "pos_solicitud_cancelacion_espera_admin": "A request is already pending. Wait for the administrator's response.",
    "pos_solicitud_enviada": "Request sent",
    "pos_solicitud_pendiente_corto": "Cancel. pending",
    "pos_solicitudes_cancelacion_pendientes": "{n} pending cancellation request(s)",
    "pos_solicitado_por": "Requested by",
    "pos_aprobar_cancelacion": "Approve cancellation",
    "pos_rechazar_cancelacion": "Reject",
    "pos_aprobar_cancelacion_texto": "Approve cancellation of sale {folio}?",
    "pos_rechazar_cancelacion_texto": "Reject cancellation request for {folio}?",
    "pos_motivo_cancelacion_ph": "Reason (optional)",
    "pos_comentario_opcional": "Comment (optional)",
    "pos_enviar_solicitud": "Send request",
    "pos_solicitud_procesada": "Request processed",
    "pos_cerrar": "Close",
    "pos_imprimir": "Print",
    "pos_ticket_producto": "Product",
    "pos_ticket_precio_unit": "Unit price",
    "pos_ticket_subtotal": "Subtotal",
    "pos_codigo_barras": "Barcode",
    "pos_escanear_folio_macuspana": "Scan folio at Macuspana",
    "pos_codigo_qr": "QR code",
    "pos_escanear_macuspana": "Scan at Macuspana for exit",
    "pos_historial_ventas": "Sales history",
    "pos_historial_del_dia": "Today's sales (active branch)",
    "pos_folio": "Folio",
    "pos_cliente": "Customer",
    "pos_cliente_inicio_ayuda": "Assign the customer at the start. To use store credit, select a registered customer (not walk-in).",
    "pos_nuevo_cliente": "New customer",
    "pos_cliente_nombre": "Name",
    "pos_cliente_telefono": "Phone",
    "pos_cliente_correo": "Email",
    "pos_cliente_nombre_requerido": "Customer name is required.",
    "pos_guardar_cliente": "Save customer",
    "pos_cliente_creado": "Customer created",
    "pos_error_crear_cliente": "Could not create customer",
    "pos_cancelar": "Cancel",
    "pos_saldo_a_favor": "Store credit",
    "pos_saldo_aplicado": "Credit applied",
    "pos_total_a_pagar": "Amount due",
    "pos_aplicar_saldo": "Apply store credit",
    "pos_disponible": "available",
    "pos_usar_todo": "Use all",
    "pos_nc_una": "active note",
    "pos_nc_varias": "active notes",
    "pos_nc_opcional_ayuda": "Optional: when finishing the sale you can choose which credit note to apply.",
    "pos_nc_usar_opcional": "Apply credit note (optional)",
    "pos_nc_saldo_disponible": "Customer available credit",
    "pos_nc_buscar": "Search credit note",
    "pos_nc_buscar_ph": "NC folio or origin order folio…",
    "pos_nc_sin_resultados": "No notes match your search.",
    "pos_nc_pedido_origen": "order",
    "pos_nc_monto_aplicar": "Amount to apply",
    "pos_nc_max_seleccion": "Max with selected notes",
    "pos_nc_seleccione_una": "Select one or more notes from the list to apply credit.",
    "pos_finalizar_pedido": "Close order",
    "pos_nota_credito": "Credit note",
    "pos_nc_emitida": "Issued",
    "pos_nc_aplicada": "Applied",
    "pos_nc_emitida_titulo": "Issued on close · ${monto} · {estatus}",
    "pos_nc_aplicada_titulo": "Credit applied on this sale · ${monto}",
    "pos_pedido_finalizado": "Order closed. Credit note issued.",
    "pos_error_finalizar_pedido": "Could not close the order",
    "pos_ajustar_vehiculos": "Vehicles",
    "pos_ajustar_vehiculos_ayuda": "You may only change the vehicle for pending material. Completed trips keep their original vehicle. Choose a vehicle whose capacity exactly matches pending m³ (capacity × trips = pending).",
    "pos_sin_vehiculo_exacto": "No compatible vehicle",
    "pos_vehiculo_debe_cubrir_exacto": "No vehicle exactly covers {pendiente} m³ with the current selection.",
    "pos_vehiculo_debe_cubrir_exacto_titulo": "Exact coverage required",
    "pos_vehiculo_debe_cubrir_exacto_texto": "Each line must use a vehicle where capacity × trips equals pending m³ exactly.",
    "pos_viajes_auto": "auto",
    "pos_guardar": "Save",
    "pos_sin_pendiente_vehiculos": "There is no pending material to adjust on this order.",
    "pos_no_modificable": "Not editable",
    "pos_vehiculos_actualizados": "Order vehicles updated.",
    "pos_vehiculos_m3_insuficiente": "Minimum {pend} m³ (calculated: {calc} m³).",
    "pos_vehiculos_corrija_lineas": "Increase trips: calculated material cannot be less than pending.",
    "pos_estatus": "Status",
    "pos_acciones": "Actions",
    "pos_imprimir_ticket": "Print ticket",
    "pos_cargando": "Loading...",
    "pos_sin_ventas_hoy": "No sales recorded today.",
    "pos_seleccionar_productos": "Select products",
    "pos_buscar_producto": "Search product...",
    "pos_limpiar": "Clear",
    "pos_agregar": "Add",
    "pos_listo": "Done",
    "pos_stock_disponible": "Available stock",
    "pos_sin_stock": "Out of stock",
    "pos_sin_stock_titulo": "Insufficient inventory",
    "pos_stock_insuficiente": "Only {disponible} m³ available (requested: {solicitado} m³).",
    "pos_en_carrito": "In cart",
    "pos_numero_viajes": "Trips",
    "pos_tipo_vehiculo": "Vehicle",
    "pos_m3_calculados": "Total m³",
    "pos_cargando_vehiculos": "Loading vehicle types...",
    "pos_sin_vehiculos": "No vehicles configured.",
    "pos_configurar_vehiculos": "Configure vehicles",
    "pos_agregar_productos": "Add products",
    "pos_comenzar_venta": "Start sale",
    "pos_comenzar_venta_desc": "Open the catalog to select products and quantities in m³.",
    "pos_agregar_mas_productos": "Add more products",
    "pos_agregar_mas_desc": "You can keep adding products to the current cart.",
    "pos_carrito_vacio": "Cart is empty",
    "dashboard": "Dashboard",
    "sales": "Sales",
    "analytics": "Analytics",
    "apps": "Apps",
    "components": "Components",
    "elements": "Elements",
    "font_icons": "Font Icons",
    "widgets": "Widgets",
    "tables": "Tables",
    "datatables": "Data Tables",
    "forms": "Forms",
    "users": "Users",
    "pages": "Pages",
    "authentication": "Authentication",
    "drag_and_drop": "Drag and Drop",
    "maps": "Maps",
    "charts": "Charts",
    "starter_kit": "Starter Kit",
    "documentation": "Documentation",
    "ui_kit": "UI Kit",
    "more": "More",
    "entregas_titulo": "Validate tickets and deliveries",
    "entregas_desc": "Review the order, trip progress, and authorize each exit by material and trip count (Villahermosa and Macuspana).",
    "entregas_ayuda_tickets": "Trips are set when the sale is created in the POS. In this module authorize each exit by material and trip before the gate can register the dispatch.",
    "entregas_buscar_folio": "Order folio",
    "entregas_buscar_folio_ph": "Ticket barcode",
    "entregas_buscar": "Search",
    "entregas_progreso_viajes": "Trips (used / from order)",
    "entregas_viajes_pedido": "Order trips",
    "entregas_autorizar_titulo": "Authorize exits",
    "entregas_autorizar_texto": "Authorize each exit by material and trip. The gate can only register previously authorized exits.",
    "entregas_autorizar_orden": "At the gate, only already authorized trips are dispatched in order (e.g. if 1 and 3 are authorized, after 1 comes 3).",
    "entregas_autorizar_btn": "Authorize exit",
    "entregas_autorizar_viaje_completo": "Authorize trip {n} (all materials)",
    "entregas_autorizar_material_viaje": "Authorize",
    "entregas_autorizar_confirmar_titulo": "Authorize this exit?",
    "entregas_autorizar_confirmar_texto": "Trip {viaje} — {material}. The gate will be able to register this exit.",
    "entregas_autorizar_confirmar_todo": "Trip {viaje} — all materials in the order.",
    "entregas_autorizar_cancelado": "A cancelled sale cannot be authorized.",
    "entregas_autorizado": "Exit authorized",
    "entregas_autorizado_nota": "Authorized exits: {n} of {total}. Next pending trip: {proximo}.",
    "entregas_autorizado_completo": "All exits authorized",
    "entregas_autorizado_completo_nota": "The gate can register all exits.",
    "entregas_pendiente_autorizacion": "Pending exits",
    "entregas_matriz_material": "Material",
    "entregas_matriz_viaje": "Trip {n}",
    "entregas_matriz_autorizado": "Authorized",
    "entregas_matriz_pendiente": "Pending",
    "entregas_matriz_no_aplica": "This material is not dispatched on this trip",
    "entregas_sin_autorizacion": "No authorization required",
    "entregas_macuspana_titulo": "Macuspana order",
    "entregas_macuspana_texto": "Authorize each exit by material and trip before the gate registers the dispatch.",
    "entregas_sin_resultado": "No order was found with that ticket. Check the barcode.",
    "entregas_detalle_titulo": "Delivery details",
    "entregas_sin_entregas": "No deliveries have been recorded for this order yet.",
    "entregas_viaje_numero": "Trip {n}",
    "entregas_entrega_numero": "Delivery #{id}",
    "entregas_fecha": "Date",
    "entregas_registrado_por": "Recorded by",
    "entregas_cantidad": "Quantity dispatched",
    "entregas_vehiculo": "Trip vehicle",
    "entregas_foto": "Evidence photo",
    "entregas_foto_entrada": "Entry photo",
    "entregas_foto_salida": "Exit photo",
    "entregas_sin_foto": "No photo",
    "entregas_ver_foto": "View photo",
    "vigilante_titulo": "Validate access (Gate)",
    "vigilante_breadcrumb": "Access",
    "vigilante_desc": "Select the operation type and register entries or exits at the gate.",
    "vigilante_seleccion_operacion": "Which operation will you register?",
    "vigilante_op_entrada": "Entry",
    "vigilante_op_entrada_desc": "Vehicle or customer access to the yard",
    "vigilante_op_salida": "Exit",
    "vigilante_op_salida_desc": "Material dispatch (one scan = one trip)",
    "vigilante_cambiar_operacion": "Change operation",
    "vigilante_pase_titulo": "Customer without ticket (Macuspana)",
    "vigilante_pase_texto": "Generate an entry pass before the customer goes to the POS.",
    "vigilante_pase_generar": "Generate entry pass",
    "vigilante_pase_folio": "Pass folio",
    "vigilante_pase_instruccion": "Give this pass to the customer. It is required at the POS to create the sale.",
    "vigilante_pase_o_escanear": "You can also scan a QR or barcode from an existing ticket (Villahermosa or local).",
    "vigilante_pase_generado": "Pass generated",
    "vigilante_pase_entregar": "OK",
    "vigilante_entrada_ticket_desc": "Scan the ticket barcode or QR to register entry.",
    "vigilante_salida_ticket_desc": "Scan the ticket to register one trip exit. If the customer did not purchase, scan the same entry pass (PASE…) received at the gate.",
    "vigilante_escaneo_entrada": "One scan = one entry registered",
    "vigilante_entrada_ok": "Entry registered",
    "vigilante_entrada_ok_badge": "Entry",
    "vigilante_entrada_registrada_msg": "Access registered successfully.",
    "pos_pase_entrada": "Entry pass folio",
    "pos_pase_entrada_ayuda": "Enter the pass generated at the gate when the customer arrived. A valid pass is required to complete the sale.",
    "pos_pase_entrada_ph": "E.g. PASE202607041",
    "pos_pase_validar": "Validate",
    "pos_pase_valido": "Valid pass",
    "pos_pase_requerido": "You must enter the entry pass folio from the gate.",
    "pos_pase_invalido": "Invalid entry pass",
    "vigilante_sin_sucursal": "Configure the user branch to use this module.",
    "vigilante_click_escanear": "Click here and scan the ticket barcode",
    "vigilante_listo_escanear": "Ready — scan the barcode now",
    "vigilante_folio_manual": "Or type the ticket folio",
    "vigilante_folio_manual_ph": "E.g. VTA202607181 or PASE…",
    "vigilante_folio_manual_ayuda": "If you do not have the barcode, type the folio and press Register (or Enter).",
    "vigilante_folio_registrar": "Register",
    "vigilante_un_escaneo_un_viaje": "One scan = one validated trip",
    "vigilante_completado": "Delivered",
    "vigilante_en_progreso": "In progress",
    "vigilante_viaje_registrado": "Validated trips: {actual} of {total}",
    "vigilante_viaje_ok": "Trip registered",
    "vigilante_error": "Validation failed",
    "vigilante_foto_camara": "Photo evidence (camera)",
    "vigilante_foto_al_escanear": "Scanning the barcode automatically captures a photo of the vehicle/material.",
    "vigilante_camara_no_disponible": "Camera unavailable. Enable browser permissions or use HTTPS.",
    "vigilante_iniciando_camara": "Starting camera...",
    "vigilante_salida_pase_ok": "Exit with pass registered",
    "vigilante_salida_pase_msg": "Exit without sale registered for pass {folio}.",
    "vigilante_aviso_vehiculo_vacio_titulo": "Check the vehicle!",
    "vigilante_aviso_vehiculo_vacio_texto": "For passes without a sale, confirm the vehicle leaves empty.",
    "vigilante_observacion_entrada_label": "Entry observation",
    "vigilante_observacion_entrada_ph": "E.g. plate, driver, visit reason…",
    "vigilante_observacion_salida_label": "Exit observation",
    "vigilante_observacion_salida_ph": "E.g. empty vehicle, no material, exit reason…",
    "vigilante_observacion_continuar": "Continue",
    "pases_entrada_titulo": "Entry passes",
    "pases_entrada_desc": "Review passes generated at the gate: linked sale, exit without purchase, and photo evidence.",
    "pases_entrada_refrescar": "Refresh",
    "pases_entrada_fecha_desde": "From date",
    "pases_entrada_fecha_hasta": "To date",
    "pases_entrada_estatus": "Status",
    "pases_entrada_todos": "All",
    "pases_entrada_estatus_pendiente": "Pending",
    "pases_entrada_estatus_venta": "With sale",
    "pases_entrada_estatus_salida_sin_venta": "Exit without sale",
    "pases_entrada_folio": "Folio",
    "pases_entrada_folio_ph": "PASE…",
    "pases_entrada_vacio": "No passes match the selected filters.",
    "pases_entrada_col_folio": "Folio",
    "pases_entrada_col_fecha": "Created",
    "pases_entrada_col_resultado": "Outcome",
    "pases_entrada_col_venta": "Sale",
    "pases_entrada_col_salida": "Exit",
    "pases_entrada_col_obs_entrada": "Entry note",
    "pases_entrada_col_obs_salida": "Exit note",
    "pases_entrada_col_fotos": "Photos",
    "pases_entrada_ver_fotos": "View photos",
    "pases_entrada_foto_entrada": "Entry photo",
    "pases_entrada_foto_salida": "Exit photo (no sale)",
    "pases_entrada_foto_viaje": "Trip {n} exit",
    "pases_entrada_sin_fotos": "No photos recorded for this pass."
}
