{ "common": { "actions": { "back": "Atrás", "cancel": "Cancelar", "close": "Cerca", "create": "Crear", "delete": "Borrar", "discard": "Desechar", "edit": "Editar", "refresh": "Refrescar", "remove": "Eliminar", "retry": "Rever", "save": "Guardar", "saveChanges": "Guardar cambios", "saveChangesDirty": "Guardar cambios *", "saving": "Guardando...", "view": "Vista", "openMenu": "Abrir menú" }, "alerts": { "saveSuccess": "Los cambios se guardaron correctamente.", "systemManagedDefault": "Este es un contrato predeterminado administrado por el sistema." }, "empty": { "none": "Ninguno", "notAvailable": "N / A", "notSpecified": "No especificado", "ongoing": "En curso" }, "errors": { "failedToLoad": "No se pudieron cargar los datos.", "failedToSave": "No se pudieron guardar los cambios.", "validationPrefix": "Por favor corrija lo siguiente:" }, "labels": { "created": "Creado", "currency": "Divisa", "description": "Descripción", "lastUpdated": "Última actualización", "name": "Nombre", "no": "No", "status": "Estado", "yes": "Sí" }, "tabs": { "clientContracts": "Contratos de clientes", "drafts": "Borradores", "templates": "Plantillas" }, "moneyPlaceholder": "—", "notAvailable": "-" }, "status": { "active": "Activo", "draft": "Borrador", "expired": "Venció", "terminated": "Finalizado" }, "renewal": { "labels": { "decisionDue": "Decisión vencida", "mode": "Modo de renovación", "noticeDays": "Plazo de aviso", "source": "Fuente de renovación", "termMonths": "Plazo de renovación" }, "modes": { "auto": "Renovación automática", "manual": "renovación manual", "none": "No renovable" }, "source": { "contract": "Contrato", "tenantDefault": "Inquilino predeterminado" } }, "billing": { "cadenceOwner": { "client": "Horario del cliente", "contract": "Aniversario del contrato" }, "frequency": { "annually": "Anualmente", "biweekly": "Quincenal", "monthly": "Mensual", "quarterly": "Trimestral", "weekly": "Semanalmente" }, "labels": { "billingFrequency": "Frecuencia de facturación", "timing": "Momento de facturación", "cadenceOwner": "Propietario de la cadencia" }, "timing": { "advance": "Por adelantado", "arrears": "En mora" } }, "po": { "labels": { "amount": "Importe de la orden de compra", "number": "Número de orden de compra", "required": "Orden de compra requerida" } }, "contractDetail": { "alerts": { "saveSuccess": "¡Contrato guardado correctamente!", "unsavedChanges": "Tiene cambios sin guardar. Haga clic en \"Guardar cambios\" para aplicarlos." }, "cards": { "assignment": "Asignación de Cliente", "clientOwnership": "Propiedad del cliente", "contractDetails": "Detalles del contrato", "header": "Encabezado del contrato", "quickActions": "Acciones Rápidas", "renewalHandling": "Manejo de renovación" }, "clientAssignment": { "clientContractId": "ID de contrato del cliente: {{id}}", "empty": "Este contrato aún no está asignado a un cliente.", "endDate": "Fecha de finalización", "endDateLabel": "Fecha de finalización de la asignación", "loadingStatuses": "Cargando estados...", "notRequired": "No obligatorio", "noticePeriodDays": "Período de aviso (días)", "noticePeriodPlaceholder": "p. ej., 30", "noticePrefix": "Aviso:", "renewalHandling": "Gestión de renovación", "renewalTermMonths": "Plazo de renovación (meses)", "renewalTermPlaceholder": "p. ej., 12", "renewalTicketBoard": "Tablero de tickets de renovación", "renewalTicketStatus": "Estado del ticket de renovación", "required": "Obligatorio", "selectBoard": "Seleccione un tablero", "selectBoardFirst": "Seleccione primero un tablero", "selectRenewalMode": "Seleccione el modo de renovación", "selectStartDate": "Seleccione la fecha de inicio", "selectStatus": "Seleccione el estado", "startDate": "Fecha de inicio", "startDateLabel": "Fecha de inicio de la asignación", "startDateLocked": "La fecha de inicio no se puede cambiar para contratos activos", "title": "Asignación del cliente", "useTenantRenewalDefaults": "Usar los valores predeterminados de renovación del inquilino", "usingCustomSettings": "Usando configuración de asignación personalizada", "usingTenantDefaults": "Usando valores predeterminados del inquilino" }, "clientOwnership": { "assignmentStatus": "Estado de asignación", "clientName": "Nombre del cliente", "endDate": "Fecha de finalización", "ownerClient": "Cliente propietario", "required": "Obligatorio", "startDate": "Fecha de inicio", "systemManaged": "La propiedad es gestionada por el sistema para este contrato predeterminado.", "title": "Propiedad del cliente" }, "detailsCard": { "actions": { "cancelDescription": "Cancelar edición de la descripción", "cancelName": "Cancelar nombre del contrato", "editDescription": "Editar descripción del contrato", "editName": "Editar nombre del contrato", "saveDescription": "Guardar descripción", "saveName": "Guardar nombre del contrato" }, "contractNameLabel": "Nombre del contrato *", "contractNamePlaceholder": "Ingrese el nombre del contrato", "descriptionLabel": "Descripción", "descriptionPlaceholder": "Ingrese la descripción del contrato", "title": "Detalles del contrato" }, "headerCard": { "assignmentLifecycleHint": "El estado del cliente en vivo se controla mediante el ciclo de vida de la asignación que aparece a continuación.", "assignmentStatus": "Estado de asignación", "billingFrequencyLabel": "Frecuencia de facturación *", "billingFrequencyPlaceholder": "Seleccione la frecuencia de facturación", "customSettings": "Configuración personalizada", "expiredStatusNote": "Los contratos vencidos no se pueden cambiar a otro estado", "notice": "Aviso", "noticeDay": "{{count}} día", "noticeDays": "{{count}} días", "ongoingNoEndDate": "En curso (sin fecha de finalización)", "renewalHeading": "Renovación", "tenantDefaults": "Valores predeterminados del inquilino", "title": "Encabezado del contrato" }, "dialogs": { "delete": { "cancel": "Cancelar", "confirm": "Eliminar contrato", "deleting": "Eliminando…", "description": "¿Está seguro de que desea eliminar este contrato? Esta acción no se puede deshacer.", "message": "¿Está seguro de que desea eliminar este contrato? Esta acción no se puede deshacer y eliminará todos los datos asociados.", "title": "Eliminar contrato" }, "discard": { "cancel": "Continuar editando", "confirm": "Descartar cambios", "description": "¿Descartar los cambios no guardados?", "message": "¿Está seguro de que desea descartar todos los cambios? Cualquier cambio sin guardar se perderá.", "title": "Descartar cambios" }, "leave": { "confirm": "Salir de la página", "description": "Tienes cambios sin guardar. ¿Dejar esta página sin guardar?", "title": "Cambios no guardados" }, "unsaved": { "cancel": "Permanecer en la página", "confirm": "Salir de la página", "message": "Tiene cambios sin guardar. ¿Está seguro de que desea salir de esta página? Todos los cambios se perderán.", "title": "Cambios sin guardar" } }, "invoices": { "columns": { "amount": "Cantidad", "createdAt": "Creado", "dueDate": "Fecha de vencimiento", "invoiceDate": "Fecha de la factura", "invoiceNumber": "Factura #", "preview": "Vista previa", "status": "Estado" }, "empty": "No se encontraron facturas para este contrato.", "loading": "Cargando facturas...", "noTemplatesAvailable": "No hay plantillas de factura disponibles para vista previa.", "preview": "Vista previa", "selectForPreview": "Seleccione una factura para abrir una vista previa completa en el panel.", "title": "Facturas de contrato" }, "labels": { "client": "Cliente", "contractName": "Nombre del contrato", "description": "Descripción", "noClientAssigned": "Ningún cliente asignado", "noDescription": "Sin descripción", "systemManagedDefault": "Valor predeterminado administrado por el sistema", "useTenantDefaults": "Usar los valores predeterminados del inquilino" }, "quickActions": { "deleteContract": "Eliminar contrato", "manageContractLines": "Administrar líneas de contrato", "managePricingSchedules": "Administrar programas de precios", "title": "Acciones rápidas", "viewDocuments": "Ver documentos", "viewInvoices": "Ver facturas" }, "systemManaged": { "attributionOnly": "Este contrato es solo de atribución y no controla el comportamiento de facturación recurrente.", "configureCustom": "Para configurar un comportamiento de facturación personalizado, cree o edite un contrato normal creado por el usuario.", "createdAutomatically": "Creado automáticamente para trabajo sin contrato.", "title": "Contrato predeterminado gestionado por el sistema" }, "tabs": { "documents": "Documentos", "invoices": "Facturas", "lines": "Líneas de contrato", "overview": "Descripción general", "pricing": "Horarios de precios" }, "validation": { "billingFrequencyRequired": "Se requiere frecuencia de facturación.", "billingFrequency": "Frecuencia de facturación", "contractName": "Nombre del contrato", "contractNameRequired": "El nombre del contrato es obligatorio.", "failedToUpdate": "No se pudo actualizar el contrato", "fixErrors": "Corrija los siguientes errores:" }, "documents": { "loading": "Cargando documentos..." } }, "contractHeader": { "badges": { "clientOwned": "Propiedad del cliente", "template": "Plantilla" }, "labels": { "billingFrequency": "Frecuencia de facturación", "contractLines": "Líneas de contrato", "currency": "Moneda", "endDate": "Fecha de finalización", "lastUpdated": "Última actualización", "startDate": "Fecha de inicio" }, "po": { "prefix": "OC", "requiredForContract": "Se requiere orden de compra para este contrato." }, "status": { "active": "Activo", "draft": "Borrador", "expired": "Vencido", "terminated": "Rescindido" }, "values": { "ongoing": "En curso" } }, "contractOverview": { "errors": { "failedToLoadOverview": "No se pudo cargar el resumen" }, "frequency": { "annually": "Anualmente", "biweekly": "Quincenal", "semi_annually": "Semestralmente", "weekly": "Semanal" }, "lines": { "addContractLines": "Agregar líneas de contrato", "collapseAll": "Contraer todo", "expandAll": "Expandir todo", "includedServices": "Servicios incluidos", "noContractLinesDescription": "Agregue líneas de contrato para definir qué se incluye en este contrato", "noContractLinesYet": "Aún no hay líneas de contrato", "noServicesConfigured": "No hay servicios configurados", "serviceCountOne": "{{count}} servicio", "serviceCountOther": "{{count}} servicios" }, "stats": { "contractLines": "Líneas de contrato", "estimatedMonthlyValue": "Valor mensual est.", "totalServices": "Total de servicios", "variable": "Variable", "variableSuffix": "+ variable (por hora/uso)", "viewDetails": "Ver detalles" }, "title": "Qué se incluye" }, "contractDialog": { "actions": { "createContract": "Crear contrato", "saveAsDraft": "Guardar como borrador", "updateContract": "Actualizar contrato" }, "documents": { "loading": "Cargando documentos..." }, "form": { "billingFrequencyLabel": "Frecuencia de facturación *", "billingFrequencyPlaceholder": "Seleccione la frecuencia de facturación", "clientLabel": "Cliente *", "clientPlaceholder": "Seleccione un cliente", "contractNameLabel": "Nombre del contrato *", "contractNamePlaceholder": "p. ej., Servicios MSP estándar", "currencyHint": "La moneda se basa en la configuración de moneda predeterminada del cliente.", "descriptionLabel": "Descripción (opcional)", "descriptionPlaceholder": "Agregue notas adicionales sobre este contrato...", "endDateHint": "Deje en blanco para contratos en curso que no tengan una fecha de finalización fija.", "endDateLabel": "Fecha de finalización (opcional)", "noticePeriodLabel": "Período de aviso (días)", "noticePeriodPlaceholder": "p. ej., 30", "renewalModePlaceholder": "Seleccione el modo de renovación", "renewalSettingsDescription": "Configure el comportamiento de renovación para esta asignación de contrato de cliente.", "renewalSettingsTitle": "Configuración de renovación", "renewalTermLabel": "Plazo de renovación (meses)", "renewalTermPlaceholder": "p. ej., 12", "selectClientFirst": "Seleccione primero un cliente", "startDateLabel": "Fecha de inicio *", "useTenantDefaultsDescription": "Aplicar la configuración de modo de renovación y período de aviso a nivel de organización.", "useTenantDefaultsLabel": "Usar los valores predeterminados de renovación del inquilino" }, "po": { "amountLabel": "Importe de OC (opcional)", "amountPlaceholder": "0.00", "comingSoon": "Integración de facturas próximamente. La configuración se guardará, pero la aplicación de OC no estará activa hasta una futura versión.", "noteLabel": "Nota:", "numberLabel": "Número de OC *", "numberPlaceholder": "p. ej., OC-2024-12345", "requirePurchaseOrder": "Requerir orden de compra", "requirePurchaseOrderTooltip": "Cuando está habilitado, no se pueden generar facturas para este contrato a menos que se proporcione un número de OC." }, "presetDetails": { "defaultBaseRate": "Tarifa base predeterminada:", "defaultRatePlaceholder": "Predeterminado: ${{rate}}", "defaultRateValue": "Predeterminado: ${{rate}}", "enterBaseRate": "Ingrese la tarifa base", "fixedRateConfiguration": "Configuración de tarifa fija", "fixedServicesReferenceHelp": "Estos servicios se incluyen solo como referencia. La tarifa fija anterior determina el importe de la facturación.", "hourlyRate": "Tarifa por hora", "leaveBlankDefaultRate": "Deje en blanco para usar la tarifa predeterminada", "minimumBillableMinutes": "Minutos mínimos facturables", "noServicesConfigured": "No hay servicios configurados para este preajuste", "notSet": "Sin definir", "overrideBaseRate": "Anular tarifa base", "quantity": "Cantidad", "quantityShort": "Cant.: {{quantity}}", "ratePerUnit": "Tarifa (por unidad)", "roundUpToNearestMinutes": "Redondear al más cercano (minutos)", "servicesConfiguration": "Configuración de servicios", "servicesHourlyRates": "Servicios y tarifas por hora", "servicesIncludedReference": "Servicios incluidos (referencia)", "timeBillingConfiguration": "Configuración de facturación por tiempo", "unitOfMeasure": "Unidad de medida", "unitOfMeasureHint": "p. ej., GB, llamada a API, usuario" }, "presets": { "allTypes": "Todos los tipos", "empty": "No hay preajustes de línea de contrato disponibles. Puede agregarlos más tarde.", "heading": "Preajustes de línea de contrato (opcional)", "headingTooltip": "Seleccione los preajustes de línea de contrato para copiar en este contrato. Puede agregar más más tarde.", "loading": "Cargando preajustes de línea de contrato...", "noMatches": "Ningún preajuste de línea de contrato coincide con su búsqueda.", "resetFilters": "Restablecer", "searchPlaceholder": "Buscar preajustes de línea de contrato...", "selectedPlural": "{{count}} preajustes de línea de contrato seleccionados", "selectedSingle": "{{count}} preajuste de línea de contrato seleccionado", "serviceCountPlural": "{{count}} servicios", "serviceCountSingle": "{{count}} servicio", "typePlaceholder": "Seleccione el tipo" }, "title": { "create": "Crear contrato", "edit": "Editar contrato" }, "validation": { "billingFrequency": "Frecuencia de facturación", "client": "Cliente", "contractName": "Nombre del contrato", "failedToSave": "No se pudo guardar el contrato", "noticePeriodInvalid": "Los días del período de aviso deben ser un número entero no negativo", "poNumberRequired": "Número de OC (obligatorio cuando la OC está habilitada)", "renewalTermInvalid": "El plazo de renovación en meses debe ser un número entero positivo para contratos de renovación automática", "requiredFields": "Complete los campos obligatorios:", "startDate": "Fecha de inicio" } }, "contractForm": { "actions": { "saveChanges": "Guardar cambios", "saving": "Guardando..." }, "errors": { "failedToUpdateContract": "No se pudo actualizar el contrato" }, "fields": { "billingFrequency": "Frecuencia de facturación", "billingFrequencyPlaceholder": "Seleccione la frecuencia de facturación", "contractName": "Nombre del contrato", "contractNamePlaceholder": "Ingrese el nombre del contrato", "currency": "Moneda", "currencyPlaceholder": "Seleccione una moneda", "description": "Descripción", "descriptionPlaceholder": "Ingrese la descripción del contrato", "status": "Estado" }, "heading": "Detalles del contrato", "status": { "active": "Activo", "draft": "Borrador", "expired": "Vencido", "expiredHelper": "Los contratos vencidos no se pueden cambiar a otro estado", "terminated": "Rescindido" }, "validation": { "billingFrequency": "Frecuencia de facturación", "contractName": "Nombre del contrato", "requiredFields": "Complete los campos obligatorios:" } }, "contractLines": { "actions": { "addFromPresets": "Agregar desde preajustes", "collapseLine": "Contraer línea de contrato", "createCustom": "Crear personalizada", "expandLine": "Expandir línea de contrato" }, "bucket": { "billingPeriod": "Período de facturación: {{period}}", "defaultUnit": "unidad", "defaultUnits": "unidades", "enableTracking": "Habilitar seguimiento de uso del bloque", "hour": "hora", "hoursValue": "{{hours}} horas", "included": "Incluido: {{value}}", "overageRate": "Tarifa por exceso: {{rate}} por {{unit}}", "rolloverEnabled": "Acumulación: habilitada", "title": "Configuración del bloque", "unitsValue": "{{count}} {{units}}" }, "columns": { "actions": "Acciones", "frequency": "Frecuencia", "name": "Nombre", "rate": "Tarifa", "services": "Servicios", "type": "Tipo" }, "configuration": { "description": "Configuración que se aplica a esta línea de contrato", "fixedInfo": "Las líneas de contrato fijas facturan una tarifa recurrente fija independientemente de las tarifas de servicios individuales.", "fixedInfoDetails": "Para las líneas de tarifa fija, la tarifa y la cantidad del servicio se usan solo para fines de asignación de impuestos. Determinan cómo se atribuye proporcionalmente la tarifa fija entre servicios para los cálculos de impuestos. El importe realmente facturado es la tarifa base de la línea de contrato que se muestra arriba.", "fixedInfoHeading": "Acerca de las tarifas de servicio a continuación:", "minimumBillableTime": "Tiempo mínimo facturable (minutos)", "minutesValue": "{{count}} minutos", "roundUpToNearest": "Redondear al más cercano (minutos)", "title": "Configuración de la línea de contrato", "usageInfo": "Las líneas de contrato basadas en uso se configuran por servicio con tarifas por unidad." }, "customRate": "Personalizado", "description": { "default": "Gestione las líneas de contrato y los servicios de este contrato", "readOnly": "Este contrato predeterminado gestionado por el sistema es solo de atribución. La creación de líneas de contrato está deshabilitada." }, "dialogs": { "confirmRemove": "¿Quitar línea de contrato \"{{name}}\"?" }, "empty": { "noneAdded": "Aún no se han agregado líneas de contrato.", "selectAbove": "Seleccione una línea de contrato arriba para empezar." }, "errors": { "cannotEditWithInvoices": "No se puede editar la línea de contrato: este contrato tiene facturas asociadas. Las líneas de contrato no se pueden editar una vez que se han generado facturas.", "failedToCheckEditable": "No se pudo verificar si el contrato se puede editar", "failedToLoad": "No se pudieron cargar las líneas de contrato", "failedToRefresh": "No se pudieron actualizar las líneas de contrato", "failedToRemove": "No se pudo quitar la línea de contrato", "failedToUpdate": "No se pudo actualizar la línea de contrato" }, "loading": { "contractLines": "Cargando líneas de contrato", "inline": "Cargando..." }, "location": { "addLocation": "+ Agregar ubicación", "fallback": "Ubicación", "label": "Ubicación", "lineCountPlural": "{{count}} líneas", "lineCountSingle": "{{count}} línea", "none": "Sin ubicación asignada", "pendingEmptyHint": "Aún no hay líneas de contrato para esta ubicación. Agregue una línea y luego asígnela a esta ubicación desde su panel de edición.", "placeholder": "Seleccione una ubicación", "removePendingGroup": "Quitar grupo de ubicación vacío", "unassigned": "Sin ubicación asignada", "unnamed": "Ubicación" }, "serviceCountPlural": "{{count}} servicios", "serviceCountSingle": "{{count}} servicio", "services": { "empty": "No hay servicios configurados para esta línea de contrato.", "hourlyRate": "Tarifa por hora", "quantity": "Cantidad", "quantityShort": "Cant.: {{quantity}}", "quantityTaxAllocation": "Cantidad (para asignación de impuestos)", "rateTaxAllocation": "Tarifa (para asignación de impuestos)", "title": "Servicios ({{count}})", "typeLabel": "Servicio {{type}}", "unitOfMeasure": "Unidad de medida", "unitPlaceholder": "unidad", "unitRate": "Tarifa por unidad" }, "title": "Líneas de contrato" }, "contractLineEdit": { "actions": { "cancel": "Cancelar", "saveChanges": "Guardar cambios", "saving": "Guardando..." }, "errors": { "failedToSaveChanges": "No se pudieron guardar los cambios" }, "fields": { "billingTimingQuestion": "¿Cuándo se debe facturar esta línea?", "rate": "Tarifa" }, "sections": { "billingTiming": "Momento de facturación", "pricing": "Precios" }, "timingDescriptions": { "advance": "Los cargos se facturarán antes de prestar el servicio", "arrears": "Los cargos se facturarán después de prestar el servicio" }, "timingOptions": { "advance": "Por anticipado (al inicio del período de facturación)", "arrears": "A plazo vencido (al final del período de facturación)" }, "title": "Editar línea de contrato: {{name}}", "validation": { "validRateRequired": "Ingrese una tarifa válida (debe ser un número no negativo)" }, "values": { "unnamedLine": "Línea sin nombre" } }, "contractLineRate": { "actions": { "cancel": "Cancelar", "saveRate": "Guardar tarifa" }, "fields": { "rate": "Tarifa" }, "title": "Establecer tarifa personalizada para {{name}}", "validation": { "validRateRequired": "Ingrese una tarifa válida (debe ser un número no negativo)" } }, "addLines": { "actions": { "addPlural": "Agregar ({{count}}) preajustes", "addSingle": "Agregar ({{count}}) preajuste", "adding": "Agregando..." }, "empty": { "noMatches": "Ningún preajuste coincide con su búsqueda.", "noneAvailable": "No hay preajustes de línea de contrato disponibles." }, "errors": { "failedToAddPresets": "No se pudieron agregar los preajustes seleccionados.", "failedToLoadPresetDetails": "No se pudieron cargar los detalles del preajuste.", "failedToLoadPresets": "No se pudieron cargar los preajustes de línea de contrato." }, "filters": { "allTypes": "Todos los tipos", "reset": "Restablecer", "searchPlaceholder": "Buscar preajustes...", "typePlaceholder": "Seleccione el tipo" }, "fixedConfig": { "defaultBaseRate": "Tarifa base predeterminada:", "defaultRatePlaceholder": "Predeterminado: ${{rate}}", "enterBaseRate": "Ingrese la tarifa base", "leaveBlankDefault": "Deje en blanco para usar la tarifa predeterminada", "notSet": "Sin definir", "overrideBaseRate": "Anular tarifa base", "title": "Configuración de tarifa fija" }, "hourlyConfig": { "defaultRate": "Predeterminado: ${{rate}}", "hourlyRate": "Tarifa por hora", "minimumBillableMinutes": "Minutos mínimos facturables", "roundUpToNearest": "Redondear al más cercano (minutos)", "servicesAndRates": "Servicios y tarifas por hora", "title": "Configuración de facturación por tiempo" }, "loading": "Cargando preajustes de línea de contrato...", "selectPresetsTitle": "Seleccione los preajustes de línea de contrato para agregar", "selection": { "deselectPreset": "Deseleccionar preajuste", "selectPreset": "Seleccionar preajuste", "selectedPlural": "{{count}} preajustes seleccionados", "selectedSingle": "{{count}} preajuste seleccionado" }, "serviceCountPlural": "{{count}} servicios", "serviceCountSingle": "{{count}} servicio", "services": { "configuration": "Configuración de servicios", "empty": "No hay servicios configurados para este preajuste", "fixedReferenceHelp": "Estos servicios se incluyen solo como referencia. La tarifa fija anterior determina el importe de la facturación.", "includedReference": "Servicios incluidos (referencia)", "quantityShort": "Cant.: {{quantity}}", "unknownService": "Servicio desconocido" }, "title": "Agregar líneas de contrato desde preajustes", "usageConfig": { "defaultRate": "Predeterminado: ${{rate}}", "quantity": "Cantidad", "ratePerUnit": "Tarifa (por unidad)", "unitHint": "p. ej., GB, llamada a API, usuario", "unitOfMeasure": "Unidad de medida", "unitPlaceholder": "unidad" } }, "createCustomLine": { "addBucketOfConsumption": "Agregar bloque de consumo", "addBucketOfHours": "Agregar bloque de horas", "addHourlyService": "Agregar servicio por hora", "addItem": "Agregar elemento", "addUsageService": "Agregar servicio basado en uso", "adjustForPartialPeriods": "Ajustar por períodos parciales", "adjustForPartialPeriodsHelp": "Cuando está habilitado, la tarifa recurrente se escala a la porción cubierta de un período de servicio cuando el contrato comienza o termina dentro de ese período.", "basicsDescription": "Cree una línea de contrato personalizada directamente para este contrato.", "basicsTitle": "Información básica de la línea de contrato", "billingFrequencyLabel": "Frecuencia de facturación *", "billingFrequencyPlaceholder": "Seleccione la frecuencia de facturación", "billingModel": { "fixedDescription": "Cobre una cantidad fija en cada período de facturación.", "fixedTitle": "Tarifa fija", "hourlyDescription": "Facturar según las entradas de tiempo aprobadas.", "hourlyTitle": "Por hora", "usageDescription": "Facturar por unidades consumidas.", "usageTitle": "Basado en uso" }, "billingTiming": { "advance": "Anticipado (facturar al inicio del período)", "arrears": "A plazo vencido (facturar al final del período)" }, "billingTimingHelp": "La facturación anticipada es habitual para tarifas fijas; a plazo vencido para servicios basados en tiempo/uso.", "chooseBillingModel": "Elija un modelo de facturación *", "chooseBillingModelDescription": "Seleccione el comportamiento de facturación que se adapte a esta oferta.", "contractLineNameLabel": "Nombre de la línea de contrato *", "contractLineNamePlaceholder": "p. ej. Soporte gestionado - Gold", "create": "Crear línea de contrato", "creating": "Creando...", "defaultUnit": "unidad", "defaultUnits": "unidades", "enterHourlyRate": "Ingrese la tarifa por hora", "enterUnitRate": "Ingrese la tarifa por unidad", "fixedServicesAlertBaseRate": "La tarifa base de la línea de contrato (establecida abajo) es el importe facturado.", "fixedServicesAlertHeading": "Servicios de tarifa fija", "fixedServicesAlertProducts": "También puede adjuntar productos a esta línea de contrato; las cantidades de producto se facturan como unidades, mientras que las cantidades de servicios de tarifa fija se usan solo para asignación de impuestos.", "fixedServicesDescription": "Configure servicios que se facturan a una tarifa recurrente fija.", "fixedServicesTitle": "Servicios de tarifa fija", "hourlyRateDisplay": "{{rate}}/hora", "hourlyRateLabel": "Tarifa por hora", "hourlyServicesAlertDescription": "Estos servicios se facturan según el tiempo real registrado.", "hourlyServicesAlertHeading": "Servicios por hora", "hourlyServicesDescription": "Configure servicios que se facturan según el tiempo registrado.", "hourlyServicesLabel": "Servicios por hora", "hourlyServicesTitle": "Servicios por hora", "itemLabel": "Elemento {{index}}", "moneyPlaceholder": "0.00", "minimumBillableTimeLabel": "Tiempo mínimo facturable (minutos)", "noFixedItems": "Aún no se han agregado elementos de tarifa fija. Haga clic en \"Agregar elemento\" arriba para empezar.", "noHourlyServices": "Aún no se han agregado servicios por hora. Haga clic en \"Agregar servicio por hora\" arriba para empezar.", "noUsageServices": "Aún no se han agregado servicios basados en uso. Haga clic en \"Agregar servicio basado en uso\" arriba para empezar.", "quantityLabel": "Cantidad", "ratePerUnitLabel": "Tarifa por unidad", "recurringBaseRateHelp": "Tarifa recurrente para todos los servicios fijos.", "recurringBaseRateLabel": "Tarifa base recurrente", "roundUpToNearestLabel": "Redondear al más cercano (minutos)", "selectItemPlaceholder": "Seleccione un elemento", "selectServicePlaceholder": "Seleccione un servicio", "serviceLabel": "Servicio {{index}}", "servicesAndProductsLabel": "Servicios y productos", "title": "Crear línea de contrato personalizada", "unitOfMeasureLabel": "Unidad de medida", "unitOfMeasurePlaceholder": "p. ej., GB, llamada a API, usuario", "unitRateDisplay": "{{rate}}/{{unit}}", "usageServicesAlertDescription": "Estos servicios se facturan según el consumo real.", "usageServicesAlertHeading": "Servicios basados en uso", "usageServicesDescription": "Configure servicios que se facturan según el uso o consumo.", "usageServicesLabel": "Servicios basados en uso", "usageServicesTitle": "Servicios basados en uso", "validation": { "billingFrequencyRequired": "La frecuencia de facturación es obligatoria", "contractLineNameRequired": "El nombre de la línea de contrato es obligatorio", "contractLineTypeRequired": "El tipo de línea de contrato es obligatorio", "failedToCreate": "No se pudo crear la línea de contrato", "fixedServiceRequired": "Se requiere al menos un servicio fijo o producto", "fixedServiceSelectRequired": "Elemento {{index}}: seleccione un servicio o producto", "hourlyRateRequired": "Servicio {{index}}: la tarifa por hora es obligatoria", "hourlyServiceRequired": "Se requiere al menos un servicio por hora", "hourlyServiceSelectRequired": "Servicio {{index}}: seleccione un servicio", "unitOfMeasureRequired": "Servicio {{index}}: la unidad de medida es obligatoria", "unitRateRequired": "Servicio {{index}}: la tarifa por unidad es obligatoria", "usageServiceRequired": "Se requiere al menos un servicio basado en uso", "usageServiceSelectRequired": "Servicio {{index}}: seleccione un servicio" } }, "pricingSchedules": { "list": { "actions": { "addSchedule": "Agregar programación", "deleteSchedule": "Eliminar programación", "editSchedule": "Editar programación" }, "columns": { "actions": "Acciones", "customRate": "Tarifa personalizada", "effectiveDate": "Fecha de entrada en vigor", "endDate": "Fecha de finalización", "notes": "Notas" }, "dialogs": { "confirmDeleteSchedule": "¿Está seguro de que desea eliminar este programa de precios?" }, "empty": { "description": "Agregue programas de precios para definir cambios de tarifa basados en el tiempo para este contrato", "noPricingSchedules": "Aún no hay programas de precios" }, "errors": { "failedToDeletePricingSchedule": "No se pudo eliminar el programa de precios", "failedToLoadPricingSchedules": "No se pudieron cargar los programas de precios" }, "loading": "Cargando programas de precios", "readOnlyNotice": "Este contrato predeterminado gestionado por el sistema es solo de atribución. La creación de programas de precios está deshabilitada.", "timeline": { "title": "Cronología de precios" }, "title": "Programas de precios", "values": { "defaultRate": "Tarifa predeterminada", "ongoing": "En curso", "useDefaultRate": "Usar tarifa predeterminada" } }, "dialog": { "actions": { "addSchedule": "Agregar programación", "cancel": "Cancelar", "saving": "Guardando...", "updateSchedule": "Actualizar programación" }, "durationUnits": { "days": "Días", "months": "Meses", "weeks": "Semanas", "years": "Años" }, "errors": { "failedToSavePricingSchedule": "No se pudo guardar el programa de precios" }, "fields": { "customRate": "Tarifa personalizada", "customRatePlaceholder": "0.00", "duration": "Duración", "durationPlaceholder": "p. ej., 6", "effectiveDate": "Fecha de entrada en vigor", "endDate": "Fecha de finalización", "hasEndDate": "Tiene fecha de finalización", "notes": "Notas", "notesPlaceholder": "Agregue notas sobre este cambio de precios (p. ej., 'Aumento de tarifa anual')", "unit": "Unidad", "useDefaultRate": "Usar tarifa predeterminada", "useDuration": "Usar duración" }, "title": { "addPricingSchedule": "Agregar programa de precios", "editPricingSchedule": "Editar programa de precios" }, "validation": { "customRatePositive": "La tarifa personalizada debe ser un número positivo", "customRateRequired": "La tarifa personalizada es obligatoria cuando no se usa la tarifa predeterminada", "durationPositive": "La duración debe ser un número positivo", "durationRequired": "El valor de duración es obligatorio cuando se usa duración", "effectiveDateRequired": "La fecha de entrada en vigor es obligatoria", "endDateAfterEffectiveDate": "La fecha de finalización debe ser posterior a la fecha de entrada en vigor", "endDateRequiredWhenEnabled": "La fecha de finalización es obligatoria cuando \"Tiene fecha de finalización\" está habilitado" } } }, "contractsList": { "actions": { "deleting": "Eliminando…", "createContract": "Crear contrato", "createTemplate": "Crear plantilla", "openMenu": "Abrir menú", "quickAdd": "Agregar rápido", "resume": "Reanudar", "restore": "Restaurar", "setToActive": "Establecer como activo", "terminate": "Rescindir" }, "columns": { "actions": "Acciones", "client": "Cliente", "contractName": "Nombre del contrato", "created": "Creado", "description": "Descripción", "endDate": "Fecha de finalización", "lastModified": "Última modificación", "sourceTemplate": "Plantilla de origen", "startDate": "Fecha de inicio", "status": "Estado" }, "dialogs": { "deleteClient": { "clientSuffix": " para {{clientName}}", "message": "¿Está seguro de que desea eliminar permanentemente el contrato de cliente \"{{contractName}}\"{{clientSuffix}}? Esta acción no se puede deshacer.", "title": "¿Eliminar contrato de cliente?" }, "deleteTemplate": { "message": "¿Está seguro de que desea eliminar permanentemente la plantilla \"{{contractName}}\"? Esta acción no se puede deshacer.", "title": "¿Eliminar plantilla de contrato?" }, "discardDraft": { "message": "Esto eliminará permanentemente el borrador \"{{contractName}}\" para {{clientName}}.\nEsta acción no se puede deshacer.", "title": "¿Descartar contrato borrador?" } }, "drafts": { "badgeCount": "{{count}} contratos borrador" }, "empty": { "dash": "—", "noClientContracts": "Ningún contrato de cliente coincide con su búsqueda.", "noDescription": "Sin descripción", "noDraftMatches": "Ningún contrato borrador coincide con su búsqueda.", "noDrafts": "No hay contratos borrador. Comience a crear un nuevo contrato para guardarlo como borrador.", "noTemplates": "Ninguna plantilla coincide con su búsqueda.", "unknownClient": "Cliente desconocido", "untitledContract": "Contrato sin título", "untitledDraft": "Borrador sin título", "untitledTemplate": "Plantilla sin título" }, "errors": { "failedToFetch": "No se pudieron recuperar los contratos" }, "heading": { "description": "Las plantillas son definiciones reutilizables. Los contratos de cliente son instancias propiedad del cliente.", "title": "Contratos" }, "loading": { "contracts": "Cargando contratos..." }, "search": { "clientContractsAriaLabel": "Buscar contratos del cliente", "clientContractsPlaceholder": "Buscar por cliente o contrato...", "draftsAriaLabel": "Buscar contratos borrador", "draftsPlaceholder": "Buscar borradores...", "templatesAriaLabel": "Buscar plantillas de contrato", "templatesPlaceholder": "Buscar plantillas..." }, "status": { "archived": "Archivado", "published": "Publicada" }, "toasts": { "draftDiscarded": "Borrador descartado", "failedToActivateContract": "No se pudo activar el contrato", "failedToDeleteContract": "No se pudo eliminar el contrato", "failedToDiscardDraft": "No se pudo descartar el borrador", "failedToRestoreContract": "No se pudo restaurar el contrato", "failedToResumeDraft": "No se pudo reanudar el borrador", "failedToTerminateContract": "No se pudo rescindir el contrato" } }, "clientContracts": { "actions": { "viewDetails": "Ver detalles" }, "columns": { "actions": "Acciones", "billingFrequency": "Frecuencia de facturación", "client": "Cliente", "contractName": "Nombre del contrato", "endDate": "Fecha de finalización", "poIndicator": "OC", "sourceTemplate": "Plantilla de origen", "startDate": "Fecha de inicio", "status": "Estado" }, "dialogs": { "terminate": { "clientSuffix": " para {{clientName}}", "message": "¿Está seguro de que desea rescindir \"{{contractName}}\"{{clientSuffix}}?", "title": "¿Rescindir contrato de cliente?" } }, "empty": { "noMatches": "Ningún contrato de cliente coincide con su búsqueda." }, "errors": { "failedToFetch": "No se pudieron recuperar los contratos del cliente" }, "loading": "Cargando contratos del cliente...", "po": { "notRequired": "No obligatorio", "required": "Obligatorio" }, "search": { "ariaLabel": "Buscar contratos del cliente", "placeholder": "Buscar por cliente o contrato..." }, "tabs": { "contracts": "Contratos", "upcomingRenewals": "Próximas renovaciones ({{count}})" }, "toasts": { "failedToActivate": "No se pudo activar el contrato", "failedToDelete": "No se pudo eliminar el contrato", "failedToMarkNonRenewing": "No se pudo marcar la renovación como no renovable", "failedToMarkRenewing": "No se pudo marcar la renovación como renovable", "failedToRestore": "No se pudo restaurar el contrato", "failedToResumeDraft": "No se pudo reanudar el borrador", "failedToTerminate": "No se pudo rescindir el contrato" }, "upcoming": { "actions": { "markNonRenewing": "Marcar como no renovable", "markRenewing": "Marcar como renovable", "openMenu": "Abrir acciones de renovación" }, "columns": { "actions": "Acciones", "client": "Cliente", "contract": "Contrato", "daysUntilDue": "Días hasta el vencimiento", "decisionDue": "Decisión pendiente", "status": "Estado", "type": "Tipo" }, "description": "Contratos con decisiones de renovación pendientes dentro de la ventana seleccionada.", "empty": "No hay próximas renovaciones para la ventana seleccionada.", "filterAriaLabel": "Filtrar próximas renovaciones", "filterPlaceholder": "Filtrar próximas renovaciones...", "status": { "completed": "Completado", "nonRenewing": "No renovable", "pending": "Pendiente", "renewing": "En renovación", "snoozed": "Pospuesto" }, "title": "Próximas renovaciones", "type": { "evergreen": "Perpetuo", "fixedTerm": "Plazo fijo" }, "window": { "all": "Todos", "next30": "Próximos 30 días", "next60": "Próximos 60 días", "next90": "Próximos 90 días" }, "windowPlaceholder": "Seleccione la ventana de renovación" } }, "templatesTab": { "actions": { "createTemplate": "Crear plantilla", "delete": "Eliminar", "edit": "Editar" }, "columns": { "actions": "Acciones", "description": "Descripción", "status": "Estado", "templateName": "Nombre de la plantilla" }, "empty": { "createFirstTemplate": "Cree su primera plantilla para empezar.", "noSearchMatches": "Ninguna plantilla coincide con su búsqueda", "noTemplates": "Aún no hay plantillas", "tryDifferentSearch": "Pruebe con un término de búsqueda diferente." }, "errors": { "failedToDeleteContract": "No se pudo eliminar el contrato", "failedToFetchTemplates": "No se pudieron recuperar las plantillas" }, "loading": "Cargando plantillas...", "search": { "ariaLabel": "Buscar plantillas de contrato", "placeholder": "Buscar plantillas..." }, "status": { "active": "Activo", "archived": "Archivado", "draft": "Borrador", "expired": "Vencido", "published": "Publicada", "terminated": "Rescindido" }, "values": { "noDescription": "Sin descripción" } }, "detailSwitcher": { "errors": { "contractNotFound": "Contrato no encontrado", "failedToLoadContractDetails": "No se pudieron cargar los detalles del contrato", "missingContractIdentifier": "Falta el identificador del contrato", "noContractSelected": "No se ha seleccionado ningún contrato.", "unableToLoadContractDetails": "No se pudieron cargar los detalles del contrato" }, "loading": { "contract": "Cargando contrato..." } }, "templateDetail": { "backToTemplates": "Volver a plantillas", "backToTemplatesArrow": "← Volver a plantillas", "composition": { "addContractLinesBeforeManaging": "Agregue líneas de contrato a esta plantilla antes de gestionar los servicios.", "additionalPlans": "Planes adicionales", "bucketSummary": "Bloque: {{minutes}} min • Exceso ${{overage}}", "closeManager": "Cerrar gestor", "editRate": "Editar tarifa", "fixedFeeBundles": "Paquetes de tarifa fija", "fixedFeeRate": "Tarifa de cuota fija:", "hourlyPlans": "Planes por hora", "manageServices": "Gestionar servicios", "manageTemplateServices": "Gestionar servicios de la plantilla", "minimumTimeLabel": "Tiempo mínimo:", "minutesValue": "{{count}} min", "noFixedFeeLines": "Aún no se han configurado líneas de contrato de tarifa fija.", "noHourlyLines": "Aún no se han configurado líneas de contrato por hora.", "noServicesAssigned": "No hay servicios asignados a esta línea de contrato.", "noUsageLines": "Aún no se han configurado líneas de contrato basadas en uso.", "notSet": "Sin definir", "quantityLabel": "Cantidad:", "roundUpLabel": "Redondear:", "serviceCountPlural": "{{count}} servicios", "serviceCountSingle": "{{count}} servicio", "serviceFallback": "Servicio", "title": "Composición de la plantilla", "unitLabel": "Unidad:", "usageBasedPlans": "Planes basados en uso" }, "editBasicsTitle": "Editar información básica de la plantilla", "editGuidanceTitle": "Editar orientación de la plantilla", "failedToLoadTemplate": "No se pudo cargar la plantilla de contrato", "form": { "currencyPlaceholder": "Seleccione una moneda", "internalNotesLabel": "Notas internas", "internalNotesPlaceholder": "Describa dónde se aplica esta plantilla, consejos de incorporación o requisitos de aprobación.", "recommendedBillingFrequencyLabel": "Frecuencia de facturación recomendada *", "recommendedBillingFrequencyPlaceholder": "Seleccione la cadencia de facturación", "templateNameLabel": "Nombre de la plantilla *", "templateNamePlaceholder": "Servicios gestionados inicial, paquete de soporte premium, etc." }, "guidance": { "noCadenceProvided": "No se proporciona una cadencia recomendada.", "recommendedCadenceLabel": "Cadencia recomendada", "recommendedCadencePlaceholder": "Seleccione una cadencia", "tagsHint": "Las etiquetas ayudan a los equipos a encontrar rápidamente las plantillas relevantes.", "tagsLabel": "Etiquetas", "tagsPlaceholder": "Separados por comas (p. ej., incorporación, finanzas)", "title": "Orientación de la plantilla", "usageNotesLabel": "Notas de uso", "usageNotesPlaceholder": "Agregue orientación para ayudar a otros a entender cómo usar esta plantilla." }, "loadingTemplate": "Cargando plantilla...", "servicesLabel": "Servicios", "templateBadge": "Plantilla", "templateNotFound": "Plantilla de contrato no encontrada", "templateSnapshotTitle": "Captura de la plantilla", "validation": { "billingFrequencyRequired": "La frecuencia de facturación es obligatoria", "failedToUpdateBasics": "No se pudo actualizar la información básica de la plantilla", "failedToUpdateGuidance": "No se pudo actualizar la orientación de la plantilla", "templateNameRequired": "El nombre de la plantilla es obligatorio" }, "clientAssignments": { "title": "Asignaciones de clientes", "totalAssignments": "Asignaciones totales", "activeClients": "Clientes activos", "purchaseOrders": "Órdenes de compra", "poRequiredCount": "{{count}} asignaciones requieren OC", "noPoRequirements": "No hay requisitos de OC registrados.", "noClientContracts": "Ningún contrato de cliente está utilizando esta plantilla actualmente.", "reviewBelow": "Revisa la lista completa de asignaciones en la sección de detalles a continuación." }, "assignmentDetails": { "title": "Detalles de la asignación", "empty": "Cuando los contratos de cliente adopten esta plantilla aparecerán aquí con el contexto de orden de compra.", "contractId": "ID del contrato: {{id}}", "ongoing": "En curso", "notRequired": "No requerido", "columns": { "client": "Cliente", "status": "Estado", "start": "Inicio", "end": "Fin", "poRequired": "OC requerida", "poNumber": "Número de OC", "poAmount": "Importe de OC" }, "status": { "active": "Activo", "inactive": "Inactivo" } } }, "quickStart": { "actions": { "createFirstContract": "Cree su primer contrato", "dismiss": "Descartar", "minimize": "Minimizar", "showGuide": "Mostrar guía" }, "badge": { "new": "Nuevo" }, "bestPractices": { "items": { "clearNames": "Use nombres de contrato claros y descriptivos (p. ej., \"Acme Corp - Servicios MSP Q4 2024\")", "endDates": "Establezca fechas de finalización para contratos de plazo fijo para hacer seguimiento de las fechas de renovación", "partialPeriodAdjustment": "Use el ajuste por período parcial cuando las fechas del contrato cubran solo parte de un período de servicio", "poNumbers": "Agregue números de OC cuando lo requieran las políticas de compras del cliente" }, "title": "Buenas prácticas" }, "billingModels": { "bucketHours": { "description": "Horas prepagadas + exceso", "label": "Horas del bloque:" }, "fixedFee": { "description": "El mismo precio cada mes", "label": "Tarifa fija:" }, "hourly": { "description": "Facturar por tiempo registrado", "label": "Por hora:" }, "usageBased": { "description": "Facturar por consumo/uso", "label": "Basado en uso:" } }, "steps": { "configureBilling": { "description": "Elija su(s) modelo(s) de facturación. Puede combinar varios tipos:", "title": "Configurar facturación" }, "createContract": { "description": "Haga clic en \"Nuevo contrato\" para iniciar el asistente. Elija un cliente y asigne un nombre a su contrato.", "requiredFields": "Obligatorio: cliente, nombre del contrato, fecha de inicio", "title": "Crear un contrato" }, "reviewCreate": { "description": "Verifique todo dos veces antes de crear. Siempre puede editar más adelante.", "tip": "Consejo: se requiere al menos una línea de servicio", "title": "Revisar y crear" } }, "subtitle": "Aprenda a crear y gestionar contratos", "title": "Guía de inicio rápido" }, "servicePicker": { "emptyMessage": "No se encontró ningún servicio.", "placeholder": "Seleccione un servicio...", "searchPlaceholder": "Buscar servicios...", "catalog": { "badges": { "product": "Producto", "service": "Servicio" }, "custom": { "addAsCustomItem": "Agregar “{{name}}” como elemento personalizado", "badge": "Personalizado", "typeNameHint": "Escriba un nombre para agregar un elemento personalizado" }, "emptyMessage": "No hay elementos coincidentes.", "placeholder": "Seleccione un elemento...", "searchPlaceholder": "Buscar elementos..." } }, "bucketOverlay": { "includedLabel": "{{units}} incluidas", "includedPlaceholderHours": "p. ej., 40", "includedPlaceholderUnits": "p. ej., 1000", "includedTooltip": "Cantidad de {{units}} incluidos en cada período de facturación antes de que se apliquen excesos.", "overageRateLabel": "Tarifa por exceso", "overageRateTooltip": "Cargo aplicado por cada {{unit}} que supere la cantidad incluida.", "rolloverDescription": "Si está habilitado, cualquier saldo no utilizado se traspasa al siguiente período.", "rolloverLabel": "Permitir que {{units}} no utilizados se acumulen", "units": { "hour": "hora", "hours": "horas", "units": "unidades" } }, "frequencyOverride": { "confirmation": "Esta línea de contrato se facturará {{lineFrequency}} en lugar de {{contractFrequency}}.", "description": "Opcional: anule la frecuencia de facturación del contrato ({{frequency}}) para esta línea de contrato específica.", "label": "Anulación de frecuencia de facturación", "optionAlreadySetForContract": "{{label}} (ya establecido para el contrato)", "placeholder": "Usar frecuencia de facturación del contrato ({{frequency}})" }, "wizard": { "dialogs": { "unsavedChanges": { "cancel": "Permanecer", "confirm": "Descartar cambios", "message": "Tiene cambios sin guardar. Si cierra este diálogo ahora, sus cambios se descartarán.", "title": "¿Descartar cambios?" } }, "errors": { "failedToCreateContract": "No se pudo crear el contrato", "failedToLoadTemplateDetails": "No se pudieron cargar los detalles de la plantilla", "failedToLoadTemplates": "No se pudieron cargar las plantillas", "failedToSaveDraft": "No se pudo guardar el borrador" }, "steps": { "contractBasics": "Información básica del contrato", "fixedFeeServices": "Servicios de tarifa fija", "hourlyServices": "Servicios por hora", "products": "Productos", "reviewCreate": "Revisar y crear", "usageBasedServices": "Servicios basados en uso" }, "title": { "createNewContract": "Crear nuevo contrato", "editContract": "Editar contrato" }, "validation": { "addAtLeastOneService": "Agregue al menos un servicio antes de crear el contrato", "baseRateRequiredWhenFixedServices": "La tarifa base es obligatoria cuando se incluyen servicios fijos", "billingFrequencyRequired": "La frecuencia de facturación es obligatoria", "clientRequired": "El cliente es obligatorio", "contractNameRequired": "El nombre del contrato es obligatorio", "noticePeriodRange": "El período de aviso debe estar entre {{min}} y {{max}} días", "noticePeriodWholeNumber": "El período de aviso debe ser un número entero de días", "recurring": { "frequency": { "annually": "anualmente", "biweekly": "quincenalmente", "monthly": "mensualmente", "quarterly": "trimestralmente", "semi-annually": "semestralmente", "weekly": "semanalmente" }, "lineType": { "fixed": "Fijo", "hourly": "Por hora", "product": "Producto", "usage": "Uso" } }, "renewalModeRequiredWithEndDate": "El modo de renovación es obligatorio cuando se establece una fecha de finalización", "renewalTermPositiveWhole": "El plazo de renovación en meses debe ser un número entero positivo", "selectClientBeforeDraft": "Seleccione un cliente antes de guardar como borrador", "selectProductForEachLine": "Seleccione un producto para cada línea de producto", "startDateRequired": "La fecha de inicio es obligatoria", "unsupportedRecurringAuthoringCombination": "Combinación de creación recurrente no admitida para servicios de {{lineType}}: la cadencia de aniversario de contrato actualmente admite las frecuencias de facturación {{supportedFrequencies}}. {{billingFrequency}} aún no es compatible. Use una de las frecuencias admitidas o facture según el calendario de facturación del cliente en su lugar." }, "nav": { "back": "Atrás", "next": "Siguiente", "skip": "Omitir", "finish": "Finalizar configuración", "saveDraft": "Guardar como borrador", "saving": "Guardando...", "completing": "Finalizando..." } }, "wizardBasics": { "additionalDescription": { "hint": "Notas internas o detalles del contrato.", "label": "Descripción (opcional)", "placeholder": "Agregue notas adicionales sobre este contrato..." }, "billingFrequency": { "hint": "¿Con qué frecuencia se debe facturar este contrato?", "label": "Frecuencia de facturación", "placeholder": "Seleccione la frecuencia de facturación" }, "cadenceOwner": { "description": "Establece el propietario de cadencia predeterminado aplicado a las líneas recurrentes creadas en este asistente.", "label": "Cadencia recurrente predeterminada", "options": { "client": { "description": "Use el calendario de facturación del cliente para que las líneas recurrentes se mantengan alineadas con la cadencia normal de facturación del cliente.", "label": "Facturar según el calendario de facturación del cliente" }, "contract": { "description": "Use períodos de servicio de aniversario de contrato para líneas recurrentes que deban seguir la cronología del contrato.", "label": "Facturar en el aniversario del contrato" } } }, "client": { "chooseClientHint": "Elija el cliente para el que es este contrato.", "clientLabel": "Cliente", "loadingClients": "Cargando clientes…", "selectClient": "Seleccione un cliente" }, "contractName": { "hint": "Asigne a este contrato un nombre descriptivo.", "label": "Nombre del contrato", "placeholder": "p. ej., Servicios MSP estándar, Paquete de soporte premium" }, "currency": { "hint": "Moneda para este contrato. De manera predeterminada, se usa la moneda preferida del cliente.", "label": "Moneda", "placeholder": "Seleccione una moneda" }, "dates": { "endDateAfterStartValidation": "La fecha de finalización debe ser posterior a la fecha de inicio", "endDateLabel": "Fecha de finalización (opcional)", "endDateOngoingHint": "Deje en blanco para un contrato en curso.", "endDateTooltip": "Deje en blanco para contratos en curso que no tengan una fecha de finalización fija. Siempre puede establecer una fecha de finalización más adelante cuando el contrato se rescinda o venza.", "startDateHint": "¿Cuándo entra en vigor este contrato?", "startDateLabel": "Fecha de inicio" }, "description": "Elija una plantilla (opcional), seleccione el cliente y configure los detalles fundamentales del contrato. Los detalles del servicio se cargan en los siguientes pasos.", "heading": "Información básica del contrato", "po": { "amountHint": "Importe total autorizado en la orden de compra.", "amountLabel": "Importe de OC", "noteLabel": "Nota:", "noteText": "La aplicación de OC se activará cuando se habilite la automatización de facturas. Configure ahora para adelantarse.", "numberHint": "Número de referencia de la orden de compra del cliente.", "numberLabel": "Número de OC", "numberPlaceholder": "p. ej., OC-2024-12345", "requireForInvoicing": "Requerir orden de compra para facturación", "requireHint": "Bloquear la generación de facturas si no se proporciona una OC.", "requireTooltip": "Cuando está habilitado, no se pueden generar facturas para este contrato a menos que se proporcione un número de OC.", "title": "Orden de compra (opcional)" }, "renewal": { "evergreen": { "description": "Este contrato está en curso. Configure la cadencia de revisión anual y el momento del aviso.", "title": "Configuración de revisión perpetua" }, "fixedTerm": { "description": "Este contrato tiene una fecha de finalización fija. Configure el comportamiento de renovación y el momento del aviso.", "title": "Configuración de renovación" }, "modeLabel": "Modo de renovación", "modeOptions": { "auto": "Renovación automática", "manual": "Renovación manual", "none": "Sin renovación" }, "modePlaceholder": "Seleccione el modo de renovación", "noticePeriodLabel": "Período de aviso (días)", "noticePeriodPlaceholder": "p. ej., 30", "termLabel": "Plazo de renovación (meses)", "termPlaceholder": "p. ej., 12", "useTenantDefaultsDescription": "Aplicar la configuración de renovación a nivel de organización a menos que se anule explícitamente.", "useTenantDefaultsLabel": "Usar los valores predeterminados de renovación del inquilino" }, "summary": { "labels": { "billingFrequency": "Frecuencia de facturación:", "client": "Cliente:", "contract": "Contrato:", "currency": "Moneda:", "noticePeriod": "Período de aviso:", "period": "Período:", "poAmount": "Importe de OC:", "poNumber": "Número de OC:", "poRequired": "OC requerida:", "renewalMode": "Modo de renovación:", "renewalTerm": "Plazo de renovación:" }, "title": "Resumen del contrato", "values": { "notSelected": "No seleccionado", "noticePeriodDays_one": "{{count}} día", "noticePeriodDays_other": "{{count}} días", "ongoing": "En curso", "renewalTermMonths_one": "{{count}} mes", "renewalTermMonths_other": "{{count}} meses", "noticePeriodDays": "{{count}} día", "renewalTermMonths": "{{count}} mes" } }, "template": { "loadingTemplateDetails": "Cargando detalles de la plantilla…", "loadingTemplates": "Cargando plantillas…", "prefillHint": "Prellene servicios, notas y cadencia de facturación a partir de una plantilla existente. Todavía puede ajustar todo antes de publicar.", "preview": { "billingCadenceLabel": "Cadencia de facturación:", "notSpecified": "No especificado", "templateLabel": "Plantilla:" }, "selectTemplateOptional": "Seleccione una plantilla (opcional)", "startFromTemplate": "Comenzar desde una plantilla" } }, "wizardFixed": { "alternateFrequencyLabel": "Frecuencia de facturación alternativa (opcional)", "baseRate": { "hint": "Tarifa recurrente total para todos los servicios fijos combinados.", "label": "Tarifa base recurrente", "placeholder": "0.00" }, "description": "Configure servicios que se facturan a una tarifa fija en cada ciclo de facturación. Todavía puede registrar tiempo, pero la facturación se basa en este importe fijo.", "emptyState": "Aún no se han agregado servicios de tarifa fija. Haga clic en “Agregar servicio” arriba o “Omitir” para continuar.", "explainer": { "description": "Estos servicios tienen un precio recurrente establecido. Todavía registrará entradas de tiempo para estos servicios, pero la facturación se basa en la tarifa fija, no en las horas trabajadas.", "title": "¿Qué son los servicios de tarifa fija?" }, "heading": "Servicios de tarifa fija", "preview": { "labels": { "alternateFrequency": "Frecuencia de facturación alternativa:", "billingTiming": "Momento de facturación:", "cadenceOwner": "Propietario de la cadencia:", "invoiceWindow": "Ventana de facturación:", "recurringRate": "Tarifa recurrente:", "service": "Servicio:", "services": "Servicios:" }, "materializedPeriods": { "tooltip": "Vista previa de los próximos periodos de servicio y las ventanas de facturación que se generarían para ellos según la configuración actual. Permiten verificar la cadencia antes de guardar — las facturas reales se generan después en la ejecución de facturación." }, "title": "Vista previa recurrente antes de guardar" }, "proration": { "label": "Ajustar por períodos parciales", "tooltip": "Ajuste la tarifa recurrente cuando las fechas del contrato cubran solo parte de un período de servicio." }, "services": { "addService": "Agregar servicio", "label": "Servicios", "quantityLabel": "Cantidad", "selectServicePlaceholder": "Seleccione un servicio", "serviceItemLabel": "Servicio {{index}}" } }, "wizardProducts": { "actions": { "addProduct": "Agregar producto" }, "description": "Adjunte productos que se facturarán en cada ciclo. Los productos usan el precio del catálogo para la moneda del contrato a menos que ingrese una anulación.", "emptyState": "Aún no hay productos adjuntos. Agregue un producto si desea que se facture en cada ciclo.", "heading": "Productos", "labels": { "defaultCatalogPrice": "Precio de catálogo predeterminado:", "overrideUnitPriceOptional": "Anular precio unitario (opcional)", "productItem": "Producto {{index}}", "products": "Productos", "quantity": "Cantidad", "selectProductPlaceholder": "Seleccione un producto", "catalogPriceInCurrency": "Precio de catálogo en {{currency}}:" }, "validation": { "noDefaultPriceEnterUnitPrice": "No se ha establecido un precio predeterminado. Ingrese un precio unitario.", "productMissingPrice": "Este producto no tiene precio predeterminado ni anulación. No se puede facturar hasta que ingrese un precio unitario.", "noCurrencyPriceEnterUnitPrice": "No hay precio en {{currency}} en el catálogo. Introduzca un precio unitario.", "noCurrencyPriceWithLegacyHint": "No hay precio en {{currency}} en el catálogo. Tarifa predeterminada heredada: {{rate}}. Introduzca un precio unitario en {{currency}}." } }, "wizardHourly": { "actions": { "addHourlyService": "Agregar servicio por hora" }, "alternateFrequencyLabel": "Frecuencia de facturación alternativa (opcional)", "description": "Configure servicios que se facturan según el tiempo registrado. Perfecto para trabajo T&M (Tiempo y Materiales).", "emptyState": "Aún no se han agregado servicios por hora. Haga clic en “Agregar servicio por hora” arriba u “Omitir” si no necesita facturación por tiempo y materiales.", "explainer": { "description": "Estos servicios se facturan según el tiempo real registrado. Cada entrada de tiempo se multiplicará por la tarifa por hora para calcular el importe de la factura.", "title": "¿Qué son los servicios por hora?" }, "heading": "Servicios por hora", "labels": { "enterHourlyRate": "Ingrese la tarifa por hora", "hourlyRate": "Tarifa por hora", "hourlyRatePerHour": "{{rate}}/hora", "hourlyRatePlaceholder": "0.00", "hourlyServices": "Servicios por hora", "selectServicePlaceholder": "Seleccione un servicio", "serviceItem": "Servicio {{index}}", "setBucketOfHours": "Establecer bloque de horas", "noCurrencyPriceEnterRate": "No hay precio en {{currency}} en el catálogo. Introduzca una tarifa por hora.", "noCurrencyPriceWithLegacyHint": "No hay precio en {{currency}} en el catálogo. Tarifa predeterminada heredada: {{rate}}. Introduzca una tarifa por hora en {{currency}}." }, "minimumBillableTime": { "hint": "p. ej., 15 minutos: cualquier entrada de tiempo inferior a esto se redondeará hacia arriba", "label": "Tiempo mínimo facturable (minutos)", "placeholder": "15" }, "roundUpToNearest": { "hint": "p. ej., 15 minutos: las entradas de tiempo se redondearán hacia arriba al intervalo más cercano", "label": "Redondear al más cercano (minutos)", "placeholder": "15" }, "summary": { "labels": { "alternateFrequency": "Frecuencia de facturación alternativa:", "bucketsHeading": "Bloques:", "includedHours": "Horas incluidas:", "minimumTime": "Tiempo mínimo:", "overageRate": "Tarifa de exceso:", "rollover": "Traslado:", "roundUp": "Redondear:", "serviceFallback": "Servicio {{index}}", "services": "Servicios:" }, "title": "Resumen de servicios por hora", "values": { "everyMinutes": "Cada {{count}} minutos", "hours": "{{count}} horas", "minutes": "{{count}} minutos", "overageRatePerHour": "{{rate}}/hora", "rolloverDisabled": "Deshabilitado", "rolloverEnabled": "Habilitado" } } }, "wizardUsage": { "actions": { "addUsageBasedService": "Agregar servicio basado en uso" }, "alternateFrequencyLabel": "Frecuencia de facturación alternativa (opcional)", "description": "Configure servicios que se facturan según el uso o consumo. Perfecto para servicios medidos como transferencia de datos, llamadas a API o almacenamiento.", "emptyState": "Aún no se han agregado servicios basados en uso. Haga clic en “Agregar servicio basado en uso” arriba u “Omitir” si no necesita facturación por consumo.", "explainer": { "description": "Estos servicios se facturan según métricas reales de consumo o uso. Cada unidad consumida se multiplicará por la tarifa por unidad para calcular el importe de la factura.", "title": "¿Qué son los servicios basados en uso?" }, "heading": "Servicios basados en uso", "labels": { "enterUnitRate": "Ingrese la tarifa por unidad", "ratePerUnit": "Tarifa por unidad", "ratePerUnitPlaceholder": "0.00", "ratePerUnitValue": "{{rate}}/{{unit}}", "selectServicePlaceholder": "Seleccione un servicio", "serviceItem": "Servicio {{index}}", "services": "Servicios", "setBucketAllocation": "Establecer asignación del bloque", "unitOfMeasure": "Unidad de medida", "unitOfMeasureHint": "Elija la unidad en la que se factura este servicio.", "unitOfMeasurePlaceholder": "p. ej., GB, llamada a API, usuario", "noCurrencyPriceEnterRate": "No hay precio en {{currency}} en el catálogo. Introduzca una tarifa unitaria.", "noCurrencyPriceWithLegacyHint": "No hay precio en {{currency}} en el catálogo. Tarifa predeterminada heredada: {{rate}}. Introduzca una tarifa unitaria en {{currency}}." }, "summary": { "labels": { "services": "Servicios:" }, "title": "Resumen basado en uso" }, "values": { "defaultUnit": "unidad" } }, "wizardReview": { "heading": "Revisar contrato", "description": "Revise todos los detalles del contrato antes de crearlo. Todavía puede editar después de la creación si es necesario.", "sections": { "contractBasics": "Información básica del contrato", "fixedFeeServices": "Servicios de tarifa fija", "products": "Productos", "hourlyServices": "Servicios por hora", "usageBasedServices": "Servicios basados en uso" }, "fields": { "client": "Cliente", "contractName": "Nombre del contrato", "billingFrequency": "Frecuencia de facturación", "currency": "Moneda", "startDate": "Fecha de inicio", "endDate": "Fecha de finalización", "renewalMode": "Modo de renovación", "noticePeriod": "Período de aviso", "renewalTerm": "Plazo de renovación" }, "fallback": { "notSelected": "No seleccionado", "notSpecified": "No especificado", "ongoing": "En curso", "notApplicable": "N/D" }, "renewalMode": { "none": "Sin renovación", "manual": "Renovación manual", "auto": "Renovación automática" }, "noticePeriod": { "one": "{{count}} día", "other": "{{count}} días" }, "renewalTerm": { "one": "{{count}} mes", "other": "{{count}} meses" }, "common": { "yes": "Sí", "no": "No", "enabled": "Habilitado", "disabled": "Deshabilitado", "bucketLabel": "Bloque:", "billingFrequencyOverrideLabel": "Anulación de frecuencia de facturación:", "serviceQuantityRow": "{{serviceName}} (Cant.: {{quantity}})", "unitSingular": "unidad", "unitsFallback": "unidades", "hourSingular": "hora" }, "po": { "title": "Requisitos de orden de compra", "requiredLabel": "OC requerida:", "numberLabel": "Número de OC:", "amountLabel": "Importe de OC:" }, "bucket": { "includedHours": "{{formattedValue}} horas", "includedUnits": "{{formattedValue}} {{unitLabel}}", "overageLabel": "Exceso {{rate}}/{{unit}}", "rolloverEnabled": "acumulación habilitada", "rolloverDisabled": "sin acumulación", "summaryWithOverage": "{{included}}, {{overage}}, {{rollover}}", "summaryWithoutOverage": "{{included}}, {{rollover}}" }, "fixed": { "badgeCount": { "one": "{{count}} servicio", "other": "{{count}} servicios" }, "monthlyBaseRate": "Tarifa base mensual:", "partialPeriodAdjustment": "Ajuste por período parcial:" }, "recurring": { "cadenceOwner": { "label": "Propietario de la cadencia:", "contractAnniversary": "Aniversario del contrato", "clientBillingSchedule": "Calendario de facturación del cliente" }, "firstInvoice": { "contract": { "advance": "Primera factura: facturar en la ventana de aniversario del contrato que abre el primer período de servicio cubierto.", "arrears": "Primera factura: facturar en la siguiente ventana de aniversario del contrato después del cierre del primer período de servicio cubierto." }, "client": { "advance": "Primera factura: facturar en la primera ventana del calendario de facturación del cliente que cubre el período de servicio.", "arrears": "Primera factura: facturar en la siguiente ventana del calendario de facturación del cliente después del cierre del primer período de servicio cubierto." } }, "partialPeriod": { "enabled": "Los períodos parciales ajustan la tarifa recurrente a la porción cubierta del período de servicio.", "disabled": "Los períodos parciales mantienen la tarifa recurrente completa incluso cuando las fechas del contrato caen dentro de un período de servicio." }, "materialized": { "heading": "Períodos materializados futuros ilustrativos", "serviceLabel": "Servicio:", "invoiceWindowLabel": "Ventana de facturación:", "summary": { "contract": "Si guarda esta línea recurrente, los períodos futuros se materializarían en una vista previa de estilo aniversario anclada al día 8 antes de generar la factura.", "client": "Si guarda esta línea recurrente, los períodos futuros se materializarían en la vista previa del calendario de facturación del cliente antes de generar la factura." } } }, "products": { "badgeCount": { "one": "{{count}} producto", "other": "{{count}} productos" }, "overrideRate": "- anulación {{rate}}/{{currencyCode}}" }, "hourly": { "badgeCount": { "one": "{{count}} servicio", "other": "{{count}} servicios" }, "servicesAndRates": "Servicios y tarifas", "serviceRateRow": "{{serviceName}} - {{rate}}/hora", "minimumTimeLabel": "Tiempo mínimo:", "roundUpLabel": "Redondear:", "minutesValue": "{{count}} minutos" }, "usage": { "badgeCount": { "one": "{{count}} servicio", "other": "{{count}} servicios" }, "serviceRateRow": "{{serviceName}} - {{rate}}/{{unit}}" }, "total": { "title": "Total mensual estimado", "description": "Solo cargos fijos. Los servicios por hora y de uso se facturan por separado según el uso real.", "perMonth": "por mes" }, "finalChecklist": { "title": "Antes de finalizar:", "itemRates": "Verifique dos veces todas las tarifas, cantidades y bloques", "itemPo": "Confirme los requisitos de OC (si los hay)", "itemDates": "Verifique las fechas de inicio y finalización", "itemEditLater": "Recuerde: puede editar el contrato más tarde si es necesario" } }, "templateWizard": { "title": { "createContractTemplate": "Crear plantilla de contrato" }, "steps": { "templateBasics": "Información básica de la plantilla", "fixedFeeBlocks": "Bloques de tarifa fija", "products": "Productos", "hourlyBlocks": "Bloques por hora", "usageBasedBlocks": "Bloques basados en uso", "reviewPublish": "Revisar y publicar" }, "actions": { "continue": "Continuar", "publishTemplate": "Publicar plantilla" }, "errors": { "failedToCreateTemplate": "No se pudo crear la plantilla" }, "validation": { "templateNameRequired": "El nombre de la plantilla es obligatorio", "billingFrequencyRequired": "La frecuencia de facturación es obligatoria", "duplicateNameExists": "Ya existe una plantilla con este nombre", "templateNameAlreadyInUse": "El nombre de la plantilla ya está en uso", "atLeastOneServiceRequired": "Se requiere al menos un servicio", "unsupportedRecurringAuthoringCombination": "Combinación de creación recurrente no admitida para servicios de {{lineType}}: la cadencia de aniversario de contrato actualmente admite las frecuencias de facturación {{supportedFrequencies}}. {{billingFrequency}} aún no es compatible. Use una de las frecuencias admitidas o facture según el calendario de facturación del cliente en su lugar.", "recurring": { "frequency": { "monthly": "mensualmente", "quarterly": "trimestralmente", "semi-annually": "semestralmente", "annually": "anualmente", "weekly": "semanalmente", "biweekly": "quincenalmente" }, "lineType": { "fixed": "Fijo", "product": "Producto", "hourly": "Por hora", "usage": "Uso" } } } }, "templateBasics": { "heading": "Información básica de la plantilla", "description": "Dé un nombre a esta plantilla de contrato y capture la orientación general. Los precios y los detalles específicos del cliente se finalizarán cuando la plantilla se aplique a un cliente.", "fields": { "templateName": "Nombre de la plantilla *", "internalNotes": "Notas internas", "recommendedBillingFrequency": "Frecuencia de facturación recomendada *" }, "placeholders": { "templateName": "Servicios gestionados inicial, paquete de soporte premium, etc.", "internalNotes": "Describa dónde se aplica esta plantilla, consejos de incorporación o requisitos de aprobación.", "billingFrequency": "Seleccione la cadencia de facturación" }, "help": { "templateName": "Use un nombre descriptivo para que los equipos puedan identificar rápidamente la plantilla correcta.", "internalNotes": "Estas notas permanecen con la plantilla para proporcionar contexto cuando los compañeros de equipo la utilicen.", "billingFrequency": "Establece la cadencia predeterminada cuando se aplica la plantilla. Aún se puede ajustar por cliente." } }, "templateFixed": { "heading": "Servicios de tarifa fija", "description": "Configure servicios que se facturan a una tarifa fija en cada ciclo de facturación. Todavía puede registrar tiempo, pero la facturación se basa en este importe fijo.", "info": { "title": "¿Qué son los servicios de tarifa fija?", "description": "Estos servicios tienen un precio recurrente establecido. Todavía registrará entradas de tiempo para estos servicios, pero la facturación se basa en la tarifa fija, no en las horas trabajadas." }, "cadenceOwner": { "label": "Propietario de la cadencia", "help": "Elija qué programación debe definir los períodos de servicio recurrentes para los contratos creados a partir de esta plantilla.", "client": { "label": "Facturar según el calendario de facturación del cliente", "description": "Use el calendario de facturación del cliente para que los contratos creados a partir de esta plantilla se mantengan alineados con la cadencia de facturación del cliente." }, "contract": { "label": "Facturar en el aniversario del contrato", "description": "Use esta programación de aniversario de línea de contrato. La cadencia del contrato actualmente admite facturación recurrente mensual, trimestral, semestral y anual." } }, "billingTiming": { "arrears": "A plazo vencido: facturar después del cierre del período", "advance": "Anticipado: facturar al inicio del período" }, "fields": { "billingTiming": "Momento de facturación", "adjustPartialPeriods": "Ajustar por períodos parciales", "services": "Servicios", "serviceNumber": "Servicio {{index}}", "quantityOptional": "Cantidad (opcional)" }, "placeholders": { "billingTiming": "Seleccione el momento de facturación", "selectService": "Seleccione un servicio" }, "help": { "adjustPartialPeriods": "Use esta opción cuando los contratos creados a partir de la plantilla deban escalar la tarifa recurrente si el servicio comienza o termina dentro de un período.", "quantity": "Cantidad sugerida al crear contratos" }, "preview": { "unknownService": "Servicio desconocido", "cadenceOwnerLabel": "Propietario de la cadencia:", "billingTimingLabel": "Momento de facturación:", "serviceLabel": "Servicio:", "invoiceWindowLabel": "Ventana de facturación:" }, "actions": { "addService": "Agregar servicio" } }, "templateProducts": { "heading": "Productos", "description": "Adjunte productos a la plantilla. Cuando se cree un contrato a partir de esta plantilla, los productos se facturarán en cada ciclo utilizando el precio del catálogo de productos para la moneda del contrato.", "fields": { "products": "Productos", "productNumber": "Producto {{index}}", "quantityOptional": "Cantidad (opcional)" }, "placeholders": { "selectProduct": "Seleccione un producto" }, "help": { "quantity": "Cantidad sugerida al crear contratos" }, "actions": { "addProduct": "Agregar producto" }, "preview": { "unknownProduct": "Producto desconocido" } }, "templateHourly": { "heading": "Servicios por hora", "description": "Seleccione los servicios que se facturan según el tiempo registrado. Las tarifas se determinarán por el precio del servicio en la moneda del cliente cuando se cree el contrato.", "info": { "title": "¿Qué son los servicios por hora?", "description": "Estos servicios se facturan según el tiempo real registrado. Cada entrada de tiempo se multiplica por la tarifa por hora del servicio para calcular el importe de la factura." }, "rounding": { "heading": "Configuración de redondeo de tiempo", "minimumBillableTime": "Tiempo mínimo facturable (minutos)", "minimumBillableTimeHelp": "Ejemplo: 15 minutos. Cualquier entrada de tiempo por debajo de este umbral se redondea hacia arriba.", "roundUpToNearest": "Redondear al más cercano (minutos)", "roundUpToNearestHelp": "Ejemplo: 15 minutos. Las entradas de tiempo se redondean hacia arriba al intervalo más cercano.", "defaultIntervalPlaceholder": "15" }, "fields": { "services": "Servicios", "serviceNumber": "Servicio {{index}}", "setBucketOfHours": "Establecer bloque de horas" }, "placeholders": { "selectService": "Seleccione un servicio" }, "preview": { "unknownService": "Servicio desconocido" }, "actions": { "addService": "Agregar servicio" } }, "templateUsage": { "heading": "Servicios basados en uso", "description": "Seleccione los servicios que se facturan según el uso o consumo. Las tarifas se determinarán por el precio del servicio en la moneda del cliente cuando se cree el contrato.", "info": { "title": "¿Qué son los servicios basados en uso?", "description": "Estos servicios se facturan según métricas reales de consumo o uso. Cada unidad consumida se multiplica por la tarifa por unidad del servicio para calcular el importe de la factura." }, "fields": { "services": "Servicios", "serviceNumber": "Servicio {{index}}", "unitOfMeasureOptional": "Unidad de medida (opcional)", "setBucketAllocation": "Establecer asignación del bloque" }, "placeholders": { "selectService": "Seleccione un servicio", "unitOfMeasure": "p. ej., GB, llamada a API, usuario" }, "help": { "unitOfMeasure": "Anule la unidad de medida predeterminada para este servicio." }, "preview": { "unknownService": "Servicio desconocido" }, "actions": { "addService": "Agregar servicio" } }, "templateReview": { "heading": "Revisar plantilla", "description": "Confirme el contenido de la plantilla. Las tarifas se determinan por el precio de cada servicio en la moneda del cliente cuando se crea un contrato a partir de esta plantilla.", "sections": { "basics": "Información básica de la plantilla", "fixedFeeServices": "Servicios de tarifa fija", "products": "Productos", "hourlyServices": "Servicios por hora", "usageBasedServices": "Servicios basados en uso" }, "fields": { "templateName": "Nombre de la plantilla", "billingFrequency": "Frecuencia de facturación", "internalNotes": "Notas internas" }, "fallback": { "none": "—", "noNotes": "No se han agregado notas.", "unnamedService": "Servicio sin nombre", "unnamedProduct": "Producto sin nombre" }, "empty": { "fixed": "No se han seleccionado servicios de tarifa fija.", "products": "No se han seleccionado productos.", "hourly": "No se han seleccionado servicios por hora.", "usage": "No se han seleccionado servicios basados en uso." }, "common": { "quantity": "Cantidad:", "bucket": "Bloque:", "enabled": "Habilitado", "disabled": "Deshabilitado" }, "fixed": { "cadenceOwnerLabel": "Propietario de la cadencia:", "cadenceOwner": { "contract": "Aniversario del contrato", "client": "Calendario de facturación del cliente" }, "billingTimingLabel": "Momento de facturación:", "billingTiming": { "advance": "Anticipado", "arrears": "A plazo vencido" }, "partialPeriodLabel": "Ajuste por período parcial:", "serviceLabel": "Servicio:", "invoiceWindowLabel": "Ventana de facturación:" }, "hourly": { "minimumBillableTimeLabel": "Tiempo mínimo facturable:", "roundUpLabel": "Redondear:", "minutes": "{{count}} minutos" }, "usage": { "unitLabel": "Unidad:" }, "bucket": { "hoursIncluded": "{{value}} horas incluidas", "unitsIncluded": "{{value}} {{unit}} incluidas", "unitsFallback": "unidades", "overage": "Exceso ${{amount}}/{{unit}}", "hourSingular": "hora", "unitSingular": "unidad", "rolloverEnabled": "Acumulación habilitada", "period": "Período: {{period}}" } }, "templatePreview": { "serviceType": { "fixedFee": "Tarifa fija", "products": "Productos", "hourly": "Por hora", "usageBased": "Basado en uso" }, "selectedHeading": "Servicios seleccionados de {{type}} ({{count}})", "labels": { "qty": "Cant.:" }, "removeDialog": { "title": "Quitar preajuste de línea de contrato", "message": "¿Está seguro de que desea quitar \"{{serviceName}}\" de \"{{presetName}}\"? Esto también eliminará todos los demás servicios asociados con este preajuste de línea de contrato.", "confirm": "Quitar todo", "cancel": "Cancelar" } }, "recurringPreview": { "rangeSeparator": "{{start}} al {{end}}", "cadenceOwner": { "contract": { "label": "Aniversario del contrato", "summary": "Los períodos de servicio y las ventanas de facturación siguen las fechas de aniversario del contrato." }, "client": { "label": "Calendario de facturación del cliente", "summary": "Los períodos de servicio y las ventanas de facturación permanecen alineados con el calendario de facturación del cliente." } }, "billingTiming": { "advance": { "label": "Anticipado", "summary": "Las facturas se emiten al inicio del período de servicio." }, "arrears": { "label": "A plazo vencido", "summary": "Las facturas se emiten después del cierre del período de servicio cubierto." } }, "firstInvoice": { "contract": { "advance": "Primera factura: se emite en la ventana de aniversario del contrato que abre el primer período de servicio cubierto.", "arrears": "Primera factura: se emite en la siguiente ventana de aniversario del contrato tras el cierre del primer período de servicio cubierto." }, "client": { "advance": "Primera factura: se emite en la primera ventana del calendario de facturación del cliente que cubre el período de servicio.", "arrears": "Primera factura: se emite en la siguiente ventana del calendario de facturación del cliente tras el cierre del primer período de servicio cubierto." } }, "partialPeriod": { "prorated": "Los períodos parciales ajustan la tarifa recurrente a la parte cubierta del período de servicio.", "full": "Los períodos parciales mantienen la tarifa recurrente completa incluso cuando las fechas del contrato caen dentro de un período de servicio." }, "materializedPeriods": { "heading": "Períodos futuros materializados ilustrativos", "summary": { "contract": "Si guardas esta línea recurrente, los períodos futuros se materializarían mediante una vista previa tipo aniversario anclada al día 8 antes de la generación de facturas.", "client": "Si guardas esta línea recurrente, los períodos futuros se materializarían en la vista previa del calendario de facturación del cliente antes de la generación de facturas." } } } }