PSA/server/public/locales/es/msp/clients.json
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

1330 lines
70 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"common": {
"actions": {
"add": "Agregar",
"assign": "Asignar",
"back": "Atrás",
"cancel": "Cancelar",
"close": "Cerrar",
"create": "Crear",
"delete": "Eliminar",
"dismiss": "Descartar",
"downloadCsv": "Descargar CSV",
"edit": "Editar",
"import": "Importar",
"reactivate": "Reactivar",
"remove": "Quitar",
"retry": "Reintentar",
"save": "Guardar",
"saving": "Guardando...",
"search": "Buscar",
"select": "Seleccionar",
"update": "Actualizar",
"uploadCsv": "Subir CSV",
"view": "Ver"
},
"states": {
"active": "Activo",
"inactive": "Inactivo",
"loading": "Cargando...",
"na": "N/D",
"none": "Ninguno",
"archived": "Archivado",
"draft": "Borrador",
"expired": "Vencido",
"published": "Publicado",
"terminated": "Rescindido"
},
"no": "No",
"yes": "Sí"
},
"clientsPage": {
"title": "Página de clientes",
"description": "Página principal de administración de clientes con búsqueda, filtros y vista de lista/cuadrícula de clientes",
"searchPlaceholder": "Buscar clientes, notas, documentos e interacciones",
"createClient": "Crear cliente",
"createClientShort": "+ Crear cliente",
"allClients": "Todos los clientes",
"activeClients": "Clientes activos",
"inactiveClients": "Clientes inactivos",
"allTypes": "Todos los tipos",
"companies": "Empresas",
"individuals": "Individuos",
"filterByStatus": "Filtrar por estado",
"filterByType": "Filtrar por tipo",
"statusFilterLabel": "Filtro de estado",
"clientTypeFilterLabel": "Filtro de tipo de cliente",
"cardsView": "Tarjetas",
"tableView": "Tabla",
"loadingClients": "Cargando clientes...",
"actionsMenu": "Menú de acciones",
"deleteClient": "Eliminar cliente",
"deleteSelected": "Eliminar seleccionado",
"deleteSelectedClients": "Eliminar clientes seleccionados",
"markAsInactive": "Marcar como inactivo",
"markShort": "Marcar",
"reset": "Reiniciar",
"deleteResults": "Eliminar resultados",
"associatedRecords": "Registros asociados",
"deleteBlockedSingle": "No se puede eliminar este cliente debido a los siguientes registros asociados:",
"deleteBlockedPlural": "Estos clientes tienen registros asociados que deben eliminarse primero.",
"deleteBlockedHelp": "Elimine o reasigne estos elementos antes de que se pueda eliminar el cliente.",
"alreadyInactive": "Este cliente ya está marcado como inactivo.",
"bulkInactivePrompt": "Marque estos clientes como inactivos. Estarán ocultos de la mayoría de las vistas, pero conservarán todos sus datos.",
"singleDeletePrompt": "Este cliente tiene los siguientes registros asociados:",
"deactivateContactsPrompt": "¿Le gustaría desactivar también los {{count}} contactos asociados?",
"bulkDeleteError": "Se produjo un error al eliminar clientes. Por favor inténtalo de nuevo.",
"singleDeleteError": "Se produjo un error al eliminar el cliente. Por favor inténtalo de nuevo.",
"deleteSingleSuccess": "{{name}} se ha eliminado correctamente.",
"markInactiveFailed": "No se pudo marcar el cliente como inactivo",
"bulkInactiveError": "Se produjo un error al marcar clientes como inactivos. Por favor inténtalo de nuevo.",
"singleInactiveError": "Se produjo un error al marcar al cliente como inactivo. Por favor inténtalo de nuevo.",
"bulkReactivateError": "Se produjo un error al reactivar clientes. Por favor inténtalo de nuevo.",
"exportError": "No se pudieron exportar clientes a CSV",
"unknownClient": "Cliente desconocido",
"unknownError": "Error desconocido",
"actions": "Acciones",
"allSelected": "Todos los {{count}} clientes seleccionados",
"selectedSingle": "{{count}} Seleccionado",
"selectedPlural": "{{count}} Seleccionado",
"createSuccess": "{{name}} se ha creado correctamente.",
"exportSuccess_one": "{{count}} cliente exportado a CSV",
"exportSuccess_other": "{{count}} clientes exportados a CSV",
"bulkDeleteSuccess_one": "{{count}} cliente se eliminó correctamente.",
"bulkDeleteSuccess_other": "{{count}} clientes se eliminaron correctamente.",
"bulkInactiveFailed_one": "{{count}} cliente no se pudo marcar como inactivo.",
"bulkInactiveFailed_other": "{{count}} clientes no se pudieron marcar como inactivos.",
"bulkInactiveWithContactsSuccess": "{{clientCount}} {{clientsLabel}} y {{contactCount}} {{contactsLabel}} se han marcado como inactivos correctamente.",
"singleInactiveSuccess": "{{name}} se ha marcado como inactivo correctamente.",
"bulkInactiveSuccess_one": "{{count}} cliente se ha marcado como inactivo correctamente.",
"bulkInactiveSuccess_other": "{{count}} clientes se han marcado como inactivos correctamente.",
"bulkInactiveShortSuccess_one": "{{count}} cliente se ha marcado como inactivo.",
"bulkInactiveShortSuccess_other": "{{count}} clientes se han marcado como inactivos.",
"bulkInactiveWithContactsShortSuccess": "{{clientCount}} {{clientsLabel}} y {{contactCount}} {{contactsLabel}} se han marcado como inactivos.",
"bulkInactiveShortError": "Se produjo un error al marcar clientes como inactivos.",
"bulkReactivateFailed_one": "{{count}} cliente no se pudo reactivar.",
"bulkReactivateFailed_other": "{{count}} clientes no se pudieron reactivar.",
"bulkReactivateWithContactsSuccess": "{{clientCount}} {{clientsLabel}} y {{contactCount}} {{contactsLabel}} se han reactivado correctamente.",
"bulkReactivateSuccess_one": "{{count}} cliente se ha reactivado correctamente.",
"bulkReactivateSuccess_other": "{{count}} clientes se han reactivado correctamente.",
"deleteClientUnable": "No se puede eliminar este cliente.",
"deleteSinglePrompt": "¿Está seguro de que desea eliminar {{name}}? Esta acción no se puede deshacer.",
"markFailedAsInactive": "Marcar {{count}} como inactivo",
"multiDeleteSuccessSummary_one": "{{count}} cliente eliminado correctamente.",
"multiDeleteSuccessSummary_other": "{{count}} clientes eliminados correctamente.",
"multiDeleteFailedSummary_one": "No se pudo eliminar {{count}} cliente",
"multiDeleteFailedSummary_other": "No se pudieron eliminar {{count}} clientes",
"inactiveAlternative": "En su lugar, puedes marcar este cliente como inactivo. Los clientes inactivos están ocultos de la mayoría de las vistas, pero conservan todos sus datos y pueden marcarse como activos más adelante.",
"table": {
"client": "Cliente"
},
"entities": {
"client_one": "cliente",
"client_other": "clientes",
"contact_one": "contacto",
"contact_other": "contactos"
},
"dependency": {
"contact": "contacto",
"contacts": "contactos",
"ticket": "ticket",
"tickets": "tickets",
"project": "proyecto",
"projects": "proyectos",
"invoice": "factura",
"invoices": "facturas",
"document": "documento",
"documents": "documentos",
"interaction": "interacción",
"interactions": "interacciones",
"asset": "activo",
"assets": "activos",
"serviceUsageRecord": "registro de uso del servicio",
"serviceUsageRecords": "registros de uso del servicio",
"bucketUsageRecord": "registro de uso de bucket",
"bucketUsageRecords": "registros de uso de bucket"
},
"deleteSelectedPrompt_one": "¿Está seguro de que desea eliminar {{count}} cliente seleccionado? Esta acción no se puede deshacer.",
"deleteSelectedPrompt_other": "¿Está seguro de que desea eliminar {{count}} clientes seleccionados? Esta acción no se puede deshacer.",
"singleInactiveWithContactsSuccess_one": "{{name}} y {{count}} contacto han sido desactivados correctamente.",
"singleInactiveWithContactsSuccess_other": "{{name}} y {{count}} contactos han sido desactivados correctamente.",
"clientTypes": {
"company": "Empresa",
"individual": "Persona"
},
"print": {
"title": "Clientes",
"selectedTitle": "Clientes seleccionados",
"subtitle": "{{count}} clientes",
"noClients": "No hay clientes para imprimir",
"emptyValue": "-",
"columns": {
"name": "Cliente",
"type": "Tipo",
"phone": "Teléfono",
"address": "Dirección",
"status": "Estado"
},
"optionsDialog": {
"title": "Opciones de impresión",
"description": "Elige qué columnas incluir al imprimir los clientes."
}
},
"shareTooltip": "Imprimir, importar y exportar",
"defaultClientDeleteError": "No se puede eliminar el cliente predeterminado. Primero establezca otro cliente como predeterminado en Configuración general.",
"clientNotFound": "Cliente no encontrado.",
"deletePermissionDenied": "Permiso denegado: no se pueden eliminar clientes."
},
"clientDetails": {
"title": "Detalles del cliente",
"backToClients": "Volver a Clientes",
"openInNewTab": "Abrir en nueva pestaña",
"addTicket": "Agregar ticket",
"details": "Detalles",
"contacts": "Contactos",
"assets": "Activos",
"documents": "Documentos",
"billing": "Facturación",
"interactions": "Interacciones",
"notes": "Notas",
"huduTab": "Hudu",
"huduPasswordsTab": "Contraseñas",
"clientLocations": "Ubicaciones de clientes",
"billingDashboard": "Panel de facturación",
"clientAndContacts": "Cliente y contactos",
"clientOnly": "Sólo cliente",
"accountManager": "Gerente de cuentas",
"clientName": "Nombre del cliente",
"clientType": "Tipo de cliente",
"industry": "Industria",
"companySize": "Tamaño de la empresa",
"annualRevenue": "Ingresos anuales",
"lastContactDate": "Fecha del último contacto",
"paymentTerms": "Condiciones de pago",
"parentClient": "Cliente principal",
"defaultContact": "Contacto predeterminado",
"providerDefault": "Proveedor predeterminado",
"inboundEmailDomains": "Dominios de correo electrónico entrante",
"inboundEmailDomainsHelp": "Sólo estos dominios se utilizarán para la coincidencia de dominios de correo electrónico entrante (por ejemplo, acme.com). Los dominios deben ser únicos entre los clientes.",
"noInboundDomains": "No hay dominios de correo electrónico entrante configurados. No se utilizará la coincidencia de dominio.",
"inboundTicketDestination": "Destino del ticket entrante",
"inboundDestinationPrecedence": "Prioridad: Anulación de contacto -> Destino del cliente -> Valor predeterminado del proveedor.",
"manageLocations": "Administrar ubicaciones",
"loadingUsers": "Cargando usuarios...",
"loadingPolicies": "Cargando políticas...",
"loadingDestinations": "Cargando destinos...",
"loadingTaxSettings": "Cargando configuración de impuestos...",
"loadingTicketFilters": "Cargando filtros de tickets...",
"saveSuccess": "Los datos del cliente se guardaron correctamente.",
"saveError": "No se pudieron guardar los detalles del cliente. Por favor inténtalo de nuevo.",
"deleteSuccess": "El cliente ha sido eliminado exitosamente.",
"inactiveSuccess": "El cliente ha sido marcado como inactivo exitosamente.",
"reactivateSuccess": "El cliente ha sido reactivado exitosamente.",
"refreshError": "No se pudieron recuperar los datos más recientes del cliente.",
"deleteValidationError": "No se pudo validar la eliminación. Por favor inténtalo de nuevo.",
"deactivateError": "Se produjo un error al desactivar el cliente. Por favor inténtalo de nuevo.",
"markInactiveError": "Se produjo un error al marcar al cliente como inactivo. Por favor inténtalo de nuevo.",
"reactivateError": "Se produjo un error al reactivar el cliente. Por favor inténtalo de nuevo.",
"entraSyncError": "No se pudo iniciar la sincronización de Entra.",
"deleteError": "No se pudo eliminar el cliente. Por favor inténtalo de nuevo.",
"deactivateWithContactsSuccess_one": "El cliente y {{count}} contacto se han desactivado correctamente.",
"deactivateWithContactsSuccess_other": "El cliente y {{count}} contactos se han desactivado correctamente.",
"reactivateWithContactsSuccess_one": "El cliente y {{count}} contacto se han reactivado correctamente.",
"reactivateWithContactsSuccess_other": "El cliente y {{count}} contactos se han reactivado correctamente.",
"singleInactiveSuccess": "{{name}} se ha marcado como inactivo correctamente.",
"slaPolicy": "Política de SLA",
"defaultPolicy": "{{name}} (predeterminado)",
"selectSlaPolicy": "Seleccionar política de SLA",
"selectDefaultContact": "Seleccionar contacto predeterminado",
"noActiveContacts": "Sin contactos activos",
"timezone": "Zona horaria",
"timezoneHelper": "Seleccione la zona horaria para este cliente",
"taxSettings": "Configuración de impuestos",
"additionalInfo": "Información adicional",
"tickets": "Tickets",
"saveChanges": "Guardar cambios",
"requiredFields": "Por favor complete todos los campos requeridos",
"syncEntraNow": "Sincronizar Entra ahora",
"deactivateClient": "Desactivar Cliente",
"reactivateClient": "Reactivar Cliente",
"deactivatePrompt": "Este cliente tiene {{count}} contactos activos. ¿Quieres desactivarlos también?",
"reactivatePrompt": "Este cliente tiene {{count}} contactos inactivos. ¿Le gustaría reactivarlos también?",
"deactivatePortalWarning": "Los usuarios desactivados no podrán iniciar sesión en el portal del cliente.",
"activeContacts": "Contactos activos:",
"inactiveContacts": "Contactos inactivos:",
"selectClientType": "Seleccionar tipo de cliente",
"status": {
"label": "Estado",
"helper": "Establecer el estado del cliente como activo o inactivo"
},
"entraSyncStarted": "Sincronización de Entra iniciada. ID de ejecución: {{runId}}",
"entraSyncStatusUnknown": "Estado de sincronización no disponible",
"clientNameRequired": "El nombre del cliente es obligatorio",
"deactivateClientAndContacts": "Desactivar cliente y contactos",
"reactivateClientAndContacts": "Reactivar cliente y contactos",
"inboundDomainAdded": "Dominio de correo entrante añadido",
"inboundDomainAddFailed": "Error al añadir el dominio",
"inboundDomainRemoved": "Dominio de correo entrante eliminado",
"inboundDomainRemoveFailed": "Error al eliminar el dominio",
"fields": {
"accountManager": "Gestor de cuenta",
"url": "URL",
"status": "Estado"
},
"deactivateClientDescription": "Desactiva el registro sin eliminar sus datos.",
"deactivateClientOnlyDescription": "Desactiva el cliente, pero deja activos sus contactos.",
"nameAliasAddFailed": "Error al agregar el alias",
"nameAliasAdded": "Alias agregado",
"nameAliasRemoveFailed": "Error al eliminar el alias",
"nameAliasRemoved": "Alias eliminado",
"nameAliases": "Alias de coincidencia",
"noNameAliases": "No hay alias configurados. El propio nombre del cliente siempre coincide."
},
"quickAddClient": {
"title": "Agregar nuevo cliente",
"clientDetails": "Detalles del cliente",
"clientLocation": "Ubicación del cliente",
"contactInformation": "Información del contacto",
"clientName": "Nombre del cliente *",
"clientType": "Tipo de cliente",
"company": "Compañía",
"individual": "Individual",
"companyNamePlaceholder": "Nombre de empresa",
"enterClientName": "Introduzca el nombre del cliente",
"websiteUrl": "URL del sitio web",
"accountManager": "Gerente de cuentas",
"selectAccountManager": "Seleccione Administrador de cuentas",
"industry": "Industria",
"notes": "Notas",
"notesPlaceholder": "Agregue notas iniciales (opcional)",
"address": "Dirección",
"streetAddress": "Dirección",
"city": "Ciudad",
"state": "Estado",
"stateProvince": "Estado/Provincia",
"postalCode": "Código Postal",
"zipCode": "Código postal",
"country": "País",
"selectCountry": "Seleccionar país",
"mainOffice": "Oficina central",
"contactName": "Nombre de contacto",
"contactEmail": "Correo electrónico de contacto",
"contactPhone": "Teléfono de contacto",
"email": "Correo electrónico",
"emailPlaceholder": "Dirección de correo electrónico",
"phone": "Teléfono",
"phonePlaceholder": "Número de teléfono",
"name": "Nombre",
"creating": "Creando...",
"createClient": "Crear cliente",
"loadingUsers": "Cargando usuarios...",
"loadingCountries": "Cargando países...",
"validationHeader": "Corrija los siguientes errores:",
"clientCreatedLocationFailed": "Cliente creado pero no pudo agregar la ubicación.",
"clientCreatedContactFailed": "Cliente creado pero no pudo agregar contacto.",
"usersLoadError": "No se pudieron cargar usuarios para la selección del administrador de cuentas.",
"countriesLoadError": "No se pudieron cargar los países.",
"phoneTypeSuggestionsError": "No se pudieron cargar las sugerencias de tipo de teléfono de contacto.",
"created": "\"{{name}}\" creado. Agregue otro cliente a continuación.",
"createAndAddAnother": "Crear + Agregar otro",
"createAndView": "Crear + Ver cliente",
"additionalDetails": "Detalles adicionales"
},
"clientCreatedDialog": {
"title": "Cliente creado",
"viewClient": "Ver cliente",
"addAnother": "Agregar otro",
"createdMessage": "\"{{name}}\" se ha creado correctamente.",
"unknownClient": "Cliente"
},
"clientLocations": {
"title": "Administrador de ubicaciones de clientes",
"listTitle": "Ubicaciones",
"addLocation": "Agregar ubicación",
"addNewLocation": "Agregar nueva ubicación",
"editLocation": "Editar ubicación",
"deleteLocation": "Eliminar ubicación",
"emptyTitle": "Aún no hay ubicaciones",
"emptyDescription": "Haga clic en \"Agregar ubicación\" para comenzar",
"locationName": "Nombre de la ubicación",
"locationNamePlaceholder": "por ejemplo, oficina principal, almacén",
"address": "Dirección",
"addressLine1": "Dirección Línea 1",
"addressLine2": "Línea de dirección 2",
"addressLine3": "Línea de dirección 3",
"city": "Ciudad",
"stateProvince": "Estado/Provincia",
"postalCode": "Código Postal",
"country": "País",
"phone": "Teléfono",
"email": "Correo electrónico",
"notes": "Notas",
"billingAddress": "Dirección de facturación",
"shippingAddress": "Dirección de envío",
"defaultLocation": "Ubicación predeterminada",
"defaultSetSuccess": "Ubicación predeterminada actualizada",
"createSuccess": "Ubicación creada con éxito",
"updateSuccess": "Ubicación actualizada correctamente",
"deleteSuccess": "Ubicación eliminada correctamente",
"loadError": "No se pudieron cargar las ubicaciones de los clientes",
"saveError": "No se pudo guardar la ubicación",
"deleteError": "No se pudo eliminar la ubicación",
"setDefaultError": "No se pudo establecer la ubicación predeterminada",
"countriesLoadError": "No se pudieron cargar los países",
"taxRegionsLoadError": "No se pudieron cargar las regiones impositivas",
"confirmDelete": "¿Está seguro de que desea eliminar la ubicación \"{{name}}\"? Esta acción no se puede deshacer."
},
"billingConfigForm": {
"billingContactInformation": "Información de contacto de facturación",
"billingContact": "Contacto de facturación",
"alternativeBillingEmail": "Correo electrónico de facturación alternativo",
"alternativeBillingEmailHelp": "O ingrese un correo electrónico de facturación específico",
"invoiceDeliveryMethod": "Método de entrega de facturas",
"invoiceTemplate": "Plantilla de factura",
"invoiceTemplateHelp": "Seleccione una plantilla o use la predeterminada",
"paymentTerms": {
"dueOnReceipt": "Vencimiento al recibir",
"net15": "neto 15",
"net30": "neto 30"
},
"preferredPaymentMethod": "Método de pago preferido",
"defaultCurrency": "Moneda predeterminada",
"selectTaxRegion": "Seleccionar región fiscal (opcional)",
"loadingRegions": "Cargando regiones...",
"taxRegionLoadError": "No se pudieron cargar las regiones fiscales.",
"defaultTaxRegion": "Región fiscal predeterminada",
"defaultTemplateLabel": "(Por defecto)",
"deliveryMethods": {
"both": "Ambos",
"email": "Correo electrónico",
"mail": "Correo"
},
"paymentMethods": {
"bankTransfer": "Transferencia bancaria",
"check": "Cheque",
"creditCard": "Tarjeta de crédito"
},
"paymentTermsLabel": "Condiciones de pago",
"standardTemplateLabel": "(Estándar)",
"taxRegionsLoadError": "No se pudieron cargar las regiones fiscales.",
"usingDefaultTemplate": "Usando plantilla predeterminada: {{name}}"
},
"billingConfiguration": {
"general": "General",
"contractLines": "Líneas de contrato",
"contractLineOverlaps": "Superposiciones de líneas de contrato",
"taxRates": "Tasas de impuestos",
"save": "Guardar configuración de facturación",
"errorDialogTitle": "Error",
"saveSuccess": "La configuración de facturación se guardó correctamente",
"saveError": "No se pudo guardar la configuración de facturación",
"serviceTypeRequired": "Por favor seleccione un tipo de servicio",
"contractLineAddSuccess": "Línea de contrato agregada exitosamente",
"contractLineSaveSuccess": "Línea de contrato guardada exitosamente",
"contractLineSaveError": "No se pudieron guardar los cambios. Por favor inténtalo de nuevo.",
"contractLineUpdateSuccess": "Línea de contrato actualizada correctamente",
"contractLineRemoveSuccess": "Línea de contrato eliminada con éxito",
"contractLineAddError": "No se pudo agregar la línea de contrato. Por favor inténtalo de nuevo.",
"contractLineUpdateError": "No se pudo actualizar la línea del contrato. Por favor inténtalo de nuevo.",
"contractLineRemoveError": "No se pudo eliminar la línea del contrato. Por favor inténtalo de nuevo.",
"serviceAddSuccess": "Servicio agregado exitosamente",
"serviceUpdateSuccess": "Servicio actualizado exitosamente",
"serviceDeleteSuccess": "Servicio eliminado exitosamente",
"serviceCategoryUpdateSuccess": "Categoría de servicio actualizada con éxito",
"serviceAddError": "No se pudo agregar el servicio. Por favor inténtalo de nuevo.",
"serviceUpdateError": "No se pudo actualizar el servicio. Por favor inténtalo de nuevo.",
"serviceCategoryUpdateError": "No se pudo actualizar la categoría de servicio. Por favor inténtalo de nuevo.",
"serviceDeleteError": "No se pudo eliminar el servicio. Por favor inténtalo de nuevo.",
"defaultTaxAssignedSuccess": "Tasa impositiva predeterminada asignada correctamente",
"defaultTaxChangedSuccess": "La tasa impositiva predeterminada se cambió correctamente",
"defaultTaxAssignError": "No se pudo asignar la tasa impositiva predeterminada",
"defaultTaxChangeError": "No se pudo cambiar la tasa impositiva predeterminada",
"taxRatesRefreshError": "No se pudo actualizar la lista de tasas impositivas.",
"taxRateCreatedSuccess": "Tasa impositiva creada exitosamente",
"invalidDateFormat": "Formato de fecha no válido",
"invalidDate": "Fecha no válida",
"formattingError": "Error de formato",
"removeAssignmentTitle": "Eliminar asignación de línea de contrato",
"removeAssignmentMessage": "¿Está seguro de que desea eliminar esta asignación de línea de contrato del cliente? La línea del contrato en sí no se eliminará.",
"contracts": "Contratos"
},
"clientBillingSchedule": {
"title": "Calendario de facturación",
"edit": "Editar horario",
"save": "Guardar horario",
"saveSuccess": "Calendario de facturación guardado",
"saveError": "No se pudo guardar el cronograma de facturación",
"loadError": "No se pudo cargar el cronograma de facturación",
"previewError": "No se pudo obtener una vista previa de los períodos de facturación",
"historyPreviewError": "No se pudo obtener una vista previa del arranque del historial de facturación",
"createNextCycle": "Crear siguiente ciclo",
"createNextCycleSuccess": "Creado el siguiente ciclo de facturación",
"createNextCycleError": "No se pudo crear el siguiente ciclo de facturación",
"cycleType": "Tipo de ciclo",
"selectBillingCycle": "Seleccione ciclo de facturación...",
"dayOfMonth": "Día del mes (128)",
"selectDay": "Selecciona el día...",
"weekday": "Día laborable",
"selectWeekday": "Seleccione el día de la semana...",
"firstCycleStartDate": "Fecha de inicio del primer ciclo (UTC)",
"firstCycleStartHelp": "Se utiliza para establecer una paridad estable; déjelo en blanco para ciclos alternantes quincenales.",
"startMonth": "Mes de inicio",
"selectMonth": "Seleccione mes...",
"historyStartDate": "Fecha de inicio del historial de facturación (opcional)",
"historyStartHelp": "Si se establece, los ciclos históricos de facturación del cliente se generan desde el límite del ciclo de facturación que lo contiene hasta el día de hoy.",
"billingPeriodsSemantics": "Los períodos de facturación utilizan la semántica [inicio, fin). La fecha de finalización es el inicio del siguiente período.",
"rollingNoAnchor": "Rodante (sin ancla)",
"weeklyRolling": "Semanal (continuo)",
"biWeeklyRolling": "Quincenal (continuo)",
"createInProgress": "Creando...",
"previewLoading": "Cargando vista previa de cadencia del cliente...",
"currentScheduleLoading": "Cargando programación actual...",
"updatingHistoryPreview": "Actualizando la vista previa del arranque del historial de facturación...",
"updatingCadencePreview": "Actualizando la vista previa de la cadencia del cliente...",
"normalizedHistoryBoundary": "Límite histórico normalizado: {{date}}",
"earliestInvoicedBoundary": "Límite facturado más temprano: {{date}}",
"uninvoicedCyclesToRegenerate": "Ciclos no facturados para regenerar: {{count}}",
"cycleOptions": {
"weekly": "Semanalmente",
"bi-weekly": "Quincenal",
"monthly": "Mensual",
"quarterly": "Trimestral",
"semi-annually": "Semestralmente",
"annually": "Anualmente"
},
"summary": {
"weeklyAnchored": "Semanal (día laborable={{dayOfWeek}})",
"biWeeklyAnchored": "Quincenal (comienza {{referenceDate}})",
"monthly": "Mensual (día {{dayOfMonth}})",
"quarterly": "Trimestral ({{monthOfYear}}/{{dayOfMonth}})",
"semiAnnually": "Semestralmente ({{monthOfYear}}/{{dayOfMonth}})",
"annually": "Anualmente ({{monthOfYear}}/{{dayOfMonth}})"
},
"months": {
"1": "Enero",
"2": "Febrero",
"3": "Marzo",
"4": "Abril",
"5": "Mayo",
"6": "Junio",
"7": "Julio",
"8": "Agosto",
"9": "Septiembre",
"10": "Octubre",
"11": "Noviembre",
"12": "Diciembre"
},
"weekdays": {
"1": "Lunes",
"2": "Martes",
"3": "Miércoles",
"4": "Jueves",
"5": "Viernes",
"6": "Sábado",
"7": "Domingo"
}
},
"clientContractAssignment": {
"title": "Contratos",
"assignContract": "Asignar contrato",
"contracts": "Contratos",
"contractName": "Nombre del contrato",
"contractLines": "Líneas de contrato",
"description": "Descripción",
"startDate": "Fecha de inicio",
"endDate": "Fecha de finalización",
"renewal": "Renovación",
"status": "Estado",
"actions": "Acciones",
"openMenu": "Abrir menú",
"unassign": "Desasignar",
"loading": "Cargando contratos...",
"empty": "Aún no se han asignado contratos a este cliente.",
"loadError": "No se pudieron cargar los datos de los contratos",
"selectContract": "Seleccionar contrato...",
"noDescription": "Sin descripción",
"ongoing": "En curso",
"autoRenew": "Renovación automática",
"nonRenewing": "No renovable",
"manualRenewal": "renovación manual",
"manualDue": "Manual (debido a {{date}})",
"addError": "No se pudo agregar el contrato al cliente",
"deactivateError": "No se pudo desactivar el contrato",
"updateError": "No se pudo actualizar el contrato",
"createContract": "Crear contrato",
"quickAdd": "Agregar rápido"
},
"clientContractDialog": {
"assignTitle": "Asignar contrato al cliente",
"editTitle": "Editar asignación de contrato",
"renewalSettings": "Configuración de renovación",
"renewalSettingsHelp": "Establezca cómo se debe manejar esta asignación de plazo fijo en el momento de la renovación.",
"renewalSettingsSubtext": "Las configuraciones de renovación aparecen para asignaciones de plazo fijo con una fecha de finalización.",
"tenantDefaults": "Usar los valores predeterminados de renovación de inquilinos",
"tenantDefaultsHelp": "El modo de renovación y el período de notificación seguirán los valores predeterminados de facturación de su organización.",
"autoRenew": "Renovación automática",
"manualRenewal": "renovación manual",
"nonRenewing": "No renovable",
"ongoing": "En curso (sin fecha de finalización)",
"noticePeriodDays": "Período de aviso (días)",
"renewalTermMonths": "Plazo de renovación (meses)",
"includedContractLines": "Líneas de contrato incluidas:",
"unexpectedError": "Se produjo un error inesperado.",
"assignContract": "Asignar contrato",
"cancel": "Cancelar",
"endDate": "Fecha de finalización",
"endDateAfterStart": "La fecha de finalización debe ser posterior a la fecha de inicio.",
"endDateRequired": "Se requiere fecha de finalización cuando no está en curso",
"noticePeriodInvalid": "Los días del período de notificación deben ser un número entero no negativo",
"noticePeriodPlaceholder": "por ejemplo, 30",
"renewalMode": "Modo de renovación",
"renewalTermInvalid": "Los meses del plazo de renovación deben ser un número entero positivo para los contratos de renovación automática",
"renewalTermPlaceholder": "por ejemplo, 12",
"startDate": "Fecha de inicio",
"startDateRequired": "Se requiere fecha de inicio",
"updateAssignment": "Actualizar asignación",
"useTenantRenewalDefaults": "Usar los valores predeterminados de renovación de inquilinos"
},
"clientContractLineDashboard": {
"title": "Métricas de uso (últimos 30 días)",
"usageChart": "Gráfico de uso",
"hoursByService": "Horas por Servicio (Últimos 30 Días)",
"recentInvoices": "Facturas recientes",
"bucketUsage": "Uso de bucket",
"invoiceNumber": "Factura #",
"invoiceDate": "Fecha de factura",
"dueDate": "Fecha de vencimiento",
"status": "Estado",
"totalAmount": "Monto total",
"serviceName": "Nombre del servicio",
"totalDurationHours": "Duración total (horas)",
"totalQuantity": "Cantidad total",
"unit": "Unidad",
"hoursUsed": "horas utilizadas",
"hoursUsedSummary": "{{used}} / {{total}} horas utilizadas",
"noActiveBucketPlans": "No se encontraron planes de bucket activos.",
"noHours": "No se registraron horas en el período seleccionado.",
"noInvoices": "No se encontraron facturas recientes.",
"noUsage": "No se encontraron datos de uso en el período seleccionado."
},
"clientContractLineGuide": {
"title": "Guía de desambiguación de líneas de contrato",
"overviewTitle": "Descripción general",
"bestPracticesTitle": "Mejores prácticas",
"troubleshootingTitle": "Solución de problemas",
"commonScenariosTitle": "Escenarios comunes",
"bestPractices": {
"clearNamingDescription": "Nombre las líneas del contrato de manera que indique claramente su propósito y alcance para este cliente.",
"clearNamingItem1": "Incluya el tipo de línea de contrato en el nombre (por ejemplo, \"Bucket de soporte mensual\", \"Plan basado en proyectos\")",
"clearNamingItem2": "Considere incluir fechas o números de versión para líneas de contrato que cambian con el tiempo.",
"clearNamingItem3": "Utilice patrones de nombres consistentes en todas las líneas de contrato para este cliente",
"clearNamingTitle": "2. Utilice convenciones de nomenclatura de planes claras",
"description": "Siga estas mejores prácticas para garantizar una facturación precisa y minimizar la confusión al administrar múltiples líneas de contrato para este cliente.",
"documentRulesDescription": "Documente claramente cómo se deben manejar las superposiciones de servicios para este cliente específico.",
"documentRulesItem1": "Cree pautas específicas para el cliente sobre qué línea de contrato utilizar en diferentes escenarios.",
"documentRulesItem2": "Comparta estas pautas con todos los miembros del equipo que trabajan con este cliente.",
"documentRulesItem3": "Incluya ejemplos de situaciones comunes y cómo deben manejarse.",
"documentRulesTitle": "3. Reglas de desambiguación de documentos",
"minimizeOverlapsDescription": "Siempre que sea posible, evite tener el mismo servicio en múltiples líneas de contrato para este cliente. Esto simplifica la facturación y los informes.",
"minimizeOverlapsItem1": "Revise la Matriz de superposición de servicios para identificar servicios superpuestos",
"minimizeOverlapsItem2": "Considere consolidar líneas de contrato o reorganizar servicios.",
"minimizeOverlapsItem3": "Si son necesarias superposiciones, asegúrese de documentar claramente qué línea de contrato se debe utilizar cuando",
"minimizeOverlapsTitle": "1. Minimizar las superposiciones de servicios",
"title": "Mejores prácticas para la desambiguación de líneas de contrato"
},
"overview": {
"benefitBilling": "Facturación precisa y reconocimiento de ingresos",
"benefitReporting": "Informes y análisis claros",
"benefitsTitle": "Beneficios de una desambiguación adecuada",
"benefitTracking": "Entrada de tiempo simplificada y seguimiento de uso",
"benefitTransparency": "Transparencia mejorada para el cliente",
"bucketPriorityDescription": "Las líneas de contrato de bucket tienen prioridad al eliminar la ambigüedad de los servicios para este cliente.",
"bucketPriorityLabel": "Prioridad del bucket:",
"description": "Cuando un cliente tiene varias líneas de contrato que incluyen el mismo servicio, el sistema necesita determinar qué línea de contrato usar para entradas de tiempo y registros de uso. Esta guía explica cómo gestionar esta situación para este cliente específico.",
"explicitAssignmentDescription": "Cuando un servicio aparece en varias líneas de contrato, los usuarios deben elegir el contexto de asignación previsto en lugar de depender de un respaldo implícito.",
"explicitAssignmentLabel": "Asignación explícita requerida:",
"explicitSelectionDescription": "Cuando los usuarios deben elegir manualmente qué línea de contrato facturar para este cliente.",
"explicitSelectionLabel": "Selección explícita:",
"issueIncorrectBilling": "Facturación incorrecta cuando el contexto de la asignación es ambiguo",
"issueReporting": "Informar inconsistencias en diferentes líneas de contrato",
"issueUnexpectedBilling": "Comportamiento de facturación inesperado para este cliente",
"issueUserConfusion": "Confusión del usuario al seleccionar líneas de contrato para el ingreso de tiempo",
"keyConceptsTitle": "Conceptos clave:",
"potentialIssuesTitle": "Posibles problemas para este cliente",
"serviceOverlapDescription": "Cuando el mismo servicio aparece en múltiples líneas de contrato para este cliente.",
"serviceOverlapLabel": "Superposición de servicios:",
"title": "Comprender la desambiguación de la línea de contrato para este cliente"
},
"scenarios": {
"description": "Estos ejemplos ilustran cómo funciona la desambiguación de líneas de contrato en escenarios comunes para este cliente.",
"scenario1Description": "Cuando un servicio aparece tanto en una línea de contrato de bucket como en una línea de contrato estándar para este cliente:",
"scenario1Item1": "La línea de contrato del bucket se selecciona de forma predeterminada",
"scenario1Item2": "Las entradas de tiempo y el uso consumen la cantidad incluida del bucket y, a continuación, continúan en la misma línea de contrato del bucket como sobreuso a la tarifa de sobreuso configurada",
"scenario1Item3": "La facturación no cambia automáticamente a la línea de contrato estándar cuando el bucket se agota",
"scenario1Item4": "Los usuarios pueden anular manualmente este valor predeterminado seleccionando una línea de contrato diferente durante el ingreso de tiempo",
"scenario1Title": "Escenario 1: Plan de bucket + Plan estándar",
"scenario2Description": "Cuando un servicio aparece en varias líneas de contrato estándar para este cliente:",
"scenario2Item1": "Se pedirá a los usuarios que seleccionen qué línea de contrato facturar durante el ingreso de tiempo.",
"scenario2Item2": "Si no se selecciona explícitamente ninguna línea de contrato, la facturación debería detenerse con un error de ambigüedad que requiere la elección del usuario.",
"scenario2Item3": "Considere consolidar estas líneas de contrato para evitar confusión.",
"scenario2Title": "Escenario 2: múltiples planes estándar",
"scenario3Description": "Cuando un servicio aparece en varias líneas de contrato de bucket para este cliente:",
"scenario3Item1": "Se pedirá a los usuarios que seleccionen en qué bucket facturar durante la entrada de tiempo.",
"scenario3Item2": "Si no se selecciona explícitamente ningún bucket, la facturación debería detenerse con un error de ambigüedad que requiere la elección del usuario.",
"scenario3Item3": "Los equipos pueden definir guías internas para elegir entre buckets superpuestos",
"scenario3Title": "Escenario 3: Planes de múltiples buckets",
"title": "Escenarios comunes de desambiguación"
},
"tabs": {
"bestPractices": "Mejores prácticas",
"overview": "Descripción general",
"scenarios": "Escenarios comunes",
"troubleshooting": "Solución de problemas"
},
"troubleshooting": {
"description": "Soluciones para problemas comunes relacionados con la desambiguación de líneas de contrato para este cliente.",
"issueReportingDescription": "Si ve informes inconsistentes para servicios que aparecen en varias líneas de contrato para este cliente:",
"issueReportingItem1": "Utilice el filtro contract_line_id en los informes para ver datos de líneas de contrato específicas",
"issueReportingItem2": "Compruebe si las entradas de tiempo o los registros de uso tienen asignaciones de líneas de contrato explícitas",
"issueReportingItem3": "Revise los datos históricos para ver si las asignaciones de líneas de contrato han cambiado con el tiempo.",
"issueReportingItem4": "Considere actualizar la configuración de la línea de contrato del cliente para reducir las superposiciones",
"issueReportingTitle": "Problema: informes inconsistentes",
"issueSelectionMissingDescription": "Si el menú desplegable de selección de línea de contrato no aparece durante el ingreso de tiempo para este cliente:",
"issueSelectionMissingItem1": "Verificar que el servicio esté realmente incluido en varias líneas de contrato activas",
"issueSelectionMissingItem2": "Compruebe si una de las líneas de contrato ha caducado o aún no está activa",
"issueSelectionMissingItem3": "Asegúrese de que las selecciones de cliente y servicio se realicen antes de esperar el menú desplegable de línea de contrato.",
"issueSelectionMissingItem4": "Intente actualizar la página o borrar el caché del navegador.",
"issueSelectionMissingTitle": "Problema: la selección del plan no aparece",
"issueWrongPlanDescription": "Si las entradas de tiempo se facturan a la línea de contrato incorrecta para este cliente:",
"issueWrongPlanItem1": "Compruebe si la entrada de tiempo tiene asignado un contract_line_id explícito",
"issueWrongPlanItem2": "Verificar que el servicio esté incluido en la línea de contrato esperada",
"issueWrongPlanItem3": "Revise las reglas de desambiguación para comprender por qué se seleccionó una línea de contrato en particular",
"issueWrongPlanItem4": "Actualice la entrada de tiempo para seleccionar explícitamente la línea de contrato correcta",
"issueWrongPlanItem5": "Considere actualizar la configuración de la línea de contrato del cliente para evitar problemas futuros.",
"issueWrongPlanTitle": "Problema: Entrada de tiempo facturada al plan incorrecto",
"title": "Solución de problemas de desambiguación de líneas de contrato"
}
},
"clientCreditExpirationSettings": {
"title": "Configuración de vencimiento de crédito",
"enable": "Habilitar vencimiento de crédito",
"useDefault": "Usar configuración predeterminada",
"useDefaultHelp": "Utilice la configuración predeterminada de todo el sistema para el vencimiento del crédito",
"expirationPeriodDays": "Periodo de Vencimiento (Días)",
"expirationPeriodHelp": "Número de días después de los cuales caducan los créditos",
"notificationDays": "Días de notificación",
"notificationDaysHelp": "Días antes del vencimiento para enviar notificaciones (separados por comas)",
"placeholder": "por ejemplo, 30, 7, 1",
"enabledHelp": "Cuando esté habilitado, los créditos caducarán después del período especificado.",
"loadError": "No se pudo cargar la configuración",
"saveError": "No se pudo guardar la configuración",
"clientSpecificEnabled": "Configuraciones de vencimiento de crédito específicas del cliente habilitadas.",
"notificationsUpdatedSuccess": "Se han actualizado los días de notificación.",
"periodUpdatedSuccess": "Se actualizó el período de vencimiento del crédito.",
"save": "Guardar",
"updatedSuccess": "Se actualizó la configuración de vencimiento de crédito.",
"updateError": "No se pudo actualizar la configuración",
"useDefaultSuccess": "El cliente ahora utilizará la configuración predeterminada de vencimiento de crédito."
},
"clientGridCard": {
"actions": "Acciones del cliente",
"quickView": "Vista rápida",
"defaultClient": "Cliente predeterminado",
"taxExempt": "Exento de impuestos",
"taxExemptTooltip": "Este cliente está exento de impuestos: no se aplicarán impuestos a sus facturas.",
"type": "Tipo:",
"address": "Dirección:",
"phone": "Teléfono:",
"url": "URL:",
"clientActions": "Acciones del cliente",
"default": "Por defecto",
"selectClient": "Seleccionar cliente {{name}}"
},
"clientLanguagePreference": {
"title": "Configuración de idioma del cliente",
"label": "Idioma predeterminado para contactos",
"description": "Se aplica a cada usuario del portal de {{clientName}} a menos que haya establecido su propia preferencia en su perfil.",
"selectPlaceholder": "Seleccione un idioma",
"updating": "Actualizando preferencia de idioma...",
"loadError": "No se pudo cargar la preferencia de idioma del cliente:",
"saveError": "No se pudo actualizar la preferencia de idioma del cliente",
"cardDescription": "Establezca el idioma predeterminado para todos los contactos en {{clientName}}.",
"saveSuccess": "Idioma predeterminado para {{clientName}} contactos actualizado a {{language}}",
"thisClient": "cliente"
},
"clientQuickView": {
"notFound": "Cliente no encontrado",
"loadError": "No se pudieron cargar los detalles del cliente",
"unknownError": "algo salió mal"
},
"clientServiceOverlapMatrix": {
"title": "Matriz de superposición de servicios",
"description": "Esta matriz muestra qué servicios aparecen en múltiples líneas de contrato para este cliente.",
"showAllServices": "Mostrar todos los servicios",
"showOverlappingOnly": "Mostrar solo superposición",
"service": "Servicio",
"count": "Contar",
"serviceCountSuffix": "servicios)",
"legendTitle": "Leyenda de la matriz",
"legendIncluded": "El servicio está incluido en la línea del contrato (sin superposición)",
"legendOverlap": "El servicio está incluido en la línea del contrato (con superposición)",
"legendMultiple": "El servicio aparece en varias líneas de contrato.",
"noContractLines": "No hay líneas de contrato asignadas a este cliente",
"noOverlaps": "No se detectaron superposiciones de servicios para este cliente",
"loadError": "No se pudieron cargar los datos para la matriz de superposición del servicio al cliente",
"unknown": "Desconocido",
"countColumn": "Contar",
"legendMultipleLines": "El servicio aparece en varias líneas de contrato.",
"legendNoOverlap": "El servicio está incluido en la línea del contrato (sin superposición)",
"legendWithOverlap": "El servicio está incluido en la línea del contrato (con superposición)",
"loading": "Cargando matriz de superposición de servicios...",
"overlapCount": "{{count}} servicio(s)",
"overlapSummary": "aparecen en varias líneas de contrato para este cliente. Esta matriz muestra qué servicios están incluidos en cada línea.",
"overlapTooltip": "Este servicio aparece en múltiples líneas de contrato.",
"serviceColumn": "Servicio",
"unknownType": "Desconocido",
"unnamedPlan": "Plan sin nombre"
},
"clientSideDetails": {
"address": "Dirección:",
"phone": "Teléfono:",
"email": "Correo electrónico:",
"url": "URL:"
},
"clientTaxRates": {
"title": "Tasa impositiva predeterminada para el cliente",
"assignDefaultRate": "Asignar tasa predeterminada",
"createNewRate": "Crear nueva tasa impositiva",
"selectAssign": "Seleccione la tasa impositiva para asignar",
"selectChange": "Seleccionar nueva tarifa predeterminada",
"description": "Descripción:",
"region": "Región:",
"taxPercentage": "Porcentaje de impuestos:",
"noDefaultRate": "No se ha asignado ningún tipo impositivo predeterminado.",
"loadingRates": "Cargando tarifas...",
"loadingDetails": "Cargando detalles de impuestos...",
"assigning": "Asignando...",
"saveChange": "Guardar cambio",
"cancel": "Cancelar",
"change": "Cambiar",
"createDrawerDescription": "Ingrese los detalles de la nueva tasa impositiva.",
"createDrawerTitle": "Crear nueva tasa impositiva",
"loadingTaxDetails": "Cargando detalles de impuestos...",
"loadTaxRegionsError": "No se pudieron cargar las regiones fiscales.",
"na": "N/D",
"noDefaultAssigned": "No se ha asignado ningún tipo impositivo predeterminado.",
"noDescription": "Sin descripción",
"saving": "Guardando...",
"selectNewDefaultRate": "Seleccionar nueva tarifa predeterminada",
"selectRateToAssign": "Seleccione la tasa impositiva para asignar",
"taxRateCreatedSuccess": "Tasa impositiva creada exitosamente.",
"taxRateCreateError": "No se pudo crear la tasa impositiva: {{message}}",
"taxRateOption": "{{regionLabel}} - {{percentage}}% ({{description}})",
"unknownRegion": "Región desconocida"
},
"clientZeroDollarInvoiceSettings": {
"title": "Configuración de facturas de cero dólares",
"invoiceHandling": "Manejo de facturas",
"selectHandling": "Seleccione la opción de manejo",
"suppressEmptyInvoices": "Suprimir facturas vacías",
"suppressHelp": "Omitir la creación de facturas sin partidas individuales",
"createAsDraft": "Crear como borrador",
"createAndFinalize": "Crear y finalizar",
"useDefault": "Usar configuración predeterminada",
"useDefaultHelp": "Utilice la configuración predeterminada de todo el sistema para facturas de cero dólares",
"updated": "Se actualizó la configuración de la factura de cero dólares.",
"clientSpecificEnabled": "Configuraciones de factura de cero dólares específicas del cliente habilitadas.",
"handling": {
"finalized": "Crear y finalizar",
"normal": "Crear como borrador"
},
"handlingHelp": "Elija cómo se deben manejar las facturas de cero dólares cuando se generan",
"loadError": "No se pudo cargar la configuración",
"saveError": "No se pudo guardar la configuración",
"suppressEmptyHelp": "Omitir la creación de facturas sin partidas individuales",
"updatedSuccess": "Se actualizó la configuración de la factura de cero dólares.",
"updateError": "No se pudo actualizar la configuración",
"useDefaultSuccess": "El cliente ahora utilizará la configuración predeterminada de factura de cero dólares."
},
"clientsImportDialog": {
"title": "Importar Clientes",
"uploadDescription": "Subir un archivo CSV con los datos del cliente",
"mapFieldsTitle": "Asignar campos de cliente a columnas CSV",
"mapFieldsDescription": "Seleccione qué columna CSV contiene los datos para cada campo de cliente. Los campos marcados con * son obligatorios.",
"previewTitle": "Vista previa de importación",
"importComplete": "Importación completa",
"downloadTemplate": "Descargar plantilla CSV",
"replaceExisting": "Reemplazar datos de clientes existentes",
"skipInvalidRecords": "Saltar registros no válidos",
"continueOnValidationErrors": "Continuar la importación incluso si algunos registros tienen errores de validación",
"updateExisting": "Actualizar clientes existentes",
"clientFields": "Campos de cliente:",
"locationFields": "Campos de ubicación:",
"requiredHelp": "* Los campos obligatorios deben estar asignados para que la importación pueda continuar",
"recordsPrefix": "Está importando",
"recordsSuffix": "registros. El procesamiento puede tardar un momento.",
"validReady": "Válido - Listo para importar",
"invalidHasErrors": "No válido: tiene errores",
"notMapped": "No mapeado",
"selectCsvColumn": "Seleccionar columna CSV",
"selectField": "Seleccionar campo",
"required": "Requerido:",
"issues": "Problemas",
"status": "Estado",
"totalRecords": "Registros totales:",
"processing": "Procesando...",
"importing": "Importando...",
"clientNameRequired": "El nombre del cliente es obligatorio.",
"invalidEmail": "Formato de correo electrónico no válido",
"creditLimitNumber": "El límite de crédito debe ser un número.",
"clientField": "Campo de cliente",
"recordsMessage": "Estás importando registros {{count}}. El procesamiento puede tardar un momento.",
"updateExistingLabel": "Actualizar clientes existentes",
"exists": "Existe",
"email": "Correo electrónico",
"clientName": "Nombre del cliente",
"importCompleteMessage": "Clientes {{count}} importados correctamente",
"updateExistingTitle": "Actualizar clientes existentes",
"updateExistingMessage": "{{count}} clientes ya existen. ¿Quieres actualizarlos con los nuevos datos?"
},
"clientsList": {
"name": "Nombre",
"type": "Tipo",
"address": "Dirección",
"phone": "Teléfono",
"created": "Creado",
"accountManager": "Gerente de cuentas",
"tags": "Etiquetas",
"actions": "Acciones",
"openMenu": "Abrir menú",
"quickView": "Vista rápida",
"selectClient": "Seleccionar Cliente",
"defaultClient": "Cliente predeterminado",
"taxExempt": "Exento de impuestos",
"clickThisButton": "Haga clic en este botón",
"default": "Por defecto",
"taxExemptTooltip": "Este cliente está exento de impuestos: no se aplicarán impuestos a sus facturas.",
"url": "URL"
},
"contractLinePickerDialog": {
"addPlan": "Agregar plan",
"updatePlan": "Actualizar plan",
"contractLine": "Línea de contrato",
"serviceCategory": "Categoría de servicio",
"allCategories": "Todas las categorías",
"allCategoriesHelp": "Seleccionar 'Todas las categorías' significa que este plan se aplica independientemente de la categoría de servicio.",
"selectContractLine": "Seleccione una línea de contrato",
"selectCategory": "Seleccione categoría...",
"selectContractLinePlaceholder": "Seleccionar línea de contrato...",
"startDate": "Fecha de inicio",
"endDate": "Fecha de finalización",
"ongoing": "En curso",
"cancel": "Cancelar",
"title": "Seleccione una línea de contrato"
},
"contractLines": {
"title": "Líneas de contrato",
"addNewPlan": "Agregar nuevo plan",
"plan": "Plan",
"category": "Categoría",
"startDate": "Fecha de inicio",
"endDate": "Fecha de finalización",
"actions": "Acciones",
"selectAssignment": "Seleccionar asignación...",
"unknownCategory": "Categoría desconocida",
"unknownPlan": "Plan desconocido",
"removePlan": "Eliminar plan",
"allCategories": "Todas las categorias",
"assignmentLabel": "Asignación {{assignmentId}} • Contrato {{contractId}} ({{startDate}} → {{endDate}})",
"edit": "Editar",
"ongoing": "En curso",
"openMenu": "Abrir menú"
},
"serviceCatalog": {
"title": "Catálogo de servicios",
"addNewService": "Agregar nuevo servicio",
"serviceName": "Nombre del servicio",
"category": "Categoría",
"defaultRate": "Tasa predeterminada",
"unitOfMeasure": "Unidad de medida",
"deleteService": "Eliminar servicio",
"deleteConfirm": "¿Estás seguro de que deseas eliminar este servicio? Esta acción no se puede deshacer.",
"actions": "Acciones",
"delete": "Eliminar",
"deleteMessage": "¿Estás seguro de que deseas eliminar este servicio? Esta acción no se puede deshacer.",
"deleteTitle": "Eliminar servicio"
},
"taxRateCreateForm": {
"title": "Crear tasa impositiva",
"description": "Descripción",
"descriptionOptional": "Descripción (opcional)",
"startDate": "Fecha de inicio *",
"endDate": "Fecha de finalización (opcional)",
"percentage": "Porcentaje (%) *",
"taxRegion": "Región fiscal *",
"create": "Crear tasa impositiva",
"creating": "Creando...",
"validationHeader": "Por favor complete los campos requeridos:",
"regionsLoading": "Cargando regiones...",
"cancel": "Cancelar",
"descriptionLabel": "Descripción (opcional)",
"descriptionPlaceholder": "por ejemplo, impuesto estatal de California",
"endDateLabel": "Fecha de finalización (opcional)",
"loadingRegions": "Cargando regiones...",
"loadTaxRegionsError": "No se pudieron cargar las regiones fiscales.",
"percentageLabel": "Porcentaje (%) *",
"percentagePlaceholder": "por ejemplo, 8,25 *",
"regionLabel": "Región fiscal *",
"selectRegion": "Seleccionar región fiscal *",
"startDateLabel": "Fecha de inicio *",
"unknownError": "Se produjo un error desconocido",
"validation": {
"description": "Descripción",
"descriptionLength": "La descripción no puede exceder los 255 caracteres.",
"endDateAfterStart": "La fecha de finalización debe ser posterior a la fecha de inicio.",
"endDateValid": "La fecha de finalización debe ser una fecha válida.",
"percentage": "porcentaje",
"percentageMax": "El porcentaje del impuesto no puede exceder el 100%.",
"percentageNonNegative": "El porcentaje del impuesto no puede ser negativo.",
"percentageNumber": "El porcentaje de impuestos debe ser un número válido.",
"percentageRequired": "Se requiere porcentaje de impuesto",
"regionRequired": "Se requiere región fiscal",
"startDateRequired": "Se requiere fecha de inicio",
"startDateValid": "La fecha de inicio debe ser una fecha válida."
}
},
"taxSettingsForm": {
"title": "Configuración de cálculo de impuestos",
"description": "Configure cómo se calculan los impuestos para este cliente.",
"createDefault": "Crear configuración de impuestos predeterminada",
"goToBillingTaxSettings": "Vaya a Configuración de impuestos de facturación",
"taxExemptStatus": "Estado de exención de impuestos",
"taxExempt": "Exento de impuestos",
"taxExemptHelp": "Cuando esté habilitado, los impuestos no se aplicarán a las facturas de este cliente.",
"taxExemptionCertificate": "Certificado de exención de impuestos",
"certificatePlaceholder": "Número de certificado (opcional)",
"taxSource": "Fuente de impuestos",
"effectiveTaxSource": "Fuente tributaria efectiva:",
"reverseChargeApplicable": "Cargo inverso aplicable",
"reverseChargeHelp": "La inversión del cobro transfiere la responsabilidad fiscal al comprador (común en transacciones transfronterizas B2B).",
"noSettings": "No se encontraron configuraciones de impuestos para este cliente.",
"save": "Guardar configuración de impuestos",
"saveSuccess": "Configuración de impuestos actualizada correctamente",
"defaultCreatedSuccess": "La configuración de impuestos predeterminada se creó correctamente",
"taxExemptSuccess": "Estado de exención de impuestos actualizado correctamente",
"certificateSuccess": "Certificado de exención de impuestos actualizado exitosamente",
"saveError": "No se pudo actualizar la configuración de impuestos",
"defaultCreateError": "Error al crear la configuración de impuestos predeterminada",
"certificateLabel": "Certificado de exención de impuestos",
"certificateUpdatedSuccess": "Certificado de exención de impuestos actualizado exitosamente",
"certificateUpdateError": "No se pudo actualizar el certificado de exención de impuestos",
"createDefaultSettings": "Crear configuración de impuestos predeterminada",
"dismiss": "Descartar",
"fetchError": "Error al recuperar la configuración de impuestos",
"reverseCharge": "Cargo inverso aplicable",
"reverseChargeTooltip": "La inversión del cobro transfiere la responsabilidad fiscal al comprador (común en transacciones transfronterizas B2B).",
"saveTaxSettings": "Guardar configuración de impuestos",
"saving": "Guardando...",
"taxCalculationDescription": "Configure cómo se calculan los impuestos para este cliente.",
"taxCalculationSettings": "Configuración de cálculo de impuestos",
"taxExemptDescription": "Marque a este cliente como exento de impuestos y, opcionalmente, almacene un número de certificado.",
"taxExemptTooltip": "Cuando esté habilitado, los impuestos no se aplicarán a las facturas de este cliente.",
"taxExemptUpdatedSuccess": "Estado de exención de impuestos actualizado correctamente",
"taxExemptUpdateError": "No se pudo actualizar el estado de exención de impuestos",
"taxSourceExternal": "Externo",
"taxSourceHelp": "Administre las tasas impositivas predeterminadas del cliente en Configuración del cliente → Tasas impositivas y administre las tasas globales en Facturación → Configuración de impuestos.",
"taxSourceInternal": "Interno"
},
"clientNotesPanel": {
"title": "Notas e información rápida",
"initialNote": "Nota inicial",
"lastUpdated": "Última actualización:",
"save": "Guardar",
"retry": "Reintentar",
"loadError": "No se pudieron cargar las notas",
"unknownError": "Error desconocido",
"loadErrorTitle": "No se pudieron cargar las notas"
},
"actions": {
"cancel": "Cancelar",
"delete": "Eliminar",
"print": "Imprimir",
"printOptions": "Opciones de impresión",
"printSelected": "Imprimir seleccionados ({{count}})"
},
"clients": {
"locations": {
"buttons": {
"add": "Agregar ubicación",
"save": "Guardar ubicación"
},
"card": {
"addressHelper": "Dirección completa de esta ubicación",
"addressLabel": "Dirección",
"billingTag": "Facturación",
"delete": "Eliminar ubicación",
"edit": "Editar ubicación",
"emailHelper": "Dirección de correo electrónico para esta ubicación",
"emailLabel": "Correo electrónico",
"notesHelper": "Notas adicionales para esta ubicación",
"notesLabel": "Notas",
"phoneHelper": "Número de teléfono de esta ubicación",
"phoneLabel": "Teléfono",
"setDefault": "Establecer como predeterminado",
"shippingTag": "Envío",
"unnamed": "Ubicación sin nombre"
},
"dialog": {
"addTitle": "Agregar nueva ubicación",
"deleteMessage": "¿Está seguro de que desea eliminar la ubicación \"{{name}}\"? Esta acción no se puede deshacer.",
"deleteTitle": "Eliminar ubicación",
"editTitle": "Editar ubicación"
},
"empty": {
"description": "Haga clic en \"Agregar ubicación\" para comenzar",
"title": "Aún no se han agregado ubicaciones"
},
"errors": {
"delete": "No se pudo eliminar la ubicación",
"loadCountries": "No se pudieron cargar los países",
"loadLocations": "No se pudieron cargar las ubicaciones de los clientes",
"loadTaxRegions": "No se pudieron cargar las regiones impositivas",
"save": "No se pudo guardar la ubicación",
"setDefault": "No se pudo establecer la ubicación predeterminada"
},
"form": {
"addressLine1": "Dirección Línea 1",
"addressLine1Helper": "Línea de dirección principal (obligatoria)",
"addressLine2": "Línea de dirección 2",
"addressLine2Helper": "Información adicional de dirección (opcional)",
"addressLine3": "Línea de dirección 3",
"billingAddress": "Dirección de facturación",
"billingAddressHelper": "Utilice esta ubicación como dirección de facturación",
"city": "Ciudad",
"cityHelper": "Nombre de la ciudad (obligatorio)",
"country": "País",
"countryHelper": "Seleccione país (requerido)",
"defaultLocation": "Ubicación predeterminada",
"defaultLocationHelper": "Marcar esto como la ubicación predeterminada para el cliente.",
"email": "Correo electrónico",
"emailHelper": "Dirección de correo electrónico para esta ubicación",
"locationName": "Nombre de la ubicación",
"locationNameHelper": "Nombre de esta ubicación (por ejemplo, oficina principal, almacén)",
"notes": "Notas",
"notesHelper": "Notas adicionales sobre esta ubicación",
"phone": "Teléfono",
"phoneHelper": "Número de teléfono de esta ubicación",
"placeholder": {
"addressLine1": "Introduzca la dirección *",
"city": "Introduce ciudad *",
"country": "Seleccione País *",
"loadingCountries": "Cargando países...",
"locationName": "por ejemplo, oficina principal, almacén",
"taxRegion": "Seleccione una región fiscal...",
"taxRegionOption": "Seleccione una región fiscal..."
},
"postalCode": "Código Postal",
"postalCodeHelper": "ZIP o código postal",
"shippingAddress": "Dirección de envío",
"shippingAddressHelper": "Utilice esta ubicación como dirección de envío",
"stateProvince": "Estado/Provincia",
"stateProvinceHelper": "Nombre del estado o provincia",
"taxRegion": "Región fiscal",
"taxRegionHelper": "Seleccione la región fiscal aplicable"
},
"listTitle": "Ubicaciones",
"loading": "Cargando ubicaciones...",
"managerLabel": "Administrador de ubicaciones de clientes",
"success": {
"create": "Ubicación creada con éxito",
"delete": "Ubicación eliminada correctamente",
"setDefault": "Ubicación predeterminada actualizada",
"update": "Ubicación actualizada correctamente"
},
"validation": {
"title": "Por favor complete los campos requeridos:"
}
}
},
"clientsGrid": {
"itemLabel": "clientes",
"itemsPerPage18": "18 tarjetas/página",
"itemsPerPage27": "27 tarjetas/página",
"itemsPerPage36": "36 tarjetas/página",
"itemsPerPage9": "9 tarjetas/página"
},
"status": {
"error": "Error",
"saving": "Guardando...",
"success": "Éxito"
},
"notes": {
"messages": {
"saveSuccess": "Notas guardadas",
"saveFailed": "No se pudieron guardar las notas"
}
},
"interactions": {
"onlineMeeting": {
"downloadRecording": "Descargar grabación",
"join": "Unirse",
"noArtifacts": "Aún no hay grabaciones ni transcripciones disponibles.",
"recordingArtifact": "Grabación",
"refreshFailed": "Error al actualizar las grabaciones. Inténtelo de nuevo.",
"refreshRecordings": "Actualizar grabaciones",
"sectionTitle": "Reunión en línea",
"transcriptArtifact": "Transcripción",
"viewTranscript": "Ver transcripción"
},
"quickAdd": {
"teams": {
"attendees": {
"add": "Agregar",
"addContact": "Seleccionar contactos...",
"addUser": "Seleccionar usuarios internos...",
"badge": {
"clientLocation": "Ubicación del cliente",
"contact": "Contacto",
"email": "Correo electrónico",
"internal": "Interno"
},
"duplicateEmail": "Ese correo electrónico ya está en la lista de asistentes.",
"emailPlaceholder": "nombre@ejemplo.com",
"empty": "Aún no se han agregado asistentes.",
"helper": "Los asistentes reciben una invitación de calendario de Teams del organizador de la reunión.",
"invalidEmail": "Introduzca una dirección de correo electrónico válida.",
"label": "Asistentes",
"remove": "Quitar a {{name}}",
"tabs": {
"contacts": "Contactos",
"email": "Correo electrónico",
"users": "Usuarios"
}
},
"checkingCapability": "Comprobando la disponibilidad de reuniones de Teams...",
"createFailed": "Error al crear la reunión de Teams",
"createToggle": "Crear reunión de Teams",
"endRequired": "Se requiere la hora de finalización para crear una reunión de Teams",
"startRequired": "Se requiere la hora de inicio para crear una reunión de Teams",
"unavailable": "La creación de reuniones de Teams no está disponible para este inquilino."
}
},
"feed": {
"addInteraction": "Agregar interacción",
"allTypes": "Todos los tipos",
"applyFilters": "Aplicar filtros",
"endDate": "Fecha de fin",
"filter": "Filtrar",
"filterDialogTitle": "Filtrar interacciones",
"reset": "Restablecer",
"searchPlaceholder": "Buscar interacciones",
"startDate": "Fecha de inicio",
"title": "Interacciones",
"typePlaceholder": "Tipo de interacción"
},
"overall": {
"allContacts": "Todos los contactos",
"allStatuses": "Todos los estados",
"allUsers": "Todos los usuarios",
"byUser": "Por {{name}}",
"collapse": "Contraer interacciones recientes",
"contactsFromClient": "Contactos del cliente seleccionado",
"endTime": "Hora de finalización",
"endTimeLabel": "Hora de finalización de la interacción",
"endTimePlaceholder": "Filtrar hasta esta hora de finalización",
"expand": "Expandir interacciones recientes",
"startTime": "Hora de inicio",
"startTimeLabel": "Hora de inicio de la interacción",
"startTimePlaceholder": "Filtrar desde esta hora de inicio",
"statusPlaceholder": "Estado",
"title": "Interacciones recientes"
}
},
"clientDrawer": {
"loadFailed": "No se pudieron cargar los detalles del cliente.",
"loading": "Cargando...",
"notFound": "Cliente no encontrado."
},
"clientTabs": {
"assets": {
"columns": {
"assetTag": "Etiqueta de activo",
"details": "Detalles",
"location": "Ubicación",
"name": "Nombre",
"purchaseDate": "Fecha de compra",
"serialNumber": "Número de serie",
"status": "Estado",
"type": "Tipo",
"warrantyEnd": "Fin de garantía"
},
"details": {
"local": "Local",
"network": "Red",
"noIp": "Sin IP",
"none": "No hay detalles disponibles"
},
"drawerLoadError": "No se pueden cargar los detalles del activo en este momento. Inténtelo de nuevo.",
"expiredSuffix": "(Vencida)",
"filterByType": "Filtrar por tipo",
"inventory": {
"subtitle": "Gestione y supervise todos los activos del cliente",
"title": "Inventario de activos"
},
"loading": "Cargando activos...",
"loadingHint": "Espere mientras obtenemos sus datos",
"maintenanceTypes": {
"subtitle": "Desglose por categoría",
"title": "Tipos de mantenimiento"
},
"overview": {
"assetsWithMaintenance": "Activos con mantenimiento",
"coverageRate": "Tasa de cobertura",
"subtitle": "Estadísticas de mantenimiento",
"title": "Resumen de activos",
"totalSchedules": "Programas totales"
},
"summary": {
"activeBadge": "Activo",
"maintenanceRate": "Tasa de mantenimiento",
"needsAttention": "Requiere atención",
"overdueMaintenance": "Mantenimiento vencido",
"scheduledBadge": "Programado",
"totalAssets": "Activos totales",
"upcomingMaintenance": "Próximo mantenimiento"
},
"typePlaceholder": "Todos los tipos de activos...",
"types": {
"all": "Todos los tipos de activos",
"mobileDevice": "Dispositivo móvil",
"networkDevice": "Dispositivo de red",
"printer": "Impresora",
"server": "Servidor",
"workstation": "Estación de trabajo"
}
},
"tickets": {
"addTicket": "Agregar ticket",
"filters": {
"allAssignees": "Todos los asignados",
"allPriorities": "Todas las prioridades",
"categoryPlaceholder": "Filtrar por categoría",
"reset": "Restablecer",
"searchPlaceholder": "Buscar tickets...",
"statusPlaceholder": "Seleccionar estado"
},
"loadMore": {
"label": "Cargar más tickets",
"loading": "Cargando..."
},
"loading": "Cargando tickets...",
"title": "Tickets del cliente",
"toasts": {
"loadTicketFailed": "No se pudo cargar el ticket",
"openTicketFailed": "No se pudo abrir el ticket",
"userNotAuthenticated": "Usuario no autenticado"
}
}
}
}