import type { Messages } from './en' const plural = (n: number, one: string, many: string) => `${n} ${n === 1 ? one : many}` export const es: Messages = { language: { name: 'Español', switchTo: 'English' }, common: { cancel: 'Cancelar', optional: 'Opcional', loading: 'Cargando…', back: 'Volver', }, nav: { overview: 'Resumen', incidents: 'Incidentes', myActions: 'Mis acciones', locations: 'Ubicaciones', analytics: 'Análisis', osha: 'Registro OSHA', manage: 'Gestionar', reportIncident: 'Reportar un incidente', about: 'Acerca de', settings: 'Configuración', signOut: 'Cerrar sesión', openMenu: 'Abrir menú', closeMenu: 'Cerrar menú', workspace: 'Espacio de trabajo', searchIncidents: 'Buscar incidentes', }, auth: { signIn: 'Iniciar sesión', email: 'Correo electrónico', password: 'Contraseña', resetTitle: 'Restablecer la contraseña', linkCopy: 'Le enviaremos un enlace por correo para iniciar sesión.', resetCopy: 'Le enviaremos un enlace por correo para elegir una nueva contraseña.', sendLink: 'Enviarme un enlace de acceso', sendReset: 'Enviarme un enlace para restablecer', usePassword: 'Iniciar sesión con contraseña', useLink: 'Prefiero recibir un enlace por correo', forgot: '¿Olvidó su contraseña?', sent: 'Si ese correo pertenece a una cuenta, el enlace ya está en camino. Caduca pronto, así que úselo enseguida.', continueWithLink: 'Continúe para iniciar sesión con el enlace de su correo.', backToSignIn: 'Volver a iniciar sesión', choosePassword: 'Elija una contraseña', choosePasswordCopy: 'Establezca una contraseña para su cuenta. Después iniciará sesión automáticamente.', newPassword: 'Nueva contraseña', confirmPassword: 'Confirme la contraseña', atLeast10: 'Al menos 10 caracteres.', mismatch: 'Las contraseñas no coinciden.', savePassword: 'Guardar contraseña e iniciar sesión', }, report: { eyebrow: 'Nuevo reporte', title: 'Reportar un incidente', intro: 'Registre los hechos mientras están frescos. Los detalles de la investigación se pueden añadir después.', whatHappened: '¿Qué pasó?', whatHappenedCopy: 'Empiece con una descripción clara y objetiva.', incidentTitle: 'Título del incidente', titlePlaceholder: 'p. ej. Resbalón cerca del muelle de carga', type: 'Tipo de incidente', severity: 'Gravedad', when: 'Cuándo', description: '¿Qué pasó?', descriptionPlaceholder: 'Describa lo que observó, sin suposiciones...', where: '¿Dónde ocurrió?', whereCopy: 'Indique el lugar exacto para que se puedan ver patrones.', site: 'Planta', area: 'Edificio o área', notSpecified: 'Sin especificar', exactLocation: 'Lugar exacto', exactLocationPlaceholder: 'p. ej. Vestíbulo planta baja, Línea 3', fromQr: 'Ubicación tomada del código QR.', responseAndPhotos: 'Respuesta y fotos', responseAndPhotosCopy: 'Lo que se hizo de inmediato y fotos del lugar.', immediateResponse: 'Respuesta inmediata', immediateResponsePlaceholder: 'p. ej. Área aislada, supervisor avisado...', photos: 'Fotos', addPhotos: 'Añadir fotos', removePhoto: (name: string) => `Quitar ${name}`, anonymous: 'Reportar de forma anónima.', anonymousHelp: 'Su nombre no se guardará con este reporte y después no podrá encontrarlo en su lista.', submit: 'Enviar reporte', submitting: 'Enviando…', noSites: 'Todavía no hay plantas configuradas. Un gerente de seguridad debe añadir una planta antes de poder reportar incidentes.', addSite: 'Añadir una planta', queuedTitle: 'Guardado en este dispositivo', queuedCopy: 'No hay conexión, así que el reporte aún no se ha enviado. Se enviará automáticamente en cuanto haya conexión. Puede cerrar esta página.', reportAnother: 'Reportar otra cosa', photosFailed: (reference: string, details: string) => `El reporte ${reference} se guardó, pero algunas fotos no se subieron. ${details}`, }, kiosk: { heading: 'Reporte un problema de seguridad', intro: 'Peligros, casi accidentes, lesiones: cualquier cosa que pueda lastimar a alguien. No necesita una cuenta.', whatKind: '¿Qué tipo de problema?', howSerious: '¿Qué tan grave podría ser?', summary: 'En pocas palabras, ¿qué vio?', summaryPlaceholder: 'p. ej. Aceite en el piso junto a la prensa 4', details: '¿Algo más que debamos saber?', yourName: 'Su nombre', yourNameHelp: 'Déjelo en blanco para reportar de forma anónima.', send: 'Enviar reporte', sending: 'Enviando…', thanksTitle: 'Gracias', thanks: (reference: string) => `Su reporte ${reference} se envió al equipo de seguridad.`, thanksQueued: 'Su reporte está guardado en este dispositivo y se enviará en cuanto haya conexión.', resetIn: (seconds: number) => `Esta pantalla se reinicia en ${seconds} s.`, invalidLink: 'Este enlace de reporte no funciona. Pida uno nuevo a su equipo de seguridad.', }, actions: { eyebrow: 'Acciones correctivas', mine: 'Mis acciones', all: 'Todas las acciones', mineCopy: 'Acciones correctivas asignadas a usted. Márquelas como hechas cuando la solución esté en marcha.', allCopy: 'Todas las acciones correctivas de la organización.', filterOpen: 'Abiertas', filterOverdue: 'Vencidas', filterDone: 'Hechas', filterAll: 'Todas', assignedToMe: 'Asignadas a mí', everyone: 'Todos', nothingOpen: 'Nada pendiente. ¡Buen trabajo!', none: 'No hay acciones aquí.', due: (date: string) => `Vence ${date}`, noDueDate: 'Sin fecha límite', overdue: 'Vencida', unassigned: 'Sin asignar', statusOf: (title: string) => `Estado de ${title}`, }, outbox: { offline: 'Sin conexión. Los nuevos reportes se guardarán en este dispositivo y se enviarán al reconectarse.', waiting: (n: number) => `${plural(n, 'reporte pendiente', 'reportes pendientes')} de enviar`, sending: 'Enviando…', retry: 'Enviar ahora', otherUser: 'Guardado por otro usuario en este dispositivo', failed: (error: string) => `No se pudo enviar: ${error}`, discard: 'Descartar', discardConfirm: '¿Descartar este reporte sin enviar? No se puede deshacer.', signOutWarning: (n: number) => `${plural(n, 'reporte aún no se ha', 'reportes aún no se han')} enviado. Se enviarán la próxima vez que inicie sesión en este dispositivo. ¿Cerrar sesión de todos modos?`, }, qr: { caption: 'Escanee para reportar un peligro o casi accidente', }, types: { near_miss: 'Casi accidente', hazard: 'Peligro', injury: 'Lesión', illness: 'Enfermedad', property_damage: 'Daño a la propiedad', environmental: 'Ambiental', }, typeHints: { near_miss: 'Algo casi salió mal', hazard: 'Algo que podría lastimar a alguien', injury: 'Alguien se lastimó', illness: 'Alguien se enfermó por el trabajo', property_damage: 'Equipo o edificio dañado', environmental: 'Derrame, fuga o emisión', }, severities: { low: 'Baja', medium: 'Media', high: 'Alta', critical: 'Crítica' }, severityHints: { low: 'Menor, sin probabilidad de lesión', medium: 'Podría causar una lesión menor', high: 'Podría causar una lesión grave', critical: 'Podría poner en riesgo la vida', }, actionStatuses: { open: 'Abierta', in_progress: 'En curso', done: 'Hecha', verified: 'Verificada', cancelled: 'Cancelada' }, }