export const messages = { 'es-EC': { email_change_title: 'Cambiar correo', email_change_new: 'Correo nuevo', email_change_request: 'Solicitar cambio', email_change_requested: 'Solicitud creada', email_change_cancel: 'Cancelar solicitud', email_change_cancelled: 'Solicitud cancelada', email_change_requests: 'Solicitudes de cambio de correo', email_change_none: 'No hay solicitudes pendientes', email_change_approve: 'Aprobar', email_change_reject: 'Rechazar', email_change_reason: 'Motivo del rechazo', email_change_approved: 'Cambio aprobado', email_change_rejected: 'Cambio rechazado', email_change_approve_title: 'Aprobar mi cambio de correo', email_change_confirm_title: 'Confirmar correo nuevo', email_change_accept: 'Aceptar', email_change_self_approved: 'Aprobado. Revisa el correo nuevo para confirmarlo.', email_change_applied: 'Correo actualizado. Todas tus sesiones se cerraron. Inicia sesión con:', email_change_status_pending: 'Pendiente de aprobación', email_change_status_approved: 'Aprobada: revisa tu correo nuevo', email_change_status_rejected: 'Rechazada', email_change_status_cancelled: 'Cancelada', email_change_status_expired: 'Vencida', email_change_status_failed: 'Fallida', email_change_status_applied: 'Aplicada', clinic_status_cancelled: 'Cancelada', clinic_active: 'Activo', clinic_reprogram: 'Reprogramar', clinic_history: 'Historial de citas', clinic_cancel_confirm: 'Se cancelará la cita y quedará el motivo registrado.', clinic_delete_block: 'Eliminar bloqueo', clinic_delete_block_confirm: 'Se eliminará el bloqueo.', nav_clinic: 'Agenda médica', clinic_agenda: 'Agenda', clinic_patients: 'Pacientes', clinic_blocks: 'Bloqueos', clinic_config: 'Configuración de agenda', clinic_new_appointment: 'Nueva cita', clinic_new_patient: 'Nuevo paciente', clinic_new_block: 'Nuevo bloqueo', clinic_appointment: 'Cita', clinic_patient: 'Paciente', clinic_block: 'Bloqueo', clinic_view_day: 'Día', clinic_view_week: 'Semana', clinic_view_list: 'Agenda', clinic_view_month: 'Mes', clinic_no_doctors: 'Aún no hay médicos configurados en la agenda. Pide a un administrador que los registre.', clinic_no_doctors_admin: 'Aún no hay médicos configurados. Regístralos con su horario en la pestaña Configuración de agenda.', clinic_more: 'más', clinic_status_deleted: 'Eliminada', clinic_delete: 'Eliminar cita', clinic_delete_reason: 'Motivo de eliminación', clinic_delete_confirm: 'La cita se marcará como eliminada: deja de ocupar el horario, pero queda registrada con el motivo para la trazabilidad.', clinic_deleted_notice: 'Cita eliminada: se conserva solo para consulta.', clinic_created_by: 'Agendado por', clinic_cancelled_by: 'Cancelada por', clinic_deleted_by: 'Eliminada por', clinic_ai_agent: 'Agente IA', clinic_doctors: 'Médicos', clinic_doctor: 'Médico', clinic_status: 'Estado', clinic_status_scheduled: 'Programada', clinic_status_confirmed: 'Confirmada', clinic_status_attended: 'Atendida', clinic_status_no_show: 'No asistió', clinic_search_patient: 'Buscar por nombre, cédula o teléfono', clinic_type: 'Tipo de cita', clinic_channel: 'Canal', clinic_channel_phone: 'Teléfono', clinic_channel_whatsapp: 'WhatsApp', clinic_channel_in_person: 'Presencial', clinic_channel_other: 'Otro', clinic_notes: 'Notas', clinic_available: 'Huecos disponibles', clinic_confirm: 'Confirmar', clinic_cancel: 'Cancelar cita', clinic_cancel_reason: 'Motivo de cancelación', clinic_affected: 'Citas afectadas; hay que reprogramarlas', clinic_confirm_affected: 'Confirmar bloqueo', clinic_first_names: 'Nombres', clinic_last_names: 'Apellidos', clinic_identification: 'Cédula / identificación', clinic_phone: 'Teléfono', clinic_email: 'Correo', clinic_birth_date: 'Nacimiento', clinic_kind: 'Clase', clinic_kind_surgery: 'Quirófano', clinic_kind_vacation: 'Vacaciones', clinic_kind_other: 'Otro', clinic_title: 'Título', clinic_staff: 'Personal', clinic_user_id: 'ID de usuario', clinic_scope_all: 'Recepción (todos)', clinic_scope_own: 'Médico (propia)', clinic_is_doctor: 'Es médico', clinic_specialty: 'Especialidad', clinic_color: 'Color', clinic_types: 'Tipos de cita', clinic_new_type: 'Nuevo tipo', clinic_name: 'Nombre', clinic_duration: 'Duración (minutos)', clinic_schedules: 'Horario de atención', calendar_layer_clinic: 'Citas médicas', nav_calendar: 'Calendario', calendar_date: 'Fecha', notification_meeting_created: 'Nueva reunión', notification_meeting_updated: 'Reunión modificada', notification_meeting_cancelled: 'Reunión cancelada', notification_meeting_occurrence_cancelled: 'Ocurrencia cancelada', notification_meeting_reminder: 'Recordatorio de reunión', notification_meeting_rsvp_accepted: 'Aceptó la reunión', notification_meeting_rsvp_declined: 'Rechazó la reunión', notification_meeting_rsvp_tentative: 'Respondió quizás', calendar_today: 'Hoy', calendar_previous: 'Anterior', calendar_next: 'Siguiente', calendar_month: 'Mes', calendar_week: 'Semana', calendar_day: 'Día', calendar_agenda: 'Agenda', calendar_new: 'Nueva reunión', calendar_open: 'Abrir', calendar_show_due: 'Mostrar vencimientos de actividades', calendar_legend: 'Capas del calendario', calendar_layer_meetings: 'Reuniones', calendar_layer_activities: 'Mis actividades', calendar_layer_recurring: 'Tareas recurrentes', calendar_overdue: 'Vencido', calendar_layer_projects: 'Proyectos', calendar_layer_tasks: 'Mis tareas', calendar_only: 'Solo', calendar_show_all: 'Ver todo', calendar_filter_origin: 'Ver', calendar_filter_types: 'Mostrar', calendar_all_types: 'Todo', calendar_no_types: 'Nada seleccionado', calendar_origin_all: 'Todo (mío y compartido)', calendar_origin_mine: 'Solo lo mío', calendar_origin_shared: 'Compartido conmigo', calendar_due: 'Vence', calendar_empty: 'No hay eventos en este período', calendar_title: 'Título', calendar_description: 'Descripción', calendar_start: 'Inicio', calendar_end: 'Fin', calendar_all_day: 'Todo el día', calendar_location: 'Ubicación', calendar_video_url: 'Enlace de videollamada', calendar_project: 'Proyecto', calendar_organizer: 'Organizador', calendar_reminder: 'Recordatorio', calendar_none: 'Ninguno', calendar_one_day: 'Un día antes', calendar_minutes: 'minutos', calendar_participants: 'Participantes internos', calendar_external: 'Correos externos', calendar_add: 'Agregar', calendar_invalid_email: 'Correo inválido o límite de 50 participantes', calendar_recurrence: 'Repetición', calendar_daily: 'Diaria', calendar_weekly: 'Semanal', calendar_monthly: 'Mensual', calendar_interval: 'Cada', calendar_count: 'Número de ocurrencias', calendar_until: 'Hasta la fecha', calendar_mon: 'Lun', calendar_tue: 'Mar', calendar_wed: 'Mié', calendar_thu: 'Jue', calendar_fri: 'Vie', calendar_sat: 'Sáb', calendar_sun: 'Dom', calendar_rsvp_pending: 'Pendiente', calendar_rsvp_accepted: 'Aceptar', calendar_rsvp_declined: 'Rechazar', calendar_rsvp_tentative: 'Quizás', calendar_conflicts: 'Hay participantes con otra reunión a la misma hora', calendar_save_anyway: 'Confirmar y guardar', calendar_cancel: 'Cancelar reunión', calendar_cancel_occurrence: 'Cancelar esta ocurrencia', calendar_cancel_confirm: 'Se cancelará la serie y se avisará a los participantes.', calendar_cancel_occurrence_confirm: 'Se cancelará esta ocurrencia y se avisará a los participantes.', calendar_cancelled: 'Reunión cancelada', appName: 'LinkedCorp Proyectos', nav_dashboard: 'Panel', user_modules: 'Módulos', user_modules_hint: 'Marca los módulos que este usuario puede usar. Lo que no esté marcado no aparece en su menú y el sistema le niega el acceso.', user_modules_saved: 'Módulos actualizados. El usuario verá el cambio al recargar.', dashboard_no_projects_module: 'Bienvenido. Usa el menú de la izquierda para ir a los módulos que tienes habilitados.', config_ai: 'Inteligencia artificial (IA)', ai_not_configured: 'La IA no está configurada: carga una clave de API de Anthropic para habilitar las funciones con IA.', ai_hint: 'La clave se guarda cifrada y nunca sale del servidor. Haiku es el modelo más económico; Sonnet da mejores resultados con mayor costo.', ai_api_key: 'Clave de API (Anthropic)', ai_key_configured_hint: 'Hay una clave guardada. Déjalo vacío para conservarla.', ai_model: 'Modelo', ai_model_haiku: 'Claude Haiku 5.5 (económico)', ai_model_sonnet: 'Claude Sonnet 5.5 (mejor calidad)', ai_test: 'Probar conexión', ai_testing: 'Probando...', ai_test_success: 'Conexión correcta con la IA', ai_plan_button: 'Plan con IA', ai_plan_title: 'Plan de actividades con IA', ai_plan_hint: 'La IA propone actividades y tareas a partir del nombre, descripción y objetivo del proyecto. Puedes agregar indicaciones. Revisarás la propuesta antes de crear nada.', ai_plan_description: 'Indicaciones (opcional)', ai_plan_placeholder: 'Ej.: migrar 40 buzones a Microsoft 365 en 6 semanas, con capacitación a usuarios', ai_plan_generate: 'Generar propuesta', ai_plan_generating: 'Generando...', ai_plan_review: 'Desmarca lo que no quieras. Las actividades se crean encadenadas desde hoy, con prioridad media; luego puedes editarlas.', ai_plan_days: 'días', ai_busy_generating: 'La IA está preparando la propuesta...', ai_busy_hint: 'Suele tardar entre 5 y 30 segundos. No cierres esta ventana.', ai_busy_creating: 'Creando actividades y tareas...', ai_plan_day: 'día', ai_plan_apply: 'Crear seleccionadas', ai_plan_creating: 'Creando...', ai_plan_back: 'Volver', ai_plan_created: 'Actividades creadas', ai_new_project_button: 'Nuevo con IA', ai_new_project_title: 'Nuevo proyecto con IA', ai_new_project_objective: '¿Qué proyecto quieres emprender? Describe su objetivo', ai_new_project_min_chars: 'caracteres mínimos', ai_new_project_placeholder: 'Ej.: implementar una mesa de ayuda para que los usuarios reporten incidencias de TI con seguimiento y tiempos de respuesta', ai_new_project_start: 'Fecha de inicio', ai_new_project_fixed: 'El proyecto se crea en estado Planificado, contigo como responsable y único miembro. La IA propone el nombre, las actividades y sus tareas; podrás revisarlos antes de crear.', ai_new_project_type: 'Tipo', ai_similar_actividad: 'actividad', ai_similar_tarea: 'tarea', ai_similar_in: 'en', ai_new_project_similar: 'Esto ya existe o se parece a trabajo existente; revisa antes de crear (se abre en otra pestaña):', ai_new_project_goal: 'Objetivo', ai_new_project_desc: 'Descripción', ai_new_project_end: 'Fin estimado', ai_new_project_review: 'Desmarca las actividades que no quieras. Puedes cambiar el nombre aquí o después en el proyecto.', ai_new_project_create: 'Crear proyecto', ai_usage_title: 'Consumo por usuario', ai_usage_month: 'Este mes', ai_usage_all: 'Todo', ai_usage_user: 'Usuario', ai_usage_calls: 'Consultas', ai_usage_input: 'Tokens entrada', ai_usage_output: 'Tokens salida', ai_usage_cost: 'Costo (USD)', ai_usage_last: 'Último uso', ai_usage_total: 'Total', ai_usage_hint: 'costo estimado; el monto exacto está en la consola de Anthropic.', ai_usage_empty: 'Todavía no hay consumo registrado.', ai_report_button: 'Informe con IA', ai_report_title: 'Informe de estado', ai_report_busy: 'La IA está redactando el informe...', ai_report_date: 'Generado', ai_report_health: 'Estado general', ai_report_summary: 'Resumen', ai_report_achievements: 'Avances', ai_report_delays: 'Atrasos', ai_report_risks: 'Riesgos', ai_report_next: 'Próximos pasos', ai_report_disclaimer: 'Redactado por IA a partir de los datos del sistema; revísalo antes de enviarlo.', ai_report_copy: 'Copiar', ai_report_download: 'Descargar .txt', ai_report_regenerate: 'Volver a generar', ai_report_copied: 'Informe copiado al portapapeles', ai_report_copy_failed: 'No se pudo copiar; usa Descargar.', ai_health_en_curso: 'En curso', ai_health_en_riesgo: 'En riesgo', ai_health_atrasado: 'Atrasado', ai_health_completado: 'Completado', ai_health_sin_iniciar: 'Sin iniciar', nav_projects: 'Proyectos', nav_organization: 'Organizacion', nav_config: 'Configuracion', login_title: 'Iniciar sesion', login_email: 'Correo', login_password: 'Clave', login_submit: 'Entrar', login_error: 'Credenciales invalidas', login_forgot_password: '¿Olvidaste tu contraseña?', login_create_account: 'Crear cuenta', logout: 'Cerrar sesion', register_title: 'Crear cuenta', register_name: 'Nombre completo', register_password_confirm: 'Confirmar clave', register_password_mismatch: 'Las claves no coinciden', register_password_short: 'La clave debe tener al menos 8 caracteres', register_submit: 'Registrarme', register_success: 'Cuenta creada. Revisa tu correo para confirmarla; luego un administrador debe aprobarla antes de que puedas entrar.', register_back_to_login: 'Volver a iniciar sesion', verify_email_title: 'Verificar correo', verify_email_success: 'Correo confirmado. Tu cuenta esta pendiente de aprobacion por un administrador.', verify_email_missing_token: 'Enlace invalido: falta el token de verificacion.', accept_invite_title: 'Completar registro', accept_invite_hint: 'Te invitaron a un proyecto. Elige tu nombre y una clave para crear tu cuenta.', accept_invite_submit: 'Crear mi cuenta', accept_invite_missing_token: 'Enlace invalido: falta el token de invitacion.', forgot_password_title: 'Recuperar clave', forgot_password_submit: 'Enviar instrucciones', forgot_password_sent: 'Si el correo existe, te enviamos instrucciones para recuperar tu clave.', reset_password_title: 'Elegir nueva clave', reset_password_new: 'Clave nueva', reset_password_submit: 'Guardar clave', reset_password_success: 'Clave actualizada. Redirigiendo a iniciar sesion...', change_password_title: 'Cambiar clave', change_password_current: 'Clave actual', change_password_success: 'Clave actualizada correctamente.', user_status_pending_verification: 'Pendiente de verificar correo', user_status_pending_approval: 'Pendiente de aprobacion', user_status_active: 'Activo', user_status_invited: 'Invitacion pendiente', user_approve: 'Aprobar', user_reject: 'Rechazar', user_approve_title: 'Aprobar usuario', user_reject_confirm_msg: '¿Seguro que deseas rechazar esta solicitud de registro? Se eliminara permanentemente.', user_resend: 'Reenviar correo', user_resend_sent: 'Correo reenviado', config_company: 'Empresa', company_name: 'Nombre de la empresa', company_logo: 'Logo', company_logo_hint: 'PNG, JPG o WEBP. Se usa en el menu lateral y en las pantallas de acceso.', company_logo_none: 'Sin logo', company_logo_choose: 'Elegir imagen', config_smtp: 'Correo (SMTP)', config_smtp_superadmin_only: 'Solo el superadministrador puede configurar el correo del sistema.', smtp_host: 'Servidor (host)', smtp_port: 'Puerto', smtp_user: 'Usuario', smtp_from: 'Remitente', smtp_pass: 'Clave', smtp_pass_configured_hint: 'Configurada — dejar en blanco para no cambiarla', smtp_not_configured: 'Sin configurar: los correos se registran en el log del servidor (modo dev), no se envian de verdad.', smtp_test_title: 'Probar configuracion', smtp_test_hint: 'Envia un correo de verdad con los datos de arriba (guardados o no) para confirmar que funcionan antes de confiar en ellos.', smtp_test_to: 'Enviar prueba a', smtp_test_send: 'Enviar prueba', smtp_test_sending: 'Enviando...', smtp_test_success: 'Correo de prueba enviado correctamente a', config_updater: 'Actualizaciones', updater_check: 'Buscar actualizaciones', updater_current_version: 'Versión instalada:', updater_up_to_date: 'Estás en la última versión disponible.', updater_available: 'Actualización disponible', updater_restart_required: 'Esta actualización requiere reiniciar el sistema — coordina con tu administrador antes de aplicarla.', updater_has_migrations: 'Incluye cambios en la base de datos (migraciones nuevas).', updater_criticality_alta: 'Alta', updater_criticality_media: 'Media', updater_criticality_baja: 'Baja', updater_rollback_hint: 'Antes de actualizar, respalda la base de datos. Si algo sale mal, restaura ese respaldo y vuelve al commit anterior a esta actualización en el historial de Gitea.', updater_apply: 'Actualizar', updater_applying: 'Actualizando…', updater_apply_confirm_title: 'Aplicar actualización', updater_apply_confirm_msg: 'Se va a respaldar la base de datos, descargar el código nuevo, aplicar migraciones si las hay, y reiniciar el sistema. Puede tardar unos minutos y la app quedará momentáneamente fuera de servicio. Vas de', updater_apply_confirm_ok: 'Sí, actualizar', updater_apply_started: 'Actualización iniciada. El sistema se reiniciará en unos minutos.', updater_applying_hint: 'Actualización en curso — no cierres esta pestaña. El sistema se reiniciará solo al terminar.', updater_apply_timeout: 'La actualización está tardando más de lo esperado. Revisa el estado en unos minutos o verifica el servidor.', updater_apply_failed: 'La actualización falló. Revisa el registro del actualizador en el servidor.', updater_phase_backup: 'Respaldando la base de datos…', updater_phase_source: 'Descargando el código nuevo…', updater_phase_backend: 'Instalando backend y aplicando migraciones…', updater_phase_frontend: 'Instalando y compilando frontend…', updater_phase_publish: 'Publicando frontend…', updater_phase_restart: 'Reiniciando servicios…', updater_phase_verify: 'Comprobando ambas versiones…', updater_retry_check: 'Reintentar comprobación', updater_reload: 'Recargar página', updater_apply_not_configured: 'La auto-actualización no está habilitada en este servidor. Pide a tu administrador que aplique esta actualización por SSH.', updater_login_popup_title: 'Hay una actualización pendiente', updater_login_popup_msg: 'El sistema tiene una versión nueva disponible:', updater_login_popup_go: 'Ver actualizaciones', config_error_logs: 'Errores del sistema', error_logs_clear: 'Limpiar registro', error_logs_clear_confirm_msg: '¿Seguro que deseas borrar todo el historial de errores registrados? No se puede deshacer.', error_logs_empty: 'No hay errores registrados.', error_logs_source: 'Origen', error_logs_severity: 'Severidad', error_logs_severity_alta: 'Alta', error_logs_severity_media: 'Media', error_logs_severity_baja: 'Baja', password_show: 'Mostrar clave', password_hide: 'Ocultar clave', common_new: 'Nuevo', common_edit: 'Editar', common_save: 'Guardar', common_cancel: 'Cancelar', common_accept: 'Aceptar', common_delete: 'Eliminar', common_close: 'Cerrar', common_search: 'Buscar...', common_select: 'Seleccionar', common_actions: 'Acciones', common_search_no_results: 'Sin resultados', common_actions: 'Acciones', common_view: 'Ver', common_yes: 'Si', common_no: 'No', common_or: 'o', common_loading: 'Cargando...', common_empty: 'No hay datos para mostrar', common_confirm_delete_title: 'Confirmar eliminacion', common_confirm_delete_msg: '¿Seguro que deseas eliminar este elemento? Esta accion no se puede deshacer.', common_saved: 'Cambios guardados', common_error: 'Ocurrio un error', common_name: 'Nombre', common_description: 'Descripcion', common_status: 'Estado', common_priority: 'Prioridad', common_responsible: 'Responsable', common_department: 'Departamento', common_active: 'Activo', common_inactive: 'Inactivo', common_all: 'Todos', theme_light: 'Claro', theme_dark: 'Oscuro', lang_es: 'Espanol', lang_en: 'Ingles', button_mode_icon_text: 'Icono + texto', button_mode_icon: 'Solo icono', button_mode_text: 'Solo texto', dashboard_title: 'Panel principal', dashboard_active_projects: 'Proyectos activos', dashboard_overdue_projects: 'Proyectos atrasados', dashboard_due_soon_projects: 'Proximos a vencer', dashboard_pending_activities: 'Actividades pendientes', dashboard_overdue_activities: 'Actividades vencidas', dashboard_today_activities: 'Para hoy', dashboard_average_progress: 'Avance promedio', common_of: 'de', draft_leave_title: 'Cambios sin guardar', draft_leave_msg: 'Vas a salir de una sección con cambios que todavía no guardaste:', draft_leave_hint: 'Si los dejas pendientes, se conservan en este navegador y se reabre la edición al volver.', draft_discard: 'Descartar cambios', draft_keep_pending: 'Dejar pendiente', draft_keep_editing: 'Seguir editando', draft_pending_mark: 'Cambios sin guardar', draft_field_modified: 'modificado', draft_restored_msg: 'Se recuperaron cambios que no habías guardado. Revisa y guarda, o descártalos.', draft_conflict_title: 'El registro cambió', draft_conflict_reload_msg: 'El registro cambió en el servidor. Recarga para revisar la versión actual antes de guardar. Tus cambios pendientes se conservarán.', draft_conflict_reload: 'Descartar y recargar', draft_conflict_msg: 'Este registro cambió en el servidor desde que empezaste a editarlo. Si guardas tus cambios pendientes, reemplazarás esos cambios.', draft_conflict_save_msg: 'Este registro cambió en el servidor desde que empezaste a editarlo (otra persona u otra pestaña). ¿Quieres sobrescribirlo con tus cambios?', draft_conflict_overwrite: 'Sobrescribir', draft_keep_mine: 'Mantener mis cambios', draft_use_server: 'Descartar mis cambios', session_expired_login_msg: 'Tu sesión venció. Inicia sesión otra vez para volver a donde estabas; los cambios sin guardar se conservaron.', session_revoked_login_msg: 'Tu sesión fue cerrada desde otro dispositivo o por un administrador. Inicia sesión otra vez para volver a donde estabas.', account_title: 'Mi cuenta', account_tab_profile: 'Perfil', account_tab_preferences: 'Preferencias', account_tab_security: 'Seguridad', account_tab_sessions: 'Sesiones activas', account_language: 'Idioma', account_theme: 'Tema', account_buttons: 'Apariencia de botones', change_password_sessions_closed: 'Clave actualizada. Se cerraron las demás sesiones.', sessions_title: 'Sesiones', sessions_device: 'Navegador y sistema', sessions_ip: 'IP', sessions_started: 'Inicio', sessions_seen: 'Última actividad', sessions_current: 'Esta sesión', sessions_close: 'Cerrar sesión', sessions_close_others: 'Cerrar todas las demás', sessions_close_all: 'Cerrar todas', sessions_confirm: '¿Quieres cerrar esta sesión?', sessions_confirm_all: '¿Quieres cerrar estas sesiones?', sessions_closed: 'Sesiones cerradas.', sessions_refresh: 'Actualizar', sessions_unknown: 'Desconocido', dashboard_cards: 'Tarjetas', dashboard_no_cards: 'No hay tarjetas seleccionadas. Elige cuáles mostrar en "Tarjetas".', dashboard_projects_by_status: 'Proyectos por estado', projects_title: 'Proyectos', project_page_range: 'Mostrando', project_page_of: 'de', project_page_previous: 'Anterior', project_page_next: 'Siguiente', draft_conflict_check_failed: 'No se pudo comprobar la versión actual. Intenta de nuevo.', project_code: 'Codigo', project_new: 'Nuevo proyecto', project_objective: 'Objetivo', project_type: 'Tipo de proyecto', project_owner: 'Responsable', project_start_date: 'Fecha de inicio', project_estimated_end_date: 'Fin estimado', project_actual_end_date: 'Fin real', project_progress: 'Avance', project_shared_with: 'Compartido con', project_requesting_department: 'Departamento solicitante', project_responsible_department: 'Departamento responsable', project_risk: 'Riesgo', project_notes: 'Observaciones', project_members: 'Miembros', project_members_owner_only_hint: 'Solo el dueño del proyecto puede compartirlo y cambiar permisos.', project_add_member: 'Compartir proyecto', project_add_member_role: 'Permiso', project_role_owner: 'Dueño', project_role_read: 'Lectura', project_role_write: 'Escritura', project_invite_email: 'Invitar por correo', project_invite_email_hint: 'Si el correo no pertenece a nadie todavia, se le manda un enlace para que complete su registro y se una al proyecto.', project_invite_sent: 'Invitacion enviada por correo', project_created_at: 'Creado', project_updated_at: 'Actualizado', project_deleted_at: 'Eliminado', project_filter_due_soon: 'Solo próximos a vencer (7 días)', project_filter_progress: 'Avance', project_filter_progress_hide: 'Ocultar 100%', project_filter_progress_only: 'Solo 100%', nav_recurring_tasks: 'Tareas recurrentes', nav_notes: 'Notas', nav_passwords: 'Contraseñas', nav_devices: 'Equipos', eq_installer_title: 'Instalador para Windows', eq_installer_row_hint: 'También puedes descargarlo con el ícono de cada token de la lista.', eq_token_no_secret: 'Token anterior: no se puede recuperar, genera uno nuevo', eq_installer_hint: 'Descarga un instalador (.bat) con el servidor y el token ya configurados: se ejecuta con doble clic en el equipo, sin configurar nada más.', eq_installer_token: 'Token (se llena solo al generar uno)', eq_installer_tag: 'Etiqueta opcional (ej. Contabilidad)', eq_installer_download: 'Descargar instalador', eq_installer_note: 'El .bat contiene el token: compártelo solo con quien instale. Descarga el agente oficial de GitHub; si el equipo no tiene internet, copia el .msi junto al .bat.', eq_tab_share: 'Compartir', eq_share_title: 'Compartir el menú Equipos', eq_share_hint: 'Da acceso de solo lectura (Resumen, Equipos y Software) a usuarios que por su rol no lo ven. No podrán editar, ver agentes ni compartir.', eq_share_pick: 'Elegir usuario...', eq_share_add: 'Dar acceso', eq_share_empty: 'Aún no has compartido Equipos con nadie.', eq_share_role: 'Rol', eq_share_since: 'Acceso desde', eq_share_remove: 'Quitar acceso', eq_share_remove_title: 'Quitar acceso a Equipos', eq_share_remove_msg: 'dejará de ver el menú Equipos.', eq_tab_users: 'Usuarios', eq_users_session: 'Con sesión iniciada', eq_users_local_count: 'Usuarios locales (total)', eq_groups_local_count: 'Grupos locales (total)', eq_users_local: 'Usuarios locales de Windows', eq_groups_local: 'Grupos locales', eq_users_hint: 'Solo cuentas locales del equipo: no incluye usuarios de dominio ni de Microsoft 365, e incluye cuentas de sistema o de programas. Los grupos no indican a qué usuario pertenecen.', eq_tab_summary: 'Resumen', eq_show_components: 'Mostrar actualizaciones, drivers y componentes del sistema', eq_tab_devices: 'Equipos', eq_tab_software_all: 'Software', eq_tab_agents: 'Agentes', eq_tab_general: 'General', eq_tab_hardware: 'Hardware', eq_tab_network: 'Red', eq_tab_software: 'Software', eq_tab_history: 'Historial', eq_detail: 'Detalle del equipo', eq_empty: 'Aún no hay equipos. Instala el agente GLPI en un equipo apuntando a este sistema (pestaña Agentes).', eq_hostname: 'Nombre', eq_kind: 'Tipo', eq_kind_desktop: 'PC de escritorio', eq_kind_laptop: 'Portátil', eq_kind_server: 'Servidor', eq_kind_virtual: 'Máquina virtual', eq_kind_printer: 'Impresora', eq_kind_network: 'Equipo de red', eq_kind_other: 'Otro', eq_status_active: 'Activo', eq_status_retired: 'De baja', eq_manufacturer_model: 'Marca y modelo', eq_manufacturer: 'Fabricante', eq_model: 'Modelo', eq_serial: 'N.º de serie', eq_os: 'Sistema operativo', eq_domain: 'Dominio', eq_last_user: 'Último usuario', eq_ip: 'IP', eq_first_seen: 'Primer reporte', eq_last_seen: 'Último reporte', eq_agent: 'Versión del agente', eq_assigned_to: 'Asignado a', eq_notes: 'Notas', eq_cpu: 'Procesador', eq_ram: 'Memoria RAM', eq_disk_total: 'Almacenamiento', eq_disk_max_used: 'volumen más lleno', eq_memories: 'Módulos de memoria', eq_disks: 'Discos físicos', eq_volumes: 'Volúmenes', eq_monitors: 'Monitores', eq_slot: 'Ranura', eq_capacity: 'Capacidad', eq_type: 'Tipo', eq_speed: 'Velocidad', eq_mount: 'Unidad', eq_fs: 'Sistema de archivos', eq_free: 'Libre', eq_adapter: 'Adaptador', eq_mask: 'Máscara', eq_gateway: 'Puerta de enlace', eq_version: 'Versión', eq_versions: 'Versiones', eq_publisher: 'Editor', eq_installed_on: 'Equipos', eq_when: 'Fecha', eq_change: 'Cambio', eq_field: 'Campo', eq_before: 'Antes', eq_after: 'Después', eq_history_empty: 'Sin cambios registrados entre reportes.', eq_change_field: 'Dato modificado', eq_change_disk_added: 'Disco agregado', eq_change_disk_removed: 'Disco retirado', eq_change_software_installed: 'Software instalado', eq_change_software_removed: 'Software desinstalado', eq_kpi_total: 'Equipos activos', eq_kpi_stale: 'Sin reportar (+7 días)', eq_kpi_disk_full: 'Disco ≥ 90% lleno', eq_kpi_low_ram: 'RAM menor a 4 GB', eq_by_os: 'Por sistema operativo', eq_by_kind: 'Por tipo', eq_top_software: 'Software más instalado', eq_agent_setup: 'Conectar un agente GLPI', eq_agent_setup_hint: 'En el archivo de configuración del agente (o en el instalador) usa esta dirección como servidor:', eq_agent_setup_auth: 'Autenticación: usuario cualquiera y, como contraseña, el token generado abajo.', eq_token_label: 'Etiqueta del token (ej. Oficina central)', eq_token_new: 'Generar token', eq_token_created: 'Token generado para', eq_token_once: 'Cópialo ahora: no se vuelve a mostrar. En el sistema solo queda su huella cifrada.', eq_token_last_used: 'Último uso', eq_token_created_by: 'Creado por', eq_token_enable: 'Activar', eq_token_disable: 'Desactivar', eq_token_delete_msg: 'Los agentes que usen este token dejarán de poder reportar. ¿Eliminarlo?', eq_copied: 'Copiado', vault_pin_label: 'PIN (4 números)', vault_pin_confirm_label: 'Confirmar PIN', vault_pin_current_label: 'PIN actual', vault_pin_invalid: 'El PIN debe ser de 4 números', vault_pin_mismatch: 'Los PIN no coinciden', vault_create_pin_title: 'Crear PIN de acceso', vault_create_pin_hint: 'Este PIN protege el acceso a tus contraseñas guardadas. Vas a necesitarlo cada vez que entres a esta sección.', vault_create_pin_submit: 'Crear PIN y entrar', vault_enter_pin_title: 'Ingresa tu PIN', vault_unlock: 'Desbloquear', vault_forgot_pin: '¿Olvidaste tu PIN?', vault_forgot_pin_sent: 'Te enviamos un correo para restablecer tu PIN. Tus contraseñas guardadas no se ven afectadas.', vault_change_pin: 'Cambiar PIN', vault_reset_pin_title: 'Restablecer PIN', vault_reset_pin_submit: 'Guardar PIN nuevo', vault_reset_pin_success: 'Tu PIN fue actualizado. Tus contraseñas guardadas siguen intactas.', vault_new_entry: 'Nueva credencial', vault_field_title: 'Nombre', vault_field_url: 'Enlace', vault_field_username: 'Usuario', vault_field_password: 'Contraseña', vault_field_notes: 'Notas', vault_field_icon: 'Ícono', vault_icon_auto: 'Automático (inicial del nombre)', vault_icon_more: 'Más íconos (marcas conocidas)', vault_icon_less: 'Ocultar íconos de marca', vault_password_unchanged_hint: 'Dejar en blanco para no cambiarla', vault_reveal: 'Revelar', vault_copy: 'Copiar', vault_copied: 'Copiado al portapapeles', vault_generate: 'Generar', vault_countdown_hint: 'Tiempo para el cierre automático por inactividad. Se reinicia con cada tecla o clic.', vault_auto_lock_notice: 'Saliste de Contraseñas por seguridad — ingresa tu PIN de nuevo para volver a entrar.', vault_group_new: 'Nuevo grupo', vault_group_name: 'Nombre del grupo', vault_group_none: 'Sin grupo', vault_group_back: 'Volver', vault_group_entries_count: 'credencial(es)', vault_field_group: 'Grupo', vault_share_title: 'Compartir', vault_share_add: 'Compartir con', vault_share_placeholder: 'Elegir usuario', vault_share_empty: 'No compartida con nadie.', vault_share_group_action: 'Compartir grupo', vault_share_group_hint_prefix: 'Comparte las ', vault_share_group_hint_suffix: ' credenciales de este grupo, de solo lectura.', vault_shared_by: 'Compartida por', vault_destroy: 'Destruir', vault_destroy_group_action: 'Destruir grupo', vault_destroy_group_cascade_action: 'Destruir grupo y credenciales', vault_confirm_destroy_title: 'Destrucción irreversible', vault_confirm_destroy_entry_msg: 'Esta credencial se destruye para siempre. No se puede recuperar.', vault_confirm_destroy_group_msg: 'Este grupo se destruye para siempre. Sus credenciales quedan sin grupo, no se borran.', vault_confirm_destroy_group_cascade_prefix: 'Se destruyen el grupo y sus ', vault_confirm_destroy_group_cascade_suffix: ' credenciales, para siempre. No se puede recuperar nada.', notes_title: 'Notas', notes_placeholder: 'Escribe un apunte rápido...', notes_empty: 'No tienes notas todavía.', notes_updated: 'Editado', notes_new: 'Nueva nota', notes_share_title: 'Compartir', notes_share_add: 'Compartir con', notes_share_placeholder: 'Elegir usuario', notes_share_empty: 'No compartida con nadie.', notes_shared_by: 'Compartida por', recurring_task_new: 'Nueva tarea recurrente', recurring_task_project: 'Proyecto de origen', recurring_task_every: 'Cada', recurring_task_interval: 'Periodicidad', recurring_task_interval_unit: 'Unidad', recurring_task_unit_days: 'días', recurring_task_unit_months: 'meses', recurring_task_unit_years: 'años', recurring_task_next_due: 'Próximo vencimiento', recurring_task_reminder: 'Recordatorio', recurring_task_reminder_days: 'Avisar con (días de anticipación)', recurring_task_reminder_hour: 'Hora del recordatorio', recurring_task_active: 'Activa', recurring_task_end_date: 'Hasta', recurring_task_unlimited: 'Indefinida', recurring_task_unlimited_hint: 'Vacío = se repite sin fin. Al pasar esta fecha, la tarea se desactiva sola.', recurring_task_complete_cycle: 'Completar ciclo', recurring_task_complete_confirm: '¿Confirmas que ya completaste este ciclo? Se calcula el próximo vencimiento sumando la periodicidad configurada.', recurring_task_promote: 'Convertir en recurrente', recurring_task_promote_title: 'Convertir en tarea recurrente', recurring_task_promote_hint: 'La tarea original de la actividad no se borra. Se crea una tarea recurrente nueva, enlazada a este proyecto, que avisa por correo cuando se acerque cada vencimiento.', project_delete_confirm_msg: '¿Seguro que deseas eliminar este proyecto? Se movera a la papelera y dejara de verse en el listado; un superadministrador puede restaurarlo o borrarlo definitivamente.', project_trash: 'Papelera', project_trash_title: 'Papelera de proyectos', project_trash_back: 'Volver a proyectos', project_trash_empty_hint: 'Los proyectos eliminados aparecen aqui hasta que se restauran o se borran definitivamente.', common_restore: 'Restaurar', activities_trash: 'Papelera de actividades', activities_trash_empty: 'No hay actividades eliminadas.', tasks_trash: 'Papelera de tareas', tasks_trash_empty: 'No hay tareas eliminadas.', project_restore: 'Restaurar', project_delete_permanent: 'Eliminar definitivamente', project_delete_permanent_confirm_msg: 'Esta accion NO se puede deshacer: se borra el proyecto y todas sus actividades, comentarios y archivos adjuntos de forma permanente.', risk_low: 'Bajo', risk_medium: 'Medio', risk_high: 'Alto', tab_info: 'Info', tab_members: 'Miembros', tab_activities: 'Actividades', tab_gantt: 'Gantt', tab_calendar: 'Calendario', tab_comments: 'Comentarios', tab_documents: 'Documentos', activity_new: 'Nueva actividad', activity_code: 'Codigo', activity_start_date: 'Fecha inicio', activity_due_date: 'Fecha limite', activity_updated_at: 'Actualizado', activity_actual_end_date: 'Fecha real de fin', activity_progress: 'Avance', activity_milestone: 'Es hito', activity_estimated_hours: 'Horas estimadas', activity_dependencies: 'Dependencias', activity_move: 'Mover a otro proyecto', activity_move_title: 'Mover actividad', activity_move_target: 'Proyecto destino', activity_move_confirm_msg: 'Se moverá la actividad "{activity}" (junto con sus tareas) al proyecto "{project}". ¿Deseas continuar?', activity_convert: 'Convertir en proyecto', activity_convert_title: 'Convertir actividad en proyecto', activity_convert_hint: 'Una tarea siempre necesita una actividad contenedora — se crea un proyecto nuevo y, dentro, una actividad que recibirá las tareas (y comentarios/documentos) de esta actividad.', activity_convert_project_name: 'Nombre del proyecto nuevo', activity_convert_activity_name: 'Nombre de la actividad (contendrá las tareas)', activity_convert_confirm_msg: 'Se convertirá la actividad "{activity}" en el proyecto nuevo "{project}", con una actividad "{newActivity}" que tendrá sus tareas. ¿Deseas continuar?', activity_add_dependency: 'Agregar dependencia', activity_depends_on: 'Depende de', activity_no_dependency_options: 'No hay otras actividades en este proyecto para agregar como dependencia.', tasks_title: 'Tareas', task_new: 'Nueva tarea', task_done: 'Hecha', due_on_time: 'En tiempo', due_warning: 'Proximo a vencer', due_today: 'Vence hoy', due_overdue: 'Vencido', org_departments: 'Departamentos', org_users: 'Usuarios', department_new: 'Nuevo departamento', department_parent: 'Departamento padre', user_new: 'Nuevo usuario', user_email: 'Correo', user_role: 'Rol', user_position: 'Cargo', user_password: 'Clave inicial', config_title: 'Configuracion', config_appearance: 'Apariencia', config_catalogs: 'Catalogos', config_priorities: 'Prioridades', config_project_statuses: 'Estados de proyecto', config_activity_statuses: 'Estados de actividad', config_project_types: 'Tipos de proyecto', comments_title: 'Comentarios', comment_placeholder: 'Escribe un comentario...', comment_send: 'Enviar', documents_title: 'Documentos adjuntos', document_upload: 'Subir archivo', document_view: 'Ver', document_view_error: 'No se pudo cargar el contenido del archivo.', document_download: 'Descargar', notifications_title: 'Notificaciones', notifications_empty: 'Sin notificaciones', notifications_mark_all_read: 'Marcar todas como leidas', }, 'en-US': { email_change_title: 'Change email', email_change_new: 'New email', email_change_request: 'Request change', email_change_requested: 'Request created', email_change_cancel: 'Cancel request', email_change_cancelled: 'Request cancelled', email_change_requests: 'Email change requests', email_change_none: 'No pending requests', email_change_approve: 'Approve', email_change_reject: 'Reject', email_change_reason: 'Rejection reason', email_change_approved: 'Change approved', email_change_rejected: 'Change rejected', email_change_approve_title: 'Approve my email change', email_change_confirm_title: 'Confirm new email', email_change_accept: 'Accept', email_change_self_approved: 'Approved. Check your new email to confirm it.', email_change_applied: 'Email updated. All sessions were closed. Sign in with:', email_change_status_pending: 'Pending approval', email_change_status_approved: 'Approved: check your new email', email_change_status_rejected: 'Rejected', email_change_status_cancelled: 'Cancelled', email_change_status_expired: 'Expired', email_change_status_failed: 'Failed', email_change_status_applied: 'Applied', clinic_status_cancelled: 'Cancelled', clinic_active: 'Active', clinic_reprogram: 'Reschedule', clinic_history: 'Appointment history', clinic_cancel_confirm: 'The appointment will be cancelled and the reason recorded.', clinic_delete_block: 'Delete block', clinic_delete_block_confirm: 'The block will be deleted.', nav_clinic: 'Medical schedule', clinic_agenda: 'Schedule', clinic_patients: 'Patients', clinic_blocks: 'Blocks', clinic_config: 'Schedule settings', clinic_new_appointment: 'New appointment', clinic_new_patient: 'New patient', clinic_new_block: 'New block', clinic_appointment: 'Appointment', clinic_patient: 'Patient', clinic_block: 'Block', clinic_view_day: 'Day', clinic_view_week: 'Week', clinic_view_list: 'Agenda', clinic_view_month: 'Month', clinic_no_doctors: 'No doctors are set up in the schedule yet. Ask an administrator to add them.', clinic_no_doctors_admin: 'No doctors are set up yet. Add them with their hours in the Schedule settings tab.', clinic_more: 'more', clinic_status_deleted: 'Deleted', clinic_delete: 'Delete appointment', clinic_delete_reason: 'Deletion reason', clinic_delete_confirm: 'The appointment will be marked as deleted: it frees the time slot but stays recorded with the reason for traceability.', clinic_deleted_notice: 'Deleted appointment: kept for reference only.', clinic_created_by: 'Booked by', clinic_cancelled_by: 'Cancelled by', clinic_deleted_by: 'Deleted by', clinic_ai_agent: 'AI agent', clinic_doctors: 'Doctors', clinic_doctor: 'Doctor', clinic_status: 'Status', clinic_status_scheduled: 'Scheduled', clinic_status_confirmed: 'Confirmed', clinic_status_attended: 'Attended', clinic_status_no_show: 'No show', clinic_search_patient: 'Search name, ID or phone', clinic_type: 'Appointment type', clinic_channel: 'Channel', clinic_channel_phone: 'Phone', clinic_channel_whatsapp: 'WhatsApp', clinic_channel_in_person: 'In person', clinic_channel_other: 'Other', clinic_notes: 'Notes', clinic_available: 'Available slots', clinic_confirm: 'Confirm', clinic_cancel: 'Cancel appointment', clinic_cancel_reason: 'Cancellation reason', clinic_affected: 'Affected appointments; rescheduling needed', clinic_confirm_affected: 'Confirm block', clinic_first_names: 'First names', clinic_last_names: 'Last names', clinic_identification: 'ID', clinic_phone: 'Phone', clinic_email: 'Email', clinic_birth_date: 'Date of birth', clinic_kind: 'Kind', clinic_kind_surgery: 'Surgery', clinic_kind_vacation: 'Vacation', clinic_kind_other: 'Other', clinic_title: 'Title', clinic_staff: 'Staff', clinic_user_id: 'User ID', clinic_scope_all: 'Reception (all)', clinic_scope_own: 'Doctor (own)', clinic_is_doctor: 'Is doctor', clinic_specialty: 'Specialty', clinic_color: 'Color', clinic_types: 'Appointment types', clinic_new_type: 'New type', clinic_name: 'Name', clinic_duration: 'Duration (minutes)', clinic_schedules: 'Working hours', calendar_layer_clinic: 'Medical appointments', nav_calendar: 'Calendar', calendar_date: 'Date', notification_meeting_created: 'New meeting', notification_meeting_updated: 'Meeting updated', notification_meeting_cancelled: 'Meeting cancelled', notification_meeting_occurrence_cancelled: 'Occurrence cancelled', notification_meeting_reminder: 'Meeting reminder', notification_meeting_rsvp_accepted: 'Accepted meeting', notification_meeting_rsvp_declined: 'Declined meeting', notification_meeting_rsvp_tentative: 'Replied maybe', calendar_today: 'Today', calendar_previous: 'Previous', calendar_next: 'Next', calendar_month: 'Month', calendar_week: 'Week', calendar_day: 'Day', calendar_agenda: 'Agenda', calendar_new: 'New meeting', calendar_open: 'Open', calendar_show_due: 'Show activity due dates', calendar_legend: 'Calendar layers', calendar_layer_meetings: 'Meetings', calendar_layer_activities: 'My activities', calendar_layer_recurring: 'Recurring tasks', calendar_overdue: 'Overdue', calendar_layer_projects: 'Projects', calendar_layer_tasks: 'My tasks', calendar_only: 'Only', calendar_show_all: 'Show all', calendar_filter_origin: 'View', calendar_filter_types: 'Show', calendar_all_types: 'All', calendar_no_types: 'Nothing selected', calendar_origin_all: 'All (mine and shared)', calendar_origin_mine: 'Only mine', calendar_origin_shared: 'Shared with me', calendar_due: 'Due', calendar_empty: 'No events in this period', calendar_title: 'Title', calendar_description: 'Description', calendar_start: 'Start', calendar_end: 'End', calendar_all_day: 'All day', calendar_location: 'Location', calendar_video_url: 'Video call URL', calendar_project: 'Project', calendar_organizer: 'Organizer', calendar_reminder: 'Reminder', calendar_none: 'None', calendar_one_day: 'One day before', calendar_minutes: 'minutes', calendar_participants: 'Internal participants', calendar_external: 'External emails', calendar_add: 'Add', calendar_invalid_email: 'Invalid email or 50 participant limit', calendar_recurrence: 'Recurrence', calendar_daily: 'Daily', calendar_weekly: 'Weekly', calendar_monthly: 'Monthly', calendar_interval: 'Every', calendar_count: 'Occurrences', calendar_until: 'Until date', calendar_mon: 'Mon', calendar_tue: 'Tue', calendar_wed: 'Wed', calendar_thu: 'Thu', calendar_fri: 'Fri', calendar_sat: 'Sat', calendar_sun: 'Sun', calendar_rsvp_pending: 'Pending', calendar_rsvp_accepted: 'Accept', calendar_rsvp_declined: 'Decline', calendar_rsvp_tentative: 'Maybe', calendar_conflicts: 'Some participants have another meeting at this time', calendar_save_anyway: 'Confirm and save', calendar_cancel: 'Cancel meeting', calendar_cancel_occurrence: 'Cancel this occurrence', calendar_cancel_confirm: 'The series will be cancelled and participants notified.', calendar_cancel_occurrence_confirm: 'This occurrence will be cancelled and participants notified.', calendar_cancelled: 'Meeting cancelled', appName: 'LinkedCorp Projects', nav_dashboard: 'Dashboard', user_modules: 'Modules', user_modules_hint: 'Check the modules this user can use. Unchecked modules are hidden from their menu and access is denied.', user_modules_saved: 'Modules updated. The user will see the change after reloading.', dashboard_no_projects_module: 'Welcome. Use the menu on the left to open the modules enabled for you.', config_ai: 'Artificial intelligence (AI)', ai_not_configured: 'AI is not configured: add an Anthropic API key to enable AI features.', ai_hint: 'The key is stored encrypted and never leaves the server. Haiku is the cheapest model; Sonnet gives better results at a higher cost.', ai_api_key: 'API key (Anthropic)', ai_key_configured_hint: 'A key is saved. Leave empty to keep it.', ai_model: 'Model', ai_model_haiku: 'Claude Haiku 5.5 (low cost)', ai_model_sonnet: 'Claude Sonnet 5.5 (best quality)', ai_test: 'Test connection', ai_testing: 'Testing...', ai_test_success: 'AI connection OK', ai_plan_button: 'AI plan', ai_plan_title: 'AI activity plan', ai_plan_hint: 'AI proposes activities and tasks from the project name, description and objective. You can add instructions. You will review the proposal before anything is created.', ai_plan_description: 'Instructions (optional)', ai_plan_placeholder: 'E.g.: migrate 40 mailboxes to Microsoft 365 in 6 weeks, with user training', ai_plan_generate: 'Generate proposal', ai_plan_generating: 'Generating...', ai_plan_review: 'Uncheck what you do not want. Activities are created back to back from today with medium priority; you can edit them later.', ai_plan_days: 'days', ai_busy_generating: 'AI is preparing the proposal...', ai_busy_hint: 'It usually takes 5 to 30 seconds. Do not close this window.', ai_busy_creating: 'Creating activities and tasks...', ai_plan_day: 'day', ai_plan_apply: 'Create selected', ai_plan_creating: 'Creating...', ai_plan_back: 'Back', ai_plan_created: 'Activities created', ai_new_project_button: 'New with AI', ai_new_project_title: 'New project with AI', ai_new_project_objective: 'What project do you want to start? Describe its goal', ai_new_project_min_chars: 'minimum characters', ai_new_project_placeholder: 'E.g.: implement a help desk so users can report IT incidents with tracking and response times', ai_new_project_start: 'Start date', ai_new_project_fixed: 'The project is created as Planned, with you as owner and only member. AI proposes the name, activities and tasks; you will review them before creating.', ai_new_project_type: 'Type', ai_similar_actividad: 'activity', ai_similar_tarea: 'task', ai_similar_in: 'in', ai_new_project_similar: 'This already exists or resembles existing work; check before creating (opens in a new tab):', ai_new_project_goal: 'Goal', ai_new_project_desc: 'Description', ai_new_project_end: 'Estimated end', ai_new_project_review: 'Uncheck the activities you do not want. You can change the name here or later in the project.', ai_new_project_create: 'Create project', ai_usage_title: 'Usage by user', ai_usage_month: 'This month', ai_usage_all: 'All time', ai_usage_user: 'User', ai_usage_calls: 'Requests', ai_usage_input: 'Input tokens', ai_usage_output: 'Output tokens', ai_usage_cost: 'Cost (USD)', ai_usage_last: 'Last used', ai_usage_total: 'Total', ai_usage_hint: 'estimated cost; the exact amount is in the Anthropic console.', ai_usage_empty: 'No usage recorded yet.', ai_report_button: 'AI report', ai_report_title: 'Status report', ai_report_busy: 'AI is writing the report...', ai_report_date: 'Generated', ai_report_health: 'Overall status', ai_report_summary: 'Summary', ai_report_achievements: 'Progress', ai_report_delays: 'Delays', ai_report_risks: 'Risks', ai_report_next: 'Next steps', ai_report_disclaimer: 'Written by AI from system data; review it before sending.', ai_report_copy: 'Copy', ai_report_download: 'Download .txt', ai_report_regenerate: 'Regenerate', ai_report_copied: 'Report copied to clipboard', ai_report_copy_failed: 'Could not copy; use Download.', ai_health_en_curso: 'On track', ai_health_en_riesgo: 'At risk', ai_health_atrasado: 'Delayed', ai_health_completado: 'Completed', ai_health_sin_iniciar: 'Not started', nav_projects: 'Projects', nav_organization: 'Organization', nav_config: 'Settings', login_title: 'Sign in', login_email: 'Email', login_password: 'Password', login_submit: 'Sign in', login_error: 'Invalid credentials', login_forgot_password: 'Forgot your password?', login_create_account: 'Create account', logout: 'Sign out', register_title: 'Create account', register_name: 'Full name', register_password_confirm: 'Confirm password', register_password_mismatch: 'Passwords do not match', register_password_short: 'Password must be at least 8 characters', register_submit: 'Sign up', register_success: 'Account created. Check your email to confirm it; an administrator must approve it before you can sign in.', register_back_to_login: 'Back to sign in', verify_email_title: 'Verify email', verify_email_success: 'Email confirmed. Your account is pending administrator approval.', verify_email_missing_token: 'Invalid link: missing verification token.', accept_invite_title: 'Complete your registration', accept_invite_hint: 'You were invited to a project. Choose your name and a password to create your account.', accept_invite_submit: 'Create my account', accept_invite_missing_token: 'Invalid link: missing invite token.', forgot_password_title: 'Recover password', forgot_password_submit: 'Send instructions', forgot_password_sent: 'If the email exists, we sent instructions to recover your password.', reset_password_title: 'Choose a new password', reset_password_new: 'New password', reset_password_submit: 'Save password', reset_password_success: 'Password updated. Redirecting to sign in...', change_password_title: 'Change password', change_password_current: 'Current password', change_password_success: 'Password updated successfully.', user_status_pending_verification: 'Pending email verification', user_status_pending_approval: 'Pending approval', user_status_active: 'Active', user_status_invited: 'Invite pending', user_approve: 'Approve', user_reject: 'Reject', user_approve_title: 'Approve user', user_reject_confirm_msg: 'Are you sure you want to reject this registration request? It will be permanently deleted.', user_resend: 'Resend email', user_resend_sent: 'Email resent', config_company: 'Company', company_name: 'Company name', company_logo: 'Logo', company_logo_hint: 'PNG, JPG or WEBP. Used in the sidebar and on the sign-in screens.', company_logo_none: 'No logo', company_logo_choose: 'Choose image', config_smtp: 'Email (SMTP)', config_smtp_superadmin_only: 'Only the superadmin can configure the system email.', smtp_host: 'Host', smtp_port: 'Port', smtp_user: 'User', smtp_from: 'From', smtp_pass: 'Password', smtp_pass_configured_hint: 'Configured — leave blank to keep it unchanged', smtp_not_configured: 'Not configured: emails are logged on the server (dev mode), not actually sent.', smtp_test_title: 'Test configuration', smtp_test_hint: 'Sends a real email with the settings above (saved or not) so you can confirm they work before trusting them.', smtp_test_to: 'Send test to', smtp_test_send: 'Send test', smtp_test_sending: 'Sending...', smtp_test_success: 'Test email sent successfully to', config_updater: 'Updates', updater_check: 'Check for updates', updater_current_version: 'Installed version:', updater_up_to_date: 'You are on the latest available version.', updater_available: 'Update available', updater_restart_required: 'This update requires restarting the system — coordinate with your administrator before applying it.', updater_has_migrations: 'Includes database changes (new migrations).', updater_criticality_alta: 'High', updater_criticality_media: 'Medium', updater_criticality_baja: 'Low', updater_rollback_hint: 'Back up the database before updating. If something goes wrong, restore that backup and roll back to the commit before this update in the Gitea history.', updater_apply: 'Update', updater_applying: 'Updating…', updater_apply_confirm_title: 'Apply update', updater_apply_confirm_msg: 'This will back up the database, pull the new code, apply migrations if any, and restart the system. It may take a few minutes and the app will be briefly unavailable. Going from', updater_apply_confirm_ok: 'Yes, update', updater_apply_started: 'Update started. The system will restart in a few minutes.', updater_applying_hint: 'Update in progress — do not close this tab. The system will restart on its own when done.', updater_apply_timeout: 'The update is taking longer than expected. Check back in a few minutes or verify the server.', updater_apply_failed: 'The update failed. Check the updater log on the server.', updater_phase_backup: 'Backing up the database…', updater_phase_source: 'Downloading the new code…', updater_phase_backend: 'Installing backend and applying migrations…', updater_phase_frontend: 'Installing and building frontend…', updater_phase_publish: 'Publishing frontend…', updater_phase_restart: 'Restarting services…', updater_phase_verify: 'Checking both versions…', updater_retry_check: 'Retry check', updater_reload: 'Reload page', updater_apply_not_configured: 'Auto-update is not enabled on this server. Ask your administrator to apply this update via SSH.', updater_login_popup_title: 'There is a pending update', updater_login_popup_msg: 'A new version of the system is available:', updater_login_popup_go: 'View updates', config_error_logs: 'System errors', error_logs_clear: 'Clear log', error_logs_clear_confirm_msg: 'Are you sure you want to delete the entire error log history? This cannot be undone.', error_logs_empty: 'No errors logged.', error_logs_source: 'Source', error_logs_severity: 'Severity', error_logs_severity_alta: 'High', error_logs_severity_media: 'Medium', error_logs_severity_baja: 'Low', password_show: 'Show password', password_hide: 'Hide password', common_new: 'New', common_edit: 'Edit', common_save: 'Save', common_cancel: 'Cancel', common_accept: 'Accept', common_delete: 'Delete', common_close: 'Close', common_search: 'Search...', common_select: 'Select', common_actions: 'Actions', common_search_no_results: 'No results', common_actions: 'Actions', common_view: 'View', common_yes: 'Yes', common_no: 'No', common_or: 'or', common_loading: 'Loading...', common_empty: 'No data to show', common_confirm_delete_title: 'Confirm delete', common_confirm_delete_msg: 'Are you sure you want to delete this item? This cannot be undone.', common_saved: 'Changes saved', common_error: 'An error occurred', common_name: 'Name', common_description: 'Description', common_status: 'Status', common_priority: 'Priority', common_responsible: 'Owner', common_department: 'Department', common_active: 'Active', common_inactive: 'Inactive', common_all: 'All', theme_light: 'Light', theme_dark: 'Dark', lang_es: 'Spanish', lang_en: 'English', button_mode_icon_text: 'Icon + text', button_mode_icon: 'Icon only', button_mode_text: 'Text only', dashboard_title: 'Dashboard', dashboard_active_projects: 'Active projects', dashboard_overdue_projects: 'Overdue projects', dashboard_due_soon_projects: 'Due soon', dashboard_pending_activities: 'Pending activities', dashboard_overdue_activities: 'Overdue activities', dashboard_today_activities: 'Due today', dashboard_average_progress: 'Average progress', common_of: 'of', draft_leave_title: 'Unsaved changes', draft_leave_msg: 'You are leaving a section with changes you have not saved yet:', draft_leave_hint: 'If you leave them pending, they are kept in this browser and editing reopens when you come back.', draft_discard: 'Discard changes', draft_keep_pending: 'Leave pending', draft_keep_editing: 'Keep editing', draft_pending_mark: 'Unsaved changes', draft_field_modified: 'modified', draft_restored_msg: 'Unsaved changes were recovered. Review and save them, or discard them.', draft_conflict_title: 'The record changed', draft_conflict_reload_msg: 'The record changed on the server. Reload to review the current version before saving. Your pending changes will be kept.', draft_conflict_reload: 'Discard and reload', draft_conflict_msg: 'This record changed on the server since you started editing it. Saving your pending changes will replace those changes.', draft_conflict_save_msg: 'This record changed on the server since you started editing it (someone else or another tab). Do you want to overwrite it with your changes?', draft_conflict_overwrite: 'Overwrite', draft_keep_mine: 'Keep my changes', draft_use_server: 'Discard my changes', session_expired_login_msg: 'Your session expired. Sign in again to return where you were; unsaved changes were kept.', session_revoked_login_msg: 'Your session was closed from another device or by an administrator. Sign in again to return where you were.', account_title: 'My account', account_tab_profile: 'Profile', account_tab_preferences: 'Preferences', account_tab_security: 'Security', account_tab_sessions: 'Active sessions', account_language: 'Language', account_theme: 'Theme', account_buttons: 'Button appearance', change_password_sessions_closed: 'Password updated. Your other sessions were closed.', sessions_title: 'Sessions', sessions_device: 'Browser and system', sessions_ip: 'IP', sessions_started: 'Started', sessions_seen: 'Last activity', sessions_current: 'This session', sessions_close: 'Close session', sessions_close_others: 'Close all others', sessions_close_all: 'Close all', sessions_confirm: 'Do you want to close this session?', sessions_confirm_all: 'Do you want to close these sessions?', sessions_closed: 'Sessions closed.', sessions_refresh: 'Refresh', sessions_unknown: 'Unknown', dashboard_cards: 'Cards', dashboard_no_cards: 'No cards selected. Choose which ones to show in "Cards".', dashboard_projects_by_status: 'Projects by status', projects_title: 'Projects', project_page_range: 'Showing', project_page_of: 'of', project_page_previous: 'Previous', project_page_next: 'Next', draft_conflict_check_failed: 'Could not check the current version. Try again.', project_code: 'Code', project_new: 'New project', project_objective: 'Objective', project_type: 'Project type', project_owner: 'Owner', project_start_date: 'Start date', project_estimated_end_date: 'Estimated end', project_actual_end_date: 'Actual end', project_progress: 'Progress', project_shared_with: 'Shared with', project_requesting_department: 'Requesting department', project_responsible_department: 'Responsible department', project_risk: 'Risk', project_notes: 'Notes', project_members: 'Members', project_members_owner_only_hint: 'Only the project owner can share it and change permissions.', project_add_member: 'Share project', project_add_member_role: 'Permission', project_role_owner: 'Owner', project_role_read: 'Read', project_role_write: 'Write', project_invite_email: 'Invite by email', project_invite_email_hint: "If the email doesn't belong to anyone yet, they get a link to finish signing up and join the project.", project_invite_sent: 'Invite sent by email', project_created_at: 'Created', project_updated_at: 'Updated', project_deleted_at: 'Deleted', project_filter_due_soon: 'Due soon only (7 days)', project_filter_progress: 'Progress', project_filter_progress_hide: 'Hide 100%', project_filter_progress_only: 'Only 100%', nav_recurring_tasks: 'Recurring tasks', nav_notes: 'Notes', nav_passwords: 'Passwords', nav_devices: 'Devices', eq_installer_title: 'Windows installer', eq_installer_row_hint: 'You can also download it with the icon on each token in the list.', eq_token_no_secret: 'Older token: cannot be recovered, generate a new one', eq_installer_hint: 'Download an installer (.bat) with the server and token already set: double-click it on the machine, nothing else to configure.', eq_installer_token: 'Token (filled in when you generate one)', eq_installer_tag: 'Optional tag (e.g. Accounting)', eq_installer_download: 'Download installer', eq_installer_note: 'The .bat contains the token: share it only with whoever installs. It downloads the official agent from GitHub; if the machine has no internet, put the .msi next to the .bat.', eq_tab_share: 'Share', eq_share_title: 'Share the Devices menu', eq_share_hint: 'Give read-only access (Summary, Devices and Software) to users whose role does not see it. They cannot edit, see agents or share.', eq_share_pick: 'Pick a user...', eq_share_add: 'Grant access', eq_share_empty: 'You have not shared Devices with anyone yet.', eq_share_role: 'Role', eq_share_since: 'Access since', eq_share_remove: 'Remove access', eq_share_remove_title: 'Remove access to Devices', eq_share_remove_msg: 'will no longer see the Devices menu.', eq_tab_users: 'Users', eq_users_session: 'Signed in', eq_users_local_count: 'Local users (total)', eq_groups_local_count: 'Local groups (total)', eq_users_local: 'Windows local users', eq_groups_local: 'Local groups', eq_users_hint: 'Local accounts of the machine only: domain and Microsoft 365 users are not included, and system or application accounts are. Groups do not show which user belongs to them.', eq_tab_summary: 'Summary', eq_show_components: 'Show updates, drivers and system components', eq_tab_devices: 'Devices', eq_tab_software_all: 'Software', eq_tab_agents: 'Agents', eq_tab_general: 'General', eq_tab_hardware: 'Hardware', eq_tab_network: 'Network', eq_tab_software: 'Software', eq_tab_history: 'History', eq_detail: 'Device detail', eq_empty: 'No devices yet. Install the GLPI agent on a machine pointing to this system (Agents tab).', eq_hostname: 'Name', eq_kind: 'Type', eq_kind_desktop: 'Desktop', eq_kind_laptop: 'Laptop', eq_kind_server: 'Server', eq_kind_virtual: 'Virtual machine', eq_kind_printer: 'Printer', eq_kind_network: 'Network device', eq_kind_other: 'Other', eq_status_active: 'Active', eq_status_retired: 'Retired', eq_manufacturer_model: 'Make and model', eq_manufacturer: 'Manufacturer', eq_model: 'Model', eq_serial: 'Serial no.', eq_os: 'Operating system', eq_domain: 'Domain', eq_last_user: 'Last user', eq_ip: 'IP', eq_first_seen: 'First report', eq_last_seen: 'Last report', eq_agent: 'Agent version', eq_assigned_to: 'Assigned to', eq_notes: 'Notes', eq_cpu: 'Processor', eq_ram: 'RAM', eq_disk_total: 'Storage', eq_disk_max_used: 'fullest volume', eq_memories: 'Memory modules', eq_disks: 'Physical disks', eq_volumes: 'Volumes', eq_monitors: 'Monitors', eq_slot: 'Slot', eq_capacity: 'Capacity', eq_type: 'Type', eq_speed: 'Speed', eq_mount: 'Drive', eq_fs: 'File system', eq_free: 'Free', eq_adapter: 'Adapter', eq_mask: 'Mask', eq_gateway: 'Gateway', eq_version: 'Version', eq_versions: 'Versions', eq_publisher: 'Publisher', eq_installed_on: 'Devices', eq_when: 'Date', eq_change: 'Change', eq_field: 'Field', eq_before: 'Before', eq_after: 'After', eq_history_empty: 'No changes recorded between reports.', eq_change_field: 'Field changed', eq_change_disk_added: 'Disk added', eq_change_disk_removed: 'Disk removed', eq_change_software_installed: 'Software installed', eq_change_software_removed: 'Software removed', eq_kpi_total: 'Active devices', eq_kpi_stale: 'Not reporting (+7 days)', eq_kpi_disk_full: 'Disk ≥ 90% full', eq_kpi_low_ram: 'RAM under 4 GB', eq_by_os: 'By operating system', eq_by_kind: 'By type', eq_top_software: 'Most installed software', eq_agent_setup: 'Connect a GLPI agent', eq_agent_setup_hint: 'In the agent configuration file (or installer) use this address as the server:', eq_agent_setup_auth: 'Authentication: any user name and, as password, the token generated below.', eq_token_label: 'Token label (e.g. Head office)', eq_token_new: 'Generate token', eq_token_created: 'Token generated for', eq_token_once: 'Copy it now: it is not shown again. Only its hash is stored.', eq_token_last_used: 'Last used', eq_token_created_by: 'Created by', eq_token_enable: 'Enable', eq_token_disable: 'Disable', eq_token_delete_msg: 'Agents using this token will no longer be able to report. Delete it?', eq_copied: 'Copied', vault_pin_label: 'PIN (4 digits)', vault_pin_confirm_label: 'Confirm PIN', vault_pin_current_label: 'Current PIN', vault_pin_invalid: 'The PIN must be 4 digits', vault_pin_mismatch: 'The PINs don\'t match', vault_create_pin_title: 'Create access PIN', vault_create_pin_hint: 'This PIN protects access to your saved passwords. You\'ll need it every time you enter this section.', vault_create_pin_submit: 'Create PIN and enter', vault_enter_pin_title: 'Enter your PIN', vault_unlock: 'Unlock', vault_forgot_pin: 'Forgot your PIN?', vault_forgot_pin_sent: 'We sent you an email to reset your PIN. Your saved passwords are not affected.', vault_change_pin: 'Change PIN', vault_reset_pin_title: 'Reset PIN', vault_reset_pin_submit: 'Save new PIN', vault_reset_pin_success: 'Your PIN was updated. Your saved passwords are still intact.', vault_new_entry: 'New credential', vault_field_title: 'Name', vault_field_url: 'Link', vault_field_username: 'Username', vault_field_password: 'Password', vault_field_notes: 'Notes', vault_field_icon: 'Icon', vault_icon_auto: 'Automatic (name initial)', vault_icon_more: 'More icons (well-known brands)', vault_icon_less: 'Hide brand icons', vault_password_unchanged_hint: 'Leave blank to keep it unchanged', vault_reveal: 'Reveal', vault_copy: 'Copy', vault_copied: 'Copied to clipboard', vault_generate: 'Generate', vault_countdown_hint: 'Time until automatic close for inactivity. It resets with every key press or click.', vault_auto_lock_notice: 'You left Passwords for security — enter your PIN again to come back in.', vault_group_new: 'New group', vault_group_name: 'Group name', vault_group_none: 'No group', vault_group_back: 'Back', vault_group_entries_count: 'credential(s)', vault_field_group: 'Group', vault_share_title: 'Share', vault_share_add: 'Share with', vault_share_placeholder: 'Choose a user', vault_share_empty: 'Not shared with anyone.', vault_share_group_action: 'Share group', vault_share_group_hint_prefix: 'Shares the ', vault_share_group_hint_suffix: ' credentials in this group, read-only.', vault_shared_by: 'Shared by', vault_destroy: 'Destroy', vault_destroy_group_action: 'Destroy group', vault_destroy_group_cascade_action: 'Destroy group and credentials', vault_confirm_destroy_title: 'Irreversible destruction', vault_confirm_destroy_entry_msg: 'This credential is destroyed forever. It cannot be recovered.', vault_confirm_destroy_group_msg: 'This group is destroyed forever. Its credentials stay ungrouped, they are not deleted.', vault_confirm_destroy_group_cascade_prefix: 'The group and its ', vault_confirm_destroy_group_cascade_suffix: ' credentials are destroyed forever. Nothing can be recovered.', notes_title: 'Notes', notes_placeholder: 'Write a quick note...', notes_empty: 'You don\'t have any notes yet.', notes_updated: 'Edited', notes_new: 'New note', notes_share_title: 'Share', notes_share_add: 'Share with', notes_share_placeholder: 'Choose a user', notes_share_empty: 'Not shared with anyone.', notes_shared_by: 'Shared by', recurring_task_new: 'New recurring task', recurring_task_project: 'Source project', recurring_task_every: 'Every', recurring_task_interval: 'Recurrence', recurring_task_interval_unit: 'Unit', recurring_task_unit_days: 'days', recurring_task_unit_months: 'months', recurring_task_unit_years: 'years', recurring_task_next_due: 'Next due date', recurring_task_reminder: 'Reminder', recurring_task_reminder_days: 'Remind (days ahead)', recurring_task_reminder_hour: 'Reminder hour', recurring_task_active: 'Active', recurring_task_end_date: 'Until', recurring_task_unlimited: 'Unlimited', recurring_task_unlimited_hint: 'Empty = repeats forever. Once past this date, the task deactivates itself.', recurring_task_complete_cycle: 'Complete cycle', recurring_task_complete_confirm: 'Confirm you already completed this cycle? The next due date is calculated by adding the configured recurrence.', recurring_task_promote: 'Turn into recurring', recurring_task_promote_title: 'Turn into recurring task', recurring_task_promote_hint: "The original task in the activity is not deleted. A new recurring task is created, linked to this project, that emails a reminder as each due date approaches.", project_delete_confirm_msg: 'Are you sure you want to delete this project? It will move to the trash and disappear from the list; a superadmin can restore it or delete it permanently.', project_trash: 'Trash', project_trash_title: 'Project trash', project_trash_back: 'Back to projects', project_trash_empty_hint: 'Deleted projects show up here until they are restored or permanently deleted.', common_restore: 'Restore', activities_trash: 'Deleted activities', activities_trash_empty: 'No deleted activities.', tasks_trash: 'Deleted tasks', tasks_trash_empty: 'No deleted tasks.', project_restore: 'Restore', project_delete_permanent: 'Delete permanently', project_delete_permanent_confirm_msg: 'This CANNOT be undone: the project and all its activities, comments and attachments will be permanently deleted.', risk_low: 'Low', risk_medium: 'Medium', risk_high: 'High', tab_info: 'Info', tab_members: 'Members', tab_activities: 'Activities', tab_gantt: 'Gantt', tab_calendar: 'Calendar', tab_comments: 'Comments', tab_documents: 'Documents', activity_new: 'New activity', activity_code: 'Code', activity_start_date: 'Start date', activity_due_date: 'Due date', activity_updated_at: 'Updated', activity_actual_end_date: 'Actual end date', activity_progress: 'Progress', activity_milestone: 'Is milestone', activity_estimated_hours: 'Estimated hours', activity_dependencies: 'Dependencies', activity_move: 'Move to another project', activity_move_title: 'Move activity', activity_move_target: 'Target project', activity_move_confirm_msg: 'Activity "{activity}" (along with its tasks) will move to project "{project}". Continue?', activity_convert: 'Convert to project', activity_convert_title: 'Convert activity to project', activity_convert_hint: 'A task always needs a containing activity — a new project is created and, inside it, an activity that will receive this activity\'s tasks (and comments/documents).', activity_convert_project_name: 'New project name', activity_convert_activity_name: 'Activity name (will hold the tasks)', activity_convert_confirm_msg: 'Activity "{activity}" will become the new project "{project}", with an activity "{newActivity}" holding its tasks. Continue?', activity_add_dependency: 'Add dependency', activity_depends_on: 'Depends on', activity_no_dependency_options: 'There are no other activities in this project to add as a dependency.', tasks_title: 'Tasks', task_new: 'New task', task_done: 'Done', due_on_time: 'On time', due_warning: 'Due soon', due_today: 'Due today', due_overdue: 'Overdue', org_departments: 'Departments', org_users: 'Users', department_new: 'New department', department_parent: 'Parent department', user_new: 'New user', user_email: 'Email', user_role: 'Role', user_position: 'Position', user_password: 'Initial password', config_title: 'Settings', config_appearance: 'Appearance', config_catalogs: 'Catalogs', config_priorities: 'Priorities', config_project_statuses: 'Project statuses', config_activity_statuses: 'Activity statuses', config_project_types: 'Project types', comments_title: 'Comments', comment_placeholder: 'Write a comment...', comment_send: 'Send', documents_title: 'Attachments', document_upload: 'Upload file', document_view: 'View', document_view_error: 'Could not load the file content.', document_download: 'Download', notifications_title: 'Notifications', notifications_empty: 'No notifications', notifications_mark_all_read: 'Mark all as read', }, };