
msgid ""
msgstr ""
"Project-Id-Version:  TimeTracker\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-04-29 07:57+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: es\n"
"Language-Team: es <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.14.0\n"

#: app/__init__.py:867 app/__init__.py:899
msgid "Your session expired or the page was open too long. Please try again."
msgstr "Su sesión expiró o la página estuvo abierta por mucho tiempo. Por favor inténtalo de nuevo."

#: app/routes/admin.py:613 app/utils/decorators.py:20
msgid "Administrator access required"
msgstr "Se requiere acceso de administrador"

#: app/routes/admin.py:825
msgid "User creation is disabled in demo mode."
msgstr ""

#: app/routes/admin.py:833 app/routes/admin.py:905 app/routes/kiosk.py:118
msgid "Username is required"
msgstr "El nombre de usuario es obligatorio"

#: app/routes/admin.py:839
msgid "User already exists"
msgstr "El usuario ya existe"

#: app/routes/admin.py:849 app/routes/admin.py:943
msgid "Default 'user' role not found. Please run 'flask seed_permissions_cmd' first."
msgstr ""

#: app/routes/admin.py:873
msgid "Could not create user due to a database error. Please check server logs."
msgstr "No se pudo crear el usuario debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:877
#, python-format
msgid "User \"%(username)s\" created successfully"
msgstr "Usuario \"%(username)s\" creado exitosamente"

#: app/routes/admin.py:917
msgid "Username already exists"
msgstr "El nombre de usuario ya existe"

#: app/routes/admin.py:928
msgid "Please select a client when enabling client portal access."
msgstr "Seleccione un cliente al habilitar el acceso al portal del cliente."

#: app/routes/admin.py:960 app/routes/auth.py:258 app/routes/auth.py:394
#: app/routes/auth.py:516 app/routes/auth.py:795 app/routes/auth.py:887
#: app/routes/client_portal.py:387 app/templates/auth/change_password.html:28
msgid "Password must be at least 8 characters long."
msgstr "La contraseña debe tener al menos 8 caracteres."

#: app/routes/admin.py:970 app/routes/auth.py:261 app/routes/auth.py:799
#: app/routes/auth.py:891 app/routes/client_portal.py:391
msgid "Passwords do not match."
msgstr "Las contraseñas no coinciden."

#: app/routes/admin.py:1023
msgid "Could not update user due to a database error. Please check server logs."
msgstr "No se pudo actualizar el usuario debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:1033
#, python-format
msgid "Password reset successfully for user \"%(username)s\""
msgstr ""

#: app/routes/admin.py:1035
#, python-format
msgid "User \"%(username)s\" updated successfully"
msgstr "Usuario \"%(username)s\" actualizado exitosamente"

#: app/routes/admin.py:1054
msgid "Cannot delete the last administrator"
msgstr "No se puede eliminar el último administrador"

#: app/routes/admin.py:1059
msgid "Cannot delete user with existing time entries"
msgstr "No se puede eliminar un usuario con entradas de tiempo existentes"

#: app/routes/admin.py:1078
msgid "Could not delete user due to a database error. Please check server logs."
msgstr "No se pudo eliminar el usuario debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:1081
#, python-format
msgid "User \"%(username)s\" deleted successfully"
msgstr "Usuario \"%(username)s\" eliminado exitosamente"

#: app/routes/admin.py:1150
msgid "Telemetry has been enabled. Thank you for helping us improve!"
msgstr "La telemetría ha sido habilitada. ¡Gracias por ayudarnos a mejorar!"

#: app/routes/admin.py:1152
msgid "Detailed analytics has been disabled. Anonymous base telemetry remains active."
msgstr ""

#: app/routes/admin.py:1196
msgid "Invalid locked client selection."
msgstr ""

#: app/routes/admin.py:1207
msgid "Selected locked client does not exist or is not active."
msgstr ""

#: app/routes/admin.py:1241
#, python-format
msgid "Cannot disable '%(module)s' because the following modules depend on it: %(dependents)s"
msgstr ""

#: app/routes/admin.py:1264
msgid "Could not update module visibility due to a database error. Please check server logs."
msgstr ""

#: app/routes/admin.py:1274
msgid "Module visibility updated successfully"
msgstr ""

#: app/routes/admin.py:1331 app/routes/setup.py:42
#, python-format
msgid "Invalid timezone: %(timezone)s"
msgstr "Zona horaria no válida: %(timezone)s"

#: app/routes/admin.py:1378
#, python-format
msgid "Invalid invoice number pattern: %(reason)s"
msgstr ""

#: app/routes/admin.py:1543
msgid "Could not update settings due to a database error. Please check server logs."
msgstr "No se pudo actualizar la configuración debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:1578
msgid "Settings updated successfully"
msgstr "Configuración actualizada exitosamente"

#: app/routes/admin.py:1631 app/routes/admin.py:1644 app/routes/user.py:249
#: app/routes/user.py:261 app/routes/user.py:288 app/routes/user.py:301
#: app/templates/admin/settings.html:766
msgid "Invalid code."
msgstr ""

#: app/routes/admin.py:1649 app/routes/user.py:202 app/routes/user.py:306
msgid "Error saving settings"
msgstr "Error al guardar la configuración"

#: app/routes/admin.py:1753 app/routes/admin.py:2103
msgid "Invalid template JSON format. Please try again."
msgstr ""

#: app/routes/admin.py:1795 app/routes/admin.py:2152
msgid "Error: Template JSON is empty. Please try saving again."
msgstr ""

#: app/routes/admin.py:1807 app/routes/admin.py:2164
msgid "Error: Template JSON is invalid. Please try saving again."
msgstr ""

#: app/routes/admin.py:1817 app/routes/admin.py:2174
msgid "Error: Template JSON is not valid JSON. Please try saving again."
msgstr ""

#: app/routes/admin.py:1850 app/routes/admin.py:2188
msgid "Could not update PDF layout due to a database error."
msgstr "No se pudo actualizar el diseño del PDF debido a un error de la base de datos."

#: app/routes/admin.py:1860 app/routes/admin.py:2196
msgid "PDF layout updated successfully"
msgstr "Diseño PDF actualizado correctamente"

#: app/routes/admin.py:1866 app/routes/admin.py:2202
msgid "PDF layout saved but template JSON verification failed. Please check the template."
msgstr ""

#: app/routes/admin.py:1996 app/routes/admin.py:2311
msgid "Could not reset PDF layout due to a database error."
msgstr "No se pudo restablecer el diseño del PDF debido a un error de la base de datos."

#: app/routes/admin.py:1998 app/routes/admin.py:2313
msgid "PDF layout reset to defaults"
msgstr "Restablecimiento del diseño de PDF a los valores predeterminados"

#: app/routes/admin.py:2329 app/routes/admin.py:2440
msgid "Invalid page size"
msgstr ""

#: app/routes/admin.py:2335 app/routes/admin.py:2446
msgid "Template not found for this page size"
msgstr ""

#: app/routes/admin.py:2372 app/routes/admin.py:2483
msgid "No file uploaded"
msgstr ""

#: app/routes/admin.py:2377 app/routes/admin.py:2488 app/routes/clients.py:1269
#: app/routes/comments.py:291 app/routes/expenses.py:1270
#: app/routes/invoices.py:1615 app/routes/projects.py:2028
#: app/routes/quotes.py:1132 app/routes/quotes.py:1994
#: app/routes/team_chat.py:481
msgid "No file selected"
msgstr "Ningún archivo seleccionado"

#: app/routes/admin.py:2387 app/routes/admin.py:2498
msgid "Invalid template JSON format. Missing 'page' property."
msgstr ""

#: app/routes/admin.py:2413 app/routes/admin.py:2524
msgid "Could not import template due to a database error."
msgstr ""

#: app/routes/admin.py:2415 app/routes/admin.py:2526
msgid "Template imported successfully"
msgstr ""

#: app/routes/admin.py:2420 app/routes/admin.py:2531
#, python-format
msgid "Invalid JSON file: %(error)s"
msgstr ""

#: app/routes/admin.py:2424 app/routes/admin.py:2535
#, python-format
msgid "Error importing template: %(error)s"
msgstr ""

#: app/routes/admin.py:2704
msgid "Invoice not found"
msgstr ""

#: app/routes/admin.py:3342 app/routes/quotes.py:495
msgid "Quote not found"
msgstr ""

#: app/routes/admin.py:3878 app/routes/admin.py:3883
msgid "No logo file selected"
msgstr "No se seleccionó ningún archivo de logotipo"

#: app/routes/admin.py:3900 app/routes/auth.py:826
msgid "Invalid image file."
msgstr "Archivo de imagen no válido."

#: app/routes/admin.py:3929
msgid "Could not save logo due to a database error. Please check server logs."
msgstr "No se pudo guardar el logotipo debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:3933
msgid "Company logo uploaded successfully! You can see it in the \"Current Company Logo\" section above. It will appear on invoices and PDF documents."
msgstr "¡El logotipo de la empresa se cargó correctamente! Puede verlo en la sección \"Logotipo actual de la empresa\" más arriba. Aparecerá en facturas y documentos PDF."

#: app/routes/admin.py:3939
msgid "Invalid file type. Allowed types: PNG, JPG, JPEG, GIF, SVG, WEBP"
msgstr "Tipo de archivo no válido. Tipos permitidos: PNG, JPG, JPEG, GIF, SVG, WEBP"

#: app/routes/admin.py:3963
msgid "Could not remove logo due to a database error. Please check server logs."
msgstr "No se pudo eliminar el logotipo debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/admin.py:3965
msgid "Company logo removed successfully. Upload a new logo in the section below if needed."
msgstr "El logotipo de la empresa se eliminó correctamente. Cargue un nuevo logotipo en la sección siguiente si es necesario."

#: app/routes/admin.py:3967
msgid "No logo to remove"
msgstr "No hay logotipo para eliminar"

#: app/routes/admin.py:4097
msgid "Backup failed: archive not created"
msgstr "Error de copia de seguridad: archivo no creado"

#: app/routes/admin.py:4102
#, python-format
msgid "Backup failed: %(error)s"
msgstr "Error en la copia de seguridad: %(error)s"

#: app/routes/admin.py:4114 app/routes/admin.py:4135
msgid "Invalid file type"
msgstr "Tipo de archivo no válido"

#: app/routes/admin.py:4121 app/routes/admin.py:4146
msgid "Backup file not found"
msgstr "Archivo de copia de seguridad no encontrado"

#: app/routes/admin.py:4144
#, python-format
msgid "Backup \"%(filename)s\" deleted successfully"
msgstr "Copia de seguridad \"%(filename)s\" eliminada correctamente"

#: app/routes/admin.py:4148
#, python-format
msgid "Failed to delete backup: %(error)s"
msgstr "No se pudo eliminar la copia de seguridad: %(error)s"

#: app/routes/admin.py:4167
msgid "Invalid file type. Please select a .zip backup archive."
msgstr "Tipo de archivo no válido. Seleccione un archivo de copia de seguridad .zip."

#: app/routes/admin.py:4171
msgid "Backup file not found."
msgstr "Archivo de copia de seguridad no encontrado."

#: app/routes/admin.py:4182
msgid "Invalid file type. Please upload a .zip backup archive."
msgstr "Tipo de archivo no válido. Cargue un archivo de copia de seguridad .zip."

#: app/routes/admin.py:4189
msgid "No backup file provided"
msgstr "No se proporciona ningún archivo de respaldo"

#: app/routes/admin.py:4224
msgid "Restore started. You can monitor progress on this page."
msgstr "Restauración iniciada. Puede monitorear el progreso en esta página."

#: app/routes/admin.py:4362
#, fuzzy
msgid "OIDC is not enabled. Set AUTH_METHOD to \"oidc\", \"both\", or \"all\"."
msgstr "OIDC no está habilitado. Establezca AUTH_METHOD en \"oidc\" o \"both\"."

#: app/routes/admin.py:4367
msgid "OIDC_ISSUER is not configured"
msgstr "OIDC_ISSUER no está configurado"

#: app/routes/admin.py:4375
#, python-format
msgid "✗ Failed to parse issuer URL: %(error)s"
msgstr ""

#: app/routes/admin.py:4379
msgid "Testing DNS resolution with multiple strategies..."
msgstr ""

#: app/routes/admin.py:4402
#, python-format
msgid "✓ DNS resolution successful using %(strategy)s strategy: %(ip)s"
msgstr ""

#: app/routes/admin.py:4407
#, python-format
msgid "✗ DNS resolution failed using %(strategy)s strategy: %(error)s"
msgstr ""

#: app/routes/admin.py:4417
msgid "ℹ Docker environment detected - internal service names may be available"
msgstr ""

#: app/routes/admin.py:4441
#, python-format
msgid "✓ Discovery document fetched successfully from %(url)s"
msgstr "✓ Documento de descubrimiento obtenido exitosamente de %(url)s"

#: app/routes/admin.py:4446
#, python-format
msgid "✓ DNS strategy used: %(strategy)s"
msgstr ""

#: app/routes/admin.py:4452
#, python-format
msgid "✗ Failed to fetch discovery document: %(error)s"
msgstr "✗ No se pudo recuperar el documento de descubrimiento: %(error)s"

#: app/routes/admin.py:4457
#, python-format
msgid "✗ Unexpected error: %(error)s"
msgstr "✗ Error inesperado: %(error)s"

#: app/routes/admin.py:4463
msgid "✗ Failed to retrieve discovery document"
msgstr ""

#: app/routes/admin.py:4470
msgid "✓ OAuth client is registered in application"
msgstr "✓ El cliente OAuth está registrado en la aplicación"

#: app/routes/admin.py:4473
msgid "✗ OAuth client is not registered"
msgstr "✗ El cliente OAuth no está registrado"

#: app/routes/admin.py:4476
#, python-format
msgid "✗ Failed to create OAuth client: %(error)s"
msgstr "✗ Error al crear el cliente OAuth: %(error)s"

#: app/routes/admin.py:4483
#, python-format
msgid "✓ %(endpoint)s: %(url)s"
msgstr "✓ %(punto final): %(endpoint)s"

#: app/routes/admin.py:4485
#, python-format
msgid "✗ Missing %(endpoint)s in discovery document"
msgstr "✗ Faltan %(puntos finales) en el documento de descubrimiento"

#: app/routes/admin.py:4492
#, python-format
msgid "✓ Scope \"%(scope)s\" is supported by provider"
msgstr "✓ El alcance \"%(scope)s\" es compatible con el proveedor"

#: app/routes/admin.py:4498
#, python-format
msgid "⚠ Scope \"%(scope)s\" may not be supported by provider (supported: %(supported)s)"
msgstr "⚠ Es posible que el proveedor no admita el alcance \"%(scope)s\" (compatible: %(supported)s)"

#: app/routes/admin.py:4506
#, python-format
msgid "ℹ Provider supports claims: %(claims)s"
msgstr "ℹ Proveedor respalda reclamos: %(claims)s"

#: app/routes/admin.py:4519
#, python-format
msgid "✓ Configured %(claim_type)s claim \"%(claim_name)s\" is supported"
msgstr "✓ Se admite el reclamo %(claim_type)s configurado \"%(claim_name)s\""

#: app/routes/admin.py:4528
#, python-format
msgid "⚠ Configured %(claim_type)s claim \"%(claim_name)s\" not in supported claims list (may still work)"
msgstr "⚠ El reclamo %(claim_type)s configurado \"%(claim_name)s\" no está en la lista de reclamos admitidos (puede que aún funcione)"

#: app/routes/admin.py:4536
msgid "OIDC configuration test completed"
msgstr "Prueba de configuración OIDC completada"

#: app/routes/admin.py:5334 app/routes/admin.py:5448
#: app/routes/link_templates.py:42 app/routes/link_templates.py:98
#: app/routes/quotes.py:1433 app/routes/quotes.py:1518
#: app/routes/time_entry_templates.py:57 app/routes/time_entry_templates.py:167
msgid "Template name is required"
msgstr "El nombre de la plantilla es obligatorio"

#: app/routes/admin.py:5340 app/templates/admin/email_templates/create.html:104
#: app/templates/admin/email_templates/edit.html:121
#, fuzzy
msgid "HTML template content is required"
msgstr "El nombre de la plantilla es obligatorio"

#: app/routes/admin.py:5348 app/routes/admin.py:5454
msgid "A template with this name already exists"
msgstr "Ya existe una plantilla con este nombre"

#: app/routes/admin.py:5368
msgid "Could not create email template due to a database error."
msgstr "No se pudo crear una plantilla de correo electrónico debido a un error de la base de datos."

#: app/routes/admin.py:5373
msgid "Email template created successfully"
msgstr "Plantilla de correo electrónico creada correctamente"

#: app/routes/admin.py:5470
msgid "Could not update email template due to a database error."
msgstr "No se pudo actualizar la plantilla de correo electrónico debido a un error de la base de datos."

#: app/routes/admin.py:5473
msgid "Email template updated successfully"
msgstr "Plantilla de correo electrónico actualizada correctamente"

#: app/routes/admin.py:5491
msgid "Cannot delete template that is in use by invoices or recurring invoices"
msgstr "No se puede eliminar la plantilla que está en uso en facturas o facturas recurrentes"

#: app/routes/admin.py:5496
msgid "Could not delete email template due to a database error."
msgstr "No se pudo eliminar la plantilla de correo electrónico debido a un error de la base de datos."

#: app/routes/admin.py:5498
#, python-format
msgid "Email template \"%(name)s\" deleted successfully"
msgstr "Plantilla de correo electrónico \"%(name)s\" eliminada correctamente"

#: app/routes/api.py:1325
msgid "Task name and project are required"
msgstr ""

#: app/routes/api.py:1335 app/routes/tasks.py:438
msgid "Selected project does not exist or is inactive"
msgstr "El proyecto seleccionado no existe o está inactivo"

#: app/routes/api.py:1358 app/routes/invoices_refactored.py:222
#: app/routes/invoices_refactored.py:261
#: app/routes/projects_refactored_example.py:193 app/routes/tasks.py:273
#: app/routes/timer.py:193 app/routes/timer_refactored.py:51
#: app/routes/timer_refactored.py:127
msgid "message"
msgstr "mensaje"

#: app/routes/api.py:1394
#, python-format
msgid "Task \"%(name)s\" created successfully"
msgstr ""

#: app/routes/audit_logs.py:27
msgid "Audit logs table does not exist. Please run: flask db upgrade"
msgstr "La tabla de registros de auditoría no existe. Ejecute: actualización de flask db"

#: app/routes/auth.py:147 app/templates/auth/change_password.html:8
msgid "You must change your password before continuing."
msgstr ""

#: app/routes/auth.py:155
msgid "Administrator accounts must enable two-factor authentication."
msgstr ""

#: app/routes/auth.py:162 app/routes/auth.py:1505
#, python-format
msgid "Welcome back, %(username)s!"
msgstr "¡Bienvenido de nuevo, %(username)s!"

#: app/routes/auth.py:178
msgid "Password reset is not available for this authentication method."
msgstr ""

#: app/routes/auth.py:182 app/routes/auth.py:240
msgid "Demo mode: password reset is disabled."
msgstr ""

#: app/routes/auth.py:189
msgid "If an account matches what you entered and email is configured, you'll receive a reset link shortly."
msgstr ""

#: app/routes/auth.py:213
#, fuzzy
msgid "Reset your TimeTracker password"
msgstr "Establece tu contraseña"

#: app/routes/auth.py:214
#, python-format
msgid ""
"A password reset was requested for your account.\n"
"\n"
"Use this link to set a new password:\n"
"%(url)s\n"
"\n"
"If you did not request this, you can ignore this email."
msgstr ""

#: app/routes/auth.py:246
#, fuzzy
msgid "This reset link is invalid or has expired. Please request a new one."
msgstr "Token de configuración de contraseña no válido o caducado. Por favor solicite uno nuevo."

#: app/routes/auth.py:250
#, fuzzy
msgid "Password reset is not available for this account."
msgstr "El portal del cliente no está habilitado para este cliente."

#: app/routes/auth.py:270
msgid "Your password has been updated. You can now sign in."
msgstr ""

#: app/routes/auth.py:274
#, fuzzy
msgid "Could not reset password due to a database error."
msgstr "No se pudo establecer la contraseña debido a un error de la base de datos."

#: app/routes/auth.py:336
msgid "Invalid username format"
msgstr ""

#: app/routes/auth.py:349
msgid "Only the demo account can be used. Please use the credentials shown below."
msgstr ""

#: app/routes/auth.py:357 app/routes/auth.py:465 app/routes/auth.py:483
#: app/routes/kiosk.py:132
msgid "Password is required"
msgstr ""

#: app/routes/auth.py:363 app/routes/auth.py:439 app/routes/auth.py:471
#: app/routes/auth.py:496 app/routes/kiosk.py:123 app/routes/kiosk.py:136
msgid "Invalid username or password"
msgstr ""

#: app/routes/auth.py:391
msgid "Password is required to create an account."
msgstr ""

#: app/routes/auth.py:425
msgid "Could not create your account due to a database error. Please try again later."
msgstr "No se pudo crear su cuenta debido a un error en la base de datos. Inténtelo de nuevo más tarde."

#: app/routes/auth.py:435 app/routes/auth.py:1387
msgid "Welcome! Your account has been created."
msgstr "¡Bienvenido! Su cuenta ha sido creada."

#: app/routes/auth.py:441
msgid "User not found. Please contact an administrator."
msgstr "Usuario no encontrado. Por favor contacte a un administrador."

#: app/routes/auth.py:449
msgid "Could not update your account role due to a database error."
msgstr "No se pudo actualizar la función de su cuenta debido a un error de la base de datos."

#: app/routes/auth.py:455 app/routes/auth.py:1434
msgid "Account is disabled. Please contact an administrator."
msgstr "La cuenta está deshabilitada. Por favor contacte a un administrador."

#: app/routes/auth.py:506
msgid "No password is set for your account. Please enter a password to set one and log in."
msgstr ""

#: app/routes/auth.py:525
msgid "Could not set password due to a database error. Please try again."
msgstr ""

#: app/routes/auth.py:528
msgid "Password has been set. You are now logged in."
msgstr ""

#: app/routes/auth.py:537
msgid "Unexpected error during login. Please try again or check server logs."
msgstr "Error inesperado durante el inicio de sesión. Inténtalo de nuevo o comprueba los registros del servidor."

#: app/routes/auth.py:551 app/routes/auth.py:558
#, fuzzy
msgid "Your login session expired. Please sign in again."
msgstr "Su sesión expiró o la página estuvo abierta por mucho tiempo. Por favor inténtalo de nuevo."

#: app/routes/auth.py:572 app/routes/auth.py:616 app/routes/auth.py:644
#, fuzzy
msgid "Invalid authentication code."
msgstr "Método de autenticación"

#: app/routes/auth.py:625
#, fuzzy
msgid "Two-factor authentication enabled."
msgstr "Método de autenticación"

#: app/routes/auth.py:628
#, fuzzy
msgid "Could not enable two-factor authentication due to a database error."
msgstr "No se pudo crear su cuenta debido a un error en la base de datos."

#: app/routes/auth.py:654
#, fuzzy
msgid "Two-factor authentication disabled."
msgstr "Método de autenticación"

#: app/routes/auth.py:657
#, fuzzy
msgid "Could not disable two-factor authentication due to a database error."
msgstr "No se pudo actualizar la función de su cuenta debido a un error de la base de datos."

#: app/routes/auth.py:727
#, python-format
msgid "Goodbye, %(username)s!"
msgstr "¡Adiós, %(username)s!"

#: app/routes/auth.py:815
msgid "Invalid avatar file type. Allowed: PNG, JPG, JPEG, GIF, WEBP"
msgstr "Tipo de archivo de avatar no válido. Permitido: PNG, JPG, JPEG, GIF, WEBP"

#: app/routes/auth.py:840
msgid "Failed to save avatar on server."
msgstr "No se pudo guardar el avatar en el servidor."

#: app/routes/auth.py:859
msgid "Profile updated successfully"
msgstr "Perfil actualizado exitosamente"

#: app/routes/auth.py:862
msgid "Could not update your profile due to a database error."
msgstr "No se pudo actualizar su perfil debido a un error en la base de datos."

#: app/routes/auth.py:873
msgid "Password cannot be changed here for your account."
msgstr ""

#: app/routes/auth.py:883
msgid "New password is required"
msgstr ""

#: app/routes/auth.py:897
msgid "Current password is required"
msgstr ""

#: app/routes/auth.py:901
msgid "Current password is incorrect"
msgstr ""

#: app/routes/auth.py:911
msgid "Password changed successfully. You can now continue."
msgstr ""

#: app/routes/auth.py:915
msgid "Could not update password due to a database error."
msgstr ""

#: app/routes/auth.py:938
msgid "Avatar removed"
msgstr "Avatar eliminado"

#: app/routes/auth.py:941
msgid "Failed to remove avatar."
msgstr "No se pudo eliminar el avatar."

#: app/routes/auth.py:981 app/routes/auth.py:1339
msgid "Demo mode: only the demo account can be used. Please use the credentials on the login page."
msgstr ""

#: app/routes/auth.py:1052
#, python-format
msgid "Failed to connect to Single Sign-On provider. Please contact an administrator. Error: %(error)s"
msgstr ""

#: app/routes/auth.py:1061
#, python-format
msgid "Cannot connect to Single Sign-On provider. DNS resolution may be failing. Please contact an administrator. Error: %(error)s"
msgstr ""

#: app/routes/auth.py:1070 app/routes/auth.py:1111
msgid "Single Sign-On is not configured yet. Please contact an administrator."
msgstr "El inicio de sesión único aún no está configurado. Por favor contacte a un administrador."

#: app/routes/auth.py:1131
msgid "Single Sign-On is not configured."
msgstr "El inicio de sesión único no está configurado."

#: app/routes/auth.py:1156
msgid "SSO failed: encrypted or unsupported ID tokens. Disable ID token encryption on your provider (e.g. in Authentik, leave the Encryption Key empty)."
msgstr ""

#: app/routes/auth.py:1169
msgid "SSO failed. If this repeats, check session cookie and proxy configuration."
msgstr ""

#: app/routes/auth.py:1312
msgid "Authentication failed: missing issuer or subject claim. Please check OIDC configuration."
msgstr "Error de autenticación: falta el reclamo del emisor o del sujeto. Verifique la configuración de OIDC."

#: app/routes/auth.py:1347
msgid "User account does not exist and self-registration is disabled."
msgstr "La cuenta de usuario no existe y el registro automático está deshabilitado."

#: app/routes/auth.py:1391
msgid "Could not create your account due to a database error."
msgstr "No se pudo crear su cuenta debido a un error en la base de datos."

#: app/routes/auth.py:1511
msgid "Unexpected error during SSO login. Please try again or contact support."
msgstr "Error inesperado durante el inicio de sesión SSO. Inténtelo de nuevo o comuníquese con el soporte."

#: app/routes/budget_alerts.py:332
msgid "You do not have access to this project."
msgstr "No tienes acceso a este proyecto."

#: app/routes/budget_alerts.py:339
msgid "This project does not have a budget set."
msgstr "Este proyecto no tiene un presupuesto fijado."

#: app/routes/calendar.py:217
msgid "Event created successfully"
msgstr "Evento creado exitosamente"

#: app/routes/calendar.py:298
msgid "Event updated successfully"
msgstr "Evento actualizado exitosamente"

#: app/routes/calendar.py:316
msgid "You do not have permission to delete this event."
msgstr "No tienes permiso para eliminar este evento."

#: app/routes/calendar.py:324
msgid "Failed to delete event"
msgstr "No se pudo eliminar el evento"

#: app/routes/calendar.py:329 app/routes/calendar.py:332
msgid "Event deleted successfully"
msgstr "Evento eliminado exitosamente"

#: app/routes/calendar.py:337
#, python-format
msgid "Error deleting event: %(error)s"
msgstr "Error al eliminar evento: %(error)s"

#: app/routes/calendar.py:364
msgid "Event moved successfully"
msgstr "El evento se movió correctamente"

#: app/routes/calendar.py:398
msgid "Event resized successfully"
msgstr "Evento redimensionado exitosamente"

#: app/routes/calendar.py:415
msgid "You do not have permission to view this event."
msgstr "No tienes permiso para ver este evento."

#: app/routes/calendar.py:466
msgid "You do not have permission to edit this event."
msgstr "No tienes permiso para editar este evento."

#: app/routes/client_notes.py:23 app/routes/clients.py:67
#: app/routes/clients.py:71
msgid "Clients module is disabled by the administrator."
msgstr ""

#: app/routes/client_notes.py:40 app/routes/client_notes.py:86
msgid "Note content cannot be empty"
msgstr "El contenido de la nota no puede estar vacío."

#: app/routes/client_notes.py:51
msgid "Note added successfully"
msgstr "Nota agregada exitosamente"

#: app/routes/client_notes.py:53
msgid "Error adding note"
msgstr "Error al agregar la nota"

#: app/routes/client_notes.py:56 app/routes/client_notes.py:58
#, python-format
msgid "Error adding note: %(error)s"
msgstr "Error al agregar nota: %(error)s"

#: app/routes/client_notes.py:72 app/routes/client_notes.py:118
msgid "Note does not belong to this client"
msgstr "La nota no pertenece a este cliente."

#: app/routes/client_notes.py:77
msgid "You do not have permission to edit this note"
msgstr "No tienes permiso para editar esta nota."

#: app/routes/client_notes.py:92 app/templates/clients/view.html:565
#: app/templates/clients/view.html:570
msgid "Error updating note"
msgstr "Error al actualizar la nota"

#: app/routes/client_notes.py:99
msgid "Note updated successfully"
msgstr "Nota actualizada con éxito"

#: app/routes/client_notes.py:103 app/routes/client_notes.py:105
#, python-format
msgid "Error updating note: %(error)s"
msgstr "Nota de actualización de error: %(error)s"

#: app/routes/client_notes.py:123
msgid "You do not have permission to delete this note"
msgstr "No tienes permiso para eliminar esta nota."

#: app/routes/client_notes.py:132
msgid "Error deleting note"
msgstr "Error al eliminar la nota"

#: app/routes/client_notes.py:139
msgid "Note deleted successfully"
msgstr "Nota eliminada exitosamente"

#: app/routes/client_notes.py:142
#, python-format
msgid "Error deleting note: %(error)s"
msgstr "Error al eliminar la nota: %(error)s"

#: app/routes/client_portal.py:64 app/routes/client_portal.py:71
#: app/routes/client_portal.py:200 app/routes/client_portal.py:228
#: app/routes/client_portal.py:237 app/routes/client_portal.py:241
#: app/routes/client_portal.py:266
msgid "Please log in to access the client portal."
msgstr "Por favor inicie sesión para acceder al portal del cliente."

#: app/routes/client_portal.py:79 app/templates/errors/403.html:13
msgid "Access Denied"
msgstr "Acceso denegado"

#: app/routes/client_portal.py:80 app/templates/errors/403.html:3
msgid "403 Forbidden"
msgstr "403 Prohibido"

#: app/routes/client_portal.py:81
msgid "You don't have permission to access this resource. Client portal access may not be enabled for your account."
msgstr ""

#: app/routes/client_portal.py:85
msgid "Your account may not have client portal access enabled"
msgstr ""

#: app/routes/client_portal.py:86
msgid "Your account may be inactive"
msgstr ""

#: app/routes/client_portal.py:87
msgid "You may not be assigned to a client"
msgstr ""

#: app/routes/client_portal.py:105 app/templates/errors/404.html:3
#: app/templates/errors/404.html:14
msgid "Page Not Found"
msgstr "Página no encontrada"

#: app/routes/client_portal.py:106
msgid "404 Not Found"
msgstr ""

#: app/routes/client_portal.py:107 app/templates/errors/404.html:17
msgid "The page you're looking for doesn't exist or has been moved."
msgstr "La página que estás buscando no existe o ha sido movida."

#: app/routes/client_portal.py:125 app/templates/errors/500.html:3
#: app/templates/errors/500.html:14
msgid "Server Error"
msgstr "Error del servidor"

#: app/routes/client_portal.py:126
msgid "500 Internal Server Error"
msgstr ""

#: app/routes/client_portal.py:127
msgid "An unexpected error occurred. Please try again later or contact support if the problem persists."
msgstr ""

#: app/routes/client_portal.py:204
msgid "Client portal access is not enabled for your account."
msgstr "El acceso al portal del cliente no está habilitado para su cuenta."

#: app/routes/client_portal.py:209
msgid "Your client account is inactive."
msgstr "Su cuenta de cliente está inactiva."

#: app/routes/client_portal.py:329
msgid "Username and password are required."
msgstr "Se requiere nombre de usuario y contraseña."

#: app/routes/client_portal.py:336
msgid "Invalid username or password."
msgstr "Nombre de usuario o contraseña no válidos."

#: app/routes/client_portal.py:343
#, python-format
msgid "Welcome, %(client_name)s!"
msgstr "¡Bienvenido, %(client_name)s!"

#: app/routes/client_portal.py:357
msgid "You have been logged out."
msgstr "Se te ha cerrado la sesión."

#: app/routes/client_portal.py:367
msgid "Invalid or missing password setup token."
msgstr "Token de configuración de contraseña no válido o faltante."

#: app/routes/client_portal.py:374
msgid "Invalid or expired password setup token. Please request a new one."
msgstr "Token de configuración de contraseña no válido o caducado. Por favor solicite uno nuevo."

#: app/routes/client_portal.py:383 app/routes/integrations.py:563
msgid "Password is required."
msgstr "Se requiere contraseña."

#: app/routes/client_portal.py:399
msgid "Could not set password due to a database error."
msgstr "No se pudo establecer la contraseña debido a un error de la base de datos."

#: app/routes/client_portal.py:402
msgid "Password set successfully! You can now log in to the portal."
msgstr "¡Contraseña establecida exitosamente! Ahora puede iniciar sesión en el portal."

#: app/routes/client_portal.py:428 app/routes/client_portal.py:564
#: app/routes/client_portal.py:590 app/routes/client_portal.py:669
msgid "Unable to load client portal data."
msgstr "No se pueden cargar los datos del portal del cliente."

#: app/routes/client_portal.py:525
msgid "widget_ids must be a list"
msgstr ""

#: app/routes/client_portal.py:528
#, python-format
msgid "Invalid widget id(s): %(ids)s"
msgstr ""

#: app/routes/client_portal.py:530
msgid "widget_order must be a list"
msgstr ""

#: app/routes/client_portal.py:534
#, python-format
msgid "Invalid widget id(s) in order: %(ids)s"
msgstr ""

#: app/routes/client_portal.py:620 app/routes/client_portal.py:1114
msgid "Invoice not found."
msgstr "Factura no encontrada."

#: app/routes/client_portal.py:653 app/routes/client_portal.py:1018
#: app/routes/client_portal.py:1063
msgid "Quote not found."
msgstr "Cita no encontrada."

#: app/routes/client_portal.py:718 app/routes/client_portal.py:752
#: app/routes/client_portal.py:844
msgid "Issue reporting is not available."
msgstr ""

#: app/routes/client_portal.py:769 app/routes/issues.py:189
#: app/routes/issues.py:338
msgid "Title is required."
msgstr ""

#: app/routes/client_portal.py:786 app/routes/integrations.py:1096
#: app/routes/integrations.py:1234 app/routes/issues.py:200
msgid "Invalid project selected."
msgstr ""

#: app/routes/client_portal.py:815 app/routes/issues.py:218
msgid "Could not create issue due to a database error."
msgstr ""

#: app/routes/client_portal.py:828
msgid "Issue reported successfully. We will review it shortly."
msgstr ""

#: app/routes/client_portal.py:850
msgid "Issue not found."
msgstr ""

#: app/routes/client_portal.py:916 app/routes/client_portal.py:936
#: app/routes/client_portal.py:976 app/routes/invoice_approvals.py:124
msgid "Approval not found."
msgstr ""

#: app/routes/client_portal.py:946 app/routes/client_portal.py:991
msgid "No contact found for approval."
msgstr ""

#: app/routes/client_portal.py:955
msgid "Time entry approved successfully."
msgstr ""

#: app/routes/client_portal.py:957
#, python-format
msgid "Error approving time entry: %(error)s"
msgstr ""

#: app/routes/client_portal.py:981
msgid "Rejection reason is required."
msgstr ""

#: app/routes/client_portal.py:998
msgid "Time entry rejected."
msgstr ""

#: app/routes/client_portal.py:1000
#, python-format
msgid "Error rejecting time entry: %(error)s"
msgstr ""

#: app/routes/client_portal.py:1022
msgid "This quote cannot be accepted."
msgstr ""

#: app/routes/client_portal.py:1049
msgid "Quote accepted successfully. We will contact you shortly."
msgstr ""

#: app/routes/client_portal.py:1067
msgid "This quote cannot be rejected."
msgstr ""

#: app/routes/client_portal.py:1097
msgid "Quote rejected. We appreciate your feedback."
msgstr ""

#: app/routes/client_portal.py:1119
msgid "This invoice is already paid."
msgstr ""

#: app/routes/client_portal.py:1127
msgid "Online payment is not currently available. Please contact us for payment instructions."
msgstr ""

#: app/routes/client_portal.py:1134 app/routes/payment_gateways.py:122
msgid "Payment gateway not yet supported."
msgstr ""

#: app/routes/client_portal.py:1151
msgid "Project not found."
msgstr ""

#: app/routes/client_portal.py:1157
msgid "Comment cannot be empty."
msgstr ""

#: app/routes/client_portal.py:1167
msgid "No contact found for commenting."
msgstr ""

#: app/routes/client_portal.py:1180
msgid "Comment added successfully."
msgstr ""

#: app/routes/client_portal.py:1259
#, python-format
msgid "Marked %(count)d notifications as read."
msgstr ""

#: app/routes/client_portal.py:1357
msgid "Attachment not found or access denied."
msgstr ""

#: app/routes/client_portal.py:1382
#, fuzzy
msgid "Unable to load report data."
msgstr "No se pueden cargar los datos del portal del cliente."

#: app/routes/client_portal.py:1415
#, fuzzy
msgid "Client Report"
msgstr "Portal del cliente"

#: app/routes/client_portal.py:1415 app/templates/client_portal/reports.html:15
#, fuzzy, python-format
msgid "Last %(days)s days"
msgstr "Últimos 7 días"

#: app/routes/client_portal.py:1417
#: app/templates/inventory/purchase_orders/view.html:182
#: app/templates/inventory/stock_items/view.html:271
#: app/templates/inventory/suppliers/view.html:171
#: app/templates/inventory/warehouses/view.html:165
#: app/templates/reports/builder.html:53 app/templates/reports/builder.html:411
#: app/templates/reports/builder.html:584
#: app/templates/reports/custom_view.html:61
#: app/templates/reports/unpaid_hours_report.html:42
msgid "Summary"
msgstr "Resumen"

#: app/routes/client_portal.py:1418 app/templates/admin/dashboard.html:114
#: app/templates/analytics/dashboard.html:43
#: app/templates/analytics/dashboard_improved.html:35
#: app/templates/analytics/mobile_dashboard.html:31
#: app/templates/budget/project_detail.html:189
#: app/templates/client_portal/projects.html:46
#: app/templates/client_portal/reports.html:24
#: app/templates/client_portal/reports.html:91
#: app/templates/client_portal/widgets/stats.html:18
#: app/templates/clients/edit.html:184 app/templates/projects/dashboard.html:53
#: app/templates/projects/time_entries_overview.html:22
#: app/templates/reports/index.html:26
#: app/templates/reports/unpaid_hours_report.html:74
#: app/templates/reports/unpaid_hours_report.html:91
#: app/templates/timer/time_entries_overview.html:22
#: app/templates/user/profile.html:45
msgid "Total Hours"
msgstr "Horas totales"

#: app/routes/client_portal.py:1420 app/templates/client_portal/reports.html:37
msgid "Total Invoiced"
msgstr ""

#: app/routes/client_portal.py:1421
#: app/templates/client_portal/invoices.html:40
#: app/templates/client_portal/reports.html:50
#: app/templates/invoices/list.html:131
#: app/templates/timer/_time_entries_list.html:164
#: app/templates/timer/edit_timer.html:360
#: app/templates/timer/edit_timer.html:481
#: app/templates/timer/time_entries_overview.html:105
#: app/templates/timer/time_entries_overview.html:198
#: app/templates/timer/view_timer.html:136
#: app/templates/timer/view_timer.html:140 app/utils/i18n_helpers.py:66
#: app/utils/i18n_helpers.py:78
msgid "Paid"
msgstr "Pagado"

#: app/routes/client_portal.py:1422 app/templates/admin/pdf_layout.html:1892
#: app/templates/admin/quote_pdf_layout.html:1698
#: app/templates/client_portal/invoice_detail.html:97
#: app/templates/client_portal/reports.html:63
#: app/templates/client_portal/widgets/stats.html:42
#: app/templates/invoices/edit.html:368
msgid "Outstanding"
msgstr "Pendiente"

#: app/routes/client_portal.py:1424 app/templates/analytics/dashboard.html:101
#: app/templates/analytics/dashboard_improved.html:168
#: app/templates/email/weekly_summary.html:104
msgid "Hours by Project"
msgstr "Horas por proyecto"

#: app/routes/client_portal.py:1425 app/routes/reports.py:1017
#: app/templates/admin/dashboard.html:335 app/templates/approvals/view.html:35
#: app/templates/audit_logs/list.html:112 app/templates/audit_logs/view.html:89
#: app/templates/budget/dashboard.html:116
#: app/templates/calendar/event_detail.html:88
#: app/templates/calendar/event_form.html:116
#: app/templates/client_portal/approvals.html:119
#: app/templates/client_portal/issue_detail.html:63
#: app/templates/client_portal/new_issue.html:41
#: app/templates/client_portal/reports.html:89
#: app/templates/client_portal/reports.html:220
#: app/templates/client_portal/time_entries.html:24
#: app/templates/client_portal/time_entries.html:63
#: app/templates/client_portal/widgets/time_entries.html:21
#: app/templates/clients/view.html:350
#: app/templates/components/offline_indicator.html:87
#: app/templates/expenses/list.html:330 app/templates/gantt/view.html:28
#: app/templates/inventory/movements/list.html:40
#: app/templates/invoices/create.html:17
#: app/templates/invoices/pdf_default.html:76 app/templates/issues/edit.html:60
#: app/templates/issues/list.html:61 app/templates/issues/list.html:95
#: app/templates/issues/list.html:112 app/templates/issues/new.html:54
#: app/templates/issues/view.html:132
#: app/templates/kanban/create_column.html:39
#: app/templates/kiosk/dashboard.html:303 app/templates/main/dashboard.html:335
#: app/templates/main/dashboard.html:344 app/templates/main/dashboard.html:733
#: app/templates/main/search.html:33 app/templates/mileage/gps.html:18
#: app/templates/recurring_invoices/list.html:24
#: app/templates/recurring_invoices/list.html:38
#: app/templates/recurring_tasks/form.html:35
#: app/templates/recurring_tasks/list.html:31
#: app/templates/recurring_tasks/list.html:47
#: app/templates/reports/builder.html:94 app/templates/reports/index.html:225
#: app/templates/reports/index.html:233
#: app/templates/reports/iterative_view.html:44
#: app/templates/reports/iterative_view.html:55
#: app/templates/reports/time_entries_report.html:35
#: app/templates/reports/time_entries_report.html:106
#: app/templates/reports/time_entries_report.html:120
#: app/templates/reports/unpaid_hours_report.html:120
#: app/templates/reports/user_report.html:76
#: app/templates/tasks/_kanban.html:1245
#: app/templates/tasks/_tasks_list.html:48 app/templates/tasks/create.html:46
#: app/templates/tasks/edit.html:53 app/templates/tasks/edit.html:201
#: app/templates/tasks/my_tasks.html:149
#: app/templates/timer/bulk_entry.html:101
#: app/templates/timer/calendar.html:148 app/templates/timer/calendar.html:858
#: app/templates/timer/calendar.html:863
#: app/templates/timer/edit_timer.html:229
#: app/templates/timer/manual_entry.html:62
#: app/templates/timer/time_entries_overview.html:89
#: app/templates/timer/timer_page.html:138
#: app/templates/timer/view_timer.html:71 app/utils/pdf_generator.py:1143
msgid "Project"
msgstr "Proyecto"

#: app/routes/client_portal.py:1425 app/routes/client_portal.py:1432
#: app/templates/admin/dashboard.html:506
#: app/templates/analytics/dashboard.html:221
#: app/templates/analytics/dashboard_improved.html:215
#: app/templates/analytics/mobile_dashboard.html:161
#: app/templates/budget/project_detail.html:206
#: app/templates/client_portal/reports.html:186
#: app/templates/main/dashboard.html:499
#: app/templates/projects/dashboard.html:454
#: app/templates/projects/dashboard.html:488
#: app/templates/projects/time_entries_overview.html:70
#: app/templates/projects/time_entries_overview.html:81
#: app/templates/reports/iterative_view.html:46
#: app/templates/reports/iterative_view.html:57
#: app/templates/reports/summary.html:43 app/templates/reports/summary.html:86
msgid "Hours"
msgstr "Horas"

#: app/routes/client_portal.py:1425 app/templates/admin/dashboard.html:129
#: app/templates/analytics/dashboard.html:48
#: app/templates/analytics/dashboard_improved.html:44
#: app/templates/client_portal/reports.html:92
#: app/templates/reports/index.html:27
#: app/templates/timer/time_entries_overview.html:23
msgid "Billable Hours"
msgstr "Horas facturables"

#: app/routes/client_portal.py:1431
#, fuzzy
msgid "Time by Date"
msgstr "Rango de tiempo"

#: app/routes/client_portal.py:1432 app/routes/reports.py:1013
#: app/templates/admin/dashboard.html:337
#: app/templates/analytics/dashboard.html:222
#: app/templates/analytics/dashboard_improved.html:216
#: app/templates/analytics/mobile_dashboard.html:162
#: app/templates/approvals/view.html:57
#: app/templates/client_portal/approvals.html:141
#: app/templates/client_portal/quote_detail.html:35
#: app/templates/client_portal/quotes.html:27
#: app/templates/client_portal/quotes.html:43
#: app/templates/client_portal/reports.html:185
#: app/templates/client_portal/reports.html:219
#: app/templates/client_portal/time_entries.html:62
#: app/templates/client_portal/widgets/time_entries.html:20
#: app/templates/clients/view.html:349
#: app/templates/contacts/communication_form.html:52
#: app/templates/expenses/dashboard.html:187
#: app/templates/expenses/list.html:296
#: app/templates/inventory/adjustments/list.html:56
#: app/templates/inventory/adjustments/list.html:67
#: app/templates/inventory/movements/list.html:54
#: app/templates/inventory/movements/list.html:68
#: app/templates/inventory/reports/movement_history.html:70
#: app/templates/inventory/reports/movement_history.html:84
#: app/templates/inventory/stock_items/history.html:62
#: app/templates/inventory/stock_items/history.html:75
#: app/templates/inventory/stock_items/view.html:239
#: app/templates/inventory/stock_items/view.html:249
#: app/templates/inventory/transfers/list.html:38
#: app/templates/inventory/transfers/list.html:53
#: app/templates/inventory/warehouses/view.html:129
#: app/templates/inventory/warehouses/view.html:139
#: app/templates/invoices/edit.html:164
#: app/templates/invoices/pdf_default.html:123
#: app/templates/main/dashboard.html:337 app/templates/main/dashboard.html:366
#: app/templates/payments/list.html:157 app/templates/projects/add_cost.html:50
#: app/templates/projects/edit_cost.html:57 app/templates/quotes/create.html:98
#: app/templates/quotes/edit.html:146 app/templates/quotes/pdf_default.html:57
#: app/templates/reports/index.html:227 app/templates/reports/index.html:235
#: app/templates/reports/iterative_view.html:42
#: app/templates/reports/iterative_view.html:53
#: app/templates/reports/time_entries_report.html:102
#: app/templates/reports/time_entries_report.html:116
#: app/templates/reports/unpaid_hours_report.html:122
#: app/templates/reports/user_report.html:74 app/templates/tasks/view.html:75
#: app/templates/timer/_time_entries_list.html:34
#: app/templates/timer/_time_entries_list.html:57
#: app/utils/pdf_generator_fallback.py:291
#: app/utils/pdf_generator_fallback.py:555
msgid "Date"
msgstr "Fecha"

#: app/routes/client_portal_customization.py:50
#: app/routes/recurring_tasks.py:81 app/routes/time_approvals.py:48
#: app/routes/webhooks.py:103 app/routes/webhooks.py:126
#: app/routes/webhooks.py:169 app/routes/workflows.py:95
#: app/routes/workflows.py:116 app/routes/workforce.py:147
#: app/routes/workforce.py:169 app/routes/workforce.py:228
#: app/routes/workforce.py:251 app/routes/workforce.py:278
#: app/routes/workforce.py:331 app/routes/workforce.py:355
#: app/routes/workforce.py:398 app/routes/workforce.py:419
#: app/routes/workforce.py:565 app/routes/workforce.py:614
msgid "Access denied"
msgstr "Acceso denegado"

#: app/routes/client_portal_customization.py:111
msgid "File too large. Maximum 5MB."
msgstr ""

#: app/routes/client_portal_customization.py:139
msgid "Portal customization updated successfully"
msgstr ""

#: app/routes/clients.py:89
msgid "Search query is too long. Maximum 200 characters."
msgstr ""

#: app/routes/clients.py:255 app/routes/clients.py:256
msgid "You do not have permission to create clients"
msgstr "No tienes permiso para crear clientes."

#: app/routes/clients.py:285 app/routes/clients.py:601
msgid "Client name is required"
msgstr "El nombre del cliente es obligatorio."

#: app/routes/clients.py:296 app/routes/clients.py:610
msgid "A client with this name already exists"
msgstr "Ya existe un cliente con este nombre"

#: app/routes/clients.py:307
msgid "Invalid email address"
msgstr ""

#: app/routes/clients.py:316 app/routes/clients.py:620 app/routes/offers.py:92
#: app/routes/offers.py:224 app/routes/projects.py:349
#: app/routes/projects.py:953 app/routes/quotes.py:197
msgid "Invalid hourly rate format"
msgstr "Formato de tarifa por hora no válido"

#: app/routes/clients.py:325 app/routes/clients.py:631
msgid "Prepaid hours must be a positive number."
msgstr "Las horas prepagas deben ser un número positivo."

#: app/routes/clients.py:337 app/routes/clients.py:645
msgid "Prepaid reset day must be between 1 and 28."
msgstr "El día de reinicio prepago debe estar entre el 1 y el 28."

#: app/routes/clients.py:359 app/routes/clients.py:364
#: app/routes/clients.py:686 app/routes/projects.py:433
#: app/routes/projects.py:1048
#, python-format
msgid "Custom field '%(field)s' is required"
msgstr ""

#: app/routes/clients.py:389
msgid "Could not create client due to a database error. Please check server logs."
msgstr "No se pudo crear el cliente debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:439 app/routes/clients.py:580
#, fuzzy
msgid "You do not have access to this client."
msgstr "No tienes acceso a este proyecto."

#: app/routes/clients.py:585
msgid "You do not have permission to edit clients"
msgstr "No tienes permiso para editar clientes"

#: app/routes/clients.py:660
msgid "Portal username is required when enabling portal access."
msgstr "Se requiere el nombre de usuario del portal al habilitar el acceso al portal."

#: app/routes/clients.py:669
msgid "This portal username is already in use by another client."
msgstr "Este nombre de usuario del portal ya está siendo utilizado por otro cliente."

#: app/routes/clients.py:719
msgid "Could not update client due to a database error. Please check server logs."
msgstr "No se pudo actualizar el cliente debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:742
msgid "You do not have permission to send portal emails"
msgstr "No tienes permiso para enviar correos electrónicos del portal."

#: app/routes/clients.py:747
msgid "Client portal is not enabled for this client."
msgstr "El portal del cliente no está habilitado para este cliente."

#: app/routes/clients.py:751
msgid "Portal username is not set for this client."
msgstr "El nombre de usuario del portal no está configurado para este cliente."

#: app/routes/clients.py:755
msgid "Client email address is not set. Cannot send password setup email."
msgstr "La dirección de correo electrónico del cliente no está configurada. No se puede enviar el correo electrónico de configuración de contraseña."

#: app/routes/clients.py:762
msgid "Could not generate password setup token due to a database error."
msgstr "No se pudo generar el token de configuración de contraseña debido a un error de la base de datos."

#: app/routes/clients.py:777
#, python-format
msgid "Password setup email sent successfully to %(email)s"
msgstr "Correo electrónico de configuración de contraseña enviado correctamente a %(email)s"

#: app/routes/clients.py:788
msgid "Email server is not configured. Please configure email settings in Admin → Email Configuration or set MAIL_SERVER environment variable."
msgstr "El servidor de correo electrónico no está configurado. Configure los ajustes de correo electrónico en Admin → Configuración de correo electrónico o establezca la variable de entorno MAIL_SERVER."

#: app/routes/clients.py:795
msgid "Failed to send password setup email. Please check email configuration and server logs for details."
msgstr "No se pudo enviar el correo electrónico de configuración de contraseña. Consulte la configuración del correo electrónico y los registros del servidor para obtener más detalles."

#: app/routes/clients.py:802
#, python-format
msgid "An error occurred while sending the email: %(error)s"
msgstr "Se produjo un error al enviar el correo electrónico: %(error)s"

#: app/routes/clients.py:815
msgid "You do not have permission to archive clients"
msgstr "No tienes permiso para archivar clientes"

#: app/routes/clients.py:819
msgid "Client is already inactive"
msgstr "El cliente ya está inactivo"

#: app/routes/clients.py:844
msgid "You do not have permission to activate clients"
msgstr "No tienes permiso para activar clientes"

#: app/routes/clients.py:848
msgid "Client is already active"
msgstr "El cliente ya está activo"

#: app/routes/clients.py:874 app/routes/clients.py:931
msgid "You do not have permission to delete clients"
msgstr "No tienes permiso para eliminar clientes"

#: app/routes/clients.py:879
msgid "Cannot delete client with existing projects. Please delete all projects first."
msgstr ""

#: app/routes/clients.py:886
msgid "Cannot delete client with existing invoices. Please delete all invoices first before deleting the client."
msgstr ""

#: app/routes/clients.py:904
msgid "Could not delete client due to a database error. Please check server logs."
msgstr "No se pudo eliminar el cliente debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:937
msgid "No clients selected for deletion"
msgstr "No se han seleccionado clientes para su eliminación"

#: app/routes/clients.py:987
msgid "Could not delete clients due to a database error. Please check server logs."
msgstr "No se pudieron eliminar clientes debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:1007
msgid "No clients were deleted"
msgstr "No se eliminaron clientes"

#: app/routes/clients.py:1018
msgid "You do not have permission to change client status"
msgstr "No tienes permiso para cambiar el estado del cliente"

#: app/routes/clients.py:1025
msgid "No clients selected"
msgstr "No hay clientes seleccionados"

#: app/routes/clients.py:1029 app/routes/projects.py:1354
#: app/routes/tasks.py:632
msgid "Invalid status"
msgstr "Estado no válido"

#: app/routes/clients.py:1060
msgid "Could not update client status due to a database error. Please check server logs."
msgstr "No se pudo actualizar el estado del cliente debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:1077
msgid "No clients were updated"
msgstr "No se actualizaron clientes"

#: app/routes/clients.py:1264 app/routes/comments.py:286
#: app/routes/expenses.py:1264 app/routes/invoices.py:1608
#: app/routes/projects.py:2023 app/routes/quotes.py:1127
#: app/routes/quotes.py:1987 app/routes/team_chat.py:477
msgid "No file provided"
msgstr "No se proporcionó ningún archivo"

#: app/routes/clients.py:1273 app/routes/comments.py:295
#: app/routes/projects.py:2032 app/routes/quotes.py:1136
msgid "File type not allowed"
msgstr "Tipo de archivo no permitido"

#: app/routes/clients.py:1282 app/routes/comments.py:304
#: app/routes/projects.py:2041 app/routes/quotes.py:1145
msgid "File size exceeds maximum allowed size (10 MB)"
msgstr "El tamaño del archivo excede el tamaño máximo permitido (10 MB)"

#: app/routes/clients.py:1319 app/routes/clients.py:1335
#: app/routes/comments.py:337 app/routes/projects.py:2078
#: app/routes/projects.py:2094 app/routes/quotes.py:1191
msgid "Could not upload attachment due to a database error. Please check server logs."
msgstr "No se pudo cargar el archivo adjunto debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:1332 app/routes/projects.py:2091
msgid "The attachments feature requires a database migration. Please run: flask db upgrade"
msgstr ""

#: app/routes/clients.py:1357 app/routes/comments.py:354
#: app/routes/projects.py:2116 app/routes/quotes.py:1212
msgid "Attachment uploaded successfully"
msgstr "Adjunto cargado exitosamente"

#: app/routes/clients.py:1376 app/routes/comments.py:369
#: app/routes/projects.py:2135 app/routes/quotes.py:1236
#: app/routes/team_chat.py:424
msgid "File not found"
msgstr "Archivo no encontrado"

#: app/routes/clients.py:1408 app/routes/projects.py:2169
#: app/routes/quotes.py:1275
msgid "Could not delete attachment due to a database error. Please check server logs."
msgstr "No se pudo eliminar el archivo adjunto debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/clients.py:1418 app/routes/comments.py:402
#: app/routes/projects.py:2184 app/routes/quotes.py:1285
msgid "Attachment deleted successfully"
msgstr "Adjunto eliminado exitosamente"

#: app/routes/comments.py:30 app/routes/comments.py:117
msgid "Comment content cannot be empty"
msgstr "El contenido del comentario no puede estar vacío."

#: app/routes/comments.py:34
msgid "Comment must be associated with a project, task, or quote"
msgstr "El comentario debe estar asociado con un proyecto, tarea o cotización."

#: app/routes/comments.py:40
msgid "Comment cannot be associated with multiple targets"
msgstr "El comentario no se puede asociar con múltiples objetivos"

#: app/routes/comments.py:64
msgid "Invalid parent comment"
msgstr "Comentario de padre no válido"

#: app/routes/comments.py:83
msgid "Comment added successfully"
msgstr "Comentario agregado exitosamente"

#: app/routes/comments.py:85
msgid "Error adding comment"
msgstr "Error al agregar el comentario"

#: app/routes/comments.py:88
#, python-format
msgid "Error adding comment: %(error)s"
msgstr "Error al agregar comentario: %(error)s"

#: app/routes/comments.py:109
msgid "You do not have permission to edit this comment"
msgstr "No tienes permiso para editar este comentario."

#: app/routes/comments.py:126
msgid "Comment updated successfully"
msgstr "Comentario actualizado exitosamente"

#: app/routes/comments.py:139
#, python-format
msgid "Error updating comment: %(error)s"
msgstr "Error al actualizar el comentario: %(error)s"

#: app/routes/comments.py:152
msgid "You do not have permission to delete this comment"
msgstr "No tienes permiso para eliminar este comentario."

#: app/routes/comments.py:167
msgid "Comment deleted successfully"
msgstr "Comentario eliminado con éxito"

#: app/routes/comments.py:180
#, python-format
msgid "Error deleting comment: %(error)s"
msgstr "Error al eliminar comentario: %(error)s"

#: app/routes/comments.py:274
msgid "You do not have permission to add attachments to this comment"
msgstr ""

#: app/routes/comments.py:350
#, python-format
msgid "Error uploading attachment: %(error)s"
msgstr ""

#: app/routes/comments.py:386 app/routes/quotes.py:1258
msgid "You do not have permission to delete this attachment"
msgstr "No tienes permiso para eliminar este archivo adjunto"

#: app/routes/comments.py:404
msgid "Error deleting attachment"
msgstr ""

#: app/routes/comments.py:406
#, python-format
msgid "Error deleting attachment: %(error)s"
msgstr ""

#: app/routes/contacts.py:62
msgid "Contact created successfully"
msgstr "Contacto creado exitosamente"

#: app/routes/contacts.py:66
#, python-format
msgid "Error creating contact: %(error)s"
msgstr "Error al crear contacto: %(error)s"

#: app/routes/contacts.py:109
msgid "Contact updated successfully"
msgstr "Contacto actualizado exitosamente"

#: app/routes/contacts.py:113
#, python-format
msgid "Error updating contact: %(error)s"
msgstr "Error al actualizar el contacto: %(error)s"

#: app/routes/contacts.py:129
msgid "Contact deleted successfully"
msgstr "Contacto eliminado exitosamente"

#: app/routes/contacts.py:132
#, python-format
msgid "Error deleting contact: %(error)s"
msgstr "Error al eliminar contacto: %(error)s"

#: app/routes/contacts.py:146
msgid "Contact set as primary"
msgstr "Contacto establecido como principal"

#: app/routes/contacts.py:149
#, python-format
msgid "Error setting primary contact: %(error)s"
msgstr "Error al configurar el contacto principal: %(error)s"

#: app/routes/contacts.py:192
msgid "Communication recorded successfully"
msgstr "Comunicación grabada con éxito"

#: app/routes/contacts.py:196
#, python-format
msgid "Error recording communication: %(error)s"
msgstr "Error al grabar comunicación: %(error)s"

#: app/routes/custom_field_definitions.py:44
#: app/routes/custom_field_definitions.py:101 app/routes/link_templates.py:54
#: app/routes/link_templates.py:110
msgid "Field key is required"
msgstr ""

#: app/routes/custom_field_definitions.py:48
#: app/routes/custom_field_definitions.py:105 app/routes/kanban.py:240
msgid "Label is required"
msgstr "Se requiere etiqueta"

#: app/routes/custom_field_definitions.py:53
#: app/routes/custom_field_definitions.py:110
msgid "Field key must contain only letters, numbers, and underscores"
msgstr ""

#: app/routes/custom_field_definitions.py:59
#: app/routes/custom_field_definitions.py:118
msgid "A custom field definition with this key already exists"
msgstr ""

#: app/routes/custom_field_definitions.py:75
msgid "Could not create custom field definition due to a database error."
msgstr ""

#: app/routes/custom_field_definitions.py:78
msgid "Custom field definition created successfully"
msgstr ""

#: app/routes/custom_field_definitions.py:131
msgid "Could not update custom field definition due to a database error."
msgstr ""

#: app/routes/custom_field_definitions.py:134
msgid "Custom field definition updated successfully"
msgstr ""

#: app/routes/custom_field_definitions.py:167
msgid "Could not remove custom field from clients due to a database error."
msgstr ""

#: app/routes/custom_field_definitions.py:174
msgid "Could not delete custom field definition due to a database error."
msgstr ""

#: app/routes/custom_field_definitions.py:178
#, python-format
msgid "Custom field definition deleted successfully. The field was removed from %(count)d client(s)."
msgstr ""

#: app/routes/custom_field_definitions.py:185
msgid "Custom field definition deleted successfully"
msgstr ""

#: app/routes/custom_reports.py:43 app/routes/custom_reports.py:661
msgid "You do not have permission to edit this report."
msgstr ""

#: app/routes/custom_reports.py:164
#, python-format
msgid "Report %(action)s successfully"
msgstr ""

#: app/routes/custom_reports.py:192
msgid "You do not have permission to view this report."
msgstr ""

#: app/routes/custom_reports.py:699
msgid "You do not have permission to delete this report view."
msgstr ""

#: app/routes/custom_reports.py:710
#, python-format
msgid "Cannot delete report view: it is used in %(count)d scheduled report(s)."
msgstr ""

#: app/routes/custom_reports.py:716
#, python-format
msgid "Report view \"%(name)s\" deleted successfully."
msgstr ""

#: app/routes/custom_reports.py:718
msgid "Could not delete report view due to a database error"
msgstr ""

#: app/routes/deals.py:107 app/routes/deals.py:192
msgid "Invalid deal value"
msgstr "Valor de oferta no válido"

#: app/routes/deals.py:144
msgid "Deal created successfully"
msgstr "Oferta creada con éxito"

#: app/routes/deals.py:148
#, python-format
msgid "Error creating deal: %(error)s"
msgstr "Error al crear la oferta: %(error)s"

#: app/routes/deals.py:224
msgid "Deal updated successfully"
msgstr "Oferta actualizada con éxito"

#: app/routes/deals.py:228
#, python-format
msgid "Error updating deal: %(error)s"
msgstr "Error al actualizar la oferta: %(error)s"

#: app/routes/deals.py:258
msgid "Deal closed as won"
msgstr "Trato cerrado como ganado"

#: app/routes/deals.py:261 app/routes/deals.py:289
#, python-format
msgid "Error closing deal: %(error)s"
msgstr "Error al cerrar el trato: %(error)s"

#: app/routes/deals.py:286
msgid "Deal closed as lost"
msgstr "Trato cerrado como perdido"

#: app/routes/deals.py:326 app/routes/leads.py:339
msgid "Activity recorded successfully"
msgstr "Actividad registrada exitosamente"

#: app/routes/deals.py:330 app/routes/leads.py:343
#, python-format
msgid "Error recording activity: %(error)s"
msgstr "Error al registrar la actividad: %(error)s"

#: app/routes/expense_categories.py:53 app/routes/expense_categories.py:143
msgid "Category name is required"
msgstr "El nombre de la categoría es obligatorio."

#: app/routes/expense_categories.py:88
msgid "Expense category created successfully"
msgstr "Categoría de gastos creada correctamente"

#: app/routes/expense_categories.py:93 app/routes/expense_categories.py:100
msgid "Error creating expense category"
msgstr "Error al crear categoría de gastos"

#: app/routes/expense_categories.py:174
msgid "Expense category updated successfully"
msgstr "Categoría de gastos actualizada correctamente"

#: app/routes/expense_categories.py:179 app/routes/expense_categories.py:186
msgid "Error updating expense category"
msgstr "Error al actualizar la categoría de gastos"

#: app/routes/expense_categories.py:203
msgid "Expense category deactivated successfully"
msgstr "Categoría de gastos desactivada exitosamente"

#: app/routes/expense_categories.py:207 app/routes/expense_categories.py:213
msgid "Error deactivating expense category"
msgstr "Error al desactivar la categoría de gastos"

#: app/routes/expenses.py:286
msgid "Title is required"
msgstr "Se requiere título"

#: app/routes/expenses.py:290
msgid "Category is required"
msgstr "Se requiere categoría"

#: app/routes/expenses.py:294
msgid "Amount is required"
msgstr "Se requiere cantidad"

#: app/routes/expenses.py:298
msgid "Expense date is required"
msgstr "Se requiere fecha de gasto"

#: app/routes/expenses.py:305 app/routes/expenses.py:555
#: app/routes/expenses.py:1388 app/routes/mileage.py:362
#: app/routes/per_diem.py:312 app/routes/projects.py:1618
#: app/routes/projects.py:1689 app/routes/reports.py:129
#: app/routes/reports.py:189 app/routes/reports.py:369
#: app/routes/reports.py:696 app/routes/reports.py:882
#: app/routes/reports.py:964 app/routes/reports.py:1005
#: app/routes/reports.py:1075 app/routes/reports.py:1155
#: app/routes/reports.py:1252 app/routes/reports.py:1427
#: app/routes/reports.py:1506 app/routes/reports.py:1657
#: app/routes/reports.py:1753 app/routes/timer.py:1703
#: app/routes/weekly_goals.py:89 app/templates/timer/calendar.html:1152
msgid "Invalid date format"
msgstr "Formato de fecha no válido"

#: app/routes/expenses.py:313 app/routes/expenses.py:563
#: app/routes/expenses.py:1396 app/routes/projects.py:1611
#: app/routes/projects.py:1682
msgid "Invalid amount format"
msgstr "Formato de importe no válido"

#: app/routes/expenses.py:333 app/routes/issues.py:184
#: app/routes/mileage.py:373 app/routes/per_diem.py:368
#: app/routes/recurring_invoices.py:100 app/routes/timer.py:122
#: app/routes/timer.py:1362
msgid "Selected project does not match the locked client."
msgstr ""

#: app/routes/expenses.py:372 app/routes/expenses.py:632
msgid "Error saving receipt file. Please check directory permissions."
msgstr ""

#: app/routes/expenses.py:375 app/routes/expenses.py:635
msgid "Error uploading receipt file."
msgstr ""

#: app/routes/expenses.py:403
msgid "Expense created successfully"
msgstr "Gasto creado exitosamente"

#: app/routes/expenses.py:418 app/routes/expenses.py:423
#: app/routes/expenses.py:1443 app/routes/expenses.py:1448
msgid "Error creating expense"
msgstr "Error al crear el gasto"

#: app/routes/expenses.py:435
msgid "You do not have permission to view this expense"
msgstr "No tienes permiso para ver este gasto"

#: app/routes/expenses.py:507
msgid "You do not have permission to edit this expense"
msgstr "No tienes permiso para editar este gasto"

#: app/routes/expenses.py:512
msgid "Cannot edit approved or reimbursed expenses"
msgstr "No se pueden editar los gastos aprobados o reembolsados"

#: app/routes/expenses.py:548 app/routes/expenses.py:1381
#: app/routes/mileage.py:355 app/routes/per_diem.py:304
#: app/routes/per_diem.py:764 app/routes/per_diem.py:820
msgid "Please fill in all required fields"
msgstr "Por favor complete todos los campos requeridos"

#: app/routes/expenses.py:640
msgid "Expense updated successfully"
msgstr "Gasto actualizado exitosamente"

#: app/routes/expenses.py:645 app/routes/expenses.py:650
msgid "Error updating expense"
msgstr "Error al actualizar el gasto"

#: app/routes/expenses.py:662
msgid "You do not have permission to delete this expense"
msgstr "No tienes permiso para eliminar este gasto"

#: app/routes/expenses.py:667
msgid "Cannot delete approved or invoiced expenses"
msgstr "No se pueden eliminar los gastos aprobados o facturados"

#: app/routes/expenses.py:684
msgid "Expense deleted successfully"
msgstr "Gasto eliminado correctamente"

#: app/routes/expenses.py:688 app/routes/expenses.py:692
msgid "Error deleting expense"
msgstr "Error al eliminar el gasto"

#: app/routes/expenses.py:704
msgid "No expenses selected for deletion"
msgstr "No se han seleccionado gastos para su eliminación"

#: app/routes/expenses.py:752
msgid "Could not delete expenses due to a database error. Please check server logs."
msgstr "No se pudieron eliminar los gastos debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/expenses.py:757
#, python-format
msgid "Successfully deleted %(count)d expense(s)"
msgstr "%(count)d gastos eliminados correctamente"

#: app/routes/expenses.py:761
#, python-format
msgid "Skipped %(count)d expense(s): %(errors)s"
msgstr "%(count)d gastos omitidos: %(errors)s"

#: app/routes/expenses.py:775
msgid "No expenses selected"
msgstr "No se seleccionaron gastos"

#: app/routes/expenses.py:781 app/routes/invoices.py:834
#: app/routes/mileage.py:631 app/routes/payments.py:544
#: app/routes/per_diem.py:617 app/routes/tasks.py:918
msgid "Invalid status value"
msgstr "Valor de estado no válido"

#: app/routes/expenses.py:811
msgid "Could not update expenses due to a database error"
msgstr "No se pudieron actualizar los gastos debido a un error en la base de datos"

#: app/routes/expenses.py:815
#, python-format
msgid "Successfully updated %(count)d expense(s) to %(status)s"
msgstr "%(count)d gasto(s) se actualizó correctamente a %(status)s"

#: app/routes/expenses.py:824
#, fuzzy, python-format
msgid "Skipped %(count)d expense(s): %(summary)s"
msgstr "%(count)d gastos omitidos: %(errors)s"

#: app/routes/expenses.py:826
#, python-format
msgid "Skipped %(count)d expense(s) (no permission)"
msgstr "%(count)d gastos omitidos (sin permiso)"

#: app/routes/expenses.py:836
msgid "Only administrators can approve expenses"
msgstr "Sólo los administradores pueden aprobar gastos"

#: app/routes/expenses.py:842
msgid "Only pending expenses can be approved"
msgstr "Sólo se pueden aprobar gastos pendientes"

#: app/routes/expenses.py:850
msgid "Expense approved successfully"
msgstr "Gasto aprobado exitosamente"

#: app/routes/expenses.py:854 app/routes/expenses.py:858
msgid "Error approving expense"
msgstr "Error al aprobar el gasto"

#: app/routes/expenses.py:868
msgid "Only administrators can reject expenses"
msgstr "Sólo los administradores pueden rechazar gastos"

#: app/routes/expenses.py:874
msgid "Only pending expenses can be rejected"
msgstr "Sólo se pueden rechazar gastos pendientes"

#: app/routes/expenses.py:880 app/routes/mileage.py:735
#: app/routes/per_diem.py:709 app/routes/quotes.py:1389
#: app/routes/time_approvals.py:92 app/routes/workforce.py:173
msgid "Rejection reason is required"
msgstr "Se requiere motivo de rechazo"

#: app/routes/expenses.py:886
msgid "Expense rejected"
msgstr "Gasto rechazado"

#: app/routes/expenses.py:890 app/routes/expenses.py:894
msgid "Error rejecting expense"
msgstr "Error al rechazar gasto"

#: app/routes/expenses.py:904
msgid "Only administrators can mark expenses as reimbursed"
msgstr "Sólo los administradores pueden marcar los gastos como reembolsados"

#: app/routes/expenses.py:910
msgid "Only approved expenses can be marked as reimbursed"
msgstr "Sólo los gastos aprobados pueden marcarse como reembolsados"

#: app/routes/expenses.py:914
msgid "This expense is not marked as reimbursable"
msgstr "Este gasto no está marcado como reembolsable."

#: app/routes/expenses.py:921
msgid "Expense marked as reimbursed"
msgstr "Gasto marcado como reembolsado"

#: app/routes/expenses.py:925 app/routes/expenses.py:929
msgid "Error marking expense as reimbursed"
msgstr "Error al marcar el gasto como reembolsado"

#: app/routes/expenses.py:1260
msgid "OCR is not available. Please contact your administrator."
msgstr "El OCR no está disponible. Por favor contacte a su administrador."

#: app/routes/expenses.py:1274
msgid "Invalid file type. Allowed types: png, jpg, jpeg, gif, pdf"
msgstr "Tipo de archivo no válido. Tipos permitidos: png, jpg, jpeg, gif, pdf"

#: app/routes/expenses.py:1329
msgid "Receipt scanned successfully! You can now create an expense with the extracted data."
msgstr "¡Recibo escaneado exitosamente! Ahora puedes crear un gasto con los datos extraídos."

#: app/routes/expenses.py:1334
msgid "Error scanning receipt. Please try again or enter the expense manually."
msgstr "Error al escanear el recibo. Inténtelo de nuevo o ingrese el gasto manualmente."

#: app/routes/expenses.py:1347
msgid "No scanned receipt data found. Please scan a receipt first."
msgstr "No se encontraron datos del recibo escaneado. Primero escanee un recibo."

#: app/routes/expenses.py:1434
msgid "Expense created successfully from scanned receipt"
msgstr "Gasto creado correctamente a partir del recibo escaneado"

#: app/routes/integrations.py:67
#, fuzzy
msgid "Permission denied."
msgstr "No hay permisos asignados."

#: app/routes/integrations.py:105 app/routes/integrations.py:1372
msgid "Integration provider not available."
msgstr ""

#: app/routes/integrations.py:111 app/templates/integrations/manage.html:665
msgid "Trello integration must be configured by an administrator."
msgstr ""

#: app/routes/integrations.py:132
msgid "Only administrators can set up global integrations."
msgstr ""

#: app/routes/integrations.py:154 app/routes/integrations.py:275
msgid "Could not initialize connector."
msgstr ""

#: app/routes/integrations.py:185
msgid "Google Calendar OAuth credentials need to be configured first. Redirecting to setup..."
msgstr ""

#: app/routes/integrations.py:189
msgid "Google Calendar integration needs to be configured by an administrator first."
msgstr ""

#: app/routes/integrations.py:191
msgid "OAuth credentials not configured. Please configure them first."
msgstr ""

#: app/routes/integrations.py:194
msgid "Integration not configured. Please ask an administrator to set up OAuth credentials."
msgstr ""

#: app/routes/integrations.py:210
#, python-format
msgid "Authorization failed: %(error)s"
msgstr ""

#: app/routes/integrations.py:214
msgid "Authorization code not received."
msgstr ""

#: app/routes/integrations.py:225 app/routes/integrations.py:509
#: app/routes/integrations.py:809 app/routes/integrations.py:857
#: app/routes/integrations.py:898 app/routes/integrations.py:923
#: app/routes/integrations.py:952
msgid "Integration not found."
msgstr ""

#: app/routes/integrations.py:262
msgid "Invalid state parameter. Please try connecting again."
msgstr ""

#: app/routes/integrations.py:297
msgid "Integration connected successfully!"
msgstr ""

#: app/routes/integrations.py:302
#, python-format
msgid "Integration connected but connection test failed: %(message)s"
msgstr ""

#: app/routes/integrations.py:312
#, python-format
msgid "Error connecting integration: %(error)s"
msgstr ""

#: app/routes/integrations.py:366 app/routes/integrations.py:1399
msgid "Only administrators can configure global integrations."
msgstr ""

#: app/routes/integrations.py:379
msgid "Trello API Key is required."
msgstr ""

#: app/routes/integrations.py:385
msgid "Trello API Secret is required for new setup."
msgstr ""

#: app/routes/integrations.py:411
msgid "OAuth Client ID is required."
msgstr ""

#: app/routes/integrations.py:417
msgid "OAuth Client Secret is required for new setup."
msgstr ""

#: app/routes/integrations.py:473
msgid "GitLab Instance URL must be a valid URL (e.g., https://gitlab.com)."
msgstr ""

#: app/routes/integrations.py:476
msgid "GitLab Instance URL format is invalid."
msgstr ""

#: app/routes/integrations.py:492
msgid "Integration credentials updated successfully."
msgstr ""

#: app/routes/integrations.py:495
msgid "Users can now connect their Google Calendar. They will be automatically redirected to Google for authorization."
msgstr ""

#: app/routes/integrations.py:502
msgid "Failed to update credentials."
msgstr ""

#: app/routes/integrations.py:506
#, fuzzy
msgid "Invalid action for this integration."
msgstr "API REST para integraciones"

#: app/routes/integrations.py:513
#, fuzzy
msgid "Linear API key is required."
msgstr "El nombre del cliente es obligatorio."

#: app/routes/integrations.py:527
msgid "Linear API key saved. Use Sync to import issues as tasks."
msgstr ""

#: app/routes/integrations.py:529
msgid "Could not save API key."
msgstr ""

#: app/routes/integrations.py:536
msgid "This action is only available for CalDAV integrations."
msgstr ""

#: app/routes/integrations.py:542 app/routes/integrations.py:594
msgid "Integration not found. Please connect the integration first."
msgstr ""

#: app/routes/integrations.py:550 app/routes/integrations.py:1084
msgid "Username is required."
msgstr ""

#: app/routes/integrations.py:556 app/routes/integrations.py:1086
msgid "Password is required for new setup."
msgstr ""

#: app/routes/integrations.py:578
msgid "CalDAV credentials updated successfully."
msgstr ""

#: app/routes/integrations.py:584
#, python-format
msgid "Failed to update CalDAV credentials: %(message)s"
msgstr ""

#: app/routes/integrations.py:644
#, python-format
msgid "Invalid number for field %(field)s"
msgstr ""

#: app/routes/integrations.py:651 app/routes/integrations.py:673
#, python-format
msgid "Field %(field)s is required"
msgstr ""

#: app/routes/integrations.py:664 app/routes/integrations.py:1451
#, python-format
msgid "Invalid JSON for field %(field)s"
msgstr ""

#: app/routes/integrations.py:697
msgid "Integration configuration updated successfully."
msgstr ""

#: app/routes/integrations.py:700
msgid "Failed to update configuration."
msgstr ""

#: app/routes/integrations.py:879
msgid "Connection test successful!"
msgstr ""

#: app/routes/integrations.py:881
#, python-format
msgid "Connection test failed: %(message)s"
msgstr ""

#: app/routes/integrations.py:904
msgid "Integration deleted successfully."
msgstr ""

#: app/routes/integrations.py:932
msgid "Integration reset successfully. You can now reconfigure it."
msgstr ""

#: app/routes/integrations.py:957
msgid "Connector not available."
msgstr ""

#: app/routes/integrations.py:975
#, python-format
msgid "Sync completed successfully. %(details)s"
msgstr ""

#: app/routes/integrations.py:979
#, python-format
msgid "Sync failed: %(message)s"
msgstr ""

#: app/routes/integrations.py:1001
#, python-format
msgid "Error during sync: %(error)s"
msgstr ""

#: app/routes/integrations.py:1051
msgid "Either server URL or calendar URL is required."
msgstr ""

#: app/routes/integrations.py:1060
msgid "Server URL must be a valid URL (e.g., https://mail.example.com/dav)."
msgstr ""

#: app/routes/integrations.py:1062 app/routes/integrations.py:1225
msgid "Server URL format is invalid."
msgstr ""

#: app/routes/integrations.py:1070
msgid "Calendar URL must be a valid URL."
msgstr ""

#: app/routes/integrations.py:1072
msgid "Calendar URL format is invalid."
msgstr ""

#: app/routes/integrations.py:1094 app/routes/integrations.py:1232
msgid "Selected project not found or is not active."
msgstr ""

#: app/routes/integrations.py:1101
msgid "Lookback days must be between 1 and 365."
msgstr ""

#: app/routes/integrations.py:1103 app/routes/integrations.py:1241
msgid "Lookback days must be a valid number."
msgstr ""

#: app/routes/integrations.py:1148
#, python-format
msgid "Failed to save credentials: %(message)s"
msgstr ""

#: app/routes/integrations.py:1164
msgid "CalDAV integration configured successfully."
msgstr ""

#: app/routes/integrations.py:1167
msgid "Failed to save CalDAV configuration."
msgstr ""

#: app/routes/integrations.py:1218
msgid "ActivityWatch server URL is required."
msgstr ""

#: app/routes/integrations.py:1223
msgid "Server URL must be a valid URL (e.g., http://localhost:5600)."
msgstr ""

#: app/routes/integrations.py:1239
msgid "Lookback days must be between 1 and 90."
msgstr ""

#: app/routes/integrations.py:1276
msgid "ActivityWatch integration configured successfully."
msgstr ""

#: app/routes/integrations.py:1282
#, python-format
msgid "Configuration saved but connection test failed: %(message)s"
msgstr ""

#: app/routes/integrations.py:1288
msgid "Failed to save ActivityWatch configuration."
msgstr ""

#: app/routes/integrations.py:1365
msgid "Setup wizard not available for this integration."
msgstr ""

#: app/routes/integrations.py:1378
msgid "Connector class not found."
msgstr ""

#: app/routes/integrations.py:1512
msgid "Integration configured successfully!"
msgstr ""

#: app/routes/integrations.py:1519
msgid "Failed to save configuration."
msgstr ""

#: app/routes/integrations.py:1535
msgid "OAuth Setup"
msgstr ""

#: app/routes/integrations.py:1535 app/routes/integrations.py:1541
msgid "Connection Test"
msgstr ""

#: app/routes/integrations.py:1535 app/routes/integrations.py:1537
#: app/routes/integrations.py:1538 app/routes/integrations.py:1539
#: app/routes/integrations.py:1540
msgid "Sync Config"
msgstr ""

#: app/routes/integrations.py:1535 app/templates/admin/modules.html:179
#: app/templates/admin/modules.html:221
#: app/templates/admin/oidc_setup_wizard.html:41
#: app/templates/admin/pdf_layout.html:1909
#: app/templates/admin/quote_pdf_layout.html:1715
msgid "Advanced"
msgstr "Avanzado"

#: app/routes/integrations.py:1535 app/routes/integrations.py:1536
#: app/routes/integrations.py:1537 app/routes/integrations.py:1538
#: app/routes/integrations.py:1539 app/routes/integrations.py:1540
#: app/routes/integrations.py:1541 app/routes/integrations.py:1542
#: app/routes/integrations.py:1543
#: app/templates/analytics/dashboard_improved.html:224
#: app/templates/tasks/create.html:73 app/templates/tasks/create.html:86
#: app/templates/tasks/create.html:477 app/templates/tasks/edit.html:82
#: app/templates/tasks/edit.html:657 app/templates/tasks/my_tasks.html:74
#: app/templates/tasks/my_tasks.html:133 app/utils/i18n_helpers.py:18
#: app/utils/i18n_helpers.py:30
msgid "Review"
msgstr "Revisar"

#: app/routes/integrations.py:1536
msgid "Instance"
msgstr ""

#: app/routes/integrations.py:1536 app/routes/integrations.py:1537
#: app/routes/integrations.py:1538 app/routes/integrations.py:1539
#: app/routes/integrations.py:1540 app/routes/integrations.py:1542
#: app/routes/integrations.py:1543
msgid "OAuth"
msgstr ""

#: app/routes/integrations.py:1536 app/routes/integrations.py:1539
#: app/templates/integrations/wizard_github.html:50
#: app/templates/integrations/wizard_github.html:197
msgid "Repositories"
msgstr ""

#: app/routes/integrations.py:1536
msgid "Sync Settings"
msgstr ""

#: app/routes/integrations.py:1537 app/templates/leads/list.html:51
#: app/templates/leads/list.html:65 app/templates/leads/view.html:43
#: app/templates/setup/initial_setup.html:135
msgid "Company"
msgstr "Compañía"

#: app/routes/integrations.py:1537 app/routes/integrations.py:1538
msgid "Mappings"
msgstr ""

#: app/routes/integrations.py:1538
msgid "Tenant"
msgstr ""

#: app/routes/integrations.py:1539 app/templates/admin/webhooks/form.html:7
#: app/templates/admin/webhooks/list.html:7
#: app/templates/admin/webhooks/list.html:12
#: app/templates/admin/webhooks/view.html:7 app/templates/base.html:1079
msgid "Webhooks"
msgstr "Ganchos web"

#: app/routes/integrations.py:1540
msgid "Workspace"
msgstr ""

#: app/routes/integrations.py:1540 app/templates/admin/oidc_user_detail.html:61
#: app/templates/analytics/mobile_dashboard.html:49
#: app/templates/auth/login.html:37 app/templates/base.html:602
#: app/templates/client_portal/base.html:257
#: app/templates/client_portal/base.html:342
#: app/templates/client_portal/dashboard.html:76
#: app/templates/client_portal/project_comments.html:9
#: app/templates/client_portal/projects.html:4
#: app/templates/client_portal/projects.html:9
#: app/templates/client_portal/projects.html:14
#: app/templates/client_portal/widgets/projects.html:8
#: app/templates/components/activity_feed_widget.html:23
#: app/templates/components/offline_indicator.html:84
#: app/templates/integrations/wizard_asana.html:110
#: app/templates/integrations/wizard_gitlab.html:148
#: app/templates/integrations/wizard_jira.html:134
#: app/templates/partials/_bottom_nav.html:78
#: app/templates/partials/_bottom_nav.html:82
#: app/templates/projects/add_cost.html:11
#: app/templates/projects/edit_cost.html:11
#: app/templates/projects/time_entries_overview.html:8
#: app/templates/projects/view.html:6 app/templates/reports/builder.html:367
#: app/templates/reports/unpaid_hours_report.html:76
#: app/templates/reports/unpaid_hours_report.html:97
msgid "Projects"
msgstr "Proyectos"

#: app/routes/integrations.py:1541
msgid "API Keys"
msgstr ""

#: app/routes/integrations.py:1542 app/routes/integrations.py:1543
#: app/templates/admin/integrations/setup.html:100
#: app/templates/integrations/manage.html:151
#: app/templates/integrations/wizard_microsoft_teams.html:18
#: app/templates/integrations/wizard_microsoft_teams.html:82
#: app/templates/integrations/wizard_outlook_calendar.html:18
#: app/templates/integrations/wizard_outlook_calendar.html:82
#: app/templates/integrations/wizard_xero.html:43
#: app/templates/integrations/wizard_xero.html:179
msgid "Tenant ID"
msgstr ""

#: app/routes/integrations.py:1554
#, python-format
msgid "%(name)s Setup Wizard"
msgstr ""

#: app/routes/integrations.py:1555
#, python-format
msgid "Guided step-by-step configuration for %(name)s"
msgstr ""

#: app/routes/integrations.py:1593
msgid "Integration not found"
msgstr ""

#: app/routes/integrations.py:1598
msgid "Connector not available"
msgstr ""

#: app/routes/inventory.py:190
msgid "SKU is required"
msgstr ""

#: app/routes/inventory.py:194
msgid "Name is required"
msgstr ""

#: app/routes/inventory.py:201
#, python-format
msgid "Invalid SKU: %(error)s"
msgstr ""

#: app/routes/inventory.py:208
#, python-format
msgid "Invalid name: %(error)s"
msgstr ""

#: app/routes/inventory.py:214 app/routes/inventory.py:448
msgid "SKU already exists. Please use a different SKU."
msgstr "El SKU ya existe. Utilice un SKU diferente."

#: app/routes/inventory.py:294
msgid "Stock item created successfully."
msgstr "Artículo en stock creado correctamente."

#: app/routes/inventory.py:299
#, python-format
msgid "Error creating stock item: %(error)s"
msgstr "Error al crear artículo en stock: %(error)s"

#: app/routes/inventory.py:565
msgid "Stock item updated successfully."
msgstr "Artículo en stock actualizado correctamente."

#: app/routes/inventory.py:570
#, python-format
msgid "Error updating stock item: %(error)s"
msgstr "Error al actualizar el artículo en stock: %(error)s"

#: app/routes/inventory.py:590
msgid "Cannot delete stock item with existing stock or movement history."
msgstr "No se puede eliminar un artículo en stock con stock existente o historial de movimiento."

#: app/routes/inventory.py:598
msgid "Stock item deleted successfully."
msgstr "Artículo en stock eliminado correctamente."

#: app/routes/inventory.py:602
#, python-format
msgid "Error deleting stock item: %(error)s"
msgstr "Error al eliminar artículo en stock: %(error)s"

#: app/routes/inventory.py:640 app/routes/inventory.py:710
msgid "Warehouse code already exists. Please use a different code."
msgstr "El código de almacén ya existe. Utilice un código diferente."

#: app/routes/inventory.py:659
msgid "Warehouse created successfully."
msgstr "Almacén creado exitosamente."

#: app/routes/inventory.py:664
#, python-format
msgid "Error creating warehouse: %(error)s"
msgstr "Error al crear almacén: %(error)s"

#: app/routes/inventory.py:726
msgid "Warehouse updated successfully."
msgstr "Almacén actualizado exitosamente."

#: app/routes/inventory.py:731
#, python-format
msgid "Error updating warehouse: %(error)s"
msgstr "Error al actualizar el almacén: %(error)s"

#: app/routes/inventory.py:747
msgid "Cannot delete warehouse with existing stock. Please transfer or remove all stock first."
msgstr "No se puede eliminar el almacén con stock existente. Primero transfiera o elimine todas las existencias."

#: app/routes/inventory.py:755
msgid "Warehouse deleted successfully."
msgstr "Almacén eliminado correctamente."

#: app/routes/inventory.py:759
#, python-format
msgid "Error deleting warehouse: %(error)s"
msgstr "Error al eliminar el almacén: %(error)s"

#: app/routes/inventory.py:945 app/routes/inventory.py:1027
msgid "Stock item is not trackable. Devaluation requires trackable items."
msgstr ""

#: app/routes/inventory.py:947
msgid "Devaluation quantity must be positive"
msgstr ""

#: app/routes/inventory.py:951 app/routes/inventory.py:1031
msgid "Stock item must have a default cost to perform devaluation"
msgstr ""

#: app/routes/inventory.py:956
msgid "Devaluation percent is required when using percent method"
msgstr ""

#: app/routes/inventory.py:960 app/routes/inventory.py:1040
msgid "Invalid devaluation percent value"
msgstr ""

#: app/routes/inventory.py:962 app/routes/inventory.py:1042
msgid "Devaluation percent cannot be negative"
msgstr ""

#: app/routes/inventory.py:964 app/routes/inventory.py:1044
msgid "Devaluation percent cannot exceed 100%"
msgstr ""

#: app/routes/inventory.py:968
msgid "New unit cost is required when using fixed cost method"
msgstr ""

#: app/routes/inventory.py:972 app/routes/inventory.py:1054
msgid "Invalid unit cost value"
msgstr ""

#: app/routes/inventory.py:974 app/routes/inventory.py:1056
msgid "Unit cost cannot be negative"
msgstr ""

#: app/routes/inventory.py:976 app/routes/inventory.py:1058
msgid "Invalid devaluation method"
msgstr ""

#: app/routes/inventory.py:984 app/routes/inventory.py:1070
#: app/routes/inventory.py:1084
#, python-format
msgid "Devaluation cost (%(devalued)s) cannot be greater than original cost (%(original)s)"
msgstr ""

#: app/routes/inventory.py:998
#, python-format
msgid "Insufficient stock to devalue. Available: %(available)s, Requested: %(requested)s"
msgstr ""

#: app/routes/inventory.py:1013
msgid "Stock devaluation recorded successfully."
msgstr ""

#: app/routes/inventory.py:1020
msgid "Return movements must use a positive quantity"
msgstr ""

#: app/routes/inventory.py:1022
msgid "Waste movements must use a negative quantity"
msgstr ""

#: app/routes/inventory.py:1036
msgid "Devaluation percent is required when devaluation is enabled"
msgstr ""

#: app/routes/inventory.py:1050
msgid "New unit cost is required when devaluation is enabled"
msgstr ""

#: app/routes/inventory.py:1098
#, python-format
msgid "Insufficient stock to waste. Available: %(available)s, Requested: %(requested)s"
msgstr ""

#: app/routes/inventory.py:1120
#, python-format
msgid "Failed to devalue stock before waste: %(error)s"
msgstr ""

#: app/routes/inventory.py:1142
#, python-format
msgid "Failed to record movement: %(error)s"
msgstr ""

#: app/routes/inventory.py:1156
msgid "Return movement recorded successfully with devaluation applied."
msgstr ""

#: app/routes/inventory.py:1158
msgid "Waste movement recorded successfully with devaluation applied."
msgstr ""

#: app/routes/inventory.py:1160
msgid "Stock movement recorded successfully."
msgstr "El movimiento de stock se registró con éxito."

#: app/routes/inventory.py:1166
#, python-format
msgid "Error: %(error)s"
msgstr ""

#: app/routes/inventory.py:1170
#, python-format
msgid "Error recording stock movement: %(error)s"
msgstr "Error al registrar el movimiento de stock: %(error)s"

#: app/routes/inventory.py:1242
msgid "Source and destination warehouses must be different."
msgstr "Los almacenes de origen y destino deben ser diferentes."

#: app/routes/inventory.py:1255
msgid "Insufficient stock available in source warehouse."
msgstr "Stock insuficiente disponible en el almacén de origen."

#: app/routes/inventory.py:1271
msgid "Stock item not found."
msgstr ""

#: app/routes/inventory.py:1274
msgid "Source warehouse not found."
msgstr ""

#: app/routes/inventory.py:1277
msgid "Destination warehouse not found."
msgstr ""

#: app/routes/inventory.py:1320
msgid "Stock transfer completed successfully."
msgstr "La transferencia de acciones se completó con éxito."

#: app/routes/inventory.py:1325
#, python-format
msgid "Error creating transfer: %(error)s"
msgstr "Error al crear la transferencia: %(error)s"

#: app/routes/inventory.py:1425
msgid "Stock adjustment recorded successfully."
msgstr "El ajuste de existencias se registró con éxito."

#: app/routes/inventory.py:1430
#, python-format
msgid "Error recording adjustment: %(error)s"
msgstr "Error de ajuste de grabación: %(error)s"

#: app/routes/inventory.py:1574
msgid "Reservation fulfilled successfully."
msgstr "Reserva realizada con éxito."

#: app/routes/inventory.py:1577
#, python-format
msgid "Error fulfilling reservation: %(error)s"
msgstr "Error al completar la reserva: %(error)s"

#: app/routes/inventory.py:1595
msgid "Reservation cancelled successfully."
msgstr "Reserva cancelada exitosamente."

#: app/routes/inventory.py:1598
#, python-format
msgid "Error cancelling reservation: %(error)s"
msgstr "Error al cancelar la reserva: %(error)s"

#: app/routes/inventory.py:1642
#, python-format
msgid "Supplier with code '%(code)s' already exists"
msgstr ""

#: app/routes/inventory.py:1666
msgid "Supplier created successfully."
msgstr "Proveedor creado exitosamente."

#: app/routes/inventory.py:1671
#, python-format
msgid "Error creating supplier: %(error)s"
msgstr "Error al crear proveedor: %(error)s"

#: app/routes/inventory.py:1715
msgid "Supplier code already exists. Please use a different code."
msgstr "El código de proveedor ya existe. Utilice un código diferente."

#: app/routes/inventory.py:1736
msgid "Supplier updated successfully."
msgstr "Proveedor actualizado correctamente."

#: app/routes/inventory.py:1741
#, python-format
msgid "Error updating supplier: %(error)s"
msgstr "Error al actualizar proveedor: %(error)s"

#: app/routes/inventory.py:1757
msgid "Cannot delete supplier with associated stock items. Remove items first."
msgstr "No se puede eliminar el proveedor con artículos en stock asociados. Retire los elementos primero."

#: app/routes/inventory.py:1766
msgid "Supplier deleted successfully."
msgstr "Proveedor eliminado exitosamente."

#: app/routes/inventory.py:1769
#, python-format
msgid "Error deleting supplier: %(error)s"
msgstr "Error al eliminar proveedor: %(error)s"

#: app/routes/inventory.py:1817
#, fuzzy
msgid "Supplier is required."
msgstr "Se requiere título"

#: app/routes/inventory.py:1822
#, fuzzy
msgid "Supplier not found."
msgstr "No se encontraron proveedores."

#: app/routes/inventory.py:1827
#, fuzzy
msgid "Order date is required."
msgstr "El nombre del rol es obligatorio"

#: app/routes/inventory.py:1908
#, fuzzy
msgid "Could not create purchase order due to a database error."
msgstr "No se pudo crear el rol debido a un error en la base de datos"

#: app/routes/inventory.py:1916
msgid "Purchase order created successfully."
msgstr "Orden de compra creada exitosamente."

#: app/routes/inventory.py:1921
#, python-format
msgid "Error creating purchase order: %(error)s"
msgstr "Error al crear orden de compra: %(error)s"

#: app/routes/inventory.py:1966
msgid "Cannot edit a purchase order that has been received."
msgstr "No se puede editar una orden de compra que se ha recibido."

#: app/routes/inventory.py:2038
#, fuzzy
msgid "Could not update purchase order due to a database error."
msgstr "No se pudo actualizar la función debido a un error de la base de datos"

#: app/routes/inventory.py:2042
msgid "Purchase order updated successfully."
msgstr "Orden de compra actualizada exitosamente."

#: app/routes/inventory.py:2047
#, python-format
msgid "Error updating purchase order: %(error)s"
msgstr "Error al actualizar la orden de compra: %(error)s"

#: app/routes/inventory.py:2079
#, fuzzy
msgid "Could not update purchase order status due to a database error."
msgstr "No se pudieron actualizar los roles de usuario debido a un error de la base de datos"

#: app/routes/inventory.py:2083
msgid "Purchase order marked as sent."
msgstr "Orden de compra marcada como enviada."

#: app/routes/inventory.py:2086
#, python-format
msgid "Error sending purchase order: %(error)s"
msgstr "Error al enviar la orden de compra: %(error)s"

#: app/routes/inventory.py:2103
#, fuzzy
msgid "Could not cancel purchase order due to a database error."
msgstr "No se pudo crear el rol debido a un error en la base de datos"

#: app/routes/inventory.py:2107
msgid "Purchase order cancelled successfully."
msgstr "Orden de compra cancelada exitosamente."

#: app/routes/inventory.py:2110
#, python-format
msgid "Error cancelling purchase order: %(error)s"
msgstr "Error al cancelar orden de compra: %(error)s"

#: app/routes/inventory.py:2125
msgid "Cannot delete a purchase order that has been received. Cancel it instead."
msgstr "No se puede eliminar una orden de compra que se ha recibido. Cancélelo en su lugar."

#: app/routes/inventory.py:2131
#, fuzzy
msgid "Could not delete purchase order due to a database error."
msgstr "No se pudo eliminar el rol debido a un error de la base de datos"

#: app/routes/inventory.py:2135
msgid "Purchase order deleted successfully."
msgstr "Orden de compra eliminada exitosamente."

#: app/routes/inventory.py:2139
#, python-format
msgid "Error deleting purchase order: %(error)s"
msgstr "Error al eliminar orden de compra: %(error)s"

#: app/routes/inventory.py:2175
#, fuzzy
msgid "Could not receive purchase order due to a database error."
msgstr "No se pudo crear el rol debido a un error en la base de datos"

#: app/routes/inventory.py:2179
msgid "Purchase order marked as received and stock updated."
msgstr "Orden de compra marcada como recibida y stock actualizado."

#: app/routes/inventory.py:2182
#, python-format
msgid "Error receiving purchase order: %(error)s"
msgstr "Error al recibir la orden de compra: %(error)s"

#: app/routes/invoice_approvals.py:31
msgid "An approval request is already pending for this invoice."
msgstr ""

#: app/routes/invoice_approvals.py:44
#: app/templates/invoice_approvals/request.html:49
msgid "Please select at least one approver."
msgstr ""

#: app/routes/invoice_approvals.py:52
msgid "Approval request created successfully."
msgstr ""

#: app/routes/invoice_approvals.py:83
msgid "Invoice approved successfully."
msgstr ""

#: app/routes/invoice_approvals.py:100
msgid "Please provide a reason for rejection."
msgstr ""

#: app/routes/invoice_approvals.py:107
msgid "Invoice approval rejected."
msgstr ""

#: app/routes/invoices.py:112
msgid "Project, client name, and due date are required"
msgstr "Se requieren proyecto, nombre del cliente y fecha de vencimiento."

#: app/routes/invoices.py:118 app/routes/tasks.py:238 app/routes/tasks.py:461
msgid "Invalid due date format"
msgstr "Formato de fecha de vencimiento no válido"

#: app/routes/invoices.py:124 app/routes/offers.py:108 app/routes/offers.py:240
#: app/routes/quotes.py:225 app/routes/quotes.py:544
#: app/routes/recurring_invoices.py:88
msgid "Invalid tax rate format"
msgstr "Formato de tasa impositiva no válido"

#: app/routes/invoices.py:130
msgid "Selected project not found"
msgstr "Proyecto seleccionado no encontrado"

#: app/routes/invoices.py:187
msgid "Could not create invoice due to a database error. Please check server logs."
msgstr "No se pudo crear la factura debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:259
msgid "You do not have permission to view this invoice"
msgstr "No tienes permiso para ver esta factura"

#: app/routes/invoices.py:305
msgid "Company Tax ID (VAT) is missing in Admin → Settings → Company Branding."
msgstr ""

#: app/routes/invoices.py:309
msgid "Sender Endpoint ID is missing in Admin → Settings → Peppol e-Invoicing."
msgstr ""

#: app/routes/invoices.py:313
msgid "Sender Scheme ID is missing in Admin → Settings → Peppol e-Invoicing."
msgstr ""

#: app/routes/invoices.py:319
msgid "Client Peppol Endpoint ID is missing. Add peppol_endpoint_id to the client's custom fields."
msgstr ""

#: app/routes/invoices.py:323
msgid "Client Peppol Scheme ID is missing. Add peppol_scheme_id to the client's custom fields."
msgstr ""

#: app/routes/invoices.py:327
msgid "Invoice has no linked client; buyer PEPPOL identifiers cannot be checked."
msgstr ""

#: app/routes/invoices.py:334 app/routes/invoices.py:341
msgid "Could not verify PEPPOL compliance; check configuration."
msgstr ""

#: app/routes/invoices.py:391 app/routes/invoices.py:894
msgid "You do not have permission to edit this invoice"
msgstr "No tienes permiso para editar esta factura"

#: app/routes/invoices.py:553 app/routes/quotes.py:902
#: app/routes/quotes.py:1008
#, python-format
msgid "Warning: Could not reserve stock for item %(item)s: %(error)s"
msgstr "Advertencia: No se pudo reservar stock para el artículo %(item)s: %(error)s"

#: app/routes/invoices.py:561
msgid "Could not update invoice due to a database error. Please check server logs."
msgstr "No se pudo actualizar la factura debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:568
msgid "Invoice updated successfully"
msgstr "Factura actualizada exitosamente"

#: app/routes/invoices.py:715
#, python-format
msgid "Warning: Could not reduce stock for item %(item)s: %(error)s"
msgstr "Advertencia: No se pudo reducir el stock del artículo %(item)s: %(error)s"

#: app/routes/invoices.py:745
msgid "You do not have permission to delete this invoice"
msgstr "No tienes permiso para eliminar esta factura"

#: app/routes/invoices.py:749
#, fuzzy
msgid "Only draft invoices can be deleted."
msgstr "Sólo se pueden editar borradores de cotizaciones"

#: app/routes/invoices.py:755
msgid "Could not delete invoice due to a database error. Please check server logs."
msgstr "No se pudo eliminar la factura debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:769
msgid "No invoices selected for deletion"
msgstr "No se han seleccionado facturas para eliminar"

#: app/routes/invoices.py:806
msgid "Could not delete invoices due to a database error. Please check server logs."
msgstr "No se pudieron eliminar facturas debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:828
msgid "No invoices selected"
msgstr "No se seleccionaron facturas"

#: app/routes/invoices.py:872
msgid "Could not update invoices due to a database error"
msgstr "No se pudieron actualizar las facturas debido a un error en la base de datos"

#: app/routes/invoices.py:905
msgid "No time entries, costs, expenses, or extra goods selected"
msgstr "No se seleccionaron entradas de tiempo, costos, gastos o bienes adicionales"

#: app/routes/invoices.py:1009
msgid "Could not generate items due to a database error. Please check server logs."
msgstr "No se pudieron generar elementos debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:1021
msgid "Invoice items generated successfully from time entries and costs"
msgstr "Elementos de factura generados exitosamente a partir de entradas de tiempo y costos."

#: app/routes/invoices.py:1024
#, python-format
msgid "Applied %(hours)s prepaid hours for %(client)s before billing overages."
msgstr "Se aplicaron %(hours)s horas prepagas para %(client)s antes de los excedentes de facturación."

#: app/routes/invoices.py:1064 app/routes/invoices.py:1115
#: app/routes/invoices.py:1167
msgid "You do not have permission to export this invoice"
msgstr "No tienes permiso para exportar esta factura"

#: app/routes/invoices.py:1130
#, python-format
msgid "Cannot generate UBL: %(msg)s"
msgstr ""

#: app/routes/invoices.py:1134
#, python-format
msgid "UBL export failed: %(msg)s"
msgstr ""

#: app/routes/invoices.py:1216
#, python-format
msgid "Factur-X embedding is enabled but failed: %(err)s. Export aborted so the PDF does not ship without embedded XML."
msgstr ""

#: app/routes/invoices.py:1228 app/routes/invoices.py:1290
#, python-format
msgid "PDF/A-3 normalization failed: %(err)s. Export aborted."
msgstr ""

#: app/routes/invoices.py:1241
#, python-format
msgid "veraPDF validation reported issues: %(summary)s"
msgstr ""

#: app/routes/invoices.py:1243
#, python-format
msgid "veraPDF: %(summary)s"
msgstr ""

#: app/routes/invoices.py:1285
#, python-format
msgid "Factur-X embedding is enabled but failed: %(err)s. Export aborted."
msgstr ""

#: app/routes/invoices.py:1307
#, python-format
msgid "PDF generation failed: %(err)s. Fallback also failed: %(fb)s"
msgstr "Error al generar el PDF: %(err)s. El respaldo también falló: %(fb)s"

#: app/routes/invoices.py:1321
msgid "You do not have permission to duplicate this invoice"
msgstr "No tienes permiso para duplicar esta factura"

#: app/routes/invoices.py:1348
msgid "Could not duplicate invoice due to a database error. Please check server logs."
msgstr "No se pudo duplicar la factura debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:1379
msgid "Could not finalize duplicated invoice due to a database error. Please check server logs."
msgstr "No se pudo finalizar la factura duplicada debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/invoices.py:1594
msgid "You do not have permission to upload images to this invoice"
msgstr ""

#: app/routes/invoices.py:1621 app/routes/quotes.py:2000
msgid "File type not allowed. Only images are allowed"
msgstr ""

#: app/routes/invoices.py:1635 app/routes/quotes.py:2014
msgid "File size exceeds maximum allowed size (5 MB)"
msgstr ""

#: app/routes/invoices.py:1683 app/routes/quotes.py:2062
msgid "Could not upload image due to a database error. Please check server logs."
msgstr ""

#: app/routes/invoices.py:1707 app/routes/quotes.py:2086
#: app/templates/main/dashboard.html:1606
#: app/templates/timer/edit_timer.html:871
#: app/templates/timer/manual_entry.html:1045
msgid "Image uploaded successfully"
msgstr ""

#: app/routes/invoices.py:1759
msgid "You do not have permission to delete images from this invoice"
msgstr ""

#: app/routes/invoices.py:1776 app/routes/quotes.py:2157
msgid "Could not delete image due to a database error. Please check server logs."
msgstr ""

#: app/routes/invoices.py:1794 app/routes/quotes.py:2175
msgid "Image deleted successfully"
msgstr ""

#: app/routes/invoices_refactored.py:220
msgid "Invoice marked as sent"
msgstr "Factura marcada como enviada"

#: app/routes/invoices_refactored.py:259
msgid "Invoice marked as paid"
msgstr "Factura marcada como pagada"

#: app/routes/issues.py:166
msgid "You do not have permission to create issues."
msgstr ""

#: app/routes/issues.py:193
msgid "Client is required."
msgstr ""

#: app/routes/issues.py:221
msgid "Issue created successfully."
msgstr ""

#: app/routes/issues.py:270
msgid "You do not have permission to view this issue."
msgstr ""

#: app/routes/issues.py:325
msgid "You do not have permission to edit this issue."
msgstr ""

#: app/routes/issues.py:345
msgid "Project must belong to the same client."
msgstr ""

#: app/routes/issues.py:367
msgid "Could not update issue due to a database error."
msgstr ""

#: app/routes/issues.py:370
msgid "Issue updated successfully."
msgstr ""

#: app/routes/issues.py:398
msgid "Please select a task."
msgstr ""

#: app/routes/issues.py:403
msgid "Issue linked to task successfully."
msgstr ""

#: app/routes/issues.py:420
msgid "Please select a project."
msgstr ""

#: app/routes/issues.py:429
msgid "Task created from issue successfully."
msgstr ""

#: app/routes/issues.py:445
msgid "Status is required."
msgstr ""

#: app/routes/issues.py:464
msgid "Issue status updated successfully."
msgstr ""

#: app/routes/issues.py:481
msgid "Issue assigned successfully."
msgstr ""

#: app/routes/issues.py:483
msgid "Could not assign issue."
msgstr ""

#: app/routes/issues.py:497
msgid "Priority is required."
msgstr ""

#: app/routes/issues.py:502
msgid "Issue priority updated successfully."
msgstr ""

#: app/routes/issues.py:515
msgid "Only administrators can delete issues."
msgstr ""

#: app/routes/issues.py:523
msgid "Could not delete issue due to a database error."
msgstr ""

#: app/routes/issues.py:526
msgid "Issue deleted successfully."
msgstr ""

#: app/routes/kanban.py:136
msgid "Key and label are required"
msgstr "Se requieren clave y etiqueta."

#: app/routes/kanban.py:189
msgid "Could not create column due to a database error. Please check server logs."
msgstr "No se pudo crear la columna debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/kanban.py:261
msgid "Could not update column due to a database error. Please check server logs."
msgstr "No se pudo actualizar la columna debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/kanban.py:299
msgid "System columns cannot be deleted"
msgstr "Las columnas del sistema no se pueden eliminar"

#: app/routes/kanban.py:335
msgid "Could not delete column due to a database error. Please check server logs."
msgstr "No se pudo eliminar la columna debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/kanban.py:385
msgid "Could not toggle column due to a database error. Please check server logs."
msgstr "No se pudo alternar la columna debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/kiosk.py:35 app/routes/kiosk.py:95
msgid "Kiosk mode is not enabled. Please contact an administrator."
msgstr ""

#: app/routes/kiosk.py:140
msgid "No password is set for this account. Please set a password in your profile first."
msgstr ""

#: app/routes/kiosk.py:179
msgid "You have been logged out"
msgstr ""

#: app/routes/kiosk.py:326
msgid "Stock adjustment recorded successfully"
msgstr ""

#: app/routes/kiosk.py:437
msgid "Stock transfer completed successfully"
msgstr ""

#: app/routes/kiosk.py:503
msgid "Timer started successfully"
msgstr ""

#: app/routes/kiosk.py:528 app/routes/timer_refactored.py:164
msgid "Timer stopped successfully"
msgstr "El temporizador se detuvo con éxito"

#: app/routes/leads.py:112
msgid "Lead created successfully"
msgstr "Cliente potencial creado con éxito"

#: app/routes/leads.py:116
#, python-format
msgid "Error creating lead: %(error)s"
msgstr "Error al crear cliente potencial: %(error)s"

#: app/routes/leads.py:166
msgid "Lead updated successfully"
msgstr "Cliente potencial actualizado exitosamente"

#: app/routes/leads.py:170
#, python-format
msgid "Error updating lead: %(error)s"
msgstr "Error al actualizar el cliente potencial: %(error)s"

#: app/routes/leads.py:182 app/routes/leads.py:237
msgid "Lead has already been converted"
msgstr "El cliente potencial ya se ha convertido"

#: app/routes/leads.py:221
msgid "Lead converted to client successfully"
msgstr "Cliente potencial convertido en cliente exitosamente"

#: app/routes/leads.py:225 app/routes/leads.py:276
#, python-format
msgid "Error converting lead: %(error)s"
msgstr "Error al convertir el cliente potencial: %(error)s"

#: app/routes/leads.py:272
msgid "Lead converted to deal successfully"
msgstr "Cliente potencial convertido para negociar con éxito"

#: app/routes/leads.py:299
msgid "Lead marked as lost"
msgstr "Plomo marcado como perdido"

#: app/routes/leads.py:302
#, python-format
msgid "Error marking lead as lost: %(error)s"
msgstr "Error al marcar el cliente potencial como perdido: %(error)s"

#: app/routes/link_templates.py:46 app/routes/link_templates.py:102
msgid "URL template is required"
msgstr ""

#: app/routes/link_templates.py:50 app/routes/link_templates.py:106
#, python-brace-format
msgid "URL template must contain {value} or %value% placeholder"
msgstr ""

#: app/routes/link_templates.py:71
msgid "Could not create link template due to a database error."
msgstr ""

#: app/routes/link_templates.py:74
msgid "Link template created successfully"
msgstr ""

#: app/routes/link_templates.py:124
msgid "Could not update link template due to a database error."
msgstr ""

#: app/routes/link_templates.py:127
msgid "Link template updated successfully"
msgstr ""

#: app/routes/link_templates.py:142
msgid "Could not delete link template due to a database error."
msgstr ""

#: app/routes/link_templates.py:144
msgid "Link template deleted successfully"
msgstr ""

#: app/routes/main.py:236
msgid "You have been using TimeTracker for a week or more. If it fits your workflow, consider supporting continued development."
msgstr ""

#: app/routes/main.py:244
msgid "You have tracked a solid amount of time today. If TimeTracker makes your day easier, you can support the project in a click."
msgstr ""

#: app/routes/mileage.py:303 app/routes/per_diem.py:257
#: app/routes/reports.py:572 app/routes/timer.py:2956
#, python-format
msgid "PDF export failed: %(error)s"
msgstr ""

#: app/routes/mileage.py:407
msgid "Mileage entry created successfully"
msgstr "Entrada de millas creada exitosamente"

#: app/routes/mileage.py:416 app/routes/mileage.py:421
msgid "Error creating mileage entry"
msgstr "Error al crear la entrada de millas"

#: app/routes/mileage.py:434
msgid "You do not have permission to view this mileage entry"
msgstr "No tiene permiso para ver esta entrada de millas"

#: app/routes/mileage.py:453
msgid "You do not have permission to edit this mileage entry"
msgstr "No tiene permiso para editar esta entrada de millas"

#: app/routes/mileage.py:458
msgid "Cannot edit approved or reimbursed mileage entries"
msgstr "No se pueden editar las entradas de millas aprobadas o reembolsadas"

#: app/routes/mileage.py:503
msgid "Mileage entry updated successfully"
msgstr "Entrada de millas actualizada exitosamente"

#: app/routes/mileage.py:508 app/routes/mileage.py:513
msgid "Error updating mileage entry"
msgstr "Error al actualizar la entrada de millas"

#: app/routes/mileage.py:526
msgid "You do not have permission to delete this mileage entry"
msgstr "No tiene permiso para eliminar esta entrada de millas"

#: app/routes/mileage.py:533
msgid "Mileage entry deleted successfully"
msgstr "La entrada de millas se eliminó correctamente"

#: app/routes/mileage.py:537 app/routes/mileage.py:541
msgid "Error deleting mileage entry"
msgstr "Error al eliminar la entrada de millas"

#: app/routes/mileage.py:554
msgid "No mileage entries selected for deletion"
msgstr "No se han seleccionado entradas de millas para eliminar"

#: app/routes/mileage.py:585
msgid "Could not delete mileage entries due to a database error. Please check server logs."
msgstr "No se pudieron eliminar las entradas de kilometraje debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/mileage.py:594
#, python-format
msgid "Successfully deleted %(count)d mileage entr%(plural)s"
msgstr "%(count)d entradas de kilometraje eliminadas correctamente%(plural)s"

#: app/routes/mileage.py:608
#, python-format
msgid "Skipped %(count)d mileage entr%(plural)s: %(errors)s"
msgstr "%(count)d entradas de kilometraje omitidas%(plural)s: %(errors)s"

#: app/routes/mileage.py:625
msgid "No mileage entries selected"
msgstr "No se han seleccionado entradas de millas"

#: app/routes/mileage.py:658
msgid "Could not update mileage entries due to a database error"
msgstr "No se pudieron actualizar las entradas de millas debido a un error en la base de datos"

#: app/routes/mileage.py:662
#, python-format
msgid "Successfully updated %(count)d mileage entr%(plural)s to %(status)s"
msgstr "Se actualizó correctamente %(count)d entradas de kilometraje%(plural)s a %(status)s"

#: app/routes/mileage.py:673
#, python-format
msgid "Skipped %(count)d mileage entr%(plural)s (no permission)"
msgstr "%(count)d %(plural)s de entradas de millas omitidas (sin permiso)"

#: app/routes/mileage.py:690
msgid "Only administrators can approve mileage entries"
msgstr "Sólo los administradores pueden aprobar entradas de millas"

#: app/routes/mileage.py:696
msgid "Only pending mileage entries can be approved"
msgstr "Sólo se pueden aprobar entradas de millas pendientes"

#: app/routes/mileage.py:704
msgid "Mileage entry approved successfully"
msgstr "Entrada de millas aprobada exitosamente"

#: app/routes/mileage.py:708 app/routes/mileage.py:712
msgid "Error approving mileage entry"
msgstr "Error al aprobar el ingreso de millas"

#: app/routes/mileage.py:723
msgid "Only administrators can reject mileage entries"
msgstr "Sólo los administradores pueden rechazar entradas de millas"

#: app/routes/mileage.py:729
msgid "Only pending mileage entries can be rejected"
msgstr "Sólo se pueden rechazar las entradas de millas pendientes"

#: app/routes/mileage.py:741
msgid "Mileage entry rejected"
msgstr "Entrada de millas rechazada"

#: app/routes/mileage.py:745 app/routes/mileage.py:749
msgid "Error rejecting mileage entry"
msgstr "Error al rechazar la entrada de millas"

#: app/routes/mileage.py:760
msgid "Only administrators can mark mileage entries as reimbursed"
msgstr "Sólo los administradores pueden marcar las entradas de millas como reembolsadas"

#: app/routes/mileage.py:766
msgid "Only approved mileage entries can be marked as reimbursed"
msgstr "Sólo las entradas de millas aprobadas pueden marcarse como reembolsadas"

#: app/routes/mileage.py:773
msgid "Mileage entry marked as reimbursed"
msgstr "Entrada de millas marcada como reembolsada"

#: app/routes/mileage.py:777 app/routes/mileage.py:781
msgid "Error marking mileage entry as reimbursed"
msgstr "Error al marcar la entrada de kilometraje como reembolsado"

#: app/routes/offers.py:69 app/routes/quotes.py:156
msgid "Quote title and client are required"
msgstr "El título de la cotización y el cliente son obligatorios."

#: app/routes/offers.py:75 app/routes/quotes.py:168
msgid "Selected client not found"
msgstr "Cliente seleccionado no encontrado"

#: app/routes/offers.py:84 app/routes/offers.py:216 app/routes/quotes.py:183
msgid "Invalid total amount format"
msgstr "Formato de monto total no válido"

#: app/routes/offers.py:100 app/routes/offers.py:232 app/routes/quotes.py:211
msgid "Invalid estimated hours format"
msgstr "Formato de horas estimadas no válido"

#: app/routes/offers.py:117 app/routes/offers.py:249 app/routes/quotes.py:263
#: app/routes/quotes.py:572
msgid "Invalid date format for valid until"
msgstr "Formato de fecha no válido para válido hasta"

#: app/routes/offers.py:163 app/routes/quotes.py:450
msgid "Could not create quote due to a database error. Please check server logs."
msgstr "No se pudo crear la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:172 app/routes/quotes.py:465
msgid "Quote created successfully"
msgstr "Cotización creada exitosamente"

#: app/routes/offers.py:195 app/routes/quotes.py:519
msgid "Only draft quotes can be edited"
msgstr "Sólo se pueden editar borradores de cotizaciones"

#: app/routes/offers.py:265 app/routes/quotes.py:833
msgid "Could not update quote due to a database error. Please check server logs."
msgstr "No se pudo actualizar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:271 app/routes/quotes.py:845
msgid "Quote updated successfully"
msgstr "Cotización actualizada exitosamente"

#: app/routes/offers.py:285 app/routes/quotes.py:868
msgid "Only draft quotes can be sent"
msgstr "Sólo se pueden enviar borradores de cotizaciones."

#: app/routes/offers.py:291 app/routes/quotes.py:908
msgid "Could not send quote due to a database error. Please check server logs."
msgstr "No se pudo enviar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:297 app/routes/quotes.py:928
msgid "Quote sent successfully"
msgstr "Cotización enviada exitosamente"

#: app/routes/offers.py:309 app/routes/quotes.py:940
msgid "This quote cannot be accepted"
msgstr "Esta cotización no se puede aceptar."

#: app/routes/offers.py:340 app/routes/quotes.py:971
#, python-format
msgid "Could not accept quote: %(error)s"
msgstr "No se pudo aceptar la cotización: %(error)s"

#: app/routes/offers.py:345 app/routes/quotes.py:1014
msgid "Could not accept quote due to a database error. Please check server logs."
msgstr "No se pudo aceptar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:357 app/routes/quotes.py:1040
msgid "Quote accepted and project created successfully"
msgstr "Cotización aceptada y proyecto creado exitosamente."

#: app/routes/offers.py:371 app/routes/quotes.py:1054
msgid "This quote cannot be rejected"
msgstr "Esta cotización no puede ser rechazada."

#: app/routes/offers.py:377 app/routes/quotes.py:1060
#, python-format
msgid "Could not reject quote: %(error)s"
msgstr "No se pudo rechazar la cotización: %(error)s"

#: app/routes/offers.py:381 app/routes/quotes.py:1064 app/routes/quotes.py:1399
msgid "Could not reject quote due to a database error. Please check server logs."
msgstr "No se pudo rechazar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:387 app/routes/quotes.py:1070
msgid "Quote rejected"
msgstr "Cotización rechazada"

#: app/routes/offers.py:400 app/routes/quotes.py:1083
msgid "Only draft or rejected quotes can be deleted"
msgstr "Sólo se pueden eliminar presupuestos borradores o rechazados."

#: app/routes/offers.py:407 app/routes/quotes.py:1090
msgid "Could not delete quote due to a database error. Please check server logs."
msgstr "No se pudo eliminar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/offers.py:413 app/routes/quotes.py:1096
msgid "Quote deleted successfully"
msgstr "Cotización eliminada exitosamente"

#: app/routes/payment_gateways.py:61
msgid "Payment gateway created successfully."
msgstr ""

#: app/routes/payment_gateways.py:81
msgid "No payment gateway configured. Please contact an administrator."
msgstr ""

#: app/routes/payment_gateways.py:97
msgid "Stripe API key not configured."
msgstr ""

#: app/routes/payment_gateways.py:225
msgid "Payment processed successfully."
msgstr ""

#: app/routes/payments.py:52
msgid "Invalid from date format"
msgstr "No válido desde el formato de fecha"

#: app/routes/payments.py:59
msgid "Invalid to date format"
msgstr "Formato de fecha no válido"

#: app/routes/payments.py:132
msgid "You do not have permission to view this payment"
msgstr "No tienes permiso para ver este pago"

#: app/routes/payments.py:158
msgid "Invoice, amount, and payment date are required"
msgstr "Se requiere factura, monto y fecha de pago."

#: app/routes/payments.py:165
msgid "Selected invoice not found"
msgstr "Factura seleccionada no encontrada"

#: app/routes/payments.py:171
msgid "You do not have permission to add payments to this invoice"
msgstr "No tienes permiso para agregar pagos a esta factura"

#: app/routes/payments.py:178 app/routes/payments.py:348
msgid "Payment amount must be greater than zero"
msgstr "El monto del pago debe ser mayor que cero"

#: app/routes/payments.py:182 app/routes/payments.py:351
msgid "Invalid payment amount"
msgstr "Monto de pago no válido"

#: app/routes/payments.py:190 app/routes/payments.py:358
msgid "Invalid payment date format"
msgstr "Formato de fecha de pago no válido"

#: app/routes/payments.py:200 app/routes/payments.py:367
msgid "Gateway fee cannot be negative"
msgstr "La tarifa de entrada no puede ser negativa"

#: app/routes/payments.py:204 app/routes/payments.py:370
msgid "Invalid gateway fee amount"
msgstr "Importe de tarifa de puerta de enlace no válido"

#: app/routes/payments.py:278
msgid "Could not create payment due to a database error. Please check server logs."
msgstr "No se pudo crear el pago debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/payments.py:325
msgid "You do not have permission to edit this payment"
msgstr "No tienes permiso para editar este pago"

#: app/routes/payments.py:407
msgid "Could not update payment due to a database error. Please check server logs."
msgstr "No se pudo actualizar el pago debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/payments.py:417
msgid "Payment updated successfully"
msgstr "Pago actualizado exitosamente"

#: app/routes/payments.py:433
msgid "You do not have permission to delete this payment"
msgstr "No tienes permiso para eliminar este pago."

#: app/routes/payments.py:453
msgid "Could not delete payment due to a database error. Please check server logs."
msgstr "No se pudo eliminar el pago debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/payments.py:459
msgid "Payment deleted successfully"
msgstr "Pago eliminado exitosamente"

#: app/routes/payments.py:471
msgid "No payments selected for deletion"
msgstr "No se han seleccionado pagos para su eliminación"

#: app/routes/payments.py:516
msgid "Could not delete payments due to a database error. Please check server logs."
msgstr "No se pudieron eliminar los pagos debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/payments.py:538
msgid "No payments selected"
msgstr "No se seleccionaron pagos"

#: app/routes/payments.py:589
msgid "Could not update payments due to a database error"
msgstr "No se pudieron actualizar los pagos debido a un error en la base de datos"

#: app/routes/per_diem.py:316
msgid "Start date must be before end date"
msgstr "La fecha de inicio debe ser anterior a la fecha de finalización."

#: app/routes/per_diem.py:352
msgid "No per diem rate found for this location. Please configure rates first."
msgstr "No se encontró ninguna tarifa diaria para esta ubicación. Primero configure las tarifas."

#: app/routes/per_diem.py:408
msgid "Per diem claim created successfully"
msgstr "Reclamo de viáticos creado exitosamente"

#: app/routes/per_diem.py:417 app/routes/per_diem.py:422
msgid "Error creating per diem claim"
msgstr "Error al crear el reclamo de viáticos"

#: app/routes/per_diem.py:435
msgid "You do not have permission to view this per diem claim"
msgstr "No tiene permiso para ver este reclamo de viáticos"

#: app/routes/per_diem.py:454
msgid "You do not have permission to edit this per diem claim"
msgstr "No tiene permiso para editar este reclamo de viáticos"

#: app/routes/per_diem.py:459
msgid "Cannot edit approved or reimbursed per diem claims"
msgstr "No se pueden editar los reclamos de viáticos aprobados o reembolsados"

#: app/routes/per_diem.py:501
msgid "Per diem claim updated successfully"
msgstr "Reclamo de viáticos actualizado exitosamente"

#: app/routes/per_diem.py:506 app/routes/per_diem.py:511
msgid "Error updating per diem claim"
msgstr "Error al actualizar el reclamo de viáticos"

#: app/routes/per_diem.py:524
msgid "You do not have permission to delete this per diem claim"
msgstr "No tiene permiso para eliminar este reclamo de viáticos"

#: app/routes/per_diem.py:531
msgid "Per diem claim deleted successfully"
msgstr "Reclamo de viáticos eliminado exitosamente"

#: app/routes/per_diem.py:535 app/routes/per_diem.py:539
msgid "Error deleting per diem claim"
msgstr "Error al eliminar el reclamo de viáticos"

#: app/routes/per_diem.py:552
msgid "No per diem claims selected for deletion"
msgstr "No se han seleccionado reclamaciones de viáticos para su eliminación"

#: app/routes/per_diem.py:583
msgid "Could not delete per diem claims due to a database error. Please check server logs."
msgstr "No se pudieron eliminar los reclamos de viáticos debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/per_diem.py:591
#, python-format
msgid "Successfully deleted %(count)d per diem claim(s)"
msgstr "%(count)d reclamo(s) de viáticos se eliminó exitosamente"

#: app/routes/per_diem.py:595
#, python-format
msgid "Skipped %(count)d per diem claim(s): %(errors)s"
msgstr "%(count)d reclamo(s) de viáticos omitidos: %(errors)s"

#: app/routes/per_diem.py:611
msgid "No per diem claims selected"
msgstr "No se han seleccionado reclamaciones de viáticos"

#: app/routes/per_diem.py:644
msgid "Could not update per diem claims due to a database error"
msgstr "No se pudieron actualizar los viáticos debido a un error en la base de datos"

#: app/routes/per_diem.py:648
#, python-format
msgid "Successfully updated %(count)d per diem claim(s) to %(status)s"
msgstr "%(count)d reclamo(s) de viáticos se actualizó exitosamente a %(status)s"

#: app/routes/per_diem.py:653
#, python-format
msgid "Skipped %(count)d per diem claim(s) (no permission)"
msgstr "%(count)d reclamo(s) de viáticos omitidos (sin permiso)"

#: app/routes/per_diem.py:664
msgid "Only administrators can approve per diem claims"
msgstr "Sólo los administradores pueden aprobar solicitudes de viáticos"

#: app/routes/per_diem.py:670
msgid "Only pending per diem claims can be approved"
msgstr "Sólo se pueden aprobar reclamaciones de viáticos pendientes"

#: app/routes/per_diem.py:678
msgid "Per diem claim approved successfully"
msgstr "Reclamo de viáticos aprobado exitosamente"

#: app/routes/per_diem.py:682 app/routes/per_diem.py:686
msgid "Error approving per diem claim"
msgstr "Error al aprobar el reclamo de viáticos"

#: app/routes/per_diem.py:697
msgid "Only administrators can reject per diem claims"
msgstr "Sólo los administradores pueden rechazar las solicitudes de viáticos"

#: app/routes/per_diem.py:703
msgid "Only pending per diem claims can be rejected"
msgstr "Sólo se pueden rechazar las solicitudes de viáticos pendientes"

#: app/routes/per_diem.py:715
msgid "Per diem claim rejected"
msgstr "Reclamo de viáticos rechazado"

#: app/routes/per_diem.py:719 app/routes/per_diem.py:723
msgid "Error rejecting per diem claim"
msgstr "Error al rechazar el reclamo de viáticos"

#: app/routes/per_diem.py:789
msgid "Per diem rate created successfully"
msgstr "Tarifa diaria creada exitosamente"

#: app/routes/per_diem.py:793 app/routes/per_diem.py:798
msgid "Error creating per diem rate"
msgstr "Error al crear la tarifa diaria"

#: app/routes/per_diem.py:847
msgid "Per diem rate updated successfully"
msgstr "Tarifa diaria actualizada con éxito"

#: app/routes/per_diem.py:852 app/routes/per_diem.py:857
msgid "Error updating per diem rate"
msgstr "Error al actualizar la tarifa diaria"

#: app/routes/per_diem.py:877
#, python-format
msgid "Cannot delete rate: It is being used by %(count)d per diem claim(s). Deactivate it instead."
msgstr "No se puede eliminar la tarifa: está siendo utilizada por %(count)d reclamos de viáticos. Desactívelo en su lugar."

#: app/routes/per_diem.py:888
msgid "Per diem rate deleted successfully"
msgstr "La tarifa diaria se eliminó correctamente"

#: app/routes/per_diem.py:892 app/routes/per_diem.py:896
msgid "Error deleting per diem rate"
msgstr "Error al eliminar la tarifa diaria"

#: app/routes/permissions.py:66 app/routes/permissions.py:137
#: app/routes/permissions.py:226 app/routes/permissions.py:275
#: app/routes/permissions.py:302 app/utils/permissions.py:42
#: app/utils/permissions.py:74
msgid "You do not have permission to access this page"
msgstr "No tienes permiso para acceder a esta página."

#: app/routes/permissions.py:76 app/routes/permissions.py:149
msgid "Role name is required"
msgstr "El nombre del rol es obligatorio"

#: app/routes/permissions.py:86 app/routes/permissions.py:170
msgid "A role with this name already exists"
msgstr "Ya existe un rol con este nombre"

#: app/routes/permissions.py:109
msgid "Could not create role due to a database error"
msgstr "No se pudo crear el rol debido a un error en la base de datos"

#: app/routes/permissions.py:117
msgid "Role created successfully"
msgstr "Rol creado exitosamente"

#: app/routes/permissions.py:159 app/templates/admin/roles/form.html:39
msgid "System role names cannot be changed"
msgstr ""

#: app/routes/permissions.py:197
msgid "Could not update role due to a database error"
msgstr "No se pudo actualizar la función debido a un error de la base de datos"

#: app/routes/permissions.py:205
msgid "Role updated successfully"
msgstr "Función actualizada correctamente"

#: app/routes/permissions.py:242
msgid "You do not have permission to perform this action"
msgstr "No tienes permiso para realizar esta acción"

#: app/routes/permissions.py:249
msgid "System roles cannot be deleted"
msgstr "Los roles del sistema no se pueden eliminar"

#: app/routes/permissions.py:254
msgid "Cannot delete role that is assigned to users. Please reassign users first."
msgstr "No se puede eliminar la función asignada a los usuarios. Primero reasigne los usuarios."

#: app/routes/permissions.py:261
msgid "Could not delete role due to a database error"
msgstr "No se pudo eliminar el rol debido a un error de la base de datos"

#: app/routes/permissions.py:264
#, python-format
msgid "Role \"%(name)s\" deleted successfully"
msgstr "Rol \"%(name)s\" eliminado exitosamente"

#: app/routes/permissions.py:320
msgid "Only Super Admins can assign the super_admin role"
msgstr ""

#: app/routes/permissions.py:328
msgid "Only Super Admins can remove the admin role from themselves"
msgstr ""

#: app/routes/permissions.py:334
msgid "Only Super Admins can remove the admin role from other users"
msgstr ""

#: app/routes/permissions.py:355
msgid "Could not update user roles due to a database error"
msgstr "No se pudieron actualizar los roles de usuario debido a un error de la base de datos"

#: app/routes/permissions.py:358
msgid "User roles updated successfully"
msgstr "Roles de usuario actualizados exitosamente"

#: app/routes/project_templates.py:163
msgid "Template created successfully."
msgstr ""

#: app/routes/project_templates.py:182 app/routes/project_templates.py:202
#: app/routes/project_templates.py:307
msgid "Template not found."
msgstr ""

#: app/routes/project_templates.py:187
msgid "You do not have permission to view this template."
msgstr ""

#: app/routes/project_templates.py:206
msgid "You do not have permission to edit this template."
msgstr ""

#: app/routes/project_templates.py:270
msgid "Template updated successfully."
msgstr ""

#: app/routes/project_templates.py:289
msgid "Template deleted successfully."
msgstr ""

#: app/routes/project_templates.py:317
msgid "Please select a client."
msgstr ""

#: app/routes/project_templates.py:347
msgid "Project created from template successfully."
msgstr ""

#: app/routes/projects.py:339 app/routes/projects.py:940
msgid "Project name and client are required"
msgstr "El nombre del proyecto y el cliente son obligatorios."

#: app/routes/projects.py:363 app/routes/projects.py:970
msgid "Invalid budget amount"
msgstr "Monto de presupuesto no válido"

#: app/routes/projects.py:376 app/routes/projects.py:985
msgid "Invalid budget threshold percent (0-100)"
msgstr "Porcentaje de umbral de presupuesto no válido (0-100)"

#: app/routes/projects.py:449
msgid "Could not save project due to a database error"
msgstr ""

#: app/routes/projects.py:569 app/routes/projects_refactored_example.py:113
msgid "Project not found"
msgstr "Proyecto no encontrado"

#: app/routes/projects.py:1068
msgid "Could not update project due to a database error"
msgstr ""

#: app/routes/projects.py:1113
msgid "You do not have permission to archive projects"
msgstr "No tienes permiso para archivar proyectos."

#: app/routes/projects.py:1121
msgid "Project is already archived"
msgstr "El proyecto ya está archivado."

#: app/routes/projects.py:1155
msgid "You do not have permission to unarchive projects"
msgstr "No tienes permiso para desarchivar proyectos"

#: app/routes/projects.py:1159 app/routes/projects.py:1219
msgid "Project is already active"
msgstr "El proyecto ya está activo."

#: app/routes/projects.py:1192
msgid "You do not have permission to deactivate projects"
msgstr "No tienes permiso para desactivar proyectos"

#: app/routes/projects.py:1196
msgid "Project is already inactive"
msgstr "El proyecto ya está inactivo."

#: app/routes/projects.py:1215
msgid "You do not have permission to activate projects"
msgstr "No tienes permiso para activar proyectos"

#: app/routes/projects.py:1239
msgid "Cannot delete project with existing time entries"
msgstr "No se puede eliminar el proyecto con entradas de tiempo existentes"

#: app/routes/projects.py:1259
msgid "Could not delete project due to a database error. Please check server logs."
msgstr "No se pudo eliminar el proyecto debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1272
msgid "You do not have permission to delete projects"
msgstr "No tienes permiso para eliminar proyectos"

#: app/routes/projects.py:1278
msgid "No projects selected for deletion"
msgstr "No hay proyectos seleccionados para eliminar"

#: app/routes/projects.py:1317
msgid "Could not delete projects due to a database error. Please check server logs."
msgstr "No se pudieron eliminar proyectos debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1331
msgid "No projects were deleted"
msgstr "No se eliminaron proyectos"

#: app/routes/projects.py:1342
msgid "You do not have permission to change project status"
msgstr "No tienes permiso para cambiar el estado del proyecto"

#: app/routes/projects.py:1350
msgid "No projects selected"
msgstr "No hay proyectos seleccionados"

#: app/routes/projects.py:1413
msgid "Could not update project status due to a database error. Please check server logs."
msgstr "No se pudo actualizar el estado del proyecto debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1430
msgid "No projects were updated"
msgstr "No se actualizaron proyectos"

#: app/routes/projects.py:1448 app/routes/projects.py:1449
msgid "Project is already in favorites"
msgstr "El proyecto ya está en favoritos."

#: app/routes/projects.py:1471 app/routes/projects.py:1472
msgid "Project added to favorites"
msgstr "Proyecto agregado a favoritos"

#: app/routes/projects.py:1476 app/routes/projects.py:1477
msgid "Failed to add project to favorites"
msgstr "No se pudo agregar el proyecto a favoritos"

#: app/routes/projects.py:1493 app/routes/projects.py:1494
msgid "Project is not in favorites"
msgstr "El proyecto no está en favoritos."

#: app/routes/projects.py:1516 app/routes/projects.py:1517
msgid "Project removed from favorites"
msgstr "Proyecto eliminado de favoritos"

#: app/routes/projects.py:1521 app/routes/projects.py:1522
msgid "Failed to remove project from favorites"
msgstr "No se pudo eliminar el proyecto de favoritos"

#: app/routes/projects.py:1602 app/routes/projects.py:1673
msgid "Description, category, amount, and date are required"
msgstr "Se requiere descripción, categoría, monto y fecha."

#: app/routes/projects.py:1636
msgid "Could not add cost due to a database error. Please check server logs."
msgstr "No se pudo agregar el costo debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1639
msgid "Cost added successfully"
msgstr "Costo agregado exitosamente"

#: app/routes/projects.py:1654 app/routes/projects.py:1721
msgid "Cost not found"
msgstr "Costo no encontrado"

#: app/routes/projects.py:1659
msgid "You do not have permission to edit this cost"
msgstr "No tienes permiso para editar este costo."

#: app/routes/projects.py:1703
msgid "Could not update cost due to a database error. Please check server logs."
msgstr "No se pudo actualizar el costo debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1706
msgid "Cost updated successfully"
msgstr "Costo actualizado exitosamente"

#: app/routes/projects.py:1726
msgid "You do not have permission to delete this cost"
msgstr "No tienes permiso para eliminar este costo."

#: app/routes/projects.py:1731
msgid "Cannot delete cost that has been invoiced"
msgstr "No se puede eliminar el costo que se ha facturado"

#: app/routes/projects.py:1737
msgid "Could not delete cost due to a database error. Please check server logs."
msgstr "No se pudo eliminar el costo debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1830 app/routes/projects.py:1905
msgid "Name and unit price are required"
msgstr "Se requiere nombre y precio unitario."

#: app/routes/projects.py:1839 app/routes/projects.py:1914
msgid "Invalid quantity format"
msgstr "Formato de cantidad no válido"

#: app/routes/projects.py:1848 app/routes/projects.py:1923
msgid "Invalid unit price format"
msgstr "Formato de precio unitario no válido"

#: app/routes/projects.py:1867
msgid "Could not add extra good due to a database error. Please check server logs."
msgstr "No se pudo agregar material adicional debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1870
msgid "Extra good added successfully"
msgstr "Extra bueno agregado exitosamente"

#: app/routes/projects.py:1885 app/routes/projects.py:1956
msgid "Extra good not found"
msgstr "Bien extra no encontrado"

#: app/routes/projects.py:1890
msgid "You do not have permission to edit this extra good"
msgstr "No tienes permiso para editar este bien extra."

#: app/routes/projects.py:1938
msgid "Could not update extra good due to a database error. Please check server logs."
msgstr "No se pudo actualizar el bien adicional debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects.py:1941
msgid "Extra good updated successfully"
msgstr "Extra bueno actualizado exitosamente"

#: app/routes/projects.py:1961
msgid "You do not have permission to delete this extra good"
msgstr "No tienes permiso para eliminar este bien extra."

#: app/routes/projects.py:1966
msgid "Cannot delete extra good that has been added to an invoice"
msgstr "No se puede eliminar el bien adicional que se ha agregado a una factura"

#: app/routes/projects.py:1972
msgid "Could not delete extra good due to a database error. Please check server logs."
msgstr "No se pudo eliminar el bien adicional debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/projects_refactored_example.py:190
msgid "Project created successfully"
msgstr "Proyecto creado exitosamente"

#: app/routes/quotes.py:248 app/routes/quotes.py:562
msgid "Invalid discount amount format"
msgstr "Formato de monto de descuento no válido"

#: app/routes/quotes.py:866
msgid "Quote must be approved before it can be sent"
msgstr "La cotización debe aprobarse antes de poder enviarse."

#: app/routes/quotes.py:874
#, python-format
msgid "Cannot send quote: %(error)s"
msgstr "No se puede enviar la cotización: %(error)s"

#: app/routes/quotes.py:1115
msgid "You do not have permission to upload attachments to this quote"
msgstr "No tienes permiso para cargar archivos adjuntos a esta cita."

#: app/routes/quotes.py:1229
msgid "You do not have permission to download this attachment"
msgstr "No tienes permiso para descargar este archivo adjunto."

#: app/routes/quotes.py:1298
msgid "You do not have permission to request approval for this quote"
msgstr "No tiene permiso para solicitar la aprobación de esta cotización"

#: app/routes/quotes.py:1302 app/routes/quotes.py:1340
#: app/routes/quotes.py:1380
msgid "This quote does not require approval"
msgstr "Esta cotización no requiere aprobación."

#: app/routes/quotes.py:1308
#, python-format
msgid "Cannot request approval: %(error)s"
msgstr "No se puede solicitar aprobación: %(error)s"

#: app/routes/quotes.py:1312
msgid "Could not request approval due to a database error. Please check server logs."
msgstr "No se pudo solicitar la aprobación debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1328
msgid "Approval requested successfully"
msgstr "Aprobación solicitada exitosamente"

#: app/routes/quotes.py:1344 app/routes/quotes.py:1384
msgid "This quote is not pending approval"
msgstr "Esta cotización no está pendiente de aprobación."

#: app/routes/quotes.py:1352
#, python-format
msgid "Cannot approve quote: %(error)s"
msgstr "No se puede aprobar la cotización: %(error)s"

#: app/routes/quotes.py:1356
msgid "Could not approve quote due to a database error. Please check server logs."
msgstr "No se pudo aprobar la cotización debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1368
msgid "Quote approved successfully"
msgstr "Cotización aprobada exitosamente"

#: app/routes/quotes.py:1395
#, python-format
msgid "Cannot reject quote: %(error)s"
msgstr "No se puede rechazar la cotización: %(error)s"

#: app/routes/quotes.py:1411
msgid "Quote approval rejected"
msgstr "Aprobación de cotización rechazada"

#: app/routes/quotes.py:1488
msgid "Could not create template due to a database error. Please check server logs."
msgstr "No se pudo crear la plantilla debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1494
msgid "Template created successfully"
msgstr "Plantilla creada exitosamente"

#: app/routes/quotes.py:1507
msgid "Quote ID is required"
msgstr ""

#: app/routes/quotes.py:1513
msgid "You do not have permission to create a template from this quote"
msgstr "No tienes permiso para crear una plantilla a partir de esta cotización."

#: app/routes/quotes.py:1555
msgid "Could not save template due to a database error. Please check server logs."
msgstr "No se pudo guardar la plantilla debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1561
msgid "Template saved successfully"
msgstr "Plantilla guardada correctamente"

#: app/routes/quotes.py:1578
msgid "You do not have permission to export this quote"
msgstr "No tienes permiso para exportar esta cotización"

#: app/routes/quotes.py:1649
#, python-format
msgid "Error generating PDF: %(error)s"
msgstr "Error al generar PDF: %(error)s"

#: app/routes/quotes.py:1673
msgid "Recipient email address is required"
msgstr "Se requiere la dirección de correo electrónico del destinatario"

#: app/routes/quotes.py:1691
#, python-format
msgid "Quote sent successfully to %(email)s"
msgstr "Cotización enviada exitosamente a %(email)s"

#: app/routes/quotes.py:1708
#, python-format
msgid "Failed to send quote: %(error)s"
msgstr "No se pudo enviar la cotización: %(error)s"

#: app/routes/quotes.py:1714
#, python-format
msgid "Error sending email: %(error)s"
msgstr "Error al enviar correo electrónico: %(error)s"

#: app/routes/quotes.py:1733
msgid "You do not have permission to duplicate this quote"
msgstr "No tienes permiso para duplicar esta cita."

#: app/routes/quotes.py:1771
msgid "Could not duplicate quote due to a database error. Please check server logs."
msgstr "No se pudo duplicar la cotización debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1796
msgid "Could not finalize duplicated quote due to a database error. Please check server logs."
msgstr "No se pudo finalizar la cotización duplicada debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/quotes.py:1799
#, python-format
msgid "Quote %(quote_number)s created as duplicate"
msgstr "Cita %(quote_number)s creada como duplicada"

#: app/routes/quotes.py:1824
msgid "Please select an action and at least one quote"
msgstr "Por favor seleccione una acción y al menos una cotización"

#: app/routes/quotes.py:1830
msgid "Invalid quote IDs"
msgstr "ID de cotización no válidos"

#: app/routes/quotes.py:1839
msgid "No quotes found or you do not have permission"
msgstr "No se encontraron comillas o no tienes permiso"

#: app/routes/quotes.py:1905
#, python-format
msgid "Duplicated %(count)d quote(s)"
msgstr "%(count)d cotizaciones duplicadas"

#: app/routes/quotes.py:1907
#, python-format
msgid "Failed to duplicate %(count)d quote(s)"
msgstr "No se pudieron duplicar %(count)d cotizaciones"

#: app/routes/quotes.py:1909
msgid "Error duplicating quotes"
msgstr "Error al duplicar cotizaciones"

#: app/routes/quotes.py:1924
#, python-format
msgid "Marked %(count)d quote(s) as sent"
msgstr "%(count)d cotizaciones marcadas como enviadas"

#: app/routes/quotes.py:1926
#, python-format
msgid "Could not mark %(count)d quote(s) as sent"
msgstr "No se pudieron marcar %(count)d cotizaciones como enviadas"

#: app/routes/quotes.py:1928
msgid "Error updating quotes"
msgstr "Error al actualizar cotizaciones"

#: app/routes/quotes.py:1944
#, python-format
msgid "Deleted %(count)d quote(s)"
msgstr "%(count)d cotizaciones eliminadas"

#: app/routes/quotes.py:1946
#, python-format
msgid "Could not delete %(count)d quote(s) (may be in use)"
msgstr "No se pudo eliminar %(count)d cotizaciones (pueden estar en uso)"

#: app/routes/quotes.py:1948
msgid "Error deleting quotes"
msgstr "Error al eliminar cotizaciones"

#: app/routes/quotes.py:1951
msgid "Invalid action"
msgstr "Acción no válida"

#: app/routes/quotes.py:1973
msgid "You do not have permission to upload images to this quote"
msgstr ""

#: app/routes/quotes.py:2140
msgid "You do not have permission to delete images from this quote"
msgstr ""

#: app/routes/recurring_invoices.py:68
msgid "Name, project, client, frequency, and next run date are required"
msgstr "Se requieren nombre, proyecto, cliente, frecuencia y próxima fecha de ejecución."

#: app/routes/recurring_invoices.py:74
msgid "Invalid next run date format"
msgstr "Formato de fecha de próxima ejecución no válido"

#: app/routes/recurring_invoices.py:82
msgid "Invalid end date format"
msgstr "Formato de fecha de finalización no válido"

#: app/routes/recurring_invoices.py:95
msgid "Selected project or client not found"
msgstr "Proyecto seleccionado o cliente no encontrado"

#: app/routes/recurring_invoices.py:137
msgid "Could not create recurring invoice due to a database error. Please check server logs."
msgstr "No se pudo crear una factura recurrente debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/recurring_invoices.py:173
msgid "You do not have permission to view this recurring invoice"
msgstr "No tienes permiso para ver esta factura recurrente"

#: app/routes/recurring_invoices.py:191
msgid "You do not have permission to edit this recurring invoice"
msgstr "No tienes permiso para editar esta factura recurrente"

#: app/routes/recurring_invoices.py:216
msgid "Could not update recurring invoice due to a database error. Please check server logs."
msgstr "No se pudo actualizar la factura recurrente debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/recurring_invoices.py:224
msgid "Recurring invoice updated successfully"
msgstr "Factura recurrente actualizada correctamente"

#: app/routes/recurring_invoices.py:251
msgid "You do not have permission to delete this recurring invoice"
msgstr "No tienes permiso para eliminar esta factura recurrente"

#: app/routes/recurring_invoices.py:257
msgid "Could not delete recurring invoice due to a database error. Please check server logs."
msgstr "No se pudo eliminar la factura recurrente debido a un error en la base de datos. Por favor verifique los registros del servidor."

#: app/routes/recurring_tasks.py:64
msgid "Recurring task created successfully"
msgstr ""

#: app/routes/reports.py:134 app/routes/reports.py:208
#: app/routes/reports.py:860 app/routes/timer.py:2266
msgid "You do not have permission to view other users' time entries"
msgstr ""

#: app/routes/reports.py:387 app/routes/reports.py:959
#: app/routes/reports.py:1000 app/routes/reports.py:1093
#: app/routes/reports.py:1176 app/routes/reports.py:1270
#: app/routes/reports.py:1445
msgid "You do not have permission to export other users' time entries"
msgstr ""

#: app/routes/reports.py:1014 app/templates/main/dashboard.html:706
#: app/templates/main/search.html:34 app/templates/mileage/gps.html:31
#: app/templates/projects/_kanban_tailwind.html:78
#: app/templates/projects/time_entries_overview.html:68
#: app/templates/projects/time_entries_overview.html:79
#: app/templates/reports/time_entries_report.html:103
#: app/templates/reports/time_entries_report.html:117
#: app/templates/tasks/view.html:14 app/templates/timer/calendar.html:868
#: app/templates/timer/time_entries_export_pdf.html:14
msgid "Start"
msgstr "Comenzar"

#: app/routes/reports.py:1015 app/templates/main/search.html:35
#: app/templates/projects/time_entries_overview.html:69
#: app/templates/projects/time_entries_overview.html:80
#: app/templates/timer/calendar.html:872
#: app/templates/timer/time_entries_export_pdf.html:15
msgid "End"
msgstr "Fin"

#: app/routes/reports.py:1016 app/templates/reports/user_report.html:78
msgid "Duration (hours)"
msgstr ""

#: app/routes/reports.py:1018 app/templates/approvals/view.html:52
#: app/templates/audit_logs/view.html:95
#: app/templates/calendar/event_detail.html:104
#: app/templates/calendar/event_form.html:129
#: app/templates/clients/view.html:351
#: app/templates/components/offline_indicator.html:78
#: app/templates/kiosk/dashboard.html:331 app/templates/main/dashboard.html:750
#: app/templates/projects/_kanban_tailwind.html:30
#: app/templates/projects/time_entries_overview.html:71
#: app/templates/projects/time_entries_overview.html:82
#: app/templates/reports/time_entries_report.html:57
#: app/templates/reports/time_entries_report.html:107
#: app/templates/reports/time_entries_report.html:121
#: app/templates/reports/unpaid_hours_report.html:121
#: app/templates/reports/user_report.html:77
#: app/templates/timer/_time_entries_list.html:39
#: app/templates/timer/_time_entries_list.html:80
#: app/templates/timer/calendar.html:158 app/templates/timer/calendar.html:811
#: app/templates/timer/calendar.html:866
#: app/templates/timer/manual_entry.html:79
#: app/templates/timer/time_entries_export_pdf.html:17
#: app/templates/timer/timer_page.html:160
#: app/templates/timer/view_timer.html:91
msgid "Task"
msgstr "Tarea"

#: app/routes/reports.py:1019 app/templates/admin/pdf_layout.html:1864
#: app/templates/admin/quote_pdf_layout.html:1670
#: app/templates/admin/salesman_email_mappings.html:124
#: app/templates/approvals/view.html:62
#: app/templates/client_portal/invoice_detail.html:123
#: app/templates/clients/view.html:354 app/templates/contacts/form.html:84
#: app/templates/contacts/view.html:70 app/templates/deals/form.html:102
#: app/templates/deals/view.html:112
#: app/templates/inventory/adjustments/form.html:50
#: app/templates/inventory/movements/form.html:108
#: app/templates/inventory/purchase_orders/form.html:55
#: app/templates/inventory/purchase_orders/view.html:75
#: app/templates/inventory/stock_items/form.html:81
#: app/templates/inventory/suppliers/form.html:73
#: app/templates/inventory/suppliers/view.html:99
#: app/templates/inventory/transfers/form.html:54
#: app/templates/inventory/warehouses/form.html:48
#: app/templates/inventory/warehouses/view.html:69
#: app/templates/invoices/create.html:51 app/templates/invoices/edit.html:46
#: app/templates/kiosk/dashboard.html:347 app/templates/leads/form.html:88
#: app/templates/leads/view.html:115 app/templates/main/dashboard.html:760
#: app/templates/main/search.html:37 app/templates/projects/add_cost.html:76
#: app/templates/projects/edit_cost.html:83
#: app/templates/reports/iterative_view.html:47
#: app/templates/reports/iterative_view.html:58
#: app/templates/reports/time_entries_report.html:108
#: app/templates/reports/time_entries_report.html:122
#: app/templates/reports/unpaid_hours_report.html:124
#: app/templates/reports/user_report.html:79 app/templates/tasks/view.html:78
#: app/templates/timer/_time_entries_list.html:41
#: app/templates/timer/_time_entries_list.html:107
#: app/templates/timer/bulk_entry.html:189
#: app/templates/timer/calendar.html:187 app/templates/timer/calendar.html:879
#: app/templates/timer/edit_timer.html:337
#: app/templates/timer/edit_timer.html:448
#: app/templates/timer/manual_entry.html:140
#: app/templates/timer/time_entries_export_pdf.html:19
#: app/templates/timer/timer_page.html:169
#: app/templates/timer/view_timer.html:46
#: app/templates/weekly_goals/create.html:83
#: app/templates/weekly_goals/edit.html:98
#: app/templates/weekly_goals/view.html:163
msgid "Notes"
msgstr "Notas"

#: app/routes/reports.py:1020 app/templates/reports/time_entries_report.html:68
#: app/templates/reports/time_entries_report.html:109
#: app/templates/reports/time_entries_report.html:123
#, fuzzy
msgid "Billed"
msgstr "facturable"

#: app/routes/reports.py:1021 app/templates/approvals/view.html:44
#: app/templates/audit_logs/list.html:114 app/templates/audit_logs/view.html:92
#: app/templates/calendar/event_detail.html:120
#: app/templates/calendar/event_form.html:142
#: app/templates/client_portal/invoice_detail.html:23
#: app/templates/client_portal/project_comments.html:51
#: app/templates/client_portal/quote_detail.html:23
#: app/templates/client_portal/set_password.html:41
#: app/templates/deals/form.html:30 app/templates/deals/list.html:51
#: app/templates/deals/list.html:65 app/templates/deals/view.html:36
#: app/templates/issues/list.html:57 app/templates/issues/list.html:94
#: app/templates/issues/list.html:111 app/templates/issues/new.html:37
#: app/templates/issues/view.html:126 app/templates/issues/view.html:156
#: app/templates/leads/convert_to_deal.html:29
#: app/templates/main/dashboard.html:742 app/templates/main/help.html:196
#: app/templates/project_templates/create_project.html:21
#: app/templates/projects/_projects_list.html:79
#: app/templates/projects/create.html:32 app/templates/projects/edit.html:30
#: app/templates/projects/list.html:160
#: app/templates/quotes/_quotes_list.html:35
#: app/templates/quotes/_quotes_list.html:52
#: app/templates/quotes/accept.html:22 app/templates/quotes/create.html:32
#: app/templates/quotes/edit.html:36 app/templates/quotes/view.html:84
#: app/templates/recurring_invoices/list.html:25
#: app/templates/recurring_invoices/list.html:41
#: app/templates/reports/iterative_view.html:43
#: app/templates/reports/iterative_view.html:54
#: app/templates/reports/time_entries_report.html:46
#: app/templates/reports/time_entries_report.html:110
#: app/templates/reports/time_entries_report.html:124
#: app/templates/reports/unpaid_hours_report.html:73
#: app/templates/reports/unpaid_hours_report.html:85
#: app/templates/reports/user_report.html:81
#: app/templates/timer/manual_entry.html:71
#: app/templates/timer/time_entries_overview.html:98
#: app/templates/timer/timer_page.html:149
#: app/templates/timer/view_timer.html:81
msgid "Client"
msgstr "Cliente"

#: app/routes/reports.py:1024 app/templates/admin/dashboard.html:334
#: app/templates/admin/oidc_debug.html:152
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/audit_logs/list.html:35 app/templates/audit_logs/list.html:76
#: app/templates/audit_logs/list.html:90
#: app/templates/client_portal/reports.html:222
#: app/templates/client_portal/time_entries.html:64
#: app/templates/client_portal/widgets/time_entries.html:22
#: app/templates/clients/view.html:352 app/templates/deals/view.html:193
#: app/templates/deals/view.html:203 app/templates/expenses/list.html:329
#: app/templates/integrations/health.html:41
#: app/templates/inventory/adjustments/list.html:61
#: app/templates/inventory/adjustments/list.html:82
#: app/templates/inventory/movements/list.html:62
#: app/templates/inventory/movements/list.html:145
#: app/templates/inventory/reports/movement_history.html:78
#: app/templates/inventory/reports/movement_history.html:165
#: app/templates/inventory/stock_items/history.html:69
#: app/templates/inventory/stock_items/history.html:151
#: app/templates/inventory/transfers/list.html:43
#: app/templates/inventory/transfers/list.html:70
#: app/templates/projects/time_entries_overview.html:73
#: app/templates/projects/time_entries_overview.html:90
#: app/templates/reports/iterative_view.html:45
#: app/templates/reports/iterative_view.html:56
#: app/templates/reports/time_entries_report.html:24
#: app/templates/reports/unpaid_hours_report.html:119
#: app/templates/reports/user_report.html:75 app/templates/tasks/view.html:77
#: app/templates/timer/_time_entries_list.html:36
#: app/templates/timer/_time_entries_list.html:63
#: app/templates/timer/edit_timer.html:533
#: app/templates/timer/time_entries_overview.html:67
#: app/templates/timer/view_timer.html:118 app/templates/user/profile.html:23
#: app/templates/workforce/dashboard.html:21
#: app/templates/workforce/dashboard.html:208
msgid "User"
msgstr "Usuario"

#: app/routes/reports.py:1038 app/templates/admin/email_support.html:183
#: app/templates/admin/settings.html:413 app/templates/base.html:395
#: app/templates/integrations/health.html:46
#: app/templates/integrations/view.html:32
#: app/templates/integrations/wizard_jira.html:253
#: app/templates/inventory/stock_items/view.html:113
#: app/templates/kanban/columns.html:79
#: app/templates/project_templates/view.html:40
#: app/templates/reports/time_entries_report.html:72
#: app/templates/reports/time_entries_report.html:123
#: app/templates/timer/calendar.html:885
msgid "Yes"
msgstr "Sí"

#: app/routes/reports.py:1038 app/templates/admin/email_support.html:185
#: app/templates/admin/settings.html:413 app/templates/base.html:396
#: app/templates/integrations/health.html:48
#: app/templates/integrations/view.html:43
#: app/templates/integrations/wizard_jira.html:253
#: app/templates/inventory/stock_items/view.html:115
#: app/templates/kanban/columns.html:81
#: app/templates/project_templates/view.html:40
#: app/templates/reports/time_entries_report.html:73
#: app/templates/reports/time_entries_report.html:123
#: app/templates/timer/calendar.html:885
msgid "No"
msgstr "No"

#: app/routes/salesman_reports.py:27
msgid "You do not have permission to access this page."
msgstr ""

#: app/routes/saved_filters.py:248
msgid "Could not delete filter due to a database error"
msgstr "No se pudo eliminar el filtro debido a un error de la base de datos"

#: app/routes/scheduled_reports.py:104
msgid "Error loading scheduled reports. Please check the logs."
msgstr ""

#: app/routes/scheduled_reports.py:129 app/routes/scheduled_reports.py:195
msgid "Please fill in all required fields."
msgstr ""

#: app/routes/scheduled_reports.py:133 app/routes/scheduled_reports.py:200
msgid "Please specify a custom field name when enabling report iteration."
msgstr ""

#: app/routes/scheduled_reports.py:151
msgid "Scheduled report created successfully."
msgstr ""

#: app/routes/scheduled_reports.py:168
msgid "Scheduled report deleted successfully."
msgstr ""

#: app/routes/scheduled_reports.py:250 app/routes/scheduled_reports.py:355
msgid "Permission denied"
msgstr ""

#: app/routes/scheduled_reports.py:305
msgid "You do not have permission to fix this schedule."
msgstr ""

#: app/routes/scheduled_reports.py:313
msgid "Scheduled report deleted: saved view no longer exists."
msgstr ""

#: app/routes/scheduled_reports.py:327
msgid "Scheduled report deactivated: invalid configuration."
msgstr ""

#: app/routes/scheduled_reports.py:334
msgid "Scheduled report deactivated: could not parse configuration."
msgstr ""

#: app/routes/scheduled_reports.py:340
msgid "Scheduled report validated and reactivated."
msgstr ""

#: app/routes/scheduled_reports.py:359
msgid "Saved report view not found"
msgstr ""

#: app/routes/settings.py:46
msgid "Your preferences are managed on the main Settings page."
msgstr ""

#: app/routes/setup.py:107
#, fuzzy
msgid "Could not save settings. Please check server logs."
msgstr "No se pudo actualizar la configuración debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/setup.py:125
msgid "Setup complete! Thank you for helping us improve TimeTracker."
msgstr "¡Configuración completa! Gracias por ayudarnos a mejorar TimeTracker."

#: app/routes/setup.py:127
msgid "Setup complete! Detailed analytics is disabled; anonymous base telemetry remains active."
msgstr ""

#: app/routes/setup.py:129
msgid "Google Calendar OAuth credentials have been configured."
msgstr ""

#: app/routes/tasks.py:191
msgid "Project and task name are required"
msgstr "El nombre del proyecto y la tarea son obligatorios."

#: app/routes/tasks.py:200 app/routes/tasks.py:422
#, python-format
msgid "Invalid task name: %(error)s"
msgstr ""

#: app/routes/tasks.py:208
msgid "Selected project does not exist"
msgstr "El proyecto seleccionado no existe"

#: app/routes/tasks.py:331
msgid "Task not found"
msgstr ""

#: app/routes/tasks.py:336
msgid "You do not have access to this task"
msgstr "No tienes acceso a esta tarea"

#: app/routes/tasks.py:395
msgid "You can only edit tasks you created"
msgstr "Solo puedes editar las tareas que hayas creado"

#: app/routes/tasks.py:415
msgid "Task name is required"
msgstr "El nombre de la tarea es obligatorio."

#: app/routes/tasks.py:434
msgid "Project is required"
msgstr "Se requiere proyecto"

#: app/routes/tasks.py:525
msgid "Could not update status due to a database error. Please check server logs."
msgstr "No se pudo actualizar el estado debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/tasks.py:588
msgid "Could not update task due to a database error. Please check server logs."
msgstr "No se pudo actualizar la tarea debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/tasks.py:626
msgid "You do not have permission to update this task"
msgstr "No tienes permiso para actualizar esta tarea"

#: app/routes/tasks.py:736
msgid "You can only update tasks you created"
msgstr "Solo puedes actualizar las tareas que creaste"

#: app/routes/tasks.py:757
msgid "You can only assign tasks you created"
msgstr "Solo puedes asignar tareas que hayas creado"

#: app/routes/tasks.py:763
msgid "Selected user does not exist"
msgstr "El usuario seleccionado no existe"

#: app/routes/tasks.py:770
msgid "Task unassigned"
msgstr "Tarea no asignada"

#: app/routes/tasks.py:783
msgid "You can only delete tasks you created"
msgstr "Solo puedes eliminar tareas que hayas creado"

#: app/routes/tasks.py:788
msgid "Cannot delete task with existing time entries"
msgstr "No se puede eliminar la tarea con entradas de tiempo existentes"

#: app/routes/tasks.py:809
msgid "Could not delete task due to a database error. Please check server logs."
msgstr "No se pudo eliminar la tarea debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/tasks.py:831
msgid "No tasks selected for deletion"
msgstr "No hay tareas seleccionadas para eliminar"

#: app/routes/tasks.py:893
msgid "Could not delete tasks due to a database error. Please check server logs."
msgstr "No se pudieron eliminar tareas debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/tasks.py:914 app/routes/tasks.py:989 app/routes/tasks.py:990
#: app/routes/tasks.py:1068 app/routes/tasks.py:1069 app/routes/tasks.py:1137
#: app/routes/tasks.py:1196
msgid "No tasks selected"
msgstr "No hay tareas seleccionadas"

#: app/routes/tasks.py:962 app/routes/tasks.py:1030 app/routes/tasks.py:1105
msgid "Could not update tasks due to a database error"
msgstr "No se pudieron actualizar las tareas debido a un error de la base de datos"

#: app/routes/tasks.py:995
#, fuzzy
msgid "Due date is required (YYYY-MM-DD)"
msgstr "Ingrese la nueva fecha de vencimiento (AAAA-MM-DD):"

#: app/routes/tasks.py:996
#, fuzzy
msgid "Due date is required"
msgstr "Se requiere fecha de gasto"

#: app/routes/tasks.py:1005 app/routes/tasks.py:1006
#, fuzzy
msgid "Invalid date format. Use YYYY-MM-DD"
msgstr "Formato de fecha no válido"

#: app/routes/tasks.py:1029 app/routes/tasks.py:1104
#, fuzzy
msgid "Database error"
msgstr "Soporte de base de datos"

#: app/routes/tasks.py:1040 app/routes/tasks.py:1115
#, fuzzy, python-format
msgid "Updated %(count)s task(s)"
msgstr "%(count)d cotizaciones duplicadas"

#: app/routes/tasks.py:1040 app/routes/tasks.py:1115
#, fuzzy
msgid "No tasks updated"
msgstr "No se encontraron tareas"

#: app/routes/tasks.py:1046
#, fuzzy, python-format
msgid "Successfully updated %(count)s task(s) due date to %(date)s"
msgstr "%(count)d gasto(s) se actualizó correctamente a %(status)s"

#: app/routes/tasks.py:1050
#, fuzzy, python-format
msgid "Skipped %(count)s task(s) (no permission)"
msgstr "%(count)d gastos omitidos (sin permiso)"

#: app/routes/tasks.py:1074 app/routes/tasks.py:1075
msgid "Invalid priority value"
msgstr "Valor de prioridad no válido"

#: app/routes/tasks.py:1141
msgid "No user selected for assignment"
msgstr "Ningún usuario seleccionado para la asignación"

#: app/routes/tasks.py:1147
msgid "Invalid user selected"
msgstr "Usuario no válido seleccionado"

#: app/routes/tasks.py:1174
msgid "Could not assign tasks due to a database error"
msgstr "No se pudieron asignar tareas debido a un error de la base de datos"

#: app/routes/tasks.py:1200
msgid "No project selected"
msgstr "Ningún proyecto seleccionado"

#: app/routes/tasks.py:1206 app/routes/timer.py:116 app/routes/timer.py:434
#: app/routes/timer.py:823 app/routes/timer.py:1639
msgid "Invalid project selected"
msgstr "Proyecto no válido seleccionado"

#: app/routes/tasks.py:1251
msgid "Could not move tasks due to a database error"
msgstr "No se pudieron mover tareas debido a un error de la base de datos"

#: app/routes/tasks.py:1484
msgid "Only administrators can view all overdue tasks"
msgstr "Solo los administradores pueden ver todas las tareas vencidas"

#: app/routes/team_chat.py:58 app/routes/team_chat.py:106
#: app/routes/team_chat.py:413 app/routes/team_chat.py:451
msgid "You don't have access to this channel"
msgstr ""

#: app/routes/team_chat.py:113
msgid "Message cannot be empty"
msgstr ""

#: app/routes/team_chat.py:133
msgid "Attachment data was invalid; message sent without attachment."
msgstr ""

#: app/routes/team_chat.py:406
msgid "Invalid message"
msgstr ""

#: app/routes/team_chat.py:417
msgid "No attachment found"
msgstr ""

#: app/routes/team_chat.py:496
msgid "Invalid filename"
msgstr ""

#: app/routes/team_chat.py:507
msgid "Server error: Could not create upload directory"
msgstr ""

#: app/routes/team_chat.py:515
msgid "Server error: Could not save file"
msgstr ""

#: app/routes/team_chat.py:556
msgid "Cannot create direct message with yourself"
msgstr ""

#: app/routes/team_chat.py:559
msgid "User is not active"
msgstr ""

#: app/routes/time_approvals.py:73
msgid "Time entry approved"
msgstr ""

#: app/routes/time_approvals.py:101
msgid "Time entry rejected"
msgstr ""

#: app/routes/time_approvals.py:127
msgid "Approval requested"
msgstr ""

#: app/routes/time_approvals.py:147
msgid "Approval cancelled"
msgstr ""

#: app/routes/time_entry_templates.py:93
msgid "Could not create template due to a database error"
msgstr "No se pudo crear la plantilla debido a un error de la base de datos"

#: app/routes/time_entry_templates.py:205
msgid "Could not update template due to a database error"
msgstr "No se pudo actualizar la plantilla debido a un error de la base de datos"

#: app/routes/time_entry_templates.py:248
msgid "Could not delete template due to a database error"
msgstr "No se pudo eliminar la plantilla debido a un error de la base de datos"

#: app/routes/timer.py:105
msgid "Either a project or a client is required"
msgstr ""

#: app/routes/timer.py:127 app/routes/timer.py:440 app/routes/timer.py:2042
msgid "Cannot start timer for an archived project. Please unarchive the project first."
msgstr "No se puede iniciar el cronómetro para un proyecto archivado. Primero desarchive el proyecto."

#: app/routes/timer.py:131 app/routes/timer.py:444 app/routes/timer.py:2045
msgid "Cannot start timer for an inactive project"
msgstr "No se puede iniciar el temporizador para un proyecto inactivo"

#: app/routes/timer.py:139
msgid "Selected task is invalid for the chosen project"
msgstr "La tarea seleccionada no es válida para el proyecto elegido"

#: app/routes/timer.py:153
msgid "Invalid client selected"
msgstr ""

#: app/routes/timer.py:159
msgid "Tasks can only be selected for project-based timers"
msgstr ""

#: app/routes/timer.py:167 app/routes/timer.py:356 app/routes/timer.py:449
#, fuzzy
msgid "You do not have access to this project"
msgstr "No tienes acceso a este proyecto."

#: app/routes/timer.py:171
#, fuzzy
msgid "You do not have access to this client"
msgstr "No tienes acceso a esta tarea"

#: app/routes/timer.py:177 app/routes/timer.py:341 app/routes/timer.py:455
msgid "You already have an active timer. Stop it before starting a new one."
msgstr "Ya tienes un temporizador activo. Deténgalo antes de comenzar uno nuevo."

#: app/routes/timer.py:219 app/routes/timer.py:382 app/routes/timer.py:470
msgid "Could not start timer due to a database error. Please check server logs."
msgstr "No se pudo iniciar el cronómetro debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/timer.py:267 app/routes/timer.py:272 app/routes/timer.py:1048
#: app/routes/timer.py:1055 app/routes/timer.py:2148
#: app/templates/admin/oidc_user_detail.html:30
#: app/templates/client_portal/project_comments.html:55
#: app/templates/invoice_approvals/list.html:56
#: app/templates/invoice_approvals/view.html:43
#: app/templates/invoice_approvals/view.html:50
#: app/templates/invoice_approvals/view.html:73
#: app/templates/reports/scheduled.html:38
msgid "Unknown"
msgstr "Desconocido"

#: app/routes/timer.py:326
msgid "Timer started"
msgstr ""

#: app/routes/timer.py:346
msgid "Template must have a project to start a timer"
msgstr "La plantilla debe tener un proyecto para iniciar un temporizador."

#: app/routes/timer.py:352
msgid "Cannot start timer for this project"
msgstr "No se puede iniciar el temporizador para este proyecto"

#: app/routes/timer.py:533
msgid "No active timer to stop"
msgstr "No hay ningún temporizador activo para detener"

#: app/routes/timer.py:623 app/templates/issues/edit.html:62
#: app/templates/issues/new.html:56 app/templates/main/dashboard.html:91
#: app/templates/recurring_tasks/list.html:53
#: app/templates/timer/timer_page.html:59 app/templates/user/profile.html:60
#: app/templates/user/profile.html:98
msgid "No project"
msgstr "Ningún proyecto"

#: app/routes/timer.py:634
#, python-format
msgid "Cannot stop timer: %(error)s"
msgstr ""

#: app/routes/timer.py:639
msgid "Could not stop timer due to an error. Please try again or contact support if the problem persists."
msgstr ""

#: app/routes/timer.py:651
#, fuzzy
msgid "No active timer to pause"
msgstr "No hay ningún temporizador activo para detener"

#: app/routes/timer.py:655
#, fuzzy
msgid "Timer paused"
msgstr "Temporizador detenido"

#: app/routes/timer.py:660
#, fuzzy
msgid "Could not pause timer. Please try again."
msgstr "No se pudo crear el cliente. Por favor inténtalo de nuevo."

#: app/routes/timer.py:676
#, fuzzy
msgid "No active timer to resume"
msgstr "No hay ningún temporizador activo para detener"

#: app/routes/timer.py:680 app/routes/timer.py:2202
msgid "Timer resumed"
msgstr ""

#: app/routes/timer.py:685
#, fuzzy
msgid "Could not resume timer. Please try again."
msgstr "No se pudo crear el cliente. Por favor inténtalo de nuevo."

#: app/routes/timer.py:701
#, fuzzy
msgid "No active timer to adjust"
msgstr "No hay ningún temporizador activo para detener"

#: app/routes/timer.py:707
#, fuzzy
msgid "Invalid adjustment value"
msgstr "Valor de estado no válido"

#: app/routes/timer.py:779
msgid "You can only edit your own timers"
msgstr "Sólo puedes editar tus propios temporizadores."

#: app/routes/timer.py:841
msgid "Invalid task selected for the chosen project"
msgstr "Tarea no válida seleccionada para el proyecto elegido"

#: app/routes/timer.py:869
msgid "Start time cannot be in the future"
msgstr "La hora de inicio no puede ser en el futuro."

#: app/routes/timer.py:877
msgid "Invalid start date/time format"
msgstr "Formato de fecha/hora de inicio no válido"

#: app/routes/timer.py:894 app/routes/timer.py:1423 app/templates/base.html:415
#: app/templates/timer/manual_entry.html:648
msgid "End time must be after start time"
msgstr "La hora de finalización debe ser posterior a la hora de inicio."

#: app/routes/timer.py:902
msgid "Invalid end date/time format"
msgstr "Formato de fecha/hora de finalización no válido"

#: app/routes/timer.py:961
msgid "Timer updated successfully"
msgstr "Temporizador actualizado exitosamente"

#: app/routes/timer.py:979
msgid "You do not have permission to view this time entry"
msgstr ""

#: app/routes/timer.py:1034
msgid "You can only delete your own timers"
msgstr "Sólo puedes eliminar tus propios temporizadores."

#: app/routes/timer.py:1039
msgid "Cannot delete an active timer"
msgstr "No se puede eliminar un temporizador activo"

#: app/routes/timer.py:1085 app/routes/timer.py:1092
msgid "Could not delete timer due to a database error. Please check server logs."
msgstr "No se pudo eliminar el temporizador debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/timer.py:1147 app/routes/timer.py:2983
msgid "No time entries selected"
msgstr ""

#: app/routes/timer.py:1153 app/routes/timer.py:2995
msgid "Invalid entry IDs"
msgstr ""

#: app/routes/timer.py:1159 app/routes/timer.py:3001
#: app/templates/client_portal/time_entries.html:167
#: app/templates/client_portal/widgets/time_entries.html:68
msgid "No time entries found"
msgstr ""

#: app/routes/timer.py:1195
#, python-format
msgid "Successfully deleted %(count)d time entry/entries"
msgstr ""

#: app/routes/timer.py:1198 app/routes/timer.py:3055
#, python-format
msgid "Skipped %(count)d time entry/entries (no permission or active timer)"
msgstr ""

#: app/routes/timer.py:1309 app/templates/timer/manual_entry.html:622
msgid "Please provide either start/end date+time or a worked time duration (HH:MM)."
msgstr ""

#: app/routes/timer.py:1334
msgid "Either a project or a client must be selected"
msgstr ""

#: app/routes/timer.py:1394
msgid "Invalid date/time format"
msgstr "Formato de fecha/hora no válido"

#: app/routes/timer.py:1501
#, python-format
msgid "Manual entry created for %(project)s - %(task)s"
msgstr ""

#: app/routes/timer.py:1504
#, python-format
msgid "Manual entry created for %(target)s"
msgstr ""

#: app/routes/timer.py:1628
msgid "All fields are required"
msgstr "Todos los campos son obligatorios"

#: app/routes/timer.py:1649
msgid "Cannot create time entries for an archived project. Please unarchive the project first."
msgstr "No se pueden crear entradas de tiempo para un proyecto archivado. Primero desarchive el proyecto."

#: app/routes/timer.py:1657
msgid "Cannot create time entries for an inactive project"
msgstr "No se pueden crear entradas de tiempo para un proyecto inactivo"

#: app/routes/timer.py:1669
msgid "Invalid task selected"
msgstr "Tarea no válida seleccionada"

#: app/routes/timer.py:1685
msgid "End date must be after or equal to start date"
msgstr "La fecha de finalización debe ser posterior o igual a la fecha de inicio."

#: app/routes/timer.py:1695
msgid "Date range cannot exceed 31 days"
msgstr "El intervalo de fechas no puede exceder los 31 días"

#: app/routes/timer.py:1725
msgid "Invalid time format"
msgstr "Formato de hora no válido"

#: app/routes/timer.py:1747
msgid "No valid dates found in the selected range"
msgstr "No se encontraron fechas válidas en el rango seleccionado"

#: app/routes/timer.py:1813
msgid "Could not create bulk entries due to a database error. Please check server logs."
msgstr "No se pudieron crear entradas masivas debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/timer.py:1832
msgid "An error occurred while creating bulk entries. Please try again."
msgstr "Se produjo un error al crear entradas masivas. Por favor inténtalo de nuevo."

#: app/routes/timer.py:1961
msgid "You can only duplicate your own timers"
msgstr "Sólo puedes duplicar tus propios temporizadores."

#: app/routes/timer.py:2019
msgid "You can only resume your own timers"
msgstr "Sólo puedes reanudar tus propios cronómetros."

#: app/routes/timer.py:2038
msgid "Project no longer exists"
msgstr "El proyecto ya no existe"

#: app/routes/timer.py:2064
msgid "Client no longer exists or is inactive"
msgstr ""

#: app/routes/timer.py:2070
msgid "Timer is not linked to a project or client"
msgstr ""

#: app/routes/timer.py:2098
msgid "Could not resume timer due to a database error. Please check server logs."
msgstr "No se pudo reanudar el cronómetro debido a un error de la base de datos. Por favor verifique los registros del servidor."

#: app/routes/timer.py:2149
msgid "Resumed timer"
msgstr ""

#: app/routes/timer.py:2987
msgid "Invalid paid status"
msgstr ""

#: app/routes/timer.py:3042
msgid "Could not update time entries due to a database error. Please check server logs."
msgstr ""

#: app/routes/timer.py:3046
#, python-format
msgid "Successfully marked %(count)d time entry/entries as %(status)s"
msgstr ""

#: app/routes/timer.py:3049
msgid "paid"
msgstr ""

#: app/routes/timer.py:3049
msgid "unpaid"
msgstr ""

#: app/routes/user.py:114
msgid "Invalid timezone selected"
msgstr "Zona horaria no válida seleccionada"

#: app/routes/user.py:169
msgid "Standard hours per day must be between 0.5 and 24"
msgstr "Las horas estándar por día deben estar entre 0,5 y 24"

#: app/routes/user.py:182
#, fuzzy
msgid "Standard hours per week must be between 1 and 168"
msgstr "Las horas estándar por día deben estar entre 0,5 y 24"

#: app/routes/user.py:200
msgid "Settings saved successfully"
msgstr "Configuración guardada exitosamente"

#: app/routes/user.py:205
#, python-format
msgid "Error saving settings: %(error)s"
msgstr "Error al guardar la configuración: %(error)s"

#: app/routes/user.py:244
msgid "This instance is already licensed."
msgstr ""

#: app/routes/user.py:265
#, fuzzy
msgid "License activated. Thank you for supporting TimeTracker!"
msgstr "¡Gracias por elegir TimeTracker!"

#: app/routes/user.py:267
#, fuzzy
msgid "Error saving settings."
msgstr "Error al guardar la configuración"

#: app/routes/user.py:360
msgid "Preferences updated"
msgstr "Preferencias actualizadas"

#: app/routes/user.py:409
msgid "Language updated successfully"
msgstr "Idioma actualizado exitosamente"

#: app/routes/user.py:411 app/routes/user.py:440
msgid "Invalid language"
msgstr "Idioma no válido"

#: app/routes/user.py:434
#, python-format
msgid "Language updated to %(language)s"
msgstr "Idioma actualizado a %(language)s"

#: app/routes/webhooks.py:41
msgid "Webhook name is required"
msgstr "El nombre del webhook es obligatorio."

#: app/routes/webhooks.py:47
msgid "Webhook URL is required"
msgstr "Se requiere la URL del webhook"

#: app/routes/webhooks.py:55
msgid "At least one event must be selected"
msgstr "Se debe seleccionar al menos un evento."

#: app/routes/webhooks.py:81
msgid "Webhook created successfully"
msgstr "Webhook creado exitosamente"

#: app/routes/webhooks.py:85
msgid "Error creating webhook"
msgstr "Error al crear webhook"

#: app/routes/webhooks.py:88
#, python-format
msgid "Error creating webhook: %(error)s"
msgstr "Error al crear webhook: %(error)s"

#: app/routes/webhooks.py:150
msgid "Webhook updated successfully"
msgstr "Webhook actualizado correctamente"

#: app/routes/webhooks.py:154
#, python-format
msgid "Error updating webhook: %(error)s"
msgstr "Error al actualizar el webhook: %(error)s"

#: app/routes/webhooks.py:175
msgid "Webhook deleted successfully"
msgstr "Webhook eliminado correctamente"

#: app/routes/webhooks.py:178
#, python-format
msgid "Error deleting webhook: %(error)s"
msgstr "Error al eliminar el webhook: %(error)s"

#: app/routes/weekly_goals.py:80 app/routes/weekly_goals.py:224
msgid "Please enter a valid target hours (greater than 0)"
msgstr "Ingrese un horario objetivo válido (mayor que 0)"

#: app/routes/weekly_goals.py:101
msgid "A goal already exists for this week. Please edit the existing goal instead."
msgstr "Ya existe un objetivo para esta semana. En su lugar, edite el objetivo existente."

#: app/routes/weekly_goals.py:116
msgid "Weekly time goal created successfully!"
msgstr "¡El objetivo de tiempo semanal se creó correctamente!"

#: app/routes/weekly_goals.py:132
msgid "Failed to create goal. Please try again."
msgstr "No se pudo crear el objetivo. Por favor inténtalo de nuevo."

#: app/routes/weekly_goals.py:147
msgid "You do not have permission to view this goal"
msgstr "No tienes permiso para ver este objetivo."

#: app/routes/weekly_goals.py:208
msgid "You do not have permission to edit this goal"
msgstr "No tienes permiso para editar este objetivo."

#: app/routes/weekly_goals.py:245
msgid "Weekly time goal updated successfully!"
msgstr "¡El objetivo de tiempo semanal se actualizó correctamente!"

#: app/routes/weekly_goals.py:262
msgid "Failed to update goal. Please try again."
msgstr "No se pudo actualizar el objetivo. Por favor inténtalo de nuevo."

#: app/routes/weekly_goals.py:277
msgid "You do not have permission to delete this goal"
msgstr "No tienes permiso para eliminar este objetivo."

#: app/routes/weekly_goals.py:285
msgid "Weekly time goal deleted successfully"
msgstr "El objetivo de tiempo semanal se eliminó correctamente"

#: app/routes/weekly_goals.py:295
msgid "Failed to delete goal. Please try again."
msgstr "No se pudo eliminar el objetivo. Por favor inténtalo de nuevo."

#: app/routes/workflows.py:58
msgid "Workflow created successfully"
msgstr ""

#: app/routes/workflows.py:63 app/routes/workflows.py:139
msgid "Task Status Changes"
msgstr ""

#: app/routes/workflows.py:64 app/routes/workflows.py:140
msgid "Task Created"
msgstr ""

#: app/routes/workflows.py:65 app/routes/workflows.py:141
msgid "Task Completed"
msgstr ""

#: app/routes/workflows.py:66 app/routes/workflows.py:142
msgid "Time Logged"
msgstr ""

#: app/routes/workflows.py:67 app/routes/workflows.py:143
msgid "Deadline Approaching"
msgstr ""

#: app/routes/workflows.py:68 app/routes/workflows.py:144
msgid "Budget Threshold Reached"
msgstr ""

#: app/routes/workflows.py:69
msgid "Invoice Created"
msgstr ""

#: app/routes/workflows.py:70
msgid "Invoice Paid"
msgstr ""

#: app/routes/workflows.py:74 app/routes/workflows.py:148
msgid "Log Time Entry"
msgstr ""

#: app/routes/workflows.py:75 app/routes/workflows.py:149
msgid "Send Notification"
msgstr ""

#: app/routes/workflows.py:76 app/routes/workflows.py:150
#: app/templates/expenses/list.html:234 app/templates/invoices/list.html:140
#: app/templates/payments/list.html:253 app/templates/per_diem/list.html:183
#: app/templates/tasks/list.html:177
msgid "Update Status"
msgstr "Estado de actualización"

#: app/routes/workflows.py:77 app/routes/workflows.py:151
msgid "Assign Task"
msgstr ""

#: app/routes/workflows.py:78 app/templates/issues/view.html:80
#: app/templates/tasks/create.html:4 app/templates/tasks/create.html:16
#: app/templates/tasks/create.html:139
msgid "Create Task"
msgstr "Crear tarea"

#: app/routes/workflows.py:79
msgid "Update Project"
msgstr ""

#: app/routes/workflows.py:80 app/templates/invoices/edit.html:10
#: app/templates/invoices/view.html:519 app/templates/quotes/view.html:41
#: app/templates/quotes/view.html:480
msgid "Send Email"
msgstr "Enviar correo electrónico"

#: app/routes/workflows.py:81
msgid "Trigger Webhook"
msgstr ""

#: app/routes/workflows.py:135
msgid "Workflow updated successfully"
msgstr ""

#: app/routes/workflows.py:175
msgid "Workflow deleted successfully"
msgstr ""

#: app/routes/workforce.py:121
#, python-format
msgid "Timesheet period ready: %(start)s to %(end)s"
msgstr ""

#: app/routes/workforce.py:136
msgid "Timesheet period submitted"
msgstr ""

#: app/routes/workforce.py:158
msgid "Timesheet period approved"
msgstr ""

#: app/routes/workforce.py:180
#, fuzzy
msgid "Timesheet period rejected"
msgstr "Seleccionar Proyecto"

#: app/routes/workforce.py:191
#, fuzzy
msgid "Only admins can close periods"
msgstr "Sólo los administradores pueden rechazar entradas de millas"

#: app/routes/workforce.py:202
msgid "Timesheet period closed"
msgstr ""

#: app/routes/workforce.py:243
#, fuzzy
msgid "Timesheet policy updated"
msgstr "Actualizaciones en vivo de WebSocket"

#: app/routes/workforce.py:257
#, fuzzy
msgid "Name and code are required"
msgstr "Se requiere nombre y precio unitario."

#: app/routes/workforce.py:270
#, fuzzy
msgid "Leave type created"
msgstr "Cliente creado"

#: app/routes/workforce.py:303
#, fuzzy
msgid "Leave type and date range are required"
msgstr "Se requieren clave y etiqueta."

#: app/routes/workforce.py:320
msgid "Time-off request submitted"
msgstr ""

#: app/routes/workforce.py:344
#, fuzzy
msgid "Time-off request approved"
msgstr "Solicitar aprobación"

#: app/routes/workforce.py:368
#, fuzzy
msgid "Time-off request rejected"
msgstr "Cotización rechazada"

#: app/routes/workforce.py:405
#, fuzzy
msgid "Name and date range are required"
msgstr "Se requiere nombre y precio unitario."

#: app/routes/workforce.py:411
#, fuzzy
msgid "Holiday created"
msgstr "Tarifa por hora"

#: app/routes/workforce.py:441
msgid "Start date and end date are required for payroll export"
msgstr ""

#: app/routes/workforce.py:505
msgid "Start date and end date are required for capacity export"
msgstr ""

#: app/templates/_components.html:213
msgid "remaining"
msgstr "restante"

#: app/templates/admin/webhooks/list.html:68
#: app/templates/admin/webhooks/view.html:114 app/templates/base.html:378
#: app/templates/integrations/health.html:60
#: app/templates/integrations/view.html:53
#: app/templates/integrations/view.html:84
#: app/templates/kanban/columns.html:226 app/templates/reports/builder.html:772
msgid "Success"
msgstr "Éxito"

#: app/templates/admin/email_support.html:401
#: app/templates/admin/email_support.html:500 app/templates/base.html:379
#: app/templates/integrations/health.html:64
#: app/templates/integrations/view.html:55
#: app/templates/integrations/view.html:86
#: app/templates/main/dashboard.html:691 app/templates/reports/builder.html:792
#: app/templates/reports/builder.html:806
#: app/templates/reports/scheduled.html:71
#: app/templates/timer/manual_entry.html:400
#: app/templates/timer/manual_entry.html:412
#: app/templates/timer/manual_entry.html:444
#: app/templates/timer/manual_entry.html:533
#: app/templates/timer/manual_entry.html:560
#: app/templates/timer/manual_entry.html:583
#: app/templates/timer/manual_entry.html:598
#: app/templates/timer/manual_entry.html:624
#: app/templates/timer/manual_entry.html:650
#: app/templates/timer/timer_page.html:364
msgid "Error"
msgstr "Error"

#: app/templates/base.html:380 app/templates/budget/dashboard.html:161
#: app/templates/budget/project_detail.html:67
#: app/templates/main/dashboard.html:1616 app/templates/projects/view.html:287
#: app/templates/timer/edit_timer.html:881
#: app/templates/timer/manual_entry.html:1055 app/utils/i18n_helpers.py:275
#: app/utils/i18n_helpers.py:281
msgid "Warning"
msgstr "Advertencia"

#: app/templates/base.html:381 app/templates/calendar/event_detail.html:170
#: app/templates/quotes/view.html:404
msgid "Information"
msgstr "Información"

#: app/templates/admin/salesman_email_mappings.html:51
#: app/templates/analytics/dashboard.html:208
#: app/templates/analytics/dashboard_improved.html:200
#: app/templates/analytics/mobile_dashboard.html:148
#: app/templates/base.html:384
#: app/templates/components/activity_feed_widget.html:237
#: app/templates/components/ui.html:275
#: app/templates/import_export/index.html:128
#: app/templates/import_export/index.html:202
#: app/templates/main/dashboard.html:180 app/templates/main/dashboard.html:201
#: app/templates/main/dashboard.html:222
#: app/templates/reports/unpaid_hours_report.html:64
#: app/templates/timer/calendar.html:678
msgid "Loading..."
msgstr "Cargando..."

#: app/templates/admin/email_support.html:342 app/templates/base.html:385
#: app/templates/client_notes/edit.html:115
#: app/templates/client_portal/dashboard.html:135
#: app/templates/comments/_comments_section.html:169
#: app/templates/comments/edit.html:112 app/templates/reports/builder.html:674
#: app/templates/settings/keyboard_shortcuts.html:469
msgid "Saving..."
msgstr "Ahorro..."

#: app/templates/base.html:386
msgid "Deleting..."
msgstr "Eliminando..."

#: app/templates/admin/api_tokens.html:461
#: app/templates/admin/api_tokens.html:494
#: app/templates/admin/custom_field_definitions/form.html:66
#: app/templates/admin/email_templates/create.html:120
#: app/templates/admin/email_templates/edit.html:137
#: app/templates/admin/email_templates/list.html:80
#: app/templates/admin/integrations/setup.html:162
#: app/templates/admin/ldap_setup_wizard.html:265
#: app/templates/admin/link_templates/form.html:72
#: app/templates/admin/oidc_setup_wizard.html:316
#: app/templates/admin/pdf_layout.html:4409
#: app/templates/admin/pdf_layout.html:7736
#: app/templates/admin/quote_pdf_layout.html:3928
#: app/templates/admin/quote_pdf_layout.html:7176
#: app/templates/admin/roles/form.html:149
#: app/templates/admin/roles/list.html:215
#: app/templates/admin/salesman_email_mappings.html:145
#: app/templates/admin/settings.html:716 app/templates/admin/users.html:124
#: app/templates/admin/users/roles.html:57
#: app/templates/admin/webhooks/form.html:128
#: app/templates/approvals/list.html:138 app/templates/approvals/view.html:157
#: app/templates/auth/change_password.html:37 app/templates/base.html:387
#: app/templates/calendar/event_detail.html:194
#: app/templates/calendar/event_form.html:237
#: app/templates/chat/channel.html:268 app/templates/chat/index.html:122
#: app/templates/client_notes/edit.html:83
#: app/templates/client_portal/dashboard.html:88
#: app/templates/client_portal/new_issue.html:82
#: app/templates/client_portal/quote_detail.html:168
#: app/templates/clients/create.html:108 app/templates/clients/edit.html:143
#: app/templates/clients/view.html:238 app/templates/clients/view.html:461
#: app/templates/clients/view.html:598 app/templates/clients/view.html:634
#: app/templates/comments/_comment.html:120
#: app/templates/comments/_comment.html:140
#: app/templates/comments/_comment.html:164
#: app/templates/comments/_comments_section.html:44
#: app/templates/comments/edit.html:83
#: app/templates/contacts/communication_form.html:82
#: app/templates/contacts/form.html:99
#: app/templates/deals/activity_form.html:63 app/templates/deals/form.html:112
#: app/templates/expenses/view.html:401
#: app/templates/import_export/index.html:239
#: app/templates/import_export/index.html:277
#: app/templates/integrations/activitywatch_setup.html:148
#: app/templates/integrations/caldav_setup.html:202
#: app/templates/integrations/wizard_base.html:55
#: app/templates/inventory/adjustments/form.html:56
#: app/templates/inventory/movements/form.html:114
#: app/templates/inventory/purchase_orders/form.html:101
#: app/templates/inventory/stock_items/form.html:134
#: app/templates/inventory/suppliers/form.html:85
#: app/templates/inventory/transfers/form.html:60
#: app/templates/inventory/warehouses/form.html:60
#: app/templates/invoice_approvals/list.html:85
#: app/templates/invoice_approvals/request.html:38
#: app/templates/invoices/edit.html:286 app/templates/invoices/edit.html:670
#: app/templates/invoices/generate_from_time.html:136
#: app/templates/invoices/list.html:171 app/templates/invoices/view.html:383
#: app/templates/issues/edit.html:86 app/templates/issues/new.html:80
#: app/templates/kanban/columns.html:162
#: app/templates/kanban/create_column.html:86
#: app/templates/kanban/edit_column.html:88
#: app/templates/leads/activity_form.html:63
#: app/templates/leads/convert_to_client.html:35
#: app/templates/leads/convert_to_deal.html:63
#: app/templates/leads/form.html:103 app/templates/main/dashboard.html:790
#: app/templates/payment_gateways/create.html:79
#: app/templates/payment_gateways/pay.html:35
#: app/templates/per_diem/rates_list.html:113
#: app/templates/project_templates/create.html:106
#: app/templates/project_templates/create_project.html:66
#: app/templates/project_templates/edit.html:136
#: app/templates/projects/add_cost.html:98
#: app/templates/projects/add_good.html:68
#: app/templates/projects/archive.html:82
#: app/templates/projects/create.html:137
#: app/templates/projects/create.html:307 app/templates/projects/edit.html:128
#: app/templates/projects/edit_cost.html:105
#: app/templates/projects/edit_good.html:68
#: app/templates/projects/view.html:365 app/templates/quotes/accept.html:54
#: app/templates/quotes/create.html:262 app/templates/quotes/edit.html:348
#: app/templates/quotes/view.html:304 app/templates/quotes/view.html:385
#: app/templates/quotes/view.html:477 app/templates/quotes/view.html:551
#: app/templates/quotes/view.html:569 app/templates/quotes/view.html:581
#: app/templates/recurring_tasks/form.html:128
#: app/templates/reports/builder.html:220 app/templates/reports/index.html:492
#: app/templates/reports/schedule_form.html:100
#: app/templates/settings/keyboard_shortcuts.html:484
#: app/templates/tasks/create.html:138 app/templates/tasks/edit.html:146
#: app/templates/tasks/list.html:216 app/templates/tasks/list.html:423
#: app/templates/timer/calendar.html:204 app/templates/timer/calendar.html:829
#: app/templates/timer/calendar.html:1119
#: app/templates/timer/time_entries_overview.html:181
#: app/templates/timer/time_entries_overview.html:207
#: app/templates/user/settings.html:494
#: app/templates/weekly_goals/create.html:125
#: app/templates/weekly_goals/edit.html:112
msgid "Cancel"
msgstr "Cancelar"

#: app/templates/base.html:388
msgid "Confirm"
msgstr "Confirmar"

#: app/templates/admin/pdf_layout.html:2361
#: app/templates/admin/quote_pdf_layout.html:2133
#: app/templates/approvals/list.html:129 app/templates/approvals/view.html:148
#: app/templates/base.html:389 app/templates/base.html:1427
#: app/templates/base.html:1504 app/templates/calendar/view.html:148
#: app/templates/chat/index.html:101
#: app/templates/components/support_modal.html:18
#: app/templates/invoices/list.html:155 app/templates/invoices/view.html:367
#: app/templates/kanban/columns.html:143 app/templates/main/dashboard.html:707
#: app/templates/partials/_bottom_nav.html:18
#: app/templates/projects/create.html:267 app/templates/quotes/view.html:447
#: app/templates/tasks/_kanban.html:1363 app/templates/timer/calendar.html:234
#: app/templates/timer/calendar.html:259
#: app/templates/workforce/dashboard.html:87
msgid "Close"
msgstr "Cerca"

#: app/templates/admin/custom_field_definitions/form.html:67
#: app/templates/admin/link_templates/form.html:73
#: app/templates/admin/salesman_email_mappings.html:148
#: app/templates/admin/webhooks/form.html:125 app/templates/base.html:390
#: app/templates/calendar/view.html:112
#: app/templates/client_portal/dashboard.html:91
#: app/templates/comments/_comment.html:137
#: app/templates/inventory/stock_items/form.html:137
#: app/templates/inventory/suppliers/form.html:88
#: app/templates/inventory/warehouses/form.html:63
#: app/templates/recurring_tasks/form.html:130
#: app/templates/reports/builder.html:69 app/templates/reports/builder.html:221
msgid "Save"
msgstr "Ahorrar"

#: app/templates/admin/api_tokens.html:493
#: app/templates/admin/custom_field_definitions/list.html:67
#: app/templates/admin/email_templates/list.html:83
#: app/templates/admin/link_templates/list.html:71
#: app/templates/admin/roles/list.html:149
#: app/templates/admin/roles/list.html:214 app/templates/admin/users.html:83
#: app/templates/admin/users.html:123 app/templates/base.html:391
#: app/templates/calendar/event_detail.html:26
#: app/templates/calendar/event_detail.html:193
#: app/templates/calendar/view.html:154 app/templates/clients/view.html:278
#: app/templates/clients/view.html:280 app/templates/clients/view.html:512
#: app/templates/clients/view.html:633 app/templates/comments/_comment.html:41
#: app/templates/comments/_comment.html:85 app/templates/expenses/view.html:400
#: app/templates/integrations/view.html:156 app/templates/issues/view.html:16
#: app/templates/issues/view.html:19 app/templates/kanban/columns.html:103
#: app/templates/per_diem/rates_list.html:80
#: app/templates/per_diem/rates_list.html:112
#: app/templates/projects/goods.html:81 app/templates/projects/view.html:405
#: app/templates/projects/view.html:407
#: app/templates/quotes/_quotes_list.html:15 app/templates/quotes/list.html:368
#: app/templates/quotes/view.html:331 app/templates/quotes/view.html:356
#: app/templates/quotes/view.html:584
#: app/templates/reports/saved_views_list.html:69
#: app/templates/reports/scheduled.html:100
#: app/templates/saved_filters/list.html:51 app/templates/tasks/list.html:422
#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
#: app/templates/timer/_time_entries_list.html:21
#: app/templates/timer/calendar.html:232 app/templates/timer/calendar.html:829
#: app/templates/timer/calendar.html:991 app/templates/timer/calendar.html:1118
#: app/templates/timer/time_entries_overview.html:184
#: app/templates/weekly_goals/edit.html:115
#: app/templates/weekly_goals/edit.html:117
#: app/templates/workforce/dashboard.html:94
#: app/templates/workforce/dashboard.html:193
#: app/templates/workforce/dashboard.html:267
#: app/templates/workforce/dashboard.html:292
msgid "Delete"
msgstr "Borrar"

#: app/templates/admin/custom_field_definitions/form.html:8
#: app/templates/admin/custom_field_definitions/list.html:62
#: app/templates/admin/link_templates/form.html:8
#: app/templates/admin/link_templates/list.html:66
#: app/templates/admin/roles/list.html:144 app/templates/admin/users.html:77
#: app/templates/admin/webhooks/view.html:18 app/templates/base.html:392
#: app/templates/calendar/event_detail.html:22
#: app/templates/calendar/view.html:151 app/templates/clients/edit.html:10
#: app/templates/clients/view.html:504 app/templates/comments/_comment.html:36
#: app/templates/contacts/list.html:59 app/templates/deals/view.html:14
#: app/templates/kanban/columns.html:93 app/templates/leads/view.html:14
#: app/templates/per_diem/rates_list.html:70
#: app/templates/project_templates/list.html:60
#: app/templates/project_templates/view.html:17
#: app/templates/quotes/view.html:328 app/templates/quotes/view.html:353
#: app/templates/recurring_invoices/view.html:16
#: app/templates/reports/iterative_view.html:19
#: app/templates/reports/saved_views_list.html:64
#: app/templates/tasks/edit.html:16 app/templates/tasks/overdue.html:74
#: app/templates/timer/_time_entries_list.html:182
#: app/templates/timer/calendar.html:239 app/templates/timer/calendar.html:818
#: app/templates/timer/calendar.html:988 app/templates/timer/view_timer.html:17
#: app/templates/weekly_goals/index.html:196
#: app/templates/weekly_goals/view.html:26
msgid "Edit"
msgstr "Editar"

#: app/templates/base.html:393
msgid "Add"
msgstr "Agregar"

#: app/templates/admin/settings.html:715 app/templates/base.html:394
#: app/templates/inventory/purchase_orders/form.html:153
#: app/templates/inventory/stock_items/form.html:120
#: app/templates/inventory/stock_items/form.html:171
#: app/templates/quotes/_edit_quote_form_scripts.html:204
#: app/templates/quotes/_edit_quote_form_scripts.html:239
#: app/templates/quotes/edit.html:171 app/templates/quotes/edit.html:229
#: app/templates/reports/builder.html:433
msgid "Remove"
msgstr "Eliminar"

#: app/templates/admin/settings.html:828 app/templates/admin/users.html:108
#: app/templates/base.html:397 app/templates/integrations/health.html:78
#: app/templates/inventory/stock_levels/warehouse.html:77
msgid "OK"
msgstr "DE ACUERDO"

#: app/templates/base.html:400
msgid "Are you sure you want to delete this?"
msgstr "¿Estás seguro de que quieres eliminar esto?"

#: app/templates/base.html:401
msgid "You have unsaved changes. Are you sure you want to leave?"
msgstr "Tienes cambios sin guardar. ¿Estás seguro de que quieres irte?"

#: app/templates/base.html:402
msgid "Operation failed"
msgstr "Operación fallida"

#: app/templates/base.html:403
msgid "Operation completed successfully"
msgstr "Operación completada con éxito"

#: app/templates/base.html:404
msgid "No items selected"
msgstr "No hay elementos seleccionados"

#: app/templates/base.html:405
msgid "Invalid input"
msgstr "Entrada no válida"

#: app/templates/base.html:406
msgid "This field is required"
msgstr "Este campo es obligatorio"

#: app/templates/base.html:407 app/templates/kiosk/base.html:103
#: app/templates/user/profile.html:62
msgid "No active timer"
msgstr "Sin temporizador activo"

#: app/templates/base.html:408
msgid "Timer stopped"
msgstr "Temporizador detenido"

#: app/templates/base.html:409
msgid "Failed to stop timer"
msgstr "No se pudo detener el cronómetro"

#: app/templates/base.html:410
msgid "Error stopping timer"
msgstr "Error al detener el temporizador"

#: app/templates/base.html:411
msgid "No form to save"
msgstr "No hay formulario para guardar"

#: app/templates/base.html:412
msgid "No timer found"
msgstr "No se encontró ningún temporizador"

#: app/templates/base.html:413
msgid "Timer stopped due to inactivity"
msgstr "Temporizador detenido por inactividad"

#: app/templates/base.html:414 app/templates/main/dashboard.html:689
#: app/templates/timer/manual_entry.html:531
#: app/templates/timer/timer_page.html:362
msgid "Please select either a project or a client"
msgstr ""

#: app/templates/base.html:477
msgid "Skip to content"
msgstr "Saltar al contenido"

#: app/templates/base.html:480
#, fuzzy
msgid "Main navigation"
msgstr "Navegación móvil"

#: app/templates/base.html:502 app/templates/timer/calendar.html:277
msgid "Navigation"
msgstr "Navegación"

#: app/templates/base.html:507 app/templates/base.html:508
#: app/templates/base.html:1222
#, fuzzy
msgid "Open command palette"
msgstr "Paleta de comandos"

#: app/templates/base.html:512
#, fuzzy
msgid "Commands"
msgstr "Comentarios"

#: app/templates/base.html:519
msgid "Toggle sidebar"
msgstr "Alternar barra lateral"

#: app/templates/base.html:525 app/templates/base.html:527
#: app/templates/client_portal/base.html:254
#: app/templates/client_portal/base.html:339
#: app/templates/main/dashboard.html:28 app/templates/main/dashboard.html:29
#: app/templates/main/donate.html:8 app/templates/partials/_bottom_nav.html:60
#: app/templates/partials/_bottom_nav.html:64
#: app/templates/projects/view.html:35
msgid "Dashboard"
msgstr "Panel"

#: app/templates/base.html:531 app/templates/base.html:533
#: app/templates/base.html:1253 app/templates/kiosk/base.html:155
#: app/templates/main/dashboard.html:38
#: app/templates/partials/_bottom_nav.html:66
#: app/templates/partials/_bottom_nav.html:70
#: app/templates/tasks/overdue.html:76 app/templates/timer/timer_page.html:7
#: app/templates/timer/timer_page.html:12
msgid "Timer"
msgstr "Minutero"

#: app/templates/base.html:537 app/templates/base.html:539
#: app/templates/main/dashboard.html:250
#: app/templates/partials/_bottom_nav.html:72
#: app/templates/partials/_bottom_nav.html:76
#, fuzzy
msgid "Time entries"
msgstr "Entradas de tiempo"

#: app/templates/base.html:544 app/templates/base.html:546
#: app/templates/base.html:733 app/templates/base.html:902
#: app/templates/base.html:1479 app/templates/budget/dashboard.html:17
#: app/templates/client_portal/base.html:293
#: app/templates/client_portal/base.html:372
#: app/templates/client_portal/reports.html:4
#: app/templates/client_portal/reports.html:9
#: app/templates/client_portal/reports.html:14
#: app/templates/components/support_modal.html:33
#: app/templates/partials/_bottom_nav.html:46
#: app/templates/reports/index.html:7 app/templates/reports/index.html:12
#: app/templates/reports/week_in_review.html:6
msgid "Reports"
msgstr "Informes"

#: app/templates/base.html:552 app/templates/base.html:554
#: app/templates/calendar/view.html:12 app/templates/calendar/view.html:17
#: app/templates/timer/calendar.html:3 app/templates/timer/calendar.html:23
msgid "Calendar"
msgstr "Calendario"

#: app/templates/base.html:562 app/templates/main/help.html:181
msgid "Calendar View"
msgstr "Vista de calendario"

#: app/templates/base.html:567 app/templates/base.html:930
#: app/templates/integrations/list.html:4
#: app/templates/integrations/wizard_base.html:8
#: app/templates/setup/initial_setup.html:202
msgid "Integrations"
msgstr ""

#: app/templates/admin/modules.html:172 app/templates/admin/modules.html:214
#: app/templates/auth/login.html:34 app/templates/base.html:574
#: app/templates/base.html:576 app/templates/main/about.html:29
#: app/templates/main/help.html:27 app/templates/main/help.html:108
#: app/templates/main/help.html:266 app/templates/timer/manual_entry.html:7
msgid "Time Tracking"
msgstr "Seguimiento del tiempo"

#: app/templates/base.html:596
#, fuzzy
msgid "Time Approvals"
msgstr "Solicitar aprobación"

#: app/templates/base.html:608 app/templates/project_templates/list.html:4
msgid "Project Templates"
msgstr ""

#: app/templates/base.html:615 app/templates/gantt/view.html:4
msgid "Gantt Chart"
msgstr ""

#: app/templates/base.html:621 app/templates/calendar/view.html:80
#: app/templates/calendar/view.html:97 app/templates/calendar/view.html:98
#: app/templates/calendar/view.html:108
#: app/templates/components/activity_feed_widget.html:27
#: app/templates/components/offline_indicator.html:75
#: app/templates/integrations/wizard_asana.html:116
#: app/templates/reports/builder.html:368 app/templates/tasks/create.html:16
#: app/templates/tasks/edit.html:16 app/templates/tasks/overdue.html:8
#: app/templates/tasks/view.html:47
msgid "Tasks"
msgstr "Tareas"

#: app/templates/base.html:627 app/templates/client_portal/base.html:273
#: app/templates/client_portal/base.html:358
#: app/templates/client_portal/issue_detail.html:9
#: app/templates/client_portal/issues.html:4
#: app/templates/client_portal/issues.html:9
#: app/templates/client_portal/new_issue.html:9
#: app/templates/integrations/wizard_github.html:100
#: app/templates/integrations/wizard_gitlab.html:136
msgid "Issues"
msgstr ""

#: app/templates/base.html:634 app/templates/kanban/board.html:9
#: app/templates/kanban/board.html:55 app/templates/main/help.html:31
#: app/templates/main/help.html:346 app/templates/tasks/_kanban.html:9
msgid "Kanban Board"
msgstr "Tablero Kanban"

#: app/templates/base.html:641 app/templates/weekly_goals/index.html:8
msgid "Weekly Goals"
msgstr "Metas Semanales"

#: app/templates/base.html:647
msgid "Workforce"
msgstr ""

#: app/templates/base.html:653 app/templates/base.html:1117
msgid "Time Entry Templates"
msgstr "Plantillas de entrada de tiempo"

#: app/templates/admin/modules.html:174 app/templates/admin/modules.html:216
#: app/templates/base.html:661 app/templates/base.html:663
msgid "CRM"
msgstr "CRM"

#: app/templates/base.html:675 app/templates/clients/create.html:10
#: app/templates/clients/edit.html:10 app/templates/clients/view.html:53
#: app/templates/components/activity_feed_widget.html:43
#: app/templates/partials/_bottom_nav.html:38
msgid "Clients"
msgstr "Clientela"

#: app/templates/base.html:682 app/templates/integrations/wizard_xero.html:102
msgid "Contacts"
msgstr ""

#: app/templates/base.html:683
msgid "via Clients"
msgstr ""

#: app/templates/base.html:690 app/templates/deals/activity_form.html:8
#: app/templates/deals/view.html:8
msgid "Deals"
msgstr ""

#: app/templates/base.html:697 app/templates/leads/activity_form.html:8
#: app/templates/leads/convert_to_client.html:8
#: app/templates/leads/convert_to_deal.html:8 app/templates/leads/view.html:8
msgid "Leads"
msgstr ""

#: app/templates/base.html:704 app/templates/client_portal/quote_detail.html:9
#: app/templates/client_portal/quotes.html:4
#: app/templates/client_portal/quotes.html:9
#: app/templates/client_portal/quotes.html:14
msgid "Quotes"
msgstr "Citas"

#: app/templates/admin/modules.html:175 app/templates/admin/modules.html:217
#: app/templates/base.html:715
msgid "Finance & Expenses"
msgstr "Finanzas y gastos"

#: app/templates/base.html:740
msgid "All Reports"
msgstr ""

#: app/templates/base.html:746 app/templates/reports/index.html:201
msgid "Report Builder"
msgstr ""

#: app/templates/base.html:751 app/templates/reports/builder.html:17
msgid "Saved Views"
msgstr ""

#: app/templates/base.html:758 app/templates/reports/index.html:159
#: app/templates/reports/index.html:214 app/templates/reports/index.html:262
#: app/templates/reports/scheduled.html:4
msgid "Scheduled Reports"
msgstr "Informes programados"

#: app/templates/base.html:768 app/templates/client_portal/base.html:260
#: app/templates/client_portal/base.html:345
#: app/templates/client_portal/invoice_detail.html:9
#: app/templates/client_portal/invoices.html:4
#: app/templates/client_portal/invoices.html:9
#: app/templates/client_portal/invoices.html:14
#: app/templates/components/activity_feed_widget.html:39
#: app/templates/integrations/wizard_quickbooks.html:101
#: app/templates/integrations/wizard_xero.html:84
#: app/templates/invoices/create.html:8 app/templates/invoices/edit.html:13
#: app/templates/invoices/view.html:46
#: app/templates/partials/_bottom_nav.html:30
#: app/templates/reports/builder.html:369
msgid "Invoices"
msgstr "Facturas"

#: app/templates/base.html:775
msgid "Invoice Approvals"
msgstr ""

#: app/templates/base.html:782 app/templates/payment_gateways/list.html:4
msgid "Payment Gateways"
msgstr ""

#: app/templates/base.html:789 app/templates/recurring_invoices/list.html:6
#: app/templates/recurring_invoices/list.html:11
msgid "Recurring Invoices"
msgstr "Facturas recurrentes"

#: app/templates/base.html:796
#: app/templates/integrations/wizard_quickbooks.html:113
#: app/templates/integrations/wizard_xero.html:96
msgid "Payments"
msgstr "Pagos"

#: app/templates/base.html:803
#: app/templates/integrations/wizard_quickbooks.html:107
#: app/templates/integrations/wizard_xero.html:90
#: app/templates/invoices/edit.html:148 app/templates/invoices/edit.html:338
#: app/templates/main/help.html:33 app/templates/reports/builder.html:370
msgid "Expenses"
msgstr "Gastos"

#: app/templates/base.html:810
msgid "Mileage"
msgstr "Kilometraje"

#: app/templates/base.html:817
msgid "Per Diem"
msgstr "Dietas"

#: app/templates/base.html:824 app/templates/budget/dashboard.html:7
msgid "Budget Alerts"
msgstr "Alertas de presupuesto"

#: app/templates/admin/modules.html:176 app/templates/admin/modules.html:218
#: app/templates/base.html:835
msgid "Inventory"
msgstr "Inventario"

#: app/templates/base.html:851 app/templates/inventory/suppliers/view.html:174
msgid "Stock Items"
msgstr "Artículos en stock"

#: app/templates/base.html:856
msgid "Warehouses"
msgstr "Almacenes"

#: app/templates/base.html:861 app/templates/inventory/stock_items/form.html:98
#: app/templates/inventory/stock_items/view.html:60
msgid "Suppliers"
msgstr "Proveedores"

#: app/templates/base.html:867
msgid "Purchase Orders"
msgstr "Órdenes de compra"

#: app/templates/base.html:872 app/templates/inventory/warehouses/view.html:79
msgid "Stock Levels"
msgstr "Niveles de existencias"

#: app/templates/base.html:877
msgid "Stock Movements"
msgstr "Movimientos bursátiles"

#: app/templates/base.html:882
msgid "Transfers"
msgstr "Transferencias"

#: app/templates/base.html:887
msgid "Adjustments"
msgstr "Ajustes"

#: app/templates/base.html:892
msgid "Reservations"
msgstr "Reservas"

#: app/templates/base.html:897
msgid "Low Stock Alerts"
msgstr "Alertas de existencias bajas"

#: app/templates/admin/modules.html:177 app/templates/admin/modules.html:219
#: app/templates/analytics/dashboard.html:8
#: app/templates/analytics/mobile_dashboard.html:3
#: app/templates/analytics/mobile_dashboard.html:20 app/templates/base.html:912
#: app/templates/main/about.html:38
msgid "Analytics"
msgstr "Analítica"

#: app/templates/admin/modules.html:178 app/templates/admin/modules.html:220
#: app/templates/base.html:920
msgid "Tools & Data"
msgstr "Herramientas y datos"

#: app/templates/base.html:937
msgid "Import / Export"
msgstr "Importar / Exportar"

#: app/templates/base.html:944
msgid "Saved Filters"
msgstr "Filtros guardados"

#: app/templates/admin/custom_field_definitions/form.html:6
#: app/templates/admin/custom_field_definitions/list.html:6
#: app/templates/admin/ldap_setup_wizard.html:8
#: app/templates/admin/link_templates/form.html:6
#: app/templates/admin/link_templates/list.html:6
#: app/templates/admin/modules.html:15 app/templates/admin/oidc_debug.html:8
#: app/templates/admin/oidc_debug.html:152
#: app/templates/admin/oidc_setup_wizard.html:8
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/admin/permissions/list.html:6
#: app/templates/admin/roles/list.html:6
#: app/templates/admin/salesman_email_mappings.html:4
#: app/templates/admin/webhooks/form.html:6
#: app/templates/admin/webhooks/list.html:6
#: app/templates/admin/webhooks/view.html:6 app/templates/base.html:955
#: app/templates/comments/_comment.html:19 app/templates/user/profile.html:21
msgid "Admin"
msgstr "Administración"

#: app/templates/base.html:963
msgid "Admin Dashboard"
msgstr "Panel de administración"

#: app/templates/admin/settings.html:145 app/templates/base.html:973
#: app/templates/main/help.html:569
msgid "User Management"
msgstr "Gestión de usuarios"

#: app/templates/base.html:980
msgid "Manage Users"
msgstr ""

#: app/templates/admin/permissions/list.html:7
#: app/templates/admin/roles/list.html:7 app/templates/admin/roles/list.html:12
#: app/templates/admin/user_form.html:123 app/templates/base.html:987
msgid "Roles & Permissions"
msgstr "Roles y permisos"

#: app/templates/base.html:1000
msgid "PDF Templates"
msgstr "Plantillas PDF"

#: app/templates/base.html:1006
msgid "Invoice PDF"
msgstr "Factura PDF"

#: app/templates/base.html:1011
msgid "Quote PDF"
msgstr "Cotización PDF"

#: app/templates/base.html:1023 app/templates/main/help.html:65
msgid "System Settings"
msgstr "Configuración del sistema"

#: app/templates/admin/ldap_setup_wizard.html:9 app/templates/base.html:1030
#: app/templates/partials/_bottom_nav.html:54 app/templates/user/license.html:2
#: app/templates/user/profile.html:31 app/templates/user/settings.html:2
#: app/templates/user/settings.html:7
msgid "Settings"
msgstr "Ajustes"

#: app/templates/admin/modules.html:15 app/templates/base.html:1035
msgid "Module Management"
msgstr ""

#: app/templates/admin/email_support.html:18
#: app/templates/admin/salesman_email_mappings.html:86
#: app/templates/base.html:1040
msgid "Email Configuration"
msgstr "Configuración de correo electrónico"

#: app/templates/base.html:1045
msgid "Email Templates"
msgstr "Plantillas de correo electrónico"

#: app/templates/admin/oidc_debug.html:9
#: app/templates/admin/oidc_setup_wizard.html:9 app/templates/base.html:1052
msgid "OIDC Settings"
msgstr "Configuración de OIDC"

#: app/templates/base.html:1065
msgid "Security & Access"
msgstr ""

#: app/templates/base.html:1072
msgid "API Tokens"
msgstr "Fichas API"

#: app/templates/audit_logs/list.html:4 app/templates/audit_logs/list.html:8
#: app/templates/audit_logs/list.html:13 app/templates/base.html:1086
msgid "Audit Logs"
msgstr "Registros de auditoría"

#: app/templates/base.html:1098
msgid "Data Management"
msgstr ""

#: app/templates/base.html:1105
msgid "Expense Categories"
msgstr "Categorías de gastos"

#: app/templates/base.html:1110
msgid "Per Diem Rates"
msgstr "Tarifas diarias"

#: app/templates/base.html:1122 app/templates/clients/create.html:78
#: app/templates/clients/edit.html:72 app/templates/clients/view.html:133
#: app/templates/projects/create.html:107 app/templates/projects/edit.html:98
#: app/templates/projects/view.html:160
msgid "Custom Fields"
msgstr ""

#: app/templates/admin/link_templates/form.html:7
#: app/templates/admin/link_templates/list.html:7
#: app/templates/admin/link_templates/list.html:12 app/templates/base.html:1127
msgid "Link Templates"
msgstr ""

#: app/templates/base.html:1140
msgid "System Maintenance"
msgstr ""

#: app/templates/base.html:1147 app/templates/main/about.html:250
#: app/templates/main/help.html:783 app/templates/main/help.html:825
msgid "System Info"
msgstr "Información del sistema"

#: app/templates/base.html:1154
msgid "Backups"
msgstr "Copias de seguridad"

#: app/templates/base.html:1161
msgid "Telemetry"
msgstr ""

#: app/templates/base.html:1178 app/templates/main/about.html:3
#: app/templates/main/about.html:8 app/templates/main/about.html:12
msgid "About"
msgstr "Acerca de"

#: app/templates/base.html:1184 app/templates/base.html:1255
#: app/templates/clients/create.html:117 app/templates/main/help.html:3
#: app/templates/main/help.html:8 app/templates/main/help.html:12
#: app/templates/timer/calendar.html:337
msgid "Help"
msgstr "Ayuda"

#: app/templates/base.html:1189
#, fuzzy
msgid "Open support options"
msgstr "Opciones de exportación"

#: app/templates/base.html:1191 app/templates/base.html:1264
#: app/templates/base.html:1266 app/templates/base.html:1329
#: app/templates/components/support_modal.html:9
#: app/templates/main/about.html:46 app/templates/main/donate.html:2
#: app/templates/main/help.html:836 app/templates/user/settings.html:26
msgid "Support TimeTracker"
msgstr "Soporte TimeTracker"

#: app/templates/base.html:1211
#, fuzzy
msgid "Open sidebar"
msgstr "Alternar barra lateral"

#: app/templates/base.html:1219 app/templates/base.html:1220
#: app/templates/components/multi_select.html:68
#: app/templates/inventory/stock_items/list.html:21
#: app/templates/inventory/suppliers/list.html:21
#: app/templates/issues/list.html:31 app/templates/leads/list.html:22
#: app/templates/main/search.html:3 app/templates/quotes/list.html:74
#: app/templates/tasks/my_tasks.html:115
#: app/templates/timer/time_entries_overview.html:118
msgid "Search"
msgstr "Buscar"

#: app/templates/admin/oidc_user_detail.html:29 app/templates/base.html:1229
#: app/templates/user/settings.html:215
msgid "Theme"
msgstr "Tema"

#: app/templates/base.html:1234
#, fuzzy
msgid "Theme options"
msgstr "Opciones de filtro"

#: app/templates/base.html:1235 app/templates/user/settings.html:220
msgid "Light"
msgstr "Luz"

#: app/templates/base.html:1236 app/templates/kanban/create_column.html:68
#: app/templates/kanban/edit_column.html:60
#: app/templates/user/settings.html:221
msgid "Dark"
msgstr "Oscuro"

#: app/templates/admin/roles/list.html:132
#: app/templates/admin/users/roles.html:36 app/templates/base.html:1237
#: app/templates/deals/view.html:204 app/templates/kanban/columns.html:54
#: app/templates/kanban/columns.html:86
#: app/templates/setup/initial_setup.html:165
msgid "System"
msgstr "Sistema"

#: app/templates/base.html:1244
msgid "Open chat"
msgstr ""

#: app/templates/base.html:1250 app/templates/base.html:1458
#: app/templates/kiosk/dashboard.html:353 app/templates/main/dashboard.html:58
#: app/templates/main/dashboard.html:59 app/templates/main/dashboard.html:704
#: app/templates/tasks/_kanban.html:60 app/templates/tasks/edit.html:285
#: app/templates/tasks/my_tasks.html:341
msgid "Start Timer"
msgstr "Iniciar temporizador"

#: app/templates/base.html:1251 app/templates/mileage/gps.html:32
#: app/templates/reports/time_entries_report.html:104
#: app/templates/reports/time_entries_report.html:118
#, fuzzy
msgid "Stop"
msgstr "a"

#: app/templates/admin/settings.html:516 app/templates/base.html:1259
#: app/templates/base.html:1491 app/templates/base.html:1493
#: app/templates/base.html:1498 app/templates/base.html:1501
#, fuzzy
msgid "AI Helper"
msgstr "Ver ayuda"

#: app/templates/base.html:1273
msgid "Change language"
msgstr "Cambiar idioma"

#: app/templates/base.html:1278 app/templates/user/settings.html:227
msgid "Language"
msgstr "Idioma"

#: app/templates/base.html:1294
msgid "User menu"
msgstr "Menú de usuario"

#: app/templates/base.html:1308
#, fuzzy
msgid "Supporter"
msgstr "Apoyo"

#: app/templates/base.html:1314 app/templates/base.html:1320
msgid "Guest"
msgstr "Invitado"

#: app/templates/base.html:1323
msgid "My Profile"
msgstr "Mi perfil"

#: app/templates/base.html:1324
msgid "My Settings"
msgstr "Mi configuración"

#: app/templates/base.html:1326 app/templates/invoices/edit.html:255
#: app/templates/invoices/edit.html:615 app/templates/main/dashboard.html:648
#: app/templates/projects/add_good.html:34
#: app/templates/projects/edit_good.html:34
#: app/templates/quotes/_edit_quote_form_scripts.html:223
#: app/templates/quotes/edit.html:222 app/templates/user/license.html:2
#: app/templates/user/license.html:7
msgid "License"
msgstr "Licencia"

#: app/templates/base.html:1329
msgid "Donate or get a supporter license"
msgstr ""

#: app/templates/base.html:1331 app/templates/client_portal/base.html:302
#: app/templates/client_portal/base.html:379 app/templates/kiosk/base.html:129
msgid "Logout"
msgstr "Cerrar sesión"

#: app/templates/base.html:1364 app/templates/base.html:2459
#: app/templates/main/dashboard.html:635 app/templates/main/help.html:843
#: app/templates/reports/index.html:20
msgid "Enjoying TimeTracker?"
msgstr "¿Disfrutas de TimeTracker?"

#: app/templates/base.html:1367
msgid "Support independent development — licenses are supporter badges, not paywalls."
msgstr ""

#: app/templates/base.html:1374 app/templates/main/about.html:212
#, fuzzy
msgid "Support / Get key"
msgstr "Soporte TimeTracker"

#: app/templates/base.html:1381
msgid "Buy Me a Coffee"
msgstr ""

#: app/templates/base.html:1388 app/utils/i18n_helpers.py:115
#: app/utils/i18n_helpers.py:131
msgid "PayPal"
msgstr "PayPal"

#: app/templates/base.html:1391
#, fuzzy
msgid "Support / License"
msgstr "Suministros"

#: app/templates/base.html:1395 app/templates/base.html:1431
msgid "Dismiss"
msgstr "Despedir"

#: app/templates/base.html:1408
msgid "Built by an independent developer"
msgstr ""

#: app/templates/base.html:1417
#, fuzzy
msgid "Software update"
msgstr "Fecha de inicio"

#: app/templates/base.html:1425
#, fuzzy
msgid "Read more"
msgstr "Cargar más"

#: app/templates/base.html:1430
#, fuzzy
msgid "View Release"
msgstr "Ver tarea"

#: app/templates/base.html:1432
msgid "Don't show again for this version"
msgstr ""

#: app/templates/base.html:1447
#, fuzzy
msgid "Quick actions dock"
msgstr "Acciones rápidas"

#: app/templates/admin/custom_field_definitions/list.html:29
#: app/templates/admin/custom_field_definitions/list.html:59
#: app/templates/admin/link_templates/list.html:30
#: app/templates/admin/link_templates/list.html:63
#: app/templates/admin/oidc_debug.html:140
#: app/templates/admin/oidc_user_detail.html:87
#: app/templates/admin/roles/list.html:96
#: app/templates/admin/salesman_email_mappings.html:44
#: app/templates/admin/salesman_email_mappings.html:217
#: app/templates/admin/webhooks/list.html:29
#: app/templates/admin/webhooks/list.html:72
#: app/templates/audit_logs/list.html:81 app/templates/audit_logs/list.html:160
#: app/templates/base.html:1454 app/templates/base.html:1482
#: app/templates/base.html:1484 app/templates/budget/dashboard.html:122
#: app/templates/client_portal/invoices.html:76
#: app/templates/client_portal/quote_detail.html:129
#: app/templates/client_portal/quotes.html:31
#: app/templates/client_portal/quotes.html:65
#: app/templates/components/ui.html:526 app/templates/contacts/list.html:32
#: app/templates/contacts/list.html:56 app/templates/deals/list.html:56
#: app/templates/deals/list.html:80 app/templates/expenses/dashboard.html:222
#: app/templates/expenses/list.html:337
#: app/templates/integrations/health.html:29
#: app/templates/integrations/view.html:114
#: app/templates/inventory/low_stock/list.html:28
#: app/templates/inventory/low_stock/list.html:44
#: app/templates/inventory/purchase_orders/list.html:56
#: app/templates/inventory/purchase_orders/list.html:90
#: app/templates/inventory/reports/low_stock.html:36
#: app/templates/inventory/reports/low_stock.html:57
#: app/templates/inventory/reservations/list.html:47
#: app/templates/inventory/reservations/list.html:100
#: app/templates/inventory/stock_items/list.html:56
#: app/templates/inventory/stock_items/list.html:94
#: app/templates/inventory/suppliers/list.html:47
#: app/templates/inventory/suppliers/list.html:81
#: app/templates/inventory/warehouses/list.html:27
#: app/templates/inventory/warehouses/list.html:54
#: app/templates/issues/list.html:100 app/templates/issues/list.html:134
#: app/templates/kanban/columns.html:55 app/templates/leads/list.html:56
#: app/templates/leads/list.html:84 app/templates/main/dashboard.html:338
#: app/templates/main/dashboard.html:367 app/templates/main/search.html:39
#: app/templates/payment_gateways/list.html:29
#: app/templates/payment_gateways/list.html:55
#: app/templates/payments/list.html:172
#: app/templates/projects/_projects_list.html:126
#: app/templates/projects/goods.html:45 app/templates/projects/goods.html:75
#: app/templates/projects/list.html:207 app/templates/projects/view.html:434
#: app/templates/projects/view.html:479
#: app/templates/quotes/_quotes_list.html:39
#: app/templates/quotes/_quotes_list.html:76 app/templates/quotes/view.html:191
#: app/templates/recurring_invoices/list.html:29
#: app/templates/recurring_invoices/list.html:59
#: app/templates/recurring_invoices/view.html:113
#: app/templates/recurring_tasks/list.html:35
#: app/templates/recurring_tasks/list.html:79
#: app/templates/reports/saved_views_list.html:32
#: app/templates/reports/saved_views_list.html:59
#: app/templates/reports/scheduled.html:31
#: app/templates/reports/scheduled.html:79
#: app/templates/tasks/_tasks_list.html:99 app/templates/tasks/view.html:79
#: app/templates/timer/_time_entries_list.html:45
#: app/templates/timer/_time_entries_list.html:177
#: app/templates/timer/calendar.html:317
msgid "Actions"
msgstr "Comportamiento"

#: app/templates/base.html:1462 app/templates/reports/index.html:247
#: app/templates/timer/_time_entries_list.html:201
#: app/templates/timer/_time_entries_list.html:208
#: app/templates/timer/manual_entry.html:8
#: app/templates/timer/manual_entry.html:162
msgid "Log Time"
msgstr "Tiempo de registro"

#: app/templates/base.html:1466 app/templates/tasks/my_tasks.html:20
msgid "New Task"
msgstr "Nueva tarea"

#: app/templates/base.html:1471
#, fuzzy
msgid "New Project"
msgstr "Ver proyecto"

#: app/templates/base.html:1475
#, fuzzy
msgid "New Client"
msgstr "Editar cliente"

#: app/templates/base.html:1491
#, fuzzy
msgid "Open AI Helper"
msgstr "Operación fallida"

#: app/templates/base.html:1502
msgid "Ask about your tracked work, summaries, gaps, and next actions."
msgstr ""

#: app/templates/base.html:1508
#, fuzzy
msgid "Context included"
msgstr "Contrato finalizado"

#: app/templates/base.html:1509
#, fuzzy
msgid "Loading context preview..."
msgstr "Vista previa del logotipo"

#: app/templates/base.html:1515
msgid "Ask: What did I work on this week? Draft a time entry from these notes..."
msgstr ""

#: app/templates/base.html:1518
#, fuzzy
msgid "Send"
msgstr "Fin"

#: app/templates/base.html:2450
msgid "Amazing! You've tracked over 100 hours"
msgstr ""

#: app/templates/base.html:2451 app/templates/base.html:2454
#: app/templates/base.html:2457 app/templates/base.html:2460
msgid "Support updates and new features — or remove prompts with a key"
msgstr ""

#: app/templates/base.html:2453
msgid "Great progress! You've logged 50+ entries"
msgstr ""

#: app/templates/base.html:2456
msgid "Thanks for using TimeTracker!"
msgstr ""

#: app/templates/admin/api_tokens.html:129
msgid "Create API Token"
msgstr "Crear token API"

#: app/templates/admin/api_tokens.html:356
msgid "Your API Token"
msgstr "Su token API"

#: app/templates/admin/api_tokens.html:368
msgid "Usage Examples"
msgstr "Ejemplos de uso"

#: app/templates/admin/api_tokens.html:457
msgid "Are you sure you want to"
msgstr "¿Estás seguro de que quieres"

#: app/templates/admin/api_tokens.html:457
msgid "deactivate"
msgstr "desactivar"

#: app/templates/admin/api_tokens.html:457
msgid "activate"
msgstr "activar"

#: app/templates/admin/api_tokens.html:457
msgid "this token?"
msgstr "esta ficha?"

#: app/templates/admin/api_tokens.html:459
msgid "Deactivate Token"
msgstr "Desactivar token"

#: app/templates/admin/api_tokens.html:459
msgid "Activate Token"
msgstr "Activar ficha"

#: app/templates/admin/api_tokens.html:460 app/templates/kanban/columns.html:98
msgid "Deactivate"
msgstr "Desactivar"

#: app/templates/admin/api_tokens.html:460 app/templates/clients/view.html:35
#: app/templates/clients/view.html:37 app/templates/kanban/columns.html:98
#: app/templates/projects/view.html:61 app/templates/projects/view.html:64
msgid "Activate"
msgstr "Activar"

#: app/templates/admin/api_tokens.html:490
msgid "Are you sure you want to delete this token? This action cannot be undone."
msgstr "¿Está seguro de que desea eliminar este token? Esta acción no se puede deshacer."

#: app/templates/admin/api_tokens.html:492
msgid "Delete Token"
msgstr "Eliminar ficha"

#: app/templates/admin/backups.html:28
#: app/templates/import_export/index.html:185
#: app/templates/import_export/index.html:189
msgid "Create Backup"
msgstr "Crear copia de seguridad"

#: app/templates/admin/backups.html:47 app/templates/admin/restore.html:11
#: app/templates/import_export/index.html:114
msgid "Restore Backup"
msgstr "Restaurar copia de seguridad"

#: app/templates/admin/backups.html:61
msgid "Existing Backups"
msgstr "Copias de seguridad existentes"

#: app/templates/admin/backups.html:124
msgid "Important Information"
msgstr "Información importante"

#: app/templates/admin/backups.html:178
msgid "Confirm Deletion"
msgstr "Confirmar eliminación"

#: app/templates/admin/clear_cache.html:6
msgid "Clear Cache"
msgstr "Borrar caché"

#: app/templates/admin/clear_cache.html:15
msgid "ServiceWorker Status"
msgstr "Estado del trabajador de servicio"

#: app/templates/admin/clear_cache.html:23
msgid "Clear All Caches"
msgstr "Borrar todos los cachés"

#: app/templates/admin/clear_cache.html:35
msgid "ServiceWorker Actions"
msgstr "Acciones del trabajador de servicio"

#: app/templates/admin/clear_cache.html:49
msgid "Manual Hard Refresh"
msgstr "Actualización completa manual"

#: app/templates/admin/dashboard.html:24
msgid "Total Users"
msgstr ""

#: app/templates/admin/dashboard.html:26 app/templates/admin/dashboard.html:56
#: app/templates/audit_logs/list.html:59 app/templates/reports/index.html:26
#: app/templates/reports/index.html:27
msgid "All time"
msgstr "Todo el tiempo"

#: app/templates/admin/dashboard.html:39 app/templates/admin/dashboard.html:430
#: app/templates/reports/index.html:29
msgid "Active Users"
msgstr ""

#: app/templates/admin/dashboard.html:41 app/templates/admin/dashboard.html:71
#: app/templates/reports/index.html:28 app/templates/reports/index.html:29
msgid "Currently active"
msgstr ""

#: app/templates/admin/dashboard.html:54 app/templates/clients/edit.html:176
msgid "Total Projects"
msgstr "Proyectos totales"

#: app/templates/admin/dashboard.html:69
#: app/templates/analytics/dashboard.html:53
#: app/templates/client_portal/widgets/stats.html:6
#: app/templates/clients/edit.html:180 app/templates/reports/index.html:28
msgid "Active Projects"
msgstr "Proyectos Activos"

#: app/templates/admin/dashboard.html:84
msgid "Total Entries"
msgstr ""

#: app/templates/admin/dashboard.html:86
msgid "Time entries logged"
msgstr ""

#: app/templates/admin/dashboard.html:99
msgid "Active Timers"
msgstr ""

#: app/templates/admin/dashboard.html:101
msgid "Currently running"
msgstr ""

#: app/templates/admin/dashboard.html:116
msgid "All time tracked"
msgstr ""

#: app/templates/admin/dashboard.html:131
msgid "Billable time"
msgstr ""

#: app/templates/admin/dashboard.html:146
msgid "User Activity (30 Days)"
msgstr ""

#: app/templates/admin/dashboard.html:157
msgid "Project Status"
msgstr ""

#: app/templates/admin/dashboard.html:168
msgid "Time Entry Trends (30 Days)"
msgstr ""

#: app/templates/admin/dashboard.html:180
msgid "System Health"
msgstr ""

#: app/templates/admin/dashboard.html:189 app/templates/main/about.html:147
msgid "Database"
msgstr "Base de datos"

#: app/templates/admin/dashboard.html:190
#: app/templates/admin/integrations/setup.html:191
#: app/templates/integrations/list.html:127
#: app/templates/integrations/manage.html:552
#: app/templates/integrations/view.html:31
#: app/templates/integrations/view.html:42
#: app/templates/integrations/wizard_trello.html:92
msgid "Connected"
msgstr ""

#: app/templates/admin/dashboard.html:200
msgid "OIDC Authentication"
msgstr ""

#: app/templates/admin/dashboard.html:202
msgid "Configured"
msgstr ""

#: app/templates/admin/dashboard.html:202
#: app/templates/integrations/list.html:51
msgid "Not Configured"
msgstr ""

#: app/templates/admin/dashboard.html:214
#: app/templates/admin/oidc_debug.html:128
msgid "OIDC Users"
msgstr "Usuarios de OIDC"

#: app/templates/admin/dashboard.html:215
#: app/templates/admin/roles/list.html:123
#: app/templates/admin/settings.html:827
msgid "users"
msgstr "usuarios"

#: app/templates/admin/dashboard.html:226
msgid "Admin Sections"
msgstr "Secciones de administración"

#: app/templates/admin/dashboard.html:327
#: app/templates/components/activity_feed_widget.html:6
#: app/templates/main/dashboard.html:592
#: app/templates/projects/dashboard.html:242
#: app/templates/user/profile.html:131
msgid "Recent Activity"
msgstr "Actividad reciente"

#: app/templates/admin/dashboard.html:336 app/templates/approvals/view.html:30
#: app/templates/calendar/event_detail.html:57
#: app/templates/client_portal/approvals.html:130
#: app/templates/client_portal/reports.html:221
#: app/templates/client_portal/time_entries.html:66
#: app/templates/client_portal/widgets/time_entries.html:23
#: app/templates/clients/view.html:353 app/templates/main/dashboard.html:336
#: app/templates/main/dashboard.html:361 app/templates/main/search.html:36
#: app/templates/reports/index.html:226 app/templates/reports/index.html:234
#: app/templates/reports/time_entries_report.html:105
#: app/templates/reports/time_entries_report.html:119
#: app/templates/reports/unpaid_hours_report.html:123
#: app/templates/tasks/view.html:76
#: app/templates/timer/_time_entries_list.html:40
#: app/templates/timer/_time_entries_list.html:89
#: app/templates/timer/calendar.html:876
#: app/templates/timer/time_entries_export_pdf.html:18
#: app/templates/timer/view_timer.html:41
msgid "Duration"
msgstr "Duración"

#: app/templates/admin/dashboard.html:352
#: app/templates/client_portal/activity_feed.html:60
#: app/templates/client_portal/approvals.html:90
#: app/templates/client_portal/approvals.html:121
#: app/templates/client_portal/approvals.html:143
#: app/templates/client_portal/notifications.html:96
#: app/templates/client_portal/project_comments.html:59
#: app/templates/client_portal/quotes.html:51
#: app/templates/client_portal/reports.html:102
#: app/templates/client_portal/reports.html:230
#: app/templates/client_portal/reports.html:236
#: app/templates/client_portal/reports.html:250
#: app/templates/client_portal/time_entries.html:90
#: app/templates/client_portal/time_entries.html:101
#: app/templates/client_portal/widgets/time_entries.html:37
#: app/templates/client_portal/widgets/time_entries.html:45
#: app/templates/clients/view.html:388 app/templates/main/dashboard.html:358
#: app/templates/main/search.html:51 app/templates/timer/calendar.html:847
#: app/templates/timer/calendar.html:851 app/templates/timer/calendar.html:864
#: app/templates/timer/manual_entry.html:33 app/templates/user/profile.html:77
msgid "N/A"
msgstr "N / A"

#: app/templates/admin/email_support.html:6
msgid "Email Configuration & Testing"
msgstr "Configuración y prueba de correo electrónico"

#: app/templates/admin/email_support.html:7
msgid "Configure and test email delivery"
msgstr "Configurar y probar la entrega de correo electrónico"

#: app/templates/admin/email_support.html:11
msgid "Back to Admin"
msgstr "Volver a administrador"

#: app/templates/admin/email_support.html:23
msgid "Configure email settings here to save them in the database."
msgstr "Configure los ajustes de correo electrónico aquí para guardarlos en la base de datos."

#: app/templates/admin/email_support.html:31
msgid "Enable Database Email Configuration"
msgstr "Habilitar la configuración de correo electrónico de la base de datos"

#: app/templates/admin/email_support.html:37
#: app/templates/admin/email_support.html:168
msgid "Mail Server"
msgstr "Servidor de correo"

#: app/templates/admin/email_support.html:43
msgid "Mail Port"
msgstr "Puerto de correo"

#: app/templates/admin/email_support.html:51
#: app/templates/admin/email_support.html:190
msgid "Use TLS"
msgstr "Usar TLS"

#: app/templates/admin/email_support.html:55
#: app/templates/admin/email_support.html:194
msgid "Use SSL"
msgstr "Usar SSL"

#: app/templates/admin/email_support.html:61
#: app/templates/admin/email_support.html:176
#: app/templates/admin/oidc_debug.html:134
#: app/templates/admin/oidc_user_detail.html:23
#: app/templates/auth/login.html:51 app/templates/auth/login.html:57
#: app/templates/client_portal/login.html:48
#: app/templates/client_portal/set_password.html:42
#: app/templates/integrations/caldav_setup.html:77
#: app/templates/integrations/manage.html:235
#: app/templates/kiosk/login.html:116 app/templates/user/settings.html:49
msgid "Username"
msgstr "Nombre de usuario"

#: app/templates/admin/email_support.html:68 app/templates/auth/login.html:52
#: app/templates/auth/login.html:64 app/templates/auth/login.html:67
#: app/templates/client_portal/login.html:54
#: app/templates/client_portal/set_password.html:50
#: app/templates/integrations/caldav_setup.html:93
#: app/templates/integrations/manage.html:251
#: app/templates/kiosk/login.html:136 app/templates/kiosk/login.html:146
msgid "Password"
msgstr "Contraseña"

#: app/templates/admin/email_support.html:71
msgid "Leave empty to keep current"
msgstr "Dejar vacío para mantener actualizado"

#: app/templates/admin/email_support.html:76
#: app/templates/admin/email_support.html:198
msgid "Default Sender"
msgstr "Remitente predeterminado"

#: app/templates/admin/email_support.html:82
#, fuzzy
msgid "Test recipient email"
msgstr "Correo electrónico del destinatario"

#: app/templates/admin/email_support.html:84
msgid "Used to prefill “Send Test Email” and invoice template test sends."
msgstr ""

#: app/templates/admin/email_support.html:91
#: app/templates/admin/email_support.html:376
#: app/templates/integrations/activitywatch_setup.html:145
#: app/templates/integrations/caldav_setup.html:199
#: app/templates/integrations/manage.html:520
msgid "Save Configuration"
msgstr "Guardar configuración"

#: app/templates/admin/email_support.html:94
#: app/templates/admin/pdf_layout.html:1715
#: app/templates/admin/pdf_layout.html:7735
#: app/templates/admin/quote_pdf_layout.html:1525
#: app/templates/admin/quote_pdf_layout.html:7175
#: app/templates/components/ui.html:838
#: app/templates/integrations/health.html:107
#: app/templates/integrations/view.html:150
#: app/templates/projects/time_entries_overview.html:40
#: app/templates/settings/keyboard_shortcuts.html:484
#: app/templates/timer/bulk_entry.html:90
msgid "Reset"
msgstr "Reiniciar"

#: app/templates/admin/email_support.html:106
msgid "Email Configuration Status"
msgstr "Estado de configuración de correo electrónico"

#: app/templates/admin/email_support.html:108
#: app/templates/analytics/dashboard.html:20
#: app/templates/analytics/dashboard_improved.html:22
#: app/templates/budget/dashboard.html:18
#: app/templates/components/persistent_chat_widget.html:34
#: app/templates/gantt/view.html:46
msgid "Refresh"
msgstr "Refrescar"

#: app/templates/admin/email_support.html:118
msgid "Email is configured!"
msgstr "¡El correo electrónico está configurado!"

#: app/templates/admin/email_support.html:119
msgid "Your email settings are properly set up."
msgstr "La configuración de su correo electrónico está configurada correctamente."

#: app/templates/admin/email_support.html:128
msgid "Email is not configured"
msgstr "El correo electrónico no está configurado"

#: app/templates/admin/email_support.html:129
msgid "Please configure email settings using the form above."
msgstr "Configure los ajustes de correo electrónico utilizando el formulario anterior."

#: app/templates/admin/email_support.html:139
msgid "Configuration Errors"
msgstr "Errores de configuración"

#: app/templates/admin/email_support.html:153
msgid "Configuration Warnings"
msgstr "Advertencias de configuración"

#: app/templates/admin/email_support.html:165
msgid "Current Email Settings"
msgstr "Configuración de correo electrónico actual"

#: app/templates/admin/email_support.html:172
#: app/templates/admin/ldap_setup_wizard.html:66
#: app/templates/admin/settings.html:416
msgid "Port"
msgstr "Puerto"

#: app/templates/admin/email_support.html:180
msgid "Password Set"
msgstr "Establecer contraseña"

#: app/templates/admin/email_support.html:208
#: app/templates/admin/email_support.html:225
#: app/templates/admin/email_support.html:475
msgid "Send Test Email"
msgstr "Enviar correo electrónico de prueba"

#: app/templates/admin/email_support.html:213
msgid "Recipient Email Address"
msgstr "Dirección de correo electrónico del destinatario"

#: app/templates/admin/email_support.html:235
msgid "Configuration Guide"
msgstr "Guía de configuración"

#: app/templates/admin/email_support.html:238
msgid "Common SMTP Providers"
msgstr "Proveedores SMTP comunes"

#: app/templates/admin/email_support.html:240
msgid "Requires app password"
msgstr "Requiere contraseña de la aplicación"

#: app/templates/admin/email_support.html:249
msgid "Important Notes"
msgstr "Notas importantes"

#: app/templates/admin/email_support.html:252
msgid "Gmail requires an App Password if 2FA is enabled"
msgstr "Gmail requiere una contraseña de aplicación si 2FA está habilitado"

#: app/templates/admin/email_support.html:253
msgid "Restart the application after changing email settings"
msgstr "Reinicie la aplicación después de cambiar la configuración del correo electrónico"

#: app/templates/admin/email_support.html:254
msgid "Check firewall rules if emails are not sending"
msgstr "Verifique las reglas del firewall si los correos electrónicos no se envían"

#: app/templates/admin/email_support.html:255
msgid "For production, use a dedicated email service like SendGrid or Amazon SES"
msgstr "Para producción, utilice un servicio de correo electrónico dedicado como SendGrid o Amazon SES."

#: app/templates/admin/email_support.html:307
msgid "password is set"
msgstr "la contraseña está establecida"

#: app/templates/admin/email_support.html:310
msgid "no password set"
msgstr "sin contraseña establecida"

#: app/templates/admin/email_support.html:372
msgid "Failed to save configuration. Please try again."
msgstr "No se pudo guardar la configuración. Por favor inténtalo de nuevo."

#: app/templates/admin/email_support.html:390
#: app/templates/admin/email_support.html:489
msgid "Success!"
msgstr "¡Éxito!"

#: app/templates/admin/email_support.html:428
msgid "Failed to refresh status. Please try again."
msgstr "No se pudo actualizar el estado. Por favor inténtalo de nuevo."

#: app/templates/admin/email_support.html:443
msgid "Please enter a valid email address"
msgstr "Por favor, introduce una dirección de correo electrónico válida"

#: app/templates/admin/email_support.html:449
msgid "Sending..."
msgstr "Envío..."

#: app/templates/admin/email_support.html:471
msgid "Failed to send test email. Please check your configuration."
msgstr "No se pudo enviar el correo electrónico de prueba. Por favor verifique su configuración."

#: app/templates/admin/ldap_setup_wizard.html:4
#: app/templates/admin/ldap_setup_wizard.html:10
#: app/templates/admin/ldap_setup_wizard.html:15
msgid "LDAP Setup Wizard"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:16
#, fuzzy
msgid "Guided configuration for LDAP authentication (environment variables)"
msgstr "Configure OIDC utilizando estas variables de entorno:"

#: app/templates/admin/ldap_setup_wizard.html:31
#, fuzzy
msgid "Server"
msgstr "Servicio"

#: app/templates/admin/ldap_setup_wizard.html:36
msgid "Bind"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:41
#: app/templates/admin/roles/list.html:94
#: app/templates/components/activity_feed_widget.html:47
msgid "Users"
msgstr "Usuarios"

#: app/templates/admin/ldap_setup_wizard.html:46
#, fuzzy
msgid "Groups"
msgstr "Reclamación de grupos"

#: app/templates/admin/ldap_setup_wizard.html:51
#: app/templates/admin/oidc_setup_wizard.html:46
msgid "Finalize"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:57
msgid "Step 1: Server and TLS"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:60
#, fuzzy
msgid "LDAP host"
msgstr "Perdido"

#: app/templates/admin/ldap_setup_wizard.html:73
#, fuzzy
msgid "Use SSL (LDAPS)"
msgstr "Usar SSL"

#: app/templates/admin/ldap_setup_wizard.html:77
#, fuzzy
msgid "StartTLS"
msgstr "Comenzar"

#: app/templates/admin/ldap_setup_wizard.html:81
#, fuzzy
msgid "Connection timeout (seconds)"
msgstr "Tiempo de espera (segundos)"

#: app/templates/admin/ldap_setup_wizard.html:86
msgid "TLS CA certificate file"
msgstr ""

#: app/templates/admin/email_templates/edit.html:27
#: app/templates/admin/email_templates/view.html:29
#: app/templates/admin/integrations/setup.html:100
#: app/templates/admin/ldap_setup_wizard.html:86
#: app/templates/admin/ldap_setup_wizard.html:127
#: app/templates/admin/ldap_setup_wizard.html:167
#: app/templates/admin/ldap_setup_wizard.html:179
#: app/templates/admin/ldap_setup_wizard.html:185
#: app/templates/admin/oidc_setup_wizard.html:193
#: app/templates/admin/oidc_setup_wizard.html:206
#: app/templates/admin/oidc_setup_wizard.html:251
#: app/templates/admin/salesman_email_mappings.html:124
#: app/templates/integrations/activitywatch_setup.html:51
#: app/templates/integrations/activitywatch_setup.html:100
#: app/templates/integrations/caldav_setup.html:60
#: app/templates/integrations/caldav_setup.html:130
#: app/templates/integrations/manage.html:151
#: app/templates/integrations/wizard_asana.html:65
#: app/templates/integrations/wizard_github.html:50
#: app/templates/integrations/wizard_github.html:144
#: app/templates/integrations/wizard_gitlab.html:81
#: app/templates/integrations/wizard_gitlab.html:199
#: app/templates/integrations/wizard_jira.html:86
#: app/templates/integrations/wizard_microsoft_teams.html:18
#: app/templates/integrations/wizard_outlook_calendar.html:18
#: app/templates/integrations/wizard_quickbooks.html:145
#: app/templates/integrations/wizard_xero.html:128
#: app/templates/setup/initial_setup.html:152
#: app/templates/setup/initial_setup.html:156
#: app/templates/setup/initial_setup.html:202
msgid "optional"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:95
msgid "Step 2: Service bind account"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:98
msgid "Bind DN"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:104
#, fuzzy
msgid "Bind password"
msgstr "Contraseña"

#: app/templates/admin/ldap_setup_wizard.html:107
#, fuzzy
msgid "Enter bind password"
msgstr "Introduce tu contraseña"

#: app/templates/admin/ldap_setup_wizard.html:110
msgid "A bind password is already set in the environment. Enter it again here to test or generate configuration."
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:118
msgid "Step 3: User directory and attributes"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:121
#: app/templates/admin/settings.html:425
#, fuzzy
msgid "Base DN"
msgstr "Basado en el último"

#: app/templates/admin/ldap_setup_wizard.html:127
msgid "User subtree (relative to base)"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:133
#, fuzzy
msgid "User object class"
msgstr "Utilice tarifas por hora del proyecto"

#: app/templates/admin/ldap_setup_wizard.html:140
#, fuzzy
msgid "Login attribute"
msgstr "Tiempo de registro"

#: app/templates/admin/ldap_setup_wizard.html:145
#, fuzzy
msgid "Email attribute"
msgstr "Dirección de correo electrónico"

#: app/templates/admin/ldap_setup_wizard.html:150
#, fuzzy
msgid "First name attribute"
msgstr "Nombre de pila"

#: app/templates/admin/ldap_setup_wizard.html:155
#, fuzzy
msgid "Last name attribute"
msgstr "Apellido"

#: app/templates/admin/ldap_setup_wizard.html:164
#, fuzzy
msgid "Step 4: Groups and authentication mode"
msgstr "Método de autenticación"

#: app/templates/admin/ldap_setup_wizard.html:167
msgid "Group subtree (relative to base)"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:173
#, fuzzy
msgid "Group object class"
msgstr "Proyectos principales"

#: app/templates/admin/ldap_setup_wizard.html:179
#: app/templates/admin/settings.html:437
#, fuzzy
msgid "Admin group (CN)"
msgstr "Grupo de administración"

#: app/templates/admin/ldap_setup_wizard.html:185
#: app/templates/admin/settings.html:441
msgid "Required group (CN)"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:190
#, fuzzy
msgid "AUTH_METHOD"
msgstr "Método de autenticación"

#: app/templates/admin/ldap_setup_wizard.html:193
#, fuzzy
msgid "LDAP only"
msgstr "Sólo activo"

#: app/templates/admin/ldap_setup_wizard.html:194
msgid "All (local + OIDC + LDAP)"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:197
msgid "Use \"All\" only if you also configure local and OIDC sign-in; AUTH_METHOD=all enables every method."
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:204
#, fuzzy
msgid "Step 5: Test and generate configuration"
msgstr "Configuración de prueba"

#: app/templates/admin/ldap_setup_wizard.html:209
msgid "Test the service bind and user search, then generate .env snippets to copy into your deployment."
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:214
#, fuzzy
msgid "Test connection"
msgstr "Configuración de prueba"

#: app/templates/admin/ldap_setup_wizard.html:221
msgid "Generate environment variable lines for your .env file or Docker Compose."
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:225
#, fuzzy
msgid "Generate configuration"
msgstr "Configuración de prueba"

#: app/templates/admin/ldap_setup_wizard.html:230
#, fuzzy
msgid "Environment variables (.env)"
msgstr "Referencia de variables de entorno"

#: app/templates/admin/ldap_setup_wizard.html:233
#: app/templates/admin/ldap_setup_wizard.html:242
#: app/templates/admin/oidc_setup_wizard.html:283
#: app/templates/admin/oidc_setup_wizard.html:292
#: app/templates/admin/settings.html:180
msgid "Copy"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:239
#: app/templates/admin/oidc_setup_wizard.html:289
msgid "Docker Compose"
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:250
msgid "Add these variables to your environment or Compose file, restart the application, then confirm under Settings → LDAP."
msgstr ""

#: app/templates/admin/ldap_setup_wizard.html:258
#: app/templates/admin/oidc_setup_wizard.html:309
#: app/templates/components/ui.html:85
#: app/templates/integrations/wizard_base.html:48
#: app/templates/issues/list.html:152 app/templates/main/search.html:95
#: app/templates/project_templates/list.html:100
#: app/templates/reports/time_entries_report.html:148
#: app/templates/tasks/my_tasks.html:358
#: app/templates/timer/_time_entries_list.html:229
msgid "Previous"
msgstr "Anterior"

#: app/templates/admin/ldap_setup_wizard.html:262
#: app/templates/admin/oidc_setup_wizard.html:313
#: app/templates/components/ui.html:99
#: app/templates/integrations/wizard_base.html:52
#: app/templates/issues/list.html:159 app/templates/main/search.html:105
#: app/templates/project_templates/list.html:108
#: app/templates/reports/time_entries_report.html:151
#: app/templates/setup/initial_setup.html:285
#: app/templates/tasks/my_tasks.html:384
#: app/templates/timer/_time_entries_list.html:247
msgid "Next"
msgstr "Próximo"

#: app/templates/admin/modules.html:39
#, fuzzy
msgid "Feature Module Load Status"
msgstr "Estadísticas de uso de funciones"

#: app/templates/admin/modules.html:41
msgid "This reflects which optional feature modules successfully loaded when the server started."
msgstr ""

#: app/templates/admin/modules.html:45
#, fuzzy
msgid "Optional loaded:"
msgstr "Código de cupón opcional"

#: app/templates/admin/modules.html:47
#, fuzzy
msgid "Attention needed"
msgstr "Atención requerida"

#: app/templates/admin/modules.html:56
#, fuzzy
msgid "Module"
msgstr "Móvil"

#: app/templates/admin/modules.html:57
msgid "Blueprint"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:28
#: app/templates/admin/custom_field_definitions/list.html:52
#: app/templates/admin/link_templates/list.html:29
#: app/templates/admin/link_templates/list.html:56
#: app/templates/admin/modules.html:58 app/templates/admin/oidc_debug.html:29
#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/pdf_layout.html:1828
#: app/templates/admin/quote_pdf_layout.html:1638
#: app/templates/admin/salesman_email_mappings.html:41
#: app/templates/admin/salesman_email_mappings.html:212
#: app/templates/admin/webhooks/list.html:27
#: app/templates/admin/webhooks/list.html:58
#: app/templates/admin/webhooks/view.html:32
#: app/templates/admin/webhooks/view.html:102
#: app/templates/admin/webhooks/view.html:112
#: app/templates/approvals/list.html:99 app/templates/approvals/view.html:74
#: app/templates/budget/dashboard.html:121
#: app/templates/budget/project_detail.html:70
#: app/templates/client_portal/invoice_detail.html:36
#: app/templates/client_portal/invoices.html:75
#: app/templates/client_portal/issue_detail.html:39
#: app/templates/client_portal/quote_detail.html:39
#: app/templates/client_portal/quotes.html:30
#: app/templates/client_portal/quotes.html:55
#: app/templates/client_portal/reports.html:90
#: app/templates/contacts/communication_form.html:57
#: app/templates/deals/activity_form.html:34 app/templates/deals/list.html:22
#: app/templates/deals/view.html:53 app/templates/expenses/dashboard.html:203
#: app/templates/expenses/list.html:316 app/templates/integrations/view.html:20
#: app/templates/integrations/wizard_trello.html:71
#: app/templates/inventory/purchase_orders/list.html:21
#: app/templates/inventory/purchase_orders/list.html:54
#: app/templates/inventory/purchase_orders/list.html:74
#: app/templates/inventory/purchase_orders/view.html:34
#: app/templates/inventory/reports/turnover.html:49
#: app/templates/inventory/reports/turnover.html:64
#: app/templates/inventory/reservations/list.html:20
#: app/templates/inventory/reservations/list.html:44
#: app/templates/inventory/reservations/list.html:78
#: app/templates/inventory/stock_items/list.html:55
#: app/templates/inventory/stock_items/list.html:87
#: app/templates/inventory/stock_items/view.html:100
#: app/templates/inventory/stock_items/view.html:181
#: app/templates/inventory/stock_items/view.html:202
#: app/templates/inventory/stock_levels/warehouse.html:52
#: app/templates/inventory/stock_levels/warehouse.html:71
#: app/templates/inventory/suppliers/list.html:25
#: app/templates/inventory/suppliers/list.html:46
#: app/templates/inventory/suppliers/list.html:74
#: app/templates/inventory/suppliers/view.html:30
#: app/templates/inventory/warehouses/list.html:26
#: app/templates/inventory/warehouses/list.html:47
#: app/templates/inventory/warehouses/view.html:30
#: app/templates/invoices/edit.html:309
#: app/templates/invoices/pdf_default.html:59 app/templates/issues/edit.html:37
#: app/templates/issues/list.html:36 app/templates/issues/list.html:96
#: app/templates/issues/list.html:113 app/templates/issues/view.html:95
#: app/templates/kanban/columns.html:52
#: app/templates/leads/activity_form.html:34 app/templates/leads/form.html:60
#: app/templates/leads/list.html:26 app/templates/leads/list.html:53
#: app/templates/leads/list.html:73 app/templates/leads/view.html:81
#: app/templates/main/help.html:198 app/templates/mileage/gps.html:44
#: app/templates/payment_gateways/list.html:27
#: app/templates/payment_gateways/list.html:41
#: app/templates/payments/list.html:159
#: app/templates/projects/_kanban_tailwind.html:30
#: app/templates/projects/_projects_list.html:86
#: app/templates/projects/goods.html:44 app/templates/projects/goods.html:66
#: app/templates/projects/list.html:167 app/templates/projects/view.html:275
#: app/templates/projects/view.html:430 app/templates/projects/view.html:449
#: app/templates/quotes/_quotes_list.html:37
#: app/templates/quotes/_quotes_list.html:60 app/templates/quotes/list.html:78
#: app/templates/quotes/pdf_default.html:61 app/templates/quotes/view.html:68
#: app/templates/recurring_invoices/list.html:28
#: app/templates/recurring_invoices/list.html:52
#: app/templates/recurring_invoices/view.html:110
#: app/templates/recurring_tasks/list.html:34
#: app/templates/recurring_tasks/list.html:71
#: app/templates/reports/scheduled.html:30
#: app/templates/reports/scheduled.html:68
#: app/templates/tasks/_kanban.html:1227
#: app/templates/tasks/_tasks_list.html:68 app/templates/tasks/edit.html:78
#: app/templates/tasks/my_tasks.html:128
#: app/templates/timer/_time_entries_list.html:44
#: app/templates/timer/_time_entries_list.html:161
#: app/templates/timer/calendar.html:857
#: app/templates/timer/time_entries_overview.html:196
#: app/templates/weekly_goals/edit.html:83
#: app/templates/weekly_goals/view.html:55
#: app/templates/workforce/dashboard.html:64
#: app/templates/workforce/dashboard.html:175 app/utils/pdf_generator.py:1129
msgid "Status"
msgstr "Estado"

#: app/templates/admin/modules.html:59 app/templates/admin/oidc_debug.html:157
#: app/templates/admin/webhooks/view.html:25
#: app/templates/budget/dashboard.html:172
#: app/templates/client_portal/error.html:32
#: app/templates/client_portal/issue_detail.html:36
#: app/templates/integrations/view.html:96 app/templates/issues/view.html:92
#: app/templates/projects/view.html:234
#: app/templates/timer/manual_entry.html:136
msgid "Details"
msgstr "Detalles"

#: app/templates/admin/modules.html:70
#, fuzzy
msgid "Loaded"
msgstr "Cargar más"

#: app/templates/admin/modules.html:74
#: app/templates/admin/webhooks/list.html:69
#: app/templates/admin/webhooks/view.html:80
#: app/templates/admin/webhooks/view.html:116
#: app/templates/weekly_goals/edit.html:90
#: app/templates/weekly_goals/index.html:51
#: app/templates/weekly_goals/index.html:180
#: app/templates/weekly_goals/view.html:71 app/utils/i18n_helpers.py:223
#: app/utils/i18n_helpers.py:235 app/utils/i18n_helpers.py:246
#: app/utils/i18n_helpers.py:257
msgid "Failed"
msgstr "Fallido"

#: app/templates/admin/modules.html:82 app/templates/main/dashboard.html:290
msgid "—"
msgstr ""

#: app/templates/admin/modules.html:101
msgid "Client Lock (optional)"
msgstr ""

#: app/templates/admin/modules.html:103
msgid "If set, all client selectors across the app will auto-select this client and prevent changes."
msgstr ""

#: app/templates/admin/modules.html:106
msgid "Locked Client"
msgstr ""

#: app/templates/admin/modules.html:108
msgid "None (no lock)"
msgstr ""

#: app/templates/admin/modules.html:120
msgid "Module Visibility"
msgstr ""

#: app/templates/admin/modules.html:122
msgid "Disable modules to hide them from all users. Disabled modules will not appear in the sidebar. Core modules (Dashboard, Projects, Timer, etc.) are always enabled and cannot be disabled."
msgstr ""

#: app/templates/admin/modules.html:127 app/templates/admin/modules.html:229
msgid "Enable All"
msgstr ""

#: app/templates/admin/modules.html:130 app/templates/admin/modules.html:233
msgid "Disable All"
msgstr ""

#: app/templates/admin/modules.html:148
msgid "Total Modules:"
msgstr ""

#: app/templates/admin/modules.html:152
msgid "Enabled:"
msgstr ""

#: app/templates/admin/modules.html:156
msgid "Disabled:"
msgstr ""

#: app/templates/admin/modules.html:165
msgid "Search modules..."
msgstr ""

#: app/templates/admin/modules.html:169
#: app/templates/inventory/reports/valuation.html:32
#: app/templates/inventory/stock_items/list.html:27
#: app/templates/inventory/stock_levels/list.html:31
#: app/templates/inventory/stock_levels/warehouse.html:23
#: app/templates/project_templates/list.html:24
msgid "All Categories"
msgstr "Todas las categorías"

#: app/templates/admin/modules.html:173 app/templates/admin/modules.html:215
#: app/templates/main/about.html:32 app/templates/main/help.html:28
#: app/templates/main/help.html:190
msgid "Project Management"
msgstr "Gestión de proyectos"

#: app/templates/admin/modules.html:186
msgid "Show disabled only"
msgstr ""

#: app/templates/admin/modules.html:190
msgid "Show with dependencies"
msgstr ""

#: app/templates/admin/modules.html:200
msgid "Warning: Disabling these modules will also affect dependent modules:"
msgstr ""

#: app/templates/admin/modules.html:263 app/templates/admin/oidc_debug.html:32
#: app/templates/admin/settings.html:525
#: app/templates/integrations/list.html:47
#: app/templates/integrations/list.html:87
msgid "Enabled"
msgstr "Activado"

#: app/templates/admin/modules.html:265 app/templates/admin/oidc_debug.html:34
#: app/templates/admin/settings.html:526
msgid "Disabled"
msgstr "Desactivado"

#: app/templates/admin/modules.html:274
msgid "Depends on:"
msgstr ""

#: app/templates/admin/modules.html:301
msgid "Disabling \"Reports\" hides the whole Reports submenu including Report Builder and Scheduled Reports."
msgstr ""

#: app/templates/admin/modules.html:305 app/templates/auth/edit_profile.html:81
#: app/templates/client_notes/edit.html:86 app/templates/comments/edit.html:80
#: app/templates/invoices/edit.html:287 app/templates/issues/edit.html:83
#: app/templates/kanban/edit_column.html:91
#: app/templates/projects/edit.html:129
#: app/templates/projects/edit_good.html:69
#: app/templates/timer/edit_timer.html:393
#: app/templates/timer/edit_timer.html:514
#: app/templates/weekly_goals/edit.html:122
msgid "Save Changes"
msgstr "Guardar cambios"

#: app/templates/admin/modules.html:310
msgid "No modules available."
msgstr ""

#: app/templates/admin/modules.html:320
#: app/templates/contacts/communication_form.html:33
#: app/templates/deals/activity_form.html:27
#: app/templates/leads/activity_form.html:27
msgid "Note"
msgstr "Nota"

#: app/templates/admin/modules.html:322
msgid "All modules are enabled by default."
msgstr ""

#: app/templates/admin/modules.html:323
msgid "Core modules cannot be disabled as they are required for the application to function."
msgstr ""

#: app/templates/admin/modules.html:324
msgid "Disabling a module affects all users system-wide. Disabled modules will not appear in the navigation sidebar."
msgstr ""

#: app/templates/admin/modules.html:538
msgid "Enable all modules?"
msgstr ""

#: app/templates/admin/modules.html:547
msgid "Disable all modules? This may affect functionality."
msgstr ""

#: app/templates/admin/modules.html:573
msgid "Disable"
msgstr ""

#: app/templates/admin/modules.html:573
msgid "module(s) in this category?"
msgstr ""

#: app/templates/admin/modules.html:618
msgid "Validation errors:"
msgstr ""

#: app/templates/admin/oidc_debug.html:4 app/templates/admin/oidc_debug.html:14
msgid "OIDC Debug Dashboard"
msgstr "Panel de depuración OIDC"

#: app/templates/admin/oidc_debug.html:15
msgid "Inspect configuration, provider metadata and OIDC users"
msgstr "Inspeccionar la configuración, los metadatos del proveedor y los usuarios de OIDC."

#: app/templates/admin/oidc_debug.html:17
#: app/templates/admin/oidc_setup_wizard.html:10
#: app/templates/integrations/list.html:58
#: app/templates/integrations/list.html:98
#: app/templates/integrations/list.html:155
#: app/templates/integrations/wizard_base.html:10
msgid "Setup Wizard"
msgstr ""

#: app/templates/admin/oidc_debug.html:17
msgid "Test Configuration"
msgstr "Configuración de prueba"

#: app/templates/admin/oidc_debug.html:25
msgid "OIDC Configuration"
msgstr "Configuración OIDC"

#: app/templates/admin/oidc_debug.html:39
msgid "Auth Method"
msgstr "Método de autenticación"

#: app/templates/admin/oidc_debug.html:43
msgid "Issuer"
msgstr "Editor"

#: app/templates/admin/oidc_debug.html:44
#: app/templates/admin/oidc_debug.html:48
#: app/templates/admin/oidc_debug.html:73
#: app/templates/admin/oidc_debug.html:74
#: app/templates/integrations/health.html:86
#: app/templates/integrations/list.html:91
msgid "Not configured"
msgstr "No configurado"

#: app/templates/admin/oidc_debug.html:47
#: app/templates/admin/oidc_setup_wizard.html:70
#: app/templates/payment_gateways/create.html:60
msgid "Client ID"
msgstr "ID de cliente"

#: app/templates/admin/oidc_debug.html:51
#: app/templates/admin/oidc_setup_wizard.html:83
#: app/templates/payment_gateways/create.html:64
msgid "Client Secret"
msgstr "Secreto del cliente"

#: app/templates/admin/oidc_debug.html:52
msgid "Set"
msgstr "Colocar"

#: app/templates/admin/oidc_debug.html:52
#: app/templates/admin/oidc_user_detail.html:39
#: app/templates/admin/oidc_user_detail.html:40
#: app/templates/integrations/wizard_asana.html:191
#: app/templates/integrations/wizard_jira.html:255
#: app/templates/integrations/wizard_quickbooks.html:224
#: app/templates/integrations/wizard_xero.html:207
msgid "Not set"
msgstr "No establecido"

#: app/templates/admin/oidc_debug.html:55
#: app/templates/admin/oidc_setup_wizard.html:238
msgid "Redirect URI"
msgstr "URI de redireccionamiento"

#: app/templates/admin/oidc_debug.html:56
#: app/templates/admin/oidc_debug.html:75
msgid "Auto-generated"
msgstr "Generado automáticamente"

#: app/templates/admin/oidc_debug.html:59
#: app/templates/admin/oidc_debug.html:109
#: app/templates/admin/oidc_setup_wizard.html:225
msgid "Scopes"
msgstr "Alcances"

#: app/templates/admin/oidc_debug.html:67
msgid "Claim Mapping"
msgstr "Mapeo de reclamos"

#: app/templates/admin/oidc_debug.html:69
#: app/templates/admin/oidc_setup_wizard.html:141
msgid "Username Claim"
msgstr "Reclamación de nombre de usuario"

#: app/templates/admin/oidc_debug.html:70
#: app/templates/admin/oidc_setup_wizard.html:154
msgid "Email Claim"
msgstr "Reclamo por correo electrónico"

#: app/templates/admin/oidc_debug.html:71
#: app/templates/admin/oidc_setup_wizard.html:167
msgid "Full Name Claim"
msgstr "Reclamación de nombre completo"

#: app/templates/admin/oidc_debug.html:72
#: app/templates/admin/oidc_setup_wizard.html:180
msgid "Groups Claim"
msgstr "Reclamación de grupos"

#: app/templates/admin/oidc_debug.html:73
#: app/templates/admin/oidc_setup_wizard.html:193
msgid "Admin Group"
msgstr "Grupo de administración"

#: app/templates/admin/oidc_debug.html:74
#: app/templates/admin/oidc_setup_wizard.html:206
msgid "Admin Emails"
msgstr "Correos electrónicos de administrador"

#: app/templates/admin/oidc_debug.html:75
msgid "Post-Logout URI"
msgstr "URI posterior al cierre de sesión"

#: app/templates/admin/oidc_debug.html:83
#: app/templates/admin/oidc_setup_wizard.html:128
msgid "Provider Metadata"
msgstr "Metadatos del proveedor"

#: app/templates/admin/oidc_debug.html:86
msgid "Error loading metadata:"
msgstr "Error al cargar metadatos:"

#: app/templates/admin/oidc_debug.html:89
#: app/templates/admin/oidc_debug.html:118
msgid "Discovery endpoint:"
msgstr "Punto final de descubrimiento:"

#: app/templates/admin/oidc_debug.html:93
msgid "Successfully loaded provider metadata"
msgstr "Metadatos del proveedor cargados correctamente"

#: app/templates/admin/oidc_debug.html:97
msgid "Endpoints"
msgstr "Puntos finales"

#: app/templates/admin/oidc_debug.html:99
msgid "Authorization"
msgstr "Autorización"

#: app/templates/admin/oidc_debug.html:100
msgid "Token"
msgstr "Simbólico"

#: app/templates/admin/oidc_debug.html:101
msgid "UserInfo"
msgstr "Información de usuario"

#: app/templates/admin/oidc_debug.html:102
msgid "End Session"
msgstr "Finalizar sesión"

#: app/templates/admin/oidc_debug.html:103
msgid "JWKS URI"
msgstr "JWKS URI"

#: app/templates/admin/oidc_debug.html:107
msgid "Supported Features"
msgstr "Funciones admitidas"

#: app/templates/admin/oidc_debug.html:110
msgid "Response Types"
msgstr "Tipos de respuesta"

#: app/templates/admin/oidc_debug.html:111
msgid "Grant Types"
msgstr "Tipos de subvenciones"

#: app/templates/admin/oidc_debug.html:112
msgid "Auth Methods"
msgstr "Métodos de autenticación"

#: app/templates/admin/oidc_debug.html:113
#: app/templates/admin/oidc_setup_wizard.html:36
msgid "Claims"
msgstr "Reclamos"

#: app/templates/admin/oidc_debug.html:121
msgid "Provider metadata not loaded. Click \"Test Configuration\" to fetch."
msgstr "Metadatos del proveedor no cargados. Haga clic en \"Probar configuración\" para buscar."

#: app/templates/admin/oidc_debug.html:135
#: app/templates/admin/oidc_user_detail.html:24
#: app/templates/admin/pdf_layout.html:1796
#: app/templates/admin/quote_pdf_layout.html:1606
#: app/templates/clients/create.html:47 app/templates/clients/edit.html:54
#: app/templates/contacts/communication_form.html:30
#: app/templates/contacts/form.html:37 app/templates/contacts/list.html:29
#: app/templates/contacts/list.html:47 app/templates/contacts/view.html:33
#: app/templates/deals/activity_form.html:29
#: app/templates/inventory/suppliers/form.html:40
#: app/templates/inventory/suppliers/list.html:44
#: app/templates/inventory/suppliers/list.html:60
#: app/templates/inventory/suppliers/view.html:53
#: app/templates/invoices/pdf_default.html:45
#: app/templates/leads/activity_form.html:29 app/templates/leads/form.html:40
#: app/templates/leads/list.html:52 app/templates/leads/list.html:66
#: app/templates/leads/view.html:49 app/templates/projects/create.html:292
#: app/templates/quotes/pdf_default.html:45
#: app/templates/setup/initial_setup.html:147 app/utils/pdf_generator.py:1117
msgid "Email"
msgstr "Correo electrónico"

#: app/templates/admin/oidc_debug.html:136
#: app/templates/admin/oidc_user_detail.html:25
#: app/templates/user/settings.html:58
msgid "Full Name"
msgstr "Nombre completo"

#: app/templates/admin/oidc_debug.html:137
#: app/templates/admin/oidc_user_detail.html:26
#: app/templates/contacts/form.html:62 app/templates/contacts/list.html:31
#: app/templates/contacts/list.html:55 app/templates/contacts/view.html:59
msgid "Role"
msgstr "Role"

#: app/templates/admin/oidc_debug.html:138
#: app/templates/admin/oidc_user_detail.html:31
#: app/templates/auth/profile.html:58
msgid "Last Login"
msgstr "Último inicio de sesión"

#: app/templates/admin/oidc_debug.html:139
msgid "OIDC Subject"
msgstr "Asunto OIDC"

#: app/templates/admin/custom_field_definitions/list.html:56
#: app/templates/admin/link_templates/list.html:60
#: app/templates/admin/oidc_debug.html:148
#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/webhooks/list.html:62
#: app/templates/admin/webhooks/view.html:37
#: app/templates/calendar/integrations.html:40
#: app/templates/clients/view.html:321 app/templates/integrations/view.html:25
#: app/templates/inventory/stock_items/list.html:91
#: app/templates/inventory/stock_items/view.html:105
#: app/templates/inventory/suppliers/list.html:78
#: app/templates/inventory/suppliers/view.html:35
#: app/templates/inventory/warehouses/list.html:51
#: app/templates/inventory/warehouses/view.html:35
#: app/templates/kanban/columns.html:74
#: app/templates/payment_gateways/list.html:45
#: app/templates/projects/view.html:121
#: app/templates/recurring_tasks/list.html:76
#: app/templates/reports/scheduled.html:76
#: app/templates/timer/calendar.html:975 app/utils/i18n_helpers.py:51
#: app/utils/i18n_helpers.py:57 app/utils/i18n_helpers.py:287
#: app/utils/i18n_helpers.py:293
msgid "Inactive"
msgstr "Inactivo"

#: app/templates/admin/oidc_debug.html:153
#: app/templates/admin/oidc_user_detail.html:31
#: app/templates/integrations/manage.html:604
msgid "Never"
msgstr "Nunca"

#: app/templates/admin/oidc_debug.html:166
msgid "No users have logged in via OIDC yet."
msgstr "Ningún usuario ha iniciado sesión a través de OIDC todavía."

#: app/templates/admin/oidc_debug.html:172
msgid "Environment Variables Reference"
msgstr "Referencia de variables de entorno"

#: app/templates/admin/oidc_debug.html:173
msgid "Configure OIDC using these environment variables:"
msgstr "Configure OIDC utilizando estas variables de entorno:"

#: app/templates/admin/oidc_debug.html:178
msgid "Variable"
msgstr "Variable"

#: app/templates/admin/custom_field_definitions/form.html:36
#: app/templates/admin/link_templates/form.html:30
#: app/templates/admin/oidc_debug.html:179
#: app/templates/admin/roles/form.html:47
#: app/templates/admin/roles/list.html:92
#: app/templates/admin/webhooks/form.html:29
#: app/templates/calendar/event_detail.html:66
#: app/templates/calendar/event_form.html:30 app/templates/chat/index.html:111
#: app/templates/client_portal/approvals.html:151
#: app/templates/client_portal/invoice_detail.html:57
#: app/templates/client_portal/invoice_detail.html:66
#: app/templates/client_portal/issue_detail.html:23
#: app/templates/client_portal/new_issue.html:33
#: app/templates/client_portal/quote_detail.html:57
#: app/templates/client_portal/quote_detail.html:69
#: app/templates/client_portal/quote_detail.html:78
#: app/templates/client_portal/time_entries.html:67
#: app/templates/client_portal/widgets/time_entries.html:24
#: app/templates/clients/create.html:32 app/templates/clients/create.html:136
#: app/templates/clients/edit.html:31 app/templates/deals/activity_form.html:54
#: app/templates/deals/form.html:97 app/templates/deals/view.html:105
#: app/templates/inventory/purchase_orders/form.html:78
#: app/templates/inventory/purchase_orders/form.html:147
#: app/templates/inventory/purchase_orders/view.html:91
#: app/templates/inventory/purchase_orders/view.html:110
#: app/templates/inventory/stock_items/form.html:31
#: app/templates/inventory/stock_items/view.html:45
#: app/templates/inventory/suppliers/form.html:32
#: app/templates/inventory/suppliers/view.html:41
#: app/templates/invoices/edit.html:74 app/templates/invoices/edit.html:161
#: app/templates/invoices/edit.html:176 app/templates/invoices/edit.html:233
#: app/templates/invoices/edit.html:248 app/templates/invoices/edit.html:608
#: app/templates/invoices/pdf_default.html:88 app/templates/issues/edit.html:30
#: app/templates/issues/new.html:30 app/templates/issues/view.html:31
#: app/templates/leads/activity_form.html:54
#: app/templates/leads/convert_to_deal.html:54 app/templates/main/help.html:197
#: app/templates/project_templates/create.html:25
#: app/templates/project_templates/edit.html:25
#: app/templates/project_templates/view.html:30
#: app/templates/projects/add_cost.html:28
#: app/templates/projects/add_good.html:24
#: app/templates/projects/create.html:52 app/templates/projects/create.html:283
#: app/templates/projects/edit.html:48 app/templates/projects/edit_cost.html:35
#: app/templates/projects/edit_good.html:24
#: app/templates/projects/time_entries_overview.html:72
#: app/templates/projects/time_entries_overview.html:83
#: app/templates/quotes/_edit_quote_form_scripts.html:199
#: app/templates/quotes/_edit_quote_form_scripts.html:233
#: app/templates/quotes/create.html:41 app/templates/quotes/create.html:64
#: app/templates/quotes/create.html:95 app/templates/quotes/create.html:126
#: app/templates/quotes/edit.html:46 app/templates/quotes/edit.html:69
#: app/templates/quotes/edit.html:143 app/templates/quotes/edit.html:158
#: app/templates/quotes/edit.html:200 app/templates/quotes/edit.html:216
#: app/templates/quotes/pdf_default.html:95 app/templates/quotes/view.html:61
#: app/templates/quotes/view.html:102
#: app/templates/recurring_tasks/form.html:47
#: app/templates/tasks/_kanban.html:1253 app/templates/tasks/create.html:34
#: app/templates/tasks/edit.html:41 app/utils/pdf_generator.py:1154
#: app/utils/pdf_generator_fallback.py:240
#: app/utils/pdf_generator_fallback.py:575
msgid "Description"
msgstr "Descripción"

#: app/templates/admin/oidc_debug.html:180 app/templates/user/settings.html:297
msgid "Example"
msgstr "Ejemplo"

#: app/templates/admin/oidc_debug.html:184
msgid "Authentication method"
msgstr "Método de autenticación"

#: app/templates/admin/oidc_debug.html:185
msgid "OIDC provider issuer URL"
msgstr "URL del emisor del proveedor OIDC"

#: app/templates/admin/oidc_debug.html:186
msgid "Client ID from OIDC provider"
msgstr "ID de cliente del proveedor OIDC"

#: app/templates/admin/oidc_debug.html:187
msgid "Client secret from OIDC provider"
msgstr "Secreto de cliente del proveedor OIDC"

#: app/templates/admin/oidc_debug.html:188
msgid "Callback URL (optional, auto-generated)"
msgstr "URL de devolución de llamada (opcional, generada automáticamente)"

#: app/templates/admin/oidc_debug.html:189
msgid "Requested scopes"
msgstr "Alcances solicitados"

#: app/templates/admin/oidc_debug.html:190
msgid "Claim containing username"
msgstr "Reclamación que contiene nombre de usuario"

#: app/templates/admin/oidc_debug.html:191
msgid "Claim containing email"
msgstr "Reclamación que contiene correo electrónico"

#: app/templates/admin/oidc_debug.html:192
msgid "Claim containing full name"
msgstr "Reclamación que contiene el nombre completo"

#: app/templates/admin/oidc_debug.html:193
msgid "Claim containing groups"
msgstr "Reclamación que contiene grupos"

#: app/templates/admin/oidc_debug.html:194
msgid "Group name for admin role (optional)"
msgstr "Nombre del grupo para la función de administrador (opcional)"

#: app/templates/admin/oidc_debug.html:195
msgid "Comma-separated admin emails (optional)"
msgstr "Correos electrónicos de administrador separados por comas (opcional)"

#: app/templates/admin/oidc_setup_wizard.html:4
#: app/templates/admin/oidc_setup_wizard.html:15
msgid "OIDC Setup Wizard"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:16
msgid "Guided step-by-step configuration for OpenID Connect authentication"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:26
msgid "Basic Config"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:31
#: app/templates/admin/oidc_setup_wizard.html:125
#: app/templates/integrations/activitywatch_setup.html:161
#: app/templates/integrations/caldav_setup.html:210
#: app/templates/integrations/caldav_setup.html:215
#: app/templates/integrations/manage.html:624
#: app/templates/integrations/view.html:137
#: app/templates/integrations/wizard_jira.html:76
#: app/templates/integrations/wizard_trello.html:53
msgid "Test Connection"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:53
msgid "Step 1: Basic Configuration"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:57
msgid "OIDC Issuer URL"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:64
msgid "The base URL of your OIDC provider (e.g., https://auth.example.com or https://login.microsoftonline.com/tenant-id/v2.0)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:77
msgid "The client ID from your OIDC provider"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:87
msgid "Enter client secret"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:89
msgid "The client secret from your OIDC provider"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:95
#: app/templates/admin/oidc_user_detail.html:41
msgid "Authentication Method"
msgstr "Método de autenticación"

#: app/templates/admin/oidc_setup_wizard.html:100
msgid "OIDC Only"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:100
msgid "SSO login only, no local passwords"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:103
msgid "Both"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:103
msgid "SSO and local password authentication"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:107
msgid "Choose whether to allow only OIDC login or both OIDC and local password authentication"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:115
#: app/templates/integrations/wizard_jira.html:66
#: app/templates/integrations/wizard_trello.html:43
msgid "Step 2: Test Connection"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:120
msgid "Click \"Test Connection\" to verify DNS resolution and metadata endpoint accessibility."
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:137
msgid "Step 3: Claim Mapping"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:148
msgid "Claim name containing the username (default: preferred_username)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:161
msgid "Claim name containing the email address (default: email)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:174
msgid "Claim name containing the full name (default: name)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:187
msgid "Claim name containing user groups (default: groups, optional)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:200
msgid "Group name that grants admin access (optional)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:213
msgid "Comma-separated list of email addresses that grant admin access (optional)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:221
#: app/templates/integrations/wizard_jira.html:152
msgid "Step 4: Advanced Settings"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:232
msgid "Space-separated list of OIDC scopes (default: openid profile email)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:245
msgid "OAuth callback URL (usually auto-generated, but can be customized)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:251
msgid "Post-Logout Redirect URI"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:258
msgid "URL to redirect to after logout (optional, only if your provider supports end_session_endpoint)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:266
msgid "Step 5: Generate Configuration"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:271
msgid "Click \"Generate Configuration\" to create environment variable configuration."
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:275
msgid "Generate Configuration"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:280
msgid "Environment Variables (.env file)"
msgstr ""

#: app/templates/admin/oidc_setup_wizard.html:300
msgid "Copy the configuration above and add it to your environment variables or Docker Compose file, then restart the application."
msgstr ""

#: app/templates/admin/oidc_user_detail.html:3
#: app/templates/admin/oidc_user_detail.html:8
msgid "OIDC User Details"
msgstr "Detalles del usuario OIDC"

#: app/templates/admin/oidc_user_detail.html:9
msgid "Profile and OIDC identity for this user"
msgstr "Perfil e identidad OIDC para este usuario"

#: app/templates/admin/oidc_user_detail.html:13
msgid "Back to OIDC Debug"
msgstr "Volver a Depuración OIDC"

#: app/templates/admin/oidc_user_detail.html:21
msgid "User Profile"
msgstr "Perfil de usuario"

#: app/templates/admin/custom_field_definitions/form.html:59
#: app/templates/admin/custom_field_definitions/list.html:54
#: app/templates/admin/link_templates/form.html:64
#: app/templates/admin/link_templates/list.html:58
#: app/templates/admin/oidc_user_detail.html:27
#: app/templates/admin/oidc_user_detail.html:71
#: app/templates/admin/salesman_email_mappings.html:133
#: app/templates/admin/webhooks/form.html:106
#: app/templates/admin/webhooks/list.html:60
#: app/templates/admin/webhooks/view.html:35
#: app/templates/calendar/integrations.html:38
#: app/templates/clients/view.html:320
#: app/templates/integrations/health.html:24
#: app/templates/integrations/view.html:23
#: app/templates/inventory/stock_items/form.html:87
#: app/templates/inventory/stock_items/list.html:89
#: app/templates/inventory/stock_items/view.html:103
#: app/templates/inventory/suppliers/form.html:79
#: app/templates/inventory/suppliers/list.html:76
#: app/templates/inventory/suppliers/view.html:33
#: app/templates/inventory/warehouses/form.html:54
#: app/templates/inventory/warehouses/list.html:49
#: app/templates/inventory/warehouses/view.html:33
#: app/templates/kanban/columns.html:72
#: app/templates/kanban/edit_column.html:80
#: app/templates/payment_gateways/list.html:43
#: app/templates/projects/view.html:120
#: app/templates/recurring_tasks/list.html:76
#: app/templates/reports/scheduled.html:74 app/templates/tasks/_kanban.html:98
#: app/templates/timer/calendar.html:975
#: app/templates/weekly_goals/edit.html:88
#: app/templates/weekly_goals/index.html:176
#: app/templates/weekly_goals/view.html:69 app/utils/i18n_helpers.py:51
#: app/utils/i18n_helpers.py:57 app/utils/i18n_helpers.py:244
#: app/utils/i18n_helpers.py:255 app/utils/i18n_helpers.py:287
#: app/utils/i18n_helpers.py:293
msgid "Active"
msgstr "Activo"

#: app/templates/admin/oidc_user_detail.html:28
msgid "Preferred Language"
msgstr "Idioma preferido"

#: app/templates/admin/oidc_user_detail.html:30
#: app/templates/reports/user_report.html:89
msgid "Created At"
msgstr "Creado en"

#: app/templates/admin/oidc_user_detail.html:37
msgid "OIDC Information"
msgstr "Información OIDC"

#: app/templates/admin/oidc_user_detail.html:39
msgid "OIDC Issuer"
msgstr "Emisor OIDC"

#: app/templates/admin/oidc_user_detail.html:40
msgid "OIDC Subject (sub)"
msgstr "Asunto OIDC (sub)"

#: app/templates/admin/oidc_user_detail.html:41
msgid "Local"
msgstr "Local"

#: app/templates/admin/oidc_user_detail.html:45
msgid "This user was created or linked via OIDC. The issuer and subject are used to uniquely identify the user across login sessions."
msgstr "Este usuario fue creado o vinculado a través de OIDC. El emisor y el asunto se utilizan para identificar de forma única al usuario en todas las sesiones de inicio de sesión."

#: app/templates/admin/oidc_user_detail.html:49
msgid "This user has no OIDC information. They may have been created manually or via self-registration without OIDC."
msgstr "Este usuario no tiene información OIDC. Es posible que se hayan creado manualmente o mediante autorregistro sin OIDC."

#: app/templates/admin/oidc_user_detail.html:57
msgid "Activity Statistics"
msgstr "Estadísticas de actividad"

#: app/templates/admin/oidc_user_detail.html:65
#: app/templates/calendar/view.html:84 app/templates/calendar/view.html:101
#: app/templates/calendar/view.html:102 app/templates/calendar/view.html:109
#: app/templates/client_portal/base.html:263
#: app/templates/client_portal/base.html:348
#: app/templates/client_portal/projects.html:59
#: app/templates/client_portal/time_entries.html:4
#: app/templates/client_portal/time_entries.html:9
#: app/templates/client_portal/time_entries.html:14
#: app/templates/components/activity_feed_widget.html:31
#: app/templates/components/offline_indicator.html:63
#: app/templates/integrations/wizard_jira.html:142
#: app/templates/projects/time_entries_overview.html:4
#: app/templates/reports/builder.html:366
#: app/templates/timer/time_entries_overview.html:9
#: app/templates/timer/view_timer.html:8
msgid "Time Entries"
msgstr "Entradas de tiempo"

#: app/templates/admin/link_templates/list.html:52
#: app/templates/admin/oidc_user_detail.html:73
#: app/templates/integrations/wizard_asana.html:194
#: app/templates/integrations/wizard_github.html:228
#: app/templates/integrations/wizard_gitlab.html:252
#: app/templates/integrations/wizard_jira.html:257
#: app/templates/integrations/wizard_quickbooks.html:227
#: app/templates/integrations/wizard_xero.html:210
#: app/templates/invoices/edit.html:98 app/templates/invoices/edit.html:106
#: app/templates/invoices/edit.html:505 app/templates/invoices/edit.html:516
#: app/templates/mileage/gps.html:20
#: app/templates/quotes/_edit_quote_form_scripts.html:62
#: app/templates/quotes/_edit_quote_form_scripts.html:73
#: app/templates/quotes/edit.html:93 app/templates/quotes/edit.html:99
msgid "None"
msgstr "Ninguno"

#: app/templates/admin/oidc_user_detail.html:76
#: app/templates/kiosk/dashboard.html:288 app/templates/user/profile.html:57
msgid "Active Timer"
msgstr "Temporizador activo"

#: app/templates/admin/oidc_user_detail.html:80
msgid "Tasks Created"
msgstr "Tareas creadas"

#: app/templates/admin/oidc_user_detail.html:89
msgid "Edit User"
msgstr "Editar usuario"

#: app/templates/admin/oidc_user_detail.html:90
msgid "View All Users"
msgstr "Ver todos los usuarios"

#: app/templates/admin/pdf_layout.html:3
#, fuzzy
msgid "PDF Invoice Designer"
msgstr "Diseñador de cotizaciones en PDF"

#: app/templates/admin/pdf_layout.html:1649
#, fuzzy
msgid "Visual Invoice Designer"
msgstr "Diseñador de cotizaciones visuales"

#: app/templates/admin/pdf_layout.html:1652
#, fuzzy
msgid "Drag and drop elements to design your invoice layout"
msgstr "Arrastre y suelte elementos para diseñar el diseño de su cotización"

#: app/templates/admin/pdf_layout.html:1661
#: app/templates/admin/quote_pdf_layout.html:1472
msgid "How to use:"
msgstr "Cómo utilizar:"

#: app/templates/admin/pdf_layout.html:1662
#: app/templates/admin/quote_pdf_layout.html:1473
msgid "Click elements from the left sidebar to add them to the canvas. Click elements to select and customize them in the properties panel. Use the alignment tools and keyboard shortcuts for faster editing."
msgstr "Haga clic en elementos de la barra lateral izquierda para agregarlos al lienzo. Haga clic en elementos para seleccionarlos y personalizarlos en el panel de propiedades. Utilice las herramientas de alineación y los atajos de teclado para una edición más rápida."

#: app/templates/admin/pdf_layout.html:1665
#: app/templates/admin/quote_pdf_layout.html:1476
msgid "Keyboard Shortcuts:"
msgstr "Atajos de teclado:"

#: app/templates/admin/pdf_layout.html:1676
msgid "Help: Items Table, Expenses Table & Saving"
msgstr ""

#: app/templates/admin/pdf_layout.html:1679
#, fuzzy
msgid "Items Table:"
msgstr "Tabla de artículos de cotización"

#: app/templates/admin/pdf_layout.html:1679
msgid "Displays time entries, extra goods, and expenses. Add from Invoice Data in the sidebar. Uses"
msgstr ""

#: app/templates/admin/pdf_layout.html:1680
#, fuzzy
msgid "Expenses Table:"
msgstr "Subtotal de gastos"

#: app/templates/admin/pdf_layout.html:1680
msgid "Optional separate table for expenses. Add from Invoice Data in the sidebar."
msgstr ""

#: app/templates/admin/pdf_layout.html:1681
#: app/templates/admin/quote_pdf_layout.html:1491
#, fuzzy
msgid "Saving:"
msgstr "Ahorro..."

#: app/templates/admin/pdf_layout.html:1681
msgid "Click \"Save Design\" to persist. If tables disappear after save, try Reset to restore defaults, then re-add tables."
msgstr ""

#: app/templates/admin/pdf_layout.html:1682
#: app/templates/admin/quote_pdf_layout.html:1492
#: app/templates/admin/salesman_email_mappings.html:138
msgid "Preview:"
msgstr ""

#: app/templates/admin/pdf_layout.html:1682
msgid "Use \"Generate Preview\" to see how the PDF will look with real invoice data."
msgstr ""

#: app/templates/admin/pdf_layout.html:1683
#: app/templates/admin/quote_pdf_layout.html:1493
#, fuzzy
msgid "See"
msgstr "Colocar"

#: app/templates/admin/pdf_layout.html:1683
#: app/templates/admin/quote_pdf_layout.html:1493
#, fuzzy
msgid "for full documentation."
msgstr "Documentación"

#: app/templates/admin/pdf_layout.html:1690
#: app/templates/admin/pdf_layout.html:4407
#: app/templates/admin/quote_pdf_layout.html:1500
#: app/templates/admin/quote_pdf_layout.html:3926
msgid "Clear Canvas"
msgstr "Borrar lienzo"

#: app/templates/admin/pdf_layout.html:1693
#: app/templates/admin/quote_pdf_layout.html:1503
msgid "Generate Preview"
msgstr "Generar vista previa"

#: app/templates/admin/pdf_layout.html:1696
#: app/templates/admin/quote_pdf_layout.html:1506
msgid "Save Design"
msgstr "Guardar diseño"

#: app/templates/admin/pdf_layout.html:1699
#: app/templates/admin/quote_pdf_layout.html:1509
msgid "View Code"
msgstr "Ver código"

#: app/templates/admin/pdf_layout.html:1702
#: app/templates/admin/quote_pdf_layout.html:1512
msgid "Export JSON"
msgstr ""

#: app/templates/admin/pdf_layout.html:1705
#: app/templates/admin/quote_pdf_layout.html:1515
msgid "Import JSON"
msgstr ""

#: app/templates/admin/pdf_layout.html:1710
#: app/templates/admin/quote_pdf_layout.html:1520
msgid "Snap to Grid (10px)"
msgstr "Ajustar a cuadrícula (10px)"

#: app/templates/admin/pdf_layout.html:1726
#: app/templates/admin/quote_pdf_layout.html:1536
msgid "Toolbox"
msgstr "Caja de instrumento"

#: app/templates/admin/pdf_layout.html:1731
#: app/templates/admin/quote_pdf_layout.html:1541
msgid "Search elements & variables..."
msgstr "Buscar elementos y variables..."

#: app/templates/admin/pdf_layout.html:1737
#: app/templates/admin/quote_pdf_layout.html:1547
msgid "Elements"
msgstr "Elementos"

#: app/templates/admin/pdf_layout.html:1740
#: app/templates/admin/quote_pdf_layout.html:1550
msgid "Variables"
msgstr "variables"

#: app/templates/admin/pdf_layout.html:1749
#: app/templates/admin/quote_pdf_layout.html:1559
msgid "Basic Elements"
msgstr "Elementos básicos"

#: app/templates/admin/pdf_layout.html:1752
#: app/templates/admin/quote_pdf_layout.html:1562
msgid "Custom Text"
msgstr "Texto personalizado"

#: app/templates/admin/pdf_layout.html:1756
#: app/templates/admin/quote_pdf_layout.html:1566
msgid "Text"
msgstr "Texto"

#: app/templates/admin/pdf_layout.html:1760
#: app/templates/admin/quote_pdf_layout.html:1570
msgid "Heading"
msgstr "Título"

#: app/templates/admin/pdf_layout.html:1764
#: app/templates/admin/quote_pdf_layout.html:1574
msgid "Line"
msgstr "Línea"

#: app/templates/admin/pdf_layout.html:1768
#: app/templates/admin/quote_pdf_layout.html:1578
msgid "Rectangle"
msgstr "Rectángulo"

#: app/templates/admin/pdf_layout.html:1772
#: app/templates/admin/quote_pdf_layout.html:1582
msgid "Circle"
msgstr "Círculo"

#: app/templates/admin/pdf_layout.html:1777
#: app/templates/admin/quote_pdf_layout.html:1587
msgid "Company Info"
msgstr "Información de la empresa"

#: app/templates/admin/pdf_layout.html:1780
#: app/templates/admin/quote_pdf_layout.html:1590
#: app/templates/admin/settings.html:611 app/templates/admin/settings.html:632
#: app/templates/invoices/pdf_default.html:37
#: app/templates/quotes/pdf_default.html:37
msgid "Company Logo"
msgstr "Logotipo de la empresa"

#: app/templates/admin/email_templates/create.html:52
#: app/templates/admin/email_templates/edit.html:69
#: app/templates/admin/pdf_layout.html:1784
#: app/templates/admin/quote_pdf_layout.html:1594
#: app/templates/admin/settings.html:211 app/templates/leads/form.html:35
msgid "Company Name"
msgstr "nombre de empresa"

#: app/templates/admin/pdf_layout.html:1788
#: app/templates/admin/quote_pdf_layout.html:1598
msgid "Company Details"
msgstr "Detalles de la empresa"

#: app/templates/admin/pdf_layout.html:1792
#: app/templates/admin/quote_pdf_layout.html:1602
#: app/templates/clients/create.html:71 app/templates/clients/edit.html:65
#: app/templates/contacts/form.html:79 app/templates/contacts/view.html:64
#: app/templates/inventory/suppliers/form.html:48
#: app/templates/inventory/suppliers/view.html:69
#: app/templates/inventory/warehouses/form.html:32
#: app/templates/inventory/warehouses/view.html:41
#: app/templates/main/help.html:245 app/templates/projects/create.html:302
#: app/templates/setup/initial_setup.html:143
msgid "Address"
msgstr "DIRECCIÓN"

#: app/templates/admin/pdf_layout.html:1800
#: app/templates/admin/quote_pdf_layout.html:1610
#: app/templates/clients/create.html:67 app/templates/clients/edit.html:61
#: app/templates/contacts/form.html:42 app/templates/contacts/list.html:30
#: app/templates/contacts/list.html:54 app/templates/contacts/view.html:37
#: app/templates/inventory/suppliers/form.html:44
#: app/templates/inventory/suppliers/list.html:45
#: app/templates/inventory/suppliers/list.html:67
#: app/templates/inventory/suppliers/view.html:61
#: app/templates/invoices/pdf_default.html:45 app/templates/leads/form.html:45
#: app/templates/leads/view.html:55 app/templates/projects/create.html:298
#: app/templates/quotes/pdf_default.html:45
#: app/templates/setup/initial_setup.html:152 app/utils/pdf_generator.py:1117
msgid "Phone"
msgstr "Teléfono"

#: app/templates/admin/pdf_layout.html:1804
#: app/templates/admin/quote_pdf_layout.html:1614
#: app/templates/inventory/suppliers/form.html:52
#: app/templates/inventory/suppliers/view.html:75
#: app/templates/invoices/pdf_default.html:46
#: app/templates/quotes/pdf_default.html:46
#: app/templates/setup/initial_setup.html:156 app/utils/pdf_generator.py:1118
msgid "Website"
msgstr "Sitio web"

#: app/templates/admin/pdf_layout.html:1808
#: app/templates/admin/quote_pdf_layout.html:1618
#: app/templates/inventory/suppliers/form.html:56
#: app/templates/inventory/suppliers/view.html:83
#: app/templates/invoices/pdf_default.html:48
#: app/templates/quotes/pdf_default.html:48
msgid "Tax ID"
msgstr "Identificación fiscal"

#: app/templates/admin/pdf_layout.html:1813
#, fuzzy
msgid "Invoice Data"
msgstr "Detalles de la factura"

#: app/templates/admin/email_templates/create.html:49
#: app/templates/admin/email_templates/edit.html:66
#: app/templates/admin/pdf_layout.html:1816
#: app/templates/client_portal/invoices.html:71
#: app/templates/payment_gateways/pay.html:11
#: app/templates/payments/view.html:155
#: app/templates/recurring_invoices/view.html:97
#: app/templates/recurring_invoices/view.html:107
#: app/templates/timer/edit_timer.html:366
#: app/templates/timer/edit_timer.html:487
msgid "Invoice Number"
msgstr "Número de factura"

#: app/templates/admin/pdf_layout.html:1820
#, fuzzy
msgid "Invoice Date"
msgstr "Facturado"

#: app/templates/admin/pdf_layout.html:1824
#: app/templates/admin/quote_pdf_layout.html:1634
#: app/templates/client_portal/invoice_detail.html:35
#: app/templates/client_portal/invoices.html:73
#: app/templates/deals/activity_form.html:46
#: app/templates/invoices/create.html:35 app/templates/invoices/edit.html:30
#: app/templates/invoices/pdf_default.html:58
#: app/templates/leads/activity_form.html:46
#: app/templates/payment_gateways/pay.html:19
#: app/templates/tasks/_kanban.html:132 app/templates/tasks/_kanban.html:1271
#: app/templates/tasks/_tasks_list.html:78 app/templates/tasks/create.html:93
#: app/templates/tasks/edit.html:101 app/utils/pdf_generator.py:1128
msgid "Due Date"
msgstr "Fecha de vencimiento"

#: app/templates/admin/pdf_layout.html:1832
#: app/templates/admin/quote_pdf_layout.html:1642
msgid "Client Info"
msgstr "Información del cliente"

#: app/templates/admin/pdf_layout.html:1836
#: app/templates/admin/quote_pdf_layout.html:1646
#: app/templates/clients/create.html:20 app/templates/clients/create.html:120
#: app/templates/clients/edit.html:20 app/templates/import_export/index.html:69
#: app/templates/invoices/create.html:27 app/templates/invoices/edit.html:22
#: app/templates/projects/create.html:274
msgid "Client Name"
msgstr "Nombre del cliente"

#: app/templates/admin/pdf_layout.html:1840
#: app/templates/admin/quote_pdf_layout.html:1650
#: app/templates/invoices/create.html:39 app/templates/invoices/edit.html:38
msgid "Client Address"
msgstr "Dirección del cliente"

#: app/templates/admin/pdf_layout.html:1844
#, fuzzy
msgid "Items Table"
msgstr "Tabla de artículos de cotización"

#: app/templates/admin/pdf_layout.html:1848
#, fuzzy
msgid "Expenses Table"
msgstr "Subtotal de gastos"

#: app/templates/admin/pdf_layout.html:1852
#: app/templates/admin/quote_pdf_layout.html:1658
#: app/templates/client_portal/invoice_detail.html:82
#: app/templates/client_portal/quote_detail.html:103
#: app/templates/inventory/purchase_orders/form.html:93
#: app/templates/inventory/purchase_orders/view.html:122
#: app/templates/invoices/edit.html:346 app/templates/quotes/view.html:129
msgid "Subtotal"
msgstr "Total parcial"

#: app/templates/admin/pdf_layout.html:1856
#: app/templates/admin/quote_pdf_layout.html:1662
#: app/templates/client_portal/invoice_detail.html:87
#: app/templates/client_portal/quote_detail.html:108
#: app/templates/inventory/purchase_orders/view.html:133
#: app/templates/invoices/edit.html:351 app/templates/quotes/view.html:155
#: app/utils/pdf_generator_fallback.py:620
msgid "Tax"
msgstr "Impuesto"

#: app/templates/admin/pdf_layout.html:1860
#: app/templates/admin/quote_pdf_layout.html:1666
#: app/templates/inventory/purchase_orders/list.html:55
#: app/templates/inventory/purchase_orders/list.html:87
#: app/templates/inventory/purchase_orders/view.html:189
#: app/templates/invoices/pdf_default.html:91
#: app/templates/payments/list.html:28 app/templates/projects/goods.html:21
#: app/templates/quotes/accept.html:27 app/templates/quotes/pdf_default.html:98
#: app/utils/pdf_generator.py:1157 app/utils/pdf_generator_fallback.py:240
msgid "Total Amount"
msgstr "Monto total"

#: app/templates/admin/pdf_layout.html:1868
#: app/templates/admin/quote_pdf_layout.html:1674
#: app/templates/client_portal/invoice_detail.html:130
#: app/templates/invoices/create.html:55 app/templates/invoices/edit.html:50
msgid "Terms"
msgstr "Términos"

#: app/templates/admin/pdf_layout.html:1873
#: app/templates/admin/quote_pdf_layout.html:1679
msgid "Payment & Project"
msgstr "Pago y proyecto"

#: app/templates/admin/pdf_layout.html:1876
#: app/templates/admin/quote_pdf_layout.html:1682
msgid "Payment Date"
msgstr "Fecha de pago"

#: app/templates/admin/pdf_layout.html:1880
#: app/templates/admin/quote_pdf_layout.html:1686
msgid "Payment Method"
msgstr "Método de pago"

#: app/templates/admin/pdf_layout.html:1884
#: app/templates/admin/quote_pdf_layout.html:1690
#: app/templates/analytics/dashboard_improved.html:136
msgid "Payment Status"
msgstr "Estado de pago"

#: app/templates/admin/pdf_layout.html:1888
#: app/templates/admin/quote_pdf_layout.html:1694
#: app/templates/invoices/edit.html:364
msgid "Amount Paid"
msgstr "Monto pagado"

#: app/templates/admin/pdf_layout.html:1896
#: app/templates/admin/quote_pdf_layout.html:1702
#: app/templates/project_templates/create_project.html:26
#: app/templates/projects/create.html:22 app/templates/projects/edit.html:22
#: app/templates/quotes/accept.html:48
msgid "Project Name"
msgstr "Nombre del proyecto"

#: app/templates/admin/pdf_layout.html:1900
#: app/templates/admin/quote_pdf_layout.html:1706
#: app/templates/invoices/create.html:31 app/templates/invoices/edit.html:26
msgid "Client Email"
msgstr "Correo electrónico del cliente"

#: app/templates/admin/pdf_layout.html:1904
#: app/templates/admin/quote_pdf_layout.html:1710
msgid "Client Phone"
msgstr "Teléfono del cliente"

#: app/templates/admin/pdf_layout.html:1912
#: app/templates/admin/quote_pdf_layout.html:1718
msgid "QR Code"
msgstr "Código QR"

#: app/templates/admin/pdf_layout.html:1916
#: app/templates/admin/quote_pdf_layout.html:1722
#: app/templates/inventory/stock_items/form.html:49
#: app/templates/inventory/stock_items/view.html:40
msgid "Barcode"
msgstr "Código de barras"

#: app/templates/admin/pdf_layout.html:1920
#: app/templates/admin/quote_pdf_layout.html:1726
msgid "Page Number"
msgstr "Número de página"

#: app/templates/admin/pdf_layout.html:1924
#: app/templates/admin/quote_pdf_layout.html:1730
msgid "Current Date"
msgstr "Fecha actual"

#: app/templates/admin/pdf_layout.html:1928
#: app/templates/admin/quote_pdf_layout.html:1734
msgid "Watermark"
msgstr "Filigrana"

#: app/templates/admin/pdf_layout.html:1932
#: app/templates/admin/quote_pdf_layout.html:1738
msgid "Bank Info"
msgstr "Información bancaria"

#: app/templates/admin/pdf_layout.html:1936
#: app/templates/admin/quote_pdf_layout.html:1742
#: app/templates/deals/form.html:66
#: app/templates/inventory/purchase_orders/form.html:46
#: app/templates/inventory/stock_items/form.html:53
#: app/templates/inventory/suppliers/form.html:64
#: app/templates/inventory/suppliers/view.html:94
#: app/templates/invoices/edit.html:325 app/templates/leads/form.html:79
#: app/templates/projects/add_cost.html:64
#: app/templates/projects/add_good.html:55
#: app/templates/projects/edit_cost.html:71
#: app/templates/projects/edit_good.html:55
#: app/templates/quotes/create.html:160 app/templates/quotes/edit.html:259
#: app/templates/setup/initial_setup.html:127
msgid "Currency"
msgstr "Divisa"

#: app/templates/admin/pdf_layout.html:1940
#: app/templates/admin/quote_pdf_layout.html:1746
msgid "Decorative Image"
msgstr ""

#: app/templates/admin/pdf_layout.html:1948
#, fuzzy
msgid "Invoice Fields"
msgstr "Artículos de factura"

#: app/templates/admin/pdf_layout.html:1951
#, fuzzy
msgid "Invoice number"
msgstr "Número de factura"

#: app/templates/admin/pdf_layout.html:1955
#, fuzzy
msgid "Invoice status (draft/sent/paid/overdue)"
msgstr "Estado de la cotización (borrador/enviada/pagada/vencida)"

#: app/templates/admin/pdf_layout.html:1959
#: app/templates/admin/quote_pdf_layout.html:1765
msgid "Issue date"
msgstr "Fecha de asunto"

#: app/templates/admin/pdf_layout.html:1963
#: app/templates/admin/quote_pdf_layout.html:1769
msgid "Due date"
msgstr "Fecha de vencimiento"

#: app/templates/admin/pdf_layout.html:1967
#: app/templates/admin/quote_pdf_layout.html:1773
msgid "Subtotal amount"
msgstr "Monto subtotal"

#: app/templates/admin/pdf_layout.html:1971
#: app/templates/admin/quote_pdf_layout.html:1777
msgid "Tax rate (%)"
msgstr "Tasa impositiva (%)"

#: app/templates/admin/pdf_layout.html:1975
#: app/templates/admin/quote_pdf_layout.html:1781
msgid "Tax amount"
msgstr "Monto del impuesto"

#: app/templates/admin/pdf_layout.html:1979
#: app/templates/admin/quote_pdf_layout.html:1785
msgid "Total amount"
msgstr "Monto total"

#: app/templates/admin/pdf_layout.html:1983
#: app/templates/admin/quote_pdf_layout.html:1789
msgid "Currency code (EUR, USD, etc)"
msgstr "Código de moneda (EUR, USD, etc.)"

#: app/templates/admin/pdf_layout.html:1987
#, fuzzy
msgid "Invoice notes"
msgstr "Artículos de factura"

#: app/templates/admin/pdf_layout.html:1991
#: app/templates/admin/quote_pdf_layout.html:1797
msgid "Terms & conditions"
msgstr "Términos y condiciones"

#: app/templates/admin/pdf_layout.html:1996
#: app/templates/admin/quote_pdf_layout.html:1802
msgid "Client Fields"
msgstr "Campos de cliente"

#: app/templates/admin/pdf_layout.html:1999
#: app/templates/admin/quote_pdf_layout.html:1805
msgid "Client company name"
msgstr "Nombre de la empresa cliente"

#: app/templates/admin/pdf_layout.html:2003
#: app/templates/admin/quote_pdf_layout.html:1809
msgid "Client email address"
msgstr "Dirección de correo electrónico del cliente"

#: app/templates/admin/pdf_layout.html:2007
#: app/templates/admin/quote_pdf_layout.html:1813
msgid "Client full address"
msgstr "dirección completa del cliente"

#: app/templates/admin/pdf_layout.html:2011
#: app/templates/admin/quote_pdf_layout.html:1817
msgid "Client contact person"
msgstr "Persona de contacto del cliente"

#: app/templates/admin/pdf_layout.html:2015
#: app/templates/admin/quote_pdf_layout.html:1821
msgid "Client phone number"
msgstr "Número de teléfono del cliente"

#: app/templates/admin/pdf_layout.html:2020
#: app/templates/admin/quote_pdf_layout.html:1826
msgid "Payment Fields"
msgstr "Campos de pago"

#: app/templates/admin/pdf_layout.html:2023
#, fuzzy
msgid "Payment status"
msgstr "Estado de pago"

#: app/templates/admin/pdf_layout.html:2027
#, fuzzy
msgid "Payment date"
msgstr "Fecha de pago"

#: app/templates/admin/pdf_layout.html:2031
#: app/templates/admin/quote_pdf_layout.html:1837
msgid "Payment method"
msgstr "Método de pago"

#: app/templates/admin/pdf_layout.html:2035
#: app/templates/admin/quote_pdf_layout.html:1841
msgid "Payment reference number"
msgstr "Número de referencia de pago"

#: app/templates/admin/pdf_layout.html:2039
#: app/templates/admin/quote_pdf_layout.html:1845
msgid "Amount paid"
msgstr "Monto pagado"

#: app/templates/admin/pdf_layout.html:2043
#: app/templates/admin/quote_pdf_layout.html:1849
msgid "Outstanding amount"
msgstr "Monto pendiente"

#: app/templates/admin/pdf_layout.html:2047
#: app/templates/admin/quote_pdf_layout.html:1853
msgid "Payment notes"
msgstr "Notas de pago"

#: app/templates/admin/pdf_layout.html:2052
#: app/templates/admin/quote_pdf_layout.html:1858
msgid "Project Fields"
msgstr "Campos del proyecto"

#: app/templates/admin/pdf_layout.html:2055
#: app/templates/admin/quote_pdf_layout.html:1861
#: app/templates/quotes/accept.html:49
msgid "Project name"
msgstr "Nombre del proyecto"

#: app/templates/admin/pdf_layout.html:2059
#: app/templates/admin/quote_pdf_layout.html:1865
msgid "Project code"
msgstr "código de proyecto"

#: app/templates/admin/pdf_layout.html:2063
#: app/templates/admin/quote_pdf_layout.html:1869
msgid "Project description"
msgstr "Descripción del proyecto"

#: app/templates/admin/pdf_layout.html:2067
#: app/templates/admin/quote_pdf_layout.html:1873
msgid "Project billing reference"
msgstr "Referencia de facturación del proyecto"

#: app/templates/admin/pdf_layout.html:2072
#: app/templates/admin/quote_pdf_layout.html:1878
msgid "Company/Settings Fields"
msgstr "Campos de empresa/configuración"

#: app/templates/admin/pdf_layout.html:2075
#: app/templates/admin/quote_pdf_layout.html:1881
msgid "Your company name"
msgstr "El nombre de tu empresa"

#: app/templates/admin/pdf_layout.html:2079
#: app/templates/admin/quote_pdf_layout.html:1885
msgid "Your company address"
msgstr "La dirección de tu empresa"

#: app/templates/admin/pdf_layout.html:2083
#: app/templates/admin/quote_pdf_layout.html:1889
msgid "Your company email"
msgstr "El correo electrónico de tu empresa"

#: app/templates/admin/pdf_layout.html:2087
#: app/templates/admin/quote_pdf_layout.html:1893
msgid "Your company phone"
msgstr "Teléfono de tu empresa"

#: app/templates/admin/pdf_layout.html:2091
#: app/templates/admin/quote_pdf_layout.html:1897
msgid "Your company website"
msgstr "Sitio web de su empresa"

#: app/templates/admin/pdf_layout.html:2095
#: app/templates/admin/quote_pdf_layout.html:1901
msgid "Your tax ID number"
msgstr "Su número de identificación fiscal"

#: app/templates/admin/pdf_layout.html:2099
#: app/templates/admin/quote_pdf_layout.html:1905
msgid "Your bank account info"
msgstr "La información de tu cuenta bancaria"

#: app/templates/admin/pdf_layout.html:2103
#: app/templates/admin/quote_pdf_layout.html:1909
msgid "Default invoice terms"
msgstr "Términos de factura predeterminados"

#: app/templates/admin/pdf_layout.html:2107
#: app/templates/admin/quote_pdf_layout.html:1913
msgid "Default invoice notes"
msgstr "Notas de factura predeterminadas"

#: app/templates/admin/pdf_layout.html:2112
#: app/templates/admin/quote_pdf_layout.html:1918
msgid "Date/Time Fields"
msgstr "Campos de fecha/hora"

#: app/templates/admin/pdf_layout.html:2115
#: app/templates/admin/quote_pdf_layout.html:1921
msgid "Current date"
msgstr "fecha actual"

#: app/templates/admin/pdf_layout.html:2119
#, fuzzy
msgid "Invoice creation date"
msgstr "Fecha de creación de la cotización"

#: app/templates/admin/pdf_layout.html:2123
#, fuzzy
msgid "Invoice last update date"
msgstr "Cita última fecha de actualización"

#: app/templates/admin/pdf_layout.html:2128
#, fuzzy
msgid "Invoice Items Loop"
msgstr "Artículos de factura"

#: app/templates/admin/pdf_layout.html:2131
msgid "All items (time + extra goods + expenses)"
msgstr ""

#: app/templates/admin/pdf_layout.html:2135
#, fuzzy
msgid "Time-based items only"
msgstr "Servicios basados ​​en el tiempo y trabajo por horas."

#: app/templates/admin/pdf_layout.html:2139
#: app/templates/admin/quote_pdf_layout.html:1941
#: app/templates/quotes/_edit_quote_form_scripts.html:172
#: app/templates/quotes/edit.html:106
msgid "Item description"
msgstr "Descripción del artículo"

#: app/templates/admin/pdf_layout.html:2143
#: app/templates/admin/quote_pdf_layout.html:1945
msgid "Item quantity"
msgstr "Cantidad de artículo"

#: app/templates/admin/pdf_layout.html:2147
#: app/templates/admin/quote_pdf_layout.html:1949
msgid "Item unit price"
msgstr "Precio unitario del artículo"

#: app/templates/admin/pdf_layout.html:2151
#: app/templates/admin/quote_pdf_layout.html:1953
msgid "Item total amount"
msgstr "Importe total del artículo"

#: app/templates/admin/pdf_layout.html:2155
#: app/templates/admin/quote_pdf_layout.html:1957
msgid "End loop"
msgstr "Finalizar bucle"

#: app/templates/admin/pdf_layout.html:2159
#, fuzzy
msgid "Extra Goods Loop"
msgstr "Bienes adicionales"

#: app/templates/admin/pdf_layout.html:2162
#, fuzzy
msgid "Loop through extra goods only"
msgstr "Proyecto de bienes adicionales"

#: app/templates/admin/pdf_layout.html:2166
#, fuzzy
msgid "Good name"
msgstr "Nombre del rol"

#: app/templates/admin/pdf_layout.html:2170
#, fuzzy
msgid "Good total amount"
msgstr "Monto total"

#: app/templates/admin/pdf_layout.html:2182
#: app/templates/admin/quote_pdf_layout.html:1969
msgid "Design Canvas"
msgstr "Lienzo de diseño"

#: app/templates/admin/pdf_layout.html:2186
#: app/templates/admin/quote_pdf_layout.html:1973
msgid "Page Size:"
msgstr "Tamaño de página:"

#: app/templates/admin/pdf_layout.html:2208
#: app/templates/admin/pdf_layout.html:2317
#: app/templates/admin/quote_pdf_layout.html:1995
#: app/templates/admin/quote_pdf_layout.html:2089
msgid "Zoom In"
msgstr "Dar un golpe de zoom"

#: app/templates/admin/pdf_layout.html:2211
#: app/templates/admin/pdf_layout.html:2310
#: app/templates/admin/quote_pdf_layout.html:1998
#: app/templates/admin/quote_pdf_layout.html:2082
msgid "Zoom Out"
msgstr "Alejar"

#: app/templates/admin/pdf_layout.html:2215
#: app/templates/admin/quote_pdf_layout.html:2002
msgid "Delete Selected"
msgstr "Eliminar seleccionado"

#: app/templates/admin/pdf_layout.html:2228
#: app/templates/admin/quote_pdf_layout.html:2015
msgid "Properties"
msgstr "Propiedades"

#: app/templates/admin/pdf_layout.html:2235
#, fuzzy
msgid "Warnings"
msgstr "Advertencia"

#: app/templates/admin/pdf_layout.html:2237
#, fuzzy
msgid "Refresh warnings"
msgstr "Actualizar página"

#: app/templates/admin/pdf_layout.html:2242
#, fuzzy
msgid "No warnings"
msgstr "Advertencia"

#: app/templates/admin/pdf_layout.html:2249
#: app/templates/admin/quote_pdf_layout.html:2021
msgid "Template Settings"
msgstr ""

#: app/templates/admin/pdf_layout.html:2253
#: app/templates/admin/quote_pdf_layout.html:2025
#: app/templates/user/settings.html:432
msgid "Date Format"
msgstr "Formato de fecha"

#: app/templates/admin/pdf_layout.html:2259
#: app/templates/admin/quote_pdf_layout.html:2031
#, python-format
msgid "Use strftime format (e.g., %d.%m.%Y for 12.09.2025)"
msgstr ""

#: app/templates/admin/pdf_layout.html:2264
#: app/templates/admin/quote_pdf_layout.html:2036
msgid "Select an element to edit its properties"
msgstr "Seleccione un elemento para editar sus propiedades"

#: app/templates/admin/pdf_layout.html:2276
#: app/templates/admin/pdf_layout.html:2369
#: app/templates/admin/quote_pdf_layout.html:2048
#: app/templates/admin/quote_pdf_layout.html:2141
msgid "PDF Preview"
msgstr "Vista previa de PDF"

#: app/templates/admin/pdf_layout.html:2281
#: app/templates/admin/pdf_layout.html:2282
#: app/templates/admin/quote_pdf_layout.html:2053
#: app/templates/admin/quote_pdf_layout.html:2054
msgid "Page Size"
msgstr ""

#: app/templates/admin/pdf_layout.html:2292
#: app/templates/admin/quote_pdf_layout.html:2064
msgid "Refresh Preview"
msgstr ""

#: app/templates/admin/pdf_layout.html:2295
#: app/templates/admin/pdf_layout.html:4901
#: app/templates/admin/quote_pdf_layout.html:2067
#: app/templates/admin/quote_pdf_layout.html:4439
#: app/templates/kiosk/base.html:121
msgid "Toggle Fullscreen"
msgstr ""

#: app/templates/admin/pdf_layout.html:2300
#: app/templates/admin/quote_pdf_layout.html:2072
msgid "Close Preview"
msgstr ""

#: app/templates/admin/pdf_layout.html:2314
#: app/templates/admin/quote_pdf_layout.html:2086
msgid "Zoom Level"
msgstr ""

#: app/templates/admin/pdf_layout.html:2320
#: app/templates/admin/quote_pdf_layout.html:2092
msgid "Reset Zoom"
msgstr ""

#: app/templates/admin/pdf_layout.html:2325
#: app/templates/admin/quote_pdf_layout.html:2097
msgid "Fit to Width"
msgstr ""

#: app/templates/admin/pdf_layout.html:2326
#: app/templates/admin/quote_pdf_layout.html:2098
msgid "Fit Width"
msgstr ""

#: app/templates/admin/pdf_layout.html:2328
#: app/templates/admin/quote_pdf_layout.html:2100
msgid "Fit to Height"
msgstr ""

#: app/templates/admin/pdf_layout.html:2329
#: app/templates/admin/quote_pdf_layout.html:2101
msgid "Fit Height"
msgstr ""

#: app/templates/admin/pdf_layout.html:2331
#: app/templates/admin/pdf_layout.html:2332
#: app/templates/admin/quote_pdf_layout.html:2103
#: app/templates/admin/quote_pdf_layout.html:2104
msgid "Actual Size"
msgstr ""

#: app/templates/admin/pdf_layout.html:2343
#: app/templates/admin/quote_pdf_layout.html:2115
msgid "Generating preview..."
msgstr ""

#: app/templates/admin/pdf_layout.html:2354
#: app/templates/admin/quote_pdf_layout.html:2126
msgid "Preview Error"
msgstr ""

#: app/templates/admin/pdf_layout.html:2358
#: app/templates/admin/quote_pdf_layout.html:2130
msgid "Retry"
msgstr ""

#: app/templates/admin/pdf_layout.html:2391
#: app/templates/admin/quote_pdf_layout.html:2163
msgid "Generated Code"
msgstr "Código generado"

#: app/templates/admin/pdf_layout.html:3717
#: app/templates/admin/pdf_layout.html:4229
#: app/templates/admin/quote_pdf_layout.html:3267
#: app/templates/admin/quote_pdf_layout.html:3752
msgid "Change Image"
msgstr ""

#: app/templates/admin/pdf_layout.html:3717
#: app/templates/admin/quote_pdf_layout.html:3267
msgid "Upload Image"
msgstr ""

#: app/templates/admin/pdf_layout.html:3724
#: app/templates/admin/quote_pdf_layout.html:3274
msgid "Remove Image"
msgstr ""

#: app/templates/admin/pdf_layout.html:4173
#: app/templates/admin/quote_pdf_layout.html:3702
msgid "Only image files (PNG, JPG, JPEG, GIF, WEBP) are allowed"
msgstr ""

#: app/templates/admin/pdf_layout.html:4179
#: app/templates/admin/quote_pdf_layout.html:3708
msgid "File size must be less than 5MB"
msgstr ""

#: app/templates/admin/pdf_layout.html:4192
#: app/templates/admin/quote_pdf_layout.html:3718
#: app/templates/chat/channel.html:316
msgid "Uploading..."
msgstr ""

#: app/templates/admin/pdf_layout.html:4215
#: app/templates/admin/quote_pdf_layout.html:3740
msgid "Error: Image update function not found"
msgstr ""

#: app/templates/admin/pdf_layout.html:4218
#: app/templates/admin/pdf_layout.html:4223
#: app/templates/admin/quote_pdf_layout.html:3743
#: app/templates/admin/quote_pdf_layout.html:3748
msgid "Failed to upload image"
msgstr ""

#: app/templates/admin/pdf_layout.html:4247
#: app/templates/admin/quote_pdf_layout.html:3766
msgid "Are you sure you want to remove this image?"
msgstr ""

#: app/templates/admin/pdf_layout.html:4405
#: app/templates/admin/quote_pdf_layout.html:3924
msgid "Clear all elements?"
msgstr "¿Borrar todos los elementos?"

#: app/templates/admin/pdf_layout.html:4408
#: app/templates/admin/quote_pdf_layout.html:3927
#: app/templates/audit_logs/list.html:63
#: app/templates/components/multi_select.html:116
#: app/templates/tasks/my_tasks.html:181
#: app/templates/timer/bulk_entry.html:226 app/templates/timer/calendar.html:80
#: app/templates/timer/manual_entry.html:161
msgid "Clear"
msgstr "Claro"

#: app/templates/admin/pdf_layout.html:4898
#: app/templates/admin/quote_pdf_layout.html:4436
msgid "Exit Fullscreen"
msgstr ""

#: app/templates/admin/pdf_layout.html:5034
#: app/templates/admin/quote_pdf_layout.html:4572
msgid "Failed to load preview. Please try again."
msgstr ""

#: app/templates/admin/pdf_layout.html:5106
#: app/templates/admin/quote_pdf_layout.html:4648
msgid "Changing page size will reload the preview with the template for that size. Continue?"
msgstr ""

#: app/templates/admin/pdf_layout.html:5158
#: app/templates/admin/quote_pdf_layout.html:4703
msgid "Preview functionality is currently unavailable. Please check the browser console for errors."
msgstr ""

#: app/templates/admin/pdf_layout.html:7732
#: app/templates/admin/quote_pdf_layout.html:7172
msgid "Reset to defaults?"
msgstr "¿Restablecer los valores predeterminados?"

#: app/templates/admin/pdf_layout.html:7734
#: app/templates/admin/quote_pdf_layout.html:7174
msgid "Reset PDF Layout"
msgstr "Restablecer diseño de PDF"

#: app/templates/admin/pdf_layout.html:7770
#: app/templates/admin/quote_pdf_layout.html:7210
msgid "Error importing template"
msgstr ""

#: app/templates/admin/quote_pdf_layout.html:3
msgid "PDF Quote Designer"
msgstr "Diseñador de cotizaciones en PDF"

#: app/templates/admin/quote_pdf_layout.html:1460
msgid "Visual Quote Designer"
msgstr "Diseñador de cotizaciones visuales"

#: app/templates/admin/quote_pdf_layout.html:1463
msgid "Drag and drop elements to design your quote layout"
msgstr "Arrastre y suelte elementos para diseñar el diseño de su cotización"

#: app/templates/admin/quote_pdf_layout.html:1487
#, fuzzy
msgid "Help: Quote Items Table & Saving"
msgstr "Tabla de artículos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1490
#, fuzzy
msgid "Quote Items Table:"
msgstr "Tabla de artículos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1490
msgid "Displays quote line items. Add from Invoice Data in the sidebar."
msgstr ""

#: app/templates/admin/quote_pdf_layout.html:1491
msgid "Click \"Save Design\" to persist. If the table disappears after save, try Reset to restore defaults, then re-add the Items Table."
msgstr ""

#: app/templates/admin/quote_pdf_layout.html:1492
msgid "Use \"Generate Preview\" to see how the PDF will look with real quote data."
msgstr ""

#: app/templates/admin/quote_pdf_layout.html:1623
msgid "Quote Data"
msgstr "Datos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1626
#: app/templates/client_portal/quotes.html:25
#: app/templates/client_portal/quotes.html:37
#: app/templates/quotes/_quotes_list.html:33
#: app/templates/quotes/_quotes_list.html:50
msgid "Quote Number"
msgstr "Número de cotización"

#: app/templates/admin/quote_pdf_layout.html:1630
msgid "Quote Date"
msgstr "Fecha de cotización"

#: app/templates/admin/quote_pdf_layout.html:1654
msgid "Quote Items Table"
msgstr "Tabla de artículos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1754
msgid "Quote Fields"
msgstr "Campos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1757
msgid "Quote number"
msgstr "Número de cotización"

#: app/templates/admin/quote_pdf_layout.html:1761
msgid "Quote status (draft/sent/paid/overdue)"
msgstr "Estado de la cotización (borrador/enviada/pagada/vencida)"

#: app/templates/admin/quote_pdf_layout.html:1793
msgid "Quote notes"
msgstr "Notas de cotización"

#: app/templates/admin/quote_pdf_layout.html:1829
msgid "Quote status"
msgstr "Estado de la cotización"

#: app/templates/admin/quote_pdf_layout.html:1833
msgid "Quote accepted date"
msgstr "Fecha de aceptación de cotización"

#: app/templates/admin/quote_pdf_layout.html:1925
msgid "Quote creation date"
msgstr "Fecha de creación de la cotización"

#: app/templates/admin/quote_pdf_layout.html:1929
msgid "Quote last update date"
msgstr "Cita última fecha de actualización"

#: app/templates/admin/quote_pdf_layout.html:1934
msgid "Quote Items Loop"
msgstr "Bucle de elementos de cotización"

#: app/templates/admin/quote_pdf_layout.html:1937
msgid "Loop through invoice items"
msgstr "Recorrer los elementos de la factura"

#: app/templates/admin/quote_pdf_layout.html:5971
msgid "Align Left"
msgstr "Alinear a la izquierda"

#: app/templates/admin/quote_pdf_layout.html:5974
msgid "Center Horizontally"
msgstr "Centrar horizontalmente"

#: app/templates/admin/quote_pdf_layout.html:5977
msgid "Align Right"
msgstr "Alinear a la derecha"

#: app/templates/admin/quote_pdf_layout.html:5980
msgid "Align Top"
msgstr "Alinear arriba"

#: app/templates/admin/quote_pdf_layout.html:5983
msgid "Center Vertically"
msgstr "Centrar verticalmente"

#: app/templates/admin/quote_pdf_layout.html:5986
msgid "Align Bottom"
msgstr "Alinear abajo"

#: app/templates/admin/salesman_email_mappings.html:4
msgid "Salesman Email Mappings"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:21
msgid "Email Mappings"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:23
msgid "Add Mapping"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:32
#: app/templates/admin/salesman_email_mappings.html:74
#: app/templates/admin/salesman_email_mappings.html:201
msgid "Salesman Initial"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:35
#: app/templates/admin/salesman_email_mappings.html:206
#: app/templates/user/settings.html:66
msgid "Email Address"
msgstr "Dirección de correo electrónico"

#: app/templates/admin/salesman_email_mappings.html:38
#: app/templates/admin/salesman_email_mappings.html:209
msgid "Pattern/Domain"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:63
#: app/templates/admin/salesman_email_mappings.html:230
msgid "Add Email Mapping"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:78
msgid "1-20 letters only"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:80
msgid "The salesman initial from client custom fields (e.g., MM for Max Mustermann)"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:92
msgid "Direct Email Address"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:101
#, python-brace-format
msgid "Pattern (e.g., {value}@test.de)"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:110
msgid "Domain (e.g., test.de)"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:116
#, python-brace-format
msgid "Will generate: {initial}@domain"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:127
msgid "Additional notes about this mapping"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:192
msgid "No mappings configured. Click \"Add Mapping\" to create one."
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:242
msgid "Edit Email Mapping"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:366
#: app/templates/admin/salesman_email_mappings.html:370
msgid "Error saving mapping"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:375
msgid "Are you sure you want to delete this mapping?"
msgstr ""

#: app/templates/admin/salesman_email_mappings.html:394
#: app/templates/admin/salesman_email_mappings.html:398
msgid "Error deleting mapping"
msgstr ""

#: app/templates/admin/settings.html:117
#, fuzzy
msgid "Time Entry Requirements"
msgstr "Plantillas de entrada de tiempo"

#: app/templates/admin/settings.html:119
msgid "Optionally require users to provide task and description when logging worked time. Enforced across web, mobile, and desktop."
msgstr ""

#: app/templates/admin/settings.html:124
msgid "Require task selection when logging time (project-based entries only)"
msgstr ""

#: app/templates/admin/settings.html:128
msgid "Require description when logging time"
msgstr ""

#: app/templates/admin/settings.html:131
msgid "Minimum description length (characters)"
msgstr ""

#: app/templates/admin/settings.html:133
msgid "Minimum number of characters required in the description field."
msgstr ""

#: app/templates/admin/settings.html:136
msgid "Default daily working hours (for new users)"
msgstr ""

#: app/templates/admin/settings.html:138
msgid "Used as the standard hours per day for overtime calculation when new users are created. Existing users keep their own setting."
msgstr ""

#: app/templates/admin/settings.html:159
msgid "Support visibility"
msgstr ""

#: app/templates/admin/settings.html:161
msgid "Remove donate and support prompts for all users with a one-time key (€25, one key per instance)."
msgstr ""

#: app/templates/admin/settings.html:164
msgid "Copy your System ID below and use it when buying the key."
msgstr ""

#: app/templates/admin/settings.html:165
#, fuzzy
msgid "Buy key"
msgstr "Llave"

#: app/templates/admin/settings.html:165
#, fuzzy
msgid "— key sent by email."
msgstr "Enviar correo electrónico"

#: app/templates/admin/settings.html:166
msgid "Paste the code below and click Verify."
msgstr ""

#: app/templates/admin/settings.html:170 app/templates/main/about.html:220
#: app/templates/main/donate.html:50 app/templates/main/donate.html:138
#, fuzzy
msgid "Get key"
msgstr "Llave"

#: app/templates/admin/settings.html:176
msgid "Step 1: System ID"
msgstr ""

#: app/templates/admin/settings.html:183
msgid "Use this ID when purchasing your key."
msgstr ""

#: app/templates/admin/settings.html:189
msgid "Supporter instance: prompts are minimized; support entry points remain available."
msgstr ""

#: app/templates/admin/settings.html:195
msgid "Step 3: Paste code"
msgstr ""

#: app/templates/admin/settings.html:196
#, fuzzy
msgid "Enter code from email"
msgstr "Código, nombre, correo electrónico"

#: app/templates/admin/settings.html:199
msgid "Verify and hide for everyone"
msgstr ""

#: app/templates/admin/settings.html:208
msgid "Company Branding"
msgstr "Marca de la empresa"

#: app/templates/admin/settings.html:243
msgid "Invoice Defaults"
msgstr "Valores predeterminados de factura"

#: app/templates/admin/settings.html:391
msgid "Backup Settings"
msgstr "Configuración de copia de seguridad"

#: app/templates/admin/settings.html:406
#: app/templates/integrations/list.html:74
msgid "LDAP"
msgstr ""

#: app/templates/admin/settings.html:408
msgid "LDAP authentication is configured with environment variables. Values below are read-only."
msgstr ""

#: app/templates/admin/settings.html:412
#, fuzzy
msgid "Enabled for auth"
msgstr "Activado"

#: app/templates/admin/settings.html:416
#, fuzzy
msgid "Host"
msgstr "Perdido"

#: app/templates/admin/settings.html:420 app/templates/admin/settings.html:421
#, fuzzy
msgid "SSL"
msgstr "Usar SSL"

#: app/templates/admin/settings.html:420 app/templates/admin/settings.html:422
#, fuzzy
msgid "TLS"
msgstr "Usar TLS"

#: app/templates/admin/settings.html:421 app/templates/admin/settings.html:422
#: app/templates/quotes/view.html:217 app/templates/quotes/view.html:224
msgid "on"
msgstr "en"

#: app/templates/admin/settings.html:421 app/templates/admin/settings.html:422
#, fuzzy
msgid "off"
msgstr "de"

#: app/templates/admin/settings.html:429
#, fuzzy
msgid "User DN"
msgstr "Menú de usuario"

#: app/templates/admin/settings.html:433
#, fuzzy
msgid "User login attribute"
msgstr "Tiempos de carga más rápidos"

#: app/templates/admin/settings.html:447
#, fuzzy
msgid "Test LDAP Connection"
msgstr "Términos y condiciones"

#: app/templates/admin/settings.html:455
msgid "Export Settings"
msgstr "Configuración de exportación"

#: app/templates/admin/settings.html:470 app/templates/kiosk/base.html:6
msgid "Kiosk Mode"
msgstr ""

#: app/templates/admin/settings.html:475
msgid "Enable Kiosk Mode"
msgstr ""

#: app/templates/admin/settings.html:479
msgid "Kiosk mode provides a simplified interface for warehouse operations with barcode scanning and time tracking. Access at"
msgstr ""

#: app/templates/admin/settings.html:484
msgid "Auto-Logout Timeout (Minutes)"
msgstr ""

#: app/templates/admin/settings.html:488
msgid "Default Movement Type"
msgstr ""

#: app/templates/admin/settings.html:490
#: app/templates/inventory/movements/form.html:32
#: app/templates/inventory/movements/list.html:24
#: app/templates/inventory/reports/movement_history.html:42
#: app/templates/inventory/stock_items/history.html:34
msgid "Adjustment"
msgstr "Ajuste"

#: app/templates/admin/settings.html:491
#: app/templates/inventory/movements/form.html:33
#: app/templates/inventory/movements/list.html:25
#: app/templates/inventory/reports/movement_history.html:43
#: app/templates/inventory/stock_items/history.html:35
#: app/templates/kiosk/base.html:151
msgid "Transfer"
msgstr "Transferir"

#: app/templates/admin/settings.html:492
#: app/templates/inventory/movements/form.html:34
#: app/templates/inventory/movements/list.html:26
#: app/templates/inventory/reports/movement_history.html:44
#: app/templates/inventory/stock_items/history.html:36
msgid "Sale"
msgstr "Venta"

#: app/templates/admin/settings.html:493
#: app/templates/inventory/movements/form.html:35
#: app/templates/inventory/movements/list.html:27
#: app/templates/inventory/reports/movement_history.html:45
#: app/templates/inventory/stock_items/history.html:37
msgid "Rent"
msgstr "Alquiler"

#: app/templates/admin/settings.html:494
#: app/templates/inventory/movements/form.html:36
#: app/templates/inventory/movements/list.html:28
#: app/templates/inventory/reports/movement_history.html:46
#: app/templates/inventory/stock_items/history.html:38
msgid "Purchase"
msgstr "Compra"

#: app/templates/admin/settings.html:500
msgid "Allow Camera-Based Barcode Scanning"
msgstr ""

#: app/templates/admin/settings.html:506
msgid "Require Reason for Stock Adjustments"
msgstr ""

#: app/templates/admin/settings.html:518
msgid "Configure the shared server-side AI helper for the web app, desktop app, and API clients. Hosted provider keys stay on the server."
msgstr ""

#: app/templates/admin/settings.html:522
#, fuzzy
msgid "Availability"
msgstr "Disponible"

#: app/templates/admin/settings.html:524
#, fuzzy
msgid "Use environment default"
msgstr "Valores predeterminados de factura"

#: app/templates/admin/settings.html:524
#, fuzzy
msgid "currently"
msgstr "Divisa"

#: app/templates/admin/settings.html:530
#: app/templates/integrations/health.html:22
#: app/templates/payment_gateways/create.html:26
#: app/templates/payment_gateways/list.html:26
#: app/templates/payment_gateways/list.html:38
msgid "Provider"
msgstr ""

#: app/templates/admin/settings.html:537
#, fuzzy
msgid "Base URL"
msgstr "URL de la imagen"

#: app/templates/admin/settings.html:539
msgid "For Ollama, this is the URL from the Flask server to Ollama."
msgstr ""

#: app/templates/admin/settings.html:542
#, fuzzy
msgid "Model"
msgstr "Código"

#: app/templates/admin/settings.html:546
#, fuzzy
msgid "Hosted API key"
msgstr "Crear token API"

#: app/templates/admin/settings.html:547
#, fuzzy
msgid "Stored; leave blank to keep"
msgstr "Déjelo en blanco para mantener la contraseña actual"

#: app/templates/admin/settings.html:547
msgid "Only required for hosted providers"
msgstr ""

#: app/templates/admin/settings.html:551
msgid "Clear stored API key"
msgstr ""

#: app/templates/admin/settings.html:557
#, fuzzy
msgid "Timeout seconds"
msgstr "Tiempo de espera (segundos)"

#: app/templates/admin/settings.html:561
#, fuzzy
msgid "Context limit"
msgstr "Tipo de contenido"

#: app/templates/admin/settings.html:566
#, fuzzy
msgid "System prompt"
msgstr "Rol del sistema"

#: app/templates/admin/settings.html:571
#, fuzzy
msgid "Test AI connection"
msgstr "Términos y condiciones"

#: app/templates/admin/settings.html:580
msgid "Privacy & Analytics"
msgstr "Privacidad y análisis"

#: app/templates/admin/settings.html:604 app/templates/user/settings.html:497
msgid "Save Settings"
msgstr "Guardar configuración"

#: app/templates/admin/settings.html:649
msgid "Upload New Logo"
msgstr "Subir nuevo logotipo"

#: app/templates/admin/settings.html:663
msgid "Logo Preview"
msgstr "Vista previa del logotipo"

#: app/templates/admin/settings.html:712
msgid "Are you sure you want to remove the company logo?"
msgstr "¿Está seguro de que desea eliminar el logotipo de la empresa?"

#: app/templates/admin/settings.html:714
msgid "Remove Logo"
msgstr "Quitar logotipo"

#: app/templates/admin/settings.html:731
msgid "Copied"
msgstr ""

#: app/templates/admin/settings.html:745
msgid "Please enter a code."
msgstr ""

#: app/templates/admin/settings.html:760
msgid "Success. Donate UI is now hidden for everyone. Reload the page to see the change."
msgstr ""

#: app/templates/admin/settings.html:772 app/templates/admin/settings.html:835
#, fuzzy
msgid "Request failed."
msgstr "Solicitar aprobación"

#: app/templates/admin/settings.html:815 app/templates/admin/settings.html:848
#, fuzzy
msgid "Testing connection..."
msgstr "Configuración de prueba"

#: app/templates/admin/settings.html:831
#, fuzzy
msgid "Connection failed."
msgstr "Operación fallida"

#: app/templates/admin/settings.html:859
msgid "AI connection succeeded."
msgstr ""

#: app/templates/admin/settings.html:862 app/templates/admin/settings.html:866
#, fuzzy
msgid "AI connection failed."
msgstr "Operación fallida"

#: app/templates/admin/telemetry.html:8
msgid "Telemetry & Analytics Dashboard"
msgstr "Panel de telemetría y análisis"

#: app/templates/admin/telemetry.html:50
#: app/templates/setup/initial_setup.html:268
msgid "Admin → Settings"
msgstr "Administrador → Configuración"

#: app/templates/admin/user_form.html:60
msgid "Password Reset"
msgstr ""

#: app/templates/admin/user_form.html:67
#: app/templates/auth/edit_profile.html:69
msgid "Leave blank to keep current password"
msgstr "Déjelo en blanco para mantener la contraseña actual"

#: app/templates/admin/user_form.html:84 app/templates/clients/edit.html:102
#: app/templates/email/client_portal_password_setup.html:72
msgid "Client Portal Access"
msgstr "Acceso al portal del cliente"

#: app/templates/admin/user_form.html:107
msgid "Assigned Clients (Subcontractor)"
msgstr ""

#: app/templates/admin/user_form.html:112
#, fuzzy
msgid "Assigned clients"
msgstr "Asignado a"

#: app/templates/admin/user_form.html:118
msgid "Hold Ctrl/Cmd to select multiple clients."
msgstr ""

#: app/templates/admin/users.html:34
msgid "Admin Access"
msgstr "Acceso de administrador"

#: app/templates/admin/users.html:56
msgid "Migrate to new role system"
msgstr "Migrar al nuevo sistema de roles"

#: app/templates/admin/users.html:57
msgid "Migrate"
msgstr "Emigrar"

#: app/templates/admin/users.html:80
msgid "Roles"
msgstr "Roles"

#: app/templates/admin/users.html:93
msgid "No users found."
msgstr "No se encontraron usuarios."

#: app/templates/admin/users.html:104
#, python-brace-format
msgid "Cannot delete user \"{name}\" because they have {count} time entries. Users with existing time entries cannot be deleted."
msgstr "No se puede eliminar el usuario \"{name}\" porque tiene {count} entradas de tiempo. Los usuarios con entradas de tiempo existentes no se pueden eliminar."

#: app/templates/admin/users.html:107
msgid "Cannot Delete User"
msgstr "No se puede eliminar usuario"

#: app/templates/admin/users.html:119
#, python-brace-format
msgid "Are you sure you want to delete user \"{name}\"? This action cannot be undone."
msgstr "¿Está seguro de que desea eliminar el usuario \"{nombre}\"? Esta acción no se puede deshacer."

#: app/templates/admin/users.html:122
msgid "Delete User"
msgstr "Eliminar usuario"

#: app/templates/admin/custom_field_definitions/form.html:7
#: app/templates/admin/custom_field_definitions/list.html:7
#: app/templates/admin/custom_field_definitions/list.html:12
msgid "Custom Field Definitions"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:8
#: app/templates/admin/custom_field_definitions/form.html:67
#: app/templates/admin/link_templates/form.html:8
#: app/templates/admin/link_templates/form.html:73
#: app/templates/chat/index.html:124 app/templates/main/dashboard.html:791
#: app/templates/timer/calendar.html:206
msgid "Create"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:13
msgid "Edit Custom Field Definition"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:13
msgid "Create Custom Field Definition"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:14
msgid "Define a global custom field that can be used across all clients"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:24
#: app/templates/admin/custom_field_definitions/list.html:24
#: app/templates/admin/custom_field_definitions/list.html:35
#: app/templates/admin/link_templates/form.html:42
#: app/templates/admin/link_templates/list.html:26
#: app/templates/admin/link_templates/list.html:45
msgid "Field Key"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:25
#: app/templates/admin/link_templates/form.html:43
msgid "e.g., debtor_number"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:26
msgid "Unique identifier for this field (letters, numbers, and underscores only). Cannot be changed after creation."
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:30
#: app/templates/admin/custom_field_definitions/list.html:25
#: app/templates/admin/custom_field_definitions/list.html:38
#: app/templates/kanban/columns.html:49
msgid "Label"
msgstr "Etiqueta"

#: app/templates/admin/custom_field_definitions/form.html:31
msgid "e.g., Debtor Number"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:32
msgid "Display name shown in client forms"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:37
msgid "Optional help text for this field"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:42
#: app/templates/admin/link_templates/form.html:56
msgid "Display Order"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:44
#: app/templates/admin/link_templates/form.html:58
msgid "Lower numbers appear first"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:50
#: app/templates/admin/custom_field_definitions/list.html:26
#: app/templates/admin/custom_field_definitions/list.html:44
msgid "Mandatory"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:52
msgid "Required field - clients must fill this in"
msgstr ""

#: app/templates/admin/custom_field_definitions/form.html:61
msgid "Only active fields are shown in client forms"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:13
msgid "Manage global custom field definitions for clients"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:15
#: app/templates/admin/custom_field_definitions/list.html:82
msgid "Create Custom Field"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:27
#: app/templates/admin/custom_field_definitions/list.html:51
#: app/templates/admin/link_templates/list.html:28
#: app/templates/admin/link_templates/list.html:55
#: app/templates/quotes/create.html:61 app/templates/quotes/create.html:93
#: app/templates/quotes/create.html:124 app/templates/quotes/edit.html:66
#: app/templates/quotes/edit.html:141 app/templates/quotes/edit.html:198
msgid "Order"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:46
msgid "Required"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:48
#: app/templates/invoices/edit.html:748 app/templates/invoices/list.html:135
#: app/templates/invoices/view.html:514 app/templates/kiosk/dashboard.html:331
#: app/templates/kiosk/dashboard.html:347
#: app/templates/projects/archive.html:41
#: app/templates/timer/time_entries_overview.html:202
#: app/templates/timer/timer_page.html:160
#: app/templates/timer/timer_page.html:169
msgid "Optional"
msgstr "Opcional"

#: app/templates/admin/custom_field_definitions/list.html:80
msgid "No custom field definitions found."
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:89
msgid "How Custom Field Definitions Work"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:91
msgid "Custom field definitions allow you to create global fields that can be used across all clients. This eliminates the need to recreate the same custom fields for each client."
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:92
msgid "Features:"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:94
msgid "Define custom fields once and use them for all clients"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:95
msgid "Mark fields as mandatory to ensure they are always filled"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:96
msgid "Control field order and visibility"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:97
msgid "Link templates can be assigned to make field values clickable"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:99
#: app/templates/admin/link_templates/list.html:96
msgid "Example:"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:101
msgid "Create a field definition with key \"debtor_number\" and label \"Debtor Number\""
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:102
msgid "Mark it as mandatory if required"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:103
msgid "When creating or editing a client, this field will automatically appear"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:104
msgid "Create a link template to make the value clickable (e.g., https://erp.example.com/customer/%value%)"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:119
#, python-format
msgid "Warning: %(count)d client(s) have a value for this custom field. Deleting this field definition will remove the field value from all %(count)d client(s). Are you sure you want to delete the custom field definition \"%(label)s\"?"
msgstr ""

#: app/templates/admin/custom_field_definitions/list.html:123
msgid "Are you sure you want to delete this custom field definition?"
msgstr ""

#: app/templates/admin/email_templates/create.html:38
#: app/templates/admin/email_templates/edit.html:55
msgid "Set as default template"
msgstr "Establecer como plantilla predeterminada"

#: app/templates/admin/email_templates/create.html:46
#: app/templates/admin/email_templates/edit.html:63
#: app/templates/admin/email_templates/view.html:75
msgid "HTML Template"
msgstr "Plantilla HTML"

#: app/templates/admin/email_templates/create.html:55
#: app/templates/admin/email_templates/edit.html:72
#: app/templates/invoices/edit.html:748 app/templates/invoices/view.html:514
msgid "Custom Message"
msgstr "Mensaje personalizado"

#: app/templates/admin/email_templates/create.html:58
#: app/templates/admin/email_templates/edit.html:75
msgid "More Variables"
msgstr "Más variables"

#: app/templates/admin/email_templates/create.html:121
#: app/templates/project_templates/create.html:107
#: app/templates/project_templates/list.html:118
msgid "Create Template"
msgstr "Crear plantilla"

#: app/templates/admin/email_templates/create.html:130
#: app/templates/admin/email_templates/edit.html:147
msgid "Available Variables"
msgstr "Variables disponibles"

#: app/templates/admin/email_templates/create.html:137
#: app/templates/admin/email_templates/edit.html:154
msgid "Invoice Variables"
msgstr "Variables de factura"

#: app/templates/admin/email_templates/create.html:160
#: app/templates/admin/email_templates/edit.html:177
msgid "Other Variables"
msgstr "Otras variables"

#: app/templates/admin/email_templates/edit.html:19
#: app/templates/admin/email_templates/edit.html:31
#: app/templates/admin/email_templates/view.html:21
#: app/templates/admin/email_templates/view.html:33
#, fuzzy
msgid "Send test email"
msgstr "Enviar correo electrónico de prueba"

#: app/templates/admin/email_templates/edit.html:20
msgid "Sends the saved template (save changes first). Uses the same rendering as a real invoice email. Default recipient can be set under Admin → Email Configuration."
msgstr ""

#: app/templates/admin/email_templates/edit.html:23
#: app/templates/admin/email_templates/view.html:25
#, fuzzy
msgid "Recipient"
msgstr "Correo electrónico del destinatario"

#: app/templates/admin/email_templates/edit.html:27
#: app/templates/admin/email_templates/view.html:29
#, fuzzy
msgid "Invoice ID"
msgstr "Facturado"

#: app/templates/admin/email_templates/edit.html:138
#: app/templates/project_templates/edit.html:137
msgid "Update Template"
msgstr "Plantilla de actualización"

#: app/templates/admin/email_templates/edit.html:622
#: app/templates/admin/email_templates/view.html:130
#, fuzzy
msgid "Failed to send test email."
msgstr "Enviar correo electrónico de prueba"

#: app/templates/admin/email_templates/list.html:63
msgid "No email templates found."
msgstr "No se encontraron plantillas de correo electrónico."

#: app/templates/admin/email_templates/list.html:64
msgid "Create your first email template to customize invoice emails."
msgstr "Cree su primera plantilla de correo electrónico para personalizar los correos electrónicos de facturas."

#: app/templates/admin/email_templates/list.html:66
msgid "Create Email Template"
msgstr "Crear plantilla de correo electrónico"

#: app/templates/admin/email_templates/list.html:75
msgid "Delete Email Template"
msgstr "Eliminar plantilla de correo electrónico"

#: app/templates/admin/email_templates/list.html:77
#: app/templates/quotes/list.html:368
#: app/templates/timer/time_entries_overview.html:388
msgid "Are you sure you want to delete"
msgstr "¿Estás seguro de que quieres eliminar?"

#: app/templates/admin/email_templates/list.html:77
#: app/templates/invoices/list.html:161 app/templates/invoices/view.html:373
#: app/templates/kanban/columns.html:149
#: app/templates/timer/time_entries_overview.html:388
msgid "This action cannot be undone."
msgstr "Esta acción no se puede deshacer."

#: app/templates/admin/email_templates/view.html:22
msgid "Uses the same rendering as a real invoice email. Set a default address under Admin → Email Configuration (Test recipient email)."
msgstr ""

#: app/templates/admin/email_templates/view.html:40
msgid "Template Information"
msgstr "Información de la plantilla"

#: app/templates/admin/integrations/list.html:4
msgid "Integration Setup"
msgstr ""

#: app/templates/admin/integrations/list.html:21
msgid "Configure OAuth credentials for each integration. Global integrations are shared across all users."
msgstr ""

#: app/templates/admin/integrations/list.html:34
#: app/templates/integrations/health.html:39
#: app/templates/integrations/list.html:136
#: app/templates/integrations/manage.html:561
msgid "Global"
msgstr ""

#: app/templates/admin/integrations/list.html:38
msgid "Per User"
msgstr ""

#: app/templates/admin/integrations/setup.html:4
#: app/templates/admin/integrations/setup.html:15
#: app/templates/integrations/list.html:167
msgid "Setup"
msgstr ""

#: app/templates/admin/integrations/setup.html:29
#: app/templates/integrations/manage.html:79
#: app/templates/integrations/wizard_trello.html:18
msgid "Trello API Key"
msgstr ""

#: app/templates/admin/integrations/setup.html:36
#: app/templates/integrations/manage.html:86
msgid "Get from https://trello.com/app-key"
msgstr ""

#: app/templates/admin/integrations/setup.html:39
#: app/templates/integrations/manage.html:89
msgid "Get your API key from"
msgstr ""

#: app/templates/admin/integrations/setup.html:45
#: app/templates/integrations/manage.html:95
#: app/templates/integrations/wizard_trello.html:28
msgid "Trello API Secret"
msgstr ""

#: app/templates/admin/integrations/setup.html:52
#: app/templates/admin/integrations/setup.html:91
msgid "Leave empty to keep current value"
msgstr ""

#: app/templates/admin/integrations/setup.html:54
#: app/templates/integrations/manage.html:104
msgid "Get your API secret from"
msgstr ""

#: app/templates/admin/integrations/setup.html:55
#: app/templates/integrations/manage.html:105
msgid "(shown after generating API key)"
msgstr ""

#: app/templates/admin/integrations/setup.html:62
msgid "After saving API Key and Secret, you can connect Trello using OAuth flow. The token will be generated automatically during connection."
msgstr ""

#: app/templates/admin/integrations/setup.html:72
#: app/templates/admin/integrations/setup.html:79
#: app/templates/integrations/manage.html:122
#: app/templates/integrations/manage.html:129
msgid "OAuth Client ID"
msgstr ""

#: app/templates/admin/integrations/setup.html:85
#: app/templates/integrations/manage.html:135
#: app/templates/integrations/manage.html:141
msgid "OAuth Client Secret"
msgstr ""

#: app/templates/admin/integrations/setup.html:93
#: app/templates/integrations/manage.html:144
msgid "Required for new setup. Leave empty to keep existing secret."
msgstr ""

#: app/templates/admin/integrations/setup.html:107
msgid "Leave empty for \"common\" (multi-tenant)"
msgstr ""

#: app/templates/admin/integrations/setup.html:109
#: app/templates/integrations/manage.html:160
#: app/templates/integrations/wizard_microsoft_teams.html:25
#: app/templates/integrations/wizard_outlook_calendar.html:25
msgid "Leave empty to use \"common\" (multi-tenant). Enter your Azure AD tenant ID for single-tenant apps."
msgstr ""

#: app/templates/admin/integrations/setup.html:117
#: app/templates/integrations/manage.html:168
#: app/templates/integrations/wizard_gitlab.html:11
msgid "GitLab Instance URL"
msgstr ""

#: app/templates/admin/integrations/setup.html:127
#: app/templates/integrations/manage.html:178
#: app/templates/integrations/wizard_gitlab.html:18
msgid "URL of your GitLab instance. Use \"https://gitlab.com\" for GitLab.com or your self-hosted GitLab URL."
msgstr ""

#: app/templates/admin/integrations/setup.html:134
#: app/templates/integrations/manage.html:186
#: app/templates/integrations/wizard_asana.html:36
#: app/templates/integrations/wizard_github.html:36
#: app/templates/integrations/wizard_gitlab.html:64
#: app/templates/integrations/wizard_jira.html:53
#: app/templates/integrations/wizard_microsoft_teams.html:64
#: app/templates/integrations/wizard_outlook_calendar.html:64
msgid "OAuth Redirect URI"
msgstr ""

#: app/templates/admin/integrations/setup.html:136
#: app/templates/integrations/manage.html:188
msgid "Add this URL as an authorized redirect URI in your OAuth app settings:"
msgstr ""

#: app/templates/admin/integrations/setup.html:144
#: app/templates/integrations/manage.html:196
msgid "Automatic Connection Flow"
msgstr ""

#: app/templates/admin/integrations/setup.html:147
#: app/templates/integrations/manage.html:199
msgid "After you save these credentials, users can click \"Connect Google Calendar\""
msgstr ""

#: app/templates/admin/integrations/setup.html:148
#: app/templates/integrations/manage.html:200
msgid "They will be automatically redirected to Google OAuth"
msgstr ""

#: app/templates/admin/integrations/setup.html:149
#: app/templates/integrations/manage.html:201
msgid "No manual credential entry needed - fully automatic!"
msgstr ""

#: app/templates/admin/integrations/setup.html:150
#: app/templates/integrations/manage.html:202
msgid "Each user connects their own Google Calendar account"
msgstr ""

#: app/templates/admin/integrations/setup.html:159
#: app/templates/integrations/manage.html:212
#: app/templates/integrations/manage.html:270
msgid "Save Credentials"
msgstr ""

#: app/templates/admin/integrations/setup.html:170
msgid "How Google Calendar Works"
msgstr ""

#: app/templates/admin/integrations/setup.html:174
msgid "After you save the OAuth credentials above, users can connect their Google Calendar by clicking \"Connect Google Calendar\" on the Integrations page."
msgstr ""

#: app/templates/admin/integrations/setup.html:178
msgid "They will be automatically redirected to Google to authorize access - no manual credential entry needed!"
msgstr ""

#: app/templates/admin/integrations/setup.html:182
msgid "Each user connects their own Google Calendar account (per-user integration)."
msgstr ""

#: app/templates/admin/integrations/setup.html:188
#: app/templates/integrations/manage.html:578
#: app/templates/integrations/manage.html:589
msgid "Connection Status"
msgstr ""

#: app/templates/admin/integrations/setup.html:194
msgid "View Integration"
msgstr ""

#: app/templates/admin/integrations/setup.html:200
msgid "Next Steps"
msgstr ""

#: app/templates/admin/integrations/setup.html:202
msgid "After saving credentials, connect the integration:"
msgstr ""

#: app/templates/admin/integrations/setup.html:205
msgid "Connect Integration"
msgstr ""

#: app/templates/admin/link_templates/form.html:13
msgid "Edit Link Template"
msgstr ""

#: app/templates/admin/link_templates/form.html:13
#: app/templates/admin/link_templates/list.html:15
#: app/templates/admin/link_templates/list.html:86
msgid "Create Link Template"
msgstr ""

#: app/templates/admin/link_templates/form.html:14
msgid "Configure URL template for client custom fields"
msgstr ""

#: app/templates/admin/link_templates/form.html:24
#: app/templates/project_templates/create.html:20
#: app/templates/project_templates/edit.html:20
msgid "Template Name"
msgstr ""

#: app/templates/admin/link_templates/form.html:25
msgid "e.g., ERP System Link"
msgstr ""

#: app/templates/admin/link_templates/form.html:26
msgid "A descriptive name for this link template"
msgstr ""

#: app/templates/admin/link_templates/form.html:31
msgid "Optional description"
msgstr ""

#: app/templates/admin/link_templates/form.html:35
#: app/templates/admin/link_templates/list.html:25
#: app/templates/admin/link_templates/list.html:42
msgid "URL Template"
msgstr ""

#: app/templates/admin/link_templates/form.html:36
msgid "https://example.com/customer/%value%"
msgstr ""

#: app/templates/admin/link_templates/form.html:37
#, python-brace-format
msgid "URL with {value} or %value% placeholder. Examples: https://erp.example.com/customer/{value} or https://erp.example.com/customer/%value%"
msgstr ""

#: app/templates/admin/link_templates/form.html:44
msgid "The key in the client custom_fields JSON to use"
msgstr ""

#: app/templates/admin/link_templates/form.html:48
#: app/templates/admin/link_templates/list.html:27
#: app/templates/admin/link_templates/list.html:48
#: app/templates/kanban/columns.html:50
msgid "Icon"
msgstr "Icono"

#: app/templates/admin/link_templates/form.html:49
msgid "fas fa-link"
msgstr ""

#: app/templates/admin/link_templates/form.html:50
msgid "Font Awesome icon class (e.g., fas fa-link)"
msgstr ""

#: app/templates/admin/link_templates/form.html:66
msgid "Only active templates are shown on client pages"
msgstr ""

#: app/templates/admin/link_templates/list.html:13
msgid "Manage URL templates for client custom fields"
msgstr ""

#: app/templates/admin/link_templates/list.html:24
#: app/templates/admin/link_templates/list.html:36
#: app/templates/admin/webhooks/form.html:23
#: app/templates/admin/webhooks/list.html:24
#: app/templates/admin/webhooks/list.html:35
#: app/templates/contacts/list.html:27 app/templates/contacts/list.html:38
#: app/templates/inventory/stock_items/form.html:27
#: app/templates/inventory/stock_items/list.html:50
#: app/templates/inventory/stock_items/list.html:63
#: app/templates/inventory/suppliers/form.html:28
#: app/templates/inventory/suppliers/list.html:42
#: app/templates/inventory/suppliers/list.html:54
#: app/templates/inventory/warehouses/form.html:28
#: app/templates/inventory/warehouses/list.html:23
#: app/templates/inventory/warehouses/list.html:34
#: app/templates/invoices/edit.html:232 app/templates/leads/list.html:50
#: app/templates/leads/list.html:62 app/templates/main/help.html:195
#: app/templates/payment_gateways/list.html:25
#: app/templates/payment_gateways/list.html:35
#: app/templates/projects/_projects_list.html:78
#: app/templates/projects/add_good.html:19
#: app/templates/projects/edit_good.html:19
#: app/templates/projects/goods.html:39 app/templates/projects/goods.html:51
#: app/templates/projects/list.html:159 app/templates/projects/view.html:428
#: app/templates/projects/view.html:440
#: app/templates/quotes/_edit_quote_form_scripts.html:232
#: app/templates/quotes/create.html:125 app/templates/quotes/edit.html:199
#: app/templates/quotes/edit.html:215
#: app/templates/recurring_invoices/list.html:23
#: app/templates/recurring_invoices/list.html:35
#: app/templates/recurring_tasks/list.html:30
#: app/templates/recurring_tasks/list.html:41
#: app/templates/reports/saved_views_list.html:27
#: app/templates/reports/saved_views_list.html:38
#: app/templates/tasks/_tasks_list.html:47
#: app/templates/workforce/dashboard.html:254
msgid "Name"
msgstr "Nombre"

#: app/templates/admin/link_templates/list.html:68
msgid "Are you sure you want to delete this link template?"
msgstr ""

#: app/templates/admin/link_templates/list.html:84
msgid "No link templates found."
msgstr ""

#: app/templates/admin/link_templates/list.html:93
msgid "How Link Templates Work"
msgstr ""

#: app/templates/admin/link_templates/list.html:95
msgid "Link templates allow you to create quick links to external systems (like ERP systems) using values from client custom fields."
msgstr ""

#: app/templates/admin/link_templates/list.html:98
msgid "Create a custom field called \"debtor_number\" on a client"
msgstr ""

#: app/templates/admin/link_templates/list.html:99
msgid "Create a link template with URL:"
msgstr ""

#: app/templates/admin/link_templates/list.html:100
msgid "Set the field key to \"debtor_number\""
msgstr ""

#: app/templates/admin/link_templates/list.html:101
msgid "When viewing the client, a link will appear that opens the ERP system with the correct customer ID"
msgstr ""

#: app/templates/admin/link_templates/list.html:103
msgid "URL Template Format:"
msgstr ""

#: app/templates/admin/link_templates/list.html:103
#, python-brace-format
msgid "Use {value} as a placeholder for the custom field value."
msgstr ""

#: app/templates/admin/permissions/list.html:8
#: app/templates/admin/permissions/list.html:13
msgid "System Permissions"
msgstr "Permisos del sistema"

#: app/templates/admin/permissions/list.html:14
msgid "All available permissions in the system"
msgstr "Todos los permisos disponibles en el sistema."

#: app/templates/admin/permissions/list.html:16
#: app/templates/admin/roles/form.html:10 app/templates/admin/roles/view.html:9
msgid "Back to Roles"
msgstr "Volver a roles"

#: app/templates/admin/permissions/list.html:24
#: app/templates/admin/roles/list.html:113
#: app/templates/admin/users/roles.html:44
msgid "permissions"
msgstr "permisos"

#: app/templates/admin/permissions/list.html:38
msgid "No description available"
msgstr "No hay descripción disponible"

#: app/templates/admin/permissions/list.html:53
msgid "About Permissions"
msgstr "Acerca de los permisos"

#: app/templates/admin/permissions/list.html:55
msgid "Permissions define what actions users can perform in the system. These permissions are assigned to roles, and roles are assigned to users. This provides a flexible and granular access control system."
msgstr "Los permisos definen qué acciones pueden realizar los usuarios en el sistema. Estos permisos se asignan a roles y los roles se asignan a usuarios. Esto proporciona un sistema de control de acceso flexible y granular."

#: app/templates/admin/roles/form.html:17
#: app/templates/admin/roles/view.html:20
msgid "Edit Role"
msgstr "Editar rol"

#: app/templates/admin/roles/form.html:19
msgid "Create New Role"
msgstr "Crear nuevo rol"

#: app/templates/admin/roles/form.html:26
#: app/templates/admin/roles/list.html:91
msgid "Role Name"
msgstr "Nombre del rol"

#: app/templates/admin/roles/form.html:41
msgid "A unique name for this role"
msgstr "Un nombre único para este rol."

#: app/templates/admin/roles/form.html:55
msgid "Optional description of this role"
msgstr "Descripción opcional de este rol."

#: app/templates/admin/roles/form.html:59
#: app/templates/admin/roles/list.html:93
#: app/templates/admin/roles/view.html:76
msgid "Permissions"
msgstr "Permisos"

#: app/templates/admin/roles/form.html:60
msgid "Select the permissions this role should have:"
msgstr "Seleccione los permisos que debe tener este rol:"

#: app/templates/admin/roles/form.html:75
#: app/templates/admin/roles/form.html:112
msgid "Toggle All"
msgstr "Alternar todo"

#: app/templates/admin/roles/form.html:99
msgid "Module visibility"
msgstr ""

#: app/templates/admin/roles/form.html:101
msgid "Select which modules should be hidden for this role. Hidden modules will not appear in the navigation and cannot be accessed directly."
msgstr ""

#: app/templates/admin/roles/form.html:124
msgid "Hide"
msgstr ""

#: app/templates/admin/roles/form.html:143
msgid "Update Role"
msgstr "Actualizar rol"

#: app/templates/admin/roles/form.html:145
#: app/templates/admin/roles/list.html:18
msgid "Create Role"
msgstr "Crear rol"

#: app/templates/admin/roles/list.html:13
msgid "Manage roles and their permissions"
msgstr "Administrar roles y sus permisos"

#: app/templates/admin/roles/list.html:17
msgid "View Permissions"
msgstr "Ver permisos"

#: app/templates/admin/roles/list.html:32
msgid "Total Roles"
msgstr "Roles totales"

#: app/templates/admin/roles/list.html:46
msgid "System Roles"
msgstr "Roles del sistema"

#: app/templates/admin/roles/list.html:60
msgid "Custom Roles"
msgstr "Roles personalizados"

#: app/templates/admin/roles/list.html:74
#: app/templates/admin/roles/view.html:48
msgid "Assigned Users"
msgstr "Usuarios asignados"

#: app/templates/admin/roles/list.html:95
#: app/templates/admin/roles/view.html:30
#: app/templates/contacts/communication_form.html:28
#: app/templates/deals/activity_form.html:25
#: app/templates/inventory/movements/list.html:57
#: app/templates/inventory/movements/list.html:79
#: app/templates/inventory/reports/movement_history.html:73
#: app/templates/inventory/reports/movement_history.html:95
#: app/templates/inventory/reservations/list.html:42
#: app/templates/inventory/reservations/list.html:64
#: app/templates/inventory/stock_items/history.html:64
#: app/templates/inventory/stock_items/history.html:81
#: app/templates/inventory/stock_items/view.html:240
#: app/templates/inventory/stock_items/view.html:250
#: app/templates/inventory/warehouses/view.html:131
#: app/templates/inventory/warehouses/view.html:145
#: app/templates/leads/activity_form.html:25
#: app/templates/workforce/dashboard.html:120
msgid "Type"
msgstr "Tipo"

#: app/templates/admin/roles/list.html:105
msgid "Default role"
msgstr "Rol predeterminado"

#: app/templates/admin/roles/list.html:123
msgid "user"
msgstr "usuario"

#: app/templates/admin/roles/list.html:126
msgid "No users"
msgstr "Sin usuarios"

#: app/templates/admin/roles/list.html:136 app/templates/kanban/columns.html:88
msgid "Custom"
msgstr "Costumbre"

#: app/templates/admin/roles/list.html:142
#: app/templates/admin/roles/view.html:65
#: app/templates/budget/dashboard.html:92
#: app/templates/client_portal/invoices.html:135
#: app/templates/client_portal/quotes.html:67
#: app/templates/contacts/list.html:58 app/templates/deals/list.html:81
#: app/templates/integrations/health.html:99 app/templates/issues/list.html:136
#: app/templates/leads/list.html:85
#: app/templates/projects/_kanban_tailwind.html:79
#: app/templates/projects/view.html:480
#: app/templates/quotes/_quotes_list.html:77
#: app/templates/reports/saved_views_list.html:61
#: app/templates/tasks/overdue.html:72
#: app/templates/timer/_time_entries_list.html:179
#: app/templates/weekly_goals/index.html:191
msgid "View"
msgstr "Vista"

#: app/templates/admin/roles/list.html:159
msgid "Permissions for"
msgstr "Permisos para"

#: app/templates/admin/roles/list.html:187
msgid "No permissions assigned."
msgstr "No hay permisos asignados."

#: app/templates/admin/roles/list.html:194
msgid "No roles found."
msgstr "No se encontraron roles."

#: app/templates/admin/roles/list.html:202
msgid "About Roles & Permissions"
msgstr "Acerca de las funciones y permisos"

#: app/templates/admin/roles/list.html:204
msgid "Roles are collections of permissions that can be assigned to users. System roles are predefined and cannot be deleted or renamed, but custom roles can be created for your specific needs."
msgstr "Los roles son conjuntos de permisos que se pueden asignar a los usuarios. Las funciones del sistema están predefinidas y no se pueden eliminar ni cambiar de nombre, pero se pueden crear funciones personalizadas para sus necesidades específicas."

#: app/templates/admin/roles/list.html:211
msgid "Are you sure you want to delete the role"
msgstr "¿Estás seguro de que deseas eliminar el rol?"

#: app/templates/admin/roles/list.html:213
msgid "Delete Role"
msgstr "Eliminar rol"

#: app/templates/admin/roles/view.html:16
#: app/templates/client_portal/widgets/projects.html:28
msgid "No description"
msgstr "Sin descripción"

#: app/templates/admin/roles/view.html:27
msgid "Role Information"
msgstr "Información de rol"

#: app/templates/admin/roles/view.html:34
msgid "System Role"
msgstr "Rol del sistema"

#: app/templates/admin/roles/view.html:38
msgid "Custom Role"
msgstr "Rol personalizado"

#: app/templates/admin/roles/view.html:44
msgid "Total Permissions"
msgstr "Permisos totales"

#: app/templates/admin/roles/view.html:52 app/templates/audit_logs/list.html:47
#: app/templates/audit_logs/list.html:117
#: app/templates/budget/dashboard.html:86
#: app/templates/budget/project_detail.html:279
#: app/templates/calendar/event_detail.html:172
#: app/templates/client_portal/issue_detail.html:83
#: app/templates/deals/view.html:93
#: app/templates/inventory/purchase_orders/view.html:195
#: app/templates/inventory/stock_items/view.html:182
#: app/templates/inventory/stock_items/view.html:213
#: app/templates/issues/list.html:99 app/templates/issues/list.html:133
#: app/templates/issues/view.html:165 app/templates/leads/view.html:107
#: app/templates/project_templates/view.html:94
#: app/templates/quotes/_quotes_list.html:38
#: app/templates/quotes/_quotes_list.html:73 app/templates/quotes/view.html:408
#: app/templates/reports/saved_views_list.html:30
#: app/templates/reports/saved_views_list.html:53
#: app/templates/tasks/_kanban.html:1335 app/templates/tasks/edit.html:263
#: app/templates/timer/edit_timer.html:528
msgid "Created"
msgstr "Creado"

#: app/templates/admin/roles/view.html:59
msgid "Users with this Role"
msgstr "Usuarios con este rol"

#: app/templates/admin/roles/view.html:70
msgid "No users assigned to this role yet."
msgstr "Aún no hay usuarios asignados a este rol."

#: app/templates/admin/roles/view.html:110
msgid "This role has no permissions assigned."
msgstr "Este rol no tiene permisos asignados."

#: app/templates/admin/users/roles.html:10
msgid "Back to User"
msgstr "Volver al usuario"

#: app/templates/admin/users/roles.html:15
msgid "Manage Roles for"
msgstr "Administrar roles para"

#: app/templates/admin/users/roles.html:20
msgid "Assign Roles"
msgstr "Asignar roles"

#: app/templates/admin/users/roles.html:22
msgid "Select the roles this user should have. Users inherit all permissions from their assigned roles."
msgstr "Seleccione los roles que este usuario debería tener. Los usuarios heredan todos los permisos de sus roles asignados."

#: app/templates/admin/users/roles.html:54
msgid "Update Roles"
msgstr "Actualizar roles"

#: app/templates/admin/users/roles.html:65
msgid "Current Effective Permissions"
msgstr "Permisos efectivos actuales"

#: app/templates/admin/users/roles.html:67
msgid "These are all the permissions the user currently has through their roles:"
msgstr "Estos son todos los permisos que tiene actualmente el usuario a través de sus roles:"

#: app/templates/admin/users/roles.html:80
msgid "No permissions (assign roles to grant permissions)"
msgstr "Sin permisos (asigne roles para otorgar permisos)"

#: app/templates/admin/webhooks/form.html:8
#: app/templates/admin/webhooks/form.html:13
#: app/templates/admin/webhooks/list.html:15
msgid "Create Webhook"
msgstr "Crear webhook"

#: app/templates/admin/webhooks/form.html:8
#: app/templates/admin/webhooks/form.html:13
msgid "Edit Webhook"
msgstr "Editar webhook"

#: app/templates/admin/webhooks/form.html:14
msgid "Configure webhook for integrations"
msgstr "Configurar webhook para integraciones"

#: app/templates/admin/webhooks/form.html:36
#: app/templates/integrations/wizard_github.html:176
msgid "Webhook URL"
msgstr "URL de webhook"

#: app/templates/admin/webhooks/form.html:40
msgid "The URL where webhook events will be sent"
msgstr "La URL donde se enviarán los eventos de webhook"

#: app/templates/admin/webhooks/form.html:45
#: app/templates/admin/webhooks/list.html:26
#: app/templates/admin/webhooks/list.html:44
#: app/templates/admin/webhooks/view.html:46
#: app/templates/calendar/view.html:76 app/templates/calendar/view.html:93
#: app/templates/calendar/view.html:94 app/templates/calendar/view.html:107
msgid "Events"
msgstr "Eventos"

#: app/templates/admin/webhooks/form.html:58
msgid "Select which events should trigger this webhook"
msgstr "Seleccione qué eventos deberían activar este webhook"

#: app/templates/admin/webhooks/form.html:64
#: app/templates/admin/webhooks/view.html:42
msgid "HTTP Method"
msgstr "Método HTTP"

#: app/templates/admin/webhooks/form.html:74
msgid "Content Type"
msgstr "Tipo de contenido"

#: app/templates/admin/webhooks/form.html:83
msgid "Max Retries"
msgstr "Reintentos máximos"

#: app/templates/admin/webhooks/form.html:89
msgid "Retry Delay (seconds)"
msgstr "Retardo de reintento (segundos)"

#: app/templates/admin/webhooks/form.html:95
msgid "Timeout (seconds)"
msgstr "Tiempo de espera (segundos)"

#: app/templates/admin/webhooks/form.html:116
msgid "Regenerate Secret"
msgstr "Secreto regenerado"

#: app/templates/admin/webhooks/form.html:118
msgid "Warning: Regenerating the secret will invalidate the current secret"
msgstr "Advertencia: regenerar el secreto invalidará el secreto actual"

#: app/templates/admin/webhooks/list.html:13
msgid "Manage webhook integrations"
msgstr "Administrar integraciones de webhooks"

#: app/templates/admin/webhooks/list.html:25
#: app/templates/admin/webhooks/list.html:41
#: app/templates/admin/webhooks/view.html:28
msgid "URL"
msgstr "URL"

#: app/templates/admin/webhooks/list.html:28
#: app/templates/admin/webhooks/list.html:65
#: app/templates/admin/webhooks/view.html:69
msgid "Statistics"
msgstr "Estadística"

#: app/templates/admin/webhooks/list.html:67
#: app/templates/client_portal/invoice_detail.html:60
#: app/templates/client_portal/invoice_detail.html:69
#: app/templates/client_portal/invoice_detail.html:92
#: app/templates/client_portal/quote_detail.html:72
#: app/templates/client_portal/quote_detail.html:90
#: app/templates/client_portal/quote_detail.html:113
#: app/templates/inventory/purchase_orders/form.html:81
#: app/templates/inventory/purchase_orders/view.html:138
#: app/templates/inventory/stock_items/view.html:223
#: app/templates/inventory/stock_levels/item.html:63
#: app/templates/invoices/edit.html:356
#: app/templates/invoices/generate_from_time.html:123
#: app/templates/projects/goods.html:43 app/templates/projects/goods.html:65
#: app/templates/quotes/create.html:68 app/templates/quotes/edit.html:73
#: app/templates/quotes/view.html:105 app/templates/quotes/view.html:160
#: app/templates/reports/iterative_view.html:64
#: app/utils/pdf_generator_fallback.py:575
msgid "Total"
msgstr "Total"

#: app/templates/admin/webhooks/list.html:90
msgid "No webhooks configured"
msgstr "No hay webhooks configurados"

#: app/templates/admin/webhooks/list.html:92
msgid "Create Your First Webhook"
msgstr "Crea tu primer webhook"

#: app/templates/admin/webhooks/view.html:14
msgid "Webhook details"
msgstr "Detalles del webhook"

#: app/templates/admin/webhooks/view.html:17
#: app/templates/integrations/health.html:103
msgid "Test"
msgstr "Prueba"

#: app/templates/admin/webhooks/view.html:57
msgid "Secret"
msgstr "Secreto"

#: app/templates/admin/webhooks/view.html:60
msgid "(truncated)"
msgstr "(truncado)"

#: app/templates/admin/webhooks/view.html:72
msgid "Total Deliveries"
msgstr "Entregas Totales"

#: app/templates/admin/webhooks/view.html:76
msgid "Successful"
msgstr "Exitoso"

#: app/templates/admin/webhooks/view.html:85
msgid "Last Delivery"
msgstr "Última entrega"

#: app/templates/admin/webhooks/view.html:95
msgid "Recent Deliveries"
msgstr "Entregas recientes"

#: app/templates/admin/webhooks/view.html:101
#: app/templates/admin/webhooks/view.html:111
#: app/templates/calendar/event_form.html:106
msgid "Event"
msgstr "Evento"

#: app/templates/admin/webhooks/view.html:103
#: app/templates/admin/webhooks/view.html:123
msgid "Attempt"
msgstr "Intentar"

#: app/templates/admin/webhooks/view.html:104
#: app/templates/admin/webhooks/view.html:124
msgid "Response"
msgstr "Respuesta"

#: app/templates/admin/webhooks/view.html:105
#: app/templates/admin/webhooks/view.html:132
#: app/templates/client_portal/time_entries.html:65
msgid "Time"
msgstr "Tiempo"

#: app/templates/admin/webhooks/view.html:118
msgid "Retrying"
msgstr "Reintentando"

#: app/templates/admin/webhooks/view.html:139
msgid "No deliveries yet"
msgstr "Aún no hay entregas"

#: app/templates/admin/webhooks/view.html:145
msgid "Send a test webhook event?"
msgstr "¿Enviar un evento de webhook de prueba?"

#: app/templates/admin/webhooks/view.html:158
msgid "Test webhook sent successfully!"
msgstr "¡El webhook de prueba se envió correctamente!"

#: app/templates/admin/webhooks/view.html:161
msgid "Error:"
msgstr "Error:"

#: app/templates/admin/webhooks/view.html:161
#: app/templates/reports/scheduled.html:156
msgid "Unknown error"
msgstr "Error desconocido"

#: app/templates/admin/webhooks/view.html:165
msgid "Error sending test webhook:"
msgstr "Error al enviar el webhook de prueba:"

#: app/templates/analytics/dashboard.html:4
#: app/templates/analytics/dashboard.html:30
#: app/templates/analytics/dashboard_improved.html:3
#: app/templates/analytics/dashboard_improved.html:8
msgid "Analytics Dashboard"
msgstr "Panel de análisis"

#: app/templates/analytics/dashboard.html:14
#: app/templates/analytics/dashboard_improved.html:13
#: app/templates/audit_logs/list.html:55
msgid "Last 7 days"
msgstr "últimos 7 días"

#: app/templates/analytics/dashboard.html:15
#: app/templates/analytics/dashboard_improved.html:14
#: app/templates/audit_logs/list.html:56 app/templates/reports/index.html:39
#: app/templates/reports/index.html:47 app/templates/reports/index.html:55
msgid "Last 30 days"
msgstr "últimos 30 días"

#: app/templates/analytics/dashboard.html:16
#: app/templates/analytics/dashboard_improved.html:15
#: app/templates/audit_logs/list.html:57
msgid "Last 90 days"
msgstr "últimos 90 días"

#: app/templates/analytics/dashboard.html:17
#: app/templates/analytics/dashboard_improved.html:16
#: app/templates/audit_logs/list.html:58
msgid "Last year"
msgstr "El año pasado"

#: app/templates/analytics/dashboard.html:22
#, fuzzy
msgid "Export all charts as PNG"
msgstr "Exportar como JSON"

#: app/templates/analytics/dashboard.html:23
#, fuzzy
msgid "Export Charts"
msgstr "Exportar CSV"

#: app/templates/analytics/dashboard.html:31
msgid "Key metrics and insights about your time tracking"
msgstr "Métricas clave e información sobre el seguimiento de su tiempo"

#: app/templates/analytics/dashboard.html:58
#: app/templates/analytics/dashboard_improved.html:62
msgid "Avg Daily Hours"
msgstr "Promedio de horas diarias"

#: app/templates/analytics/dashboard.html:63
#, fuzzy
msgid "Regular"
msgstr "Devolver"

#: app/templates/analytics/dashboard.html:63
#, fuzzy
msgid "Overtime"
msgstr "Tiempo"

#: app/templates/analytics/dashboard.html:73
#: app/templates/analytics/dashboard_improved.html:83
msgid "Daily Hours Trend"
msgstr "Tendencia de horas diarias"

#: app/templates/analytics/dashboard.html:85
#: app/templates/analytics/mobile_dashboard.html:85
msgid "Billable vs Non-Billable"
msgstr "Facturable versus no facturable"

#: app/templates/analytics/dashboard.html:113
#: app/templates/analytics/dashboard_improved.html:172
msgid "Weekly Trends"
msgstr "Tendencias semanales"

#: app/templates/analytics/dashboard.html:129
#, fuzzy
msgid "Hours Forecast"
msgstr "horas antes"

#: app/templates/analytics/dashboard.html:131
msgid "Next 7 days based on 7-day average"
msgstr ""

#: app/templates/analytics/dashboard.html:146
#, fuzzy
msgid "Daily Regular vs Overtime"
msgstr "Pagos a lo largo del tiempo"

#: app/templates/analytics/dashboard.html:162
#: app/templates/analytics/dashboard_improved.html:180
#: app/templates/analytics/mobile_dashboard.html:115
msgid "Hours by Time of Day"
msgstr "Horas por hora del día"

#: app/templates/analytics/dashboard.html:174
msgid "Project Efficiency"
msgstr "Eficiencia del proyecto"

#: app/templates/analytics/dashboard.html:191
#: app/templates/analytics/dashboard_improved.html:191
#: app/templates/analytics/mobile_dashboard.html:131
msgid "User Performance"
msgstr "Rendimiento del usuario"

#: app/templates/analytics/dashboard.html:219
#: app/templates/analytics/dashboard_improved.html:213
#: app/templates/analytics/mobile_dashboard.html:159
msgid "Failed to load charts. Please try again."
msgstr "No se pudieron cargar los gráficos. Por favor inténtalo de nuevo."

#: app/templates/analytics/dashboard.html:220
#: app/templates/analytics/dashboard_improved.html:214
#: app/templates/analytics/mobile_dashboard.html:160
msgid "Failed to refresh charts. Please try again."
msgstr "No se pudieron actualizar los gráficos. Por favor inténtalo de nuevo."

#: app/templates/analytics/dashboard.html:223
#: app/templates/analytics/dashboard_improved.html:217
#: app/templates/analytics/mobile_dashboard.html:163
msgid "Hour of Day"
msgstr "Hora del día"

#: app/templates/analytics/dashboard.html:224
#: app/templates/analytics/dashboard_improved.html:218
#: app/templates/analytics/mobile_dashboard.html:164
msgid "Revenue"
msgstr "Ganancia"

#: app/templates/analytics/dashboard.html:499
#, fuzzy
msgid "Forecast"
msgstr "Reiniciar"

#: app/templates/analytics/dashboard.html:745
msgid "Charts exported. Check your downloads."
msgstr ""

#: app/templates/analytics/dashboard.html:745
#: app/templates/analytics/dashboard_improved.html:19
#: app/templates/timer/calendar.html:49
msgid "Export"
msgstr "Exportar"

#: app/templates/analytics/dashboard_improved.html:9
msgid "Key metrics and actionable insights"
msgstr "Métricas clave e información procesable"

#: app/templates/analytics/dashboard_improved.html:36
msgid "vs previous period"
msgstr "vs periodo anterior"

#: app/templates/analytics/dashboard_improved.html:45
msgid "of total"
msgstr "del total"

#: app/templates/analytics/dashboard_improved.html:53
#: app/templates/analytics/dashboard_improved.html:154
msgid "Potential Revenue"
msgstr "Ingresos potenciales"

#: app/templates/analytics/dashboard_improved.html:54
msgid "Avg rate:"
msgstr "Tasa promedio:"

#: app/templates/analytics/dashboard_improved.html:59
#: app/templates/budget/project_detail.html:165
msgid "Trend"
msgstr "Tendencia"

#: app/templates/analytics/dashboard_improved.html:63
msgid "active projects"
msgstr "proyectos activos"

#: app/templates/analytics/dashboard_improved.html:70
msgid "Insights & Recommendations"
msgstr "Perspectivas y recomendaciones"

#: app/templates/analytics/dashboard_improved.html:86
msgid "Cumulative"
msgstr "Acumulativo"

#: app/templates/analytics/dashboard_improved.html:94
msgid "Billable Distribution"
msgstr "Distribución facturable"

#: app/templates/analytics/dashboard_improved.html:104
msgid "Task Status Overview"
msgstr "Descripción general del estado de la tarea"

#: app/templates/analytics/dashboard_improved.html:110
msgid "Tasks Completed"
msgstr "Tareas completadas"

#: app/templates/analytics/dashboard_improved.html:114
#: app/templates/analytics/dashboard_improved.html:222
#: app/templates/client_portal/issues.html:31 app/templates/issues/edit.html:40
#: app/templates/issues/list.html:40 app/templates/issues/view.html:101
#: app/templates/tasks/create.html:72 app/templates/tasks/create.html:86
#: app/templates/tasks/create.html:476 app/templates/tasks/edit.html:81
#: app/templates/tasks/edit.html:656 app/templates/tasks/my_tasks.html:57
#: app/templates/tasks/my_tasks.html:132 app/utils/i18n_helpers.py:17
#: app/utils/i18n_helpers.py:29
msgid "In Progress"
msgstr "En curso"

#: app/templates/analytics/dashboard_improved.html:118
#: app/templates/analytics/dashboard_improved.html:223
#: app/templates/tasks/create.html:71 app/templates/tasks/create.html:86
#: app/templates/tasks/create.html:475 app/templates/tasks/edit.html:80
#: app/templates/tasks/edit.html:655 app/templates/tasks/my_tasks.html:40
#: app/templates/tasks/my_tasks.html:131 app/utils/i18n_helpers.py:16
#: app/utils/i18n_helpers.py:28
msgid "To Do"
msgstr "Hacer"

#: app/templates/analytics/dashboard_improved.html:124
msgid "Revenue by Project"
msgstr "Ingresos por proyecto"

#: app/templates/analytics/dashboard_improved.html:132
msgid "Payments Over Time"
msgstr "Pagos a lo largo del tiempo"

#: app/templates/analytics/dashboard_improved.html:144
msgid "Payment Methods"
msgstr "Métodos de pago"

#: app/templates/analytics/dashboard_improved.html:148
msgid "Revenue vs Payments"
msgstr "Ingresos vs Pagos"

#: app/templates/analytics/dashboard_improved.html:158
msgid "Collection Rate"
msgstr "Tasa de recaudación"

#: app/templates/analytics/dashboard_improved.html:184
msgid "Project Completion Rate"
msgstr "Tasa de finalización del proyecto"

#: app/templates/analytics/dashboard_improved.html:219
#: app/templates/analytics/mobile_dashboard.html:40
#: app/templates/main/dashboard.html:555 app/templates/main/help.html:204
#: app/templates/project_templates/view.html:39
#: app/templates/projects/_projects_list.html:95
#: app/templates/projects/add_good.html:62 app/templates/projects/edit.html:61
#: app/templates/projects/edit_good.html:62
#: app/templates/projects/goods.html:70 app/templates/projects/list.html:176
#: app/templates/reports/user_report.html:83
#: app/templates/reports/week_in_review.html:30
#: app/templates/tasks/edit.html:175
#: app/templates/timer/_time_entries_list.html:173
#: app/templates/timer/bulk_entry.html:207
#: app/templates/timer/calendar.html:199 app/templates/timer/calendar.html:883
#: app/templates/timer/edit_timer.html:322
#: app/templates/timer/edit_timer.html:469
#: app/templates/timer/manual_entry.html:153
#: app/templates/timer/time_entries_overview.html:113
#: app/templates/timer/view_timer.html:122
#: app/templates/timer/view_timer.html:126 app/templates/user/profile.html:110
msgid "Billable"
msgstr "facturable"

#: app/templates/analytics/dashboard_improved.html:220
msgid "Non-Billable"
msgstr "No facturable"

#: app/templates/analytics/dashboard_improved.html:221
#: app/templates/contacts/communication_form.html:59
#: app/templates/deals/activity_form.html:36
#: app/templates/leads/activity_form.html:36
#: app/templates/tasks/_kanban.html:1346 app/templates/tasks/edit.html:266
#: app/templates/tasks/my_tasks.html:91 app/templates/weekly_goals/edit.html:89
#: app/templates/weekly_goals/index.html:39
#: app/templates/weekly_goals/index.html:172
#: app/templates/weekly_goals/view.html:67 app/utils/i18n_helpers.py:222
#: app/utils/i18n_helpers.py:234 app/utils/i18n_helpers.py:245
#: app/utils/i18n_helpers.py:256
msgid "Completed"
msgstr "Terminado"

#: app/templates/analytics/dashboard_improved.html:225
#: app/templates/contacts/communication_form.html:62
#: app/templates/inventory/purchase_orders/list.html:28
#: app/templates/inventory/purchase_orders/list.html:84
#: app/templates/inventory/purchase_orders/view.html:45
#: app/templates/inventory/reservations/list.html:25
#: app/templates/inventory/reservations/list.html:84
#: app/templates/issues/edit.html:43 app/templates/issues/list.html:43
#: app/templates/issues/view.html:104 app/templates/projects/archive.html:68
#: app/templates/tasks/create.html:75 app/templates/tasks/create.html:86
#: app/templates/tasks/create.html:479 app/templates/tasks/edit.html:84
#: app/templates/tasks/edit.html:659 app/templates/tasks/my_tasks.html:135
#: app/templates/weekly_goals/edit.html:91
#: app/templates/weekly_goals/view.html:73 app/utils/i18n_helpers.py:20
#: app/utils/i18n_helpers.py:32 app/utils/i18n_helpers.py:68
#: app/utils/i18n_helpers.py:80 app/utils/i18n_helpers.py:247
#: app/utils/i18n_helpers.py:258
msgid "Cancelled"
msgstr "Cancelado"

#: app/templates/analytics/dashboard_improved.html:226
msgid "Completion Rate (%)"
msgstr "Tasa de finalización (%)"

#: app/templates/analytics/mobile_dashboard.html:20
msgid "Mobile insights overview"
msgstr "Descripción general de información móvil"

#: app/templates/analytics/mobile_dashboard.html:58
msgid "Daily Avg"
msgstr "Promedio diario"

#: app/templates/analytics/mobile_dashboard.html:70
msgid "Daily Hours"
msgstr "Horario diario"

#: app/templates/analytics/mobile_dashboard.html:100
msgid "Top Projects"
msgstr "Proyectos principales"

#: app/templates/approvals/list.html:4 app/templates/approvals/list.html:8
#: app/templates/approvals/list.html:13 app/templates/approvals/view.html:8
#: app/templates/client_portal/approvals.html:4
#: app/templates/client_portal/approvals.html:14
msgid "Time Entry Approvals"
msgstr ""

#: app/templates/approvals/list.html:14
#: app/templates/client_portal/approvals.html:15
msgid "Review and approve time entries"
msgstr ""

#: app/templates/approvals/list.html:23
#: app/templates/client_portal/widgets/pending_actions.html:9
#: app/templates/invoice_approvals/list.html:4
msgid "Pending Approvals"
msgstr ""

#: app/templates/approvals/list.html:33 app/templates/approvals/list.html:95
#: app/templates/client_portal/approvals.html:86
#: app/templates/components/offline_indicator.html:66
#: app/templates/invoices/generate_from_time.html:39
#: app/templates/invoices/generate_from_time.html:57
#: app/templates/timer/view_timer.html:4 app/templates/timer/view_timer.html:14
msgid "Time Entry"
msgstr "Entrada de tiempo"

#: app/templates/approvals/list.html:37 app/templates/approvals/view.html:86
#: app/templates/invoice_approvals/list.html:31
msgid "Requested by"
msgstr ""

#: app/templates/approvals/list.html:38 app/templates/approvals/view.html:31
#: app/templates/client_portal/approvals.html:132
#: app/templates/project_templates/view.html:74
#: app/templates/projects/time_entries_overview.html:60
#: app/templates/reports/iterative_view.html:33
#: app/templates/reports/iterative_view.html:65
#: app/templates/reports/iterative_view.html:80
#: app/templates/reports/time_entries_report.html:85
#: app/templates/reports/unpaid_hours_report.html:92
#: app/templates/tasks/edit.html:243 app/templates/tasks/edit.html:255
#: app/templates/timer/calendar.html:877 app/templates/user/settings.html:349
#: app/templates/user/settings.html:364
msgid "hours"
msgstr "horas"

#: app/templates/approvals/list.html:46 app/templates/approvals/view.html:46
#: app/templates/client_portal/time_entries.html:88
#: app/templates/clients/view.html:377 app/templates/main/dashboard.html:89
#: app/templates/main/dashboard.html:354 app/templates/main/search.html:49
#: app/templates/timer/manual_entry.html:29
#: app/templates/timer/timer_page.html:57
#: app/templates/weekly_goals/view.html:186
msgid "Direct"
msgstr ""

#: app/templates/approvals/list.html:54 app/templates/approvals/view.html:132
#: app/templates/invoice_approvals/list.html:39
#: app/templates/invoice_approvals/view.html:108
#: app/templates/quotes/view.html:209 app/templates/quotes/view.html:550
#: app/templates/workforce/dashboard.html:76
#: app/templates/workforce/dashboard.html:181
msgid "Approve"
msgstr "Aprobar"

#: app/templates/approvals/list.html:58 app/templates/approvals/list.html:140
#: app/templates/approvals/view.html:136 app/templates/approvals/view.html:159
#: app/templates/invoice_approvals/list.html:43
#: app/templates/invoice_approvals/list.html:86
#: app/templates/invoice_approvals/view.html:112
#: app/templates/quotes/view.html:210 app/templates/quotes/view.html:252
#: app/templates/quotes/view.html:568 app/templates/workforce/dashboard.html:81
#: app/templates/workforce/dashboard.html:186
msgid "Reject"
msgstr "Rechazar"

#: app/templates/approvals/list.html:75
msgid "No pending approvals"
msgstr ""

#: app/templates/approvals/list.html:76
msgid "All time entries have been reviewed."
msgstr ""

#: app/templates/approvals/list.html:85
msgid "My Requests"
msgstr ""

#: app/templates/approvals/list.html:116
msgid "No pending requests"
msgstr ""

#: app/templates/approvals/list.html:117
msgid "You have no time entry approval requests."
msgstr ""

#: app/templates/approvals/list.html:128 app/templates/approvals/view.html:147
msgid "Reject Time Entry"
msgstr ""

#: app/templates/approvals/list.html:134 app/templates/approvals/view.html:153
msgid "Reason for rejection"
msgstr ""

#: app/templates/approvals/view.html:4 app/templates/approvals/view.html:9
#: app/templates/approvals/view.html:14
#: app/templates/invoice_approvals/view.html:3
#: app/templates/invoice_approvals/view.html:8
msgid "Approval Details"
msgstr ""

#: app/templates/approvals/view.html:15
msgid "Review time entry approval request"
msgstr ""

#: app/templates/approvals/view.html:23
#: app/templates/reports/unpaid_hours_report.html:114
#: app/templates/timer/calendar.html:217 app/templates/timer/calendar.html:799
#: app/templates/timer/calendar.html:803
msgid "Time Entry Details"
msgstr ""

#: app/templates/approvals/view.html:26 app/templates/timer/edit_timer.html:538
msgid "Entry ID"
msgstr ""

#: app/templates/approvals/view.html:71
msgid "Approval Information"
msgstr ""

#: app/templates/approvals/view.html:90
msgid "Requested at"
msgstr ""

#: app/templates/approvals/view.html:95 app/templates/quotes/view.html:215
msgid "Approved by"
msgstr "Aprobado por"

#: app/templates/approvals/view.html:101
#: app/templates/invoice_approvals/view.html:88
msgid "Approved at"
msgstr ""

#: app/templates/approvals/view.html:107
#, fuzzy
msgid "Request comment"
msgstr "Publicar comentario"

#: app/templates/approvals/view.html:113
#, fuzzy
msgid "Approval comment"
msgstr "Publicar comentario"

#: app/templates/approvals/view.html:119
#, fuzzy
msgid "Rejection reason"
msgstr "Motivo del rechazo"

#: app/templates/audit_logs/list.html:14
msgid "Track who changed what and when"
msgstr "Seguimiento de quién cambió qué y cuándo"

#: app/templates/audit_logs/list.html:19
#: app/templates/projects/time_entries_overview.html:28
#: app/templates/reports/builder.html:83
#: app/templates/timer/time_entries_overview.html:31
msgid "Filters"
msgstr "Filtros"

#: app/templates/audit_logs/list.html:22
msgid "Entity Type"
msgstr "Tipo de entidad"

#: app/templates/audit_logs/list.html:24
#: app/templates/inventory/movements/list.html:23
#: app/templates/inventory/reports/movement_history.html:41
#: app/templates/inventory/stock_items/history.html:33
#: app/templates/tasks/my_tasks.html:162
msgid "All Types"
msgstr "Todos los tipos"

#: app/templates/audit_logs/list.html:31 app/templates/audit_logs/list.html:32
msgid "Entity ID"
msgstr "ID de entidad"

#: app/templates/audit_logs/list.html:37
#: app/templates/reports/time_entries_report.html:27
#: app/templates/timer/time_entries_overview.html:69
msgid "All Users"
msgstr "Todos los usuarios"

#: app/templates/audit_logs/list.html:44 app/templates/audit_logs/list.html:77
#: app/templates/audit_logs/list.html:97 app/templates/deals/view.html:194
#: app/templates/deals/view.html:206
#: app/templates/inventory/purchase_orders/form.html:84
#: app/templates/invoices/edit.html:77 app/templates/invoices/edit.html:165
#: app/templates/invoices/edit.html:238 app/templates/quotes/create.html:99
#: app/templates/quotes/create.html:131 app/templates/quotes/edit.html:147
#: app/templates/quotes/edit.html:205
msgid "Action"
msgstr "Acción"

#: app/templates/audit_logs/list.html:46
msgid "All Actions"
msgstr "Todas las acciones"

#: app/templates/audit_logs/list.html:48 app/templates/deals/view.html:97
#: app/templates/reports/saved_views_list.html:31
#: app/templates/reports/saved_views_list.html:56
#: app/templates/tasks/edit.html:264
msgid "Updated"
msgstr "Actualizado"

#: app/templates/audit_logs/list.html:49
msgid "Deleted"
msgstr "Eliminado"

#: app/templates/audit_logs/list.html:53
msgid "Time Range"
msgstr "Rango de tiempo"

#: app/templates/audit_logs/list.html:64
#: app/templates/client_portal/time_entries.html:50
#: app/templates/deals/list.html:39
#: app/templates/inventory/adjustments/list.html:43
#: app/templates/inventory/movements/list.html:45
#: app/templates/inventory/purchase_orders/list.html:41
#: app/templates/inventory/reports/movement_history.html:57
#: app/templates/inventory/reports/turnover.html:29
#: app/templates/inventory/reports/valuation.html:39
#: app/templates/inventory/reservations/list.html:30
#: app/templates/inventory/stock_items/history.html:49
#: app/templates/inventory/stock_items/list.html:40
#: app/templates/inventory/stock_levels/list.html:38
#: app/templates/inventory/stock_levels/warehouse.html:36
#: app/templates/inventory/suppliers/list.html:32
#: app/templates/inventory/transfers/list.html:29
#: app/templates/leads/list.html:39
#: app/templates/project_templates/list.html:37
#: app/templates/reports/time_entries_report.html:78
#: app/templates/workforce/dashboard.html:36
msgid "Filter"
msgstr "Filtrar"

#: app/templates/audit_logs/list.html:75 app/templates/audit_logs/list.html:87
#: app/templates/deals/view.html:192 app/templates/deals/view.html:202
msgid "Timestamp"
msgstr "Marca de tiempo"

#: app/templates/audit_logs/list.html:78 app/templates/audit_logs/list.html:100
msgid "Entity"
msgstr "Entidad"

#: app/templates/audit_logs/list.html:79 app/templates/audit_logs/list.html:133
#: app/templates/deals/view.html:195 app/templates/deals/view.html:207
msgid "Field"
msgstr "Campo"

#: app/templates/audit_logs/list.html:80 app/templates/audit_logs/list.html:140
#: app/templates/budget/project_detail.html:171
#: app/templates/clients/view.html:30 app/templates/deals/view.html:196
#: app/templates/deals/view.html:210 app/templates/projects/view.html:54
#: app/templates/tasks/view.html:21
msgid "Change"
msgstr "Cambiar"

#: app/templates/audit_logs/list.html:129 app/templates/audit_logs/view.html:76
#: app/templates/inventory/adjustments/form.html:46
#: app/templates/inventory/adjustments/list.html:60
#: app/templates/inventory/adjustments/list.html:81
#: app/templates/inventory/movements/form.html:104
#: app/templates/inventory/movements/list.html:61
#: app/templates/inventory/movements/list.html:144
#: app/templates/inventory/reports/movement_history.html:77
#: app/templates/inventory/reports/movement_history.html:164
#: app/templates/inventory/stock_items/history.html:68
#: app/templates/inventory/stock_items/history.html:150
#: app/templates/inventory/stock_items/view.html:243
#: app/templates/inventory/stock_items/view.html:259
#: app/templates/inventory/warehouses/view.html:133
#: app/templates/inventory/warehouses/view.html:153
#: app/templates/kiosk/dashboard.html:192
#: app/templates/workforce/dashboard.html:80
#: app/templates/workforce/dashboard.html:185
msgid "Reason"
msgstr "Razón"

#: app/templates/audit_logs/view.html:22
msgid "Change Information"
msgstr "Cambiar información"

#: app/templates/audit_logs/view.html:85
msgid "Entity Context"
msgstr ""

#: app/templates/audit_logs/view.html:98
msgid "TimeEntry Created"
msgstr ""

#: app/templates/audit_logs/view.html:107
msgid "Entry Owner"
msgstr ""

#: app/templates/audit_logs/view.html:119
msgid "Field Change Details"
msgstr ""

#: app/templates/audit_logs/view.html:144
msgid "Full Entity State"
msgstr ""

#: app/templates/audit_logs/view.html:148
msgid "Before Change"
msgstr ""

#: app/templates/audit_logs/view.html:161
msgid "After Change"
msgstr ""

#: app/templates/audit_logs/view.html:178
msgid "Request Information"
msgstr "Solicitar información"

#: app/templates/auth/change_password.html:8
msgid "Update your password."
msgstr ""

#: app/templates/auth/change_password.html:21
msgid "Current Password"
msgstr ""

#: app/templates/auth/change_password.html:26
msgid "New Password"
msgstr ""

#: app/templates/auth/change_password.html:31
msgid "Confirm New Password"
msgstr ""

#: app/templates/auth/change_password.html:39
msgid "Change Password"
msgstr ""

#: app/templates/auth/edit_profile.html:87 app/templates/main/about.html:156
msgid "Security"
msgstr "Seguridad"

#: app/templates/auth/edit_profile.html:89
msgid "Manage two-factor authentication for your account."
msgstr ""

#: app/templates/auth/edit_profile.html:92 app/templates/auth/two_factor.html:6
#: app/templates/auth/two_factor_setup.html:3
#: app/templates/auth/two_factor_setup.html:8
#, fuzzy
msgid "Two-factor authentication"
msgstr "OIDC/SSO (autenticación empresarial)"

#: app/templates/auth/edit_profile.html:183
msgid "Please fill both password fields or leave both empty"
msgstr ""

#: app/templates/auth/edit_profile.html:193
#: app/templates/client_portal/set_password.html:55
msgid "Password must be at least 8 characters long"
msgstr "La contraseña debe tener al menos 8 caracteres"

#: app/templates/auth/edit_profile.html:202
msgid "Passwords do not match"
msgstr ""

#: app/templates/auth/forgot_password.html:6
#, fuzzy
msgid "Forgot password"
msgstr "Contraseña del portal"

#: app/templates/auth/forgot_password.html:19
#, fuzzy
msgid "Reset your password"
msgstr "Establece tu contraseña"

#: app/templates/auth/forgot_password.html:21
msgid "Enter your username or email address. If an account matches and email is configured, we will send you a reset link."
msgstr ""

#: app/templates/auth/forgot_password.html:27
#, fuzzy
msgid "Username or email"
msgstr "Sin nombres de usuario ni correos electrónicos"

#: app/templates/auth/forgot_password.html:30
msgid "your-username or you@example.com"
msgstr ""

#: app/templates/auth/forgot_password.html:32
#, fuzzy
msgid "Send reset link"
msgstr "Enviar correo electrónico de prueba"

#: app/templates/auth/forgot_password.html:35
#: app/templates/auth/reset_password.html:40
#: app/templates/auth/two_factor.html:35
#, fuzzy
msgid "Back to sign in"
msgstr "Volver a administrador"

#: app/templates/auth/login.html:6 app/templates/errors/403.html:27
msgid "Login"
msgstr "Acceso"

#: app/templates/auth/login.html:31 app/templates/setup/initial_setup.html:32
msgid "Track time. Stay organized."
msgstr "Seguimiento del tiempo. Manténgase organizado."

#: app/templates/auth/login.html:47
msgid "Sign in to your account"
msgstr "Inicia sesión en tu cuenta"

#: app/templates/auth/login.html:50
#, fuzzy
msgid "Demo credentials"
msgstr "Detalles del artículo"

#: app/templates/auth/login.html:72
#, fuzzy
msgid "Forgot your password?"
msgstr "Establece tu contraseña"

#: app/templates/auth/login.html:79
#, fuzzy
msgid "LDAP authentication is enabled"
msgstr "Método de autenticación"

#: app/templates/auth/login.html:82 app/templates/client_portal/login.html:60
#: app/templates/kiosk/login.html:153
msgid "Sign in"
msgstr "Iniciar sesión"

#: app/templates/auth/login.html:85
msgid "Use the demo credentials above."
msgstr ""

#: app/templates/auth/login.html:87
msgid "Tip: Enter a new username to create your account."
msgstr "Consejo: Ingrese un nuevo nombre de usuario para crear su cuenta."

#: app/templates/auth/login.html:96
msgid "Or continue with"
msgstr "O continuar con"

#: app/templates/auth/login.html:101
msgid "Single Sign-On"
msgstr "Inicio de sesión único"

#: app/templates/auth/profile.html:6
msgid "Edit Profile"
msgstr "Editar perfil"

#: app/templates/auth/profile.html:53 app/templates/user/profile.html:75
msgid "Member Since"
msgstr "Miembro desde"

#: app/templates/auth/emails/password_reset.html:12
#: app/templates/auth/reset_password.html:6
#, fuzzy
msgid "Reset password"
msgstr "Establecer contraseña"

#: app/templates/auth/reset_password.html:19
#, fuzzy
msgid "Choose a new password"
msgstr "Establecer contraseña"

#: app/templates/auth/reset_password.html:21
#, fuzzy
msgid "Enter a new password for your account."
msgstr "Establezca una contraseña para su cuenta del portal del cliente"

#: app/templates/auth/reset_password.html:27
#, fuzzy
msgid "New password"
msgstr "Establecer contraseña"

#: app/templates/auth/reset_password.html:30
#, fuzzy
msgid "At least 8 characters"
msgstr "La contraseña debe tener al menos 8 caracteres"

#: app/templates/auth/reset_password.html:32
#, fuzzy
msgid "Confirm password"
msgstr "confirmar Contraseña"

#: app/templates/auth/reset_password.html:35
#, fuzzy
msgid "Repeat your new password"
msgstr "Establece tu contraseña"

#: app/templates/auth/reset_password.html:37
#, fuzzy
msgid "Update password"
msgstr "Establecer contraseña"

#: app/templates/auth/two_factor.html:19
#, fuzzy
msgid "Enter authentication code"
msgstr "Método de autenticación"

#: app/templates/auth/two_factor.html:21
msgid "Open your authenticator app and enter the 6-digit code."
msgstr ""

#: app/templates/auth/two_factor.html:27
#: app/templates/inventory/suppliers/list.html:41
#: app/templates/inventory/suppliers/list.html:53
#: app/templates/inventory/suppliers/view.html:26
#: app/templates/inventory/warehouses/list.html:22
#: app/templates/inventory/warehouses/list.html:33
#: app/templates/inventory/warehouses/view.html:26
#: app/templates/workforce/dashboard.html:255
msgid "Code"
msgstr "Código"

#: app/templates/auth/two_factor.html:32
msgid "Verify"
msgstr ""

#: app/templates/auth/two_factor_setup.html:10
msgid "Add an extra layer of security to your account using a TOTP authenticator app (Google Authenticator, Authy, 1Password, etc.)."
msgstr ""

#: app/templates/auth/two_factor_setup.html:18
#, fuzzy
msgid "Two-factor authentication is enabled for your account."
msgstr "El acceso al portal del cliente no está habilitado para su cuenta."

#: app/templates/auth/two_factor_setup.html:26
msgid "Enter a current code to disable"
msgstr ""

#: app/templates/auth/two_factor_setup.html:29
#, fuzzy
msgid "Disable 2FA"
msgstr "Desactivado"

#: app/templates/auth/two_factor_setup.html:34
msgid "Two-factor authentication is currently disabled."
msgstr ""

#: app/templates/auth/two_factor_setup.html:40
msgid "A secret will be generated when you enable 2FA."
msgstr ""

#: app/templates/auth/two_factor_setup.html:44
msgid "1) Add to your authenticator app"
msgstr ""

#: app/templates/auth/two_factor_setup.html:46
msgid "If you cannot scan a QR code, you can manually enter this secret:"
msgstr ""

#: app/templates/auth/two_factor_setup.html:52
msgid "Provisioning URI:"
msgstr ""

#: app/templates/auth/two_factor_setup.html:63
msgid "2) Verify and enable"
msgstr ""

#: app/templates/auth/two_factor_setup.html:64
#, fuzzy
msgid "Enter the 6-digit code"
msgstr "Código generado"

#: app/templates/auth/two_factor_setup.html:67
#, fuzzy
msgid "Enable 2FA"
msgstr "Activado"

#: app/templates/auth/emails/password_reset.html:9
msgid "A password reset was requested for your TimeTracker account."
msgstr ""

#: app/templates/auth/emails/password_reset.html:16
msgid "If the button does not work, copy and paste this link into your browser:"
msgstr ""

#: app/templates/auth/emails/password_reset.html:20
msgid "If you did not request this, you can ignore this email."
msgstr ""

#: app/templates/budget/dashboard.html:12
msgid "Budget Alerts & Forecasting"
msgstr "Alertas y pronósticos de presupuesto"

#: app/templates/budget/dashboard.html:13
msgid "Monitor project budgets and forecast completion"
msgstr "Supervisar los presupuestos de los proyectos y pronosticar su finalización."

#: app/templates/budget/dashboard.html:30
msgid "Unacknowledged Alerts"
msgstr "Alertas no reconocidas"

#: app/templates/budget/dashboard.html:39
msgid "Critical Alerts"
msgstr "Alertas críticas"

#: app/templates/budget/dashboard.html:48
msgid "Projects with Budgets"
msgstr "Proyectos con Presupuestos"

#: app/templates/budget/dashboard.html:57
msgid "Warning Alerts"
msgstr "Alertas de advertencia"

#: app/templates/budget/dashboard.html:66
#: app/templates/budget/project_detail.html:259
msgid "Active Alerts"
msgstr "Alertas activas"

#: app/templates/budget/dashboard.html:96
#: app/templates/budget/project_detail.html:284
msgid "Acknowledge"
msgstr "Reconocer"

#: app/templates/budget/dashboard.html:110
msgid "Project Budget Status"
msgstr "Estado del presupuesto del proyecto"

#: app/templates/budget/dashboard.html:117
#: app/templates/projects/_projects_list.html:109
#: app/templates/projects/dashboard.html:130
#: app/templates/projects/dashboard.html:373
#: app/templates/projects/list.html:190
msgid "Budget"
msgstr "Presupuesto"

#: app/templates/budget/dashboard.html:118
#: app/templates/budget/project_detail.html:39
#: app/templates/projects/dashboard.html:373
#: app/templates/projects/view.html:264
msgid "Consumed"
msgstr "Consumado"

#: app/templates/budget/dashboard.html:119
#: app/templates/budget/project_detail.html:48
#: app/templates/main/dashboard.html:437
#: app/templates/projects/dashboard.html:134
#: app/templates/projects/dashboard.html:373
#: app/templates/projects/view.html:268
#: app/templates/workforce/dashboard.html:123
msgid "Remaining"
msgstr "Restante"

#: app/templates/budget/dashboard.html:120 app/templates/projects/view.html:433
#: app/templates/projects/view.html:473 app/templates/tasks/_kanban.html:112
#: app/templates/tasks/_kanban.html:1281
#: app/templates/tasks/_tasks_list.html:93 app/templates/tasks/edit.html:159
#: app/templates/tasks/my_tasks.html:312 app/templates/tasks/overdue.html:62
#: app/templates/weekly_goals/index.html:95
#: app/templates/weekly_goals/index.html:205
#: app/templates/weekly_goals/view.html:82
msgid "Progress"
msgstr "Progreso"

#: app/templates/budget/dashboard.html:137 app/templates/projects/view.html:271
msgid "over"
msgstr "encima"

#: app/templates/budget/dashboard.html:153
#: app/templates/budget/project_detail.html:48
#: app/templates/budget/project_detail.html:65 app/utils/i18n_helpers.py:268
msgid "Over Budget"
msgstr "Por encima del presupuesto"

#: app/templates/budget/dashboard.html:157
#: app/templates/budget/project_detail.html:66
#: app/templates/projects/view.html:283 app/utils/i18n_helpers.py:275
#: app/utils/i18n_helpers.py:281
msgid "Critical"
msgstr "Crítico"

#: app/templates/budget/dashboard.html:165
#: app/templates/budget/project_detail.html:68
#: app/templates/projects/view.html:291
msgid "Healthy"
msgstr "Saludable"

#: app/templates/budget/dashboard.html:180
#: app/templates/budget/dashboard.html:197
msgid "No projects with budgets found"
msgstr "No se encontraron proyectos con presupuestos."

#: app/templates/budget/dashboard.html:237
#: app/templates/budget/project_detail.html:409
msgid "Alert acknowledged successfully"
msgstr "Alerta reconocida exitosamente"

#: app/templates/budget/dashboard.html:242
#: app/templates/budget/project_detail.html:414
msgid "Failed to acknowledge alert"
msgstr "No se pudo reconocer la alerta"

#: app/templates/budget/project_detail.html:8
msgid "Budget Analysis & Forecasting"
msgstr "Análisis y previsión presupuestaria"

#: app/templates/budget/project_detail.html:13
msgid "Back to Dashboard"
msgstr "Volver al panel"

#: app/templates/budget/project_detail.html:17
#: app/templates/projects/_projects_list.html:146
#: app/templates/projects/list.html:228 app/templates/quotes/view.html:182
msgid "View Project"
msgstr "Ver proyecto"

#: app/templates/budget/project_detail.html:30
#: app/templates/projects/view.html:260
msgid "Total Budget"
msgstr "Presupuesto total"

#: app/templates/budget/project_detail.html:80
msgid "Burn Rate Analysis"
msgstr "Análisis de tasa de quemado"

#: app/templates/budget/project_detail.html:85
msgid "Daily Burn Rate"
msgstr "Tasa de quema diaria"

#: app/templates/budget/project_detail.html:89
msgid "Weekly Burn Rate"
msgstr "Tasa de quema semanal"

#: app/templates/budget/project_detail.html:93
msgid "Monthly Burn Rate"
msgstr "Tasa de quema mensual"

#: app/templates/budget/project_detail.html:97
msgid "Period Total"
msgstr "Total del período"

#: app/templates/budget/project_detail.html:103
msgid "Based on last"
msgstr "Basado en el último"

#: app/templates/budget/project_detail.html:103
#: app/templates/inventory/suppliers/view.html:141
msgid "days"
msgstr "días"

#: app/templates/budget/project_detail.html:108
msgid "No burn rate data available"
msgstr "No hay datos de tasa de grabación disponibles"

#: app/templates/budget/project_detail.html:117
msgid "Completion Estimate"
msgstr "Estimación de finalización"

#: app/templates/budget/project_detail.html:122
msgid "Estimated Completion Date"
msgstr "Fecha estimada de finalización"

#: app/templates/budget/project_detail.html:128
msgid "days remaining"
msgstr "días restantes"

#: app/templates/budget/project_detail.html:133
msgid "Confidence Level"
msgstr "Nivel de confianza"

#: app/templates/budget/project_detail.html:149
msgid "No completion estimate available"
msgstr "No hay estimación de finalización disponible"

#: app/templates/budget/project_detail.html:160
msgid "Cost Trend Analysis"
msgstr "Análisis de tendencias de costos"

#: app/templates/budget/project_detail.html:168
msgid "Average"
msgstr "Promedio"

#: app/templates/budget/project_detail.html:185
msgid "Resource Allocation"
msgstr "Asignación de recursos"

#: app/templates/budget/project_detail.html:193
msgid "Total Cost"
msgstr "Costo total"

#: app/templates/budget/project_detail.html:197
#: app/templates/client_portal/projects.html:73
#: app/templates/main/help.html:205
#: app/templates/project_templates/create_project.html:36
#: app/templates/project_templates/view.html:44
#: app/templates/projects/create.html:71 app/templates/projects/edit.html:65
#: app/templates/quotes/accept.html:33
msgid "Hourly Rate"
msgstr "Tarifa por hora"

#: app/templates/budget/project_detail.html:205
msgid "Team Member"
msgstr "Miembro del equipo"

#: app/templates/budget/project_detail.html:207
#: app/templates/budget/project_detail.html:314
#: app/templates/budget/project_detail.html:344
#: app/templates/inventory/purchase_orders/form.html:149
msgid "Cost"
msgstr "Costo"

#: app/templates/budget/project_detail.html:208
msgid "Hours %"
msgstr "Horas %"

#: app/templates/budget/project_detail.html:209
msgid "Cost %"
msgstr "Costo %"

#: app/templates/budget/project_detail.html:210
#: app/templates/clients/view.html:586
#: app/templates/components/support_modal.html:29
#: app/templates/projects/time_entries_overview.html:23
#: app/templates/timer/time_entries_overview.html:25
msgid "Entries"
msgstr "Entradas"

#: app/templates/calendar/event_detail.html:41
msgid "Date & Time"
msgstr "Fecha y hora"

#: app/templates/calendar/event_detail.html:77
#: app/templates/calendar/event_form.html:94
#: app/templates/inventory/stock_items/view.html:133
#: app/templates/inventory/stock_items/view.html:152
#: app/templates/inventory/stock_levels/item.html:27
#: app/templates/inventory/stock_levels/item.html:44
#: app/templates/inventory/stock_levels/list.html:52
#: app/templates/inventory/stock_levels/list.html:72
#: app/templates/inventory/warehouses/view.html:89
#: app/templates/inventory/warehouses/view.html:109
msgid "Location"
msgstr "Ubicación"

#: app/templates/calendar/event_detail.html:136
#: app/templates/calendar/event_form.html:109
#: app/templates/calendar/event_form.html:155
msgid "Reminder"
msgstr "Recordatorio"

#: app/templates/calendar/event_detail.html:139
msgid "minutes before"
msgstr "minutos antes"

#: app/templates/calendar/event_detail.html:141
msgid "hours before"
msgstr "horas antes"

#: app/templates/calendar/event_detail.html:143
msgid "days before"
msgstr "días antes"

#: app/templates/calendar/event_detail.html:155
#: app/templates/timer/calendar.html:43
msgid "Recurring"
msgstr "Periódico"

#: app/templates/calendar/event_detail.html:159
msgid "Until"
msgstr "Hasta"

#: app/templates/calendar/event_detail.html:173
#: app/templates/client_portal/issue_detail.html:89
#: app/templates/issues/view.html:171
msgid "Last Updated"
msgstr "Última actualización"

#: app/templates/calendar/event_detail.html:182
msgid "Back to Calendar"
msgstr "Volver al calendario"

#: app/templates/calendar/event_detail.html:191
msgid "Delete Event"
msgstr "Eliminar evento"

#: app/templates/calendar/event_detail.html:192
msgid "Are you sure you want to delete this event? This action cannot be undone."
msgstr "¿Estás seguro de que deseas eliminar este evento? Esta acción no se puede deshacer."

#: app/templates/calendar/event_form.html:2
#: app/templates/calendar/event_form.html:10
msgid "Edit Event"
msgstr "Editar evento"

#: app/templates/calendar/event_form.html:2
#: app/templates/calendar/event_form.html:10
#: app/templates/calendar/view.html:49 app/templates/timer/calendar.html:40
msgid "New Event"
msgstr "Nuevo evento"

#: app/templates/calendar/event_form.html:19
#: app/templates/client_portal/new_issue.html:26
#: app/templates/client_portal/quote_detail.html:34
#: app/templates/client_portal/quotes.html:26
#: app/templates/client_portal/quotes.html:42
#: app/templates/contacts/form.html:52 app/templates/contacts/list.html:28
#: app/templates/contacts/list.html:46 app/templates/contacts/view.html:48
#: app/templates/expenses/dashboard.html:190
#: app/templates/expenses/list.html:297 app/templates/invoices/edit.html:160
#: app/templates/issues/edit.html:24 app/templates/issues/list.html:93
#: app/templates/issues/list.html:106 app/templates/issues/new.html:24
#: app/templates/leads/form.html:50 app/templates/leads/view.html:61
#: app/templates/quotes/_edit_quote_form_scripts.html:198
#: app/templates/quotes/_quotes_list.html:34
#: app/templates/quotes/_quotes_list.html:51
#: app/templates/quotes/accept.html:18 app/templates/quotes/create.html:36
#: app/templates/quotes/create.html:94 app/templates/quotes/edit.html:32
#: app/templates/quotes/edit.html:142 app/templates/quotes/edit.html:157
#: app/templates/timer/calendar.html:850
#: app/utils/pdf_generator_fallback.py:552
msgid "Title"
msgstr "Título"

#: app/templates/calendar/event_form.html:40 app/templates/gantt/view.html:37
#: app/templates/import_export/index.html:225
#: app/templates/import_export/index.html:263
#: app/templates/projects/time_entries_overview.html:31
#: app/templates/reports/builder.html:86
#: app/templates/reports/time_entries_report.html:12
#: app/templates/timer/bulk_entry.html:137
#: app/templates/timer/calendar.html:166
#: app/templates/timer/edit_timer.html:260
#: app/templates/timer/manual_entry.html:97
#: app/templates/timer/time_entries_overview.html:79
msgid "Start Date"
msgstr "Fecha de inicio"

#: app/templates/calendar/event_form.html:50
#: app/templates/reports/user_report.html:86
#: app/templates/timer/bulk_entry.html:170
#: app/templates/timer/calendar.html:170
#: app/templates/timer/edit_timer.html:268
#: app/templates/timer/manual_entry.html:107
#: app/templates/timer/view_timer.html:28
msgid "Start Time"
msgstr "Hora de inicio"

#: app/templates/calendar/event_form.html:61 app/templates/gantt/view.html:41
#: app/templates/import_export/index.html:230
#: app/templates/import_export/index.html:268
#: app/templates/projects/time_entries_overview.html:35
#: app/templates/recurring_tasks/form.html:79
#: app/templates/reports/builder.html:90
#: app/templates/reports/time_entries_report.html:18
#: app/templates/timer/bulk_entry.html:141
#: app/templates/timer/calendar.html:177
#: app/templates/timer/edit_timer.html:280
#: app/templates/timer/manual_entry.html:101
#: app/templates/timer/time_entries_overview.html:83
msgid "End Date"
msgstr "Fecha de finalización"

#: app/templates/calendar/event_form.html:71
#: app/templates/reports/user_report.html:87
#: app/templates/timer/bulk_entry.html:179
#: app/templates/timer/calendar.html:181
#: app/templates/timer/edit_timer.html:288
#: app/templates/timer/manual_entry.html:111
#: app/templates/timer/view_timer.html:34
msgid "End Time"
msgstr "Hora de finalización"

#: app/templates/calendar/event_form.html:88
msgid "All Day Event"
msgstr "Evento de todo el día"

#: app/templates/calendar/event_form.html:104
msgid "Event Type"
msgstr "Tipo de evento"

#: app/templates/calendar/event_form.html:107
#: app/templates/contacts/communication_form.html:32
#: app/templates/deals/activity_form.html:30
#: app/templates/leads/activity_form.html:30
msgid "Meeting"
msgstr "Reunión"

#: app/templates/calendar/event_form.html:108
msgid "Appointment"
msgstr "Cita"

#: app/templates/calendar/event_form.html:110
msgid "Deadline"
msgstr "Fecha límite"

#: app/templates/calendar/event_form.html:118
#: app/templates/calendar/event_form.html:131
#: app/templates/calendar/event_form.html:144
msgid "-- None --"
msgstr "-- Ninguno --"

#: app/templates/calendar/event_form.html:157
msgid "No reminder"
msgstr "Sin recordatorio"

#: app/templates/calendar/event_form.html:158
msgid "5 minutes before"
msgstr "5 minutos antes"

#: app/templates/calendar/event_form.html:159
msgid "15 minutes before"
msgstr "15 minutos antes"

#: app/templates/calendar/event_form.html:160
msgid "30 minutes before"
msgstr "30 minutos antes"

#: app/templates/calendar/event_form.html:161
msgid "1 hour before"
msgstr "1 hora antes"

#: app/templates/calendar/event_form.html:162
msgid "1 day before"
msgstr "1 dia antes"

#: app/templates/calendar/event_form.html:168
#: app/templates/kanban/columns.html:51
#: app/templates/kanban/create_column.html:60
#: app/templates/kanban/edit_column.html:52
msgid "Color"
msgstr "Color"

#: app/templates/calendar/event_form.html:175
msgid "Choose a color for this event"
msgstr "Elige un color para este evento"

#: app/templates/calendar/event_form.html:187
msgid "Private Event"
msgstr "Evento Privado"

#: app/templates/calendar/event_form.html:189
msgid "Private events are only visible to you"
msgstr "Los eventos privados solo son visibles para ti"

#: app/templates/calendar/event_form.html:194
msgid "Recurring Event"
msgstr "Evento recurrente"

#: app/templates/calendar/event_form.html:203
msgid "This is a recurring event"
msgstr "Este es un evento recurrente"

#: app/templates/calendar/event_form.html:209
msgid "Recurrence Pattern"
msgstr "Patrón de recurrencia"

#: app/templates/calendar/event_form.html:216
msgid "Use RRULE format (e.g., FREQ=WEEKLY;BYDAY=MO,WE,FR)"
msgstr "Utilice el formato RRULE (por ejemplo, FREQ=SEMANAL;BYDAY=MO,WE,FR)"

#: app/templates/calendar/event_form.html:220
msgid "Recurrence End Date"
msgstr "Fecha de finalización de la recurrencia"

#: app/templates/calendar/event_form.html:234
msgid "Update Event"
msgstr "Evento de actualización"

#: app/templates/calendar/event_form.html:234
msgid "Create Event"
msgstr "Crear evento"

#: app/templates/calendar/integrations.html:4
msgid "Calendar Integrations"
msgstr ""

#: app/templates/calendar/integrations.html:56
msgid "Last synced"
msgstr ""

#: app/templates/calendar/integrations.html:71
msgid "Manage Integration"
msgstr ""

#: app/templates/calendar/integrations.html:78
msgid "Are you sure you want to disconnect this integration?"
msgstr ""

#: app/templates/calendar/integrations.html:78
msgid "Disconnect"
msgstr ""

#: app/templates/calendar/integrations.html:91
msgid "No Calendar Integrations"
msgstr ""

#: app/templates/calendar/integrations.html:92
msgid "Connect your calendar to automatically sync time entries and events."
msgstr ""

#: app/templates/calendar/integrations.html:93
#: app/templates/integrations/manage.html:714
msgid "Connect Google Calendar"
msgstr ""

#: app/templates/calendar/integrations.html:99
msgid "How Calendar Integration Works"
msgstr ""

#: app/templates/calendar/integrations.html:101
msgid "Time entries are automatically synced to your calendar"
msgstr ""

#: app/templates/calendar/integrations.html:102
msgid "Calendar events can be converted to time entries"
msgstr ""

#: app/templates/calendar/integrations.html:103
msgid "Bidirectional sync keeps everything in sync"
msgstr ""

#: app/templates/calendar/view.html:18
msgid "View and manage your events, tasks, and time entries"
msgstr "Ver y administrar sus eventos, tareas y entradas de tiempo"

#: app/templates/calendar/view.html:31 app/templates/timer/calendar.html:32
#: app/templates/user/settings.html:475
msgid "Day"
msgstr "Día"

#: app/templates/calendar/view.html:36
#: app/templates/reports/week_in_review.html:21
#: app/templates/timer/calendar.html:33 app/templates/user/settings.html:476
#: app/templates/weekly_goals/index.html:79
msgid "Week"
msgstr "Semana"

#: app/templates/calendar/view.html:41 app/templates/timer/calendar.html:34
#: app/templates/user/settings.html:477
msgid "Month"
msgstr "Mes"

#: app/templates/calendar/view.html:62 app/templates/reports/index.html:76
#: app/templates/timer/calendar.html:29
msgid "Today"
msgstr "Hoy"

#: app/templates/calendar/view.html:90
msgid "Calendar colors"
msgstr ""

#: app/templates/calendar/view.html:106
msgid "Legend"
msgstr ""

#: app/templates/calendar/view.html:123
msgid "Loading calendar..."
msgstr "Cargando calendario..."

#: app/templates/calendar/view.html:133 app/templates/timer/calendar.html:807
msgid "Event Details"
msgstr "Detalles del evento"

#: app/templates/calendar/view.html:136 app/templates/timer/calendar.html:220
#: app/templates/timer/calendar.html:818
msgid "Go to all details"
msgstr ""

#: app/templates/chat/channel.html:4 app/templates/chat/channel.html:8
#: app/templates/chat/index.html:4 app/templates/chat/index.html:8
#: app/templates/chat/index.html:13
msgid "Team Chat"
msgstr ""

#: app/templates/chat/channel.html:15
msgid "Team chat channel"
msgstr ""

#: app/templates/chat/channel.html:56
#: app/templates/components/persistent_chat_widget.html:107
msgid "Type a message..."
msgstr ""

#: app/templates/chat/channel.html:75
msgid "Channel Info"
msgstr ""

#: app/templates/chat/channel.html:84
msgid "Members"
msgstr ""

#: app/templates/chat/channel.html:126
msgid "Channel Settings"
msgstr ""

#: app/templates/chat/channel.html:252
msgid "Upload Attachment"
msgstr ""

#: app/templates/chat/channel.html:259
msgid "Select File"
msgstr ""

#: app/templates/chat/channel.html:261
msgid "Maximum file size: 10 MB"
msgstr ""

#: app/templates/chat/channel.html:264
msgid "Selected:"
msgstr ""

#: app/templates/chat/channel.html:271 app/templates/clients/view.html:208
#: app/templates/clients/view.html:235 app/templates/comments/_comment.html:117
#: app/templates/projects/view.html:335 app/templates/projects/view.html:362
msgid "Upload"
msgstr ""

#: app/templates/chat/channel.html:303
msgid "Please select a file"
msgstr ""

#: app/templates/chat/channel.html:309
msgid "File size exceeds 10 MB limit"
msgstr ""

#: app/templates/chat/channel.html:348 app/templates/chat/channel.html:355
msgid "Failed to upload attachment"
msgstr ""

#: app/templates/chat/index.html:14
msgid "Communicate with your team"
msgstr ""

#: app/templates/chat/index.html:22
#: app/templates/components/persistent_chat_widget.html:53
msgid "Channels"
msgstr ""

#: app/templates/chat/index.html:48
#: app/templates/components/persistent_chat_widget.html:58
msgid "Direct Messages"
msgstr ""

#: app/templates/chat/index.html:89
#: app/templates/components/persistent_chat_widget.html:71
msgid "Select a channel to start chatting"
msgstr ""

#: app/templates/chat/index.html:100
msgid "Create Channel"
msgstr ""

#: app/templates/chat/index.html:107
msgid "Channel Name"
msgstr ""

#: app/templates/chat/index.html:117
msgid "Private channel"
msgstr ""

#: app/templates/client_notes/edit.html:3
#: app/templates/client_notes/edit.html:9
msgid "Edit Client Note"
msgstr "Editar nota del cliente"

#: app/templates/client_notes/edit.html:12 app/templates/clients/edit.html:8
msgid "Back to Client"
msgstr "Volver al Cliente"

#: app/templates/client_notes/edit.html:24
msgid "Client:"
msgstr "Cliente:"

#: app/templates/client_notes/edit.html:38
msgid "Created on"
msgstr "Creado el"

#: app/templates/client_notes/edit.html:41 app/templates/comments/edit.html:58
msgid "Last edited on"
msgstr "Última edición el"

#: app/templates/client_notes/edit.html:54 app/templates/clients/view.html:435
msgid "Note Content"
msgstr "Contenido de la nota"

#: app/templates/client_notes/edit.html:64
msgid "Internal note visible only to your team."
msgstr "Nota interna visible solo para tu equipo."

#: app/templates/client_notes/edit.html:77 app/templates/clients/view.html:453
msgid "Mark as important"
msgstr "Marcar como importante"

#: app/templates/client_portal/activity_feed.html:4
#: app/templates/client_portal/activity_feed.html:9
#: app/templates/client_portal/activity_feed.html:14
msgid "Activity Feed"
msgstr ""

#: app/templates/client_portal/activity_feed.html:4
#: app/templates/client_portal/activity_feed.html:8
#: app/templates/client_portal/approvals.html:4
#: app/templates/client_portal/approvals.html:8
#: app/templates/client_portal/base.html:6
#: app/templates/client_portal/base.html:13
#: app/templates/client_portal/base.html:20
#: app/templates/client_portal/base.html:240
#: app/templates/client_portal/base.html:324
#: app/templates/client_portal/dashboard.html:4
#: app/templates/client_portal/dashboard.html:8
#: app/templates/client_portal/dashboard.html:13
#: app/templates/client_portal/documents.html:4
#: app/templates/client_portal/documents.html:8
#: app/templates/client_portal/error.html:4
#: app/templates/client_portal/invoice_detail.html:4
#: app/templates/client_portal/invoice_detail.html:8
#: app/templates/client_portal/invoices.html:4
#: app/templates/client_portal/invoices.html:8
#: app/templates/client_portal/issue_detail.html:4
#: app/templates/client_portal/issue_detail.html:8
#: app/templates/client_portal/issues.html:4
#: app/templates/client_portal/issues.html:8
#: app/templates/client_portal/login.html:31
#: app/templates/client_portal/login.html:38
#: app/templates/client_portal/new_issue.html:4
#: app/templates/client_portal/new_issue.html:8
#: app/templates/client_portal/notifications.html:4
#: app/templates/client_portal/notifications.html:8
#: app/templates/client_portal/project_comments.html:4
#: app/templates/client_portal/project_comments.html:8
#: app/templates/client_portal/projects.html:4
#: app/templates/client_portal/projects.html:8
#: app/templates/client_portal/quote_detail.html:4
#: app/templates/client_portal/quote_detail.html:8
#: app/templates/client_portal/quotes.html:4
#: app/templates/client_portal/quotes.html:8
#: app/templates/client_portal/reports.html:4
#: app/templates/client_portal/reports.html:8
#: app/templates/client_portal/set_password.html:6
#: app/templates/client_portal/set_password.html:29
#: app/templates/client_portal/time_entries.html:4
#: app/templates/client_portal/time_entries.html:8
msgid "Client Portal"
msgstr "Portal del cliente"

#: app/templates/client_portal/activity_feed.html:15
msgid "Recent project activities"
msgstr ""

#: app/templates/client_portal/activity_feed.html:69
#, fuzzy
msgid "View details"
msgstr "Ver detalles"

#: app/templates/client_portal/activity_feed.html:83
msgid "No Activity"
msgstr ""

#: app/templates/client_portal/activity_feed.html:85
msgid "No recent activity to display. Activity will appear here as projects are updated and time entries are logged."
msgstr ""

#: app/templates/client_portal/approvals.html:9
#: app/templates/client_portal/base.html:266
#: app/templates/client_portal/base.html:351
msgid "Approvals"
msgstr ""

#: app/templates/client_portal/approvals.html:30
#: app/templates/contacts/communication_form.html:60
#: app/templates/deals/activity_form.html:37
#: app/templates/integrations/view.html:57
#: app/templates/integrations/view.html:88
#: app/templates/leads/activity_form.html:37 app/utils/i18n_helpers.py:142
#: app/utils/i18n_helpers.py:153 app/utils/i18n_helpers.py:220
#: app/utils/i18n_helpers.py:232
msgid "Pending"
msgstr "Pendiente"

#: app/templates/client_portal/approvals.html:43 app/utils/i18n_helpers.py:143
#: app/utils/i18n_helpers.py:154
msgid "Approved"
msgstr "Aprobado"

#: app/templates/client_portal/approvals.html:53
#: app/templates/quotes/_quotes_list.html:68 app/templates/quotes/list.html:84
#: app/templates/quotes/view.html:77 app/utils/i18n_helpers.py:144
#: app/utils/i18n_helpers.py:155
msgid "Rejected"
msgstr "Rechazado"

#: app/templates/client_portal/approvals.html:63
#: app/templates/client_portal/invoices.html:30
#: app/templates/client_portal/issues.html:23
#: app/templates/client_portal/notifications.html:31
#: app/templates/components/multi_select.html:82
#: app/templates/components/multi_select.html:206
#: app/templates/inventory/movements/list.html:37
#: app/templates/inventory/purchase_orders/list.html:23
#: app/templates/inventory/reservations/list.html:22
#: app/templates/inventory/suppliers/list.html:28
#: app/templates/issues/list.html:38 app/templates/issues/list.html:49
#: app/templates/issues/list.html:63 app/templates/issues/list.html:72
#: app/templates/quotes/list.html:80
#: app/templates/reports/time_entries_report.html:71
#: app/templates/timer/time_entries_overview.html:104
#: app/templates/timer/time_entries_overview.html:112
msgid "All"
msgstr "Todo"

#: app/templates/client_portal/approvals.html:90
msgid "Requested on"
msgstr ""

#: app/templates/client_portal/approvals.html:160
msgid "Request Comment"
msgstr ""

#: app/templates/client_portal/approvals.html:172
#: app/templates/client_portal/notifications.html:108
#: app/templates/integrations/manage.html:634
#: app/templates/tasks/my_tasks.html:330
#: app/templates/weekly_goals/index.html:122
msgid "View Details"
msgstr "Ver detalles"

#: app/templates/client_portal/approvals.html:186
msgid "No Approvals"
msgstr ""

#: app/templates/client_portal/approvals.html:189
msgid "You have no pending time entry approvals. All caught up!"
msgstr ""

#: app/templates/client_portal/approvals.html:191
msgid "No approvals found for this status."
msgstr ""

#: app/templates/client_portal/base.html:277
#: app/templates/client_portal/base.html:362
#: app/templates/client_portal/notifications.html:4
#: app/templates/client_portal/notifications.html:9
#: app/templates/client_portal/notifications.html:14
msgid "Notifications"
msgstr ""

#: app/templates/client_portal/base.html:284
#: app/templates/partials/_bottom_nav.html:17
#: app/templates/partials/_bottom_nav.html:84
#: app/templates/partials/_bottom_nav.html:88
#: app/templates/projects/view.html:49
msgid "More"
msgstr ""

#: app/templates/client_portal/base.html:290
#: app/templates/client_portal/base.html:369
#: app/templates/client_portal/documents.html:4
#: app/templates/client_portal/documents.html:9
#: app/templates/client_portal/documents.html:14
msgid "Documents"
msgstr ""

#: app/templates/client_portal/base.html:296
#: app/templates/client_portal/base.html:375 app/templates/deals/view.html:143
#: app/templates/leads/view.html:136
msgid "Activity"
msgstr ""

#: app/templates/client_portal/base.html:307
msgid "Toggle menu"
msgstr ""

#: app/templates/client_portal/base.html:418
#, fuzzy
msgid "Approval update"
msgstr "Estado de aprobación"

#: app/templates/client_portal/base.html:418
#, fuzzy
msgid "A time entry approval was requested."
msgstr "Aprobación solicitada"

#: app/templates/client_portal/base.html:418
#, fuzzy
msgid "An approval was updated."
msgstr "No se actualizaron proyectos"

#: app/templates/client_portal/dashboard.html:14
#, python-format
msgid "Welcome, %(client_name)s"
msgstr "Bienvenido, %(client_name)s"

#: app/templates/client_portal/dashboard.html:21
#: app/templates/client_portal/dashboard.html:67
#, fuzzy
msgid "Customize dashboard"
msgstr "Personalizar atajos"

#: app/templates/client_portal/dashboard.html:68
msgid "Choose which widgets to show and their order."
msgstr ""

#: app/templates/client_portal/dashboard.html:74
#, fuzzy
msgid "Statistics cards"
msgstr "Estadística"

#: app/templates/client_portal/dashboard.html:75
#, fuzzy
msgid "Pending actions"
msgstr "Secciones de administración"

#: app/templates/client_portal/dashboard.html:77
#, fuzzy
msgid "Recent invoices"
msgstr "Facturas recientes"

#: app/templates/client_portal/dashboard.html:78
#, fuzzy
msgid "Recent time entries"
msgstr "Entradas de tiempo recientes"

#: app/templates/client_portal/dashboard.html:127
#, fuzzy
msgid "Select at least one widget."
msgstr "Seleccione un cliente..."

#: app/templates/client_portal/dashboard.html:147
#, fuzzy
msgid "Failed to save."
msgstr "No se pudo detener el cronómetro"

#: app/templates/client_portal/documents.html:15
msgid "View and download project documents"
msgstr ""

#: app/templates/client_portal/documents.html:41
msgid "Client Document"
msgstr ""

#: app/templates/client_portal/documents.html:67
msgid "Download"
msgstr ""

#: app/templates/client_portal/documents.html:80
msgid "No Documents"
msgstr ""

#: app/templates/client_portal/documents.html:82
msgid "No documents have been shared with you yet. Documents will appear here once they are uploaded and made visible to clients."
msgstr ""

#: app/templates/client_portal/error.html:18
msgid "An error occurred"
msgstr ""

#: app/templates/client_portal/error.html:47 app/templates/errors/400.html:23
#: app/templates/errors/403.html:24 app/templates/errors/404.html:21
#: app/templates/errors/500.html:24 app/templates/errors/generic.html:24
#: app/templates/errors/generic.html:42 app/templates/main/help.html:538
msgid "Go to Dashboard"
msgstr "Ir al panel"

#: app/templates/client_portal/error.html:52
msgid "Login to Client Portal"
msgstr ""

#: app/templates/client_portal/error.html:59 app/templates/errors/400.html:26
#: app/templates/errors/404.html:24 app/templates/errors/generic.html:28
#: app/templates/errors/generic.html:45
msgid "Go Back"
msgstr "Volver"

#: app/templates/client_portal/error.html:69
msgid "If you believe you should have access to the client portal, please contact your administrator or use the login link above."
msgstr ""

#: app/templates/client_portal/invoice_detail.html:16
#: app/templates/client_portal/invoice_detail.html:33
#: app/templates/payments/create.html:44
msgid "Invoice Details"
msgstr "Detalles de la factura"

#: app/templates/client_portal/invoice_detail.html:34
#: app/templates/client_portal/invoices.html:72
#: app/templates/invoices/edit.html:305
#: app/templates/invoices/pdf_default.html:57
#: app/templates/recurring_invoices/view.html:108
#: app/utils/pdf_generator.py:1127
msgid "Issue Date"
msgstr "Fecha de asunto"

#: app/templates/client_portal/invoice_detail.html:45
#, python-format
msgid "This invoice is %(days)d days overdue."
msgstr "Esta factura tiene %(days)d días de retraso."

#: app/templates/client_portal/invoice_detail.html:52
#: app/templates/invoices/edit.html:60 app/utils/pdf_generator_fallback.py:237
msgid "Invoice Items"
msgstr "Artículos de factura"

#: app/templates/client_portal/invoice_detail.html:58
#: app/templates/client_portal/invoice_detail.html:67
#: app/templates/client_portal/quote_detail.html:70
#: app/templates/client_portal/quote_detail.html:88
#: app/templates/inventory/adjustments/list.html:59
#: app/templates/inventory/adjustments/list.html:78
#: app/templates/inventory/movements/form.html:62
#: app/templates/inventory/movements/list.html:58
#: app/templates/inventory/movements/list.html:102
#: app/templates/inventory/reports/movement_history.html:74
#: app/templates/inventory/reports/movement_history.html:118
#: app/templates/inventory/reports/valuation.html:61
#: app/templates/inventory/reports/valuation.html:81
#: app/templates/inventory/reservations/list.html:41
#: app/templates/inventory/reservations/list.html:63
#: app/templates/inventory/stock_items/history.html:65
#: app/templates/inventory/stock_items/history.html:104
#: app/templates/inventory/stock_items/view.html:178
#: app/templates/inventory/stock_items/view.html:189
#: app/templates/inventory/stock_items/view.html:242
#: app/templates/inventory/stock_items/view.html:256
#: app/templates/inventory/transfers/form.html:50
#: app/templates/inventory/transfers/list.html:42
#: app/templates/inventory/transfers/list.html:69
#: app/templates/inventory/warehouses/view.html:132
#: app/templates/inventory/warehouses/view.html:150
#: app/templates/invoices/edit.html:75 app/templates/invoices/edit.html:118
#: app/templates/invoices/edit.html:120 app/templates/invoices/edit.html:541
#: app/templates/kiosk/dashboard.html:172
#: app/templates/kiosk/dashboard.html:263
#: app/templates/projects/add_good.html:45
#: app/templates/projects/edit_good.html:45
#: app/templates/projects/goods.html:41 app/templates/projects/goods.html:63
#: app/templates/quotes/pdf_default.html:96 app/templates/quotes/view.html:103
#: app/utils/pdf_generator_fallback.py:575
msgid "Quantity"
msgstr "Cantidad"

#: app/templates/client_portal/invoice_detail.html:59
#: app/templates/client_portal/invoice_detail.html:68
#: app/templates/client_portal/quote_detail.html:71
#: app/templates/client_portal/quote_detail.html:89
#: app/templates/invoices/edit.html:76 app/templates/invoices/edit.html:124
#: app/templates/invoices/edit.html:544
#: app/templates/invoices/pdf_default.html:90
#: app/templates/projects/add_good.html:50
#: app/templates/projects/edit_good.html:50
#: app/templates/projects/goods.html:42 app/templates/projects/goods.html:64
#: app/templates/quotes/pdf_default.html:97 app/templates/quotes/view.html:104
#: app/utils/pdf_generator.py:1156 app/utils/pdf_generator_fallback.py:240
#: app/utils/pdf_generator_fallback.py:575
msgid "Unit Price"
msgstr "Precio unitario"

#: app/templates/client_portal/invoice_detail.html:111
#: app/templates/payment_gateways/pay.html:3
#: app/templates/payment_gateways/pay.html:8
msgid "Pay Invoice"
msgstr ""

#: app/templates/client_portal/invoice_detail.html:115
#: app/templates/invoices/create.html:6
msgid "Back to Invoices"
msgstr "Volver a Facturas"

#: app/templates/client_portal/invoices.html:15
#, python-format
msgid "Invoices for %(client_name)s"
msgstr "Facturas para %(client_name)s"

#: app/templates/client_portal/invoices.html:50
#: app/templates/invoices/_invoices_list.html:79
#: app/templates/timer/_time_entries_list.html:168
#: app/templates/timer/time_entries_overview.html:106
#: app/templates/timer/time_entries_overview.html:199
#: app/templates/timer/view_timer.html:144 app/utils/i18n_helpers.py:88
#: app/utils/i18n_helpers.py:99
msgid "Unpaid"
msgstr "No pagado"

#: app/templates/client_portal/invoices.html:60
#: app/templates/invoices/list.html:132 app/templates/tasks/_kanban.html:103
#: app/templates/tasks/overdue.html:35 app/utils/i18n_helpers.py:67
#: app/utils/i18n_helpers.py:79
msgid "Overdue"
msgstr "Atrasado"

#: app/templates/client_portal/invoices.html:74
#: app/templates/client_portal/quotes.html:29
#: app/templates/client_portal/quotes.html:54
#: app/templates/expenses/dashboard.html:200
#: app/templates/expenses/list.html:310 app/templates/invoices/edit.html:163
#: app/templates/invoices/edit.html:193 app/templates/payments/list.html:147
#: app/templates/projects/add_cost.html:58
#: app/templates/projects/dashboard.html:375
#: app/templates/projects/edit_cost.html:65
#: app/templates/quotes/_quotes_list.html:36
#: app/templates/quotes/_quotes_list.html:53
#: app/templates/quotes/create.html:97 app/templates/quotes/edit.html:145
#: app/templates/recurring_invoices/view.html:109
msgid "Amount"
msgstr "Cantidad"

#: app/templates/client_portal/invoices.html:103
msgid "days overdue"
msgstr "días de retraso"

#: app/templates/client_portal/invoices.html:153
#: app/templates/client_portal/widgets/invoices.html:45
msgid "No invoices found"
msgstr ""

#: app/templates/client_portal/invoices.html:155
msgid "No paid invoices"
msgstr ""

#: app/templates/client_portal/invoices.html:157
msgid "No unpaid invoices"
msgstr ""

#: app/templates/client_portal/invoices.html:159
msgid "No overdue invoices"
msgstr ""

#: app/templates/client_portal/invoices.html:164
msgid "There are no invoices available at this time. Invoices will appear here once they are created."
msgstr ""

#: app/templates/client_portal/invoices.html:166
msgid "There are no invoices matching this filter. Try selecting a different status."
msgstr ""

#: app/templates/client_portal/invoices.html:173
msgid "View All Invoices"
msgstr ""

#: app/templates/client_portal/issue_detail.html:16
#: app/templates/issues/view.html:8
#, python-format
msgid "Issue #%(id)s"
msgstr ""

#: app/templates/client_portal/issue_detail.html:29
msgid "No description provided."
msgstr ""

#: app/templates/client_portal/issue_detail.html:51
#: app/templates/client_portal/new_issue.html:52
#: app/templates/issues/edit.html:48 app/templates/issues/list.html:47
#: app/templates/issues/list.html:97 app/templates/issues/list.html:123
#: app/templates/issues/new.html:42 app/templates/issues/view.html:111
#: app/templates/project_templates/create.html:79
#: app/templates/project_templates/edit.html:82
#: app/templates/project_templates/edit.html:108
#: app/templates/projects/view.html:429 app/templates/projects/view.html:441
#: app/templates/recurring_tasks/form.html:91
#: app/templates/tasks/_kanban.html:1235
#: app/templates/tasks/_tasks_list.html:60 app/templates/tasks/create.html:59
#: app/templates/tasks/edit.html:69 app/templates/tasks/my_tasks.html:139
msgid "Priority"
msgstr "Prioridad"

#: app/templates/client_portal/issue_detail.html:70
#: app/templates/issues/view.html:41
msgid "Linked Task"
msgstr ""

#: app/templates/client_portal/issue_detail.html:77
#: app/templates/issues/edit.html:70 app/templates/issues/list.html:70
#: app/templates/issues/list.html:98 app/templates/issues/list.html:132
#: app/templates/issues/new.html:64 app/templates/issues/view.html:138
#: app/templates/tasks/_kanban.html:1263
msgid "Assigned To"
msgstr "Asignado a"

#: app/templates/client_portal/issue_detail.html:96
#: app/templates/client_portal/issues.html:35 app/templates/issues/edit.html:41
#: app/templates/issues/list.html:41 app/templates/issues/view.html:102
#: app/templates/issues/view.html:178
msgid "Resolved"
msgstr ""

#: app/templates/client_portal/issue_detail.html:107
#: app/templates/issues/view.html:189
msgid "Back to Issues"
msgstr ""

#: app/templates/client_portal/issues.html:14
msgid "Issue Reports"
msgstr ""

#: app/templates/client_portal/issues.html:15
#, python-format
msgid "Report and track issues for %(client_name)s"
msgstr ""

#: app/templates/client_portal/issues.html:27 app/templates/deals/list.html:24
#: app/templates/issues/edit.html:39 app/templates/issues/list.html:39
#: app/templates/issues/view.html:100
msgid "Open"
msgstr "Abierto"

#: app/templates/client_portal/issues.html:39 app/templates/issues/edit.html:42
#: app/templates/issues/list.html:42 app/templates/issues/view.html:103
msgid "Closed"
msgstr ""

#: app/templates/client_portal/issues.html:43
#: app/templates/client_portal/new_issue.html:4
#: app/templates/client_portal/new_issue.html:10
#: app/templates/client_portal/new_issue.html:15
msgid "Report New Issue"
msgstr ""

#: app/templates/client_portal/issues.html:93
msgid "No issues found."
msgstr ""

#: app/templates/client_portal/login.html:6
msgid "Client Portal Login"
msgstr "Iniciar sesión en el portal del cliente"

#: app/templates/client_portal/login.html:32
msgid "View your projects and invoices"
msgstr "Ver tus proyectos y facturas"

#: app/templates/client_portal/login.html:40
msgid "Sign in to Client Portal"
msgstr "Iniciar sesión en el Portal del Cliente"

#: app/templates/client_portal/login.html:41
msgid "Enter your portal credentials to access your projects and invoices"
msgstr "Introduce las credenciales de tu portal para acceder a tus proyectos y facturas"

#: app/templates/client_portal/login.html:51
#: app/templates/clients/edit.html:124
msgid "portal_username"
msgstr "nombre_usuario_portal"

#: app/templates/client_portal/login.html:57
#: app/templates/client_portal/set_password.html:53
msgid "Enter your password"
msgstr "Introduce tu contraseña"

#: app/templates/client_portal/new_issue.html:16
msgid "Report a bug or issue you've encountered"
msgstr ""

#: app/templates/client_portal/new_issue.html:29
msgid "Brief description of the issue"
msgstr ""

#: app/templates/client_portal/new_issue.html:36
msgid "Detailed description of the issue, steps to reproduce, etc."
msgstr ""

#: app/templates/client_portal/new_issue.html:44
#: app/templates/main/dashboard.html:735
#: app/templates/timer/manual_entry.html:64
#: app/templates/timer/timer_page.html:141
msgid "Select a project (optional)"
msgstr ""

#: app/templates/client_portal/new_issue.html:55
#: app/templates/issues/edit.html:50 app/templates/issues/list.html:50
#: app/templates/issues/new.html:44 app/templates/issues/view.html:116
#: app/templates/project_templates/create.html:81
#: app/templates/project_templates/edit.html:84
#: app/templates/project_templates/edit.html:110
#: app/templates/recurring_tasks/form.html:93
#: app/templates/tasks/create.html:61 app/templates/tasks/create.html:82
#: app/templates/tasks/create.html:470 app/templates/tasks/edit.html:71
#: app/templates/tasks/edit.html:650 app/templates/tasks/my_tasks.html:142
#: app/utils/i18n_helpers.py:39 app/utils/i18n_helpers.py:45
msgid "Low"
msgstr "Bajo"

#: app/templates/client_portal/new_issue.html:56
#: app/templates/issues/edit.html:51 app/templates/issues/list.html:51
#: app/templates/issues/new.html:45 app/templates/issues/view.html:117
#: app/templates/project_templates/create.html:82
#: app/templates/project_templates/edit.html:85
#: app/templates/project_templates/edit.html:111
#: app/templates/recurring_tasks/form.html:94
#: app/templates/tasks/create.html:62 app/templates/tasks/create.html:82
#: app/templates/tasks/create.html:471 app/templates/tasks/edit.html:72
#: app/templates/tasks/edit.html:651 app/templates/tasks/my_tasks.html:143
#: app/utils/i18n_helpers.py:39 app/utils/i18n_helpers.py:45
msgid "Medium"
msgstr "Medio"

#: app/templates/client_portal/new_issue.html:57
#: app/templates/issues/edit.html:52 app/templates/issues/list.html:52
#: app/templates/issues/new.html:46 app/templates/issues/view.html:118
#: app/templates/project_templates/create.html:83
#: app/templates/project_templates/edit.html:86
#: app/templates/project_templates/edit.html:112
#: app/templates/recurring_tasks/form.html:95
#: app/templates/tasks/create.html:63 app/templates/tasks/create.html:82
#: app/templates/tasks/create.html:472 app/templates/tasks/edit.html:73
#: app/templates/tasks/edit.html:652 app/templates/tasks/my_tasks.html:144
#: app/utils/i18n_helpers.py:39 app/utils/i18n_helpers.py:45
msgid "High"
msgstr "Alto"

#: app/templates/client_portal/new_issue.html:58
#: app/templates/issues/edit.html:53 app/templates/issues/list.html:53
#: app/templates/issues/new.html:47 app/templates/issues/view.html:119
#: app/templates/recurring_tasks/form.html:96
#: app/templates/tasks/create.html:64 app/templates/tasks/create.html:82
#: app/templates/tasks/create.html:473 app/templates/tasks/edit.html:74
#: app/templates/tasks/edit.html:653 app/templates/tasks/my_tasks.html:145
#: app/utils/i18n_helpers.py:39 app/utils/i18n_helpers.py:45
msgid "Urgent"
msgstr "Urgente"

#: app/templates/client_portal/new_issue.html:65
msgid "Your Name"
msgstr ""

#: app/templates/client_portal/new_issue.html:68
msgid "Your name (optional)"
msgstr ""

#: app/templates/client_portal/new_issue.html:72
msgid "Your Email"
msgstr ""

#: app/templates/client_portal/new_issue.html:75
msgid "Your email (optional)"
msgstr ""

#: app/templates/client_portal/new_issue.html:85
msgid "Submit Issue"
msgstr ""

#: app/templates/client_portal/notifications.html:15
msgid "Stay updated on your projects and invoices"
msgstr ""

#: app/templates/client_portal/notifications.html:41
#: app/templates/client_portal/widgets/pending_actions.html:24
msgid "Unread"
msgstr ""

#: app/templates/client_portal/notifications.html:56
msgid "Mark All as Read"
msgstr ""

#: app/templates/client_portal/notifications.html:120
msgid "Mark as read"
msgstr ""

#: app/templates/client_portal/notifications.html:140
msgid "No Notifications"
msgstr ""

#: app/templates/client_portal/notifications.html:143
msgid "You have no unread notifications. All caught up!"
msgstr ""

#: app/templates/client_portal/notifications.html:145
msgid "You have no notifications yet. Notifications will appear here when there are updates to your projects or invoices."
msgstr ""

#: app/templates/client_portal/project_comments.html:4
#: app/templates/client_portal/project_comments.html:16
msgid "Project Comments"
msgstr ""

#: app/templates/client_portal/project_comments.html:11
#: app/templates/comments/_comments_section.html:6
#: app/templates/quotes/view.html:274
msgid "Comments"
msgstr "Comentarios"

#: app/templates/client_portal/project_comments.html:22
#: app/templates/comments/_comments_section.html:12
#: app/templates/quotes/view.html:280
msgid "Add Comment"
msgstr "Agregar comentario"

#: app/templates/client_portal/project_comments.html:26
#: app/templates/comments/_comments_section.html:28
#: app/templates/quotes/view.html:290
msgid "Your Comment"
msgstr "Tu comentario"

#: app/templates/client_portal/project_comments.html:29
msgid "Enter your comment..."
msgstr ""

#: app/templates/client_portal/project_comments.html:33
#: app/templates/comments/_comments_section.html:41
#: app/templates/quotes/view.html:301
msgid "Post Comment"
msgstr "Publicar comentario"

#: app/templates/client_portal/project_comments.html:72
msgid "No Comments"
msgstr ""

#: app/templates/client_portal/project_comments.html:73
msgid "Be the first to comment on this project."
msgstr ""

#: app/templates/client_portal/project_comments.html:81
#: app/templates/projects/create.html:11
msgid "Back to Projects"
msgstr "Volver a Proyectos"

#: app/templates/client_portal/projects.html:15
#, python-format
msgid "Projects for %(client_name)s"
msgstr "Proyectos para %(client_name)s"

#: app/templates/client_portal/projects.html:85
msgid "View Time Entries"
msgstr ""

#: app/templates/client_portal/projects.html:99
#: app/templates/client_portal/widgets/projects.html:41
msgid "No projects found"
msgstr ""

#: app/templates/client_portal/projects.html:101
msgid "There are no projects available at this time. Projects will appear here once they are created and assigned to your account."
msgstr ""

#: app/templates/client_portal/quote_detail.html:16
#: app/templates/client_portal/quote_detail.html:33
#: app/templates/quotes/accept.html:15 app/templates/quotes/pdf_default.html:78
#: app/templates/quotes/view.html:57
msgid "Quote Details"
msgstr "Detalles de la cotización"

#: app/templates/client_portal/quote_detail.html:37
#: app/templates/client_portal/quotes.html:28
#: app/templates/client_portal/quotes.html:44
#: app/templates/quotes/create.html:168 app/templates/quotes/edit.html:267
#: app/templates/quotes/pdf_default.html:59 app/templates/quotes/view.html:413
#: app/utils/pdf_generator_fallback.py:562
msgid "Valid Until"
msgstr "Válido hasta"

#: app/templates/client_portal/quote_detail.html:50
msgid "This quote has expired."
msgstr "Esta cotización ha caducado."

#: app/templates/client_portal/quote_detail.html:64
#: app/templates/quotes/view.html:97
msgid "Quote Items"
msgstr "Artículos de cotización"

#: app/templates/client_portal/quote_detail.html:86
#: app/templates/inventory/reports/low_stock.html:30
#: app/templates/inventory/reports/low_stock.html:47
#: app/templates/inventory/reports/turnover.html:45
#: app/templates/inventory/reports/turnover.html:60
#: app/templates/inventory/reports/valuation.html:59
#: app/templates/inventory/reports/valuation.html:79
#: app/templates/inventory/stock_items/form.html:23
#: app/templates/inventory/stock_items/list.html:49
#: app/templates/inventory/stock_items/list.html:62
#: app/templates/inventory/stock_items/view.html:28
#: app/templates/inventory/stock_levels/warehouse.html:46
#: app/templates/inventory/stock_levels/warehouse.html:63
#: app/templates/inventory/warehouses/view.html:85
#: app/templates/inventory/warehouses/view.html:100
#: app/templates/invoices/edit.html:237 app/templates/invoices/edit.html:266
#: app/templates/invoices/edit.html:626
#: app/templates/invoices/pdf_default.html:139
#: app/templates/quotes/_edit_quote_form_scripts.html:237
#: app/templates/quotes/create.html:130 app/templates/quotes/edit.html:204
#: app/templates/quotes/edit.html:228 app/templates/quotes/pdf_default.html:107
#: app/templates/quotes/view.html:119 app/utils/pdf_generator.py:1273
#: app/utils/pdf_generator_reportlab.py:639
msgid "SKU"
msgstr "SKU"

#: app/templates/client_portal/quote_detail.html:122
msgid "Terms & Conditions"
msgstr "Términos y condiciones"

#: app/templates/client_portal/quote_detail.html:135
msgid "Are you sure you want to accept this quote?"
msgstr ""

#: app/templates/client_portal/quote_detail.html:137
#: app/templates/quotes/accept.html:3 app/templates/quotes/accept.html:8
#: app/templates/quotes/view.html:248
msgid "Accept Quote"
msgstr "Aceptar cotización"

#: app/templates/client_portal/quote_detail.html:144
#: app/templates/client_portal/quote_detail.html:155
#: app/templates/client_portal/quote_detail.html:172
#: app/templates/quotes/view.html:252 app/templates/quotes/view.html:254
msgid "Reject Quote"
msgstr "Rechazar cotización"

#: app/templates/client_portal/quote_detail.html:148
#: app/templates/quotes/view.html:15
msgid "Back to Quotes"
msgstr "Volver a Cotizaciones"

#: app/templates/client_portal/quote_detail.html:159
msgid "Reason (optional)"
msgstr ""

#: app/templates/client_portal/quote_detail.html:162
msgid "Please provide a reason for rejecting this quote..."
msgstr ""

#: app/templates/client_portal/quotes.html:15
#, python-format
msgid "Quotes for %(client_name)s"
msgstr "Cotizaciones para %(client_name)s"

#: app/templates/client_portal/quotes.html:48
#: app/templates/integrations/health.html:74
#: app/templates/inventory/reservations/list.html:26
#: app/templates/inventory/reservations/list.html:86
#: app/templates/inventory/reservations/list.html:94
#: app/templates/kiosk/dashboard.html:202
#: app/templates/quotes/_quotes_list.html:70 app/templates/quotes/list.html:85
#: app/templates/quotes/view.html:79 app/templates/quotes/view.html:417
msgid "Expired"
msgstr "Venció"

#: app/templates/client_portal/quotes.html:76
msgid "No quotes found."
msgstr "No se encontraron comillas."

#: app/templates/client_portal/reports.html:15
msgid "Project and invoice summaries"
msgstr ""

#: app/templates/client_portal/reports.html:26
#: app/templates/client_portal/widgets/stats.html:20
#: app/templates/components/support_modal.html:25
#: app/templates/main/donate.html:173
msgid "Hours tracked"
msgstr ""

#: app/templates/client_portal/reports.html:81
#, fuzzy
msgid "Project progress"
msgstr "Código de proyecto"

#: app/templates/client_portal/reports.html:93
#, fuzzy
msgid "Est. / Budget"
msgstr "Por encima del presupuesto"

#: app/templates/client_portal/reports.html:136
msgid "No project hours data available."
msgstr ""

#: app/templates/client_portal/reports.html:149
#, fuzzy
msgid "Task summary"
msgstr "Resumen"

#: app/templates/client_portal/reports.html:153
#, fuzzy, python-format
msgid "Total tasks: %(count)s"
msgstr "Monto total"

#: app/templates/client_portal/reports.html:164
#, fuzzy
msgid "No tasks yet."
msgstr "No hay tareas seleccionadas"

#: app/templates/client_portal/reports.html:178
#, fuzzy
msgid "Time by date (last 30 days)"
msgstr "Ninguna actividad en los últimos 30 días."

#: app/templates/client_portal/reports.html:211
msgid "Recent Time Entries (Last 30 Days)"
msgstr ""

#: app/templates/client_portal/reports.html:263
msgid "No recent time entries."
msgstr ""

#: app/templates/client_portal/set_password.html:6
#: app/templates/client_portal/set_password.html:63
msgid "Set Password"
msgstr "Establecer contraseña"

#: app/templates/client_portal/set_password.html:30
msgid "Set your password to get started"
msgstr "Establece tu contraseña para comenzar"

#: app/templates/client_portal/set_password.html:34
#: app/templates/email/client_portal_password_setup.html:97
msgid "Set Your Password"
msgstr "Establece tu contraseña"

#: app/templates/client_portal/set_password.html:36
msgid "Set a password for your client portal account"
msgstr "Establezca una contraseña para su cuenta del portal del cliente"

#: app/templates/client_portal/set_password.html:57
msgid "Confirm Password"
msgstr "confirmar Contraseña"

#: app/templates/client_portal/set_password.html:60
msgid "Confirm your password"
msgstr "Confirma tu contraseña"

#: app/templates/client_portal/time_entries.html:15
#, python-format
msgid "Time entries for %(client_name)s projects"
msgstr "Entradas de tiempo para %(client_name)s proyectos"

#: app/templates/client_portal/time_entries.html:27
#: app/templates/gantt/view.html:30 app/templates/reports/builder.html:96
#: app/templates/reports/time_entries_report.html:38
#: app/templates/tasks/my_tasks.html:151 app/templates/timer/calendar.html:62
#: app/templates/timer/time_entries_overview.html:91
msgid "All Projects"
msgstr "Todos los proyectos"

#: app/templates/client_portal/time_entries.html:35
msgid "From Date"
msgstr "Desde la fecha"

#: app/templates/client_portal/time_entries.html:42
msgid "To Date"
msgstr "Hasta la fecha"

#: app/templates/client_portal/time_entries.html:148
msgid "Total entries"
msgstr "Entradas totales"

#: app/templates/client_portal/time_entries.html:154
#: app/templates/clients/view.html:409 app/templates/clients/view.html:588
#: app/templates/reports/week_in_review.html:26
#: app/templates/timer/bulk_entry.html:337
msgid "Total hours"
msgstr "Horas totales"

#: app/templates/client_portal/time_entries.html:170
msgid "No time entries match your current filters. Try adjusting your filter criteria."
msgstr ""

#: app/templates/client_portal/time_entries.html:172
msgid "There are no time entries available at this time. Time entries will appear here once they are logged for your projects."
msgstr ""

#: app/templates/client_portal/time_entries.html:179
#: app/templates/timer/time_entries_overview.html:37
#: app/templates/timer/time_entries_overview.html:38
msgid "Clear Filters"
msgstr ""

#: app/templates/client_portal/widgets/invoices.html:8
msgid "Recent Invoices"
msgstr "Facturas recientes"

#: app/templates/client_portal/widgets/invoices.html:11
#: app/templates/client_portal/widgets/pending_actions.html:29
#: app/templates/client_portal/widgets/projects.html:11
#: app/templates/client_portal/widgets/time_entries.html:11
msgid "View All"
msgstr "Ver todo"

#: app/templates/client_portal/widgets/invoices.html:46
msgid "Invoices will appear here once they are created"
msgstr ""

#: app/templates/client_portal/widgets/pending_actions.html:8
msgid "Action Required"
msgstr ""

#: app/templates/client_portal/widgets/pending_actions.html:10
msgid "Time entries awaiting your review"
msgstr ""

#: app/templates/client_portal/widgets/pending_actions.html:14
msgid "Review Now"
msgstr ""

#: app/templates/client_portal/widgets/pending_actions.html:23
msgid "New Updates"
msgstr ""

#: app/templates/client_portal/widgets/pending_actions.html:25
msgid "Notifications waiting for you"
msgstr ""

#: app/templates/client_portal/widgets/projects.html:42
msgid "Projects will appear here once they are created"
msgstr ""

#: app/templates/client_portal/widgets/stats.html:8
msgid "Total active"
msgstr ""

#: app/templates/client_portal/widgets/stats.html:30
msgid "Total Invoices"
msgstr "Facturas totales"

#: app/templates/client_portal/widgets/stats.html:32
msgid "All invoices"
msgstr ""

#: app/templates/client_portal/widgets/time_entries.html:8
#: app/templates/user/profile.html:89
msgid "Recent Time Entries"
msgstr "Entradas de tiempo recientes"

#: app/templates/client_portal/widgets/time_entries.html:69
msgid "Time entries will appear here once they are logged"
msgstr ""

#: app/templates/clients/_clients_list.html:7
#: app/templates/expenses/list.html:171 app/templates/expenses/list.html:250
#: app/templates/projects/_projects_list.html:18
#: app/templates/projects/list.html:99
#: app/templates/reports/export_form.html:196
#: app/templates/reports/export_form.html:329
#: app/templates/reports/time_entries_report.html:93
#: app/templates/tasks/_tasks_list.html:7
msgid "Export to CSV"
msgstr "Exportar a CSV"

#: app/templates/clients/create.html:4 app/templates/clients/create.html:10
#: app/templates/clients/create.html:109 app/templates/projects/create.html:266
#: app/templates/projects/create.html:308
msgid "Create Client"
msgstr "Crear cliente"

#: app/templates/clients/create.html:8
msgid "Back to Clients"
msgstr "Volver a Clientes"

#: app/templates/clients/create.html:10
msgid "Add a new client to manage related projects and billing."
msgstr "Agregue un nuevo cliente para gestionar proyectos y facturación relacionados."

#: app/templates/clients/create.html:21 app/templates/clients/edit.html:21
#: app/templates/projects/create.html:275
msgid "Enter client name"
msgstr "Introduzca el nombre del cliente"

#: app/templates/clients/create.html:24 app/templates/clients/create.html:124
#: app/templates/clients/edit.html:24
#: app/templates/project_templates/create.html:52
#: app/templates/project_templates/edit.html:52
#: app/templates/projects/create.html:278
msgid "Default Hourly Rate"
msgstr "Tarifa por hora predeterminada"

#: app/templates/clients/create.html:25 app/templates/clients/edit.html:25
#: app/templates/projects/create.html:72 app/templates/projects/create.html:279
msgid "e.g. 75.00"
msgstr "p.ej. 75.00"

#: app/templates/clients/create.html:26 app/templates/clients/edit.html:26
msgid "This rate will be automatically filled when creating projects for this client"
msgstr "Esta tarifa se completará automáticamente al crear proyectos para este cliente."

#: app/templates/clients/create.html:33 app/templates/projects/create.html:53
#: app/templates/projects/edit.html:49 app/templates/tasks/create.html:35
msgid "Supports Markdown"
msgstr "Admite rebajas"

#: app/templates/clients/create.html:36 app/templates/clients/edit.html:32
#: app/templates/projects/create.html:284
msgid "Brief description of the client or project scope"
msgstr "Breve descripción del cliente o alcance del proyecto."

#: app/templates/clients/create.html:43 app/templates/clients/edit.html:50
#: app/templates/inventory/suppliers/form.html:36
#: app/templates/inventory/suppliers/list.html:43
#: app/templates/inventory/suppliers/list.html:59
#: app/templates/inventory/suppliers/view.html:47
#: app/templates/inventory/warehouses/form.html:36
#: app/templates/inventory/warehouses/list.html:24
#: app/templates/inventory/warehouses/list.html:39
#: app/templates/inventory/warehouses/view.html:47
#: app/templates/main/help.html:243 app/templates/projects/create.html:288
msgid "Contact Person"
msgstr "Persona de contacto"

#: app/templates/clients/create.html:44 app/templates/clients/edit.html:51
#: app/templates/projects/create.html:289
msgid "Primary contact name"
msgstr "Nombre del contacto principal"

#: app/templates/clients/create.html:48 app/templates/clients/edit.html:55
#: app/templates/projects/create.html:293
msgid "contact@client.com"
msgstr "contacto@cliente.com"

#: app/templates/clients/create.html:54 app/templates/clients/edit.html:37
msgid "Monthly Prepaid Hours"
msgstr "Horas Prepagas Mensuales"

#: app/templates/clients/create.html:55 app/templates/clients/edit.html:38
msgid "e.g. 50"
msgstr "p.ej. 50"

#: app/templates/clients/create.html:56 app/templates/clients/edit.html:39
msgid "Leave empty if this client has no prepaid allocation."
msgstr "Déjelo en blanco si este cliente no tiene asignación prepago."

#: app/templates/clients/create.html:59 app/templates/clients/edit.html:42
msgid "Prepaid Reset Day"
msgstr "Día de reinicio prepago"

#: app/templates/clients/create.html:61 app/templates/clients/edit.html:44
msgid "Day of the month when prepaid hours reset (1-28)."
msgstr "Día del mes en que se restablecen las horas prepagas (1-28)."

#: app/templates/clients/create.html:68 app/templates/clients/edit.html:62
msgid "+1 (555) 123-4567"
msgstr "+1 (555) 123-4567"

#: app/templates/clients/create.html:72 app/templates/clients/edit.html:66
msgid "Client address"
msgstr "Dirección del cliente"

#: app/templates/clients/create.html:80 app/templates/clients/edit.html:74
msgid "These custom fields are defined globally and available for all clients."
msgstr ""

#: app/templates/clients/create.html:94 app/templates/clients/edit.html:88
#: app/templates/projects/create.html:123 app/templates/projects/edit.html:114
msgid "Enter value"
msgstr ""

#: app/templates/clients/create.html:121
msgid "Choose a clear, descriptive name for the client organization."
msgstr "Elija un nombre claro y descriptivo para la organización cliente."

#: app/templates/clients/create.html:125
msgid "Set the standard hourly rate for this client. This will automatically populate when creating new projects."
msgstr "Establezca la tarifa por hora estándar para este cliente. Esto se completará automáticamente al crear nuevos proyectos."

#: app/templates/clients/create.html:128 app/templates/contacts/view.html:25
#: app/templates/leads/view.html:39
msgid "Contact Information"
msgstr "Información del contacto"

#: app/templates/clients/create.html:129
msgid "Add contact details for easy communication and record keeping."
msgstr "Agregue detalles de contacto para facilitar la comunicación y el mantenimiento de registros."

#: app/templates/clients/create.html:132 app/templates/clients/view.html:176
msgid "Prepaid Hours"
msgstr "Horas prepagas"

#: app/templates/clients/create.html:133
msgid "Configure monthly included hours and the reset day if this client has a retainer or prepaid bundle."
msgstr "Configure las horas incluidas mensuales y el día de reinicio si este cliente tiene un anticipo o un paquete prepago."

#: app/templates/clients/create.html:137
msgid "Provide context about the client relationship or typical project types."
msgstr "Proporcione contexto sobre la relación con el cliente o los tipos de proyectos típicos."

#: app/templates/clients/edit.html:4 app/templates/clients/edit.html:10
#: app/templates/clients/view.html:9
msgid "Edit Client"
msgstr "Editar cliente"

#: app/templates/clients/edit.html:104
msgid "Enable portal access for this client. Clients can log in with their own credentials to view projects, invoices, and time entries."
msgstr "Habilite el acceso al portal para este cliente. Los clientes pueden iniciar sesión con sus propias credenciales para ver proyectos, facturas y entradas de tiempo."

#: app/templates/clients/edit.html:109
msgid "Enable Client Portal"
msgstr "Habilitar el portal del cliente"

#: app/templates/clients/edit.html:115
msgid "Enable Issue Reporting"
msgstr ""

#: app/templates/clients/edit.html:118
msgid "Allow clients to report bugs and issues through the portal"
msgstr ""

#: app/templates/clients/edit.html:123
msgid "Portal Username"
msgstr "Nombre de usuario del portal"

#: app/templates/clients/edit.html:125
msgid "Unique username for portal login"
msgstr "Nombre de usuario único para iniciar sesión en el portal"

#: app/templates/clients/edit.html:128
msgid "Portal Password"
msgstr "Contraseña del portal"

#: app/templates/clients/edit.html:129
#: app/templates/integrations/caldav_setup.html:99
#: app/templates/integrations/manage.html:257
msgid "Leave empty to keep current password"
msgstr "Déjelo vacío para mantener la contraseña actual"

#: app/templates/clients/edit.html:130
msgid "Set a new password or leave empty to keep current"
msgstr "Establezca una nueva contraseña o déjela vacía para mantenerla actualizada"

#: app/templates/clients/edit.html:135
msgid "Current portal username"
msgstr "Nombre de usuario actual del portal"

#: app/templates/clients/edit.html:144
msgid "Update Client"
msgstr "Actualizar cliente"

#: app/templates/clients/edit.html:153
msgid "Send Password Setup Email"
msgstr "Enviar correo electrónico de configuración de contraseña"

#: app/templates/clients/edit.html:157
#, python-format
msgid "Send an email to %(email)s with a link to set their portal password."
msgstr "Envíe un correo electrónico a %(email)s con un enlace para establecer su contraseña del portal."

#: app/templates/clients/edit.html:163
msgid "Email address is required to send password setup email. Please set the client email address above."
msgstr "Se requiere una dirección de correo electrónico para enviar el correo electrónico de configuración de contraseña. Configure la dirección de correo electrónico del cliente arriba."

#: app/templates/clients/edit.html:172
msgid "Client Statistics"
msgstr "Estadísticas de clientes"

#: app/templates/clients/edit.html:188
msgid "Est. Total Cost"
msgstr "Est. Costo Total"

#: app/templates/clients/list.html:19
msgid "Filter Clients"
msgstr "Filtrar clientes"

#: app/templates/clients/list.html:20 app/templates/expenses/list.html:66
#: app/templates/invoices/list.html:33 app/templates/mileage/list.html:68
#: app/templates/payments/list.html:46 app/templates/per_diem/list.html:56
#: app/templates/projects/list.html:20 app/templates/quotes/list.html:67
#: app/templates/tasks/list.html:34 app/templates/tasks/my_tasks.html:107
msgid "Toggle Filters"
msgstr "Alternar filtros"

#: app/templates/clients/list.html:77 app/templates/clients/list.html:106
#: app/templates/expenses/list.html:445 app/templates/expenses/list.html:474
#: app/templates/invoices/list.html:304 app/templates/invoices/list.html:333
#: app/templates/mileage/list.html:326 app/templates/mileage/list.html:355
#: app/templates/payments/list.html:281 app/templates/payments/list.html:310
#: app/templates/per_diem/list.html:365 app/templates/per_diem/list.html:394
#: app/templates/projects/list.html:459 app/templates/projects/list.html:488
#: app/templates/quotes/list.html:116 app/templates/quotes/list.html:143
#: app/templates/tasks/list.html:456 app/templates/tasks/list.html:485
#: app/templates/tasks/my_tasks.html:608 app/templates/tasks/my_tasks.html:638
msgid "Hide Filters"
msgstr "Ocultar filtros"

#: app/templates/clients/list.html:84 app/templates/clients/list.html:100
#: app/templates/expenses/list.html:452 app/templates/expenses/list.html:468
#: app/templates/invoices/list.html:311 app/templates/invoices/list.html:327
#: app/templates/mileage/list.html:333 app/templates/mileage/list.html:349
#: app/templates/payments/list.html:288 app/templates/payments/list.html:304
#: app/templates/per_diem/list.html:372 app/templates/per_diem/list.html:388
#: app/templates/projects/list.html:466 app/templates/projects/list.html:482
#: app/templates/quotes/list.html:122 app/templates/quotes/list.html:138
#: app/templates/tasks/list.html:463 app/templates/tasks/list.html:479
#: app/templates/tasks/my_tasks.html:615 app/templates/tasks/my_tasks.html:632
msgid "Show Filters"
msgstr "Mostrar filtros"

#: app/templates/clients/view.html:24
msgid "Assign a project to direct time entries before invoicing."
msgstr ""

#: app/templates/clients/view.html:24
#, fuzzy
msgid "No billable unbilled time for this client."
msgstr "No se encontraron entradas de tiempo no facturadas para este proyecto."

#: app/templates/clients/view.html:25
#, fuzzy
msgid "No unbilled time"
msgstr "Entradas de tiempo no facturadas"

#: app/templates/clients/view.html:25 app/templates/clients/view.html:596
#, fuzzy
msgid "Invoice unbilled time"
msgstr "Artículos de factura"

#: app/templates/clients/view.html:30
msgid "Mark client as Inactive?"
msgstr "¿Marcar cliente como inactivo?"

#: app/templates/clients/view.html:30
msgid "Change Client Status"
msgstr "Cambiar el estado del cliente"

#: app/templates/clients/view.html:32 app/templates/projects/view.html:57
msgid "Mark Inactive"
msgstr "Marcar inactivo"

#: app/templates/clients/view.html:35
msgid "Activate client?"
msgstr "¿Activar cliente?"

#: app/templates/clients/view.html:35
msgid "Activate Client"
msgstr "Activar Cliente"

#: app/templates/clients/view.html:44
msgid "Delete Client"
msgstr "Eliminar cliente"

#: app/templates/clients/view.html:53
#, fuzzy
msgid "Client details and associated projects."
msgstr "Proyectos totales y activos"

#: app/templates/clients/view.html:62 app/templates/integrations/list.html:162
msgid "Manage"
msgstr "Administrar"

#: app/templates/clients/view.html:76 app/templates/contacts/form.html:65
#: app/templates/contacts/list.html:42
msgid "Primary"
msgstr "Primario"

#: app/templates/clients/view.html:87
msgid "more contact(s)"
msgstr "más contacto(s)"

#: app/templates/clients/view.html:92
msgid "No contacts yet"
msgstr "Aún no hay contactos"

#: app/templates/clients/view.html:94
msgid "Add Contact"
msgstr "Agregar contacto"

#: app/templates/clients/view.html:100
msgid "Legacy Contact Info"
msgstr "Información de contacto heredada"

#: app/templates/clients/view.html:178
#, python-format
msgid "Plan includes %(hours)s hours per cycle. Resets on day %(day)s."
msgstr "El plan incluye %(hours)s de horas por ciclo. Se reinicia el día %(day)s."

#: app/templates/clients/view.html:182
msgid "Current cycle start"
msgstr "Inicio del ciclo actual"

#: app/templates/clients/view.html:186
msgid "Remaining hours"
msgstr "Horas restantes"

#: app/templates/clients/view.html:187 app/templates/clients/view.html:191
#: app/templates/invoices/generate_from_time.html:30
#: app/templates/invoices/generate_from_time.html:39
#: app/templates/invoices/generate_from_time.html:57
#: app/templates/projects/view.html:468 app/templates/tasks/_tasks_list.html:88
#: app/templates/tasks/edit.html:170 app/templates/tasks/edit.html:172
#: app/templates/tasks/edit.html:175 app/templates/tasks/view.html:155
msgid "h"
msgstr "h"

#: app/templates/clients/view.html:190
msgid "Consumed this cycle"
msgstr "Consumido este ciclo"

#: app/templates/clients/view.html:201 app/templates/projects/view.html:328
msgid "Attachments"
msgstr ""

#: app/templates/clients/view.html:219 app/templates/projects/view.html:346
msgid "File"
msgstr ""

#: app/templates/clients/view.html:221 app/templates/projects/view.html:348
msgid "Max size: 10 MB. Allowed: images, PDFs, documents, spreadsheets, archives"
msgstr ""

#: app/templates/clients/view.html:224 app/templates/projects/view.html:351
msgid "Description (optional)"
msgstr ""

#: app/templates/clients/view.html:225
msgid "e.g., Contract, Agreement, etc."
msgstr ""

#: app/templates/clients/view.html:230 app/templates/projects/view.html:357
msgid "Visible to client in portal"
msgstr ""

#: app/templates/clients/view.html:272 app/templates/projects/view.html:399
#: app/templates/quotes/view.html:322
msgid "Client Visible"
msgstr "Cliente visible"

#: app/templates/clients/view.html:278 app/templates/comments/_comment.html:83
#: app/templates/projects/view.html:405
msgid "Are you sure you want to delete this attachment?"
msgstr ""

#: app/templates/clients/view.html:278 app/templates/projects/view.html:405
msgid "Delete Attachment"
msgstr ""

#: app/templates/clients/view.html:288 app/templates/projects/view.html:415
msgid "No attachments yet"
msgstr ""

#: app/templates/clients/view.html:322 app/templates/projects/view.html:122
#: app/utils/i18n_helpers.py:51 app/utils/i18n_helpers.py:57
msgid "Archived"
msgstr "Archivado"

#: app/templates/clients/view.html:343
msgid "Recent Hours History"
msgstr ""

#: app/templates/clients/view.html:408
#, python-format
msgid "Showing last %(count)s entries"
msgstr ""

#: app/templates/clients/view.html:414
msgid "No recent time entries found."
msgstr ""

#: app/templates/clients/view.html:424
#: app/templates/inventory/purchase_orders/form.html:59
#: app/templates/quotes/create.html:248 app/templates/quotes/edit.html:334
msgid "Internal Notes"
msgstr "Notas internas"

#: app/templates/clients/view.html:426
msgid "Add Note"
msgstr "Agregar nota"

#: app/templates/clients/view.html:442
msgid "Add an internal note about this client..."
msgstr "Añadir una nota interna sobre este cliente..."

#: app/templates/clients/view.html:458
msgid "Save Note"
msgstr "Guardar nota"

#: app/templates/clients/view.html:482 app/templates/comments/_comment.html:29
msgid "edited"
msgstr "editado"

#: app/templates/clients/view.html:491
msgid "Important"
msgstr "Importante"

#: app/templates/clients/view.html:500
msgid "Unmark"
msgstr "Desmarcar"

#: app/templates/clients/view.html:500
msgid "Mark Important"
msgstr "Marcar importante"

#: app/templates/clients/view.html:527
msgid "No notes yet. Add a note to keep track of important information about this client."
msgstr "Aún no hay notas. Agregue una nota para realizar un seguimiento de información importante sobre este cliente."

#: app/templates/clients/view.html:590
#, fuzzy
msgid "Estimated total"
msgstr "Valor estimado"

#: app/templates/clients/view.html:594
#, fuzzy
msgid "Create a draft invoice?"
msgstr "Crear factura"

#: app/templates/clients/view.html:597
#, fuzzy
msgid "Create invoice"
msgstr "Crear factura"

#: app/templates/clients/view.html:615 app/templates/clients/view.html:621
#, fuzzy
msgid "Could not create invoice."
msgstr "Crear factura"

#: app/templates/clients/view.html:630
msgid "Are you sure you want to delete this note?"
msgstr "¿Estás seguro de que deseas eliminar esta nota?"

#: app/templates/clients/view.html:632
msgid "Delete Note"
msgstr "Eliminar nota"

#: app/templates/comments/_comment.html:28
msgid "Edited on"
msgstr "Editado el"

#: app/templates/comments/_comment.html:45
#: app/templates/comments/_comment.html:161 app/templates/quotes/view.html:370
#: app/templates/quotes/view.html:384
msgid "Reply"
msgstr "Responder"

#: app/templates/comments/_comment.html:103
msgid "Add Attachment"
msgstr ""

#: app/templates/comments/_comment.html:114
msgid "Max 10 MB. Images, PDFs, documents, spreadsheets, archives"
msgstr ""

#: app/templates/comments/_comment.html:157
msgid "Write your reply..."
msgstr "Escribe tu respuesta..."

#: app/templates/comments/_comment.html:184
msgid "Replies are too deeply nested to display."
msgstr ""

#: app/templates/comments/_comment.html:193
msgid "Comment nesting too deep to display."
msgstr ""

#: app/templates/comments/_comments_section.html:30
#: app/templates/quotes/view.html:291
msgid "Share your thoughts, updates, or questions..."
msgstr "Comparta sus pensamientos, actualizaciones o preguntas..."

#: app/templates/comments/_comments_section.html:32
#: app/templates/comments/edit.html:74
msgid "You can use line breaks to format your comment."
msgstr "Puede utilizar saltos de línea para dar formato a su comentario."

#: app/templates/comments/_comments_section.html:34
msgid "Add Image"
msgstr "Agregar imagen"

#: app/templates/comments/_comments_section.html:73
msgid "No comments yet"
msgstr "Aún no hay comentarios"

#: app/templates/comments/_comments_section.html:74
msgid "Start the conversation by adding the first comment."
msgstr "Inicie la conversación agregando el primer comentario."

#: app/templates/comments/_comments_section.html:76
msgid "Add First Comment"
msgstr "Agregar primer comentario"

#: app/templates/comments/edit.html:3 app/templates/comments/edit.html:12
msgid "Edit Comment"
msgstr "Editar comentario"

#: app/templates/comments/edit.html:15 app/templates/invoices/edit.html:7
#: app/templates/setup/initial_setup.html:279
#: app/templates/setup/initial_setup.html:280
#: app/templates/timer/bulk_entry.html:71
#: app/templates/timer/bulk_entry.html:219
#: app/templates/timer/edit_timer.html:386
#: app/templates/timer/edit_timer.html:507
#: app/templates/weekly_goals/view.html:30
msgid "Back"
msgstr "Atrás"

#: app/templates/comments/edit.html:26
msgid "Editing comment on:"
msgstr "Editando comentario sobre:"

#: app/templates/comments/edit.html:54
msgid "Originally posted on"
msgstr "Publicado originalmente en"

#: app/templates/comments/edit.html:70
msgid "Comment Content"
msgstr "Contenido del comentario"

#: app/templates/components/activity_feed_widget.html:18
msgid "All Activities"
msgstr "Todas las actividades"

#: app/templates/components/activity_feed_widget.html:35
msgid "Time Templates"
msgstr "Plantillas de tiempo"

#: app/templates/components/activity_feed_widget.html:103
#: app/templates/components/activity_feed_widget.html:306
#: app/templates/main/dashboard.html:623
#: app/templates/projects/dashboard.html:267
#: app/templates/user/profile.html:153
msgid "No recent activity"
msgstr "Ninguna actividad reciente"

#: app/templates/components/activity_feed_widget.html:104
#: app/templates/components/activity_feed_widget.html:307
msgid "Activity will appear here as you work"
msgstr "La actividad aparecerá aquí mientras trabajas."

#: app/templates/components/activity_feed_widget.html:111
#: app/templates/components/activity_feed_widget.html:296
#: app/templates/components/activity_feed_widget.html:334
msgid "Load More"
msgstr "Cargar más"

#: app/templates/components/activity_feed_widget.html:327
msgid "Failed to load activities"
msgstr "No se pudieron cargar las actividades"

#: app/templates/components/chat_user_selector.html:6
msgid "Start a Chat"
msgstr ""

#: app/templates/components/chat_user_selector.html:17
msgid "Search users..."
msgstr ""

#: app/templates/components/chat_user_selector.html:26
msgid "Loading users..."
msgstr ""

#: app/templates/components/chat_user_selector.html:32
#: app/templates/components/chat_user_selector.html:116
msgid "Failed to load users"
msgstr ""

#: app/templates/components/chat_user_selector.html:43
msgid "No users found"
msgstr ""

#: app/templates/components/chat_user_selector.html:213
msgid "Starting chat..."
msgstr ""

#: app/templates/components/chat_user_selector.html:270
msgid "Failed to start chat"
msgstr ""

#: app/templates/components/client_select.html:8
#: app/templates/components/client_select.html:13
#: app/templates/components/client_select.html:17
#: app/templates/projects/create.html:35 app/templates/projects/edit.html:33
msgid "Client (auto-selected)"
msgstr ""

#: app/templates/components/client_select.html:20
#: app/templates/projects/create.html:38 app/templates/projects/edit.html:36
msgid "Select a client..."
msgstr "Seleccione un cliente..."

#: app/templates/components/client_select.html:20
msgid "Select a client (optional)"
msgstr ""

#: app/templates/components/multi_select.html:47
#: app/templates/components/multi_select.html:209
msgid "Selected"
msgstr ""

#: app/templates/components/multi_select.html:67
msgid "Search..."
msgstr ""

#: app/templates/components/multi_select.html:80
msgid "Select all"
msgstr ""

#: app/templates/components/multi_select.html:105
msgid "No items available"
msgstr ""

#: app/templates/components/multi_select.html:122
#: app/templates/projects/time_entries_overview.html:39
#: app/templates/reports/index.html:94
msgid "Apply"
msgstr ""

#: app/templates/components/offline_indicator.html:10
#: app/templates/integrations/manage.html:630
#: app/templates/integrations/view.html:143
msgid "Sync Now"
msgstr ""

#: app/templates/components/offline_indicator.html:18
msgid "Pending Sync"
msgstr ""

#: app/templates/components/offline_indicator.html:24
#: app/templates/components/offline_indicator.html:56
msgid "No pending items"
msgstr ""

#: app/templates/components/offline_indicator.html:29
msgid "Sync All"
msgstr ""

#: app/templates/components/offline_indicator.html:96
msgid "Error loading queue"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:9
msgid "Toggle chat"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:21
msgid "Chat"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:27
msgid "Start new chat"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:41
msgid "Minimize chat"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:90
msgid "View full"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:331
msgid "Failed to load messages"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:341
msgid "No messages yet"
msgstr ""

#: app/templates/components/persistent_chat_widget.html:403
#: app/templates/components/persistent_chat_widget.html:409
msgid "Failed to send message"
msgstr ""

#: app/templates/components/support_modal.html:12
msgid "Thank you for being a supporter. Sharing the app helps others discover it too."
msgstr ""

#: app/templates/components/support_modal.html:14
msgid "TimeTracker is free and built independently. If it helps you, consider supporting its development."
msgstr ""

#: app/templates/components/support_modal.html:37
msgid "Trusted by teams and freelancers who want simple, reliable time tracking."
msgstr ""

#: app/templates/components/support_modal.html:40
#: app/templates/components/support_modal.html:41
#: app/templates/components/support_modal.html:42
#: app/templates/main/about.html:215 app/templates/main/dashboard.html:653
#: app/templates/main/donate.html:34 app/templates/main/donate.html:43
#, fuzzy
msgid "Donate"
msgstr "Hecho"

#: app/templates/components/support_modal.html:46
#: app/templates/user/license.html:28
msgid "Buy license (€25)"
msgstr ""

#: app/templates/components/support_modal.html:48
#, fuzzy
msgid "Love TimeTracker? Share it"
msgstr "Centro de ayuda de TimeTracker"

#: app/templates/components/support_modal.html:51
msgid "A license is a supporter badge — it does not lock features. You keep full access either way."
msgstr ""

#: app/templates/components/ui.html:52
msgid "Home"
msgstr "Hogar"

#: app/templates/components/ui.html:79
#: app/templates/reports/time_entries_report.html:142
#, fuzzy
msgid "Pagination"
msgstr "Paginación de mis tareas."

#: app/templates/components/ui.html:81
#: app/templates/timer/_time_entries_list.html:224
#, python-format
msgid "Showing %(start)s to %(end)s of %(total)s entries"
msgstr ""

#: app/templates/components/ui.html:750
msgid "Click to upload or drag and drop"
msgstr ""

#: app/templates/contacts/communication_form.html:31
#: app/templates/deals/activity_form.html:28
#: app/templates/leads/activity_form.html:28
msgid "Call"
msgstr "Llamar"

#: app/templates/contacts/communication_form.html:34
msgid "Message"
msgstr "Mensaje"

#: app/templates/contacts/communication_form.html:39
msgid "Direction"
msgstr "Dirección"

#: app/templates/contacts/communication_form.html:41
msgid "Outbound"
msgstr "saliente"

#: app/templates/contacts/communication_form.html:42
msgid "Inbound"
msgstr "Entrante"

#: app/templates/contacts/communication_form.html:47
#: app/templates/deals/activity_form.html:50
#: app/templates/leads/activity_form.html:50 app/templates/quotes/view.html:459
msgid "Subject"
msgstr "Sujeto"

#: app/templates/contacts/communication_form.html:61
#: app/templates/deals/activity_form.html:38
#: app/templates/leads/activity_form.html:38
msgid "Scheduled"
msgstr "Programado"

#: app/templates/contacts/communication_form.html:67
msgid "Follow-up Date"
msgstr "Fecha de seguimiento"

#: app/templates/contacts/communication_form.html:72
msgid "Content/Notes"
msgstr "Contenido/Notas"

#: app/templates/contacts/communication_form.html:79
msgid "Save Communication"
msgstr "Guardar comunicación"

#: app/templates/contacts/form.html:27 app/templates/leads/form.html:25
msgid "First Name"
msgstr "Nombre de pila"

#: app/templates/contacts/form.html:32 app/templates/leads/form.html:30
msgid "Last Name"
msgstr "Apellido"

#: app/templates/contacts/form.html:47 app/templates/contacts/view.html:42
#: app/templates/main/about.html:157
msgid "Mobile"
msgstr "Móvil"

#: app/templates/contacts/form.html:57 app/templates/contacts/view.html:54
msgid "Department"
msgstr "Departamento"

#: app/templates/contacts/form.html:64 app/templates/deals/form.html:40
#: app/templates/deals/view.html:42
msgid "Contact"
msgstr "Contacto"

#: app/templates/contacts/form.html:66
msgid "Billing"
msgstr "Facturación"

#: app/templates/contacts/form.html:67
msgid "Technical"
msgstr "Técnico"

#: app/templates/contacts/form.html:74
msgid "Set as primary contact"
msgstr "Establecer como contacto principal"

#: app/templates/contacts/form.html:89 app/templates/leads/form.html:93
#: app/templates/leads/view.html:122 app/templates/main/search.html:38
#: app/templates/project_templates/create.html:35
#: app/templates/project_templates/edit.html:35
#: app/templates/project_templates/view.html:112
#: app/templates/reports/user_report.html:82
#: app/templates/tasks/_kanban.html:1299
#: app/templates/tasks/_tasks_list.html:32
#: app/templates/tasks/_tasks_list.html:49 app/templates/tasks/create.html:119
#: app/templates/tasks/edit.html:127 app/templates/tasks/list.html:45
#: app/templates/tasks/my_tasks.html:123 app/templates/tasks/view.html:139
#: app/templates/timer/_time_entries_list.html:42
#: app/templates/timer/_time_entries_list.html:122
#: app/templates/timer/bulk_entry.html:198
#: app/templates/timer/calendar.html:192 app/templates/timer/calendar.html:880
#: app/templates/timer/edit_timer.html:348
#: app/templates/timer/edit_timer.html:460
#: app/templates/timer/manual_entry.html:148
#: app/templates/timer/time_entries_export_pdf.html:20
#: app/templates/timer/view_timer.html:52
msgid "Tags"
msgstr "Etiquetas"

#: app/templates/contacts/form.html:96
msgid "Save Contact"
msgstr "Guardar contacto"

#: app/templates/contacts/list.html:63
msgid "Set Primary"
msgstr "Establecer primario"

#: app/templates/contacts/list.html:76
msgid "No contacts found"
msgstr "No se encontraron contactos"

#: app/templates/contacts/list.html:78
msgid "Add First Contact"
msgstr "Agregar primer contacto"

#: app/templates/contacts/view.html:29
msgid "Primary Contact"
msgstr "Contacto principal"

#: app/templates/contacts/view.html:81
msgid "Communication History"
msgstr "Historia de la comunicación"

#: app/templates/contacts/view.html:83
msgid "Add Communication"
msgstr "Agregar comunicación"

#: app/templates/contacts/view.html:104
msgid "No communications recorded"
msgstr "No se registraron comunicaciones"

#: app/templates/deals/activity_form.html:4
#: app/templates/deals/activity_form.html:10
#: app/templates/deals/activity_form.html:15
#: app/templates/deals/activity_form.html:60 app/templates/deals/view.html:15
#: app/templates/deals/view.html:145 app/templates/leads/activity_form.html:4
#: app/templates/leads/activity_form.html:10
#: app/templates/leads/activity_form.html:15
#: app/templates/leads/activity_form.html:60 app/templates/leads/view.html:15
#: app/templates/leads/view.html:138
msgid "Add Activity"
msgstr ""

#: app/templates/deals/activity_form.html:42
#: app/templates/leads/activity_form.html:42
#, fuzzy
msgid "Activity Date"
msgstr "Activar"

#: app/templates/deals/activity_form.html:51
#: app/templates/leads/activity_form.html:51
msgid "Brief subject or title"
msgstr ""

#: app/templates/deals/form.html:25 app/templates/deals/list.html:50
#: app/templates/deals/list.html:62 app/templates/leads/convert_to_deal.html:25
msgid "Deal Name"
msgstr "Nombre de la oferta"

#: app/templates/deals/form.html:32 app/templates/leads/convert_to_deal.html:31
msgid "Select Client"
msgstr "Seleccionar Cliente"

#: app/templates/deals/form.html:42
msgid "Select Contact"
msgstr "Seleccione Contacto"

#: app/templates/deals/form.html:52 app/templates/deals/list.html:30
#: app/templates/deals/list.html:52 app/templates/deals/list.html:66
#: app/templates/deals/view.html:47
#: app/templates/invoice_approvals/list.html:32
#: app/templates/invoice_approvals/view.html:70
#: app/templates/leads/convert_to_deal.html:38
msgid "Stage"
msgstr "Escenario"

#: app/templates/deals/form.html:61
msgid "Deal Value"
msgstr "Valor de la oferta"

#: app/templates/deals/form.html:75 app/templates/leads/convert_to_deal.html:46
msgid "Win Probability"
msgstr "Probabilidad de ganar"

#: app/templates/deals/form.html:80 app/templates/leads/convert_to_deal.html:50
msgid "Expected Close Date"
msgstr "Fecha de cierre prevista"

#: app/templates/deals/form.html:86 app/templates/deals/view.html:126
msgid "Related Quote"
msgstr "Cita relacionada"

#: app/templates/deals/form.html:88
msgid "Select Quote"
msgstr "Seleccionar Cotización"

#: app/templates/deals/form.html:109
msgid "Save Deal"
msgstr "Guardar oferta"

#: app/templates/deals/list.html:25
msgid "Won"
msgstr "Ganado"

#: app/templates/deals/list.html:26
msgid "Lost"
msgstr "Perdido"

#: app/templates/deals/list.html:32
msgid "All Stages"
msgstr "Todas las etapas"

#: app/templates/deals/list.html:53 app/templates/deals/list.html:71
#: app/templates/deals/view.html:60
msgid "Value"
msgstr "Valor"

#: app/templates/deals/list.html:54 app/templates/deals/list.html:78
#: app/templates/deals/view.html:65
msgid "Probability"
msgstr "Probabilidad"

#: app/templates/deals/list.html:55 app/templates/deals/list.html:79
#: app/templates/deals/view.html:70
msgid "Expected Close"
msgstr "Cierre esperado"

#: app/templates/deals/list.html:91
msgid "No deals found"
msgstr "No se encontraron ofertas"

#: app/templates/deals/list.html:93
msgid "Create First Deal"
msgstr "Crear primer trato"

#: app/templates/deals/view.html:16
msgid "Pipeline"
msgstr ""

#: app/templates/deals/view.html:32
msgid "Deal Information"
msgstr ""

#: app/templates/deals/view.html:76
msgid "Actual Close"
msgstr ""

#: app/templates/deals/view.html:82 app/templates/leads/view.html:102
msgid "Owner"
msgstr ""

#: app/templates/deals/view.html:88
msgid "Related Lead"
msgstr ""

#: app/templates/deals/view.html:119
msgid "Loss Reason"
msgstr ""

#: app/templates/deals/view.html:133 app/templates/quotes/view.html:179
msgid "Related Project"
msgstr "Proyecto relacionado"

#: app/templates/deals/view.html:158 app/templates/leads/view.html:151
msgid "by"
msgstr ""

#: app/templates/deals/view.html:171 app/templates/leads/view.html:164
msgid "No activities recorded yet"
msgstr ""

#: app/templates/deals/view.html:173 app/templates/leads/view.html:166
msgid "Add first activity"
msgstr ""

#: app/templates/deals/view.html:180
#, fuzzy
msgid "History"
msgstr "Historial de goles"

#: app/templates/deals/view.html:183
#, fuzzy
msgid "View full history"
msgstr "Ver todos los detalles"

#: app/templates/deals/view.html:226
msgid "No change history yet"
msgstr ""

#: app/templates/email/comment_mention.html:70
msgid "You Were Mentioned"
msgstr "Fuiste mencionado"

#: app/templates/email/comment_mention.html:90
msgid "View Task & Reply"
msgstr "Ver tarea y responder"

#: app/templates/email/invoice.html:63
#: app/templates/inventory/movements/list.html:38
#: app/templates/invoice_approvals/list.html:27
#: app/templates/invoice_approvals/request.html:9
#: app/templates/invoice_approvals/view.html:10
#: app/templates/invoices/pdf_default.html:5
#: app/templates/payments/list.html:142 app/utils/pdf_generator.py:1032
#: app/utils/pdf_generator.py:1042
msgid "Invoice"
msgstr "Factura"

#: app/templates/email/overdue_invoice.html:65
msgid "Invoice Overdue"
msgstr "Factura vencida"

#: app/templates/email/overdue_invoice.html:106
#: app/templates/invoice_approvals/view.html:13
#: app/templates/invoices/view.html:46
msgid "View Invoice"
msgstr "Ver factura"

#: app/templates/email/quote.html:63
#: app/templates/inventory/movements/list.html:39
#: app/templates/quotes/pdf_default.html:5 app/utils/pdf_generator.py:2310
msgid "Quote"
msgstr "Cita"

#: app/templates/email/quote_approval_rejected.html:74
msgid "Quote Approval Rejected"
msgstr "Aprobación de cotización rechazada"

#: app/templates/email/quote_approval_rejected.html:98
#: app/templates/email/quote_approved.html:84
#: app/templates/email/quote_expired.html:83
#: app/templates/email/quote_expiring.html:93
#: app/templates/email/quote_sent.html:81
msgid "View Quote"
msgstr "Ver cotización"

#: app/templates/email/quote_approval_request.html:67
msgid "Approval Requested"
msgstr "Aprobación solicitada"

#: app/templates/email/quote_approval_request.html:83
msgid "Review Quote"
msgstr "Revisar cotización"

#: app/templates/email/quote_approved.html:67
msgid "Quote Approved"
msgstr "Cotización aprobada"

#: app/templates/email/quote_expired.html:67
msgid "Quote Expired"
msgstr "Cotización caducada"

#: app/templates/email/quote_expiring.html:74
msgid "Quote Expiring Soon"
msgstr "La cotización vencerá pronto"

#: app/templates/email/quote_sent.html:67
msgid "Quote Sent"
msgstr "Cotización enviada"

#: app/templates/email/task_assigned.html:71
msgid "Task Assignment"
msgstr "Asignación de tareas"

#: app/templates/email/task_assigned.html:117 app/templates/tasks/edit.html:280
msgid "View Task"
msgstr "Ver tarea"

#: app/templates/email/test_email.html:115
msgid "Test Details"
msgstr "Detalles de la prueba"

#: app/templates/email/weekly_summary.html:89
msgid "Your Weekly Summary"
msgstr "Su resumen semanal"

#: app/templates/errors/400.html:3
msgid "400 Bad Request"
msgstr "400 Solicitud incorrecta"

#: app/templates/errors/400.html:13
msgid "Invalid Request"
msgstr "Solicitud no válida"

#: app/templates/errors/400.html:15
msgid "The request you made is invalid or contains errors. This could be due to:"
msgstr "La solicitud que realizó no es válida o contiene errores. Esto podría deberse a:"

#: app/templates/errors/400.html:18
msgid "Missing or invalid form data"
msgstr "Datos de formulario faltantes o no válidos"

#: app/templates/errors/400.html:19
msgid "Malformed request parameters"
msgstr "Parámetros de solicitud mal formados"

#: app/templates/errors/403.html:15
msgid "You don't have permission to access this resource. This could be due to:"
msgstr "No tienes permiso para acceder a este recurso. Esto podría deberse a:"

#: app/templates/errors/403.html:18
msgid "Insufficient privileges"
msgstr "Privilegios insuficientes"

#: app/templates/errors/403.html:19
msgid "Not logged in"
msgstr "No iniciado sesión"

#: app/templates/errors/403.html:20
msgid "Resource access restrictions"
msgstr "Restricciones de acceso a recursos"

#: app/templates/errors/500.html:17
msgid "Something went wrong on our end. Please try again later."
msgstr "Algo salió mal por nuestra parte. Inténtelo de nuevo más tarde."

#: app/templates/errors/500.html:21
msgid "Try Again"
msgstr "Intentar otra vez"

#: app/templates/errors/generic.html:17
msgid "An error occurred while processing your request."
msgstr "Se produjo un error al procesar su solicitud."

#: app/templates/errors/generic.html:32
msgid "Refresh Page"
msgstr "Actualizar página"

#: app/templates/errors/generic.html:36
msgid "Go to Login"
msgstr "Ir a Iniciar sesión"

#: app/templates/expense_categories/form.html:34
msgid "e.g., Travel, Meals, Office Supplies"
msgstr "por ejemplo, viajes, comidas, material de oficina"

#: app/templates/expense_categories/form.html:44
msgid "e.g., TRAVEL, MEALS"
msgstr "por ejemplo, VIAJES, COMIDAS"

#: app/templates/expense_categories/form.html:54
msgid "Brief description of this category..."
msgstr "Breve descripción de esta categoría..."

#: app/templates/expense_categories/form.html:73
msgid "e.g., fa-plane, fa-utensils"
msgstr "por ejemplo, fa-avión, fa-utensilios"

#: app/templates/expense_categories/form.html:142
msgid "e.g., 19.00"
msgstr "por ejemplo, 19.00"

#: app/templates/expenses/dashboard.html:195
#: app/templates/expenses/list.html:305
#: app/templates/inventory/reports/valuation.html:30
#: app/templates/inventory/reports/valuation.html:60
#: app/templates/inventory/reports/valuation.html:80
#: app/templates/inventory/stock_items/form.html:35
#: app/templates/inventory/stock_items/list.html:25
#: app/templates/inventory/stock_items/list.html:51
#: app/templates/inventory/stock_items/list.html:68
#: app/templates/inventory/stock_items/view.html:32
#: app/templates/inventory/stock_levels/list.html:29
#: app/templates/inventory/stock_levels/warehouse.html:21
#: app/templates/inventory/stock_levels/warehouse.html:47
#: app/templates/inventory/stock_levels/warehouse.html:64
#: app/templates/invoices/edit.html:162 app/templates/invoices/edit.html:234
#: app/templates/invoices/pdf_default.html:142
#: app/templates/kiosk/dashboard.html:123
#: app/templates/project_templates/create.html:30
#: app/templates/project_templates/edit.html:30
#: app/templates/project_templates/list.html:22
#: app/templates/projects/add_cost.html:37
#: app/templates/projects/add_good.html:29
#: app/templates/projects/edit_cost.html:44
#: app/templates/projects/edit_good.html:29
#: app/templates/projects/goods.html:40 app/templates/projects/goods.html:60
#: app/templates/quotes/create.html:96 app/templates/quotes/create.html:127
#: app/templates/quotes/edit.html:144 app/templates/quotes/edit.html:201
#: app/utils/pdf_generator.py:1276 app/utils/pdf_generator_reportlab.py:642
msgid "Category"
msgstr "Categoría"

#: app/templates/expenses/form.html:23
#: app/templates/inventory/purchase_orders/form.html:25
#: app/templates/quotes/create.html:28 app/templates/quotes/edit.html:28
#: app/templates/recurring_tasks/form.html:26
msgid "Basic Information"
msgstr "Información básica"

#: app/templates/expenses/form.html:33
msgid "e.g., Flight to Berlin"
msgstr "por ejemplo, vuelo a Berlín"

#: app/templates/expenses/form.html:42
msgid "Additional details about the expense..."
msgstr "Detalles adicionales sobre el gasto..."

#: app/templates/expenses/form.html:52
#, fuzzy
msgid "Select Category"
msgstr "Categoría"

#: app/templates/expenses/form.html:75
#, fuzzy
msgid "Amount Details"
msgstr "Detalles de pago"

#: app/templates/expenses/form.html:124
#, fuzzy
msgid "Association"
msgstr "Ubicación"

#: app/templates/expenses/form.html:158 app/templates/payments/view.html:21
msgid "Payment Details"
msgstr "Detalles de pago"

#: app/templates/expenses/form.html:192
msgid "e.g., Lufthansa"
msgstr "por ejemplo, Lufthansa"

#: app/templates/expenses/form.html:201
#, fuzzy
msgid "Receipt & Additional Information"
msgstr "información adicional"

#: app/templates/expenses/form.html:222
msgid "Receipt/Invoice Number"
msgstr "Número de recibo/factura"

#: app/templates/expenses/form.html:226
msgid "e.g., INV-2024-001"
msgstr "por ejemplo, INV-2024-001"

#: app/templates/expenses/form.html:237
msgid "e.g., conference, client-meeting, urgent"
msgstr "por ejemplo, conferencia, reunión con clientes, urgente"

#: app/templates/expenses/form.html:246 app/templates/mileage/form.html:238
#: app/templates/per_diem/form.html:190
msgid "Additional notes..."
msgstr "Notas adicionales..."

#: app/templates/expenses/form.html:254
#, fuzzy
msgid "Options"
msgstr "Opcional"

#: app/templates/expenses/list.html:65
msgid "Filter Expenses"
msgstr "Filtrar gastos"

#: app/templates/expenses/list.html:203
msgid "Delete Selected Expenses"
msgstr "Eliminar gastos seleccionados"

#: app/templates/expenses/list.html:223
msgid "Change Status for Selected Expenses"
msgstr "Cambiar estado de gastos seleccionados"

#: app/templates/expenses/view.html:252
msgid "Associated With"
msgstr "Asociado con"

#: app/templates/expenses/view.html:348
msgid "Reject Expense"
msgstr "Rechazar Gasto"

#: app/templates/expenses/view.html:357
msgid "Explain why this expense is being rejected..."
msgstr "Explique por qué se rechaza este gasto..."

#: app/templates/expenses/view.html:397
msgid "Are you sure you want to delete this expense?"
msgstr "¿Estás seguro de que deseas eliminar este gasto?"

#: app/templates/expenses/view.html:399
msgid "Delete Expense"
msgstr "Eliminar Gasto"

#: app/templates/gantt/view.html:13 app/templates/kanban/board.html:15
msgid "Add task"
msgstr ""

#: app/templates/import_export/index.html:4
#: app/templates/import_export/index.html:13
msgid "Import/Export Data"
msgstr "Importar/exportar datos"

#: app/templates/import_export/index.html:8
msgid "Import/Export"
msgstr "Importar/Exportar"

#: app/templates/import_export/index.html:14
msgid "Import data from other time trackers or export your data for GDPR compliance and backups"
msgstr "Importe datos de otros rastreadores de tiempo o exporte sus datos para cumplir con el RGPD y realizar copias de seguridad"

#: app/templates/import_export/index.html:24
msgid "Import Data"
msgstr "Importar datos"

#: app/templates/import_export/index.html:29
msgid "CSV Import - Time Entries"
msgstr ""

#: app/templates/import_export/index.html:30
msgid "Import time entries from a CSV file"
msgstr "Importar entradas de tiempo desde un archivo CSV"

#: app/templates/import_export/index.html:34
#: app/templates/import_export/index.html:53
msgid "Choose CSV File"
msgstr "Elija el archivo CSV"

#: app/templates/import_export/index.html:38
#: app/templates/import_export/index.html:57
msgid "Download Template"
msgstr "Descargar plantilla"

#: app/templates/import_export/index.html:48
msgid "CSV Import - Clients"
msgstr ""

#: app/templates/import_export/index.html:49
msgid "Import clients with custom fields and multiple contacts from a CSV file"
msgstr ""

#: app/templates/import_export/index.html:63
msgid "Skip duplicate clients"
msgstr ""

#: app/templates/import_export/index.html:66
msgid "Use these fields for duplicate detection:"
msgstr ""

#: app/templates/import_export/index.html:72
msgid "Custom fields (comma-separated):"
msgstr ""

#: app/templates/import_export/index.html:73
msgid "e.g., debtor_number, erp_id"
msgstr ""

#: app/templates/import_export/index.html:75
msgid "Example: Enter \"debtor_number\" to detect duplicates by debtor number only (not by name)"
msgstr ""

#: app/templates/import_export/index.html:85
#: app/templates/import_export/index.html:211
msgid "Import from Toggl Track"
msgstr "Importar desde Toggl Track"

#: app/templates/import_export/index.html:86
msgid "Import time entries from Toggl Track"
msgstr "Importar entradas de tiempo desde Toggl Track"

#: app/templates/import_export/index.html:89
msgid "Import from Toggl"
msgstr "Importar desde Toggl"

#: app/templates/import_export/index.html:97
#: app/templates/import_export/index.html:101
#: app/templates/import_export/index.html:249
msgid "Import from Harvest"
msgstr "Importar desde cosecha"

#: app/templates/import_export/index.html:98
msgid "Import time entries from Harvest"
msgstr "Importar entradas de tiempo desde Harvest"

#: app/templates/import_export/index.html:110
msgid "Restore from Backup"
msgstr "Restaurar desde copia de seguridad"

#: app/templates/import_export/index.html:111
msgid "Restore data from a JSON or ZIP backup file"
msgstr ""

#: app/templates/import_export/index.html:125
msgid "Import History"
msgstr "Historial de importación"

#: app/templates/import_export/index.html:137
msgid "Export Data"
msgstr "Exportar datos"

#: app/templates/import_export/index.html:142
msgid "Full Data Export (GDPR)"
msgstr "Exportación completa de datos (GDPR)"

#: app/templates/import_export/index.html:143
msgid "Export all your personal data"
msgstr "Exporta todos tus datos personales"

#: app/templates/import_export/index.html:147
msgid "Export as JSON"
msgstr "Exportar como JSON"

#: app/templates/import_export/index.html:150
msgid "Export as ZIP"
msgstr "Exportar como ZIP"

#: app/templates/import_export/index.html:160
msgid "Filtered Export"
msgstr "Exportación filtrada"

#: app/templates/import_export/index.html:161
msgid "Export specific data with filters"
msgstr "Exportar datos específicos con filtros"

#: app/templates/import_export/index.html:164
msgid "Export with Filters"
msgstr "Exportar con filtros"

#: app/templates/import_export/index.html:172
msgid "Export Clients"
msgstr ""

#: app/templates/import_export/index.html:173
msgid "Export all clients with custom fields and contacts to CSV"
msgstr ""

#: app/templates/import_export/index.html:176
msgid "Export Clients to CSV"
msgstr ""

#: app/templates/import_export/index.html:186
msgid "Create a full database backup"
msgstr "Crear una copia de seguridad completa de la base de datos"

#: app/templates/import_export/index.html:199
msgid "Export History"
msgstr "Historial de exportación"

#: app/templates/import_export/index.html:215
#: app/templates/import_export/index.html:258
msgid "API Token"
msgstr "Ficha API"

#: app/templates/import_export/index.html:220
msgid "Workspace ID"
msgstr "ID del espacio de trabajo"

#: app/templates/import_export/index.html:236
#: app/templates/import_export/index.html:274
msgid "Import"
msgstr "Importar"

#: app/templates/import_export/index.html:253
msgid "Account ID"
msgstr "ID de cuenta"

#: app/templates/integrations/activitywatch_setup.html:4
#: app/templates/integrations/activitywatch_setup.html:14
msgid "ActivityWatch Setup"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:15
msgid "Import window and web activity from ActivityWatch (aw-server) as automatic time entries"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:25
#: app/templates/integrations/caldav_setup.html:25
msgid "Server Connection"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:29
msgid "ActivityWatch Server URL"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:39
msgid "Base URL of your aw-server (no trailing slash). aw-server must be running and reachable from this server."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:40
msgid "Use http://localhost:5600 if TimeTracker runs on the same machine."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:47
#: app/templates/integrations/caldav_setup.html:126
msgid "Import Settings"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:51
#: app/templates/integrations/caldav_setup.html:130
msgid "Default Project"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:57
#: app/templates/integrations/caldav_setup.html:136
msgid "No project (import without project)"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:66
msgid "Assign imported activity events to this project. Leave empty to import without a project."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:72
#: app/templates/integrations/caldav_setup.html:153
msgid "No active projects found. Events will be imported without a project."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:73
#: app/templates/integrations/caldav_setup.html:154
msgid "You can create a project later and assign events to it."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:76
#: app/templates/integrations/caldav_setup.html:157
msgid "Create a project"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:84
#: app/templates/integrations/caldav_setup.html:165
msgid "Lookback Days"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:94
msgid "How many days back to import on full sync (1–90, default: 7)."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:100
msgid "Bucket IDs"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:108
msgid "Comma-separated or JSON array. Leave empty to use all aw-watcher-window_* and aw-watcher-web_* buckets."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:119
#: app/templates/integrations/caldav_setup.html:186
msgid "Enable automatic sync"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:122
msgid "Automatically sync activity on a schedule. You can also trigger manual syncs."
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:128
#: app/templates/integrations/wizard_asana.html:128
#: app/templates/integrations/wizard_github.html:155
#: app/templates/integrations/wizard_gitlab.html:174
#: app/templates/integrations/wizard_jira.html:168
#: app/templates/integrations/wizard_quickbooks.html:125
#: app/templates/integrations/wizard_xero.html:108
msgid "Sync Schedule"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:133
#: app/templates/integrations/wizard_asana.html:131
#: app/templates/integrations/wizard_github.html:158
#: app/templates/integrations/wizard_gitlab.html:178
#: app/templates/integrations/wizard_jira.html:173
#: app/templates/integrations/wizard_quickbooks.html:128
#: app/templates/integrations/wizard_xero.html:111
msgid "Manual only"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:134
#: app/templates/integrations/wizard_asana.html:132
#: app/templates/integrations/wizard_github.html:159
#: app/templates/integrations/wizard_gitlab.html:179
#: app/templates/integrations/wizard_jira.html:176
#: app/templates/integrations/wizard_quickbooks.html:129
#: app/templates/integrations/wizard_xero.html:112
msgid "Every hour"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:135
#: app/templates/integrations/wizard_asana.html:133
#: app/templates/integrations/wizard_github.html:160
#: app/templates/integrations/wizard_gitlab.html:180
#: app/templates/integrations/wizard_jira.html:179
#: app/templates/integrations/wizard_quickbooks.html:130
#: app/templates/integrations/wizard_xero.html:113
#: app/templates/recurring_tasks/form.html:60
#: app/templates/reports/index.html:485
#: app/templates/reports/schedule_form.html:47
msgid "Daily"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:156
msgid "Test & Sync"
msgstr ""

#: app/templates/integrations/activitywatch_setup.html:158
msgid "After saving, you can test the connection and run a sync from the integration page."
msgstr ""

#: app/templates/integrations/caldav_setup.html:4
#: app/templates/integrations/caldav_setup.html:14
msgid "CalDAV Calendar Setup"
msgstr ""

#: app/templates/integrations/caldav_setup.html:15
msgid "Connect to a CalDAV server (e.g., Zimbra) to import calendar events as time entries"
msgstr ""

#: app/templates/integrations/caldav_setup.html:29
msgid "CalDAV Server URL"
msgstr ""

#: app/templates/integrations/caldav_setup.html:29
msgid "optional if calendar URL is provided"
msgstr ""

#: app/templates/integrations/caldav_setup.html:38
msgid "Base URL of your CalDAV server. Used for calendar discovery."
msgstr ""

#: app/templates/integrations/caldav_setup.html:39
msgid "Example: https://mail.example.com/dav for Zimbra"
msgstr ""

#: app/templates/integrations/caldav_setup.html:45
msgid "Calendar URL"
msgstr ""

#: app/templates/integrations/caldav_setup.html:45
msgid "optional if server URL is provided"
msgstr ""

#: app/templates/integrations/caldav_setup.html:54
msgid "Direct URL to your calendar collection. If provided, server URL is only used for discovery."
msgstr ""

#: app/templates/integrations/caldav_setup.html:60
msgid "Calendar Name"
msgstr ""

#: app/templates/integrations/caldav_setup.html:67
msgid "My Calendar"
msgstr ""

#: app/templates/integrations/caldav_setup.html:73
msgid "Authentication"
msgstr ""

#: app/templates/integrations/caldav_setup.html:87
#: app/templates/integrations/manage.html:245
msgid "Your CalDAV username (usually your email address)."
msgstr ""

#: app/templates/integrations/caldav_setup.html:102
#: app/templates/integrations/manage.html:260
msgid "Your CalDAV password or app-specific password."
msgstr ""

#: app/templates/integrations/caldav_setup.html:104
#: app/templates/integrations/manage.html:262
msgid "Leave empty to keep your current password."
msgstr ""

#: app/templates/integrations/caldav_setup.html:116
msgid "Verify SSL certificate"
msgstr ""

#: app/templates/integrations/caldav_setup.html:119
msgid "Uncheck only if using a self-signed certificate."
msgstr ""

#: app/templates/integrations/caldav_setup.html:145
msgid "Calendar events will be imported as time entries. If a project is selected, events will be assigned to that project."
msgstr ""

#: app/templates/integrations/caldav_setup.html:146
msgid "If an event title contains a project name, that project will be used instead."
msgstr ""

#: app/templates/integrations/caldav_setup.html:147
msgid "If no project is selected, events will be imported without a project."
msgstr ""

#: app/templates/integrations/caldav_setup.html:175
msgid "How many days back to import events from (default: 90)."
msgstr ""

#: app/templates/integrations/caldav_setup.html:189
msgid "Automatically sync calendar events every hour. You can still trigger manual syncs."
msgstr ""

#: app/templates/integrations/caldav_setup.html:212
msgid "After saving, you can test the connection and discover available calendars."
msgstr ""

#: app/templates/integrations/health.html:4
#, fuzzy
msgid "Integration Health"
msgstr "Integración horaria"

#: app/templates/integrations/health.html:23
#: app/templates/reports/builder.html:185
#: app/templates/reports/saved_views_list.html:28
#: app/templates/reports/saved_views_list.html:41
msgid "Scope"
msgstr ""

#: app/templates/integrations/health.html:25
#, fuzzy
msgid "Last sync"
msgstr "El año pasado"

#: app/templates/integrations/health.html:26
#, fuzzy
msgid "Last status"
msgstr "Estado de actualización"

#: app/templates/integrations/health.html:27
#, fuzzy
msgid "Credentials"
msgstr "Detalles"

#: app/templates/integrations/health.html:28
#, fuzzy
msgid "Last error"
msgstr "El año pasado"

#: app/templates/integrations/health.html:62 app/utils/i18n_helpers.py:224
#: app/utils/i18n_helpers.py:236
msgid "Partial"
msgstr "Parcial"

#: app/templates/integrations/health.html:76
#, fuzzy
msgid "Needs refresh"
msgstr "Refrescar"

#: app/templates/integrations/health.html:82
#: app/templates/integrations/manage.html:581
msgid "Expires"
msgstr ""

#: app/templates/integrations/health.html:105
msgid "Reset this integration? This removes stored OAuth tokens."
msgstr ""

#: app/templates/integrations/list.html:20
msgid "Connect your Time Tracker with external services. Configure integrations below to sync data, automate workflows, and enhance productivity."
msgstr ""

#: app/templates/integrations/list.html:34
msgid "OIDC / Single Sign-On"
msgstr ""

#: app/templates/integrations/list.html:36
msgid "Configure OpenID Connect authentication for Single Sign-On (SSO) with your identity provider"
msgstr ""

#: app/templates/integrations/list.html:76
msgid "Configure directory authentication via environment variables; use the wizard to build a working .env snippet and test connectivity."
msgstr ""

#: app/templates/integrations/list.html:131
#: app/templates/integrations/manage.html:556
msgid "Not Connected"
msgstr ""

#: app/templates/integrations/list.html:141
msgid "Synced"
msgstr ""

#: app/templates/integrations/list.html:146
msgid "Not Set Up"
msgstr ""

#: app/templates/integrations/list.html:164
#: app/templates/integrations/manage.html:716
msgid "Connect"
msgstr ""

#: app/templates/integrations/manage.html:4
#: app/templates/integrations/view.html:3
msgid "Integration"
msgstr ""

#: app/templates/integrations/manage.html:26
msgid "Guided Setup Wizard"
msgstr ""

#: app/templates/integrations/manage.html:29
msgid "Use our step-by-step wizard to configure this integration easily."
msgstr ""

#: app/templates/integrations/manage.html:34
msgid "Launch Setup Wizard"
msgstr ""

#: app/templates/integrations/manage.html:43
#, fuzzy
msgid "Linear API Key"
msgstr "Crear token API"

#: app/templates/integrations/manage.html:50
msgid "Personal API Key"
msgstr ""

#: app/templates/integrations/manage.html:54
msgid "Create at linear.app/settings/api"
msgstr ""

#: app/templates/integrations/manage.html:57
msgid "From Linear: Settings → API → Personal API keys"
msgstr ""

#: app/templates/integrations/manage.html:60
#, fuzzy
msgid "Save API Key"
msgstr "Crear token API"

#: app/templates/integrations/manage.html:68
msgid "OAuth Credentials Setup"
msgstr ""

#: app/templates/integrations/manage.html:101
#: app/templates/integrations/manage.html:141
#, fuzzy
msgid "Stored; leave empty to keep"
msgstr "Dejar vacío para mantener actualizado"

#: app/templates/integrations/manage.html:101
#, fuzzy
msgid "Enter API secret"
msgstr "Secreto regenerado"

#: app/templates/integrations/manage.html:112
msgid "After saving API Key and Secret, you can connect Trello using OAuth flow."
msgstr ""

#: app/templates/integrations/manage.html:158
msgid "Use \"common\" for multi-tenant, or leave empty for common"
msgstr ""

#: app/templates/integrations/manage.html:223
msgid "CalDAV Authentication"
msgstr ""

#: app/templates/integrations/manage.html:226
msgid "CalDAV uses username and password authentication (not OAuth). Update your credentials below."
msgstr ""

#: app/templates/integrations/manage.html:281
msgid "Integration Configuration"
msgstr ""

#: app/templates/integrations/manage.html:284
msgid "Configure sync settings, data mappings, and other integration options."
msgstr ""

#: app/templates/integrations/manage.html:530
msgid "Connection Management"
msgstr ""

#: app/templates/integrations/manage.html:539
#: app/templates/integrations/view.html:119
msgid "Connector Error"
msgstr ""

#: app/templates/integrations/manage.html:566
msgid "Sync OK"
msgstr ""

#: app/templates/integrations/manage.html:570
msgid "Sync Error"
msgstr ""

#: app/templates/integrations/manage.html:583
msgid "No expiration"
msgstr ""

#: app/templates/integrations/manage.html:590
msgid "Not connected"
msgstr ""

#: app/templates/integrations/manage.html:596
#: app/templates/integrations/manage.html:603
#: app/templates/integrations/view.html:48
msgid "Last Sync"
msgstr ""

#: app/templates/integrations/manage.html:613
#: app/templates/integrations/view.html:65
msgid "Last Error"
msgstr ""

#: app/templates/integrations/manage.html:643
msgid "CalDAV uses username/password authentication. Click below to set up your CalDAV connection."
msgstr ""

#: app/templates/integrations/manage.html:646
msgid "Setup CalDAV Integration"
msgstr ""

#: app/templates/integrations/manage.html:653
msgid "ActivityWatch imports window and web activity from your local aw-server. Click below to configure."
msgstr ""

#: app/templates/integrations/manage.html:656
msgid "Setup ActivityWatch Integration"
msgstr ""

#: app/templates/integrations/manage.html:671
msgid "OAuth credentials are configured. You can now connect Trello."
msgstr ""

#: app/templates/integrations/manage.html:674
msgid "Connect Trello"
msgstr ""

#: app/templates/integrations/manage.html:681
msgid "Please configure Trello API key and token in the OAuth Credentials Setup section above."
msgstr ""

#: app/templates/integrations/manage.html:693
msgid "Please configure OAuth credentials in the section above before connecting."
msgstr ""

#: app/templates/integrations/manage.html:700
#: app/templates/integrations/manage.html:725
msgid "OAuth credentials need to be configured by an administrator first."
msgstr ""

#: app/templates/integrations/manage.html:706
msgid "Connect your Google Calendar account. You will be redirected to Google for authorization."
msgstr ""

#: app/templates/integrations/manage.html:708
msgid "Connect this integration. You will be redirected to the provider for authorization."
msgstr ""

#: app/templates/integrations/view.html:11
msgid "Back to Integrations"
msgstr ""

#: app/templates/integrations/view.html:17
msgid "Integration Status"
msgstr ""

#: app/templates/integrations/view.html:36
msgid "Token Expires"
msgstr ""

#: app/templates/integrations/view.html:74
msgid "Sync History"
msgstr ""

#: app/templates/integrations/view.html:107
msgid "No sync events yet"
msgstr ""

#: app/templates/integrations/view.html:123
msgid "Configure CalDAV Integration"
msgstr ""

#: app/templates/integrations/view.html:127
msgid "Configure ActivityWatch"
msgstr ""

#: app/templates/integrations/view.html:147
msgid "Are you sure you want to reset this integration? This will remove all credentials and configuration."
msgstr ""

#: app/templates/integrations/view.html:153
msgid "Are you sure you want to delete this integration? This action cannot be undone."
msgstr ""

#: app/templates/integrations/view.html:161
#: app/templates/integrations/view.html:165
msgid "Edit Configuration"
msgstr ""

#: app/templates/integrations/wizard_asana.html:6
#: app/templates/integrations/wizard_github.html:6
msgid "Step 1: OAuth Setup"
msgstr ""

#: app/templates/integrations/wizard_asana.html:12
msgid "Create an Asana app in Settings → Apps → Manage Developer Apps."
msgstr ""

#: app/templates/integrations/wizard_asana.html:18
msgid "Asana OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_asana.html:22
#: app/templates/integrations/wizard_github.html:22
#: app/templates/integrations/wizard_gitlab.html:50
#: app/templates/integrations/wizard_jira.html:23
#: app/templates/integrations/wizard_microsoft_teams.html:50
#: app/templates/integrations/wizard_outlook_calendar.html:50
#: app/templates/integrations/wizard_quickbooks.html:22
#: app/templates/integrations/wizard_xero.html:22
msgid "Enter OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_asana.html:27
msgid "Asana OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_asana.html:31
#: app/templates/integrations/wizard_github.html:31
#: app/templates/integrations/wizard_gitlab.html:59
#: app/templates/integrations/wizard_jira.html:35
#: app/templates/integrations/wizard_microsoft_teams.html:59
#: app/templates/integrations/wizard_outlook_calendar.html:59
#: app/templates/integrations/wizard_quickbooks.html:31
#: app/templates/integrations/wizard_xero.html:31
msgid "Enter OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_asana.html:46
msgid "Step 2: Workspace Selection"
msgstr ""

#: app/templates/integrations/wizard_asana.html:50
#: app/templates/integrations/wizard_asana.html:163
msgid "Workspace GID"
msgstr ""

#: app/templates/integrations/wizard_asana.html:57
msgid "Find your workspace GID in Asana workspace settings or API"
msgstr ""

#: app/templates/integrations/wizard_asana.html:65
msgid "Step 3: Project Selection"
msgstr ""

#: app/templates/integrations/wizard_asana.html:69
msgid "Project GIDs"
msgstr ""

#: app/templates/integrations/wizard_asana.html:76
msgid "Comma-separated list of specific project GIDs to sync. Leave empty to sync all projects in the workspace."
msgstr ""

#: app/templates/integrations/wizard_asana.html:84
msgid "Step 4: Sync Configuration"
msgstr ""

#: app/templates/integrations/wizard_asana.html:87
#: app/templates/integrations/wizard_asana.html:167
#: app/templates/integrations/wizard_github.html:77
#: app/templates/integrations/wizard_github.html:201
#: app/templates/integrations/wizard_gitlab.html:112
#: app/templates/integrations/wizard_gitlab.html:225
#: app/templates/integrations/wizard_jira.html:98
#: app/templates/integrations/wizard_jira.html:217
#: app/templates/integrations/wizard_quickbooks.html:78
#: app/templates/integrations/wizard_quickbooks.html:200
#: app/templates/integrations/wizard_xero.html:61
#: app/templates/integrations/wizard_xero.html:183
msgid "Sync Direction"
msgstr ""

#: app/templates/integrations/wizard_asana.html:91
msgid "Asana → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_asana.html:94
msgid "TimeTracker → Asana (Export only)"
msgstr ""

#: app/templates/integrations/wizard_asana.html:97
#: app/templates/integrations/wizard_github.html:87
#: app/templates/integrations/wizard_gitlab.html:123
#: app/templates/integrations/wizard_jira.html:109
#: app/templates/integrations/wizard_quickbooks.html:88
#: app/templates/integrations/wizard_xero.html:71
msgid "Bidirectional (Two-way sync)"
msgstr ""

#: app/templates/integrations/wizard_asana.html:103
#: app/templates/integrations/wizard_asana.html:171
#: app/templates/integrations/wizard_github.html:93
#: app/templates/integrations/wizard_github.html:205
#: app/templates/integrations/wizard_gitlab.html:129
#: app/templates/integrations/wizard_gitlab.html:229
#: app/templates/integrations/wizard_jira.html:118
#: app/templates/integrations/wizard_jira.html:221
#: app/templates/integrations/wizard_quickbooks.html:94
#: app/templates/integrations/wizard_quickbooks.html:204
#: app/templates/integrations/wizard_xero.html:77
#: app/templates/integrations/wizard_xero.html:187
msgid "Items to Sync"
msgstr ""

#: app/templates/integrations/wizard_asana.html:122
msgid "Subtasks"
msgstr ""

#: app/templates/integrations/wizard_asana.html:141
#: app/templates/integrations/wizard_github.html:169
#: app/templates/integrations/wizard_gitlab.html:190
#: app/templates/integrations/wizard_jira.html:159
#: app/templates/integrations/wizard_jira.html:225
#: app/templates/integrations/wizard_quickbooks.html:138
#: app/templates/integrations/wizard_xero.html:121
msgid "Auto Sync"
msgstr ""

#: app/templates/integrations/wizard_asana.html:148
msgid "Sync Completed Tasks"
msgstr ""

#: app/templates/integrations/wizard_asana.html:155
#: app/templates/integrations/wizard_github.html:189
#: app/templates/integrations/wizard_gitlab.html:213
#: app/templates/integrations/wizard_jira.html:203
#: app/templates/integrations/wizard_quickbooks.html:188
#: app/templates/integrations/wizard_xero.html:171
msgid "Step 5: Review & Save"
msgstr ""

#: app/templates/integrations/wizard_asana.html:159
#: app/templates/integrations/wizard_github.html:193
#: app/templates/integrations/wizard_gitlab.html:217
#: app/templates/integrations/wizard_microsoft_teams.html:78
#: app/templates/integrations/wizard_quickbooks.html:192
#: app/templates/integrations/wizard_trello.html:63
#: app/templates/integrations/wizard_xero.html:175
msgid "Review your configuration and click \"Finish\" to save."
msgstr ""

#: app/templates/integrations/wizard_asana.html:188
#: app/templates/integrations/wizard_github.html:222
#: app/templates/integrations/wizard_gitlab.html:246
#: app/templates/integrations/wizard_jira.html:245
#: app/templates/integrations/wizard_microsoft_teams.html:99
#: app/templates/integrations/wizard_outlook_calendar.html:99
#: app/templates/integrations/wizard_quickbooks.html:221
#: app/templates/integrations/wizard_trello.html:89
#: app/templates/integrations/wizard_xero.html:204
#: app/templates/setup/initial_setup.html:288
msgid "Finish"
msgstr ""

#: app/templates/integrations/wizard_base.html:27
msgid "Step"
msgstr ""

#: app/templates/integrations/wizard_github.html:12
msgid "Create a GitHub OAuth App in Settings → Developer settings → OAuth Apps."
msgstr ""

#: app/templates/integrations/wizard_github.html:18
msgid "GitHub OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_github.html:27
msgid "GitHub OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_github.html:46
msgid "Step 2: Repository Selection"
msgstr ""

#: app/templates/integrations/wizard_github.html:57
msgid "Comma-separated list of repositories (e.g., \"octocat/Hello-World\"). Leave empty to sync all accessible repositories."
msgstr ""

#: app/templates/integrations/wizard_github.html:66
#: app/templates/integrations/wizard_gitlab.html:97
#: app/templates/integrations/wizard_jira.html:192
msgid "Create Projects"
msgstr ""

#: app/templates/integrations/wizard_github.html:74
#: app/templates/integrations/wizard_jira.html:82
#: app/templates/integrations/wizard_quickbooks.html:75
#: app/templates/integrations/wizard_xero.html:58
msgid "Step 3: Sync Configuration"
msgstr ""

#: app/templates/integrations/wizard_github.html:81
msgid "GitHub → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_github.html:84
msgid "TimeTracker → GitHub (Export only)"
msgstr ""

#: app/templates/integrations/wizard_github.html:106
msgid "Pull Requests"
msgstr ""

#: app/templates/integrations/wizard_github.html:112
msgid "Projects (Repositories)"
msgstr ""

#: app/templates/integrations/wizard_github.html:118
#: app/templates/integrations/wizard_gitlab.html:154
msgid "Issue States to Sync"
msgstr ""

#: app/templates/integrations/wizard_github.html:125
#: app/templates/integrations/wizard_gitlab.html:161
msgid "Open Issues"
msgstr ""

#: app/templates/integrations/wizard_github.html:131
#: app/templates/integrations/wizard_gitlab.html:167
msgid "Closed Issues"
msgstr ""

#: app/templates/integrations/wizard_github.html:140
msgid "Step 4: Webhook Setup"
msgstr ""

#: app/templates/integrations/wizard_github.html:144
#: app/templates/integrations/wizard_gitlab.html:199
#: app/templates/payment_gateways/create.html:49
msgid "Webhook Secret"
msgstr ""

#: app/templates/integrations/wizard_github.html:148
#: app/templates/integrations/wizard_gitlab.html:203
msgid "Enter webhook secret"
msgstr ""

#: app/templates/integrations/wizard_github.html:150
msgid "Secret token for verifying webhook signatures. Configure this in your GitHub repository webhook settings."
msgstr ""

#: app/templates/integrations/wizard_github.html:161
#: app/templates/integrations/wizard_gitlab.html:181
#: app/templates/integrations/wizard_jira.html:182
#: app/templates/recurring_tasks/form.html:61
#: app/templates/reports/index.html:486
#: app/templates/reports/schedule_form.html:48
msgid "Weekly"
msgstr ""

#: app/templates/integrations/wizard_github.html:172
msgid "Automatically sync when webhooks are received from GitHub"
msgstr ""

#: app/templates/integrations/wizard_github.html:178
msgid "Add this URL as a webhook in your GitHub repository settings:"
msgstr ""

#: app/templates/integrations/wizard_github.html:225
msgid "All repositories"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:6
msgid "Step 1: Instance Configuration"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:26
msgid "You can use GitLab.com or your self-hosted GitLab instance."
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:34
#: app/templates/integrations/wizard_microsoft_teams.html:34
#: app/templates/integrations/wizard_outlook_calendar.html:34
msgid "Step 2: OAuth Setup"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:40
msgid "Configure OAuth credentials. Create an application in GitLab Settings → Applications."
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:46
msgid "GitLab OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:55
msgid "GitLab OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:66
msgid "Add this URL as an authorized redirect URI in your GitLab application settings:"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:77
msgid "Step 3: Repository Selection"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:81
msgid "Repository IDs"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:88
msgid "Comma-separated list of GitLab project IDs to sync. Leave empty to sync all accessible projects."
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:101
msgid "Automatically create projects in TimeTracker from GitLab projects"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:108
msgid "Step 4: Sync Settings"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:117
msgid "GitLab → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:120
msgid "TimeTracker → GitLab (Export only)"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:142
msgid "Merge Requests"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:194
msgid "Automatically sync when webhooks are received from GitLab"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:205
msgid "Secret token for verifying webhook signatures"
msgstr ""

#: app/templates/integrations/wizard_gitlab.html:221
msgid "Instance URL"
msgstr ""

#: app/templates/integrations/wizard_jira.html:6
msgid "Step 1: OAuth Setup & Basic Configuration"
msgstr ""

#: app/templates/integrations/wizard_jira.html:12
msgid "First, configure OAuth credentials for Jira. You can get these from Atlassian Developer Console."
msgstr ""

#: app/templates/integrations/wizard_jira.html:18
msgid "Jira OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_jira.html:25
msgid "Get this from Atlassian Developer Console"
msgstr ""

#: app/templates/integrations/wizard_jira.html:31
msgid "Jira OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_jira.html:41
msgid "Jira Instance URL"
msgstr ""

#: app/templates/integrations/wizard_jira.html:48
msgid "Your Jira Cloud or Server URL (e.g., https://your-domain.atlassian.net)"
msgstr ""

#: app/templates/integrations/wizard_jira.html:55
msgid "Add this URL as an authorized redirect URI in your Jira OAuth app settings:"
msgstr ""

#: app/templates/integrations/wizard_jira.html:71
msgid "Click \"Test Connection\" to verify that Jira is accessible and OAuth credentials are correct."
msgstr ""

#: app/templates/integrations/wizard_jira.html:86
msgid "JQL Query"
msgstr ""

#: app/templates/integrations/wizard_jira.html:92
msgid "Jira Query Language query to filter issues to sync. Leave empty to sync all assigned issues."
msgstr ""

#: app/templates/integrations/wizard_jira.html:103
msgid "Jira → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_jira.html:106
msgid "TimeTracker → Jira (Export only)"
msgstr ""

#: app/templates/integrations/wizard_jira.html:113
msgid "Choose how data flows between Jira and TimeTracker"
msgstr ""

#: app/templates/integrations/wizard_jira.html:126
msgid "Issues (Tasks)"
msgstr ""

#: app/templates/integrations/wizard_jira.html:163
msgid "Automatically sync when webhooks are received from Jira"
msgstr ""

#: app/templates/integrations/wizard_jira.html:196
msgid "Automatically create projects in TimeTracker from Jira projects"
msgstr ""

#: app/templates/integrations/wizard_jira.html:208
msgid "Review your configuration below. Click \"Finish\" to save and complete the setup."
msgstr ""

#: app/templates/integrations/wizard_jira.html:213
msgid "Jira URL"
msgstr ""

#: app/templates/integrations/wizard_jira.html:265
#: app/templates/integrations/wizard_trello.html:100
msgid "Please test the connection before proceeding."
msgstr ""

#: app/templates/integrations/wizard_jira.html:277
msgid "Please enter Jira URL first."
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:6
#: app/templates/integrations/wizard_outlook_calendar.html:6
msgid "Step 1: Tenant ID Configuration"
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:12
#: app/templates/integrations/wizard_outlook_calendar.html:12
msgid "Enter your Azure AD tenant ID. Use \"common\" for multi-tenant apps or leave empty for default."
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:40
#: app/templates/integrations/wizard_outlook_calendar.html:40
msgid "Configure OAuth credentials from Azure AD App Registrations."
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:46
msgid "Microsoft Teams OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:55
msgid "Microsoft Teams OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_microsoft_teams.html:74
#: app/templates/integrations/wizard_outlook_calendar.html:74
#: app/templates/integrations/wizard_trello.html:59
msgid "Step 3: Review & Save"
msgstr ""

#: app/templates/integrations/wizard_outlook_calendar.html:46
msgid "Outlook Calendar OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_outlook_calendar.html:55
msgid "Outlook Calendar OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_outlook_calendar.html:78
msgid "Review your configuration and click \"Finish\" to save. After saving, users can connect their Outlook Calendar accounts."
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:6
#: app/templates/integrations/wizard_xero.html:6
msgid "Step 1: OAuth Connection"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:12
msgid "Configure OAuth credentials from Intuit Developer Dashboard."
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:18
msgid "QuickBooks OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:27
msgid "QuickBooks OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:38
msgid "After saving OAuth credentials, you will need to connect your QuickBooks account via OAuth."
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:46
msgid "Step 2: Company Selection"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:50
msgid "Company ID (Realm ID)"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:57
msgid "Find your company ID (realm ID) in QuickBooks after connecting via OAuth."
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:65
msgid "Use Sandbox"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:68
msgid "Use QuickBooks sandbox environment for testing"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:82
msgid "QuickBooks → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:85
msgid "TimeTracker → QuickBooks (Export only)"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:119
msgid "Customers"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:145
#: app/templates/integrations/wizard_xero.html:128
msgid "Step 4: Account Mappings"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:149
msgid "Default Expense Account ID"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:156
msgid "QuickBooks account ID to use for expenses when no mapping is configured"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:162
msgid "Customer Mappings"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:162
#: app/templates/integrations/wizard_quickbooks.html:174
#: app/templates/integrations/wizard_xero.html:145
#: app/templates/integrations/wizard_xero.html:157
msgid "JSON"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:168
msgid "Map TimeTracker client IDs to QuickBooks customer IDs (JSON format)"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:174
#: app/templates/integrations/wizard_xero.html:157
msgid "Account Mappings"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:180
msgid "Map TimeTracker expense category IDs to QuickBooks account IDs (JSON format)"
msgstr ""

#: app/templates/integrations/wizard_quickbooks.html:196
msgid "Company ID"
msgstr ""

#: app/templates/integrations/wizard_trello.html:6
msgid "Step 1: API Keys Setup"
msgstr ""

#: app/templates/integrations/wizard_trello.html:12
msgid "Get your API key and secret from"
msgstr ""

#: app/templates/integrations/wizard_trello.html:23
msgid "Enter API Key"
msgstr ""

#: app/templates/integrations/wizard_trello.html:32
msgid "Enter API Secret"
msgstr ""

#: app/templates/integrations/wizard_trello.html:34
msgid "Generate a token after creating the API key"
msgstr ""

#: app/templates/integrations/wizard_trello.html:48
msgid "Click \"Test Connection\" to verify that your Trello API credentials are correct."
msgstr ""

#: app/templates/integrations/wizard_trello.html:67
#: app/templates/payment_gateways/create.html:39
msgid "API Key"
msgstr ""

#: app/templates/integrations/wizard_trello.html:72
msgid "Not tested"
msgstr ""

#: app/templates/integrations/wizard_trello.html:92
msgid "Connection failed"
msgstr ""

#: app/templates/integrations/wizard_xero.html:12
msgid "Configure OAuth credentials from Xero Developer Portal."
msgstr ""

#: app/templates/integrations/wizard_xero.html:18
msgid "Xero OAuth Client ID"
msgstr ""

#: app/templates/integrations/wizard_xero.html:27
msgid "Xero OAuth Client Secret"
msgstr ""

#: app/templates/integrations/wizard_xero.html:39
msgid "Step 2: Tenant Selection"
msgstr ""

#: app/templates/integrations/wizard_xero.html:50
msgid "Find your tenant ID (organisation ID) in Xero after connecting via OAuth."
msgstr ""

#: app/templates/integrations/wizard_xero.html:65
msgid "Xero → TimeTracker (Import only)"
msgstr ""

#: app/templates/integrations/wizard_xero.html:68
msgid "TimeTracker → Xero (Export only)"
msgstr ""

#: app/templates/integrations/wizard_xero.html:132
msgid "Default Expense Account Code"
msgstr ""

#: app/templates/integrations/wizard_xero.html:139
msgid "Xero account code to use for expenses when no mapping is configured"
msgstr ""

#: app/templates/integrations/wizard_xero.html:145
msgid "Contact Mappings"
msgstr ""

#: app/templates/integrations/wizard_xero.html:151
msgid "Map TimeTracker client IDs to Xero Contact IDs (JSON format)"
msgstr ""

#: app/templates/integrations/wizard_xero.html:163
msgid "Map TimeTracker expense category IDs to Xero account codes (JSON format)"
msgstr ""

#: app/templates/inventory/adjustments/form.html:23
#: app/templates/inventory/adjustments/list.html:30
#: app/templates/inventory/movements/form.html:44
#: app/templates/inventory/purchase_orders/form.html:77
#: app/templates/inventory/reports/movement_history.html:30
#: app/templates/inventory/transfers/form.html:23
msgid "Stock Item"
msgstr "Artículo en existencia"

#: app/templates/inventory/adjustments/form.html:25
#: app/templates/inventory/movements/form.html:46
#: app/templates/inventory/purchase_orders/form.html:122
#: app/templates/inventory/transfers/form.html:25
msgid "Select Item"
msgstr "Seleccionar artículo"

#: app/templates/inventory/adjustments/form.html:32
#: app/templates/inventory/adjustments/list.html:21
#: app/templates/inventory/adjustments/list.html:58
#: app/templates/inventory/adjustments/list.html:73
#: app/templates/inventory/low_stock/list.html:22
#: app/templates/inventory/low_stock/list.html:34
#: app/templates/inventory/movements/form.html:53
#: app/templates/inventory/movements/list.html:56
#: app/templates/inventory/movements/list.html:74
#: app/templates/inventory/purchase_orders/form.html:82
#: app/templates/inventory/reports/low_stock.html:31
#: app/templates/inventory/reports/low_stock.html:48
#: app/templates/inventory/reports/movement_history.html:21
#: app/templates/inventory/reports/movement_history.html:72
#: app/templates/inventory/reports/movement_history.html:90
#: app/templates/inventory/reports/valuation.html:21
#: app/templates/inventory/reports/valuation.html:57
#: app/templates/inventory/reports/valuation.html:69
#: app/templates/inventory/reservations/list.html:40
#: app/templates/inventory/reservations/list.html:58
#: app/templates/inventory/stock_items/history.html:22
#: app/templates/inventory/stock_items/history.html:63
#: app/templates/inventory/stock_items/history.html:76
#: app/templates/inventory/stock_items/view.html:129
#: app/templates/inventory/stock_items/view.html:139
#: app/templates/inventory/stock_items/view.html:241
#: app/templates/inventory/stock_items/view.html:255
#: app/templates/inventory/stock_levels/item.html:23
#: app/templates/inventory/stock_levels/item.html:34
#: app/templates/inventory/stock_levels/list.html:20
#: app/templates/inventory/stock_levels/list.html:47
#: app/templates/inventory/stock_levels/list.html:58
#: app/templates/kiosk/dashboard.html:150 app/templates/quotes/create.html:63
#: app/templates/quotes/edit.html:68
msgid "Warehouse"
msgstr "Depósito"

#: app/templates/inventory/adjustments/form.html:34
#: app/templates/inventory/movements/form.html:55
#: app/templates/inventory/purchase_orders/form.html:131
#: app/templates/invoices/edit.html:105 app/templates/quotes/edit.html:98
msgid "Select Warehouse"
msgstr "Seleccionar Almacén"

#: app/templates/inventory/adjustments/form.html:41
msgid "Adjustment Quantity"
msgstr "Cantidad de ajuste"

#: app/templates/inventory/adjustments/form.html:43
msgid "Use positive values to increase stock, negative values to decrease"
msgstr "Utilice valores positivos para aumentar el stock, valores negativos para disminuir"

#: app/templates/inventory/adjustments/form.html:47
msgid "e.g., Physical count correction, Damage, Found items"
msgstr "por ejemplo, corrección del recuento físico, daños, elementos encontrados"

#: app/templates/inventory/adjustments/form.html:51
msgid "Additional details about this adjustment"
msgstr "Detalles adicionales sobre este ajuste"

#: app/templates/inventory/adjustments/form.html:59
msgid "Record Adjustment"
msgstr "Ajuste de registros"

#: app/templates/inventory/adjustments/list.html:23
#: app/templates/inventory/reports/movement_history.html:23
#: app/templates/inventory/reports/valuation.html:23
#: app/templates/inventory/stock_items/history.html:24
#: app/templates/inventory/stock_levels/list.html:22
msgid "All Warehouses"
msgstr "Todos los almacenes"

#: app/templates/inventory/adjustments/list.html:32
#: app/templates/inventory/reports/movement_history.html:32
msgid "All Items"
msgstr "Todos los artículos"

#: app/templates/inventory/adjustments/list.html:39
#: app/templates/inventory/reports/movement_history.html:53
#: app/templates/inventory/reports/turnover.html:21
#: app/templates/inventory/stock_items/history.html:45
#: app/templates/inventory/transfers/list.html:21
msgid "Date From"
msgstr "Fecha desde"

#: app/templates/inventory/adjustments/list.html:46
#: app/templates/inventory/reports/movement_history.html:60
#: app/templates/inventory/reports/turnover.html:25
#: app/templates/inventory/stock_items/history.html:52
#: app/templates/inventory/transfers/list.html:25
msgid "Date To"
msgstr "Fecha hasta"

#: app/templates/inventory/adjustments/list.html:57
#: app/templates/inventory/adjustments/list.html:68
#: app/templates/inventory/low_stock/list.html:23
#: app/templates/inventory/low_stock/list.html:35
#: app/templates/inventory/movements/list.html:55
#: app/templates/inventory/movements/list.html:69
#: app/templates/inventory/purchase_orders/view.html:90
#: app/templates/inventory/purchase_orders/view.html:101
#: app/templates/inventory/reports/low_stock.html:29
#: app/templates/inventory/reports/low_stock.html:42
#: app/templates/inventory/reports/movement_history.html:71
#: app/templates/inventory/reports/movement_history.html:85
#: app/templates/inventory/reports/turnover.html:44
#: app/templates/inventory/reports/turnover.html:55
#: app/templates/inventory/reports/valuation.html:58
#: app/templates/inventory/reports/valuation.html:74
#: app/templates/inventory/reservations/list.html:39
#: app/templates/inventory/reservations/list.html:53
#: app/templates/inventory/stock_levels/list.html:48
#: app/templates/inventory/stock_levels/list.html:59
#: app/templates/inventory/stock_levels/warehouse.html:45
#: app/templates/inventory/stock_levels/warehouse.html:58
#: app/templates/inventory/suppliers/view.html:114
#: app/templates/inventory/suppliers/view.html:125
#: app/templates/inventory/transfers/list.html:39
#: app/templates/inventory/transfers/list.html:54
#: app/templates/inventory/warehouses/view.html:84
#: app/templates/inventory/warehouses/view.html:95
#: app/templates/inventory/warehouses/view.html:130
#: app/templates/inventory/warehouses/view.html:140
msgid "Item"
msgstr "Artículo"

#: app/templates/inventory/adjustments/list.html:87
msgid "No adjustments found."
msgstr "No se encontraron ajustes."

#: app/templates/inventory/low_stock/list.html:24
#: app/templates/inventory/low_stock/list.html:40
#: app/templates/inventory/stock_items/view.html:130
#: app/templates/inventory/stock_items/view.html:144
#: app/templates/inventory/stock_levels/list.html:49
#: app/templates/inventory/stock_levels/list.html:64
#: app/templates/inventory/warehouses/view.html:86
#: app/templates/inventory/warehouses/view.html:101
msgid "On Hand"
msgstr "En mano"

#: app/templates/inventory/low_stock/list.html:25
#: app/templates/inventory/low_stock/list.html:41
#: app/templates/inventory/reports/low_stock.html:33
#: app/templates/inventory/reports/low_stock.html:54
#: app/templates/inventory/stock_items/form.html:69
#: app/templates/inventory/stock_items/view.html:91
#: app/templates/inventory/stock_levels/warehouse.html:51
#: app/templates/inventory/stock_levels/warehouse.html:70
msgid "Reorder Point"
msgstr "Punto de reorden"

#: app/templates/inventory/low_stock/list.html:26
#: app/templates/inventory/low_stock/list.html:42
#: app/templates/inventory/reports/low_stock.html:34
#: app/templates/inventory/reports/low_stock.html:55
msgid "Shortfall"
msgstr "Déficit"

#: app/templates/inventory/low_stock/list.html:27
#: app/templates/inventory/low_stock/list.html:43
msgid "Reorder Qty"
msgstr "Cantidad de reorden"

#: app/templates/inventory/low_stock/list.html:55
msgid "No low stock alerts. All items are above reorder point."
msgstr "Sin alertas de stock bajo. Todos los artículos están por encima del punto de reorden."

#: app/templates/inventory/movements/form.html:20
msgid "Use a positive quantity (items coming back)"
msgstr ""

#: app/templates/inventory/movements/form.html:21
msgid "Use a negative quantity (items written off)"
msgstr ""

#: app/templates/inventory/movements/form.html:22
msgid "Quantity to revalue (positive)"
msgstr ""

#: app/templates/inventory/movements/form.html:23
#: app/templates/inventory/movements/form.html:64
msgid "Use positive values for additions, negative for removals"
msgstr "Utilice valores positivos para adiciones y negativos para eliminaciones."

#: app/templates/inventory/movements/form.html:24
msgid "Return requires a positive quantity."
msgstr ""

#: app/templates/inventory/movements/form.html:25
msgid "Waste requires a negative quantity."
msgstr ""

#: app/templates/inventory/movements/form.html:26
msgid "Devaluation requires a trackable item with a default cost."
msgstr ""

#: app/templates/inventory/movements/form.html:30
#: app/templates/inventory/movements/list.html:21
#: app/templates/inventory/reports/movement_history.html:39
#: app/templates/inventory/stock_items/history.html:31
msgid "Movement Type"
msgstr "Tipo de movimiento"

#: app/templates/inventory/movements/form.html:37
#: app/templates/inventory/movements/list.html:29
#: app/templates/inventory/reports/movement_history.html:47
#: app/templates/inventory/stock_items/history.html:39
msgid "Return"
msgstr "Devolver"

#: app/templates/inventory/movements/form.html:38
#: app/templates/inventory/movements/list.html:30
#: app/templates/inventory/reports/movement_history.html:48
#: app/templates/inventory/stock_items/history.html:40
msgid "Waste"
msgstr "Desperdiciar"

#: app/templates/inventory/movements/form.html:39
#: app/templates/inventory/movements/form.html:73
#: app/templates/inventory/movements/list.html:31
#: app/templates/inventory/reports/movement_history.html:49
#: app/templates/inventory/stock_items/history.html:41
#: app/templates/inventory/stock_items/view.html:180
#: app/templates/inventory/stock_items/view.html:191
msgid "Devaluation"
msgstr ""

#: app/templates/inventory/movements/form.html:41
msgid "You can apply devaluation below to record returned or wasted items at a reduced cost."
msgstr ""

#: app/templates/inventory/movements/form.html:74
msgid "Devalue items without creating a new stock item"
msgstr ""

#: app/templates/inventory/movements/form.html:78
msgid "Apply devaluation"
msgstr ""

#: app/templates/inventory/movements/form.html:84
#: app/templates/payments/list.html:158
msgid "Method"
msgstr ""

#: app/templates/inventory/movements/form.html:86
msgid "Percent off default cost"
msgstr ""

#: app/templates/inventory/movements/form.html:87
msgid "Fixed new unit cost"
msgstr ""

#: app/templates/inventory/movements/form.html:92
msgid "Percent"
msgstr ""

#: app/templates/inventory/movements/form.html:94
msgid "Example: 30 = reduce cost by 30%"
msgstr ""

#: app/templates/inventory/movements/form.html:98
msgid "New Unit Cost"
msgstr ""

#: app/templates/inventory/movements/form.html:105
msgid "e.g., Physical count correction"
msgstr "por ejemplo, corrección del recuento físico"

#: app/templates/inventory/movements/form.html:117
msgid "Record Movement"
msgstr "Movimiento récord"

#: app/templates/inventory/movements/list.html:35
msgid "Reference Type"
msgstr "Tipo de referencia"

#: app/templates/inventory/movements/list.html:41
#: app/templates/timer/edit_timer.html:312
#: app/templates/timer/edit_timer.html:435
msgid "Manual"
msgstr "Manual"

#: app/templates/inventory/movements/list.html:59
#: app/templates/inventory/movements/list.html:105
#: app/templates/inventory/purchase_orders/form.html:80
#: app/templates/inventory/purchase_orders/view.html:94
#: app/templates/inventory/purchase_orders/view.html:115
#: app/templates/inventory/reports/movement_history.html:75
#: app/templates/inventory/reports/movement_history.html:121
#: app/templates/inventory/reports/valuation.html:62
#: app/templates/inventory/reports/valuation.html:82
#: app/templates/inventory/stock_items/form.html:113
#: app/templates/inventory/stock_items/form.html:164
#: app/templates/inventory/stock_items/history.html:66
#: app/templates/inventory/stock_items/history.html:107
#: app/templates/inventory/stock_items/view.html:179
#: app/templates/inventory/stock_items/view.html:190
#: app/templates/inventory/suppliers/view.html:116
#: app/templates/inventory/suppliers/view.html:131
msgid "Unit Cost"
msgstr "Costo unitario"

#: app/templates/inventory/movements/list.html:60
#: app/templates/inventory/movements/list.html:127
#: app/templates/inventory/reports/movement_history.html:76
#: app/templates/inventory/reports/movement_history.html:143
#: app/templates/inventory/reservations/list.html:43
#: app/templates/inventory/reservations/list.html:65
#: app/templates/inventory/stock_items/history.html:67
#: app/templates/inventory/stock_items/history.html:129
msgid "Reference"
msgstr "Referencia"

#: app/templates/inventory/movements/list.html:97
#: app/templates/inventory/reports/movement_history.html:113
#: app/templates/inventory/stock_items/history.html:99
#: app/templates/inventory/stock_items/view.html:205
msgid "Devalued"
msgstr ""

#: app/templates/inventory/movements/list.html:150
msgid "No stock movements found."
msgstr "No se encontraron movimientos de acciones."

#: app/templates/inventory/purchase_orders/form.html:29
#: app/templates/inventory/purchase_orders/list.html:32
#: app/templates/inventory/purchase_orders/list.html:51
#: app/templates/inventory/purchase_orders/list.html:67
#: app/templates/inventory/purchase_orders/view.html:50
msgid "Supplier"
msgstr "Proveedor"

#: app/templates/inventory/purchase_orders/form.html:31
#: app/templates/inventory/stock_items/form.html:107
#: app/templates/inventory/stock_items/form.html:155
msgid "Select Supplier"
msgstr "Seleccionar Proveedor"

#: app/templates/inventory/purchase_orders/form.html:38
#: app/templates/inventory/purchase_orders/list.html:52
#: app/templates/inventory/purchase_orders/list.html:72
#: app/templates/inventory/purchase_orders/view.html:58
msgid "Order Date"
msgstr "Fecha del pedido"

#: app/templates/inventory/purchase_orders/form.html:42
msgid "Expected Delivery Date"
msgstr "Fecha de entrega prevista"

#: app/templates/inventory/purchase_orders/form.html:56
msgid "Notes visible to supplier"
msgstr "Notas visibles para el proveedor"

#: app/templates/inventory/purchase_orders/form.html:60
msgid "Internal notes (not visible to supplier)"
msgstr "Notas internas (no visibles para el proveedor)"

#: app/templates/inventory/purchase_orders/form.html:69
#: app/templates/inventory/purchase_orders/view.html:85
#: app/templates/invoices/edit.html:334
msgid "Items"
msgstr "Elementos"

#: app/templates/inventory/purchase_orders/form.html:72
#: app/templates/invoices/edit.html:66
msgid "Add Item"
msgstr "Agregar artículo"

#: app/templates/inventory/purchase_orders/form.html:79
#: app/templates/inventory/purchase_orders/form.html:148
#: app/templates/invoices/edit.html:235 app/templates/invoices/edit.html:260
#: app/templates/invoices/edit.html:620 app/templates/quotes/create.html:65
#: app/templates/quotes/create.html:128 app/templates/quotes/edit.html:70
#: app/templates/quotes/edit.html:108 app/templates/quotes/edit.html:202
msgid "Qty"
msgstr "Cantidad"

#: app/templates/inventory/purchase_orders/form.html:83
#: app/templates/inventory/purchase_orders/form.html:152
#: app/templates/inventory/stock_items/form.html:112
#: app/templates/inventory/stock_items/form.html:163
#: app/templates/inventory/suppliers/view.html:115
#: app/templates/inventory/suppliers/view.html:130
msgid "Supplier SKU"
msgstr "SKU del proveedor"

#: app/templates/inventory/purchase_orders/form.html:104
msgid "Create Purchase Order"
msgstr "Crear orden de compra"

#: app/templates/inventory/purchase_orders/list.html:24
#: app/templates/inventory/purchase_orders/list.html:76
#: app/templates/inventory/purchase_orders/view.html:37
#: app/templates/invoices/list.html:129
#: app/templates/quotes/_quotes_list.html:62 app/templates/quotes/list.html:81
#: app/templates/quotes/view.html:71 app/utils/i18n_helpers.py:64
#: app/utils/i18n_helpers.py:76
msgid "Draft"
msgstr "Borrador"

#: app/templates/inventory/purchase_orders/list.html:25
#: app/templates/inventory/purchase_orders/list.html:78
#: app/templates/inventory/purchase_orders/view.html:39
#: app/templates/invoices/list.html:130
#: app/templates/quotes/_quotes_list.html:64 app/templates/quotes/list.html:82
#: app/templates/quotes/view.html:73 app/utils/i18n_helpers.py:65
#: app/utils/i18n_helpers.py:77
msgid "Sent"
msgstr "Enviado"

#: app/templates/inventory/purchase_orders/list.html:26
#: app/templates/inventory/purchase_orders/list.html:80
#: app/templates/inventory/purchase_orders/view.html:41
msgid "Confirmed"
msgstr "Confirmado"

#: app/templates/inventory/purchase_orders/list.html:27
#: app/templates/inventory/purchase_orders/list.html:82
#: app/templates/inventory/purchase_orders/view.html:43
#: app/templates/inventory/purchase_orders/view.html:162
msgid "Received"
msgstr "Recibió"

#: app/templates/inventory/purchase_orders/list.html:34
msgid "All Suppliers"
msgstr "Todos los proveedores"

#: app/templates/inventory/purchase_orders/list.html:50
#: app/templates/inventory/purchase_orders/list.html:62
#: app/templates/inventory/purchase_orders/view.html:30
msgid "PO Number"
msgstr "Número de orden de compra"

#: app/templates/inventory/purchase_orders/list.html:53
#: app/templates/inventory/purchase_orders/list.html:73
#: app/templates/inventory/purchase_orders/view.html:63
msgid "Expected Delivery"
msgstr "Entrega esperada"

#: app/templates/inventory/purchase_orders/list.html:99
msgid "No purchase orders found."
msgstr "No se encontraron órdenes de compra."

#: app/templates/inventory/purchase_orders/view.html:19
msgid "Are you sure you want to cancel this purchase order?"
msgstr "¿Está seguro de que desea cancelar esta orden de compra?"

#: app/templates/inventory/purchase_orders/view.html:20
msgid "Are you sure you want to delete this purchase order?"
msgstr "¿Está seguro de que desea eliminar esta orden de compra?"

#: app/templates/inventory/purchase_orders/view.html:27
msgid "Purchase Order Details"
msgstr "Detalles de la orden de compra"

#: app/templates/inventory/purchase_orders/view.html:69
#: app/templates/inventory/purchase_orders/view.html:153
msgid "Received Date"
msgstr "Fecha de recepción"

#: app/templates/inventory/purchase_orders/view.html:92
#: app/templates/inventory/purchase_orders/view.html:111
msgid "Quantity Ordered"
msgstr "Cantidad pedida"

#: app/templates/inventory/purchase_orders/view.html:93
#: app/templates/inventory/purchase_orders/view.html:112
msgid "Quantity Received"
msgstr "Cantidad recibida"

#: app/templates/inventory/purchase_orders/view.html:95
#: app/templates/inventory/purchase_orders/view.html:116
msgid "Line Total"
msgstr "Total de línea"

#: app/templates/inventory/purchase_orders/view.html:127
msgid "Shipping"
msgstr "Envío"

#: app/templates/inventory/purchase_orders/view.html:149
msgid "Receive Purchase Order"
msgstr "Recibir orden de compra"

#: app/templates/inventory/purchase_orders/view.html:167
msgid "Mark as Received"
msgstr "Marcar como recibido"

#: app/templates/inventory/purchase_orders/view.html:174
msgid "No items in this purchase order."
msgstr "No hay artículos en esta orden de compra."

#: app/templates/inventory/purchase_orders/view.html:185
#: app/templates/inventory/reports/dashboard.html:21
#: app/templates/inventory/warehouses/view.html:168
msgid "Total Items"
msgstr "Artículos totales"

#: app/templates/inventory/reports/dashboard.html:33
msgid "Total Warehouses"
msgstr "Almacenes totales"

#: app/templates/inventory/reports/dashboard.html:45
msgid "Total Inventory Value"
msgstr "Valor total del inventario"

#: app/templates/inventory/reports/dashboard.html:57
msgid "Low Stock Items"
msgstr "Artículos con pocas existencias"

#: app/templates/inventory/reports/dashboard.html:68
msgid "Available Reports"
msgstr "Informes disponibles"

#: app/templates/inventory/reports/dashboard.html:72
msgid "Stock Valuation"
msgstr "Valoración de acciones"

#: app/templates/inventory/reports/dashboard.html:73
msgid "View inventory value by warehouse"
msgstr "Ver el valor del inventario por almacén"

#: app/templates/inventory/reports/dashboard.html:78
msgid "Movement History"
msgstr "Historia del movimiento"

#: app/templates/inventory/reports/dashboard.html:79
msgid "Detailed movement log"
msgstr "Registro de movimiento detallado"

#: app/templates/inventory/reports/dashboard.html:84
msgid "Turnover Analysis"
msgstr "Análisis de facturación"

#: app/templates/inventory/reports/dashboard.html:85
msgid "Inventory turnover rates"
msgstr "Tasas de rotación de inventario"

#: app/templates/inventory/reports/dashboard.html:90
msgid "Low Stock Report"
msgstr "Informe de stock bajo"

#: app/templates/inventory/reports/dashboard.html:91
msgid "Items below reorder point"
msgstr "Artículos por debajo del punto de reorden"

#: app/templates/inventory/reports/low_stock.html:22
#, python-format
msgid "Found %(count)s items below their reorder point."
msgstr "Se encontraron %(count)s artículos por debajo de su punto de reorden."

#: app/templates/inventory/reports/low_stock.html:32
#: app/templates/inventory/reports/low_stock.html:53
#: app/templates/inventory/stock_levels/item.html:24
#: app/templates/inventory/stock_levels/item.html:39
#: app/templates/inventory/stock_levels/warehouse.html:48
#: app/templates/inventory/stock_levels/warehouse.html:65
msgid "Quantity On Hand"
msgstr "Cantidad disponible"

#: app/templates/inventory/reports/low_stock.html:35
#: app/templates/inventory/reports/low_stock.html:56
#: app/templates/inventory/stock_items/form.html:73
#: app/templates/inventory/stock_items/view.html:95
msgid "Reorder Quantity"
msgstr "Cantidad de reorden"

#: app/templates/inventory/reports/low_stock.html:59
msgid "Create PO"
msgstr "Crear orden de compra"

#: app/templates/inventory/reports/low_stock.html:69
msgid "All Stock Levels are Good"
msgstr "Todos los niveles de existencias son buenos"

#: app/templates/inventory/reports/low_stock.html:70
msgid "No items are currently below their reorder point."
msgstr "Ningún artículo está actualmente por debajo de su punto de reorden."

#: app/templates/inventory/reports/movement_history.html:170
msgid "No movements found."
msgstr "No se encontraron movimientos."

#: app/templates/inventory/reports/turnover.html:37
msgid "Turnover rate indicates how many times inventory is sold and replaced in a year. Higher rates indicate faster-moving items."
msgstr "La tasa de rotación indica cuántas veces se vende y reemplaza el inventario en un año. Las tasas más altas indican artículos que se mueven más rápido."

#: app/templates/inventory/reports/turnover.html:46
#: app/templates/inventory/reports/turnover.html:61
msgid "Total Sold"
msgstr "Total vendido"

#: app/templates/inventory/reports/turnover.html:47
#: app/templates/inventory/reports/turnover.html:62
msgid "Avg Stock Level"
msgstr "Nivel de existencias promedio"

#: app/templates/inventory/reports/turnover.html:48
#: app/templates/inventory/reports/turnover.html:63
msgid "Turnover Rate"
msgstr "Tasa de rotación"

#: app/templates/inventory/reports/turnover.html:66
msgid "Fast Moving"
msgstr "Movimiento rápido"

#: app/templates/inventory/reports/turnover.html:68
#: app/templates/inventory/stock_items/view.html:209
msgid "Normal"
msgstr "Normal"

#: app/templates/inventory/reports/turnover.html:70
msgid "Slow Moving"
msgstr "movimiento lento"

#: app/templates/inventory/reports/turnover.html:72
msgid "Very Slow"
msgstr "muy lento"

#: app/templates/inventory/reports/turnover.html:79
msgid "No sales data found for the selected period."
msgstr "No se encontraron datos de ventas para el período seleccionado."

#: app/templates/inventory/reports/valuation.html:46
msgid "Inventory Valuation"
msgstr "Valoración de inventario"

#: app/templates/inventory/reports/valuation.html:48
#: app/templates/inventory/reports/valuation.html:63
#: app/templates/inventory/reports/valuation.html:83
#: app/templates/inventory/reports/valuation.html:95
#: app/templates/quotes/list.html:25
msgid "Total Value"
msgstr "Valor Total"

#: app/templates/inventory/reports/valuation.html:88
msgid "No items found with cost information."
msgstr "No se encontraron artículos con información de costos."

#: app/templates/inventory/reservations/list.html:23
#: app/templates/inventory/reservations/list.html:80
#: app/templates/inventory/stock_items/view.html:131
#: app/templates/inventory/stock_items/view.html:145
#: app/templates/inventory/stock_levels/list.html:50
#: app/templates/inventory/stock_levels/list.html:65
#: app/templates/inventory/warehouses/view.html:87
#: app/templates/inventory/warehouses/view.html:102
msgid "Reserved"
msgstr "Reservado"

#: app/templates/inventory/reservations/list.html:24
#: app/templates/inventory/reservations/list.html:82
msgid "Fulfilled"
msgstr "Cumplido"

#: app/templates/inventory/reservations/list.html:45
#: app/templates/inventory/reservations/list.html:89
msgid "Reserved At"
msgstr "Reservado en"

#: app/templates/inventory/reservations/list.html:46
#: app/templates/inventory/reservations/list.html:90
msgid "Expires At"
msgstr "Vence en"

#: app/templates/inventory/reservations/list.html:104
msgid "Fulfill this reservation?"
msgstr "¿Cumplir con esta reserva?"

#: app/templates/inventory/reservations/list.html:110
msgid "Cancel this reservation?"
msgstr "¿Cancelar esta reserva?"

#: app/templates/inventory/reservations/list.html:120
msgid "No reservations found."
msgstr "No se encontraron reservas."

#: app/templates/inventory/stock_items/form.html:45
#: app/templates/inventory/stock_items/list.html:52
#: app/templates/inventory/stock_items/list.html:69
#: app/templates/inventory/stock_items/view.html:36
#: app/templates/kiosk/dashboard.html:132
#: app/templates/quotes/_edit_quote_form_scripts.html:174
#: app/templates/quotes/create.html:66 app/templates/quotes/edit.html:71
#: app/templates/quotes/edit.html:109
msgid "Unit"
msgstr "Unidad"

#: app/templates/inventory/stock_items/form.html:61
#: app/templates/inventory/stock_items/view.html:50
msgid "Default Cost"
msgstr "Costo predeterminado"

#: app/templates/inventory/stock_items/form.html:65
#: app/templates/inventory/stock_items/view.html:54
msgid "Default Price"
msgstr "Precio predeterminado"

#: app/templates/inventory/stock_items/form.html:77
msgid "Image URL"
msgstr "URL de la imagen"

#: app/templates/inventory/stock_items/form.html:91
msgid "Track Inventory"
msgstr "Seguimiento del inventario"

#: app/templates/inventory/stock_items/form.html:99
msgid "Manage multiple suppliers for this item with different pricing."
msgstr "Administre múltiples proveedores para este artículo con diferentes precios."

#: app/templates/inventory/stock_items/form.html:114
#: app/templates/inventory/stock_items/form.html:165
#: app/templates/inventory/suppliers/view.html:117
#: app/templates/inventory/suppliers/view.html:138
msgid "MOQ"
msgstr "Cantidad mínima de pedido"

#: app/templates/inventory/stock_items/form.html:115
#: app/templates/inventory/stock_items/form.html:166
msgid "Lead Time (days)"
msgstr "Plazo de entrega (días)"

#: app/templates/inventory/stock_items/form.html:118
#: app/templates/inventory/stock_items/form.html:169
#: app/templates/inventory/stock_items/view.html:71
#: app/templates/inventory/suppliers/view.html:119
#: app/templates/inventory/suppliers/view.html:146
#: app/templates/inventory/suppliers/view.html:149
msgid "Preferred"
msgstr "Privilegiado"

#: app/templates/inventory/stock_items/form.html:129
msgid "Add Supplier"
msgstr "Agregar proveedor"

#: app/templates/inventory/stock_items/history.html:156
msgid "No movement history found for this item."
msgstr "No se encontró historial de movimientos para este artículo."

#: app/templates/inventory/stock_items/list.html:22
msgid "SKU, Name, Barcode..."
msgstr "SKU, Nombre, Código de Barras..."

#: app/templates/inventory/stock_items/list.html:36
#: app/templates/inventory/suppliers/list.html:27
msgid "Active Only"
msgstr "Sólo activo"

#: app/templates/inventory/stock_items/list.html:53
#: app/templates/inventory/stock_items/list.html:70
msgid "Total Qty"
msgstr "Cantidad total"

#: app/templates/inventory/stock_items/list.html:54
#: app/templates/inventory/stock_items/list.html:77
#: app/templates/inventory/stock_items/view.html:132
#: app/templates/inventory/stock_items/view.html:146
#: app/templates/inventory/stock_levels/item.html:26
#: app/templates/inventory/stock_levels/item.html:41
#: app/templates/inventory/stock_levels/list.html:51
#: app/templates/inventory/stock_levels/list.html:66
#: app/templates/inventory/stock_levels/warehouse.html:50
#: app/templates/inventory/stock_levels/warehouse.html:67
#: app/templates/inventory/warehouses/view.html:88
#: app/templates/inventory/warehouses/view.html:103
#: app/templates/workforce/dashboard.html:212
msgid "Available"
msgstr "Disponible"

#: app/templates/inventory/stock_items/list.html:81
#: app/templates/inventory/stock_items/view.html:149
#: app/templates/inventory/stock_levels/list.html:69
#: app/templates/inventory/stock_levels/warehouse.html:73
#: app/templates/inventory/warehouses/view.html:106
msgid "Low Stock"
msgstr "Existencias bajas"

#: app/templates/inventory/stock_items/list.html:108
msgid "No stock items found."
msgstr "No se encontraron artículos en stock."

#: app/templates/inventory/stock_items/view.html:25
msgid "Item Details"
msgstr "Detalles del artículo"

#: app/templates/inventory/stock_items/view.html:110
msgid "Trackable"
msgstr "Rastreable"

#: app/templates/inventory/stock_items/view.html:125
msgid "Stock Levels by Warehouse"
msgstr "Niveles de existencias por almacén"

#: app/templates/inventory/stock_items/view.html:163
msgid "Stock Breakdown by Valuation"
msgstr ""

#: app/templates/inventory/stock_items/view.html:164
msgid "Detailed breakdown showing remaining stock with different devaluation rates"
msgstr ""

#: app/templates/inventory/stock_items/view.html:198
msgid "No devaluation"
msgstr ""

#: app/templates/inventory/stock_items/view.html:235
#: app/templates/inventory/warehouses/view.html:125
msgid "Recent Stock Movements"
msgstr "Movimientos bursátiles recientes"

#: app/templates/inventory/stock_items/view.html:275
msgid "Total On Hand"
msgstr "Total disponible"

#: app/templates/inventory/stock_items/view.html:279
msgid "Total Reserved"
msgstr "Total reservado"

#: app/templates/inventory/stock_items/view.html:283
msgid "Total Available"
msgstr "Total disponible"

#: app/templates/inventory/stock_items/view.html:289
msgid "Low Stock Alert"
msgstr "Alerta de stock bajo"

#: app/templates/inventory/stock_items/view.html:295
msgid "This item is not trackable."
msgstr "Este artículo no es rastreable."

#: app/templates/inventory/stock_items/view.html:302
msgid "Active Reservations"
msgstr "Reservas Activas"

#: app/templates/inventory/stock_levels/item.html:25
#: app/templates/inventory/stock_levels/item.html:40
#: app/templates/inventory/stock_levels/warehouse.html:49
#: app/templates/inventory/stock_levels/warehouse.html:66
msgid "Quantity Reserved"
msgstr "Cantidad reservada"

#: app/templates/inventory/stock_levels/item.html:28
#: app/templates/inventory/stock_levels/item.html:45
msgid "Last Counted"
msgstr "Último contado"

#: app/templates/inventory/stock_levels/item.html:56
msgid "No stock found for this item in any warehouse."
msgstr "No se encontró stock para este artículo en ningún almacén."

#: app/templates/inventory/stock_levels/list.html:77
msgid "No stock levels found."
msgstr "No se encontraron niveles de existencias."

#: app/templates/inventory/stock_levels/warehouse.html:32
msgid "Low Stock Only"
msgstr "Sólo existencias bajas"

#: app/templates/inventory/stock_levels/warehouse.html:75
msgid "Oversold"
msgstr "sobrevendido"

#: app/templates/inventory/stock_levels/warehouse.html:84
msgid "No stock items found in this warehouse."
msgstr "No se encontraron artículos en stock en este almacén."

#: app/templates/inventory/suppliers/form.html:23
msgid "Supplier Code"
msgstr "Código de proveedor"

#: app/templates/inventory/suppliers/form.html:25
msgid "Unique code for this supplier (e.g., SUP-001)"
msgstr "Código único para este proveedor (por ejemplo, SUP-001)"

#: app/templates/inventory/suppliers/form.html:60
#: app/templates/inventory/suppliers/view.html:89
#: app/templates/quotes/create.html:177 app/templates/quotes/create.html:180
#: app/templates/quotes/edit.html:276 app/templates/quotes/edit.html:279
#: app/templates/quotes/pdf_default.html:85 app/templates/quotes/view.html:89
msgid "Payment Terms"
msgstr "Condiciones de pago"

#: app/templates/inventory/suppliers/form.html:61
msgid "e.g., Net 30, Net 60"
msgstr "por ejemplo, neto 30, neto 60"

#: app/templates/inventory/suppliers/list.html:22
msgid "Code, name, email"
msgstr "Código, nombre, correo electrónico"

#: app/templates/inventory/suppliers/list.html:95
msgid "No suppliers found."
msgstr "No se encontraron proveedores."

#: app/templates/inventory/suppliers/view.html:23
msgid "Supplier Details"
msgstr "Detalles del proveedor"

#: app/templates/inventory/suppliers/view.html:109
msgid "Stock Items from this Supplier"
msgstr "Artículos en stock de este proveedor"

#: app/templates/inventory/suppliers/view.html:118
#: app/templates/inventory/suppliers/view.html:139
msgid "Lead Time"
msgstr "Plazo de entrega"

#: app/templates/inventory/suppliers/view.html:163
msgid "No stock items associated with this supplier."
msgstr "No hay artículos en stock asociados con este proveedor."

#: app/templates/inventory/suppliers/view.html:178
msgid "Preferred Items"
msgstr "Artículos preferidos"

#: app/templates/inventory/transfers/form.html:32
#: app/templates/inventory/transfers/list.html:40
#: app/templates/inventory/transfers/list.html:59
#: app/templates/kiosk/dashboard.html:229
msgid "From Warehouse"
msgstr "Desde el almacén"

#: app/templates/inventory/transfers/form.html:34
msgid "Select Source Warehouse"
msgstr "Seleccionar almacén de origen"

#: app/templates/inventory/transfers/form.html:41
#: app/templates/inventory/transfers/list.html:41
#: app/templates/inventory/transfers/list.html:64
#: app/templates/kiosk/dashboard.html:246
msgid "To Warehouse"
msgstr "Al almacén"

#: app/templates/inventory/transfers/form.html:43
msgid "Select Destination Warehouse"
msgstr "Seleccione Almacén de Destino"

#: app/templates/inventory/transfers/form.html:55
msgid "Optional notes about this transfer"
msgstr "Notas opcionales sobre esta transferencia"

#: app/templates/inventory/transfers/form.html:63
msgid "Create Transfer"
msgstr "Crear transferencia"

#: app/templates/inventory/transfers/list.html:77
msgid "No transfers found."
msgstr "No se encontraron transferencias."

#: app/templates/inventory/warehouses/form.html:23
msgid "Warehouse Code"
msgstr "Código de almacén"

#: app/templates/inventory/warehouses/form.html:25
msgid "Unique code for this warehouse (e.g., WH-001)"
msgstr "Código único para este almacén (por ejemplo, WH-001)"

#: app/templates/inventory/warehouses/form.html:40
#: app/templates/inventory/warehouses/list.html:25
#: app/templates/inventory/warehouses/list.html:40
#: app/templates/inventory/warehouses/view.html:53
msgid "Contact Email"
msgstr "Correo electrónico de contacto"

#: app/templates/inventory/warehouses/form.html:44
#: app/templates/inventory/warehouses/view.html:61
msgid "Contact Phone"
msgstr "Teléfono de contacto"

#: app/templates/inventory/warehouses/list.html:68
msgid "No warehouses found."
msgstr "No se encontraron almacenes."

#: app/templates/inventory/warehouses/view.html:23
msgid "Warehouse Details"
msgstr "Detalles del almacén"

#: app/templates/inventory/warehouses/view.html:118
msgid "No stock items in this warehouse."
msgstr "No hay artículos en stock en este almacén."

#: app/templates/inventory/warehouses/view.html:172
msgid "Total Quantity"
msgstr "Cantidad total"

#: app/templates/invoice_approvals/list.html:51
msgid "Current Approver"
msgstr ""

#: app/templates/invoice_approvals/list.html:54
msgid "You"
msgstr ""

#: app/templates/invoice_approvals/list.html:67
msgid "No Pending Approvals"
msgstr ""

#: app/templates/invoice_approvals/list.html:68
msgid "You have no invoices awaiting your approval."
msgstr ""

#: app/templates/invoice_approvals/list.html:77
msgid "Reject Invoice Approval"
msgstr ""

#: app/templates/invoice_approvals/list.html:81
msgid "Reason for Rejection"
msgstr ""

#: app/templates/invoice_approvals/list.html:82
msgid "Please provide a reason for rejecting this invoice..."
msgstr ""

#: app/templates/invoice_approvals/request.html:3
#: app/templates/invoice_approvals/request.html:8
msgid "Request Invoice Approval"
msgstr ""

#: app/templates/invoice_approvals/request.html:11
msgid "Back to Invoice"
msgstr ""

#: app/templates/invoice_approvals/request.html:19
msgid "Select Approvers"
msgstr ""

#: app/templates/invoice_approvals/request.html:20
msgid "Select one or more users who need to approve this invoice. Approvals will be processed in order."
msgstr ""

#: app/templates/invoice_approvals/request.html:39
#: app/templates/invoices/view.html:140 app/templates/quotes/view.html:202
msgid "Request Approval"
msgstr "Solicitar aprobación"

#: app/templates/invoice_approvals/view.html:19
#: app/templates/invoices/view.html:107 app/templates/quotes/view.html:196
msgid "Approval Status"
msgstr "Estado de aprobación"

#: app/templates/invoice_approvals/view.html:31
msgid "Requested By"
msgstr ""

#: app/templates/invoice_approvals/view.html:36
msgid "Requested At"
msgstr ""

#: app/templates/invoice_approvals/view.html:42
msgid "Approved By"
msgstr ""

#: app/templates/invoice_approvals/view.html:49
msgid "Rejected By"
msgstr ""

#: app/templates/invoice_approvals/view.html:54
#: app/templates/quotes/view.html:564
msgid "Rejection Reason"
msgstr "Motivo del rechazo"

#: app/templates/invoice_approvals/view.html:64
msgid "Approval Stages"
msgstr ""

#: app/templates/invoice_approvals/view.html:100
#: app/templates/invoices/edit.html:376 app/templates/main/help.html:536
#: app/templates/reports/index.html:166 app/templates/tasks/edit.html:275
msgid "Quick Actions"
msgstr "Acciones rápidas"

#: app/templates/invoice_approvals/view.html:116
msgid "Waiting for approval from another user."
msgstr ""

#: app/templates/invoices/_invoices_list.html:9
#: app/templates/payments/list.html:96
#: app/templates/reports/export_form.html:196
#: app/templates/reports/export_form.html:329
#: app/templates/reports/summary.html:12
#: app/templates/reports/task_report.html:55
#: app/templates/reports/time_entries_report.html:89
#: app/templates/reports/user_report.html:56
msgid "Export to Excel"
msgstr "Exportar a Excel"

#: app/templates/invoices/_invoices_list.html:83 app/utils/i18n_helpers.py:89
#: app/utils/i18n_helpers.py:100
msgid "Partially Paid"
msgstr "Pagado parcialmente"

#: app/templates/invoices/_invoices_list.html:87 app/utils/i18n_helpers.py:90
#: app/utils/i18n_helpers.py:101
msgid "Fully Paid"
msgstr "Totalmente pagado"

#: app/templates/invoices/create.html:8 app/templates/invoices/create.html:60
#: app/templates/main/help.html:448
msgid "Create Invoice"
msgstr "Crear factura"

#: app/templates/invoices/create.html:8
msgid "Generate a new invoice for a project and client"
msgstr "Generar una nueva factura para un proyecto y cliente"

#: app/templates/invoices/create.html:19 app/templates/issues/view.html:68
#: app/templates/recurring_tasks/form.html:37
#: app/templates/tasks/create.html:48 app/templates/tasks/edit.html:56
msgid "Select a project"
msgstr "Seleccione un proyecto"

#: app/templates/invoices/create.html:24
msgid "Selecting a project will auto-fill client details"
msgstr "Al seleccionar un proyecto, se completarán automáticamente los detalles del cliente."

#: app/templates/invoices/create.html:43 app/templates/invoices/edit.html:42
msgid "Buyer reference (PEPPOL BT-10)"
msgstr ""

#: app/templates/invoices/create.html:44 app/templates/invoices/edit.html:43
msgid "Optional; used in PEPPOL UBL"
msgstr ""

#: app/templates/invoices/create.html:47 app/templates/invoices/edit.html:34
#: app/templates/quotes/create.html:156 app/templates/quotes/edit.html:255
msgid "Tax Rate (%)"
msgstr "Tasa impositiva (%)"

#: app/templates/invoices/create.html:67
#: app/templates/invoices/generate_from_time.html:173
msgid "Tips"
msgstr "Consejos"

#: app/templates/invoices/create.html:69
msgid "Choose the correct project to auto-fill client details."
msgstr "Elija el proyecto correcto para completar automáticamente los detalles del cliente."

#: app/templates/invoices/create.html:70
msgid "You can customize notes and terms before sending the invoice."
msgstr "Puede personalizar notas y términos antes de enviar la factura."

#: app/templates/invoices/edit.html:13
msgid "Edit Invoice"
msgstr "Editar factura"

#: app/templates/invoices/edit.html:13
msgid "Update invoice details, items, and terms"
msgstr "Actualizar detalles, artículos y términos de la factura"

#: app/templates/invoices/edit.html:63
msgid "Time-based services and hourly work"
msgstr "Servicios basados ​​en el tiempo y trabajo por horas."

#: app/templates/invoices/edit.html:72
msgid "Project / Stock Item"
msgstr ""

#: app/templates/invoices/edit.html:73
msgid "Task / Warehouse"
msgstr ""

#: app/templates/invoices/edit.html:92
msgid "Project hours"
msgstr ""

#: app/templates/invoices/edit.html:97 app/templates/quotes/edit.html:92
msgid "Select Stock Item"
msgstr "Seleccionar artículo en stock"

#: app/templates/invoices/edit.html:114 app/templates/invoices/edit.html:538
msgid "e.g., Web Development Services"
msgstr "por ejemplo, servicios de desarrollo web"

#: app/templates/invoices/edit.html:118
msgid "Quantity is from logged hours and cannot be edited"
msgstr ""

#: app/templates/invoices/edit.html:127 app/templates/invoices/edit.html:547
#: app/templates/quotes/_edit_quote_form_scripts.html:178
#: app/templates/quotes/edit.html:113
msgid "Remove item"
msgstr "Quitar elemento"

#: app/templates/invoices/edit.html:137
msgid "Items Subtotal"
msgstr "Subtotal de artículos"

#: app/templates/invoices/edit.html:151
msgid "Billable expenses such as travel, meals, and materials"
msgstr "Gastos facturables como viajes, comidas y materiales."

#: app/templates/invoices/edit.html:154
msgid "Add Expense"
msgstr "Agregar gastos"

#: app/templates/invoices/edit.html:173
msgid "e.g., Travel to Client Meeting"
msgstr "por ejemplo, viajar a una reunión con el cliente"

#: app/templates/invoices/edit.html:173
msgid "Linked expense - title cannot be edited"
msgstr "Gasto vinculado: el título no se puede editar"

#: app/templates/invoices/edit.html:176
msgid "Linked expense - description cannot be edited"
msgstr "Gasto vinculado: la descripción no se puede editar"

#: app/templates/invoices/edit.html:179
msgid "Linked expense - category cannot be edited"
msgstr "Gasto vinculado: la categoría no se puede editar"

#: app/templates/invoices/edit.html:180 app/templates/projects/add_cost.html:40
#: app/templates/projects/edit_cost.html:47
#: app/templates/quotes/_edit_quote_form_scripts.html:185
#: app/templates/quotes/edit.html:161 app/utils/i18n_helpers.py:164
#: app/utils/i18n_helpers.py:181
msgid "Travel"
msgstr "Viajar"

#: app/templates/invoices/edit.html:181
#: app/templates/quotes/_edit_quote_form_scripts.html:186
#: app/templates/quotes/edit.html:162 app/utils/i18n_helpers.py:165
#: app/utils/i18n_helpers.py:182
msgid "Meals"
msgstr "Comidas"

#: app/templates/invoices/edit.html:182 app/utils/i18n_helpers.py:166
#: app/utils/i18n_helpers.py:183
msgid "Accommodation"
msgstr "Alojamiento"

#: app/templates/invoices/edit.html:183
#: app/templates/quotes/_edit_quote_form_scripts.html:187
#: app/templates/quotes/edit.html:163 app/utils/i18n_helpers.py:167
#: app/utils/i18n_helpers.py:184
msgid "Supplies"
msgstr "Suministros"

#: app/templates/invoices/edit.html:184 app/utils/i18n_helpers.py:168
#: app/utils/i18n_helpers.py:185
msgid "Software"
msgstr "Software"

#: app/templates/invoices/edit.html:185 app/templates/projects/add_cost.html:43
#: app/templates/projects/edit_cost.html:50
#: app/templates/quotes/_edit_quote_form_scripts.html:189
#: app/templates/quotes/edit.html:165 app/utils/i18n_helpers.py:169
#: app/utils/i18n_helpers.py:186
msgid "Equipment"
msgstr "Equipo"

#: app/templates/invoices/edit.html:186 app/templates/projects/add_cost.html:42
#: app/templates/projects/edit_cost.html:49
#: app/templates/quotes/_edit_quote_form_scripts.html:188
#: app/templates/quotes/edit.html:164 app/utils/i18n_helpers.py:170
#: app/utils/i18n_helpers.py:187
msgid "Services"
msgstr "Servicios"

#: app/templates/invoices/edit.html:187 app/utils/i18n_helpers.py:171
#: app/utils/i18n_helpers.py:188
msgid "Marketing"
msgstr "Marketing"

#: app/templates/invoices/edit.html:188 app/utils/i18n_helpers.py:172
#: app/utils/i18n_helpers.py:189
msgid "Training"
msgstr "Capacitación"

#: app/templates/invoices/edit.html:189 app/templates/invoices/edit.html:256
#: app/templates/invoices/edit.html:616 app/templates/kiosk/dashboard.html:203
#: app/templates/projects/add_cost.html:45
#: app/templates/projects/add_good.html:35
#: app/templates/projects/edit_cost.html:52
#: app/templates/projects/edit_good.html:35
#: app/templates/quotes/_edit_quote_form_scripts.html:190
#: app/templates/quotes/_edit_quote_form_scripts.html:224
#: app/templates/quotes/edit.html:166 app/templates/quotes/edit.html:223
#: app/utils/i18n_helpers.py:118 app/utils/i18n_helpers.py:134
#: app/utils/i18n_helpers.py:173 app/utils/i18n_helpers.py:190
msgid "Other"
msgstr "Otro"

#: app/templates/invoices/edit.html:193
msgid "Linked expense - amount cannot be edited"
msgstr "Gasto vinculado: el importe no se puede editar"

#: app/templates/invoices/edit.html:196
msgid "Linked expense - date cannot be edited"
msgstr "Gasto vinculado: la fecha no se puede editar"

#: app/templates/invoices/edit.html:199
msgid "Unlink expense from invoice"
msgstr "Desvincular gasto de factura"

#: app/templates/invoices/edit.html:209
msgid "Expenses Subtotal"
msgstr "Subtotal de gastos"

#: app/templates/invoices/edit.html:220 app/templates/invoices/view.html:203
#: app/templates/projects/goods.html:6
msgid "Extra Goods"
msgstr "Bienes adicionales"

#: app/templates/invoices/edit.html:223
msgid "Products, materials, licenses, and other goods"
msgstr "Productos, materiales, licencias y otros bienes."

#: app/templates/invoices/edit.html:226 app/templates/projects/add_good.html:69
#: app/templates/projects/goods.html:11
msgid "Add Good"
msgstr "Añadir bueno"

#: app/templates/invoices/edit.html:236 app/templates/invoices/edit.html:263
#: app/templates/invoices/edit.html:623 app/templates/quotes/create.html:67
#: app/templates/quotes/create.html:129 app/templates/quotes/edit.html:72
#: app/templates/quotes/edit.html:110 app/templates/quotes/edit.html:203
msgid "Price"
msgstr "Precio"

#: app/templates/invoices/edit.html:245 app/templates/invoices/edit.html:605
msgid "e.g., Software License"
msgstr "por ejemplo, licencia de software"

#: app/templates/invoices/edit.html:252 app/templates/invoices/edit.html:612
#: app/templates/projects/add_good.html:31
#: app/templates/projects/edit_good.html:31
#: app/templates/quotes/_edit_quote_form_scripts.html:220
#: app/templates/quotes/edit.html:219
msgid "Product"
msgstr "Producto"

#: app/templates/invoices/edit.html:253 app/templates/invoices/edit.html:613
#: app/templates/projects/add_good.html:32
#: app/templates/projects/edit_good.html:32
#: app/templates/quotes/_edit_quote_form_scripts.html:221
#: app/templates/quotes/edit.html:220
msgid "Service"
msgstr "Servicio"

#: app/templates/invoices/edit.html:254 app/templates/invoices/edit.html:614
#: app/templates/projects/add_good.html:33
#: app/templates/projects/edit_good.html:33
#: app/templates/quotes/_edit_quote_form_scripts.html:222
#: app/templates/quotes/edit.html:221
msgid "Material"
msgstr "Material"

#: app/templates/invoices/edit.html:269 app/templates/invoices/edit.html:629
msgid "Remove good"
msgstr "quitar bueno"

#: app/templates/invoices/edit.html:279
msgid "Goods Subtotal"
msgstr "Subtotal de mercancías"

#: app/templates/invoices/edit.html:297
msgid "Live Preview"
msgstr "Vista previa en vivo"

#: app/templates/invoices/edit.html:317
msgid "Payment"
msgstr "Pago"

#: app/templates/invoices/edit.html:342
msgid "Goods"
msgstr "Bienes"

#: app/templates/invoices/edit.html:378
msgid "Generate from Time/Costs"
msgstr "Generar a partir de Tiempo/Costos"

#: app/templates/invoices/edit.html:379 app/templates/invoices/view.html:40
msgid "Record Payment"
msgstr "Pago récord"

#: app/templates/invoices/edit.html:380 app/templates/invoices/view.html:17
#: app/templates/mileage/list.html:66 app/templates/per_diem/list.html:54
#: app/templates/quotes/view.html:37 app/templates/reports/summary.html:9
#: app/templates/timer/time_entries_overview.html:54
#: app/templates/timer/time_entries_overview.html:56
msgid "Export PDF"
msgstr "Exportar PDF"

#: app/templates/invoices/edit.html:381 app/templates/mileage/list.html:63
#: app/templates/per_diem/list.html:51
#: app/templates/timer/time_entries_overview.html:45
#: app/templates/timer/time_entries_overview.html:47
msgid "Export CSV"
msgstr "Exportar CSV"

#: app/templates/invoices/edit.html:382
msgid "Duplicate Invoice"
msgstr "Factura Duplicada"

#: app/templates/invoices/edit.html:666
msgid "Are you sure you want to unlink this expense from the invoice?"
msgstr "¿Estás seguro de que quieres desvincular este gasto de la factura?"

#: app/templates/invoices/edit.html:668
msgid "Unlink Expense"
msgstr "Desvincular gastos"

#: app/templates/invoices/edit.html:669
msgid "Unlink"
msgstr "Desconectar"

#: app/templates/invoices/edit.html:720
msgid "Please add at least one item, expense, or extra good to the invoice"
msgstr "Por favor agregue al menos un artículo, gasto o bien adicional a la factura"

#: app/templates/invoices/generate_from_time.html:6
msgid "Generate from Time, Costs & Goods"
msgstr "Generar a partir de tiempo, costos y bienes"

#: app/templates/invoices/generate_from_time.html:7
msgid "Select unbilled time entries, project costs, and extra goods to add to this invoice"
msgstr "Seleccione entradas de tiempo no facturadas, costos de proyecto y bienes adicionales para agregar a esta factura"

#: app/templates/invoices/generate_from_time.html:9
msgid "Back to Edit"
msgstr "Volver a editar"

#: app/templates/invoices/generate_from_time.html:19
msgid "Unbilled Time Entries"
msgstr "Entradas de tiempo no facturadas"

#: app/templates/invoices/generate_from_time.html:31
#: app/templates/projects/dashboard.html:290
#: app/templates/projects/time_entries_overview.html:61
#: app/templates/reports/iterative_view.html:32
#: app/templates/reports/time_entries_report.html:85
msgid "entries"
msgstr "entradas"

#: app/templates/invoices/generate_from_time.html:67
msgid "No unbilled time entries found for this project."
msgstr "No se encontraron entradas de tiempo no facturadas para este proyecto."

#: app/templates/invoices/generate_from_time.html:72
msgid "Uninvoiced Project Costs"
msgstr "Costos del proyecto no facturados"

#: app/templates/invoices/generate_from_time.html:86
msgid "No uninvoiced costs found for this project."
msgstr "No se encontraron costos no facturados para este proyecto."

#: app/templates/invoices/generate_from_time.html:91
msgid "Uninvoiced Billable Expenses"
msgstr "Gastos facturables no facturados"

#: app/templates/invoices/generate_from_time.html:101
#: app/templates/invoices/pdf_default.html:120
#: app/utils/pdf_generator_fallback.py:289
msgid "Vendor"
msgstr "Proveedor"

#: app/templates/invoices/generate_from_time.html:109
msgid "No uninvoiced billable expenses found for this project."
msgstr "No se encontraron gastos facturables no facturados para este proyecto."

#: app/templates/invoices/generate_from_time.html:114
msgid "Project Extra Goods"
msgstr "Proyecto de bienes adicionales"

#: app/templates/invoices/generate_from_time.html:131
msgid "No extra goods found for this project."
msgstr "No se encontraron productos adicionales para este proyecto."

#: app/templates/invoices/generate_from_time.html:137
msgid "Add Selected to Invoice"
msgstr "Agregar seleccionados a la factura"

#: app/templates/invoices/generate_from_time.html:145
msgid "Selection Summary"
msgstr "Resumen de selección"

#: app/templates/invoices/generate_from_time.html:146
msgid "Total available hours"
msgstr "Total de horas disponibles"

#: app/templates/invoices/generate_from_time.html:147
msgid "Total available costs"
msgstr "Costos totales disponibles"

#: app/templates/invoices/generate_from_time.html:148
msgid "Total available expenses"
msgstr "Gastos totales disponibles"

#: app/templates/invoices/generate_from_time.html:149
msgid "Total available goods"
msgstr "Total de bienes disponibles"

#: app/templates/invoices/generate_from_time.html:152
msgid "Prepaid Hours Overview"
msgstr "Resumen de horas prepagas"

#: app/templates/invoices/generate_from_time.html:154
#, python-format
msgid "Plan includes %(hours)s hours per cycle (resets on day %(day)s)."
msgstr "El plan incluye %(hours)s horas por ciclo (se reinicia el día %(day)s)."

#: app/templates/invoices/generate_from_time.html:161
#, python-format
msgid "Consumed: %(consumed)s h • Remaining: %(remaining)s h"
msgstr "Consumido: %(consumed)s h • Restante: %(remaining)s h"

#: app/templates/invoices/generate_from_time.html:166
msgid "No prepaid usage recorded for selected period yet."
msgstr "Aún no se ha registrado ningún uso de prepago para el período seleccionado."

#: app/templates/invoices/generate_from_time.html:175
msgid "You can select multiple time entries, costs, expenses, and extra goods."
msgstr "Puede seleccionar múltiples entradas de tiempo, costos, gastos y bienes adicionales."

#: app/templates/invoices/generate_from_time.html:176
msgid "Time entries are grouped by task or project at item creation."
msgstr "Las entradas de tiempo se agrupan por tarea o proyecto en el momento de la creación del elemento."

#: app/templates/invoices/generate_from_time.html:177
msgid "Costs and extra goods are added as individual invoice items."
msgstr "Los costos y bienes adicionales se agregan como artículos de factura individuales."

#: app/templates/invoices/generate_from_time.html:178
msgid "Expenses are linked to the invoice and appear in a separate section."
msgstr "Los gastos están vinculados a la factura y aparecen en una sección separada."

#: app/templates/invoices/generate_from_time.html:194
msgid "Please select at least one time entry, cost, expense, or extra good"
msgstr "Seleccione al menos una entrada de tiempo, costo, gasto o bien adicional"

#: app/templates/invoices/list.html:32
msgid "Filter Invoices"
msgstr "Filtrar facturas"

#: app/templates/invoices/list.html:72
msgid "Invoice number or client"
msgstr "Número de factura o cliente"

#: app/templates/invoices/list.html:105
msgid "Delete Selected Invoices"
msgstr "Eliminar facturas seleccionadas"

#: app/templates/invoices/list.html:125
msgid "Change Status for Selected Invoices"
msgstr "Cambiar estado de facturas seleccionadas"

#: app/templates/invoices/list.html:126 app/templates/invoices/list.html:128
msgid "Select Status"
msgstr ""

#: app/templates/invoices/list.html:135
#: app/templates/timer/time_entries_overview.html:202
#: app/templates/timer/view_timer.html:151
msgid "Invoice Reference"
msgstr ""

#: app/templates/invoices/list.html:136
msgid "e.g., Payment confirmation number"
msgstr ""

#: app/templates/invoices/list.html:153 app/templates/invoices/list.html:176
#: app/templates/invoices/view.html:365 app/templates/invoices/view.html:388
msgid "Delete Invoice"
msgstr "Eliminar factura"

#: app/templates/invoices/list.html:161 app/templates/invoices/view.html:373
#: app/templates/kanban/columns.html:149
msgid "Warning:"
msgstr "Advertencia:"

#: app/templates/invoices/list.html:164 app/templates/invoices/view.html:376
msgid "Are you sure you want to delete invoice"
msgstr "¿Estás seguro de que deseas eliminar la factura?"

#: app/templates/invoices/list.html:166 app/templates/invoices/view.html:378
msgid "All invoice items, extra goods, and payment records associated with this invoice will be permanently deleted."
msgstr "Todos los artículos de la factura, bienes adicionales y registros de pago asociados con esta factura se eliminarán permanentemente."

#: app/templates/invoices/pdf_default.html:54 app/utils/pdf_generator.py:1124
#: app/utils/pdf_generator_fallback.py:167
msgid "INVOICE"
msgstr "FACTURA"

#: app/templates/invoices/pdf_default.html:56 app/utils/pdf_generator.py:1126
msgid "Invoice #"
msgstr "Factura #"

#: app/templates/invoices/pdf_default.html:66 app/utils/pdf_generator.py:1137
msgid "Bill To"
msgstr "Cobrar a"

#: app/templates/invoices/pdf_default.html:89 app/utils/pdf_generator.py:1155
#: app/utils/pdf_generator_fallback.py:240
msgid "Quantity (Hours)"
msgstr "Cantidad (horas)"

#: app/templates/invoices/pdf_default.html:101
#, python-format
msgid "Generated from %(num)d time entries"
msgstr "Generado a partir de %(num)d entradas de tiempo"

#: app/templates/invoices/pdf_default.html:117
#: app/utils/pdf_generator_fallback.py:287
msgid "Expense"
msgstr "Gastos"

#: app/templates/invoices/pdf_default.html:153
#: app/templates/quotes/pdf_default.html:117
#: app/utils/pdf_generator_fallback.py:305
#: app/utils/pdf_generator_fallback.py:616
msgid "Subtotal:"
msgstr "Total parcial:"

#: app/templates/invoices/pdf_default.html:158
#: app/templates/quotes/pdf_default.html:140
#: app/utils/pdf_generator_fallback.py:312
#, python-format
msgid "Tax (%(rate).2f%%):"
msgstr "Impuesto (%(rate).2f%%):"

#: app/templates/invoices/pdf_default.html:163
#: app/templates/quotes/pdf_default.html:145
#: app/utils/pdf_generator_fallback.py:317
msgid "Total Amount:"
msgstr "Monto total:"

#: app/templates/invoices/pdf_default.html:174 app/utils/pdf_generator.py:1347
#: app/utils/pdf_generator_fallback.py:377
msgid "Notes:"
msgstr "Notas:"

#: app/templates/invoices/pdf_default.html:180 app/utils/pdf_generator.py:1357
#: app/utils/pdf_generator_fallback.py:382
msgid "Terms:"
msgstr "Términos:"

#: app/templates/invoices/pdf_default.html:189
#: app/templates/quotes/pdf_default.html:171 app/utils/pdf_generator.py:1378
#: app/utils/pdf_generator_fallback.py:394
msgid "Payment Information:"
msgstr "Información de pago:"

#: app/templates/invoices/pdf_default.html:192
#: app/templates/quotes/pdf_default.html:162
#: app/templates/quotes/pdf_default.html:175 app/utils/pdf_generator.py:1175
#: app/utils/pdf_generator_fallback.py:399
#: app/utils/pdf_generator_fallback.py:652
msgid "Terms & Conditions:"
msgstr "Términos y condiciones:"

#: app/templates/invoices/view.html:32
msgid "Download UBL"
msgstr ""

#: app/templates/invoices/view.html:37
msgid "Pay Online"
msgstr ""

#: app/templates/invoices/view.html:77
msgid "Payment Reference"
msgstr ""

#: app/templates/invoices/view.html:122
msgid "PEPPOL compliance: the following are missing"
msgstr ""

#: app/templates/invoices/view.html:135
msgid "Invoice Approval"
msgstr ""

#: app/templates/invoices/view.html:136
msgid "Request approval before sending this invoice to the client."
msgstr ""

#: app/templates/invoices/view.html:260 app/templates/invoices/view.html:349
msgid "Payment History"
msgstr "Historial de pagos"

#: app/templates/invoices/view.html:497
msgid "Send Invoice via Email"
msgstr "Enviar factura por correo electrónico"

#: app/templates/issues/edit.html:13 app/templates/issues/view.html:12
msgid "Edit Issue"
msgstr ""

#: app/templates/issues/edit.html:72 app/templates/issues/new.html:66
#: app/templates/issues/view.html:74 app/templates/issues/view.html:143
#: app/templates/recurring_tasks/form.html:108
#: app/templates/tasks/create.html:108 app/templates/tasks/edit.html:116
#: app/templates/tasks/overdue.html:54
msgid "Unassigned"
msgstr "No asignado"

#: app/templates/issues/list.html:15 app/templates/issues/list.html:166
#: app/templates/issues/new.html:77
msgid "Create Issue"
msgstr ""

#: app/templates/issues/list.html:28
msgid "Filter Issues"
msgstr ""

#: app/templates/issues/list.html:33
msgid "Search by title or description"
msgstr ""

#: app/templates/issues/list.html:80 app/templates/tasks/my_tasks.html:178
msgid "Apply Filters"
msgstr "Aplicar filtros"

#: app/templates/issues/list.html:155 app/templates/main/search.html:101
#: app/templates/project_templates/list.html:104
#: app/templates/reports/time_entries_report.html:144
#: app/utils/pdf_generator_fallback.py:665
msgid "Page"
msgstr "Página"

#: app/templates/issues/list.html:155 app/templates/main/search.html:101
#: app/templates/project_templates/list.html:104
#: app/templates/projects/dashboard.html:57
#: app/templates/reports/time_entries_report.html:144
msgid "of"
msgstr "de"

#: app/templates/issues/list.html:169
#, fuzzy
msgid "No issues found"
msgstr "No se encontraron usuarios."

#: app/templates/issues/list.html:170
msgid "No issues match your filters. Create an issue or adjust your filters."
msgstr ""

#: app/templates/issues/new.html:13
msgid "Create New Issue"
msgstr ""

#: app/templates/issues/view.html:16
msgid "Are you sure you want to delete this issue?"
msgstr ""

#: app/templates/issues/view.html:16
msgid "Delete Issue"
msgstr ""

#: app/templates/issues/view.html:38 app/templates/main/help.html:30
#: app/templates/main/help.html:279
msgid "Task Management"
msgstr "Gestión de tareas"

#: app/templates/issues/view.html:49
msgid "Link to existing task"
msgstr ""

#: app/templates/issues/view.html:53
msgid "Select a task"
msgstr ""

#: app/templates/issues/view.html:59
msgid "Link"
msgstr ""

#: app/templates/issues/view.html:64
msgid "Create new task from this issue"
msgstr ""

#: app/templates/issues/view.html:154
msgid "Submitted By"
msgstr ""

#: app/templates/kanban/board.html:5
msgid "Kanban"
msgstr "Kanban"

#: app/templates/kanban/board.html:47 app/templates/tasks/_kanban.html:14
msgid "Manage Columns"
msgstr "Administrar columnas"

#: app/templates/kanban/board.html:56
msgid "Drag tasks between columns to update their status"
msgstr "Arrastre tareas entre columnas para actualizar su estado"

#: app/templates/kanban/board.html:61
msgid "Kanban board"
msgstr "tablero kanban"

#: app/templates/kanban/board.html:113
msgid "moved to"
msgstr "se mudó a"

#: app/templates/kanban/board.html:147
#: app/templates/projects/_kanban_tailwind.html:86
msgid "No tasks in this column."
msgstr "No hay tareas en esta columna."

#: app/templates/kanban/columns.html:2 app/templates/kanban/columns.html:18
msgid "Manage Kanban Columns"
msgstr "Administrar columnas Kanban"

#: app/templates/kanban/columns.html:20
msgid "Customize your kanban board columns and task states"
msgstr "Personalice las columnas de su tablero kanban y los estados de las tareas"

#: app/templates/kanban/columns.html:25 app/templates/timer/edit_timer.html:407
msgid "Project:"
msgstr "Proyecto:"

#: app/templates/kanban/columns.html:27
msgid "Global Columns"
msgstr "Columnas globales"

#: app/templates/kanban/columns.html:35
msgid "Add Column"
msgstr "Agregar columna"

#: app/templates/kanban/columns.html:44
msgid "Kanban columns list"
msgstr "Lista de columnas Kanban"

#: app/templates/kanban/columns.html:48
msgid "Key"
msgstr "Llave"

#: app/templates/kanban/columns.html:53
msgid "Complete?"
msgstr "¿Completo?"

#: app/templates/kanban/columns.html:62
msgid "Drag to reorder"
msgstr "Arrastra para reordenar"

#: app/templates/kanban/columns.html:93
msgid "Edit column"
msgstr "Editar columna"

#: app/templates/kanban/columns.html:96
msgid "Toggle active state"
msgstr "Alternar estado activo"

#: app/templates/kanban/columns.html:118
msgid "No kanban columns found. Create your first column to get started."
msgstr "No se encontraron columnas kanban. Crea tu primera columna para comenzar."

#: app/templates/kanban/columns.html:124
msgid "Tips:"
msgstr "Consejos:"

#: app/templates/kanban/columns.html:126
msgid "Drag and drop rows to reorder columns"
msgstr "Arrastre y suelte filas para reordenar las columnas"

#: app/templates/kanban/columns.html:127
msgid "System columns (todo, in_progress, done) cannot be deleted but can be customized"
msgstr "Las columnas del sistema (todo, in_progress, done) no se pueden eliminar, pero se pueden personalizar"

#: app/templates/kanban/columns.html:128
msgid "Columns marked as \"Complete\" will mark tasks as completed when dragged to that column"
msgstr "Las columnas marcadas como \"Completas\" marcarán las tareas como completadas cuando se arrastren a esa columna"

#: app/templates/kanban/columns.html:129
msgid "Inactive columns are hidden from the kanban board but tasks with that status remain accessible"
msgstr "Las columnas inactivas están ocultas en el tablero kanban, pero las tareas con ese estado permanecen accesibles"

#: app/templates/kanban/columns.html:141
msgid "Delete Kanban Column"
msgstr "Eliminar columna Kanban"

#: app/templates/kanban/columns.html:152
msgid "Are you sure you want to delete the column?"
msgstr "¿Está seguro de que desea eliminar la columna?"

#: app/templates/kanban/columns.html:154
msgid "Key:"
msgstr "Llave:"

#: app/templates/kanban/columns.html:157
msgid "Note: Tasks with this status will remain accessible but the column will no longer appear on the kanban board."
msgstr "Nota: Las tareas con este estado seguirán siendo accesibles, pero la columna ya no aparecerá en el tablero kanban."

#: app/templates/kanban/columns.html:167
msgid "Delete Column"
msgstr "Eliminar columna"

#: app/templates/kanban/columns.html:226 app/templates/kanban/columns.html:228
msgid "Columns reordered successfully"
msgstr "Columnas reordenadas exitosamente"

#: app/templates/kanban/columns.html:247
msgid "Failed to reorder columns. Please try again."
msgstr "No se pudieron reordenar las columnas. Por favor inténtalo de nuevo."

#: app/templates/kanban/create_column.html:2
#: app/templates/kanban/create_column.html:10
msgid "Create Kanban Column"
msgstr "Crear columna Kanban"

#: app/templates/kanban/create_column.html:12
msgid "Add a new column to your kanban board"
msgstr "Agregue una nueva columna a su tablero kanban"

#: app/templates/kanban/create_column.html:23
msgid "Create Kanban Column form"
msgstr "Crear formulario de columna Kanban"

#: app/templates/kanban/create_column.html:26
#: app/templates/kanban/edit_column.html:34
msgid "Column Label"
msgstr "Etiqueta de columna"

#: app/templates/kanban/create_column.html:27
msgid "e.g., In Review, Blocked, Testing"
msgstr "por ejemplo, En revisión, Bloqueado, Probando"

#: app/templates/kanban/create_column.html:28
#: app/templates/kanban/edit_column.html:36
msgid "The display name shown on the kanban board"
msgstr "El nombre para mostrar que se muestra en el tablero kanban."

#: app/templates/kanban/create_column.html:32
#: app/templates/kanban/edit_column.html:23
msgid "Column Key"
msgstr "Clave de columna"

#: app/templates/kanban/create_column.html:33
msgid "e.g., in_review, blocked, testing"
msgstr "por ejemplo, en_revisión, bloqueado, probando"

#: app/templates/kanban/create_column.html:34
msgid "Unique identifier (lowercase, no spaces, use underscores). Auto-generated from label if empty."
msgstr "Identificador único (minúsculas, sin espacios, use guiones bajos). Generado automáticamente a partir de la etiqueta si está vacío."

#: app/templates/kanban/create_column.html:41
msgid "Global (for all projects)"
msgstr "Global (para todos los proyectos)"

#: app/templates/kanban/create_column.html:46
msgid "Select a project to create project-specific columns, or leave as Global for all projects"
msgstr "Seleccione un proyecto para crear columnas específicas del proyecto o déjelo como Global para todos los proyectos"

#: app/templates/kanban/create_column.html:52
#: app/templates/kanban/edit_column.html:41
msgid "Icon Class"
msgstr "Clase de icono"

#: app/templates/kanban/create_column.html:55
#: app/templates/kanban/edit_column.html:44
msgid "Font Awesome icon class"
msgstr "Clase de icono Font Awesome"

#: app/templates/kanban/create_column.html:56
#: app/templates/kanban/edit_column.html:45
msgid "Browse icons"
msgstr "Explorar iconos"

#: app/templates/kanban/create_column.html:62
#: app/templates/kanban/edit_column.html:54
msgid "Primary (Blue)"
msgstr "Primario (azul)"

#: app/templates/kanban/create_column.html:63
#: app/templates/kanban/edit_column.html:55
msgid "Secondary (Gray)"
msgstr "Secundaria (gris)"

#: app/templates/kanban/create_column.html:64
#: app/templates/kanban/edit_column.html:56
msgid "Success (Green)"
msgstr "Éxito (verde)"

#: app/templates/kanban/create_column.html:65
#: app/templates/kanban/edit_column.html:57
msgid "Danger (Red)"
msgstr "Peligro (rojo)"

#: app/templates/kanban/create_column.html:66
#: app/templates/kanban/edit_column.html:58
msgid "Warning (Yellow)"
msgstr "Advertencia (amarillo)"

#: app/templates/kanban/create_column.html:67
#: app/templates/kanban/edit_column.html:59
msgid "Info (Cyan)"
msgstr "Información (cian)"

#: app/templates/kanban/create_column.html:70
#: app/templates/kanban/edit_column.html:62
msgid "Bootstrap color class for styling"
msgstr "Clase de color Bootstrap para estilo"

#: app/templates/kanban/create_column.html:78
#: app/templates/kanban/edit_column.html:70
msgid "Mark as Complete State"
msgstr "Marcar como estado completo"

#: app/templates/kanban/create_column.html:79
#: app/templates/kanban/edit_column.html:71
msgid "Tasks moved to this column will be marked as completed"
msgstr "Las tareas movidas a esta columna se marcarán como completadas"

#: app/templates/kanban/create_column.html:89
msgid "Create Column"
msgstr "Crear columna"

#: app/templates/kanban/create_column.html:97
msgid "Note:"
msgstr "Nota:"

#: app/templates/kanban/create_column.html:97
msgid "The column will be added at the end of the board. You can reorder columns later from the management page."
msgstr "La columna se agregará al final del tablero. Puede reordenar las columnas más adelante desde la página de administración."

#: app/templates/kanban/edit_column.html:2
#: app/templates/kanban/edit_column.html:10
msgid "Edit Kanban Column"
msgstr "Editar columna Kanban"

#: app/templates/kanban/edit_column.html:12
msgid "Modify column settings"
msgstr "Modificar la configuración de la columna"

#: app/templates/kanban/edit_column.html:20
msgid "Edit Kanban Column form"
msgstr "Editar formulario de columna Kanban"

#: app/templates/kanban/edit_column.html:25
msgid "The key cannot be changed after creation"
msgstr "La clave no se puede cambiar después de la creación."

#: app/templates/kanban/edit_column.html:27
msgid "This is a project-specific column"
msgstr "Esta es una columna específica del proyecto."

#: app/templates/kanban/edit_column.html:29
msgid "This is a global column (for all projects)"
msgstr "Esta es una columna global (para todos los proyectos)"

#: app/templates/kanban/edit_column.html:48
#: app/templates/reports/builder.html:66 app/templates/tasks/create.html:80
#: app/templates/tasks/edit.html:89 app/templates/timer/bulk_entry.html:154
msgid "Preview"
msgstr "Avance"

#: app/templates/kanban/edit_column.html:81
msgid "Inactive columns are hidden from the kanban board"
msgstr "Las columnas inactivas están ocultas del tablero kanban"

#: app/templates/kanban/edit_column.html:100
msgid "System Column:"
msgstr "Columna del sistema:"

#: app/templates/kanban/edit_column.html:100
msgid "This is a system column. You can customize its appearance but cannot delete it."
msgstr "Esta es una columna del sistema. Puede personalizar su apariencia pero no eliminarla."

#: app/templates/kiosk/base.html:112
msgid "Keyboard Shortcuts (Press ?)"
msgstr ""

#: app/templates/kiosk/base.html:112
msgid "Show keyboard shortcuts"
msgstr ""

#: app/templates/kiosk/base.html:116 app/templates/kiosk/login.html:72
msgid "Toggle dark mode"
msgstr "Alternar modo oscuro"

#: app/templates/kiosk/base.html:127
msgid "Logout from kiosk mode"
msgstr ""

#: app/templates/kiosk/base.html:143
msgid "Scan"
msgstr ""

#: app/templates/kiosk/base.html:147
msgid "Adjust Stock"
msgstr ""

#: app/templates/kiosk/dashboard.html:10
msgid "Close keyboard shortcuts"
msgstr ""

#: app/templates/kiosk/dashboard.html:43
msgid "Scan Barcode or Enter SKU"
msgstr ""

#: app/templates/kiosk/dashboard.html:45
msgid "Use a barcode scanner or type the SKU manually"
msgstr ""

#: app/templates/kiosk/dashboard.html:55
msgid "Scan barcode or enter SKU..."
msgstr ""

#: app/templates/kiosk/dashboard.html:58
msgid "Barcode or SKU input"
msgstr ""

#: app/templates/kiosk/dashboard.html:64
msgid "Use Camera to Scan"
msgstr ""

#: app/templates/kiosk/dashboard.html:65
msgid "Open camera scanner"
msgstr ""

#: app/templates/kiosk/dashboard.html:91
msgid "Close camera scanner"
msgstr ""

#: app/templates/kiosk/dashboard.html:93
msgid "Close Camera"
msgstr ""

#: app/templates/kiosk/dashboard.html:174
msgid "Decrease quantity"
msgstr ""

#: app/templates/kiosk/dashboard.html:183
msgid "Adjustment quantity"
msgstr ""

#: app/templates/kiosk/dashboard.html:185
msgid "Increase quantity"
msgstr ""

#: app/templates/kiosk/dashboard.html:198
msgid "Kiosk adjustment"
msgstr ""

#: app/templates/kiosk/dashboard.html:199
msgid "Physical count"
msgstr ""

#: app/templates/kiosk/dashboard.html:200
msgid "Found"
msgstr ""

#: app/templates/kiosk/dashboard.html:201
msgid "Damaged"
msgstr ""

#: app/templates/kiosk/dashboard.html:211
msgid "Apply stock adjustment"
msgstr ""

#: app/templates/kiosk/dashboard.html:213
msgid "Apply Adjustment"
msgstr ""

#: app/templates/kiosk/dashboard.html:218
msgid "Undo last adjustment"
msgstr ""

#: app/templates/kiosk/dashboard.html:220
msgid "Undo Last Adjustment"
msgstr ""

#: app/templates/kiosk/dashboard.html:271
msgid "Transfer quantity"
msgstr ""

#: app/templates/kiosk/dashboard.html:275
msgid "Transfer stock"
msgstr ""

#: app/templates/kiosk/dashboard.html:277
msgid "Transfer Stock"
msgstr ""

#: app/templates/kiosk/dashboard.html:295
msgid "Stop timer"
msgstr ""

#: app/templates/kiosk/dashboard.html:297 app/templates/tasks/_kanban.html:51
#: app/templates/tasks/my_tasks.html:336 app/templates/timer/timer_page.html:90
msgid "Stop Timer"
msgstr "Detener el temporizador"

#: app/templates/kiosk/dashboard.html:309
msgid "Select project..."
msgstr ""

#: app/templates/kiosk/dashboard.html:315
msgid "No projects available"
msgstr ""

#: app/templates/kiosk/dashboard.html:321
msgid "No active projects found. Please create a project first."
msgstr ""

#: app/templates/kiosk/dashboard.html:337
#: app/templates/kiosk/dashboard.html:400 app/templates/main/dashboard.html:684
#: app/templates/main/dashboard.html:752
#: app/templates/timer/bulk_entry.html:333
#: app/templates/timer/calendar.html:160 app/templates/timer/calendar.html:681
#: app/templates/timer/calendar.html:691 app/templates/timer/calendar.html:700
#: app/templates/timer/calendar.html:705
#: app/templates/timer/manual_entry.html:81
#: app/templates/timer/manual_entry.html:347
#: app/templates/timer/timer_page.html:163
#: app/templates/timer/timer_page.html:263
msgid "No task"
msgstr "Ninguna tarea"

#: app/templates/kiosk/dashboard.html:343
msgid "Tasks will load after selecting a project"
msgstr ""

#: app/templates/kiosk/dashboard.html:348 app/templates/main/dashboard.html:692
#: app/templates/main/dashboard.html:762
msgid "What are you working on?"
msgstr "¿En qué estás trabajando?"

#: app/templates/kiosk/dashboard.html:351
msgid "Start timer"
msgstr ""

#: app/templates/kiosk/dashboard.html:369
msgid "Recent Items"
msgstr ""

#: app/templates/kiosk/login.html:6
msgid "Kiosk Login"
msgstr ""

#: app/templates/kiosk/login.html:40
msgid "Quick access for warehouse operations"
msgstr ""

#: app/templates/kiosk/login.html:46
msgid "Barcode scanning"
msgstr ""

#: app/templates/kiosk/login.html:52
msgid "Stock management"
msgstr ""

#: app/templates/kiosk/login.html:58
msgid "Time tracking"
msgstr ""

#: app/templates/kiosk/login.html:68
msgid "Sign in to Kiosk Mode"
msgstr ""

#: app/templates/kiosk/login.html:69
msgid "Select your username to continue"
msgstr ""

#: app/templates/kiosk/login.html:72
msgid "Toggle Theme"
msgstr ""

#: app/templates/kiosk/login.html:98
msgid "Select User"
msgstr ""

#: app/templates/kiosk/login.html:126
msgid "your-username"
msgstr ""

#: app/templates/kiosk/login.html:159
msgid "Standard Login"
msgstr ""

#: app/templates/leads/convert_to_client.html:4
#: app/templates/leads/convert_to_client.html:10
#: app/templates/leads/convert_to_client.html:15
#: app/templates/leads/convert_to_client.html:32
#: app/templates/leads/view.html:17
msgid "Convert to Client"
msgstr ""

#: app/templates/leads/convert_to_client.html:21
msgid "This will create a new client and primary contact from this lead, then mark the lead as converted."
msgstr ""

#: app/templates/leads/convert_to_client.html:23
#, fuzzy
msgid "Lead summary"
msgstr "Resumen"

#: app/templates/leads/convert_to_deal.html:4
#: app/templates/leads/convert_to_deal.html:10
#: app/templates/leads/convert_to_deal.html:15
#: app/templates/leads/convert_to_deal.html:60 app/templates/leads/view.html:18
msgid "Convert to Deal"
msgstr ""

#: app/templates/leads/form.html:55 app/templates/leads/list.html:35
#: app/templates/leads/list.html:55 app/templates/leads/list.html:83
#: app/templates/leads/view.html:67 app/templates/reports/user_report.html:84
#: app/templates/timer/calendar.html:889
#: app/templates/timer/edit_timer.html:309
#: app/templates/timer/view_timer.html:181
msgid "Source"
msgstr "Fuente"

#: app/templates/leads/form.html:56
msgid "Website, referral, ad..."
msgstr "Sitio web, referencia, anuncio..."

#: app/templates/leads/form.html:69
msgid "Lead Score"
msgstr "Puntuación principal"

#: app/templates/leads/form.html:74 app/templates/leads/view.html:96
msgid "Estimated Value"
msgstr "Valor estimado"

#: app/templates/leads/form.html:100
msgid "Save Lead"
msgstr "Guardar cliente potencial"

#: app/templates/leads/list.html:23
msgid "Name, company, email..."
msgstr "Nombre, empresa, correo electrónico..."

#: app/templates/leads/list.html:28 app/templates/tasks/my_tasks.html:130
msgid "All Statuses"
msgstr "Todos los estados"

#: app/templates/leads/list.html:36
msgid "Website, referral..."
msgstr "Sitio web, referencia..."

#: app/templates/leads/list.html:54 app/templates/leads/list.html:78
#: app/templates/leads/view.html:87
msgid "Score"
msgstr "Puntaje"

#: app/templates/leads/list.html:95
msgid "No leads found"
msgstr "No se encontraron pistas"

#: app/templates/leads/list.html:97
msgid "Create First Lead"
msgstr "Crear el primer cliente potencial"

#: app/templates/leads/view.html:19
msgid "Mark this lead as lost?"
msgstr ""

#: app/templates/leads/view.html:21
msgid "Mark Lost"
msgstr ""

#: app/templates/leads/view.html:30
msgid "Lead"
msgstr ""

#: app/templates/leads/view.html:72
msgid "No contact details yet"
msgstr ""

#: app/templates/leads/view.html:78
msgid "Lead Details"
msgstr ""

#: app/templates/main/about.html:9
msgid "Professional time tracking and project management"
msgstr "Seguimiento profesional del tiempo y gestión de proyectos."

#: app/templates/main/about.html:24
msgid "A comprehensive web-based time tracking application built with Flask, featuring project management, client organization, task management, invoicing, and advanced analytics."
msgstr "Una completa aplicación de seguimiento del tiempo basada en web creada con Flask, que incluye gestión de proyectos, organización de clientes, gestión de tareas, facturación y análisis avanzados."

#: app/templates/main/about.html:35 app/templates/main/help.html:32
msgid "Invoicing"
msgstr "Facturación"

#: app/templates/main/about.html:45
msgid "TimeTracker is free and open source. You can donate or buy a supporter license — features are never locked."
msgstr ""

#: app/templates/main/about.html:55 app/templates/main/help.html:111
msgid "Smart Timers"
msgstr "Temporizadores inteligentes"

#: app/templates/main/about.html:57
msgid "Real-time tracking with idle detection and live updates"
msgstr "Seguimiento en tiempo real con detección de inactividad y actualizaciones en vivo"

#: app/templates/main/about.html:62 app/templates/main/help.html:29
#: app/templates/main/help.html:236
msgid "Client Management"
msgstr "Gestión de Clientes"

#: app/templates/main/about.html:64
msgid "Organize clients with contacts, rates, and project relations"
msgstr "Organizar clientes con contactos, tarifas y relaciones de proyectos."

#: app/templates/main/about.html:69
msgid "Task System"
msgstr "Sistema de tareas"

#: app/templates/main/about.html:71
msgid "Break down projects into tasks with progress tracking"
msgstr "Divida los proyectos en tareas con seguimiento del progreso"

#: app/templates/main/about.html:76
msgid "PDF Invoices"
msgstr "Facturas en PDF"

#: app/templates/main/about.html:78
msgid "Generate professional invoices from tracked time"
msgstr "Genere facturas profesionales a partir del tiempo registrado"

#: app/templates/main/about.html:85 app/templates/main/help.html:427
msgid "Core Features"
msgstr "Características principales"

#: app/templates/main/about.html:87
msgid "Start/stop timers with project and task association"
msgstr "Iniciar/detener temporizadores con asociación de proyectos y tareas"

#: app/templates/main/about.html:88
msgid "Manual time entry with notes and tags"
msgstr "Entrada manual de tiempo con notas y etiquetas."

#: app/templates/main/about.html:89
msgid "Client and project organization"
msgstr "Organización del cliente y del proyecto."

#: app/templates/main/about.html:90
msgid "Role-based access and user profiles"
msgstr "Acceso basado en roles y perfiles de usuario"

#: app/templates/main/about.html:94
msgid "Advanced Features"
msgstr "Funciones avanzadas"

#: app/templates/main/about.html:96
msgid "Branded PDF invoicing with tax and payment tracking"
msgstr "Facturación en PDF personalizada con seguimiento de impuestos y pagos"

#: app/templates/main/about.html:97
msgid "Visual analytics and detailed reporting"
msgstr "Análisis visuales e informes detallados"

#: app/templates/main/about.html:98
msgid "REST API for integrations"
msgstr "API REST para integraciones"

#: app/templates/main/about.html:99
msgid "PWA capabilities and mobile-friendly UI"
msgstr "Capacidades de PWA y interfaz de usuario compatible con dispositivos móviles"

#: app/templates/main/about.html:106
msgid "Platform Support"
msgstr "Soporte de plataforma"

#: app/templates/main/about.html:109
msgid "Web Application"
msgstr "Aplicación web"

#: app/templates/main/about.html:111
msgid "Desktop browsers (Chrome, Firefox, Safari, Edge)"
msgstr "Navegadores de escritorio (Chrome, Firefox, Safari, Edge)"

#: app/templates/main/about.html:112
msgid "Mobile responsive design"
msgstr "Diseño responsivo móvil"

#: app/templates/main/about.html:113
msgid "Progressive Web App (PWA)"
msgstr "Aplicación web progresiva (PWA)"

#: app/templates/main/about.html:114
msgid "Touch-friendly tablet interface"
msgstr "Interfaz de tableta táctil"

#: app/templates/main/about.html:118
msgid "Operating Systems"
msgstr "Sistemas operativos"

#: app/templates/main/about.html:120
msgid "Windows, macOS, Linux"
msgstr "Windows, macOS, Linux"

#: app/templates/main/about.html:121
msgid "Android and iOS (browser)"
msgstr "Android e iOS (navegador)"

#: app/templates/main/about.html:122
msgid "Raspberry Pi support"
msgstr "Soporte para frambuesa pi"

#: app/templates/main/about.html:123
msgid "Dockerized deployment"
msgstr "Implementación dockerizada"

#: app/templates/main/about.html:127
msgid "Database Support"
msgstr "Soporte de base de datos"

#: app/templates/main/about.html:129
msgid "PostgreSQL (recommended)"
msgstr "PostgreSQL (recomendado)"

#: app/templates/main/about.html:130
msgid "SQLite (dev/test)"
msgstr "SQLite (desarrollo/prueba)"

#: app/templates/main/about.html:131
msgid "Automatic migrations with Flask-Migrate"
msgstr "Migraciones automáticas con Flask-Migrate"

#: app/templates/main/about.html:132
msgid "Backup and restoration tools"
msgstr "Herramientas de copia de seguridad y restauración"

#: app/templates/main/about.html:140
msgid "Technical Specifications"
msgstr "Especificaciones técnicas"

#: app/templates/main/about.html:143
msgid "Technology Stack"
msgstr "Pila de tecnología"

#: app/templates/main/about.html:145
msgid "Backend"
msgstr "backend"

#: app/templates/main/about.html:146
msgid "Frontend"
msgstr "Interfaz"

#: app/templates/main/about.html:148
msgid "Deployment"
msgstr "Despliegue"

#: app/templates/main/about.html:152
msgid "Key Capabilities"
msgstr "Capacidades clave"

#: app/templates/main/about.html:154
msgid "Real-time"
msgstr "en tiempo real"

#: app/templates/main/about.html:155
msgid "i18n"
msgstr "i18n"

#: app/templates/main/about.html:165
msgid "Open Source & Community"
msgstr "Código abierto y comunidad"

#: app/templates/main/about.html:168
msgid "Open Source Benefits"
msgstr "Beneficios del código abierto"

#: app/templates/main/about.html:170
msgid "Full source code available on GitHub"
msgstr "Código fuente completo disponible en GitHub"

#: app/templates/main/about.html:171
msgid "Licensed under GPL v3.0"
msgstr "Licenciado bajo GPL v3.0"

#: app/templates/main/about.html:172
msgid "Community-driven development"
msgstr "Desarrollo impulsado por la comunidad"

#: app/templates/main/about.html:173
msgid "Transparent issue tracking and bug reports"
msgstr "Seguimiento transparente de problemas e informes de errores"

#: app/templates/main/about.html:177
msgid "Deployment Options"
msgstr "Opciones de implementación"

#: app/templates/main/about.html:179
msgid "Docker images (GHCR)"
msgstr "Imágenes acoplables (GHCR)"

#: app/templates/main/about.html:180
msgid "Self-hosted deployment with full control"
msgstr "Implementación autohospedada con control total"

#: app/templates/main/about.html:181
msgid "Cloud-ready with Compose configs"
msgstr "Listo para la nube con configuraciones de Compose"

#: app/templates/main/about.html:187
msgid "View on GitHub"
msgstr "Ver en GitHub"

#: app/templates/main/about.html:191 app/templates/main/donate.html:201
#, fuzzy
msgid "Support updates"
msgstr "Funciones admitidas"

#: app/templates/main/about.html:205 app/templates/main/donate.html:17
msgid "Support TimeTracker Development"
msgstr ""

#: app/templates/main/about.html:208
msgid "TimeTracker is free and open-source. Support updates and new features — or remove prompts with a one-time key."
msgstr ""

#: app/templates/main/about.html:219 app/templates/main/donate.html:49
msgid "Remove prompts with a one-time key."
msgstr ""

#: app/templates/main/about.html:230
msgid "Getting Help & Resources"
msgstr "Obtener ayuda y recursos"

#: app/templates/main/about.html:236 app/templates/main/help.html:767
msgid "Documentation"
msgstr "Documentación"

#: app/templates/main/about.html:237
msgid "Step-by-step guides for all features."
msgstr "Guías paso a paso para todas las funciones."

#: app/templates/main/about.html:239
msgid "View Help"
msgstr "Ver ayuda"

#: app/templates/main/about.html:246
msgid "System Information"
msgstr "Información del sistema"

#: app/templates/main/about.html:247
msgid "Status, versions, and configuration details."
msgstr "Estado, versiones y detalles de configuración."

#: app/templates/main/about.html:253
msgid "Admin access required"
msgstr "Se requiere acceso de administrador"

#: app/templates/main/about.html:260 app/templates/main/help.html:777
msgid "Community Support"
msgstr "Apoyo comunitario"

#: app/templates/main/about.html:261
msgid "Report issues, request features, contribute."
msgstr "Informar problemas, solicitar funciones, contribuir."

#: app/templates/main/about.html:263
msgid "GitHub Issues"
msgstr "Problemas de GitHub"

#: app/templates/main/dashboard.html:16
#, python-format
msgid "Logged %(duration)s on %(project)s"
msgstr ""

#: app/templates/main/dashboard.html:22 app/templates/main/dashboard.html:241
#, fuzzy
msgid "View time entries"
msgstr "Ver todas las entradas de tiempo"

#: app/templates/main/dashboard.html:29
msgid "Here's a quick overview of your work."
msgstr "A continuación se ofrece una descripción general rápida de su trabajo."

#: app/templates/main/dashboard.html:43
#, fuzzy
msgid "Start timer with same project, task and notes as last entry"
msgstr "Iniciar/detener temporizadores con asociación de proyectos y tareas"

#: app/templates/main/dashboard.html:44
#, fuzzy
msgid "Repeat last"
msgstr "Creado en"

#: app/templates/main/dashboard.html:46
#, fuzzy
msgid "Start timer with last project and notes?"
msgstr "Iniciar/detener temporizadores con asociación de proyectos y tareas"

#: app/templates/main/dashboard.html:53 app/templates/main/dashboard.html:54
#: app/templates/reports/builder.html:24
msgid "Quick start"
msgstr ""

#: app/templates/main/dashboard.html:70
#, fuzzy
msgid "Paused"
msgstr "Pausa"

#: app/templates/main/dashboard.html:73 app/templates/timer/edit_timer.html:296
#: app/templates/timer/manual_entry.html:122
#: app/templates/timer/timer_page.html:95
#, fuzzy
msgid "Break"
msgstr "Atrás"

#: app/templates/main/dashboard.html:78 app/templates/timer/edit_timer.html:425
msgid "Running"
msgstr ""

#: app/templates/main/dashboard.html:81
msgid "Break so far"
msgstr ""

#: app/templates/main/dashboard.html:95
msgid "Started at"
msgstr "Comenzó en"

#: app/templates/main/dashboard.html:98
msgid "Elapsed"
msgstr ""

#: app/templates/main/dashboard.html:102
#, fuzzy
msgid "Adjust time"
msgstr "Ajuste"

#: app/templates/main/dashboard.html:106
msgid "Subtract 15 min"
msgstr ""

#: app/templates/main/dashboard.html:107
msgid "Subtract 5 min"
msgstr ""

#: app/templates/main/dashboard.html:108
#, fuzzy
msgid "Add 5 min"
msgstr "Administración"

#: app/templates/main/dashboard.html:109
#, fuzzy
msgid "Add 15 min"
msgstr "Administración"

#: app/templates/main/dashboard.html:118
#, fuzzy
msgid "Resume timer"
msgstr "Temporizadores inteligentes"

#: app/templates/main/dashboard.html:119 app/templates/main/dashboard.html:145
#: app/templates/timer/timer_page.html:76
#, fuzzy
msgid "Resume"
msgstr "Reiniciar"

#: app/templates/main/dashboard.html:125
msgid "Pause timer (break time will be counted on resume)"
msgstr ""

#: app/templates/main/dashboard.html:126 app/templates/tasks/view.html:21
#: app/templates/timer/timer_page.html:83
msgid "Pause"
msgstr "Pausa"

#: app/templates/main/dashboard.html:132
msgid "Stop and save current time"
msgstr ""

#: app/templates/main/dashboard.html:133
msgid "Stop & save"
msgstr ""

#: app/templates/main/dashboard.html:140
msgid "No active timer."
msgstr "Sin temporizador activo."

#: app/templates/main/dashboard.html:142
msgid "Resume your last session or use the buttons above to repeat last / start a new timer."
msgstr ""

#: app/templates/main/dashboard.html:144
#, fuzzy
msgid "Resume last session"
msgstr "Finalizar sesión"

#: app/templates/main/dashboard.html:149
msgid "Click \"Start Timer\" above to begin tracking your time."
msgstr ""

#: app/templates/main/dashboard.html:161
msgid "Today's Hours"
msgstr ""

#: app/templates/main/dashboard.html:169 app/templates/main/dashboard.html:193
#, fuzzy
msgid "overtime"
msgstr "Tiempo"

#: app/templates/main/dashboard.html:186
msgid "Week's Hours"
msgstr ""

#: app/templates/main/dashboard.html:207
msgid "Month's Hours"
msgstr ""

#: app/templates/main/dashboard.html:214
#, fuzzy
msgid "Overtime (YTD)"
msgstr "Configuración de horas extras"

#: app/templates/main/dashboard.html:227
msgid "If this saved you even 1 hour, consider supporting ❤️"
msgstr ""

#: app/templates/main/dashboard.html:227
msgid "Start tracking to see your productivity insights here."
msgstr ""

#: app/templates/main/dashboard.html:227 app/templates/main/dashboard.html:237
msgid "Loading insights…"
msgstr ""

#: app/templates/main/dashboard.html:233
#, fuzzy
msgid "Value insights"
msgstr "Alinear a la derecha"

#: app/templates/main/dashboard.html:234
#, fuzzy
msgid "Your tracked time at a glance"
msgstr "Seguimiento del tiempo. Manténgase organizado."

#: app/templates/main/dashboard.html:246
#, fuzzy
msgid "Total hours tracked"
msgstr "Horas totales trabajadas"

#: app/templates/main/dashboard.html:254
#, fuzzy
msgid "Active days"
msgstr "Alertas activas"

#: app/templates/main/dashboard.html:259
msgid "Hours per day (last 7 days)"
msgstr ""

#: app/templates/main/dashboard.html:260
msgid "Hours per day last seven days"
msgstr ""

#: app/templates/main/dashboard.html:264
msgid "Most productive day"
msgstr ""

#: app/templates/main/dashboard.html:268
msgid "Avg session length"
msgstr ""

#: app/templates/main/dashboard.html:273
#, fuzzy
msgid "Estimated value tracked"
msgstr "Valor estimado"

#: app/templates/main/dashboard.html:283 app/templates/main/dashboard.html:296
msgid "This week vs last week"
msgstr ""

#: app/templates/main/dashboard.html:284 app/templates/main/dashboard.html:297
msgid "Hours per day (Mon–today vs same days last week)"
msgstr ""

#: app/templates/main/dashboard.html:285
#, fuzzy
msgid "hrs this week"
msgstr "Entradas de tiempo esta semana"

#: app/templates/main/dashboard.html:286
msgid "vs last week"
msgstr ""

#: app/templates/main/dashboard.html:287
#, fuzzy
msgid "This week"
msgstr "Semana"

#: app/templates/main/dashboard.html:288
#, fuzzy
msgid "Last week"
msgstr "El año pasado"

#: app/templates/main/dashboard.html:289
msgid "Could not load comparison."
msgstr ""

#: app/templates/main/dashboard.html:313
msgid "This week and last week hours by day"
msgstr ""

#: app/templates/main/dashboard.html:327 app/templates/reports/index.html:221
msgid "Recent Entries"
msgstr "Entradas recientes"

#: app/templates/main/dashboard.html:329
#, fuzzy
msgid "View all"
msgstr "Ver todo"

#: app/templates/main/dashboard.html:369 app/templates/main/search.html:66
#: app/templates/tasks/view.html:81
msgid "Resume - Start a new timer with same properties"
msgstr "Reanudar: iniciar un nuevo temporizador con las mismas propiedades"

#: app/templates/main/dashboard.html:372 app/templates/main/search.html:70
#: app/templates/tasks/view.html:84
msgid "Edit entry"
msgstr "Editar entrada"

#: app/templates/main/dashboard.html:375
msgid "Duplicate entry"
msgstr "Entrada duplicada"

#: app/templates/main/dashboard.html:382 app/templates/main/search.html:77
#: app/templates/tasks/view.html:91
msgid "Delete entry"
msgstr "Eliminar entrada"

#: app/templates/main/dashboard.html:396
msgid "No recent entries found."
msgstr "No se encontraron entradas recientes."

#: app/templates/main/dashboard.html:397 app/templates/reports/index.html:245
msgid "Start tracking time to see entries here."
msgstr ""

#: app/templates/main/dashboard.html:419
msgid "Weekly Goal"
msgstr "Meta Semanal"

#: app/templates/main/dashboard.html:441
msgid "Days Left"
msgstr "Días restantes"

#: app/templates/main/dashboard.html:448
msgid "Need"
msgstr "Necesidad"

#: app/templates/main/dashboard.html:448
msgid "to reach goal"
msgstr "para alcanzar la meta"

#: app/templates/main/dashboard.html:459
msgid "No Weekly Goal"
msgstr "Sin objetivo semanal"

#: app/templates/main/dashboard.html:462
msgid "Set a weekly time goal to track your progress"
msgstr "Establece un objetivo de tiempo semanal para seguir tu progreso"

#: app/templates/main/dashboard.html:466
#: app/templates/weekly_goals/create.html:129
#: app/templates/weekly_goals/index.html:146
msgid "Create Goal"
msgstr "Crear objetivo"

#: app/templates/main/dashboard.html:480
#, fuzzy
msgid "Time by project (last 7 days)"
msgstr "Proyectos principales (30 días)"

#: app/templates/main/dashboard.html:482
#, fuzzy
msgid "View report"
msgstr "Informe de usuario"

#: app/templates/main/dashboard.html:486
#, fuzzy
msgid "Time distribution by project for the last 7 days"
msgstr "Gráficos circulares de distribución del tiempo"

#: app/templates/main/dashboard.html:525
#, fuzzy
msgid "No time logged in the last 7 days."
msgstr "Ninguna actividad en los últimos 30 días."

#: app/templates/main/dashboard.html:526
#, fuzzy
msgid "Start tracking to see distribution here."
msgstr "Iniciar el seguimiento del tiempo"

#: app/templates/main/dashboard.html:537
msgid "Top Projects (30 days)"
msgstr "Proyectos principales (30 días)"

#: app/templates/main/dashboard.html:575
msgid "No activity in the last 30 days."
msgstr "Ninguna actividad en los últimos 30 días."

#: app/templates/main/dashboard.html:576
msgid "Start tracking time on projects to see them here."
msgstr ""

#: app/templates/main/dashboard.html:596
msgid "Live"
msgstr ""

#: app/templates/main/dashboard.html:638
#, python-format
msgid "You have tracked %(hours)s hours"
msgstr ""

#: app/templates/main/dashboard.html:639
#, fuzzy, python-format
msgid "You have created %(count)s entries"
msgstr "%(count)d cotizaciones duplicadas"

#: app/templates/main/dashboard.html:641
#, fuzzy, python-format
msgid "Reports generated: %(n)s"
msgstr "Error al generar PDF: %(error)s"

#: app/templates/main/dashboard.html:645
msgid "Thank you for supporting development. Sharing TimeTracker still helps a lot."
msgstr ""

#: app/templates/main/dashboard.html:647
#, fuzzy
msgid "Share & support"
msgstr "Soporte de plataforma"

#: app/templates/main/dashboard.html:651
msgid "If this saves you time, consider supporting development — everything stays free and open."
msgstr ""

#: app/templates/main/dashboard.html:654
msgid "Buy License (€25)"
msgstr ""

#: app/templates/main/dashboard.html:685
msgid "Create new task..."
msgstr ""

#: app/templates/main/dashboard.html:686
msgid "Loading tasks..."
msgstr ""

#: app/templates/main/dashboard.html:687
msgid "Enter new task name:"
msgstr ""

#: app/templates/main/dashboard.html:688
msgid "Failed to create task: "
msgstr ""

#: app/templates/main/dashboard.html:690
msgid "Please complete creating the task or select an existing task"
msgstr ""

#: app/templates/main/dashboard.html:698
#: app/templates/timer/manual_entry.html:558
msgid "A task must be selected when logging time for a project"
msgstr ""

#: app/templates/main/dashboard.html:699
#: app/templates/timer/manual_entry.html:581
msgid "A description is required when logging time"
msgstr ""

#: app/templates/main/dashboard.html:700
#: app/templates/timer/manual_entry.html:45
#, fuzzy, python-format
msgid "Description must be at least %(min)s characters"
msgstr "La contraseña debe tener al menos 8 caracteres"

#: app/templates/main/dashboard.html:715
#, fuzzy
msgid "Quick start with a template"
msgstr "Guía de inicio rápido"

#: app/templates/main/dashboard.html:726
#, fuzzy
msgid "All templates"
msgstr "Plantillas de correo electrónico"

#: app/templates/main/dashboard.html:745
#: app/templates/timer/manual_entry.html:74
#: app/templates/timer/timer_page.html:153
msgid "Select either a project or a client"
msgstr ""

#: app/templates/main/dashboard.html:750
#: app/templates/timer/bulk_entry.html:117
#: app/templates/timer/manual_entry.html:79
msgid "Task (optional)"
msgstr "Tarea (opcional)"

#: app/templates/main/dashboard.html:756
msgid "Select a project first to load tasks, or choose \"Create new task...\" to add one"
msgstr ""

#: app/templates/main/dashboard.html:760
msgid "Notes (optional)"
msgstr "Notas (opcional)"

#: app/templates/main/dashboard.html:767
#, fuzzy
msgid "Tags (optional)"
msgstr "Tarea (opcional)"

#: app/templates/main/dashboard.html:768
#, fuzzy
msgid "e.g. meeting, dev, admin"
msgstr "por ejemplo, reunión, desarrollo, administración"

#: app/templates/main/dashboard.html:775
msgid "Comma-separated; recent tags shown as suggestions."
msgstr ""

#: app/templates/main/dashboard.html:784
msgid "Enter a name for the new task."
msgstr ""

#: app/templates/main/dashboard.html:785
#: app/templates/project_templates/create.html:76
#: app/templates/project_templates/edit.html:79
#: app/templates/project_templates/edit.html:105
msgid "Task name"
msgstr ""

#: app/templates/main/dashboard.html:793
msgid "Create task"
msgstr ""

#: app/templates/main/dashboard.html:936
msgid "Task name is required."
msgstr ""

#: app/templates/main/dashboard.html:1546
#: app/templates/timer/edit_timer.html:811
#: app/templates/timer/manual_entry.html:985
msgid "No valid image files selected. Please select PNG, JPG, GIF, or WebP images."
msgstr ""

#: app/templates/main/dashboard.html:1558
#: app/templates/timer/edit_timer.html:823
#: app/templates/timer/manual_entry.html:997
msgid "Uploading"
msgstr ""

#: app/templates/main/dashboard.html:1558
#: app/templates/main/dashboard.html:1605
#: app/templates/timer/edit_timer.html:823
#: app/templates/timer/edit_timer.html:870
#: app/templates/timer/manual_entry.html:997
#: app/templates/timer/manual_entry.html:1044
msgid "images"
msgstr ""

#: app/templates/main/dashboard.html:1559
#: app/templates/timer/edit_timer.html:824
#: app/templates/timer/manual_entry.html:998
msgid "Uploading image"
msgstr ""

#: app/templates/main/dashboard.html:1605
#: app/templates/timer/edit_timer.html:870
#: app/templates/timer/manual_entry.html:1044
msgid "Successfully uploaded"
msgstr ""

#: app/templates/main/dashboard.html:1616
#: app/templates/timer/edit_timer.html:881
#: app/templates/timer/manual_entry.html:1055
msgid "image(s) failed to upload"
msgstr ""

#: app/templates/main/dashboard.html:1625
#: app/templates/timer/edit_timer.html:890
#: app/templates/timer/manual_entry.html:1064
msgid "Failed to upload images. Please try again."
msgstr ""

#: app/templates/main/dashboard.html:1637
#: app/templates/timer/edit_timer.html:902
#: app/templates/timer/manual_entry.html:1076
msgid "Failed to upload images. Please check your connection and try again."
msgstr ""

#: app/templates/main/donate.html:10
msgid "Support Development"
msgstr "Desarrollo de soporte"

#: app/templates/main/donate.html:20
msgid "Donate to support development — or get a key to remove prompts"
msgstr ""

#: app/templates/main/donate.html:22
msgid "Support updates and keep TimeTracker free for everyone"
msgstr ""

#: app/templates/main/donate.html:29 app/templates/main/donate.html:114
#: app/templates/main/donate.html:275
msgid "Remove prompts with key"
msgstr ""

#: app/templates/main/donate.html:59
msgid "Why Your Support Matters"
msgstr ""

#: app/templates/main/donate.html:63
msgid "TimeTracker is a free, open-source project built with passion and dedication. Your donations directly support:"
msgstr ""

#: app/templates/main/donate.html:70
msgid "Server Infrastructure"
msgstr ""

#: app/templates/main/donate.html:72
msgid "Hosting, databases, and CDN costs to keep TimeTracker fast and reliable"
msgstr ""

#: app/templates/main/donate.html:80
msgid "Feature Development"
msgstr ""

#: app/templates/main/donate.html:82
msgid "New features, improvements, and bug fixes based on your feedback"
msgstr ""

#: app/templates/main/donate.html:90
msgid "Security & Maintenance"
msgstr ""

#: app/templates/main/donate.html:92
msgid "Regular security updates, dependency maintenance, and performance optimization"
msgstr ""

#: app/templates/main/donate.html:100
msgid "Internationalization"
msgstr ""

#: app/templates/main/donate.html:102
msgid "Translation support, localization, and making TimeTracker accessible worldwide"
msgstr ""

#: app/templates/main/donate.html:117
msgid "One key per instance; key sent by email after payment (€25 one-time). No subscription."
msgstr ""

#: app/templates/main/donate.html:122
msgid "Copy your System ID from Admin → Settings → Support visibility."
msgstr ""

#: app/templates/main/donate.html:126
msgid "Buy a key at the link below; you’ll receive it by email."
msgstr ""

#: app/templates/main/donate.html:130
msgid "Paste the code in Admin → Settings → Support visibility and verify."
msgstr ""

#: app/templates/main/donate.html:148
msgid "Your TimeTracker Journey"
msgstr ""

#: app/templates/main/donate.html:155
msgid "Days using TimeTracker"
msgstr ""

#: app/templates/main/donate.html:164
msgid "Time entries tracked"
msgstr ""

#: app/templates/main/donate.html:179
msgid "Thank you for being part of the TimeTracker community!"
msgstr ""

#: app/templates/main/donate.html:188
msgid "How to Support"
msgstr ""

#: app/templates/main/donate.html:191
msgid "Every contribution, no matter the size, makes a difference. Your support helps ensure TimeTracker remains free and continues to evolve."
msgstr ""

#: app/templates/main/donate.html:207
msgid "You'll be redirected to Buy Me a Coffee where you can choose your contribution amount"
msgstr ""

#: app/templates/main/donate.html:215
msgid "The Impact of Your Support"
msgstr ""

#: app/templates/main/donate.html:220
msgid "Enables faster development cycles and quicker feature releases"
msgstr ""

#: app/templates/main/donate.html:224
msgid "Supports better documentation and user guides"
msgstr ""

#: app/templates/main/donate.html:228
msgid "Helps maintain high-quality code and security standards"
msgstr ""

#: app/templates/main/donate.html:232
msgid "Keeps TimeTracker free and accessible for everyone"
msgstr ""

#: app/templates/main/donate.html:241
msgid "Other Ways to Help"
msgstr ""

#: app/templates/main/donate.html:250
msgid "Contribute on GitHub"
msgstr ""

#: app/templates/main/donate.html:252
msgid "Report bugs, suggest features, or submit code"
msgstr ""

#: app/templates/main/donate.html:261
msgid "Help Others"
msgstr ""

#: app/templates/main/donate.html:263
msgid "Share your knowledge in the community"
msgstr ""

#: app/templates/main/donate.html:277
msgid "One-time key per instance; no subscription"
msgstr ""

#: app/templates/main/help.html:9
msgid "Complete documentation and user guide"
msgstr "Documentación completa y guía de usuario."

#: app/templates/main/help.html:20
msgid "Quick Navigation"
msgstr "Navegación rápida"

#: app/templates/main/help.html:23
msgid "Filter sections..."
msgstr "Filtrar secciones..."

#: app/templates/main/help.html:26
msgid "Quick Start"
msgstr "Inicio rápido"

#: app/templates/main/help.html:34 app/templates/main/help.html:471
msgid "Reports & Analytics"
msgstr "Informes y análisis"

#: app/templates/main/help.html:35 app/templates/main/help.html:521
msgid "Productivity Features"
msgstr "Funciones de productividad"

#: app/templates/main/help.html:37
msgid "Admin Features"
msgstr "Funciones de administración"

#: app/templates/main/help.html:39 app/templates/main/help.html:653
msgid "Mobile Usage"
msgstr "Uso móvil"

#: app/templates/main/help.html:40 app/templates/main/help.html:698
#, fuzzy
msgid "API Documentation"
msgstr "Documentación"

#: app/templates/main/help.html:41
msgid "Troubleshooting"
msgstr "Solución de problemas"

#: app/templates/main/help.html:50
msgid "TimeTracker Help Center"
msgstr "Centro de ayuda de TimeTracker"

#: app/templates/main/help.html:51
msgid "Everything you need to know to get the most out of TimeTracker"
msgstr "Todo lo que necesitas saber para sacarle el máximo partido a TimeTracker"

#: app/templates/main/help.html:55
msgid "Start Tracking Time"
msgstr "Iniciar el seguimiento del tiempo"

#: app/templates/main/help.html:58
msgid "View Projects"
msgstr "Ver proyectos"

#: app/templates/main/help.html:61
msgid "Generate Reports"
msgstr "Generar informes"

#: app/templates/main/help.html:69
#, fuzzy
msgid "API Docs"
msgstr "Fichas API"

#: app/templates/main/help.html:72
msgid "Restart Product Tour"
msgstr ""

#: app/templates/main/help.html:79
msgid "Quick Start Guide"
msgstr "Guía de inicio rápido"

#: app/templates/main/help.html:82
msgid "For New Users"
msgstr "Para nuevos usuarios"

#: app/templates/main/help.html:84
msgid "Log in with your username (no password required)"
msgstr "Inicie sesión con su nombre de usuario (no se requiere contraseña)"

#: app/templates/main/help.html:85
msgid "Explore the dashboard to see your overview"
msgstr "Explore el panel para ver su descripción general"

#: app/templates/main/help.html:86
msgid "Start your first timer on an existing project"
msgstr "Comience por primera vez en un proyecto existente"

#: app/templates/main/help.html:87
msgid "View your time entries in reports"
msgstr "Ver sus entradas de tiempo en informes"

#: app/templates/main/help.html:91
msgid "For Administrators"
msgstr "Para administradores"

#: app/templates/main/help.html:93
msgid "Set up clients in the Client Management section"
msgstr "Configurar clientes en la sección Gestión de clientes"

#: app/templates/main/help.html:94
msgid "Create projects and assign them to clients"
msgstr "Crear proyectos y asignarlos a clientes."

#: app/templates/main/help.html:95
msgid "Configure system settings (timezone, currency, etc.)"
msgstr "Configurar los ajustes del sistema (zona horaria, moneda, etc.)"

#: app/templates/main/help.html:96
msgid "Manage users and permissions"
msgstr "Administrar usuarios y permisos"

#: app/templates/main/help.html:102 app/templates/main/help.html:370
#: app/templates/main/help.html:515
msgid "Pro Tip:"
msgstr "Consejo profesional:"

#: app/templates/main/help.html:102
msgid "Use the mobile-friendly interface to track time on the go. The timer continues running even if you close your browser!"
msgstr "Utilice la interfaz compatible con dispositivos móviles para realizar un seguimiento del tiempo mientras viaja. ¡El cronómetro continúa funcionando incluso si cierras el navegador!"

#: app/templates/main/help.html:112
msgid "Real-time tracking with automatic idle detection and WebSocket updates"
msgstr "Seguimiento en tiempo real con detección automática de inactividad y actualizaciones de WebSocket"

#: app/templates/main/help.html:115 app/templates/timer/calendar.html:890
msgid "Manual Entry"
msgstr "Entrada manual"

#: app/templates/main/help.html:116
msgid "Log time manually with custom start and end times"
msgstr "Registre el tiempo manualmente con horas de inicio y finalización personalizadas"

#: app/templates/main/help.html:121
msgid "Starting a Timer"
msgstr "Iniciar un temporizador"

#: app/templates/main/help.html:123
msgid "Click the timer icon in the header (round button) to start or stop from any page"
msgstr ""

#: app/templates/main/help.html:124
#, fuzzy
msgid "Or navigate to the Timer page or dashboard"
msgstr "Navegue a la página o panel del Temporizador"

#: app/templates/main/help.html:125
msgid "Select a project from the dropdown"
msgstr "Seleccione un proyecto del menú desplegable"

#: app/templates/main/help.html:126
msgid "Optionally select a task for more detailed tracking"
msgstr "Opcionalmente, seleccione una tarea para un seguimiento más detallado"

#: app/templates/main/help.html:127
msgid "Add notes about what you're working on (optional)"
msgstr "Añade notas sobre en qué estás trabajando (opcional)"

#: app/templates/main/help.html:128
msgid "Add tags separated by commas (optional)"
msgstr "Agregar etiquetas separadas por comas (opcional)"

#: app/templates/main/help.html:129
msgid "Click \"Start Timer\""
msgstr "Haga clic en \"Iniciar temporizador\""

#: app/templates/main/help.html:133
msgid "Timer Features"
msgstr "Funciones del temporizador"

#: app/templates/main/help.html:135
msgid "Real-time duration display"
msgstr "Visualización de la duración en tiempo real"

#: app/templates/main/help.html:136
msgid "Pause and Stop on the dashboard — Pause saves your time so you can resume later"
msgstr ""

#: app/templates/main/help.html:137
msgid "Resume last session with one click (same project/task/notes)"
msgstr ""

#: app/templates/main/help.html:138
msgid "Quick time adjustment (−15 / −5 / +5 / +15 min) while the timer is running"
msgstr ""

#: app/templates/main/help.html:139
msgid "Continues running if browser closes"
msgstr "Continúa ejecutándose si el navegador se cierra"

#: app/templates/main/help.html:140
msgid "Automatic idle detection (configurable)"
msgstr "Detección automática de inactividad (configurable)"

#: app/templates/main/help.html:141
msgid "One active timer per user (configurable)"
msgstr "Un temporizador activo por usuario (configurable)"

#: app/templates/main/help.html:142
msgid "WebSocket live updates"
msgstr "Actualizaciones en vivo de WebSocket"

#: app/templates/main/help.html:147
msgid "Manual Time Entry"
msgstr "Entrada manual de tiempo"

#: app/templates/main/help.html:148
msgid "Create time entries manually when you need to record time spent away from the computer or adjust existing entries."
msgstr "Cree entradas de tiempo manualmente cuando necesite registrar el tiempo pasado lejos de la computadora o ajustar las entradas existentes."

#: app/templates/main/help.html:151
msgid "Required Information"
msgstr "Información requerida"

#: app/templates/main/help.html:153
msgid "Project selection"
msgstr "Selección de proyectos"

#: app/templates/main/help.html:154
msgid "Start date and time"
msgstr "Fecha y hora de inicio"

#: app/templates/main/help.html:155
msgid "End date and time"
msgstr "Fecha y hora de finalización"

#: app/templates/main/help.html:159
msgid "Optional Information"
msgstr "Información opcional"

#: app/templates/main/help.html:161
msgid "Task assignment"
msgstr "Asignación de tareas"

#: app/templates/main/help.html:162
msgid "Description/notes"
msgstr "Descripción/notas"

#: app/templates/main/help.html:163
msgid "Tags for categorization"
msgstr "Etiquetas para categorización"

#: app/templates/main/help.html:164
msgid "Billable status override"
msgstr "Anulación del estado facturable"

#: app/templates/main/help.html:170
msgid "Advanced Time Entry Features"
msgstr "Funciones avanzadas de entrada de tiempo"

#: app/templates/main/help.html:173
msgid "Bulk Entry"
msgstr "Entrada masiva"

#: app/templates/main/help.html:174
msgid "Create multiple time entries for consecutive days with the same project and duration. Perfect for regular work patterns."
msgstr "Cree múltiples entradas de tiempo para días consecutivos con el mismo proyecto y duración. Perfecto para patrones de trabajo habituales."

#: app/templates/main/help.html:177
msgid "Templates"
msgstr "Plantillas"

#: app/templates/main/help.html:178
msgid "Save frequently used time entries as templates for quick reuse. Saves project, task, and notes."
msgstr "Guarde las entradas de tiempo utilizadas con frecuencia como plantillas para una reutilización rápida. Guarda proyectos, tareas y notas."

#: app/templates/main/help.html:182
msgid "Visualize your time entries on a calendar. Drag-and-drop to reschedule or click dates to add entries."
msgstr "Visualice sus entradas de tiempo en un calendario. Arrastre y suelte para reprogramar o haga clic en fechas para agregar entradas."

#: app/templates/main/help.html:193
msgid "Project Information"
msgstr "Información del proyecto"

#: app/templates/main/help.html:195
msgid "Descriptive project name"
msgstr "Nombre descriptivo del proyecto"

#: app/templates/main/help.html:196
msgid "Associated client organization"
msgstr "Organización cliente asociada"

#: app/templates/main/help.html:197
msgid "Project details and scope"
msgstr "Detalles y alcance del proyecto."

#: app/templates/main/help.html:198
msgid "Active, completed, or archived"
msgstr "Activo, completado o archivado"

#: app/templates/main/help.html:202
msgid "Billing Information"
msgstr "Información de facturación"

#: app/templates/main/help.html:204
msgid "Whether time should be tracked for billing"
msgstr "Si se debe realizar un seguimiento del tiempo para la facturación"

#: app/templates/main/help.html:205
msgid "Rate for billable time calculations"
msgstr "Tarifa para cálculos de tiempo facturable"

#: app/templates/main/help.html:206 app/templates/projects/create.html:78
#: app/templates/projects/edit.html:72
msgid "Billing Reference"
msgstr "Referencia de facturación"

#: app/templates/main/help.html:206
msgid "PO number or billing code"
msgstr "Número de orden de compra o código de facturación"

#: app/templates/main/help.html:213
msgid "Project Operations"
msgstr "Operaciones del proyecto"

#: app/templates/main/help.html:215
msgid "Create new projects with client relationships"
msgstr "Crear nuevos proyectos con relaciones con los clientes."

#: app/templates/main/help.html:216
msgid "Edit existing projects to update details"
msgstr "Edite proyectos existentes para actualizar los detalles"

#: app/templates/main/help.html:217
msgid "Archive projects to hide from timers (preserves data)"
msgstr "Archivar proyectos para ocultarlos de los temporizadores (conserva los datos)"

#: app/templates/main/help.html:218
msgid "Delete projects (removes all associated time entries)"
msgstr "Eliminar proyectos (elimina todas las entradas de tiempo asociadas)"

#: app/templates/main/help.html:222
msgid "Best Practices"
msgstr "Mejores prácticas"

#: app/templates/main/help.html:224
msgid "Use descriptive project names"
msgstr "Utilice nombres de proyecto descriptivos"

#: app/templates/main/help.html:225
msgid "Set accurate hourly rates for billing"
msgstr "Establezca tarifas por hora precisas para la facturación"

#: app/templates/main/help.html:226
msgid "Archive instead of delete when possible"
msgstr "Archivar en lugar de eliminar cuando sea posible"

#: app/templates/main/help.html:227
msgid "Use billing references for external tracking"
msgstr "Utilice referencias de facturación para seguimiento externo"

#: app/templates/main/help.html:237
msgid "The client management system helps organize your work by client organizations, preventing errors and streamlining project creation."
msgstr "El sistema de gestión de clientes ayuda a organizar su trabajo por organizaciones clientes, evitando errores y agilizando la creación de proyectos."

#: app/templates/main/help.html:240
msgid "Client Information"
msgstr "Información del cliente"

#: app/templates/main/help.html:242
msgid "Organization Name"
msgstr "Nombre de la organización"

#: app/templates/main/help.html:242
msgid "Company or client name"
msgstr "Nombre de la empresa o cliente"

#: app/templates/main/help.html:243
msgid "Primary contact details"
msgstr "Detalles de contacto principal"

#: app/templates/main/help.html:244
msgid "Email & Phone"
msgstr "Correo electrónico y teléfono"

#: app/templates/main/help.html:244
msgid "Contact information"
msgstr "Información del contacto"

#: app/templates/main/help.html:245
msgid "Business address"
msgstr "Dirección comercial"

#: app/templates/main/help.html:249
msgid "Benefits"
msgstr "Beneficios"

#: app/templates/main/help.html:251
msgid "Dropdown selection prevents typos"
msgstr "La selección desplegable evita errores tipográficos"

#: app/templates/main/help.html:252
msgid "Default rates auto-populate projects"
msgstr "Las tarifas predeterminadas completan automáticamente los proyectos"

#: app/templates/main/help.html:253
msgid "Consistent client naming"
msgstr "Nomenclatura consistente de clientes"

#: app/templates/main/help.html:254
msgid "Easier project organization"
msgstr "Organización de proyectos más sencilla"

#: app/templates/main/help.html:261
msgid "Project Count"
msgstr "Recuento de proyectos"

#: app/templates/main/help.html:262
msgid "Total and active projects"
msgstr "Proyectos totales y activos"

#: app/templates/main/help.html:267
msgid "Total hours worked"
msgstr "Horas totales trabajadas"

#: app/templates/main/help.html:271
msgid "Cost Estimation"
msgstr "Estimación de costos"

#: app/templates/main/help.html:272
msgid "Estimated billing amounts"
msgstr "Montos de facturación estimados"

#: app/templates/main/help.html:280
msgid "Break down projects into manageable tasks with detailed tracking and progress monitoring."
msgstr "Divida los proyectos en tareas manejables con seguimiento detallado y monitoreo del progreso."

#: app/templates/main/help.html:283
msgid "Task Properties"
msgstr "Propiedades de la tarea"

#: app/templates/main/help.html:285
msgid "Name & Description"
msgstr "Nombre y descripción"

#: app/templates/main/help.html:285
msgid "Clear task identification"
msgstr "Identificación clara de tareas"

#: app/templates/main/help.html:286
msgid "Priority Levels"
msgstr "Niveles de prioridad"

#: app/templates/main/help.html:286
msgid "Low, Medium, High, Urgent"
msgstr "Bajo, Medio, Alto, Urgente"

#: app/templates/main/help.html:287
msgid "Due Dates"
msgstr "Fechas de vencimiento"

#: app/templates/main/help.html:287
msgid "Deadline tracking"
msgstr "Seguimiento de plazos"

#: app/templates/main/help.html:288
msgid "Assignment"
msgstr "Asignación"

#: app/templates/main/help.html:288
msgid "Task ownership"
msgstr "Propiedad de la tarea"

#: app/templates/main/help.html:292
msgid "Status Tracking"
msgstr "Seguimiento de estado"

#: app/templates/main/help.html:294
msgid "To Do - Not started"
msgstr "Tareas pendientes: no iniciadas"

#: app/templates/main/help.html:295
msgid "In Progress - Currently working"
msgstr "En progreso - Actualmente trabajando"

#: app/templates/main/help.html:296
msgid "Review - Ready for review"
msgstr "Revisión: listo para revisión"

#: app/templates/main/help.html:297
msgid "Done - Completed"
msgstr "Hecho - Completado"

#: app/templates/main/help.html:298
msgid "Cancelled - Not needed"
msgstr "Cancelado - No es necesario"

#: app/templates/main/help.html:304
msgid "Time Tracking Features"
msgstr "Funciones de seguimiento del tiempo"

#: app/templates/main/help.html:306
msgid "Start timers directly from tasks"
msgstr "Iniciar temporizadores directamente desde las tareas"

#: app/templates/main/help.html:307
msgid "Link time entries to specific tasks"
msgstr "Vincular entradas de tiempo a tareas específicas"

#: app/templates/main/help.html:308
msgid "Track estimated vs actual hours"
msgstr "Seguimiento de las horas estimadas frente a las reales"

#: app/templates/main/help.html:309
msgid "Monitor task progress automatically"
msgstr "Monitorear el progreso de la tarea automáticamente"

#: app/templates/main/help.html:313
msgid "Task Views"
msgstr "Vistas de tareas"

#: app/templates/main/help.html:315
msgid "My Tasks - Your assigned tasks"
msgstr "Mis tareas: tus tareas asignadas"

#: app/templates/main/help.html:316
msgid "All Tasks - Complete task list"
msgstr "Todas las tareas: lista completa de tareas"

#: app/templates/main/help.html:317
msgid "Overdue Tasks - Past due items"
msgstr "Tareas vencidas: elementos vencidos"

#: app/templates/main/help.html:318
msgid "Project Tasks - Tasks within projects"
msgstr "Tareas del proyecto: tareas dentro de los proyectos"

#: app/templates/main/help.html:324
msgid "Collaboration Features"
msgstr "Funciones de colaboración"

#: app/templates/main/help.html:326
msgid "Task Comments - Threaded discussions on tasks"
msgstr "Comentarios de tareas: debates enhebrados sobre tareas"

#: app/templates/main/help.html:327
msgid "Markdown Support - Rich formatting in descriptions"
msgstr "Soporte de Markdown: formato enriquecido en descripciones"

#: app/templates/main/help.html:328
msgid "User Mentions - Tag team members (if enabled)"
msgstr "Menciones de usuario: etiquetar a los miembros del equipo (si está habilitado)"

#: app/templates/main/help.html:329
msgid "File Attachments - Attach files to tasks (if enabled)"
msgstr "Archivos adjuntos: adjunte archivos a las tareas (si está habilitado)"

#: app/templates/main/help.html:333
msgid "Markdown Formatting"
msgstr "Formato de rebajas"

#: app/templates/main/help.html:334
msgid "Task and project descriptions support Markdown:"
msgstr "Las descripciones de tareas y proyectos admiten Markdown:"

#: app/templates/main/help.html:336
msgid "**Bold**, *Italic*, ~~Strikethrough~~"
msgstr "**Negrita**, *Cursiva*, ~~Tachado~~"

#: app/templates/main/help.html:337
msgid "# Headings, - Lists, [Links](url)"
msgstr "# Encabezados, - Listas, [Enlaces](url)"

#: app/templates/main/help.html:338
msgid "```code blocks```, tables, images"
msgstr "```bloques de código```, tablas, imágenes"

#: app/templates/main/help.html:347
msgid "Visualize your workflow with a drag-and-drop Kanban board for intuitive task management."
msgstr "Visualice su flujo de trabajo con un tablero Kanban de arrastrar y soltar para una gestión de tareas intuitiva."

#: app/templates/main/help.html:350
msgid "Board Features"
msgstr "Características del tablero"

#: app/templates/main/help.html:352
msgid "Customizable columns matching task statuses"
msgstr "Columnas personalizables que coinciden con los estados de las tareas"

#: app/templates/main/help.html:353
msgid "Drag-and-drop tasks between columns"
msgstr "Arrastrar y soltar tareas entre columnas"

#: app/templates/main/help.html:354
msgid "Filter by project, user, or priority"
msgstr "Filtrar por proyecto, usuario o prioridad"

#: app/templates/main/help.html:355
msgid "Quick search across all tasks"
msgstr "Búsqueda rápida en todas las tareas"

#: app/templates/main/help.html:359
msgid "Using the Kanban Board"
msgstr "Usando el tablero Kanban"

#: app/templates/main/help.html:361
msgid "Access from the Tasks menu or project page"
msgstr "Acceso desde el menú Tareas o página del proyecto"

#: app/templates/main/help.html:362
msgid "Drag tasks to different columns to change status"
msgstr "Arrastre tareas a diferentes columnas para cambiar el estado"

#: app/templates/main/help.html:363
msgid "Click on a task card to view/edit details"
msgstr "Haga clic en una tarjeta de tarea para ver/editar detalles"

#: app/templates/main/help.html:364
msgid "Use filters to focus on specific work"
msgstr "Utilice filtros para centrarse en un trabajo específico"

#: app/templates/main/help.html:370
msgid "The Kanban board is perfect for sprint planning and daily standups. Each column represents a stage in your workflow!"
msgstr "El tablero Kanban es perfecto para la planificación de sprints y las reuniones diarias. ¡Cada columna representa una etapa de su flujo de trabajo!"

#: app/templates/main/help.html:376
msgid "Expense Tracking"
msgstr "Seguimiento de gastos"

#: app/templates/main/help.html:377
msgid "Track business expenses, manage receipts, and handle reimbursements efficiently."
msgstr "Realice un seguimiento de los gastos comerciales, administre recibos y administre reembolsos de manera eficiente."

#: app/templates/main/help.html:380
msgid "Expense Features"
msgstr "Características de gastos"

#: app/templates/main/help.html:382
msgid "Categorize expenses (travel, meals, supplies, etc.)"
msgstr "Categorizar gastos (viajes, comidas, suministros, etc.)"

#: app/templates/main/help.html:383
msgid "Attach receipt images and documents"
msgstr "Adjunte imágenes y documentos de recibos"

#: app/templates/main/help.html:384
msgid "Track amounts, tax, and payment methods"
msgstr "Seguimiento de montos, impuestos y métodos de pago"

#: app/templates/main/help.html:385
msgid "Approval workflow for expense requests"
msgstr "Flujo de trabajo de aprobación para solicitudes de gastos"

#: app/templates/main/help.html:389
msgid "Billing & Reimbursement"
msgstr "Facturación y reembolso"

#: app/templates/main/help.html:391
msgid "Mark expenses as billable to clients"
msgstr "Marcar gastos como facturables a los clientes"

#: app/templates/main/help.html:392
msgid "Include expenses in client invoices"
msgstr "Incluir gastos en las facturas de los clientes."

#: app/templates/main/help.html:393
msgid "Track reimbursement status"
msgstr "Seguimiento del estado del reembolso"

#: app/templates/main/help.html:394
msgid "Link expenses to specific projects"
msgstr "Vincular gastos a proyectos específicos"

#: app/templates/main/help.html:401
msgid "Record Expense"
msgstr "Gasto récord"

#: app/templates/main/help.html:402
msgid "Enter details and upload receipt"
msgstr "Ingrese los detalles y cargue el recibo"

#: app/templates/main/help.html:406
msgid "Submit for Approval"
msgstr "Enviar para aprobación"

#: app/templates/main/help.html:407
msgid "Admin reviews and approves"
msgstr "El administrador revisa y aprueba"

#: app/templates/main/help.html:411
msgid "Invoice/Reimburse"
msgstr "Factura/Reembolso"

#: app/templates/main/help.html:412
msgid "Add to invoice or reimburse"
msgstr "Añadir a factura o reembolsar"

#: app/templates/main/help.html:416 app/templates/main/help.html:463
msgid "Track Payment"
msgstr "Seguimiento del pago"

#: app/templates/main/help.html:417
msgid "Monitor reimbursement status"
msgstr "Supervisar el estado del reembolso"

#: app/templates/main/help.html:424
msgid "Professional Invoicing"
msgstr "Facturación Profesional"

#: app/templates/main/help.html:429
msgid "Professional PDF generation"
msgstr "Generación de PDF profesional"

#: app/templates/main/help.html:430
msgid "Company branding and logos"
msgstr "Marca y logotipos de la empresa."

#: app/templates/main/help.html:431
msgid "Automatic invoice numbering"
msgstr "Numeración automática de facturas"

#: app/templates/main/help.html:432
msgid "Tax calculations"
msgstr "Cálculos de impuestos"

#: app/templates/main/help.html:436
msgid "Time Integration"
msgstr "Integración horaria"

#: app/templates/main/help.html:438
msgid "Generate from time entries"
msgstr "Generar a partir de entradas de tiempo"

#: app/templates/main/help.html:439
msgid "Smart grouping by task/project"
msgstr "Agrupación inteligente por tarea/proyecto"

#: app/templates/main/help.html:440
msgid "Prevent double-billing"
msgstr "Evite la doble facturación"

#: app/templates/main/help.html:441
msgid "Use project hourly rates"
msgstr "Utilice tarifas por hora del proyecto"

#: app/templates/main/help.html:449
msgid "Set up client and project details"
msgstr "Configurar los detalles del cliente y del proyecto"

#: app/templates/main/help.html:453
msgid "Add Items"
msgstr "Agregar elementos"

#: app/templates/main/help.html:454
msgid "Generate from time or add manually"
msgstr "Generar a partir del tiempo o agregar manualmente"

#: app/templates/main/help.html:458
msgid "Review & Send"
msgstr "Revisar y enviar"

#: app/templates/main/help.html:459
msgid "Export PDF and update status"
msgstr "Exportar PDF y actualizar estado"

#: app/templates/main/help.html:464
msgid "Monitor status and payments"
msgstr "Monitorear el estado y los pagos"

#: app/templates/main/help.html:474
msgid "Standard Reports"
msgstr "Informes estándar"

#: app/templates/main/help.html:476
msgid "Project Report - Time breakdown by project"
msgstr "Informe del proyecto: desglose del tiempo por proyecto"

#: app/templates/main/help.html:477
msgid "User Report - Individual performance metrics"
msgstr "Informe de usuario: métricas de rendimiento individuales"

#: app/templates/main/help.html:478
msgid "Summary Report - Key metrics and trends"
msgstr "Informe resumido: métricas y tendencias clave"

#: app/templates/main/help.html:479
msgid "Time Entry Report - Detailed time logs"
msgstr "Informe de entrada de tiempo: registros de tiempo detallados"

#: app/templates/main/help.html:483
msgid "Export Options"
msgstr "Opciones de exportación"

#: app/templates/main/help.html:485
msgid "CSV Export - For external analysis"
msgstr "Exportación CSV: para análisis externo"

#: app/templates/main/help.html:486
msgid "Configurable delimiters"
msgstr "Delimitadores configurables"

#: app/templates/main/help.html:487
msgid "Custom date ranges"
msgstr "Rangos de fechas personalizados"

#: app/templates/main/help.html:488
msgid "Filtered data export"
msgstr "Exportación de datos filtrados"

#: app/templates/main/help.html:494
msgid "Filter Options"
msgstr "Opciones de filtro"

#: app/templates/main/help.html:496
msgid "Date Range - Custom start and end dates"
msgstr "Intervalo de fechas: fechas de inicio y finalización personalizadas"

#: app/templates/main/help.html:497
msgid "Project - Filter by specific projects"
msgstr "Proyecto - Filtrar por proyectos específicos"

#: app/templates/main/help.html:498
msgid "User - Filter by team members"
msgstr "Usuario - Filtrar por miembros del equipo"

#: app/templates/main/help.html:499
msgid "Client - Filter by client organization"
msgstr "Cliente - Filtrar por organización cliente"

#: app/templates/main/help.html:500
msgid "Saved Filters - Save frequently used filters"
msgstr "Filtros guardados: guarde los filtros utilizados con frecuencia"

#: app/templates/main/help.html:504
msgid "Visual Analytics"
msgstr "Análisis visuales"

#: app/templates/main/help.html:506
msgid "Interactive bar charts"
msgstr "Gráficos de barras interactivos"

#: app/templates/main/help.html:507
msgid "Time distribution pie charts"
msgstr "Gráficos circulares de distribución del tiempo"

#: app/templates/main/help.html:508
msgid "Trend analysis over time"
msgstr "Análisis de tendencias a lo largo del tiempo."

#: app/templates/main/help.html:509
msgid "Mobile-optimized charts"
msgstr "Gráficos optimizados para dispositivos móviles"

#: app/templates/main/help.html:515
msgid "Use Saved Filters to quickly access your most common report views. Save filters for weekly reviews, monthly billing, or specific project tracking!"
msgstr "Utilice filtros guardados para acceder rápidamente a las vistas de informes más comunes. ¡Guarde filtros para revisiones semanales, facturación mensual o seguimiento de proyectos específicos!"

#: app/templates/main/help.html:522
msgid "Boost your efficiency with keyboard shortcuts, command palette, and automation features."
msgstr "Aumente su eficiencia con atajos de teclado, paleta de comandos y funciones de automatización."

#: app/templates/main/help.html:525
msgid "Command Palette"
msgstr "Paleta de comandos"

#: app/templates/main/help.html:526
msgid "Access any feature instantly without leaving the keyboard"
msgstr "Accede a cualquier función al instante sin abandonar el teclado"

#: app/templates/main/help.html:529
msgid "Opening the Command Palette"
msgstr "Abrir la paleta de comandos"

#: app/templates/main/help.html:531
msgid "Press the question mark key"
msgstr "Presione la tecla del signo de interrogación"

#: app/templates/main/help.html:532
msgid "Quick search"
msgstr "búsqueda rápida"

#: app/templates/main/help.html:539
msgid "Go to Projects"
msgstr "Ir a Proyectos"

#: app/templates/main/help.html:540
msgid "Go to Tasks"
msgstr "Ir a Tareas"

#: app/templates/main/help.html:541
msgid "New Time Entry"
msgstr "Nueva entrada de tiempo"

#: app/templates/main/help.html:549 app/templates/timer/calendar.html:271
msgid "Keyboard Shortcuts"
msgstr "Atajos de teclado"

#: app/templates/main/help.html:550
msgid "Navigate faster with keyboard-driven commands. Press Shift+? to see all shortcuts."
msgstr "Navegue más rápido con comandos controlados por teclado. ¿Presionar Mayús+? para ver todos los atajos."

#: app/templates/main/help.html:553
msgid "Global Search"
msgstr "Búsqueda global"

#: app/templates/main/help.html:554
msgid "Quickly find projects, tasks, clients, and time entries from anywhere in the app."
msgstr "Encuentre rápidamente proyectos, tareas, clientes y entradas de tiempo desde cualquier lugar de la aplicación."

#: app/templates/main/help.html:557
msgid "Email Notifications"
msgstr "Notificaciones por correo electrónico"

#: app/templates/main/help.html:558
msgid "Get notified about task assignments, overdue invoices, and weekly summaries via email."
msgstr "Reciba notificaciones por correo electrónico sobre asignaciones de tareas, facturas vencidas y resúmenes semanales."

#: app/templates/main/help.html:566
msgid "Administrator Features"
msgstr "Funciones de administrador"

#: app/templates/main/help.html:571
msgid "Create new users with flexible authentication"
msgstr "Cree nuevos usuarios con autenticación flexible"

#: app/templates/main/help.html:572
msgid "Assign custom roles with specific permissions"
msgstr "Asignar roles personalizados con permisos específicos"

#: app/templates/main/help.html:573
msgid "Activate/deactivate user accounts"
msgstr "Activar/desactivar cuentas de usuario"

#: app/templates/main/help.html:574
msgid "View user statistics and activity"
msgstr "Ver estadísticas y actividad del usuario"

#: app/templates/main/help.html:575
msgid "Generate API tokens for users"
msgstr "Generar tokens API para los usuarios"

#: app/templates/main/help.html:579
msgid "Access Control"
msgstr "Control de acceso"

#: app/templates/main/help.html:581
msgid "Granular role-based permissions system"
msgstr "Sistema granular de permisos basado en roles"

#: app/templates/main/help.html:582
msgid "Custom roles with fine-grained access"
msgstr "Roles personalizados con acceso detallado"

#: app/templates/main/help.html:583
msgid "User data access controls"
msgstr "Controles de acceso a los datos del usuario"

#: app/templates/main/help.html:584
msgid "OIDC/SSO integration (Azure AD, Authelia, etc.)"
msgstr "Integración OIDC/SSO (Azure AD, Authelia, etc.)"

#: app/templates/main/help.html:585
msgid "API token management for integrations"
msgstr "Gestión de tokens API para integraciones"

#: app/templates/main/help.html:591
msgid "Authentication Methods"
msgstr "Métodos de autenticación"

#: app/templates/main/help.html:593
msgid "Username-only (simple internal use)"
msgstr "Solo nombre de usuario (uso interno simple)"

#: app/templates/main/help.html:594
msgid "OIDC/SSO (enterprise authentication)"
msgstr "OIDC/SSO (autenticación empresarial)"

#: app/templates/main/help.html:595
msgid "Both methods simultaneously"
msgstr "Ambos métodos simultáneamente"

#: app/templates/main/help.html:596
msgid "Automatic role assignment via groups"
msgstr "Asignación automática de roles a través de grupos"

#: app/templates/main/help.html:600
msgid "Role & Permission Management"
msgstr "Gestión de roles y permisos"

#: app/templates/main/help.html:602
msgid "Create custom roles beyond Admin/User"
msgstr "Cree roles personalizados más allá de Administrador/Usuario"

#: app/templates/main/help.html:603
msgid "Set granular permissions per feature"
msgstr "Establecer permisos granulares por función"

#: app/templates/main/help.html:604
msgid "Assign users to multiple roles"
msgstr "Asignar usuarios a múltiples roles"

#: app/templates/main/help.html:605
msgid "View and manage all permissions"
msgstr "Ver y administrar todos los permisos"

#: app/templates/main/help.html:611
msgid "General Settings"
msgstr "Configuraciones generales"

#: app/templates/main/help.html:613
msgid "Timezone and locale settings"
msgstr "Configuración de zona horaria y localidad"

#: app/templates/main/help.html:614
msgid "Currency configuration"
msgstr "Configuración de moneda"

#: app/templates/main/help.html:615
msgid "Time rounding rules"
msgstr "Reglas de redondeo de tiempo"

#: app/templates/main/help.html:616
msgid "Self-registration settings"
msgstr "Configuración de autorregistro"

#: app/templates/main/help.html:620
msgid "Timer Settings"
msgstr "Configuración del temporizador"

#: app/templates/main/help.html:622
msgid "Idle timeout configuration"
msgstr "Configuración de tiempo de espera inactivo"

#: app/templates/main/help.html:623
msgid "Single active timer mode"
msgstr "Modo de temporizador activo único"

#: app/templates/main/help.html:624
msgid "Timer display preferences"
msgstr "Preferencias de visualización del temporizador"

#: app/templates/main/help.html:625
msgid "Notification settings"
msgstr "Configuración de notificaciones"

#: app/templates/main/help.html:631
msgid "Database Management"
msgstr "Gestión de bases de datos"

#: app/templates/main/help.html:633
msgid "Create manual database backups"
msgstr "Crear copias de seguridad de bases de datos manuales"

#: app/templates/main/help.html:634
msgid "View database migration status"
msgstr "Ver el estado de migración de la base de datos"

#: app/templates/main/help.html:635
msgid "Monitor database performance"
msgstr "Monitorear el rendimiento de la base de datos"

#: app/templates/main/help.html:636
msgid "Clean up old data and logs"
msgstr "Limpiar datos y registros antiguos"

#: app/templates/main/help.html:640
msgid "System Monitoring"
msgstr "Monitoreo del sistema"

#: app/templates/main/help.html:642
msgid "View system information and health"
msgstr "Ver información y estado del sistema"

#: app/templates/main/help.html:643
msgid "Monitor application performance"
msgstr "Supervisar el rendimiento de la aplicación"

#: app/templates/main/help.html:644
msgid "Review system logs and errors"
msgstr "Revisar los registros y errores del sistema"

#: app/templates/main/help.html:656
msgid "Mobile-Friendly Features"
msgstr "Funciones optimizadas para dispositivos móviles"

#: app/templates/main/help.html:658
msgid "Optimized for phones and tablets"
msgstr "Optimizado para teléfonos y tabletas"

#: app/templates/main/help.html:659
msgid "Touch-friendly interface"
msgstr "Interfaz táctil"

#: app/templates/main/help.html:660
msgid "Adaptive layouts for all screen sizes"
msgstr "Diseños adaptables para todos los tamaños de pantalla"

#: app/templates/main/help.html:661
msgid "High contrast for outdoor visibility"
msgstr "Alto contraste para visibilidad en exteriores"

#: app/templates/main/help.html:665
msgid "Mobile Navigation"
msgstr "Navegación móvil"

#: app/templates/main/help.html:667
msgid "Bottom tab bar for easy access"
msgstr "Barra de pestañas inferior para fácil acceso"

#: app/templates/main/help.html:668
msgid "Quick access to dashboard"
msgstr "Acceso rápido al tablero"

#: app/templates/main/help.html:669
msgid "One-tap time logging"
msgstr "Registro de tiempo con un solo toque"

#: app/templates/main/help.html:670
msgid "Mobile-optimized reports"
msgstr "Informes optimizados para dispositivos móviles"

#: app/templates/main/help.html:676
msgid "Installation"
msgstr "Instalación"

#: app/templates/main/help.html:678
msgid "Open TimeTracker in your mobile browser"
msgstr "Abra TimeTracker en su navegador móvil"

#: app/templates/main/help.html:679
msgid "Look for \"Add to Home Screen\" option"
msgstr "Busque la opción \"Agregar a la pantalla de inicio\""

#: app/templates/main/help.html:680
msgid "Follow browser-specific installation prompts"
msgstr "Siga las instrucciones de instalación específicas del navegador"

#: app/templates/main/help.html:681
msgid "Launch from your home screen like a native app"
msgstr "Inicie desde su pantalla de inicio como una aplicación nativa"

#: app/templates/main/help.html:685
msgid "PWA Benefits"
msgstr "Beneficios de PWA"

#: app/templates/main/help.html:687
msgid "Offline capability for basic functions"
msgstr "Capacidad sin conexión para funciones básicas"

#: app/templates/main/help.html:688
msgid "Faster loading times"
msgstr "Tiempos de carga más rápidos"

#: app/templates/main/help.html:689
msgid "Native app-like experience"
msgstr "Experiencia similar a una aplicación nativa"

#: app/templates/main/help.html:690
msgid "Push notifications (where supported)"
msgstr "Notificaciones push (donde sean compatibles)"

#: app/templates/main/help.html:699
msgid "TimeTracker provides a REST API for integration with other tools, mobile apps, and custom workflows."
msgstr ""

#: app/templates/main/help.html:701
#, fuzzy
msgid "Interactive Swagger UI at"
msgstr "Gráficos de barras interactivos"

#: app/templates/main/help.html:702
#, fuzzy
msgid "OpenAPI 3.0 specification at"
msgstr "Especificaciones técnicas"

#: app/templates/main/help.html:703
msgid "Bearer token or X-API-Key authentication"
msgstr ""

#: app/templates/main/help.html:704
msgid "Projects, time entries, tasks, clients, invoices, and more"
msgstr ""

#: app/templates/main/help.html:707
#, fuzzy
msgid "Open API Documentation"
msgstr "Documentación"

#: app/templates/main/help.html:713
msgid "Troubleshooting & FAQ"
msgstr "Solución de problemas y preguntas frecuentes"

#: app/templates/main/help.html:716
msgid "What happens if I forget to stop my timer?"
msgstr "¿Qué sucede si olvido detener mi cronómetro?"

#: app/templates/main/help.html:717
msgid "The timer will continue running until you stop it manually. You can see your active timer on the dashboard and timer page. The timer persists even if you close your browser or restart your device. If idle detection is enabled, the timer may pause automatically after the configured timeout period."
msgstr "El cronómetro seguirá funcionando hasta que lo detenga manualmente. Puede ver su temporizador activo en el panel y en la página del temporizador. El temporizador persiste incluso si cierra su navegador o reinicia su dispositivo. Si la detección de inactividad está habilitada, el temporizador puede pausarse automáticamente después del período de tiempo de espera configurado."

#: app/templates/main/help.html:720
msgid "Can I edit time entries after they're created?"
msgstr "¿Puedo editar las entradas de tiempo después de crearlas?"

#: app/templates/main/help.html:721
msgid "Yes, you can edit any time entry by clicking the edit button in the time entry list. You can modify the project, start/end times, notes, tags, billable status, and task assignment. Admins can edit all time entries, while regular users can only edit their own entries."
msgstr "Sí, puede editar cualquier entrada de tiempo haciendo clic en el botón editar en la lista de entradas de tiempo. Puede modificar el proyecto, las horas de inicio/finalización, las notas, las etiquetas, el estado facturable y la asignación de tareas. Los administradores pueden editar todas las entradas de tiempo, mientras que los usuarios habituales sólo pueden editar sus propias entradas."

#: app/templates/main/help.html:724
msgid "How do I track time for multiple projects?"
msgstr "¿Cómo hago un seguimiento del tiempo para varios proyectos?"

#: app/templates/main/help.html:725
msgid "By default, you can only have one active timer at a time. To switch projects, stop your current timer and start a new one for the different project. Alternatively, you can create manual time entries for past work or configure the system to allow multiple active timers (admin setting)."
msgstr "De forma predeterminada, sólo puedes tener un temporizador activo a la vez. Para cambiar de proyecto, detenga el cronómetro actual e inicie uno nuevo para el proyecto diferente. Alternativamente, puede crear entradas de tiempo manuales para trabajos anteriores o configurar el sistema para permitir múltiples temporizadores activos (configuración de administrador)."

#: app/templates/main/help.html:728
msgid "How do I export my time data?"
msgstr "¿Cómo exporto mis datos de tiempo?"

#: app/templates/main/help.html:729
msgid "Go to the Reports page and use the \"Export CSV\" feature. You can apply filters to export specific data, or export all time entries. The CSV file includes all time entry details and can be opened in Excel or other spreadsheet applications. You can also configure the delimiter for different regional standards."
msgstr "Vaya a la página Informes y utilice la función \"Exportar CSV\". Puede aplicar filtros para exportar datos específicos o exportar todas las entradas de tiempo. El archivo CSV incluye todos los detalles de entrada de tiempo y se puede abrir en Excel u otras aplicaciones de hojas de cálculo. También puede configurar el delimitador para diferentes estándares regionales."

#: app/templates/main/help.html:732
msgid "What's the difference between billable and non-billable time?"
msgstr "¿Cuál es la diferencia entre tiempo facturable y no facturable?"

#: app/templates/main/help.html:733
msgid "Billable time is tracked for client billing purposes and can have an hourly rate associated with it. Non-billable time is for internal work that doesn't get charged to clients. You can mark individual time entries as billable or non-billable, and projects can have default billable settings. This distinction is crucial for accurate invoicing and profitability analysis."
msgstr "El tiempo facturable se realiza un seguimiento para fines de facturación del cliente y puede tener una tarifa por hora asociada. El tiempo no facturable es para trabajo interno que no se cobra a los clientes. Puede marcar entradas de tiempo individuales como facturables o no facturables, y los proyectos pueden tener configuraciones facturables predeterminadas. Esta distinción es crucial para un análisis preciso de la facturación y la rentabilidad."

#: app/templates/main/help.html:736
msgid "How do I create an invoice from my time entries?"
msgstr "¿Cómo creo una factura a partir de mis entradas de tiempo?"

#: app/templates/main/help.html:737
msgid "Navigate to Invoices → Create Invoice, set up the client and project details, then use \"Generate from Time Entries\" to automatically create invoice items from your tracked time. You can filter by date range and project, and the system will group time entries intelligently. Review the generated items and export as a professional PDF."
msgstr "Navegue a Facturas → Crear factura, configure los detalles del cliente y del proyecto, luego use \"Generar a partir de entradas de tiempo\" para crear automáticamente elementos de factura a partir de su tiempo registrado. Puede filtrar por rango de fechas y proyecto, y el sistema agrupará las entradas de tiempo de forma inteligente. Revise los elementos generados y expórtelos como un PDF profesional."

#: app/templates/main/help.html:740
msgid "Can I use TimeTracker on my mobile device?"
msgstr "¿Puedo usar TimeTracker en mi dispositivo móvil?"

#: app/templates/main/help.html:741
msgid "Yes! TimeTracker is fully responsive and works great on mobile devices. You can install it as a Progressive Web App (PWA) for a native-like experience. The mobile interface includes a bottom tab bar for easy navigation and touch-optimized controls for time tracking on the go."
msgstr "¡Sí! TimeTracker responde completamente y funciona muy bien en dispositivos móviles. Puede instalarlo como una aplicación web progresiva (PWA) para disfrutar de una experiencia nativa. La interfaz móvil incluye una barra de pestañas inferior para facilitar la navegación y controles táctiles optimizados para realizar un seguimiento del tiempo mientras viaja."

#: app/templates/main/help.html:744
msgid "How do I use the command palette and keyboard shortcuts?"
msgstr "¿Cómo uso la paleta de comandos y los atajos de teclado?"

#: app/templates/main/help.html:745
msgid "Press the question mark key (?) to open the command palette. From there, you can type to search for any action or navigation target. Use keyboard sequences like \"g d\" for Dashboard, \"g p\" for Projects, or \"n e\" for New Entry. Press Shift+? to see all available shortcuts. Press Ctrl+K (or Cmd+K on Mac) for quick search."
msgstr "Presione la tecla del signo de interrogación (?) para abrir la paleta de comandos. Desde allí, puede escribir para buscar cualquier acción u objetivo de navegación. Utilice secuencias de teclado como \"g d\" para Panel de control, \"g p\" para Proyectos o \"n e\" para Nueva entrada. ¿Presionar Mayús+? para ver todos los atajos disponibles. Presione Ctrl+K (o Cmd+K en Mac) para una búsqueda rápida."

#: app/templates/main/help.html:748
msgid "How do I create bulk time entries for multiple days?"
msgstr "¿Cómo creo entradas de tiempo masivo para varios días?"

#: app/templates/main/help.html:749
msgid "Navigate to Work → Bulk Time Entry. Select your project, choose a date range, set your daily start and end times, and optionally skip weekends. The system will create identical time entries for each day in the range. This is perfect for logging regular work patterns or filling in past time when you worked consistent hours."
msgstr "Vaya a Trabajo → Entrada de tiempo masiva. Seleccione su proyecto, elija un rango de fechas, establezca sus horas de inicio y finalización diarias y, opcionalmente, omita los fines de semana. El sistema creará entradas de tiempo idénticas para cada día del rango. Esto es perfecto para registrar patrones de trabajo regulares o completar el tiempo pasado cuando trabajó horas constantes."

#: app/templates/main/help.html:752
msgid "What are time entry templates and how do I use them?"
msgstr "¿Qué son las plantillas de entrada de tiempo y cómo las uso?"

#: app/templates/main/help.html:753
msgid "Time entry templates let you save frequently used time entry configurations. When creating a manual time entry, check \"Save as Template\" to save the project, task, and notes. Later, when creating new entries, you can select a template to quickly fill in these details. Templates are personal and only visible to you."
msgstr "Las plantillas de entrada de tiempo le permiten guardar configuraciones de entrada de tiempo utilizadas con frecuencia. Al crear una entrada de tiempo manual, marque \"Guardar como plantilla\" para guardar el proyecto, la tarea y las notas. Más adelante, al crear nuevas entradas, podrá seleccionar una plantilla para completar rápidamente estos detalles. Las plantillas son personales y sólo usted puede verlas."

#: app/templates/main/help.html:756
msgid "How do I track expenses and add them to invoices?"
msgstr "¿Cómo hago un seguimiento de los gastos y los agrego a las facturas?"

#: app/templates/main/help.html:757
msgid "Go to Expenses → New Expense to record business expenses. Upload receipt images, categorize the expense, and mark it as billable if needed. When creating invoices, you can include these expenses as line items. Expenses support approval workflows, reimbursement tracking, and can be linked to specific projects."
msgstr "Vaya a Gastos → Nuevo gasto para registrar los gastos comerciales. Cargue imágenes de recibos, categorice el gasto y márquelo como facturable si es necesario. Al crear facturas, puede incluir estos gastos como partidas individuales. Los gastos respaldan los flujos de trabajo de aprobación, el seguimiento de reembolsos y se pueden vincular a proyectos específicos."

#: app/templates/main/help.html:760
msgid "Can I use Markdown in descriptions?"
msgstr "¿Puedo usar Markdown en las descripciones?"

#: app/templates/main/help.html:761
msgid "Yes! Project and task descriptions support full Markdown formatting. You can use bold, italic, headings, lists, links, code blocks, tables, and images. This allows you to create rich, well-formatted documentation directly in your projects and tasks. The Markdown editor includes a preview mode and supports dark theme."
msgstr "¡Sí! Las descripciones de proyectos y tareas admiten el formato Markdown completo. Puede utilizar negrita, cursiva, títulos, listas, enlaces, bloques de código, tablas e imágenes. Esto le permite crear documentación rica y bien formateada directamente en sus proyectos y tareas. El editor Markdown incluye un modo de vista previa y admite temas oscuros."

#: app/templates/main/help.html:764
msgid "Where can I get additional help?"
msgstr "¿Dónde puedo obtener ayuda adicional?"

#: app/templates/main/help.html:768
msgid "This help page covers most common questions and features. For complete documentation:"
msgstr ""

#: app/templates/main/help.html:770
msgid "Complete Documentation Index"
msgstr ""

#: app/templates/main/help.html:771
msgid "Getting Started Guide"
msgstr ""

#: app/templates/main/help.html:772
msgid "Product Overview & Features"
msgstr ""

#: app/templates/main/help.html:773
msgid "Changelog"
msgstr ""

#: app/templates/main/help.html:778
msgid "Report issues and request features on"
msgstr "Informar problemas y solicitar funciones en"

#: app/templates/main/help.html:783
msgid "As an admin, you can access additional system information and diagnostics in the"
msgstr "Como administrador, puede acceder a información y diagnósticos adicionales del sistema en la"

#: app/templates/main/help.html:783
msgid "section."
msgstr "sección."

#: app/templates/main/help.html:785
msgid "Admin documentation:"
msgstr ""

#: app/templates/main/help.html:785
msgid "Administrator Guide"
msgstr ""

#: app/templates/main/help.html:795
msgid "Still Need Help?"
msgstr "¿Aún necesitas ayuda?"

#: app/templates/main/help.html:796
msgid "Can't find what you're looking for? Here are additional resources:"
msgstr "¿No encuentras lo que estás buscando? Aquí hay recursos adicionales:"

#: app/templates/main/help.html:801
msgid "Complete Documentation"
msgstr ""

#: app/templates/main/help.html:805
msgid "Documentation Index"
msgstr ""

#: app/templates/main/help.html:808
msgid "Getting Started"
msgstr ""

#: app/templates/main/help.html:811
msgid "Feature Guides"
msgstr ""

#: app/templates/main/help.html:815
msgid "Admin Documentation"
msgstr ""

#: app/templates/main/help.html:829
msgid "GitHub Repository"
msgstr "Repositorio GitHub"

#: app/templates/main/help.html:832
msgid "Report Issue"
msgstr "Informar problema"

#: app/templates/main/help.html:843
msgid "Donations and licenses fund development; nothing is paywalled."
msgstr ""

#: app/templates/main/help.html:844 app/templates/reports/index.html:21
#, fuzzy
msgid "Open support"
msgstr "Apoyo"

#: app/templates/main/search.html:11
msgid "Search Results"
msgstr "Resultados de la búsqueda"

#: app/templates/main/search.html:14
msgid "Search notes or tags"
msgstr "Buscar notas o etiquetas"

#: app/templates/main/search.html:25
msgid "Results"
msgstr "Resultados"

#: app/templates/main/search.html:75
msgid "Are you sure you want to delete this time entry? This action cannot be undone."
msgstr "¿Está seguro de que desea eliminar esta entrada de tiempo? Esta acción no se puede deshacer."

#: app/templates/main/search.html:115
msgid "No results found"
msgstr "No se encontraron resultados"

#: app/templates/main/search.html:116
msgid "Try a different query or check your spelling."
msgstr "Pruebe con una consulta diferente o revise su ortografía."

#: app/templates/mileage/form.html:56
msgid "e.g., Client meeting, Site visit"
msgstr "por ejemplo, reunión con el cliente, visita al sitio"

#: app/templates/mileage/form.html:65
msgid "Additional details..."
msgstr "Detalles adicionales..."

#: app/templates/mileage/form.html:84
msgid "e.g., Office, Home"
msgstr "por ejemplo, oficina, hogar"

#: app/templates/mileage/form.html:94
msgid "e.g., Client site, Airport"
msgstr "por ejemplo, sitio del cliente, aeropuerto"

#: app/templates/mileage/form.html:125
msgid "e.g., 12345"
msgstr "por ejemplo, 12345"

#: app/templates/mileage/form.html:135
msgid "e.g., 12400"
msgstr "por ejemplo, 12400"

#: app/templates/mileage/form.html:185
msgid "e.g., VW Golf"
msgstr "por ejemplo, VW Golf"

#: app/templates/mileage/form.html:195
msgid "e.g., ABC-123"
msgstr "por ejemplo, ABC-123"

#: app/templates/mileage/gps.html:2 app/templates/mileage/gps.html:7
#, fuzzy
msgid "GPS Mileage Tracking"
msgstr "Seguimiento del tiempo"

#: app/templates/mileage/gps.html:8
#, fuzzy
msgid "Back to Mileage"
msgstr "Volver a roles"

#: app/templates/mileage/gps.html:13
msgid "Use your device GPS to record route points, calculate distance, and convert the track into an expense."
msgstr ""

#: app/templates/mileage/gps.html:27
#, fuzzy
msgid "Rate per km"
msgstr "Fecha desde"

#: app/templates/mileage/gps.html:37
#, fuzzy
msgid "Add Point"
msgstr "Agregar nota"

#: app/templates/mileage/gps.html:38
#, fuzzy
msgid "Create Expense from Track"
msgstr "Seguimiento de gastos"

#: app/templates/mileage/gps.html:43
#, fuzzy
msgid "Track ID"
msgstr "Seguimiento"

#: app/templates/mileage/gps.html:44 app/templates/mileage/gps.html:82
#, fuzzy
msgid "Idle"
msgstr "Título"

#: app/templates/mileage/gps.html:47
msgid "Distance (km)"
msgstr ""

#: app/templates/mileage/gps.html:48
msgid "Distance (miles)"
msgstr ""

#: app/templates/mileage/gps.html:82
#, fuzzy
msgid "Tracking"
msgstr "Seguimiento del tiempo"

#: app/templates/mileage/gps.html:125
#, fuzzy
msgid "GPS tracking started"
msgstr "Iniciar el seguimiento del tiempo"

#: app/templates/mileage/gps.html:136
#, fuzzy
msgid "Track point added"
msgstr "Seguimiento del pago"

#: app/templates/mileage/gps.html:151
#, fuzzy
msgid "GPS tracking stopped"
msgstr "Iniciar el seguimiento del tiempo"

#: app/templates/mileage/gps.html:165
#, fuzzy
msgid "Expense created"
msgstr "Gasto rechazado"

#: app/templates/mileage/list.html:59
msgid "Filter Mileage"
msgstr "Filtrar kilometraje"

#: app/templates/mileage/list.html:61 app/templates/per_diem/list.html:49
#: app/templates/timer/time_entries_overview.html:33
msgid "Exports use current filters"
msgstr ""

#: app/templates/mileage/list.html:78
msgid "Purpose, location..."
msgstr "Finalidad, ubicación..."

#: app/templates/mileage/view.html:247
msgid "Optional approval notes..."
msgstr "Notas de aprobación opcionales..."

#: app/templates/mileage/view.html:256 app/templates/per_diem/view.html:103
msgid "Rejection reason (required)"
msgstr "Motivo del rechazo (obligatorio)"

#: app/templates/partials/_bottom_nav.html:24
#, fuzzy
msgid "More navigation"
msgstr "Navegación móvil"

#: app/templates/partials/_bottom_nav.html:59
#, fuzzy
msgid "Main"
msgstr "Correo electrónico"

#: app/templates/partials/_command_palette.html:40
msgid "Type a command or search..."
msgstr "Escribe un comando o busca..."

#: app/templates/payment_gateways/create.html:3
#: app/templates/payment_gateways/create.html:8
msgid "Configure Payment Gateway"
msgstr ""

#: app/templates/payment_gateways/create.html:9
msgid "Set up payment processing for online invoice payments"
msgstr ""

#: app/templates/payment_gateways/create.html:11
msgid "Back to Gateways"
msgstr ""

#: app/templates/payment_gateways/create.html:20
msgid "Gateway Name"
msgstr ""

#: app/templates/payment_gateways/create.html:21
msgid "e.g., Stripe Production"
msgstr ""

#: app/templates/payment_gateways/create.html:22
msgid "A descriptive name for this gateway configuration"
msgstr ""

#: app/templates/payment_gateways/create.html:28
msgid "Select provider..."
msgstr ""

#: app/templates/payment_gateways/create.html:36
msgid "Stripe Configuration"
msgstr ""

#: app/templates/payment_gateways/create.html:41
msgid "Your Stripe secret key"
msgstr ""

#: app/templates/payment_gateways/create.html:44
msgid "Publishable Key"
msgstr ""

#: app/templates/payment_gateways/create.html:46
msgid "Your Stripe publishable key"
msgstr ""

#: app/templates/payment_gateways/create.html:51
msgid "Webhook signing secret for verifying webhook events"
msgstr ""

#: app/templates/payment_gateways/create.html:57
msgid "PayPal Configuration"
msgstr ""

#: app/templates/payment_gateways/create.html:73
#: app/templates/payment_gateways/list.html:50
msgid "Test Mode"
msgstr ""

#: app/templates/payment_gateways/create.html:75
msgid "Enable test mode for development and testing"
msgstr ""

#: app/templates/payment_gateways/create.html:80
msgid "Save Gateway"
msgstr ""

#: app/templates/payment_gateways/list.html:28
#: app/templates/payment_gateways/list.html:48
msgid "Mode"
msgstr ""

#: app/templates/payment_gateways/list.html:52
msgid "Production"
msgstr ""

#: app/templates/payment_gateways/list.html:70
msgid "Add Gateway"
msgstr ""

#: app/templates/payment_gateways/list.html:74
msgid "No Payment Gateways"
msgstr ""

#: app/templates/payment_gateways/list.html:75
msgid "Configure a payment gateway to enable online invoice payments."
msgstr ""

#: app/templates/payment_gateways/pay.html:15
msgid "Amount Due"
msgstr ""

#: app/templates/payment_gateways/pay.html:31
msgid "You will be redirected to a secure payment page to complete your payment."
msgstr ""

#: app/templates/payment_gateways/pay.html:37
msgid "Continue to Payment"
msgstr ""

#: app/templates/payment_gateways/pay.html:46
msgid "Payment gateway not yet supported. Please contact support."
msgstr ""

#: app/templates/payments/create.html:7
msgid "Record New Payment"
msgstr "Registrar nuevo pago"

#: app/templates/payments/list.html:24 app/templates/reports/index.html:38
msgid "Total Payments"
msgstr "Pagos totales"

#: app/templates/payments/list.html:37 app/templates/reports/index.html:54
msgid "Gateway Fees"
msgstr "Tarifas de entrada"

#: app/templates/payments/list.html:45
msgid "Filter Payments"
msgstr "Filtrar pagos"

#: app/templates/payments/list.html:141
#, fuzzy
msgid "ID"
msgstr "Pagado"

#: app/templates/payments/list.html:222
msgid "Delete Selected Payments"
msgstr "Eliminar pagos seleccionados"

#: app/templates/payments/list.html:242
msgid "Change Status for Selected Payments"
msgstr "Cambiar estado para pagos seleccionados"

#: app/templates/payments/view.html:151
msgid "Related Invoice"
msgstr "Factura relacionada"

#: app/templates/per_diem/form.html:35
msgid "e.g., Business trip to Berlin"
msgstr "por ejemplo, viaje de negocios a Berlín"

#: app/templates/per_diem/form.html:63 app/templates/per_diem/rate_form.html:41
msgid "e.g., DE, US, GB"
msgstr "por ejemplo, DE, EE. UU., GB"

#: app/templates/per_diem/form.html:74 app/templates/per_diem/rate_form.html:52
msgid "e.g., Berlin"
msgstr "por ejemplo, Berlín"

#: app/templates/per_diem/list.html:47
msgid "Filter Claims"
msgstr "Filtrar reclamaciones"

#: app/templates/per_diem/list.html:152
msgid "Delete Selected Claims"
msgstr "Eliminar reclamaciones seleccionadas"

#: app/templates/per_diem/list.html:172
msgid "Change Status for Selected Claims"
msgstr "Cambiar estado para reclamos seleccionados"

#: app/templates/per_diem/rate_form.html:162
msgid "Additional notes about this rate..."
msgstr "Notas adicionales sobre esta tarifa..."

#: app/templates/per_diem/rates_list.html:110
#: app/templates/per_diem/rates_list.html:121
msgid "Are you sure you want to delete this per diem rate?"
msgstr "¿Está seguro de que desea eliminar esta tarifa diaria?"

#: app/templates/per_diem/rates_list.html:111
msgid "Delete Per Diem Rate"
msgstr "Eliminar tarifa diaria"

#: app/templates/project_templates/create.html:3
#: app/templates/project_templates/create.html:8
msgid "Create Project Template"
msgstr ""

#: app/templates/project_templates/create.html:9
msgid "Create a reusable template for quick project setup"
msgstr ""

#: app/templates/project_templates/create.html:11
msgid "Back to Templates"
msgstr ""

#: app/templates/project_templates/create.html:21
msgid "e.g., Web Development Project"
msgstr ""

#: app/templates/project_templates/create.html:26
msgid "Describe what this template is used for..."
msgstr ""

#: app/templates/project_templates/create.html:31
msgid "e.g., Web Development, Marketing"
msgstr ""

#: app/templates/project_templates/create.html:36
#: app/templates/timer/calendar.html:193
msgid "Comma-separated tags"
msgstr ""

#: app/templates/project_templates/create.html:41
#: app/templates/project_templates/edit.html:41
#: app/templates/project_templates/view.html:36
msgid "Project Configuration"
msgstr ""

#: app/templates/project_templates/create.html:47
#: app/templates/project_templates/edit.html:47
#: app/templates/projects/create.html:66
msgid "Billable Project"
msgstr "Proyecto facturable"

#: app/templates/project_templates/create.html:57
#: app/templates/project_templates/create.html:87
#: app/templates/project_templates/edit.html:57
#: app/templates/project_templates/edit.html:90
#: app/templates/project_templates/edit.html:116
#: app/templates/project_templates/view.html:50
#: app/templates/recurring_tasks/form.html:101
#: app/templates/tasks/create.html:98 app/templates/tasks/edit.html:106
msgid "Estimated Hours"
msgstr "Horas estimadas"

#: app/templates/project_templates/create.html:62
#: app/templates/project_templates/edit.html:62
#: app/templates/project_templates/view.html:56
#: app/templates/projects/create.html:85 app/templates/projects/edit.html:78
msgid "Budget Amount"
msgstr "Monto del presupuesto"

#: app/templates/project_templates/create.html:69
#: app/templates/project_templates/create_project.html:48
#: app/templates/project_templates/edit.html:69
#: app/templates/project_templates/view.html:65
msgid "Template Tasks"
msgstr ""

#: app/templates/project_templates/create.html:70
#: app/templates/project_templates/edit.html:70
msgid "Tasks will be created when a project is created from this template"
msgstr ""

#: app/templates/project_templates/create.html:75
#: app/templates/project_templates/edit.html:78
#: app/templates/project_templates/edit.html:104
#: app/templates/tasks/create.html:26 app/templates/tasks/edit.html:31
msgid "Task Name"
msgstr "Nombre de la tarea"

#: app/templates/project_templates/create.html:94
#: app/templates/project_templates/edit.html:124
msgid "Add Task"
msgstr ""

#: app/templates/project_templates/create.html:101
#: app/templates/project_templates/edit.html:131
msgid "Make this template public (visible to all users)"
msgstr ""

#: app/templates/project_templates/create_project.html:4
#: app/templates/project_templates/create_project.html:9
msgid "Create Project from Template"
msgstr ""

#: app/templates/project_templates/create_project.html:10
msgid "Using template:"
msgstr ""

#: app/templates/project_templates/create_project.html:12
#: app/templates/project_templates/edit.html:11
msgid "Back to Template"
msgstr ""

#: app/templates/project_templates/create_project.html:28
msgid "Leave empty to use template name"
msgstr ""

#: app/templates/project_templates/create_project.html:33
msgid "Override Settings (Optional)"
msgstr ""

#: app/templates/project_templates/create_project.html:40
#: app/templates/projects/create.html:27 app/templates/projects/edit.html:26
#: app/templates/projects/view.html:104
msgid "Project Code"
msgstr "Código de proyecto"

#: app/templates/project_templates/create_project.html:49
msgid "The following tasks will be created:"
msgstr ""

#: app/templates/project_templates/create_project.html:67
#: app/templates/project_templates/list.html:85
#: app/templates/project_templates/view.html:21
#: app/templates/projects/create.html:3 app/templates/projects/create.html:8
#: app/templates/projects/create.html:138 app/templates/quotes/accept.html:41
msgid "Create Project"
msgstr "Crear proyecto"

#: app/templates/project_templates/edit.html:3
#: app/templates/project_templates/edit.html:8
msgid "Edit Project Template"
msgstr ""

#: app/templates/project_templates/edit.html:94
#: app/templates/project_templates/edit.html:162
msgid "Remove Task"
msgstr ""

#: app/templates/project_templates/list.html:33
msgid "Show Public Templates"
msgstr ""

#: app/templates/project_templates/list.html:74
msgid "uses"
msgstr ""

#: app/templates/project_templates/list.html:78
#: app/templates/project_templates/view.html:11
#: app/templates/reports/builder.html:189
msgid "Public"
msgstr ""

#: app/templates/project_templates/list.html:124
msgid "No Templates Found"
msgstr ""

#: app/templates/project_templates/list.html:125
msgid "Create your first project template to quickly set up new projects with pre-configured settings and tasks."
msgstr ""

#: app/templates/project_templates/view.html:3
msgid "Project Template"
msgstr ""

#: app/templates/project_templates/view.html:91
msgid "Template Info"
msgstr ""

#: app/templates/project_templates/view.html:98
msgid "Usage Count"
msgstr ""

#: app/templates/project_templates/view.html:103
msgid "Last Used"
msgstr ""

#: app/templates/projects/_kanban_tailwind.html:4
msgid "Kanban board columns"
msgstr "Columnas del tablero Kanban"

#: app/templates/projects/_kanban_tailwind.html:16
msgid "Add task to this column"
msgstr ""

#: app/templates/projects/_kanban_tailwind.html:20
msgid "Edit swimlane"
msgstr "Editar carril"

#: app/templates/projects/_kanban_tailwind.html:26
msgid "Column"
msgstr "Columna"

#: app/templates/projects/_projects_list.html:9
#: app/templates/projects/list.html:90
msgid "List View"
msgstr "Vista de lista"

#: app/templates/projects/_projects_list.html:12
#: app/templates/projects/list.html:93
msgid "Grid View"
msgstr "Vista de cuadrícula"

#: app/templates/projects/_projects_list.html:102
#: app/templates/projects/list.html:183
#, fuzzy
msgid "Rate"
msgstr "Fecha"

#: app/templates/projects/_projects_list.html:152
#: app/templates/projects/edit.html:3 app/templates/projects/edit.html:8
#: app/templates/projects/list.html:234 app/templates/projects/view.html:18
msgid "Edit Project"
msgstr "Editar proyecto"

#: app/templates/projects/add_cost.html:3
#: app/templates/projects/add_cost.html:13
#: app/templates/projects/add_cost.html:101
#, fuzzy
msgid "Add Cost"
msgstr "Agregar nota"

#: app/templates/projects/add_cost.html:20
#, fuzzy
msgid "Add Cost to Project"
msgstr "Volver al proyecto"

#: app/templates/projects/add_cost.html:30
#: app/templates/projects/edit_cost.html:37
#, fuzzy
msgid "e.g., Travel expenses to client site"
msgstr "por ejemplo, viajar a una reunión con el cliente"

#: app/templates/projects/add_cost.html:31
#: app/templates/projects/edit_cost.html:38
#, fuzzy
msgid "Brief description of the cost"
msgstr "Breve descripción de esta categoría..."

#: app/templates/projects/add_cost.html:39
#: app/templates/projects/edit_cost.html:46
#, fuzzy
msgid "Select category"
msgstr "Categoría"

#: app/templates/projects/add_cost.html:41
#: app/templates/projects/edit_cost.html:48
#, fuzzy
msgid "Materials"
msgstr "Material"

#: app/templates/projects/add_cost.html:44
#: app/templates/projects/edit_cost.html:51
#, fuzzy
msgid "Software/Licenses"
msgstr "por ejemplo, licencia de software"

#: app/templates/projects/add_cost.html:78
#: app/templates/projects/edit_cost.html:85
#, fuzzy
msgid "Additional details about this cost"
msgstr "Detalles adicionales sobre este ajuste"

#: app/templates/projects/add_cost.html:87
#: app/templates/projects/edit_cost.html:94
#, fuzzy
msgid "Billable to client"
msgstr "Volver al Cliente"

#: app/templates/projects/add_cost.html:90
#: app/templates/projects/edit_cost.html:97
msgid "If checked, this cost will be included in invoices"
msgstr ""

#: app/templates/projects/add_good.html:6
msgid "Add Extra Good"
msgstr "Añadir extra bueno"

#: app/templates/projects/add_good.html:7
msgid "Add a product or service to"
msgstr "Añadir un producto o servicio a"

#: app/templates/projects/add_good.html:9
#: app/templates/projects/dashboard.html:9 app/templates/projects/edit.html:11
#: app/templates/projects/edit_good.html:9 app/templates/projects/goods.html:10
#: app/templates/projects/time_entries_overview.html:18
msgid "Back to Project"
msgstr "Volver al proyecto"

#: app/templates/projects/add_good.html:40
#: app/templates/projects/edit_good.html:40
msgid "SKU/Product Code"
msgstr "SKU/Código de producto"

#: app/templates/projects/archive.html:24
msgid "What happens when you archive a project?"
msgstr "¿Qué sucede cuando archivas un proyecto?"

#: app/templates/projects/archive.html:26
msgid "The project will be hidden from active project lists"
msgstr "El proyecto se ocultará de las listas de proyectos activos."

#: app/templates/projects/archive.html:27
msgid "No new time entries can be added to this project"
msgstr "No se pueden agregar nuevas entradas de tiempo a este proyecto."

#: app/templates/projects/archive.html:28
msgid "Existing data and time entries are preserved"
msgstr "Se conservan los datos existentes y las entradas de tiempo."

#: app/templates/projects/archive.html:29
msgid "You can unarchive the project later if needed"
msgstr "Puede desarchivar el proyecto más tarde si es necesario"

#: app/templates/projects/archive.html:41
msgid "Reason for Archiving"
msgstr "Razón para archivar"

#: app/templates/projects/archive.html:48
msgid "e.g., Project completed, Client contract ended, Project cancelled, etc."
msgstr "por ejemplo, proyecto completado, contrato con el cliente finalizado, proyecto cancelado, etc."

#: app/templates/projects/archive.html:51
msgid "Adding a reason helps with project organization and future reference."
msgstr "Agregar un motivo ayuda con la organización del proyecto y la referencia futura."

#: app/templates/projects/archive.html:58
msgid "Quick Select"
msgstr "Selección rápida"

#: app/templates/projects/archive.html:61
msgid "Project completed successfully"
msgstr "Proyecto completado con éxito"

#: app/templates/projects/archive.html:62
msgid "Project Completed"
msgstr "Proyecto completado"

#: app/templates/projects/archive.html:64
msgid "Client contract ended"
msgstr "Contrato de cliente finalizado"

#: app/templates/projects/archive.html:65 app/templates/projects/list.html:570
msgid "Contract Ended"
msgstr "Contrato finalizado"

#: app/templates/projects/archive.html:67
msgid "Project cancelled by client"
msgstr "Proyecto cancelado por cliente"

#: app/templates/projects/archive.html:70
msgid "Project on hold indefinitely"
msgstr "Proyecto en suspenso indefinidamente"

#: app/templates/projects/archive.html:71
msgid "On Hold"
msgstr "En espera"

#: app/templates/projects/archive.html:73
msgid "Maintenance period ended"
msgstr "Período de mantenimiento finalizado"

#: app/templates/projects/archive.html:74
msgid "Maintenance Ended"
msgstr "Mantenimiento finalizado"

#: app/templates/projects/archive.html:85
msgid "Archive Project"
msgstr "Proyecto de archivo"

#: app/templates/projects/create.html:9
msgid "Set up a new project to organize your work and track time effectively"
msgstr "Configure un nuevo proyecto para organizar su trabajo y realizar un seguimiento del tiempo de forma eficaz"

#: app/templates/projects/create.html:23
msgid "Enter a descriptive project name"
msgstr "Introduzca un nombre de proyecto descriptivo"

#: app/templates/projects/create.html:24
msgid "Choose a clear, descriptive name that explains the project scope"
msgstr "Elija un nombre claro y descriptivo que explique el alcance del proyecto."

#: app/templates/projects/create.html:28 app/templates/projects/edit.html:27
msgid "Short code, e.g., ABC"
msgstr "Código corto, por ejemplo, ABC"

#: app/templates/projects/create.html:29
msgid "Optional: Short tag shown on Kanban cards"
msgstr "Opcional: etiqueta corta que se muestra en las tarjetas Kanban"

#: app/templates/projects/create.html:45 app/templates/projects/edit.html:42
msgid "Create new client"
msgstr "Crear nuevo cliente"

#: app/templates/projects/create.html:56
msgid "Provide detailed information about the project, objectives, and deliverables..."
msgstr "Proporcionar información detallada sobre el proyecto, objetivos y entregables..."

#: app/templates/projects/create.html:59
msgid "Optional: Add context, objectives, or specific requirements for the project"
msgstr "Opcional: agregue contexto, objetivos o requisitos específicos para el proyecto."

#: app/templates/projects/create.html:68
msgid "Enable billing for this project"
msgstr "Habilitar la facturación para este proyecto"

#: app/templates/projects/create.html:73 app/templates/projects/edit.html:67
msgid "Leave empty for non-billable projects"
msgstr "Dejar vacío para proyectos no facturables"

#: app/templates/projects/create.html:79
msgid "PO number, contract reference, etc."
msgstr "Número de pedido, referencia del contrato, etc."

#: app/templates/projects/create.html:80
msgid "Optional: Add a reference number or identifier for billing purposes"
msgstr "Opcional: agregue un número de referencia o identificador para fines de facturación."

#: app/templates/projects/create.html:86 app/templates/projects/edit.html:79
msgid "e.g. 10000.00"
msgstr "p.ej. 10000.00"

#: app/templates/projects/create.html:87
msgid "Optional: Set a total project budget to monitor spend"
msgstr "Opcional: establezca un presupuesto total del proyecto para monitorear el gasto"

#: app/templates/projects/create.html:90 app/templates/projects/edit.html:82
msgid "Alert Threshold (%)"
msgstr "Umbral de alerta (%)"

#: app/templates/projects/create.html:92
msgid "Notify when consumed budget exceeds this threshold"
msgstr "Notificar cuando el presupuesto consumido supere este umbral"

#: app/templates/projects/create.html:97 app/templates/projects/edit.html:88
#: app/templates/tasks/create.html:128 app/templates/tasks/edit.html:136
msgid "Gantt color"
msgstr ""

#: app/templates/projects/create.html:102 app/templates/projects/edit.html:93
msgid "Optional: Color for this project on the Gantt chart. Pick or enter a hex code (e.g. #3b82f6)."
msgstr ""

#: app/templates/projects/create.html:109 app/templates/projects/edit.html:100
msgid "These custom fields are defined globally and available for all projects."
msgstr ""

#: app/templates/projects/create.html:146
msgid "Project Creation Tips"
msgstr "Consejos para la creación de proyectos"

#: app/templates/projects/create.html:148 app/templates/tasks/create.html:155
msgid "Clear Naming"
msgstr "Borrar nombres"

#: app/templates/projects/create.html:148
msgid "Use descriptive names that clearly indicate the project's purpose"
msgstr "Utilice nombres descriptivos que indiquen claramente el propósito del proyecto."

#: app/templates/projects/create.html:149
msgid "Billing Setup"
msgstr "Configuración de facturación"

#: app/templates/projects/create.html:149
msgid "Set appropriate hourly rates based on project complexity and client budget"
msgstr "Establezca tarifas por hora adecuadas según la complejidad del proyecto y el presupuesto del cliente."

#: app/templates/projects/create.html:150
msgid "Detailed Description"
msgstr "Descripción detallada"

#: app/templates/projects/create.html:150
msgid "Include project objectives, deliverables, and key requirements"
msgstr "Incluir objetivos del proyecto, entregables y requisitos clave."

#: app/templates/projects/create.html:151
msgid "Client Selection"
msgstr "Selección de Cliente"

#: app/templates/projects/create.html:151
msgid "Choose the right client to ensure proper project organization"
msgstr "Elija el cliente adecuado para garantizar una organización adecuada del proyecto"

#: app/templates/projects/create.html:437
#: app/templates/projects/create.html:498 app/templates/reports/index.html:527
msgid "Creating..."
msgstr "Creando..."

#: app/templates/projects/create.html:517
msgid "Could not create client. Please try again."
msgstr "No se pudo crear el cliente. Por favor inténtalo de nuevo."

#: app/templates/projects/create.html:526
#: app/templates/projects/create.html:547
msgid "Client created"
msgstr "Cliente creado"

#: app/templates/projects/create.html:551
msgid "Network error while creating client"
msgstr "Error de red al crear el cliente"

#: app/templates/projects/dashboard.html:19
msgid "Project Dashboard & Analytics"
msgstr "Panel de control y análisis del proyecto"

#: app/templates/projects/dashboard.html:27 app/templates/projects/view.html:13
msgid "Entries Overview"
msgstr ""

#: app/templates/projects/dashboard.html:33 app/templates/projects/view.html:41
msgid "Budget Analysis"
msgstr "Análisis de presupuesto"

#: app/templates/projects/dashboard.html:37
msgid "All Time"
msgstr "Todo el tiempo"

#: app/templates/projects/dashboard.html:38
msgid "Last 7 Days"
msgstr "Últimos 7 días"

#: app/templates/projects/dashboard.html:39
msgid "Last 30 Days"
msgstr "Últimos 30 días"

#: app/templates/projects/dashboard.html:40
msgid "Last 3 Months"
msgstr "Últimos 3 meses"

#: app/templates/projects/dashboard.html:41
msgid "Last Year"
msgstr "El año pasado"

#: app/templates/projects/dashboard.html:57
msgid "estimated"
msgstr "estimado"

#: app/templates/projects/dashboard.html:71
#: app/templates/projects/view.html:247
msgid "Budget Used"
msgstr "Presupuesto utilizado"

#: app/templates/projects/dashboard.html:75
msgid "of budget"
msgstr "de presupuesto"

#: app/templates/projects/dashboard.html:89
msgid "Tasks Complete"
msgstr "Tareas completadas"

#: app/templates/projects/dashboard.html:92
msgid "completion"
msgstr "terminación"

#: app/templates/projects/dashboard.html:105
msgid "Team Members"
msgstr "Miembros del equipo"

#: app/templates/projects/dashboard.html:107
msgid "contributing"
msgstr "contribuyendo"

#: app/templates/projects/dashboard.html:122
msgid "Budget vs. Actual"
msgstr "Presupuesto versus real"

#: app/templates/projects/dashboard.html:144
msgid "No budget set for this project"
msgstr "No hay presupuesto establecido para este proyecto."

#: app/templates/projects/dashboard.html:154
msgid "Task Status Distribution"
msgstr "Distribución del estado de la tarea"

#: app/templates/projects/dashboard.html:172
msgid "No tasks created yet"
msgstr "Aún no se han creado tareas"

#: app/templates/projects/dashboard.html:185
msgid "Team Member Contributions"
msgstr "Contribuciones de los miembros del equipo"

#: app/templates/projects/dashboard.html:209
msgid "No time entries recorded yet"
msgstr "Aún no se han registrado entradas de tiempo"

#: app/templates/projects/dashboard.html:219
msgid "Time Tracking Timeline"
msgstr "Línea de tiempo de seguimiento del tiempo"

#: app/templates/projects/dashboard.html:229
msgid "Select a time period to view timeline"
msgstr "Seleccione un período de tiempo para ver la línea de tiempo"

#: app/templates/projects/dashboard.html:277
msgid "Team Member Details"
msgstr "Detalles de los miembros del equipo"

#: app/templates/projects/dashboard.html:294
msgid "tasks"
msgstr "tareas"

#: app/templates/projects/dashboard.html:312
msgid "No team members have logged time yet"
msgstr "Ningún miembro del equipo ha registrado tiempo todavía"

#: app/templates/projects/dashboard.html:325
msgid "Attention Required"
msgstr "Atención requerida"

#: app/templates/projects/dashboard.html:327
msgid "task(s) are overdue"
msgstr "las tareas están atrasadas"

#: app/templates/projects/edit_cost.html:3
#: app/templates/projects/edit_cost.html:13
#: app/templates/projects/edit_cost.html:20
#, fuzzy
msgid "Edit Cost"
msgstr "Costo unitario"

#: app/templates/projects/edit_cost.html:27
msgid "This cost has been invoiced. Changes may affect existing invoices."
msgstr ""

#: app/templates/projects/edit_cost.html:108
#, fuzzy
msgid "Update Cost"
msgstr "Actualizar roles"

#: app/templates/projects/edit_good.html:6
msgid "Edit Extra Good"
msgstr "Editar extra bueno"

#: app/templates/projects/goods.html:7
msgid "Manage products and services for this project"
msgstr "Gestionar productos y servicios para este proyecto."

#: app/templates/projects/goods.html:17
msgid "Total Goods"
msgstr "Bienes totales"

#: app/templates/projects/goods.html:25
msgid "Billable Amount"
msgstr "Monto facturable"

#: app/templates/projects/goods.html:29
msgid "Categories"
msgstr "Categorías"

#: app/templates/projects/goods.html:68
msgid "Invoiced"
msgstr "Facturado"

#: app/templates/projects/goods.html:72
#: app/templates/reports/week_in_review.html:34
#: app/templates/timer/time_entries_overview.html:114
#: app/templates/timer/view_timer.html:130
msgid "Non-billable"
msgstr "No facturable"

#: app/templates/projects/goods.html:81
msgid "Are you sure you want to delete this extra good?"
msgstr "¿Estás seguro de que quieres eliminar este bien extra?"

#: app/templates/projects/goods.html:81
msgid "Delete Extra Good"
msgstr "Eliminar extra bueno"

#: app/templates/projects/goods.html:98
msgid "No extra goods found for this project"
msgstr "No se encontraron productos adicionales para este proyecto."

#: app/templates/projects/goods.html:99
msgid "Add Your First Good"
msgstr "Añade tu primer bien"

#: app/templates/projects/goods.html:105
msgid "Breakdown by Category"
msgstr "Desglose por categoría"

#: app/templates/projects/goods.html:111
msgid "item(s)"
msgstr "elementos)"

#: app/templates/projects/list.html:19
msgid "Filter Projects"
msgstr "Filtrar proyectos"

#: app/templates/projects/time_entries_overview.html:10
#: app/templates/projects/time_entries_overview.html:15
#: app/templates/timer/time_entries_overview.html:5
#: app/templates/timer/time_entries_overview.html:14
msgid "Time Entries Overview"
msgstr ""

#: app/templates/projects/time_entries_overview.html:24
msgid "Days"
msgstr ""

#: app/templates/projects/time_entries_overview.html:48
msgid "No time entries found for this project in the selected period."
msgstr ""

#: app/templates/projects/view.html:54
msgid "Mark project as Inactive?"
msgstr "¿Marcar proyecto como inactivo?"

#: app/templates/projects/view.html:54
msgid "Change Project Status"
msgstr "Cambiar estado del proyecto"

#: app/templates/projects/view.html:61
msgid "Activate project?"
msgstr "¿Activar proyecto?"

#: app/templates/projects/view.html:61
msgid "Activate Project"
msgstr "Activar Proyecto"

#: app/templates/projects/view.html:72
msgid "Archive"
msgstr "Archivo"

#: app/templates/projects/view.html:75
msgid "Unarchive project?"
msgstr "¿Desarchivar proyecto?"

#: app/templates/projects/view.html:75
msgid "Unarchive Project"
msgstr "Desarchivar proyecto"

#: app/templates/projects/view.html:75 app/templates/projects/view.html:78
msgid "Unarchive"
msgstr "Desarchivar"

#: app/templates/projects/view.html:87
msgid "Delete Project"
msgstr "Eliminar proyecto"

#: app/templates/projects/view.html:133
msgid "Archive Information"
msgstr "Archivar información"

#: app/templates/projects/view.html:136
msgid "Archived on:"
msgstr "Archivado en:"

#: app/templates/projects/view.html:141
msgid "Archived by:"
msgstr "Archivado por:"

#: app/templates/projects/view.html:147
msgid "Reason:"
msgstr "Razón:"

#: app/templates/projects/view.html:208
msgid "Quick Links"
msgstr ""

#: app/templates/projects/view.html:230
msgid "Budget Overview"
msgstr "Resumen del presupuesto"

#: app/templates/projects/view.html:279
msgid "Over"
msgstr "Encima"

#: app/templates/projects/view.html:304
msgid "View Full Budget Analysis"
msgstr "Ver análisis presupuestario completo"

#: app/templates/projects/view.html:352
msgid "e.g., Contract, Specification, etc."
msgstr ""

#: app/templates/projects/view.html:424
msgid "Tasks for this project"
msgstr "Tareas para este proyecto."

#: app/templates/projects/view.html:431 app/templates/projects/view.html:458
#: app/templates/timer/calendar.html:854
msgid "Due"
msgstr "Pendiente"

#: app/templates/projects/view.html:432 app/templates/projects/view.html:466
#: app/templates/tasks/_kanban.html:1324
#: app/templates/tasks/_tasks_list.html:36
#: app/templates/tasks/_tasks_list.html:86 app/templates/tasks/edit.html:172
#: app/templates/tasks/view.html:154
msgid "Estimated"
msgstr "Estimado"

#: app/templates/projects/view.html:485
msgid "No tasks for this project."
msgstr "No hay tareas para este proyecto."

#: app/templates/quotes/_edit_quote_form_scripts.html:16
#: app/templates/quotes/edit.html:82 app/templates/quotes/edit.html:154
#: app/templates/quotes/edit.html:212
#, fuzzy
msgid "Move up"
msgstr "se mudó a"

#: app/templates/quotes/_edit_quote_form_scripts.html:17
#: app/templates/quotes/edit.html:83 app/templates/quotes/edit.html:155
#: app/templates/quotes/edit.html:213
#, fuzzy
msgid "Move down"
msgstr "se mudó a"

#: app/templates/quotes/_edit_quote_form_scripts.html:166
#: app/templates/quotes/edit.html:87
#, fuzzy
msgid "Manual entry"
msgstr "Entrada manual"

#: app/templates/quotes/_edit_quote_form_scripts.html:167
#: app/templates/quotes/edit.html:88
#, fuzzy
msgid "From stock"
msgstr "Existencias bajas"

#: app/templates/quotes/_quotes_list.html:12 app/templates/quotes/list.html:366
#: app/templates/quotes/view.html:24 app/templates/timer/calendar.html:236
#: app/templates/timer/edit_timer.html:389
#: app/templates/timer/edit_timer.html:510
msgid "Duplicate"
msgstr "Duplicado"

#: app/templates/quotes/_quotes_list.html:13 app/templates/quotes/list.html:367
msgid "Mark as Sent"
msgstr "Marcar como enviado"

#: app/templates/quotes/_quotes_list.html:66 app/templates/quotes/list.html:83
#: app/templates/quotes/view.html:75
msgid "Accepted"
msgstr "Aceptado"

#: app/templates/quotes/_quotes_list.html:88
msgid "Create Your First Quote"
msgstr "Crea tu primera cotización"

#: app/templates/quotes/_quotes_list.html:92
msgid "Learn More"
msgstr "Más información"

#: app/templates/quotes/accept.html:11
msgid "Back to Quote"
msgstr "Volver a Cotización"

#: app/templates/quotes/accept.html:42
msgid "Accepting this quote will create a new project with the budget from the quote."
msgstr "Al aceptar esta cotización se creará un nuevo proyecto con el presupuesto de la cotización."

#: app/templates/quotes/accept.html:50
msgid "The project will be created with the budget from the quote"
msgstr "El proyecto se creará con el presupuesto de la cotización."

#: app/templates/quotes/accept.html:55
msgid "Accept Quote & Create Project"
msgstr "Aceptar cotización y crear proyecto"

#: app/templates/quotes/create.html:5 app/templates/quotes/create.html:265
msgid "Create Quote"
msgstr "Crear cotización"

#: app/templates/quotes/create.html:37 app/templates/quotes/edit.html:33
msgid "Quote title"
msgstr "Título de la cita"

#: app/templates/quotes/create.html:42 app/templates/quotes/edit.html:47
msgid "Quote description"
msgstr "Descripción de la cotización"

#: app/templates/quotes/create.html:51 app/templates/quotes/edit.html:56
#, fuzzy
msgid "Quote line items"
msgstr "Artículos de cotización"

#: app/templates/quotes/create.html:54 app/templates/quotes/edit.html:59
msgid "Services, labor, and catalog lines"
msgstr ""

#: app/templates/quotes/create.html:57 app/templates/quotes/edit.html:62
#, fuzzy
msgid "Add line"
msgstr "Fecha límite"

#: app/templates/quotes/create.html:62 app/templates/quotes/edit.html:67
#: app/templates/quotes/edit.html:86
#, fuzzy
msgid "Line type"
msgstr "Tipo de contenido"

#: app/templates/quotes/create.html:63 app/templates/quotes/edit.html:68
#, fuzzy
msgid "Stock"
msgstr "Existencias bajas"

#: app/templates/quotes/create.html:73 app/templates/quotes/edit.html:120
#, fuzzy
msgid "Line items subtotal"
msgstr "Subtotal de artículos"

#: app/templates/quotes/create.html:83 app/templates/quotes/edit.html:131
#, fuzzy
msgid "Costs"
msgstr "Costo"

#: app/templates/quotes/create.html:86 app/templates/quotes/edit.html:134
#, fuzzy
msgid "One-off costs (e.g. travel, materials)"
msgstr "por ejemplo, VIAJES, COMIDAS"

#: app/templates/quotes/create.html:89 app/templates/quotes/edit.html:137
#, fuzzy
msgid "Add cost"
msgstr "Agregar nota"

#: app/templates/quotes/create.html:104 app/templates/quotes/edit.html:177
#, fuzzy
msgid "Costs subtotal"
msgstr "Subtotal de artículos"

#: app/templates/quotes/create.html:114 app/templates/quotes/edit.html:188
#, fuzzy
msgid "Extra goods"
msgstr "Bienes adicionales"

#: app/templates/quotes/create.html:117 app/templates/quotes/edit.html:191
#, fuzzy
msgid "Products, licenses, hardware"
msgstr "Productos, materiales, licencias y otros bienes."

#: app/templates/quotes/create.html:120 app/templates/quotes/edit.html:194
#, fuzzy
msgid "Add good"
msgstr "Añadir bueno"

#: app/templates/quotes/create.html:136 app/templates/quotes/edit.html:235
#, fuzzy
msgid "Goods subtotal"
msgstr "Subtotal de mercancías"

#: app/templates/quotes/create.html:144 app/templates/quotes/edit.html:243
#, fuzzy
msgid "Subtotal (all quote lines)"
msgstr "Cotizaciones totales"

#: app/templates/quotes/create.html:152 app/templates/quotes/edit.html:251
msgid "Financial Details"
msgstr "Detalles financieros"

#: app/templates/quotes/create.html:182 app/templates/quotes/edit.html:281
msgid "Select payment terms"
msgstr "Seleccionar condiciones de pago"

#: app/templates/quotes/create.html:183 app/templates/quotes/edit.html:282
msgid "Due on Receipt"
msgstr "Vencimiento al recibir"

#: app/templates/quotes/create.html:191 app/templates/quotes/edit.html:290
msgid "Or enter custom payment terms"
msgstr "O ingrese condiciones de pago personalizadas"

#: app/templates/quotes/create.html:193 app/templates/quotes/edit.html:292
msgid "Use custom terms"
msgstr "Utilice términos personalizados"

#: app/templates/quotes/create.html:201 app/templates/quotes/edit.html:300
#: app/templates/quotes/pdf_default.html:123 app/templates/quotes/view.html:135
msgid "Discount"
msgstr "Descuento"

#: app/templates/quotes/create.html:205 app/templates/quotes/edit.html:304
msgid "Discount Type"
msgstr "Tipo de descuento"

#: app/templates/quotes/create.html:207 app/templates/quotes/edit.html:306
msgid "No Discount"
msgstr "Sin descuento"

#: app/templates/quotes/create.html:208 app/templates/quotes/edit.html:307
msgid "Percentage (%)"
msgstr "Porcentaje (%)"

#: app/templates/quotes/create.html:209 app/templates/quotes/edit.html:308
msgid "Fixed Amount"
msgstr "Monto Fijo"

#: app/templates/quotes/create.html:213 app/templates/quotes/edit.html:312
msgid "Discount Amount"
msgstr "Cantidad de descuento"

#: app/templates/quotes/create.html:214 app/templates/quotes/edit.html:313
msgid "0.00"
msgstr "0.00"

#: app/templates/quotes/create.html:219 app/templates/quotes/edit.html:318
msgid "Coupon Code"
msgstr "Código de cupón"

#: app/templates/quotes/create.html:220 app/templates/quotes/edit.html:319
msgid "Optional coupon code"
msgstr "Código de cupón opcional"

#: app/templates/quotes/create.html:223 app/templates/quotes/edit.html:322
msgid "Discount Reason"
msgstr "Motivo del descuento"

#: app/templates/quotes/create.html:224 app/templates/quotes/edit.html:323
msgid "Reason for discount"
msgstr "Motivo del descuento"

#: app/templates/quotes/create.html:232
msgid "Approval Workflow"
msgstr "Flujo de trabajo de aprobación"

#: app/templates/quotes/create.html:237
msgid "Requires approval before sending"
msgstr "Requiere aprobación antes de enviar"

#: app/templates/quotes/create.html:245 app/templates/quotes/edit.html:331
msgid "Additional Information"
msgstr "información adicional"

#: app/templates/quotes/create.html:249 app/templates/quotes/edit.html:335
msgid "Internal notes (not visible to client)"
msgstr "Notas internas (no visibles para el cliente)"

#: app/templates/quotes/create.html:250 app/templates/quotes/edit.html:336
msgid "These notes are only visible to your team"
msgstr "Estas notas solo son visibles para tu equipo."

#: app/templates/quotes/create.html:253 app/templates/quotes/edit.html:339
#: app/templates/quotes/view.html:171
msgid "Terms and Conditions"
msgstr "Términos y condiciones"

#: app/templates/quotes/create.html:254 app/templates/quotes/edit.html:340
msgid "Terms and conditions"
msgstr "Términos y condiciones"

#: app/templates/quotes/create.html:255 app/templates/quotes/edit.html:341
msgid "These terms will be visible to the client"
msgstr "Estos términos serán visibles para el cliente."

#: app/templates/quotes/edit.html:4 app/templates/quotes/view.html:19
msgid "Edit Quote"
msgstr "Editar cotización"

#: app/templates/quotes/edit.html:41
msgid "Client cannot be changed"
msgstr "El cliente no se puede cambiar"

#: app/templates/quotes/edit.html:351
msgid "Update Quote"
msgstr "Actualizar cotización"

#: app/templates/quotes/list.html:21
msgid "Total Quotes"
msgstr "Cotizaciones totales"

#: app/templates/quotes/list.html:29
msgid "Acceptance Rate"
msgstr "Tasa de aceptación"

#: app/templates/quotes/list.html:33
msgid "Avg Quote Value"
msgstr "Valor promedio de cotización"

#: app/templates/quotes/list.html:40
msgid "Quotes by Status"
msgstr "Cotizaciones por estado"

#: app/templates/quotes/list.html:51
msgid "Top Clients by Quotes"
msgstr "Principales clientes por cotizaciones"

#: app/templates/quotes/list.html:66
msgid "Filter Quotes"
msgstr "Filtrar cotizaciones"

#: app/templates/quotes/list.html:75
msgid "Search quotes..."
msgstr "Buscar cotizaciones..."

#: app/templates/quotes/list.html:366
msgid "Are you sure you want to duplicate"
msgstr "¿Estás seguro de que quieres duplicar?"

#: app/templates/quotes/list.html:366 app/templates/quotes/list.html:368
msgid "quote(s)?"
msgstr "citas)?"

#: app/templates/quotes/list.html:367
msgid "Are you sure you want to mark"
msgstr "¿Estás seguro de que quieres marcar?"

#: app/templates/quotes/list.html:367
msgid "quote(s) as sent?"
msgstr "¿Cita(s) tal como se envió?"

#: app/templates/quotes/pdf_default.html:54
#: app/utils/pdf_generator_fallback.py:531
msgid "QUOTE"
msgstr "CITA"

#: app/templates/quotes/pdf_default.html:56
msgid "Quote #"
msgstr "Cita #"

#: app/templates/quotes/pdf_default.html:68
msgid "Quote For"
msgstr "Cotización para"

#: app/templates/quotes/pdf_default.html:134
msgid "Subtotal After Discount:"
msgstr "Subtotal después del descuento:"

#: app/templates/quotes/pdf_default.html:156
#: app/utils/pdf_generator_fallback.py:647
msgid "Description:"
msgstr "Descripción:"

#: app/templates/quotes/view.html:149
msgid "Subtotal After Discount"
msgstr "Subtotal después del descuento"

#: app/templates/quotes/view.html:198
msgid "Approval not yet requested"
msgstr "Aprobación aún no solicitada"

#: app/templates/quotes/view.html:206
msgid "Pending approval"
msgstr "Pendiente de aprobación"

#: app/templates/quotes/view.html:222
msgid "Rejected by"
msgstr "Rechazado por"

#: app/templates/quotes/view.html:233
msgid "Request Approval Again"
msgstr "Solicitar aprobación nuevamente"

#: app/templates/quotes/view.html:243
msgid "Send Quote"
msgstr "Enviar Cotización"

#: app/templates/quotes/view.html:252
msgid "Are you sure you want to reject this quote?"
msgstr "¿Está seguro de que desea rechazar esta cotización?"

#: app/templates/quotes/view.html:261 app/templates/quotes/view.html:578
msgid "Delete Quote"
msgstr "Eliminar cotización"

#: app/templates/quotes/view.html:296
msgid "Internal comment (not visible to client)"
msgstr "Comentario interno (no visible para el cliente)"

#: app/templates/quotes/view.html:320 app/templates/quotes/view.html:347
#: app/templates/quotes/view.html:380
msgid "Internal"
msgstr "Interno"

#: app/templates/quotes/view.html:329 app/templates/quotes/view.html:354
msgid "Are you sure you want to delete this comment?"
msgstr "¿Estás seguro de que quieres eliminar este comentario?"

#: app/templates/quotes/view.html:376
msgid "Write a reply..."
msgstr "Escribe una respuesta..."

#: app/templates/quotes/view.html:395
msgid "No comments yet. Start the conversation by adding the first comment."
msgstr "Aún no hay comentarios. Inicie la conversación agregando el primer comentario."

#: app/templates/quotes/view.html:424
msgid "Sent At"
msgstr "Enviado a"

#: app/templates/quotes/view.html:430
msgid "Accepted At"
msgstr "Aceptado en"

#: app/templates/quotes/view.html:445
msgid "Send Quote via Email"
msgstr "Enviar cotización por correo electrónico"

#: app/templates/quotes/view.html:453
msgid "Recipient Email"
msgstr "Correo electrónico del destinatario"

#: app/templates/quotes/view.html:461
#, python-format
msgid "Quote %(quote_number)s"
msgstr "Cotización %(quote_number)s"

#: app/templates/quotes/view.html:465
msgid "Custom Message (Optional)"
msgstr "Mensaje personalizado (opcional)"

#: app/templates/quotes/view.html:468
msgid "Add a custom message to the email..."
msgstr "Añade un mensaje personalizado al correo electrónico..."

#: app/templates/quotes/view.html:472
msgid "Attach PDF"
msgstr "Adjuntar PDF"

#: app/templates/quotes/view.html:542
msgid "Approve Quote"
msgstr "Aprobar cotización"

#: app/templates/quotes/view.html:546
msgid "Notes (Optional)"
msgstr "Notas (opcional)"

#: app/templates/quotes/view.html:547
msgid "Add approval notes..."
msgstr "Agregar notas de aprobación..."

#: app/templates/quotes/view.html:560
msgid "Reject Quote Approval"
msgstr "Rechazar aprobación de cotización"

#: app/templates/quotes/view.html:565
msgid "Please provide a reason for rejection..."
msgstr "Indique el motivo del rechazo..."

#: app/templates/quotes/view.html:579
msgid "Are you sure you want to delete this quote? This action cannot be undone."
msgstr "¿Está seguro de que desea eliminar esta cita? Esta acción no se puede deshacer."

#: app/templates/recurring_invoices/create.html:120
#: app/templates/recurring_invoices/list.html:15
msgid "Create Recurring Invoice"
msgstr "Crear factura recurrente"

#: app/templates/recurring_invoices/edit.html:111
msgid "Update Recurring Invoice"
msgstr "Actualizar factura recurrente"

#: app/templates/recurring_invoices/list.html:12
msgid "Automate invoice generation for subscription-based billing"
msgstr "Automatice la generación de facturas para facturación basada en suscripción"

#: app/templates/recurring_invoices/list.html:26
#: app/templates/recurring_invoices/list.html:44
#: app/templates/recurring_tasks/form.html:58
#: app/templates/recurring_tasks/list.html:32
#: app/templates/recurring_tasks/list.html:56
#: app/templates/reports/index.html:483
#: app/templates/reports/schedule_form.html:44
#: app/templates/reports/scheduled.html:28
#: app/templates/reports/scheduled.html:58
msgid "Frequency"
msgstr "Frecuencia"

#: app/templates/recurring_invoices/list.html:27
#: app/templates/recurring_invoices/list.html:49
#: app/templates/recurring_tasks/list.html:33
#: app/templates/recurring_tasks/list.html:64
#: app/templates/reports/scheduled.html:29
#: app/templates/reports/scheduled.html:61
msgid "Next Run"
msgstr "Siguiente ejecución"

#: app/templates/recurring_invoices/view.html:17
msgid "Generate Now"
msgstr "Generar ahora"

#: app/templates/recurring_invoices/view.html:22
#: app/templates/time_entry_templates/view.html:24
msgid "Template Details"
msgstr "Detalles de la plantilla"

#: app/templates/recurring_invoices/view.html:53
msgid "Invoice Settings"
msgstr "Configuración de factura"

#: app/templates/recurring_invoices/view.html:92
msgid "Recently Generated Invoices"
msgstr "Facturas generadas recientemente"

#: app/templates/recurring_tasks/form.html:4
msgid "Recurring Task"
msgstr ""

#: app/templates/recurring_tasks/form.html:8
#: app/templates/recurring_tasks/list.html:4
#: app/templates/recurring_tasks/list.html:8
#: app/templates/recurring_tasks/list.html:13
msgid "Recurring Tasks"
msgstr ""

#: app/templates/recurring_tasks/form.html:9
#: app/templates/recurring_tasks/form.html:14
#: app/templates/recurring_tasks/list.html:20
msgid "Create Recurring Task"
msgstr ""

#: app/templates/recurring_tasks/form.html:9
#: app/templates/recurring_tasks/form.html:14
msgid "Edit Recurring Task"
msgstr ""

#: app/templates/recurring_tasks/form.html:15
msgid "Set up automated task creation"
msgstr ""

#: app/templates/recurring_tasks/form.html:29
msgid "Task Name Template"
msgstr ""

#: app/templates/recurring_tasks/form.html:30
msgid "e.g., Weekly Team Meeting"
msgstr ""

#: app/templates/recurring_tasks/form.html:31
msgid "This will be used as the base name for created tasks"
msgstr ""

#: app/templates/recurring_tasks/form.html:55
msgid "Schedule"
msgstr ""

#: app/templates/recurring_tasks/form.html:62
#: app/templates/reports/index.html:487
#: app/templates/reports/schedule_form.html:49
msgid "Monthly"
msgstr ""

#: app/templates/recurring_tasks/form.html:63
msgid "Yearly"
msgstr ""

#: app/templates/recurring_tasks/form.html:68
msgid "Interval"
msgstr ""

#: app/templates/recurring_tasks/form.html:70
msgid "Repeat every N periods (e.g., every 2 weeks)"
msgstr ""

#: app/templates/recurring_tasks/form.html:74
msgid "Next Run Date"
msgstr ""

#: app/templates/recurring_tasks/form.html:81
msgid "Optional: Stop creating tasks after this date"
msgstr ""

#: app/templates/recurring_tasks/form.html:88
msgid "Task Settings"
msgstr ""

#: app/templates/recurring_tasks/form.html:106
#: app/templates/tasks/create.html:106 app/templates/tasks/edit.html:114
msgid "Assign To"
msgstr "Asignar a"

#: app/templates/recurring_tasks/form.html:120
msgid "Auto-assign to creator"
msgstr ""

#: app/templates/recurring_tasks/list.html:14
msgid "Automated task creation templates"
msgstr ""

#: app/templates/recurring_tasks/list.html:68
#: app/templates/reports/scheduled.html:65
msgid "Not scheduled"
msgstr ""

#: app/templates/recurring_tasks/list.html:84
msgid "Are you sure you want to delete this recurring task?"
msgstr ""

#: app/templates/recurring_tasks/list.html:101
msgid "No recurring tasks"
msgstr ""

#: app/templates/recurring_tasks/list.html:102
msgid "Create recurring task templates to automatically generate tasks on a schedule."
msgstr ""

#: app/templates/reports/builder.html:4
#: app/templates/reports/custom_view.html:49
#: app/templates/reports/custom_view.html:97
msgid "Edit Report"
msgstr ""

#: app/templates/reports/builder.html:4
msgid "Custom Report Builder"
msgstr ""

#: app/templates/reports/builder.html:26
msgid "Unpaid time entries"
msgstr ""

#: app/templates/reports/builder.html:28
msgid "Time entries, unpaid only, last 30 days"
msgstr ""

#: app/templates/reports/builder.html:29
msgid "Data Sources"
msgstr ""

#: app/templates/reports/builder.html:38
msgid "Components"
msgstr ""

#: app/templates/reports/builder.html:40
#, fuzzy
msgid "Add table to report"
msgstr "Informes disponibles"

#: app/templates/reports/builder.html:41 app/templates/reports/builder.html:407
msgid "Table"
msgstr ""

#: app/templates/reports/builder.html:43
#, fuzzy
msgid "Add chart to report"
msgstr "Informes estándar"

#: app/templates/reports/builder.html:44 app/templates/reports/builder.html:408
#: app/templates/reports/custom_view.html:77
msgid "Chart"
msgstr ""

#: app/templates/reports/builder.html:46
msgid "Add doughnut chart to report"
msgstr ""

#: app/templates/reports/builder.html:47 app/templates/reports/builder.html:409
msgid "Doughnut Chart"
msgstr ""

#: app/templates/reports/builder.html:49
msgid "Add bar chart to report"
msgstr ""

#: app/templates/reports/builder.html:50 app/templates/reports/builder.html:410
msgid "Bar Chart"
msgstr ""

#: app/templates/reports/builder.html:52
#, fuzzy
msgid "Add summary to report"
msgstr "Informe resumido"

#: app/templates/reports/builder.html:63
msgid "Report Canvas"
msgstr ""

#: app/templates/reports/builder.html:74
#, fuzzy
msgid "Report canvas"
msgstr "Borrar lienzo"

#: app/templates/reports/builder.html:76 app/templates/reports/builder.html:249
#: app/templates/reports/builder.html:400
#: app/templates/reports/builder.html:459
msgid "Drag data sources and components here to build your report"
msgstr ""

#: app/templates/reports/builder.html:103
msgid "Advanced Filters"
msgstr ""

#: app/templates/reports/builder.html:111
msgid "Unpaid Hours Only"
msgstr ""

#: app/templates/reports/builder.html:115
msgid "Unpaid = billable, not yet on any invoice."
msgstr ""

#: app/templates/reports/builder.html:124
msgid "Custom Field"
msgstr ""

#: app/templates/reports/builder.html:127
msgid "No Filter"
msgstr ""

#: app/templates/reports/builder.html:135
msgid "Field Value"
msgstr ""

#: app/templates/reports/builder.html:138
msgid "e.g., MM, PB"
msgstr ""

#: app/templates/reports/builder.html:140
msgid "Enter the value to filter by (e.g., salesman initial)"
msgstr ""

#: app/templates/reports/builder.html:154
msgid "Report Preview"
msgstr ""

#: app/templates/reports/builder.html:162
msgid "Loading preview..."
msgstr ""

#: app/templates/reports/builder.html:178
msgid "Save Report"
msgstr ""

#: app/templates/reports/builder.html:181
msgid "Report Name"
msgstr ""

#: app/templates/reports/builder.html:182
msgid "My Custom Report"
msgstr ""

#: app/templates/reports/builder.html:187
msgid "Private"
msgstr ""

#: app/templates/reports/builder.html:188
msgid "Team"
msgstr ""

#: app/templates/reports/builder.html:199
#: app/templates/reports/saved_views_list.html:47
msgid "Iterative Report Generation"
msgstr ""

#: app/templates/reports/builder.html:203
msgid "Generate one report per custom field value (e.g., one report per salesman)"
msgstr ""

#: app/templates/reports/builder.html:206
#: app/templates/reports/schedule_form.html:78
msgid "Custom Field Name"
msgstr ""

#: app/templates/reports/builder.html:208
msgid "Select Field"
msgstr ""

#: app/templates/reports/builder.html:214
msgid "Select the custom field to iterate over (e.g., \"salesman\")"
msgstr ""

#: app/templates/reports/builder.html:467
#: app/templates/reports/builder.html:689
msgid "Please select a data source first"
msgstr ""

#: app/templates/reports/builder.html:559
msgid "Failed to generate preview"
msgstr ""

#: app/templates/reports/builder.html:567
msgid "Unknown error occurred"
msgstr ""

#: app/templates/reports/builder.html:568
msgid "Error loading preview"
msgstr ""

#: app/templates/reports/builder.html:619
msgid "No data found for the selected filters"
msgstr ""

#: app/templates/reports/builder.html:681
msgid "Please enter a report name"
msgstr ""

#: app/templates/reports/builder.html:768
msgid "Report created successfully!"
msgstr ""

#: app/templates/reports/builder.html:769
msgid "Report updated successfully!"
msgstr ""

#: app/templates/reports/builder.html:790
msgid "Failed to save report"
msgstr ""

#: app/templates/reports/builder.html:804
msgid "Error saving report"
msgstr ""

#: app/templates/reports/custom_view.html:4
msgid "Custom Report"
msgstr ""

#: app/templates/reports/custom_view.html:26
msgid "Data Table"
msgstr ""

#: app/templates/reports/custom_view.html:52
msgid "No data found"
msgstr ""

#: app/templates/reports/custom_view.html:53
msgid "This report has no data matching the current filters. Try adjusting your date range or filters."
msgstr ""

#: app/templates/reports/custom_view.html:72
msgid "No summary data available."
msgstr ""

#: app/templates/reports/custom_view.html:81
msgid "No data available for chart."
msgstr ""

#: app/templates/reports/custom_view.html:92
msgid "No components configured"
msgstr ""

#: app/templates/reports/custom_view.html:94
msgid "This report has no components configured. Please edit the report to add components."
msgstr ""

#: app/templates/reports/export_form.html:9
#, fuzzy
msgid "Export Time Entries"
msgstr "Entradas de tiempo recientes"

#: app/templates/reports/export_form.html:24
msgid "Use the filters below to customize your export. Choose CSV or Excel format. All filters are optional - leave blank to include all entries within the date range."
msgstr ""

#: app/templates/reports/export_form.html:36
#: app/templates/reports/export_form.html:38
#, fuzzy
msgid "Export format"
msgstr "Formato de exportación"

#: app/templates/reports/export_form.html:175
msgid "e.g., development, meeting, urgent"
msgstr "por ejemplo, desarrollo, reunión, urgente"

#: app/templates/reports/export_form.html:191
#, fuzzy
msgid "Reset Filters"
msgstr "Filtros guardados"

#: app/templates/reports/export_form.html:209
msgid "CSV / Excel"
msgstr ""

#: app/templates/reports/export_form.html:217
msgid "The file will be downloaded with a filename indicating the date range and applied filters."
msgstr ""

#: app/templates/reports/export_form.html:341
#, fuzzy
msgid "Please select both start and end dates."
msgstr "Intervalo de fechas: fechas de inicio y finalización personalizadas"

#: app/templates/reports/export_form.html:347
#, fuzzy
msgid "Start date must be before or equal to end date."
msgstr "La fecha de inicio debe ser anterior a la fecha de finalización."

#: app/templates/reports/index.html:13
msgid "View comprehensive reports and analytics for your time tracking data"
msgstr ""

#: app/templates/reports/index.html:20
msgid "Support development or get a supporter license — the app stays free for everyone."
msgstr ""

#: app/templates/reports/index.html:46
#, fuzzy
msgid "Payments Received"
msgstr "Campos de pago"

#: app/templates/reports/index.html:62
#, fuzzy
msgid "Net Received"
msgstr "Recibió"

#: app/templates/reports/index.html:63
#, fuzzy
msgid "After fees"
msgstr "Tarifas de entrada"

#: app/templates/reports/index.html:69
msgid "Date Range & Comparison"
msgstr "Rango de fechas y comparación"

#: app/templates/reports/index.html:73
msgid "Quick Date Ranges"
msgstr "Rangos de fechas rápidas"

#: app/templates/reports/index.html:79
#, fuzzy
msgid "This Week"
msgstr "Semana"

#: app/templates/reports/index.html:82
#, fuzzy
msgid "This Month"
msgstr "Mes"

#: app/templates/reports/index.html:85
#, fuzzy
msgid "This Year"
msgstr "El año pasado"

#: app/templates/reports/index.html:89
#, fuzzy
msgid "Custom Range"
msgstr "Rangos de fechas personalizados"

#: app/templates/reports/index.html:102
msgid "Comparison View"
msgstr "Vista comparativa"

#: app/templates/reports/index.html:107
#: app/templates/reports/week_in_review.html:7
#: app/templates/reports/week_in_review.html:12
#, fuzzy
msgid "Week in Review"
msgstr "Vista previa en vivo"

#: app/templates/reports/index.html:108
msgid "This week's hours, top projects, billable vs non-billable"
msgstr ""

#: app/templates/reports/index.html:116
msgid "This Month vs Last Month"
msgstr ""

#: app/templates/reports/index.html:117
msgid "Compare current month with previous month"
msgstr ""

#: app/templates/reports/index.html:125
msgid "This Year vs Last Year"
msgstr ""

#: app/templates/reports/index.html:126
msgid "Compare current year with previous year"
msgstr ""

#: app/templates/reports/index.html:137
msgid "Comparison Results"
msgstr "Resultados de la comparación"

#: app/templates/reports/index.html:146
msgid "Export Reports"
msgstr "Exportar informes"

#: app/templates/reports/index.html:149
msgid "Export Format"
msgstr "Formato de exportación"

#: app/templates/reports/index.html:155
#, fuzzy
msgid "Export Report"
msgstr "Exportar informes"

#: app/templates/reports/index.html:162
#, fuzzy
msgid "Manage Scheduled Reports"
msgstr "Informes programados"

#: app/templates/reports/index.html:169
#, fuzzy
msgid "CSV Export"
msgstr "Importación CSV"

#: app/templates/reports/index.html:172
#, fuzzy
msgid "Excel Export"
msgstr "Exportar"

#: app/templates/reports/index.html:180
msgid "Report Types"
msgstr "Tipos de informes"

#: app/templates/reports/index.html:183
#: app/templates/reports/project_report.html:5
msgid "Project Report"
msgstr "Informe del proyecto"

#: app/templates/reports/index.html:186
#: app/templates/reports/user_report.html:5
msgid "User Report"
msgstr "Informe de usuario"

#: app/templates/reports/index.html:189 app/templates/reports/summary.html:6
msgid "Summary Report"
msgstr "Informe resumido"

#: app/templates/reports/index.html:192
#: app/templates/reports/task_report.html:5
msgid "Task Report"
msgstr "Informe de tarea"

#: app/templates/reports/index.html:195
#: app/templates/reports/time_entries_report.html:5
#, fuzzy
msgid "Time Entries Report"
msgstr "Entradas de tiempo"

#: app/templates/reports/index.html:198
#: app/templates/reports/unpaid_hours_report.html:6
msgid "Unpaid Hours Report"
msgstr ""

#: app/templates/reports/index.html:207
msgid "Report Management"
msgstr ""

#: app/templates/reports/index.html:210
#: app/templates/reports/saved_views_list.html:4
msgid "Saved Report Views"
msgstr ""

#: app/templates/reports/index.html:211
msgid "View and manage your saved report configurations"
msgstr ""

#: app/templates/reports/index.html:215
msgid "Manage automated report delivery via email"
msgstr ""

#: app/templates/reports/index.html:244
#, fuzzy
msgid "No recent entries."
msgstr "Entradas recientes"

#: app/templates/reports/index.html:269 app/templates/reports/index.html:435
#, fuzzy
msgid "No scheduled reports yet."
msgstr "Informes programados"

#: app/templates/reports/index.html:273
#, fuzzy
msgid "Add Scheduled Report"
msgstr "Informes programados"

#: app/templates/reports/index.html:366
#, fuzzy
msgid "Please set a date range"
msgstr "Rangos de fechas personalizados"

#: app/templates/reports/index.html:451
msgid "You need to create a saved report view first. Please create one from the reports page."
msgstr ""

#: app/templates/reports/index.html:463
#: app/templates/reports/schedule_form.html:3
#: app/templates/reports/schedule_form.html:8
#: app/templates/reports/scheduled.html:116
msgid "Schedule Report"
msgstr ""

#: app/templates/reports/index.html:470
#: app/templates/reports/schedule_form.html:20
msgid "Report View"
msgstr ""

#: app/templates/reports/index.html:472
msgid "Select a report view..."
msgstr ""

#: app/templates/reports/index.html:477 app/templates/reports/scheduled.html:27
#: app/templates/reports/scheduled.html:50
msgid "Recipients"
msgstr ""

#: app/templates/reports/index.html:480
msgid "Comma-separated email addresses"
msgstr ""

#: app/templates/reports/index.html:495
#: app/templates/reports/schedule_form.html:101
msgid "Create Schedule"
msgstr ""

#: app/templates/reports/index.html:506
msgid "Failed to load report views"
msgstr ""

#: app/templates/reports/index.html:543
msgid "Scheduled report created successfully"
msgstr ""

#: app/templates/reports/index.html:546 app/templates/reports/index.html:553
msgid "Failed to create scheduled report"
msgstr ""

#: app/templates/reports/index.html:571 app/templates/reports/index.html:576
msgid "Failed to update schedule"
msgstr ""

#: app/templates/reports/index.html:581 app/templates/reports/scheduled.html:98
msgid "Are you sure you want to delete this scheduled report?"
msgstr ""

#: app/templates/reports/index.html:596
msgid "Scheduled report deleted successfully"
msgstr ""

#: app/templates/reports/index.html:599 app/templates/reports/index.html:604
msgid "Failed to delete scheduled report"
msgstr ""

#: app/templates/reports/iterative_view.html:4
msgid "Iterative Report"
msgstr ""

#: app/templates/reports/iterative_view.html:17
#, python-format
msgid "Iterative Report - One report per %(field_name)s value"
msgstr ""

#: app/templates/reports/iterative_view.html:74
msgid "Summary by Client"
msgstr ""

#: app/templates/reports/iterative_view.html:90
#, python-format
msgid "No data found for this %(field_name)s value"
msgstr ""

#: app/templates/reports/iterative_view.html:99
#, python-format
msgid "No unique values found for custom field \"%(field_name)s\""
msgstr ""

#: app/templates/reports/project_report.html:85
#: app/templates/reports/user_report.html:157
#, fuzzy
msgid "No data for the selected period."
msgstr "No se encontraron datos de ventas para el período seleccionado."

#: app/templates/reports/project_report.html:86
msgid "Try a different date range or ensure time has been logged on projects."
msgstr ""

#: app/templates/reports/saved_views_list.html:29
#: app/templates/reports/saved_views_list.html:44
msgid "Features"
msgstr ""

#: app/templates/reports/saved_views_list.html:48
msgid "Iterative"
msgstr ""

#: app/templates/reports/saved_views_list.html:67
msgid "Are you sure you want to delete this report view?"
msgstr ""

#: app/templates/reports/saved_views_list.html:83
msgid "No Saved Report Views"
msgstr ""

#: app/templates/reports/saved_views_list.html:84
msgid "Create and save report configurations to use them in scheduled reports."
msgstr ""

#: app/templates/reports/saved_views_list.html:85
msgid "Create Report"
msgstr ""

#: app/templates/reports/schedule_form.html:9
msgid "Set up automated email delivery for reports"
msgstr ""

#: app/templates/reports/schedule_form.html:11
msgid "Back to Scheduled Reports"
msgstr ""

#: app/templates/reports/schedule_form.html:22
msgid "Select a saved report view..."
msgstr ""

#: app/templates/reports/schedule_form.html:27
msgid "Select a saved report view to schedule"
msgstr ""

#: app/templates/reports/schedule_form.html:32
msgid "Email Recipients"
msgstr ""

#: app/templates/reports/schedule_form.html:34
msgid "email1@example.com, email2@example.com"
msgstr ""

#: app/templates/reports/schedule_form.html:36
msgid "Enter one or more email addresses separated by commas. These recipients will receive the scheduled report via email."
msgstr ""

#: app/templates/reports/schedule_form.html:39
msgid "When using Mapping or Template, these are used as fallback if no address is found for a value."
msgstr ""

#: app/templates/reports/schedule_form.html:46
msgid "Select frequency..."
msgstr ""

#: app/templates/reports/schedule_form.html:50
msgid "Custom (Cron)"
msgstr ""

#: app/templates/reports/schedule_form.html:57
msgid "Use previous calendar month as date range"
msgstr ""

#: app/templates/reports/schedule_form.html:59
msgid "For monthly runs: report will use the first and last day of the previous month."
msgstr ""

#: app/templates/reports/schedule_form.html:63
msgid "Cron Expression"
msgstr ""

#: app/templates/reports/schedule_form.html:65
msgid "Cron format: minute hour day month weekday"
msgstr ""

#: app/templates/reports/schedule_form.html:70
msgid "Report Iteration (Optional)"
msgstr ""

#: app/templates/reports/schedule_form.html:74
msgid "Split report by custom field value"
msgstr ""

#: app/templates/reports/schedule_form.html:80
msgid "The custom field name to iterate over (e.g., \"salesman\"). A separate report will be generated for each unique value."
msgstr ""

#: app/templates/reports/schedule_form.html:83
msgid "Email distribution"
msgstr ""

#: app/templates/reports/schedule_form.html:85
msgid "All reports to recipients below"
msgstr ""

#: app/templates/reports/schedule_form.html:86
msgid "Per value: SalesmanEmailMapping table"
msgstr ""

#: app/templates/reports/schedule_form.html:87
msgid "Per value: email from template"
msgstr ""

#: app/templates/reports/schedule_form.html:91
msgid "Recipient email template"
msgstr ""

#: app/templates/reports/schedule_form.html:93
#, python-brace-format
msgid "Use {value} for the value (e.g. KF); {value}@test.de yields KF@test.de. Use {value_lower} for lowercase, e.g. {value_lower}@test.de yields kf@test.de."
msgstr ""

#: app/templates/reports/scheduled.html:26
#: app/templates/reports/scheduled.html:37
msgid "Report"
msgstr ""

#: app/templates/reports/scheduled.html:41
msgid "Split by"
msgstr ""

#: app/templates/reports/scheduled.html:46
msgid "Distribution"
msgstr ""

#: app/templates/reports/scheduled.html:54
msgid "Template"
msgstr ""

#: app/templates/reports/scheduled.html:70
msgid "Invalid: saved view not found"
msgstr ""

#: app/templates/reports/scheduled.html:86
msgid "Trigger report now (for testing)"
msgstr ""

#: app/templates/reports/scheduled.html:93
msgid "Fix or remove invalid schedule"
msgstr ""

#: app/templates/reports/scheduled.html:114
msgid "No Scheduled Reports"
msgstr ""

#: app/templates/reports/scheduled.html:115
msgid "Create scheduled reports to automatically receive reports via email."
msgstr ""

#: app/templates/reports/scheduled.html:152
msgid "Report triggered successfully!"
msgstr ""

#: app/templates/reports/scheduled.html:153
msgid "Report sent to recipients."
msgstr ""

#: app/templates/reports/scheduled.html:156
msgid "Error triggering report:"
msgstr ""

#: app/templates/reports/scheduled.html:161
msgid "Error triggering report. Please check the console for details."
msgstr ""

#: app/templates/reports/summary.html:27
#, fuzzy
msgid "Time by project (last 30 days)"
msgstr "Proyectos principales (30 días)"

#: app/templates/reports/summary.html:30
#, fuzzy
msgid "Time distribution by project"
msgstr "Gráficos circulares de distribución del tiempo"

#: app/templates/reports/summary.html:65 app/templates/reports/summary.html:130
#, fuzzy
msgid "No project data for the last 30 days."
msgstr "Ninguna actividad en los últimos 30 días."

#: app/templates/reports/summary.html:70
msgid "Daily trend (last 14 days)"
msgstr ""

#: app/templates/reports/summary.html:73
#, fuzzy
msgid "Daily hours trend"
msgstr "Tendencia de horas diarias"

#: app/templates/reports/summary.html:108
#, fuzzy
msgid "No trend data."
msgstr "Datos de cotización"

#: app/templates/reports/summary.html:114
#, fuzzy
msgid "Top Projects (Last 30 Days)"
msgstr "Proyectos principales (30 días)"

#: app/templates/reports/task_report.html:102
#, fuzzy
msgid "No tasks with logged time for the selected period."
msgstr "No se encontraron datos de ventas para el período seleccionado."

#: app/templates/reports/task_report.html:103
msgid "Try a different date range or log time on tasks."
msgstr ""

#: app/templates/reports/time_entries_report.html:49
#, fuzzy
msgid "All Clients"
msgstr "Clientela"

#: app/templates/reports/time_entries_report.html:60
#: app/templates/timer/calendar.html:69 app/templates/timer/calendar.html:569
#, fuzzy
msgid "All Tasks"
msgstr "Ver todas las tareas"

#: app/templates/reports/time_entries_report.html:136
#, fuzzy
msgid "No time entries found for the selected filters."
msgstr "No se encontraron datos de ventas para el período seleccionado."

#: app/templates/reports/unpaid_hours_report.html:45
msgid "Total Unpaid Hours"
msgstr ""

#: app/templates/reports/unpaid_hours_report.html:49
#: app/templates/reports/unpaid_hours_report.html:75
#: app/templates/reports/unpaid_hours_report.html:94
msgid "Estimated Amount"
msgstr ""

#: app/templates/reports/unpaid_hours_report.html:53
msgid "Clients with Unpaid Hours"
msgstr ""

#: app/templates/reports/unpaid_hours_report.html:61
msgid "Unpaid Hours by Client"
msgstr ""

#: app/templates/reports/unpaid_hours_report.html:151
msgid "No unpaid hours found for the selected period."
msgstr ""

#: app/templates/reports/user_report.html:69
#: app/templates/reports/user_report.html:94
msgid "Export entries (Excel)"
msgstr ""

#: app/templates/reports/user_report.html:70
msgid "Select columns:"
msgstr ""

#: app/templates/reports/user_report.html:88
msgid "Duration (formatted)"
msgstr ""

#: app/templates/reports/user_report.html:158
#, fuzzy
msgid "Try a different date range or ensure time has been logged."
msgstr "Pruebe con una consulta diferente o revise su ortografía."

#: app/templates/reports/user_report.html:174
msgid "About Overtime Tracking"
msgstr "Acerca del seguimiento de horas extras"

#: app/templates/reports/week_in_review.html:13
msgid "This week's time summary and top projects"
msgstr ""

#: app/templates/reports/week_in_review.html:17
#, fuzzy
msgid "Back to Reports"
msgstr "Volver a roles"

#: app/templates/reports/week_in_review.html:38
#, fuzzy, python-format
msgid "%(count)s time entries logged this week."
msgstr "Entradas de tiempo esta semana"

#: app/templates/reports/week_in_review.html:43
#, fuzzy
msgid "Top projects this week"
msgstr "Proyectos principales"

#: app/templates/reports/week_in_review.html:54
#, fuzzy
msgid "No time logged this week yet."
msgstr "Aún no se han registrado entradas de tiempo para esta semana"

#: app/templates/saved_filters/list.html:46
msgid "Apply filter"
msgstr "Aplicar filtro"

#: app/templates/saved_filters/list.html:51
msgid "Are you sure you want to delete this filter?"
msgstr "¿Estás seguro de que deseas eliminar este filtro?"

#: app/templates/saved_filters/list.html:51
msgid "Delete Filter"
msgstr "Eliminar filtro"

#: app/templates/saved_filters/list.html:93
#, fuzzy
msgid "Go to Reports"
msgstr "Informe de stock bajo"

#: app/templates/saved_filters/list.html:96
#, fuzzy
msgid "No saved filters yet"
msgstr "Filtros guardados"

#: app/templates/saved_filters/list.html:97
msgid "Save filters from Reports or Tasks pages for quick access."
msgstr ""

#: app/templates/settings/keyboard_shortcuts.html:227
msgid "Customize Shortcuts"
msgstr "Personalizar atajos"

#: app/templates/settings/keyboard_shortcuts.html:235
msgid "Search shortcuts..."
msgstr "Buscar atajos..."

#: app/templates/settings/keyboard_shortcuts.html:246
#, fuzzy
msgid "Save changes"
msgstr "Guardar cambios"

#: app/templates/settings/keyboard_shortcuts.html:384
msgid "Press keys..."
msgstr ""

#: app/templates/settings/keyboard_shortcuts.html:444
msgid "Click then press a key combination"
msgstr ""

#: app/templates/settings/keyboard_shortcuts.html:444
#, fuzzy
msgid "Click to record"
msgstr "Arrastra para reordenar"

#: app/templates/settings/keyboard_shortcuts.html:445
#, fuzzy
msgid "Revert"
msgstr "Reiniciar"

#: app/templates/settings/keyboard_shortcuts.html:457
msgid "Conflict: the same key is assigned to multiple actions."
msgstr ""

#: app/templates/settings/keyboard_shortcuts.html:473
#, fuzzy
msgid "Failed to save"
msgstr "No se pudo detener el cronómetro"

#: app/templates/settings/keyboard_shortcuts.html:477
msgid "Shortcuts saved."
msgstr ""

#: app/templates/settings/keyboard_shortcuts.html:478
#, fuzzy
msgid "Failed to save shortcuts."
msgstr "No se pudo actualizar el estado"

#: app/templates/settings/keyboard_shortcuts.html:483
msgid "This will reset all keyboard shortcuts to their default values. Continue?"
msgstr "Esto restablecerá todos los atajos de teclado a sus valores predeterminados. ¿Continuar?"

#: app/templates/settings/keyboard_shortcuts.html:484
msgid "Reset to Defaults"
msgstr "Restablecer los valores predeterminados"

#: app/templates/settings/keyboard_shortcuts.html:484
#, fuzzy
msgid "Reset all shortcuts to defaults?"
msgstr "¿Restablecer los valores predeterminados?"

#: app/templates/settings/keyboard_shortcuts.html:489
#, fuzzy
msgid "Failed to reset"
msgstr "No se pudo eliminar el avatar."

#: app/templates/settings/keyboard_shortcuts.html:493
#, fuzzy
msgid "Shortcuts reset to defaults."
msgstr "Restablecer los valores predeterminados"

#: app/templates/settings/keyboard_shortcuts.html:494
#, fuzzy
msgid "Failed to reset shortcuts."
msgstr "No se pudo actualizar el estado"

#: app/templates/settings/keyboard_shortcuts.html:511
#, fuzzy
msgid "Failed to load shortcuts."
msgstr "No se pudieron cargar las tareas"

#: app/templates/setup/initial_setup.html:6
msgid "Welcome"
msgstr "Bienvenido"

#: app/templates/setup/initial_setup.html:35
msgid "Privacy First"
msgstr "Privacidad primero"

#: app/templates/setup/initial_setup.html:40
msgid "Self-hosted on your server"
msgstr "Autohospedado en su servidor"

#: app/templates/setup/initial_setup.html:46
msgid "Anonymous telemetry (opt-in)"
msgstr "Telemetría anónima (optar por participar)"

#: app/templates/setup/initial_setup.html:52
msgid "No PII collected ever"
msgstr "Nunca se recopiló PII"

#: app/templates/setup/initial_setup.html:58
msgid "Open source & transparent"
msgstr "Código abierto y transparente"

#: app/templates/setup/initial_setup.html:70
msgid "Step 1 of 6"
msgstr ""

#: app/templates/setup/initial_setup.html:85
msgid "Welcome to TimeTracker"
msgstr "Bienvenido a TimeTracker"

#: app/templates/setup/initial_setup.html:86
msgid "Let's get you set up in just a moment"
msgstr "Vamos a configurarlo en un momento."

#: app/templates/setup/initial_setup.html:88
msgid "Thank you for choosing TimeTracker!"
msgstr "¡Gracias por elegir TimeTracker!"

#: app/templates/setup/initial_setup.html:90
msgid "Your data stays on your server, and you have complete control."
msgstr "Tus datos permanecen en tu servidor y tú tienes control total."

#: app/templates/setup/initial_setup.html:97
#, fuzzy
msgid "Region & time"
msgstr "Hora de finalización"

#: app/templates/setup/initial_setup.html:98
msgid "Set your default timezone, date and time format, and currency."
msgstr ""

#: app/templates/setup/initial_setup.html:101
#: app/templates/user/settings.html:419
msgid "Timezone"
msgstr "Zona horaria"

#: app/templates/setup/initial_setup.html:110
#, fuzzy
msgid "Date format"
msgstr "Formato de fecha"

#: app/templates/setup/initial_setup.html:119
#, fuzzy
msgid "Time format"
msgstr "Formato de hora"

#: app/templates/setup/initial_setup.html:121
#, fuzzy
msgid "24-hour"
msgstr "horas"

#: app/templates/setup/initial_setup.html:122
#, fuzzy
msgid "12-hour"
msgstr "horas"

#: app/templates/setup/initial_setup.html:136
msgid "Company details for invoices and branding."
msgstr ""

#: app/templates/setup/initial_setup.html:139
#, fuzzy
msgid "Company name"
msgstr "nombre de empresa"

#: app/templates/setup/initial_setup.html:140
#, fuzzy
msgid "Your Company Name"
msgstr "El nombre de tu empresa"

#: app/templates/setup/initial_setup.html:144
#, fuzzy
msgid "Your Company Address"
msgstr "La dirección de tu empresa"

#: app/templates/setup/initial_setup.html:166
#, fuzzy
msgid "App behavior and timer settings."
msgstr "Configuración de horas extras"

#: app/templates/setup/initial_setup.html:171
#, fuzzy
msgid "Allow self-registration"
msgstr "Configuración de autorregistro"

#: app/templates/setup/initial_setup.html:172
msgid "Users can create accounts from the login page"
msgstr ""

#: app/templates/setup/initial_setup.html:176
#, fuzzy
msgid "Time rounding (minutes)"
msgstr "Reglas de redondeo de tiempo"

#: app/templates/setup/initial_setup.html:183
#, fuzzy
msgid "Round time entries to the nearest N minutes."
msgstr "Entradas de tiempo redondeadas a intervalos configurados"

#: app/templates/setup/initial_setup.html:188
#, fuzzy
msgid "Single active timer per user"
msgstr "Modo de temporizador activo único"

#: app/templates/setup/initial_setup.html:189
msgid "Only one running timer at a time per user"
msgstr ""

#: app/templates/setup/initial_setup.html:193
#, fuzzy
msgid "Idle timeout (minutes)"
msgstr "Configuración de tiempo de espera inactivo"

#: app/templates/setup/initial_setup.html:195
msgid "Pause timer after this many minutes of inactivity."
msgstr ""

#: app/templates/setup/initial_setup.html:203
msgid "Configure calendar OAuth now or later in Admin → Settings."
msgstr ""

#: app/templates/setup/initial_setup.html:207
msgid "Google Calendar OAuth"
msgstr ""

#: app/templates/setup/initial_setup.html:210
msgid "Client ID (optional)"
msgstr ""

#: app/templates/setup/initial_setup.html:211
msgid "Client Secret (optional)"
msgstr ""

#: app/templates/setup/initial_setup.html:214
msgid "Get these from"
msgstr ""

#: app/templates/setup/initial_setup.html:214
#: app/templates/setup/initial_setup.html:221
msgid "Google Cloud Console"
msgstr ""

#: app/templates/setup/initial_setup.html:218
msgid "How to get Google Calendar OAuth credentials?"
msgstr ""

#: app/templates/setup/initial_setup.html:221
msgid "Go to"
msgstr ""

#: app/templates/setup/initial_setup.html:222
msgid "Create a new project or select an existing one"
msgstr ""

#: app/templates/setup/initial_setup.html:223
msgid "Enable the Google Calendar API"
msgstr ""

#: app/templates/setup/initial_setup.html:224
msgid "Go to Credentials → Create Credentials → OAuth 2.0 Client ID"
msgstr ""

#: app/templates/setup/initial_setup.html:225
msgid "Set application type to \"Web application\""
msgstr ""

#: app/templates/setup/initial_setup.html:226
msgid "Add authorized redirect URI:"
msgstr ""

#: app/templates/setup/initial_setup.html:227
msgid "Copy the Client ID and Client Secret"
msgstr ""

#: app/templates/setup/initial_setup.html:232
msgid "You can skip this step and configure integrations later."
msgstr ""

#: app/templates/setup/initial_setup.html:237
#, fuzzy
msgid "Privacy & finish"
msgstr "Privacidad primero"

#: app/templates/setup/initial_setup.html:238
msgid "Choose whether to help improve TimeTracker with anonymous usage data."
msgstr ""

#: app/templates/setup/initial_setup.html:244
msgid "Enable anonymous telemetry"
msgstr "Habilitar telemetría anónima"

#: app/templates/setup/initial_setup.html:245
msgid "Help us understand usage patterns to improve TimeTracker"
msgstr "Ayúdenos a comprender los patrones de uso para mejorar TimeTracker"

#: app/templates/setup/initial_setup.html:250
msgid "What data is collected?"
msgstr "¿Qué datos se recogen?"

#: app/templates/setup/initial_setup.html:253
msgid "What we collect:"
msgstr "Qué recopilamos:"

#: app/templates/setup/initial_setup.html:255
msgid "Anonymous installation fingerprint (hashed)"
msgstr "Huella digital de instalación anónima (en hash)"

#: app/templates/setup/initial_setup.html:256
msgid "Application version & platform info"
msgstr "Versión de la aplicación e información de la plataforma"

#: app/templates/setup/initial_setup.html:257
msgid "Feature usage statistics"
msgstr "Estadísticas de uso de funciones"

#: app/templates/setup/initial_setup.html:261
msgid "What we DON'T collect:"
msgstr "Lo que NO recopilamos:"

#: app/templates/setup/initial_setup.html:263
msgid "No usernames or emails"
msgstr "Sin nombres de usuario ni correos electrónicos"

#: app/templates/setup/initial_setup.html:264
msgid "No time entry data or notes"
msgstr "Sin datos de entrada de tiempo ni notas"

#: app/templates/setup/initial_setup.html:265
msgid "No client or business data"
msgstr "Sin datos de clientes o empresas"

#: app/templates/setup/initial_setup.html:268
msgid "You can change this anytime in"
msgstr "Puedes cambiar esto en cualquier momento en"

#: app/templates/setup/initial_setup.html:273
msgid "By continuing, you agree to use TimeTracker under the"
msgstr "Al continuar, acepta utilizar TimeTracker bajo las condiciones"

#: app/templates/setup/initial_setup.html:273
msgid "GPL-3.0 License"
msgstr "Licencia GPL-3.0"

#: app/templates/setup/initial_setup.html:287
#: app/templates/setup/initial_setup.html:288
msgid "Complete Setup & Continue"
msgstr "Completar la configuración y continuar"

#: app/templates/tasks/_kanban.html:65 app/templates/tasks/_kanban.html:1360
#: app/templates/tasks/edit.html:4 app/templates/tasks/edit.html:16
#: app/templates/tasks/view.html:8
msgid "Edit Task"
msgstr "Editar tarea"

#: app/templates/tasks/_kanban.html:913
msgid "Failed to update status"
msgstr "No se pudo actualizar el estado"

#: app/templates/tasks/_kanban.html:924 app/templates/tasks/_kanban.html:1000
msgid "Failed to update task status"
msgstr "No se pudo actualizar el estado de la tarea"

#: app/templates/tasks/_kanban.html:937
msgid "Kanban column created"
msgstr "Columna Kanban creada"

#: app/templates/tasks/_kanban.html:938
msgid "Kanban column deleted"
msgstr "Columna Kanban eliminada"

#: app/templates/tasks/_kanban.html:939
msgid "Kanban columns reordered"
msgstr "Columnas Kanban reordenadas"

#: app/templates/tasks/_kanban.html:940
msgid "Kanban column visibility changed"
msgstr "La visibilidad de la columna Kanban cambió"

#: app/templates/tasks/_kanban.html:941 app/templates/tasks/_kanban.html:944
#: app/templates/tasks/_kanban.html:1017
msgid "Kanban columns updated"
msgstr "Columnas Kanban actualizadas"

#: app/templates/tasks/_kanban.html:942 app/templates/tasks/_kanban.html:1017
#: app/templates/timer/time_entries_overview.html:210
msgid "Update"
msgstr "Actualizar"

#: app/templates/tasks/_kanban.html:955
msgid "Failed to refresh kanban columns"
msgstr "No se pudieron actualizar las columnas kanban"

#: app/templates/tasks/_kanban.html:1218
msgid "Loading task details..."
msgstr "Cargando detalles de la tarea..."

#: app/templates/tasks/_kanban.html:1313
msgid "Tracked"
msgstr "Seguimiento"

#: app/templates/tasks/_kanban.html:1357
msgid "View Full Details"
msgstr "Ver todos los detalles"

#: app/templates/tasks/create.html:14 app/templates/tasks/edit.html:290
#: app/templates/tasks/overdue.html:13
msgid "Back to Tasks"
msgstr "Volver a Tareas"

#: app/templates/tasks/create.html:16
msgid "Add a new task to your project to break down work into manageable components"
msgstr "Agregue una nueva tarea a su proyecto para dividir el trabajo en componentes manejables"

#: app/templates/tasks/create.html:27 app/templates/tasks/edit.html:34
msgid "Enter a descriptive task name"
msgstr "Introduzca un nombre de tarea descriptivo"

#: app/templates/tasks/create.html:28 app/templates/tasks/edit.html:35
msgid "Choose a clear, descriptive name that explains what needs to be done"
msgstr "Elija un nombre claro y descriptivo que explique lo que se debe hacer."

#: app/templates/tasks/create.html:38 app/templates/tasks/edit.html:44
#: app/templates/tasks/edit.html:515
msgid "Provide detailed information about the task, requirements, and any specific instructions..."
msgstr "Proporcione información detallada sobre la tarea, los requisitos y cualquier instrucción específica..."

#: app/templates/tasks/create.html:41 app/templates/tasks/edit.html:47
msgid "Optional: Add context, requirements, or specific instructions for the task"
msgstr "Opcional: agregue contexto, requisitos o instrucciones específicas para la tarea."

#: app/templates/tasks/create.html:53 app/templates/tasks/edit.html:63
msgid "Select the project this task belongs to"
msgstr "Seleccione el proyecto al que pertenece esta tarea"

#: app/templates/tasks/create.html:68
msgid "Initial Status"
msgstr "Estado inicial"

#: app/templates/tasks/create.html:74 app/templates/tasks/create.html:86
#: app/templates/tasks/create.html:478 app/templates/tasks/edit.html:83
#: app/templates/tasks/edit.html:658 app/templates/tasks/my_tasks.html:134
#: app/utils/i18n_helpers.py:19 app/utils/i18n_helpers.py:31
msgid "Done"
msgstr "Hecho"

#: app/templates/tasks/create.html:95 app/templates/tasks/edit.html:103
msgid "Optional: Set a deadline for this task"
msgstr "Opcional: establezca una fecha límite para esta tarea"

#: app/templates/tasks/create.html:100 app/templates/tasks/edit.html:108
msgid "Optional: Estimate how long this task will take"
msgstr "Opcional: calcule cuánto tiempo llevará esta tarea"

#: app/templates/tasks/create.html:113 app/templates/tasks/edit.html:121
msgid "Optional: Assign this task to a team member"
msgstr "Opcional: asigne esta tarea a un miembro del equipo"

#: app/templates/tasks/create.html:122 app/templates/tasks/edit.html:130
msgid "e.g. bug, frontend, urgent"
msgstr ""

#: app/templates/tasks/create.html:123 app/templates/tasks/edit.html:131
#, fuzzy
msgid "Comma-separated tags for categorization"
msgstr "Etiquetas para categorización"

#: app/templates/tasks/create.html:133 app/templates/tasks/edit.html:141
msgid "Optional: Color for this task on the Gantt chart. If unset, the project color is used. Pick or enter a hex code (e.g. #3b82f6)."
msgstr ""

#: app/templates/tasks/create.html:148
msgid "Task Creation Tips"
msgstr "Consejos para la creación de tareas"

#: app/templates/tasks/create.html:156
msgid "Use action verbs and be specific about what needs to be done"
msgstr "Utilice verbos de acción y sea específico sobre lo que se debe hacer."

#: app/templates/tasks/create.html:164
msgid "Realistic Estimates"
msgstr "Estimaciones realistas"

#: app/templates/tasks/create.html:165
msgid "Consider complexity and dependencies when estimating time"
msgstr "Considere la complejidad y las dependencias al estimar el tiempo."

#: app/templates/tasks/create.html:173
msgid "Set Deadlines"
msgstr "Establecer plazos"

#: app/templates/tasks/create.html:174
msgid "Due dates help prioritize work and track progress"
msgstr "Las fechas de vencimiento ayudan a priorizar el trabajo y realizar un seguimiento del progreso"

#: app/templates/tasks/create.html:182
msgid "Priority Matters"
msgstr "Asuntos prioritarios"

#: app/templates/tasks/create.html:183
msgid "Use priority levels to help team members focus on what's most important"
msgstr "Utilice niveles de prioridad para ayudar a los miembros del equipo a centrarse en lo más importante"

#: app/templates/tasks/edit.html:14
msgid "Back to Task"
msgstr "Volver a la tarea"

#: app/templates/tasks/edit.html:16
#, python-format
msgid "Update task details and settings for \"%(task)s\""
msgstr "Actualizar los detalles y la configuración de la tarea para \"%(task)s\""

#: app/templates/tasks/edit.html:23
msgid "Task Information"
msgstr "Información de la tarea"

#: app/templates/tasks/edit.html:147
msgid "Update Task"
msgstr "Actualizar tarea"

#: app/templates/tasks/edit.html:163
msgid "Estimate used"
msgstr "Estimación utilizada"

#: app/templates/tasks/edit.html:170 app/templates/weekly_goals/index.html:185
msgid "Actual"
msgstr "Actual"

#: app/templates/tasks/edit.html:183
msgid "Current Task Info"
msgstr "Información de la tarea actual"

#: app/templates/tasks/edit.html:187
msgid "Current Status"
msgstr "Estado actual"

#: app/templates/tasks/edit.html:194
msgid "Current Priority"
msgstr "Prioridad actual"

#: app/templates/tasks/edit.html:212
msgid "Currently Assigned To"
msgstr "Actualmente asignado a"

#: app/templates/tasks/edit.html:224
msgid "Current Due Date"
msgstr "Fecha de vencimiento actual"

#: app/templates/tasks/edit.html:238
msgid "Current Estimate"
msgstr "Estimación actual"

#: app/templates/tasks/edit.html:250 app/templates/weekly_goals/index.html:87
#: app/templates/weekly_goals/view.html:47
msgid "Actual Hours"
msgstr "Horas reales"

#: app/templates/tasks/edit.html:265
msgid "Started"
msgstr "Comenzó"

#: app/templates/tasks/edit.html:299
msgid "Edit Tips"
msgstr "Editar consejos"

#: app/templates/tasks/edit.html:308
msgid "Status Changes"
msgstr "Cambios de estado"

#: app/templates/tasks/edit.html:309
msgid "Changing status may affect time tracking and progress calculations"
msgstr "El cambio de estado puede afectar el seguimiento del tiempo y los cálculos de progreso"

#: app/templates/tasks/edit.html:320
msgid "Due Date Updates"
msgstr "Actualizaciones de fecha de vencimiento"

#: app/templates/tasks/edit.html:321
msgid "Consider team workload when adjusting deadlines"
msgstr "Considere la carga de trabajo del equipo al ajustar los plazos"

#: app/templates/tasks/edit.html:332
msgid "Assignment Changes"
msgstr "Cambios de asignación"

#: app/templates/tasks/edit.html:333
msgid "Notify team members when reassigning tasks"
msgstr "Notificar a los miembros del equipo al reasignar tareas"

#: app/templates/tasks/edit.html:599
msgid "Updating..."
msgstr "Actualizando..."

#: app/templates/tasks/list.html:33
msgid "Filter Tasks"
msgstr "Filtrar tareas"

#: app/templates/tasks/list.html:46 app/templates/tasks/my_tasks.html:125
#, fuzzy
msgid "e.g. bug, frontend"
msgstr "Interfaz"

#: app/templates/tasks/list.html:139
msgid "Delete Selected Tasks"
msgstr "Eliminar tareas seleccionadas"

#: app/templates/tasks/list.html:159
msgid "Change Status for Selected Tasks"
msgstr "Cambiar estado de tareas seleccionadas"

#: app/templates/tasks/list.html:187
msgid "Assign Selected Tasks"
msgstr "Asignar tareas seleccionadas"

#: app/templates/tasks/list.html:197
msgid "Assign Tasks"
msgstr "Asignar tareas"

#: app/templates/tasks/list.html:207
msgid "Move Selected Tasks to Project"
msgstr "Mover tareas seleccionadas al proyecto"

#: app/templates/tasks/list.html:208 app/templates/tasks/list.html:210
msgid "Select Project"
msgstr "Seleccionar Proyecto"

#: app/templates/tasks/list.html:217
msgid "Move Tasks"
msgstr "Mover tareas"

#: app/templates/tasks/list.html:237
#, python-brace-format
msgid "Are you sure you want to delete the task \"{name}\"?"
msgstr "¿Está seguro de que desea eliminar la tarea \"{name}\"?"

#: app/templates/tasks/list.html:238
#, python-brace-format
msgid "Cannot delete task \"{name}\" because it has time entries. Please delete the time entries first."
msgstr "No se puede eliminar la tarea \"{nombre}\" porque tiene entradas de tiempo. Primero elimine las entradas de tiempo."

#: app/templates/tasks/list.html:421 app/templates/tasks/view.html:39
msgid "Delete Task"
msgstr "Eliminar tarea"

#: app/templates/tasks/my_tasks.html:3 app/templates/tasks/my_tasks.html:23
msgid "My Tasks"
msgstr "Mis tareas"

#: app/templates/tasks/my_tasks.html:23
msgid "Tasks assigned to or created by you"
msgstr "Tareas asignadas o creadas por usted"

#: app/templates/tasks/my_tasks.html:23
msgid "total"
msgstr "total"

#: app/templates/tasks/my_tasks.html:105
msgid "Filter My Tasks"
msgstr "Filtrar mis tareas"

#: app/templates/tasks/my_tasks.html:119
msgid "Task name or description"
msgstr "Nombre o descripción de la tarea"

#: app/templates/tasks/my_tasks.html:141
msgid "All Priorities"
msgstr "Todas las prioridades"

#: app/templates/tasks/my_tasks.html:160
msgid "Task Type"
msgstr "Tipo de tarea"

#: app/templates/tasks/my_tasks.html:163
msgid "Assigned to Me"
msgstr "Asignado a mí"

#: app/templates/tasks/my_tasks.html:164
msgid "Created by Me"
msgstr "Creado por mí"

#: app/templates/tasks/my_tasks.html:171
msgid "Show overdue only"
msgstr "Mostrar solo vencidos"

#: app/templates/tasks/my_tasks.html:302
msgid "Created by me"
msgstr "Creado por mi"

#: app/templates/tasks/my_tasks.html:353
msgid "My tasks pagination"
msgstr "Paginación de mis tareas."

#: app/templates/tasks/my_tasks.html:376
msgid "..."
msgstr ""

#: app/templates/tasks/my_tasks.html:400
msgid "No tasks found"
msgstr "No se encontraron tareas"

#: app/templates/tasks/my_tasks.html:401
msgid "You don't have any tasks assigned to you or created by you yet."
msgstr "Aún no tienes ninguna tarea asignada o creada por ti."

#: app/templates/tasks/my_tasks.html:404
msgid "Create Your First Task"
msgstr "Crea tu primera tarea"

#: app/templates/tasks/my_tasks.html:407 app/templates/tasks/overdue.html:102
msgid "View All Tasks"
msgstr "Ver todas las tareas"

#: app/templates/tasks/overdue.html:4 app/templates/tasks/overdue.html:9
#: app/templates/tasks/overdue.html:19
msgid "Overdue Tasks"
msgstr "Tareas atrasadas"

#: app/templates/tasks/overdue.html:20
msgid "Requires immediate attention"
msgstr "Requiere atención inmediata"

#: app/templates/tasks/overdue.html:20
msgid "items"
msgstr "elementos"

#: app/templates/tasks/overdue.html:26
msgid "There are"
msgstr "Hay"

#: app/templates/tasks/overdue.html:26
#, fuzzy
msgid "overdue tasks that require immediate attention. Please review and update these tasks to prevent further delays."
msgstr "Revise y actualice estas tareas para evitar más retrasos."

#: app/templates/tasks/overdue.html:55
msgid "Due:"
msgstr "Pendiente:"

#: app/templates/tasks/overdue.html:56
msgid "Est:"
msgstr "Est:"

#: app/templates/tasks/overdue.html:57
msgid "Actual:"
msgstr "Actual:"

#: app/templates/tasks/overdue.html:85
#: app/templates/timer/_time_entries_list.html:16
msgid "Bulk Actions"
msgstr ""

#: app/templates/tasks/overdue.html:89
#, fuzzy
msgid "Update Due Dates"
msgstr "Fechas de vencimiento"

#: app/templates/tasks/overdue.html:90
msgid "Extend due dates for multiple tasks at once"
msgstr ""

#: app/templates/tasks/overdue.html:91
#, fuzzy
msgid "Extend Due Dates"
msgstr "Fechas de vencimiento"

#: app/templates/tasks/overdue.html:94
#, fuzzy
msgid "Priority Management"
msgstr "Gestión de proyectos"

#: app/templates/tasks/overdue.html:95
msgid "Adjust priorities for overdue tasks"
msgstr ""

#: app/templates/tasks/overdue.html:96
#, fuzzy
msgid "Adjust Priorities"
msgstr "Todas las prioridades"

#: app/templates/tasks/overdue.html:104
msgid "No Overdue Tasks!"
msgstr "¡Sin tareas atrasadas!"

#: app/templates/tasks/overdue.html:104
msgid "Great job! All tasks are currently on schedule."
msgstr "¡Buen trabajo! Todas las tareas están actualmente según lo previsto."

#: app/templates/tasks/overdue.html:109
msgid "Enter new due date (YYYY-MM-DD):"
msgstr "Ingrese la nueva fecha de vencimiento (AAAA-MM-DD):"

#: app/templates/tasks/overdue.html:110
msgid "Are you sure you want to extend the due date to"
msgstr "¿Está seguro de que desea extender la fecha de vencimiento a"

#: app/templates/tasks/overdue.html:111 app/templates/tasks/overdue.html:114
msgid "for all overdue tasks?"
msgstr "para todas las tareas atrasadas?"

#: app/templates/tasks/overdue.html:112
msgid "Enter new priority (low/medium/high/urgent):"
msgstr "Introduzca una nueva prioridad (baja/media/alta/urgente):"

#: app/templates/tasks/overdue.html:113
msgid "Are you sure you want to set priority to"
msgstr "¿Está seguro de que desea establecer prioridad para"

#: app/templates/tasks/overdue.html:115
msgid "Invalid priority. Please use: low, medium, high, or urgent"
msgstr "Prioridad no válida. Utilice: bajo, medio, alto o urgente"

#: app/templates/tasks/overdue.html:116
#, python-format
msgid "Updated %(count)s task(s). Reloading..."
msgstr ""

#: app/templates/tasks/overdue.html:117
#, fuzzy
msgid "Update failed. Please try again."
msgstr "No se pudo actualizar el objetivo. Por favor inténtalo de nuevo."

#: app/templates/tasks/view.html:14
msgid "Start task and mark as In Progress?"
msgstr "¿Iniciar tarea y marcarla como En progreso?"

#: app/templates/tasks/view.html:14 app/templates/tasks/view.html:21
msgid "Change Task Status"
msgstr "Cambiar estado de tarea"

#: app/templates/tasks/view.html:21
msgid "Mark task as To Do?"
msgstr "¿Marcar tarea como Por hacer?"

#: app/templates/tasks/view.html:27
msgid "Mark task as Done?"
msgstr "¿Marcar tarea como terminada?"

#: app/templates/tasks/view.html:27
msgid "Complete Task"
msgstr "Completar tarea"

#: app/templates/tasks/view.html:27
msgid "Complete"
msgstr "Completo"

#: app/templates/tasks/view.html:34
msgid "Reopen task to Review?"
msgstr "¿Reabrir tarea para revisar?"

#: app/templates/tasks/view.html:34
msgid "Reopen Task"
msgstr "Reabrir tarea"

#: app/templates/tasks/view.html:34
msgid "Reopen"
msgstr "Reabrir"

#: app/templates/tasks/view.html:47
#, fuzzy
msgid "Task details and history."
msgstr "Detalles y alcance del proyecto."

#: app/templates/time_entry_templates/create.html:13
msgid "Create Time Entry Template"
msgstr "Crear plantilla de entrada de tiempo"

#: app/templates/time_entry_templates/create.html:33
#: app/templates/time_entry_templates/edit.html:33
msgid "e.g., Daily Standup, Client Meeting"
msgstr "por ejemplo, reunión diaria, reunión con el cliente"

#: app/templates/time_entry_templates/create.html:82
#: app/templates/time_entry_templates/edit.html:86
msgid "e.g., 1.0, 0.5"
msgstr "por ejemplo, 1,0, 0,5"

#: app/templates/time_entry_templates/create.html:97
#: app/templates/time_entry_templates/edit.html:101
msgid "Pre-fill notes for this type of time entry"
msgstr "Notas precompletadas para este tipo de entrada de tiempo"

#: app/templates/time_entry_templates/create.html:110
#: app/templates/time_entry_templates/edit.html:114
msgid "e.g., meeting, development, admin"
msgstr "por ejemplo, reunión, desarrollo, administración"

#: app/templates/time_entry_templates/edit.html:13
msgid "Edit Template"
msgstr "Editar plantilla"

#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
msgid "Are you sure you want to delete this template?"
msgstr "¿Estás seguro de que deseas eliminar esta plantilla?"

#: app/templates/time_entry_templates/list.html:44
#: app/templates/time_entry_templates/view.html:144
msgid "Delete Template"
msgstr "Eliminar plantilla"

#: app/templates/time_entry_templates/list.html:111
#, fuzzy
msgid "Create Your First Template"
msgstr "Crea tu primera tarea"

#: app/templates/time_entry_templates/list.html:114
#, fuzzy
msgid "No templates yet"
msgstr "Plantillas"

#: app/templates/time_entry_templates/list.html:115
#, fuzzy
msgid "Create your first time entry template to speed up your workflow."
msgstr "Cree su primera plantilla de correo electrónico para personalizar los correos electrónicos de facturas."

#: app/templates/time_entry_templates/view.html:96
msgid "Usage Statistics"
msgstr "Estadísticas de uso"

#: app/templates/timer/_time_entries_list.html:7
msgid "Select All"
msgstr ""

#: app/templates/timer/_time_entries_list.html:10
msgid "selected"
msgstr ""

#: app/templates/timer/_time_entries_list.html:19
msgid "Mark Paid/Unpaid"
msgstr ""

#: app/templates/timer/_time_entries_list.html:38
#: app/templates/timer/_time_entries_list.html:67
#: app/templates/timer/time_entries_export_pdf.html:16
msgid "Project/Client"
msgstr ""

#: app/templates/timer/_time_entries_list.html:43
#: app/templates/timer/_time_entries_list.html:131
msgid "Invoice Ref"
msgstr ""

#: app/templates/timer/_time_entries_list.html:98
#: app/templates/timer/_time_entries_list.html:109
#, fuzzy
msgid "Click to edit"
msgstr "Volver a editar"

#: app/templates/timer/_time_entries_list.html:102
msgid "Stop the timer to edit duration"
msgstr ""

#: app/templates/timer/_time_entries_list.html:186
#: app/templates/timer/_time_entries_list.html:188
#: app/templates/timer/view_timer.html:108
#, fuzzy
msgid "Request approval"
msgstr "Solicitar aprobación"

#: app/templates/timer/_time_entries_list.html:201
#, fuzzy
msgid "Clear filters"
msgstr "Alternar filtros"

#: app/templates/timer/_time_entries_list.html:204
#, fuzzy
msgid "No time entries match your filters"
msgstr "Sin datos de entrada de tiempo ni notas"

#: app/templates/timer/_time_entries_list.html:204
msgid "Try adjusting your filters or clear them to see all entries. You can also log a new time entry."
msgstr ""

#: app/templates/timer/_time_entries_list.html:211
#, fuzzy
msgid "No time entries yet"
msgstr "Aún no se han registrado entradas de tiempo"

#: app/templates/timer/_time_entries_list.html:211
msgid "Log time to see your entries here. Use the timer on the dashboard or log time manually."
msgstr ""

#: app/templates/timer/_time_entries_list.html:222
#, fuzzy
msgid "Time entries pagination"
msgstr "Paginación de mis tareas."

#: app/templates/timer/bulk_entry.html:3 app/templates/timer/bulk_entry.html:77
#, fuzzy
msgid "Bulk Time Entry"
msgstr "Entrada manual de tiempo"

#: app/templates/timer/bulk_entry.html:74
#, fuzzy
msgid "Single Entry"
msgstr "Entrada de tiempo"

#: app/templates/timer/bulk_entry.html:77
#, fuzzy
msgid "Create multiple time entries for consecutive days"
msgstr "¿Cómo creo entradas de tiempo masivo para varios días?"

#: app/templates/timer/bulk_entry.html:86
#, fuzzy
msgid "Bulk Entry Form"
msgstr "Entrada masiva"

#: app/templates/timer/bulk_entry.html:110
#, fuzzy
msgid "Select the project to log time for"
msgstr "Proyecto seleccionado no encontrado"

#: app/templates/timer/bulk_entry.html:122
#: app/templates/timer/manual_entry.html:83
msgid "Tasks load after selecting a project"
msgstr "Las tareas se cargan después de seleccionar un proyecto."

#: app/templates/timer/bulk_entry.html:133
#: app/templates/timer/bulk_entry.html:246
#, fuzzy
msgid "Date Range"
msgstr "Rango de tiempo"

#: app/templates/timer/bulk_entry.html:148
msgid "Skip weekends (Saturday & Sunday)"
msgstr ""

#: app/templates/timer/bulk_entry.html:155
#, fuzzy
msgid "Entries will be created for these dates"
msgstr "Las entradas de tiempo se redondearán a este intervalo."

#: app/templates/timer/bulk_entry.html:172
#, fuzzy
msgid "Same start time for all days"
msgstr "Temporizadores inteligentes"

#: app/templates/timer/bulk_entry.html:181
msgid "Same end time for all days"
msgstr ""

#: app/templates/timer/bulk_entry.html:191
msgid "What did you work on? (same notes for all entries)"
msgstr ""

#: app/templates/timer/bulk_entry.html:200
#, fuzzy
msgid "tag1, tag2, tag3"
msgstr "etiqueta1, etiqueta2"

#: app/templates/timer/bulk_entry.html:201
msgid "Separate tags with commas (same for all entries)"
msgstr ""

#: app/templates/timer/bulk_entry.html:211
#, fuzzy
msgid "Include in invoices"
msgstr "Filtrar facturas"

#: app/templates/timer/bulk_entry.html:223
#, fuzzy
msgid "Create Entries"
msgstr "Entradas recientes"

#: app/templates/timer/bulk_entry.html:239
#, fuzzy
msgid "Bulk Entry Tips"
msgstr "Entrada masiva"

#: app/templates/timer/bulk_entry.html:247
msgid "Select start and end dates. Entries will be created for each day in the range."
msgstr ""

#: app/templates/timer/bulk_entry.html:253
#, fuzzy
msgid "Skip Weekends"
msgstr "Tendencias semanales"

#: app/templates/timer/bulk_entry.html:254
msgid "Enable to automatically skip Saturdays and Sundays from the date range."
msgstr ""

#: app/templates/timer/bulk_entry.html:260
#, fuzzy
msgid "Same Time Daily"
msgstr "Plazo de entrega (días)"

#: app/templates/timer/bulk_entry.html:261
msgid "All entries will use the same start and end time each day."
msgstr ""

#: app/templates/timer/bulk_entry.html:267
msgid "Conflict Check"
msgstr ""

#: app/templates/timer/bulk_entry.html:268
msgid "System will check for existing time entries and prevent overlaps."
msgstr ""

#: app/templates/timer/bulk_entry.html:334
#: app/templates/timer/manual_entry.html:348
#: app/templates/timer/timer_page.html:264
msgid "Failed to load tasks"
msgstr "No se pudieron cargar las tareas"

#: app/templates/timer/bulk_entry.html:335
#, fuzzy
msgid "Total days"
msgstr "Bienes totales"

#: app/templates/timer/bulk_entry.html:336
#, fuzzy
msgid "Weekdays only"
msgstr "La semana comienza"

#: app/templates/timer/bulk_entry.html:338
#, fuzzy
msgid "Entries will be created for"
msgstr "Las entradas de tiempo se redondearán a este intervalo."

#: app/templates/timer/calendar.html:35
#, fuzzy
msgid "Agenda"
msgstr "Calendario"

#: app/templates/timer/calendar.html:52
#, fuzzy
msgid "iCal Format"
msgstr "Formato de hora"

#: app/templates/timer/calendar.html:53
#, fuzzy
msgid "CSV Format"
msgstr "Importación CSV"

#: app/templates/timer/calendar.html:72
#, fuzzy
msgid "Filter by tags..."
msgstr "Filtrar mis tareas"

#: app/templates/timer/calendar.html:75
#, fuzzy
msgid "Show billable entries only"
msgstr "No se encontraron entradas de tiempo."

#: app/templates/timer/calendar.html:76
#, fuzzy
msgid "Billable Only"
msgstr "Monto facturable"

#: app/templates/timer/calendar.html:84
msgid "Assign to project for new events..."
msgstr ""

#: app/templates/timer/calendar.html:92
#, fuzzy
msgid "Total Hours:"
msgstr "Horas totales"

#: app/templates/timer/calendar.html:129 app/templates/timer/calendar.html:1239
#, fuzzy
msgid "Colors assigned by project"
msgstr "Horas por proyecto"

#: app/templates/timer/calendar.html:142
#, fuzzy
msgid "Create Time Entry"
msgstr "Crear una nueva entrada de tiempo"

#: app/templates/timer/calendar.html:150
msgid "Select a project..."
msgstr "Seleccione un proyecto..."

#: app/templates/timer/calendar.html:249
#, fuzzy
msgid "Recurring Time Blocks"
msgstr "Facturas recurrentes"

#: app/templates/timer/calendar.html:253
#, fuzzy
msgid "Manage your recurring time entry templates."
msgstr "Crear plantilla de entrada de tiempo"

#: app/templates/timer/calendar.html:261
#, fuzzy
msgid "New Recurring Block"
msgstr "Actualizar factura recurrente"

#: app/templates/timer/calendar.html:280
msgid "Jump to Today"
msgstr ""

#: app/templates/timer/calendar.html:284
msgid "Next Week/Month"
msgstr ""

#: app/templates/timer/calendar.html:288
msgid "Previous Week/Month"
msgstr ""

#: app/templates/timer/calendar.html:292
#, fuzzy
msgid "Navigate Days"
msgstr "Navegación"

#: app/templates/timer/calendar.html:297
#, fuzzy
msgid "Views"
msgstr "Vista"

#: app/templates/timer/calendar.html:300
#, fuzzy
msgid "Day View"
msgstr "Vista de cuadrícula"

#: app/templates/timer/calendar.html:304
#, fuzzy
msgid "Week View"
msgstr "Revisar"

#: app/templates/timer/calendar.html:308
#, fuzzy
msgid "Month View"
msgstr "Mes"

#: app/templates/timer/calendar.html:312
#, fuzzy
msgid "Agenda View"
msgstr "Vista de calendario"

#: app/templates/timer/calendar.html:320
#, fuzzy
msgid "Create New Entry"
msgstr "Crear nuevo cliente"

#: app/templates/timer/calendar.html:324
#, fuzzy
msgid "Focus Filter"
msgstr "Mostrar filtros"

#: app/templates/timer/calendar.html:328
#, fuzzy
msgid "Clear All Filters"
msgstr "Borrar todos los cachés"

#: app/templates/timer/calendar.html:332
#, fuzzy
msgid "Close Modal"
msgstr "Cerca"

#: app/templates/timer/calendar.html:340
msgid "Show This Help"
msgstr ""

#: app/templates/timer/calendar.html:346
msgid "Got it!"
msgstr ""

#: app/templates/timer/calendar.html:422
#, fuzzy
msgid "Failed to load events"
msgstr "No se pudieron cargar las tareas"

#: app/templates/timer/calendar.html:436
#, fuzzy
msgid "Please select a project for new entries"
msgstr "Seleccione un proyecto del menú desplegable"

#: app/templates/timer/calendar.html:529
#, fuzzy
msgid "Please select a project first"
msgstr "Seleccione un proyecto"

#: app/templates/timer/calendar.html:599
msgid "Showing billable entries only"
msgstr ""

#: app/templates/timer/calendar.html:734
#, fuzzy
msgid "Entry created successfully"
msgstr "Evento creado exitosamente"

#: app/templates/timer/calendar.html:744
#, fuzzy
msgid "Failed to create entry"
msgstr "No se pudo eliminar el evento"

#: app/templates/timer/calendar.html:767
#, fuzzy
msgid "Entry updated"
msgstr "Última actualización"

#: app/templates/timer/calendar.html:771
#, fuzzy
msgid "Failed to update entry"
msgstr "No se pudo actualizar el estado"

#: app/templates/timer/calendar.html:828
#, fuzzy
msgid "Are you sure you want to delete this entry?"
msgstr "¿Estás seguro de que deseas eliminar esta nota?"

#: app/templates/timer/calendar.html:829
#, fuzzy
msgid "Delete Entry"
msgstr "Eliminar entrada"

#: app/templates/timer/calendar.html:890
#, fuzzy
msgid "Automatic Timer"
msgstr "Iniciar temporizador"

#: app/templates/timer/calendar.html:931
#, fuzzy
msgid "Entry deleted"
msgstr "Eliminado"

#: app/templates/timer/calendar.html:937
#, fuzzy
msgid "Failed to delete entry"
msgstr "No se pudo eliminar el evento"

#: app/templates/timer/calendar.html:955
#, fuzzy
msgid "Export started"
msgstr "Exportar datos"

#: app/templates/timer/calendar.html:966
#, fuzzy
msgid "No recurring blocks yet"
msgstr "Facturas recurrentes"

#: app/templates/timer/calendar.html:979
#, fuzzy
msgid "Unknown Project"
msgstr "Sin proyecto"

#: app/templates/timer/calendar.html:997
#, fuzzy
msgid "Failed to load recurring blocks"
msgstr "No se pudieron cargar las tareas"

#: app/templates/timer/calendar.html:1039
#, fuzzy
msgid "No events in this period"
msgstr "No hay tareas en esta columna."

#: app/templates/timer/calendar.html:1072
#, fuzzy
msgid "Failed to load agenda view"
msgstr "No se pudieron cargar las actividades"

#: app/templates/timer/calendar.html:1104
#, fuzzy
msgid "Failed to load event details"
msgstr "No se pudieron cargar las tareas"

#: app/templates/timer/calendar.html:1115
#, fuzzy
msgid "Are you sure you want to delete this recurring block?"
msgstr "¿Estás seguro de que deseas eliminar esta nota?"

#: app/templates/timer/calendar.html:1117
#, fuzzy
msgid "Delete Recurring Block"
msgstr "Actualizar factura recurrente"

#: app/templates/timer/calendar.html:1133
#, fuzzy
msgid "Recurring block deleted"
msgstr "Evento recurrente"

#: app/templates/timer/calendar.html:1136
#, fuzzy
msgid "Failed to delete recurring block"
msgstr "No se pudo eliminar el evento"

#: app/templates/timer/calendar.html:1147
#, fuzzy
msgid "Enter new start time (YYYY-MM-DD HH:MM):"
msgstr "Ingrese la nueva fecha de vencimiento (AAAA-MM-DD):"

#: app/templates/timer/calendar.html:1180
#, fuzzy
msgid "Entry duplicated successfully"
msgstr "Evento actualizado exitosamente"

#: app/templates/timer/calendar.html:1186
#, fuzzy
msgid "Failed to duplicate entry"
msgstr "No se pudo eliminar el evento"

#: app/templates/timer/calendar.html:1329
msgid "Jumped to today"
msgstr ""

#: app/templates/timer/calendar.html:1413
#, fuzzy
msgid "💡 Press ? to see keyboard shortcuts"
msgstr "Atajos de teclado"

#: app/templates/timer/edit_timer.html:3
#: app/templates/timer/edit_timer.html:180
#, fuzzy
msgid "Edit Time Entry"
msgstr "Nueva entrada de tiempo"

#: app/templates/timer/edit_timer.html:104
msgid "These updates will modify this time entry permanently."
msgstr ""

#: app/templates/timer/edit_timer.html:106
#, fuzzy
msgid "Confirm Changes"
msgstr "Confirmado"

#: app/templates/timer/edit_timer.html:107
#, fuzzy
msgid "Confirm & Save"
msgstr "Confirmado"

#: app/templates/timer/edit_timer.html:188
#, fuzzy
msgid "Admin Mode"
msgstr "Grupo de administración"

#: app/templates/timer/edit_timer.html:204
#, fuzzy
msgid "Admin Mode:"
msgstr "Grupo de administración"

#: app/templates/timer/edit_timer.html:204
msgid "You can edit all fields of this time entry, including project, task, start/end times, and source."
msgstr ""

#: app/templates/timer/edit_timer.html:215
msgid "You can edit this entry's project, task, start and end times, and break."
msgstr ""

#: app/templates/timer/edit_timer.html:238
#, fuzzy
msgid "Select the project this time entry belongs to"
msgstr "Seleccione el proyecto al que pertenece esta tarea"

#: app/templates/timer/edit_timer.html:242
#, fuzzy
msgid "Task (Optional)"
msgstr "Tarea (opcional)"

#: app/templates/timer/edit_timer.html:252
#, fuzzy
msgid "Select a specific task within the project"
msgstr "La tarea seleccionada no es válida para el proyecto elegido"

#: app/templates/timer/edit_timer.html:264
#, fuzzy
msgid "When the work started"
msgstr "Fecha de inicio de la semana"

#: app/templates/timer/edit_timer.html:272
msgid "Time the work started"
msgstr ""

#: app/templates/timer/edit_timer.html:284
msgid "When the work ended (leave empty if still running)"
msgstr ""

#: app/templates/timer/edit_timer.html:292
#, fuzzy
msgid "Time the work ended"
msgstr "Contrato de cliente finalizado"

#: app/templates/timer/edit_timer.html:300
msgid "Break duration (HH:MM). Subtracted from total to get worked duration."
msgstr ""

#: app/templates/timer/edit_timer.html:313
#: app/templates/timer/edit_timer.html:439
#, fuzzy
msgid "Automatic"
msgstr "Autorización"

#: app/templates/timer/edit_timer.html:315
#, fuzzy
msgid "How this entry was created"
msgstr "Cliente creado"

#: app/templates/timer/edit_timer.html:328
#: app/templates/timer/edit_timer.html:431
#, fuzzy
msgid "Duration:"
msgstr "Duración"

#: app/templates/timer/edit_timer.html:340
#: app/templates/timer/edit_timer.html:451
#: app/templates/timer/edit_timer.html:606
#, fuzzy
msgid "Describe what you worked on"
msgstr "¿En qué trabajaste?"

#: app/templates/timer/edit_timer.html:350
#: app/templates/timer/edit_timer.html:462
#: app/templates/timer/manual_entry.html:149
msgid "tag1, tag2"
msgstr "etiqueta1, etiqueta2"

#: app/templates/timer/edit_timer.html:351
#: app/templates/timer/edit_timer.html:463
msgid "Separate tags with commas"
msgstr ""

#: app/templates/timer/edit_timer.html:368
#: app/templates/timer/edit_timer.html:489
#, fuzzy
msgid "Internal invoice reference"
msgstr "No se seleccionaron facturas"

#: app/templates/timer/edit_timer.html:369
#: app/templates/timer/edit_timer.html:490
#, fuzzy
msgid "Reference to internal invoice number"
msgstr "Número de recibo/factura"

#: app/templates/timer/edit_timer.html:376
#: app/templates/timer/edit_timer.html:497
#, fuzzy
msgid "Reason for Change"
msgstr "Razón para archivar"

#: app/templates/timer/edit_timer.html:376
#: app/templates/timer/edit_timer.html:497
#: app/templates/timer/time_entries_overview.html:175
msgid "Optional but recommended"
msgstr ""

#: app/templates/timer/edit_timer.html:378
#: app/templates/timer/edit_timer.html:499
msgid "e.g., Corrected duration, updated project assignment, etc."
msgstr ""

#: app/templates/timer/edit_timer.html:379
#: app/templates/timer/edit_timer.html:500
msgid "Explain why you are making these changes"
msgstr ""

#: app/templates/timer/edit_timer.html:412
#, fuzzy
msgid "Task:"
msgstr "Tarea"

#: app/templates/timer/edit_timer.html:417
#, fuzzy
msgid "Start:"
msgstr "Comenzar"

#: app/templates/timer/edit_timer.html:421
#, fuzzy
msgid "End:"
msgstr "Fin"

#: app/templates/timer/edit_timer.html:525
#: app/templates/timer/view_timer.html:24
msgid "Entry Details"
msgstr ""

#: app/templates/timer/edit_timer.html:547
#, fuzzy
msgid "Admin Notice"
msgstr "Agregar nota"

#: app/templates/timer/edit_timer.html:550
msgid "As an admin, you have full editing privileges for this time entry. Changes will be logged for audit purposes."
msgstr ""

#: app/templates/timer/manual_entry.html:8
msgid "Duplicate Entry"
msgstr "Entrada duplicada"

#: app/templates/timer/manual_entry.html:13
msgid "Duplicate Time Entry"
msgstr "Entrada de tiempo duplicada"

#: app/templates/timer/manual_entry.html:13
msgid "Log Time Manually"
msgstr "Registrar tiempo manualmente"

#: app/templates/timer/manual_entry.html:14
msgid "Create a copy of a previous entry with new times"
msgstr "Crear una copia de una entrada anterior con nuevos horarios"

#: app/templates/timer/manual_entry.html:14
msgid "Create a new time entry"
msgstr "Crear una nueva entrada de tiempo"

#: app/templates/timer/manual_entry.html:25
msgid "Duplicating entry:"
msgstr "Entrada duplicada:"

#: app/templates/timer/manual_entry.html:33
msgid "Original:"
msgstr "Original:"

#: app/templates/timer/manual_entry.html:33
msgid "to"
msgstr "a"

#: app/templates/timer/manual_entry.html:57
#, fuzzy
msgid "Project & task"
msgstr "Proyectos"

#: app/templates/timer/manual_entry.html:92
#, fuzzy
msgid "Date & time"
msgstr "Fecha y hora"

#: app/templates/timer/manual_entry.html:117
msgid "Worked Time"
msgstr ""

#: app/templates/timer/manual_entry.html:119
msgid "Optional: enter HH:MM for duration. You can combine with Start Date/Time to log time on a specific day."
msgstr ""

#: app/templates/timer/manual_entry.html:125
msgid "Suggest break based on duration (e.g. >6h: 30 min, >9h: 45 min)"
msgstr ""

#: app/templates/timer/manual_entry.html:125
#, fuzzy
msgid "Suggest"
msgstr "Invitado"

#: app/templates/timer/manual_entry.html:127
msgid "Optional: break duration (HH:MM). Subtracted from total time to get worked duration."
msgstr ""

#: app/templates/timer/manual_entry.html:398
msgid "Session may have expired. Please refresh the page and try again."
msgstr ""

#: app/templates/timer/manual_entry.html:410
msgid "Project not found or inactive"
msgstr ""

#: app/templates/timer/manual_entry.html:780
msgid "What did you work on?"
msgstr "¿En qué trabajaste?"

#: app/templates/timer/time_entries_export_pdf.html:2
#: app/templates/timer/time_entries_export_pdf.html:5
msgid "Time Entries Export"
msgstr ""

#: app/templates/timer/time_entries_export_pdf.html:7
msgid "Generated at"
msgstr ""

#: app/templates/timer/time_entries_overview.html:15
msgid "View and manage all time entries"
msgstr ""

#: app/templates/timer/time_entries_overview.html:24
msgid "Paid Hours"
msgstr ""

#: app/templates/timer/time_entries_overview.html:34
#: app/templates/timer/time_entries_overview.html:35
#: app/templates/timer/time_entries_overview.html:134
#, fuzzy
msgid "Apply filters"
msgstr "Aplicar filtros"

#: app/templates/timer/time_entries_overview.html:58
msgid "Toggle filters"
msgstr ""

#: app/templates/timer/time_entries_overview.html:102
msgid "Paid Status"
msgstr ""

#: app/templates/timer/time_entries_overview.html:110
msgid "Billable Status"
msgstr ""

#: app/templates/timer/time_entries_overview.html:119
msgid "Search in notes and tags..."
msgstr ""

#: app/templates/timer/time_entries_overview.html:171
msgid "Delete Selected Time Entries"
msgstr ""

#: app/templates/timer/time_entries_overview.html:175
msgid "Reason for Deletion"
msgstr ""

#: app/templates/timer/time_entries_overview.html:177
msgid "e.g., Duplicate entry, incorrect time, etc."
msgstr ""

#: app/templates/timer/time_entries_overview.html:195
msgid "Mark Selected Entries as Paid/Unpaid"
msgstr ""

#: app/templates/timer/time_entries_overview.html:203
msgid "e.g., Invoice number or payment reference"
msgstr ""

#: app/templates/timer/time_entries_overview.html:322
#: app/templates/timer/time_entries_overview.html:384
msgid "Please select at least one time entry"
msgstr ""

#: app/templates/timer/time_entries_overview.html:388
msgid "time entry/entries"
msgstr ""

#: app/templates/timer/timer_page.html:13
msgid "Track your time with a visual timer"
msgstr "Realice un seguimiento de su tiempo con un temporizador visual"

#: app/templates/timer/timer_page.html:100
msgid "Estimated Completion"
msgstr "Finalización estimada"

#: app/templates/timer/timer_page.html:102
msgid "Calculating..."
msgstr "Calculador..."

#: app/templates/timer/timer_page.html:105
msgid "Based on average session duration"
msgstr "Basado en la duración promedio de la sesión"

#: app/templates/timer/timer_page.html:122
msgid "No active timer. Start one below!"
msgstr "Sin temporizador activo. ¡Empiece uno a continuación!"

#: app/templates/timer/timer_page.html:130
msgid "Start New Timer"
msgstr "Iniciar nuevo temporizador"

#: app/templates/timer/timer_page.html:171
msgid "Add notes about what you're working on..."
msgstr "Añade notas sobre en qué estás trabajando..."

#: app/templates/timer/timer_page.html:177
msgid "Or use a template"
msgstr "O usar una plantilla"

#: app/templates/timer/timer_page.html:220
msgid "Recent Projects"
msgstr "Proyectos Recientes"

#: app/templates/timer/timer_page.html:238
msgid "Today's Stats"
msgstr "Estadísticas de hoy"

#: app/templates/timer/view_timer.html:9
msgid "View Entry"
msgstr ""

#: app/templates/timer/view_timer.html:15
msgid "View time entry details"
msgstr ""

#: app/templates/timer/view_timer.html:67
msgid "Project & Client"
msgstr ""

#: app/templates/timer/view_timer.html:104
#, fuzzy
msgid "Approval"
msgstr "Aprobar"

#: app/templates/timer/view_timer.html:115
msgid "Status & Billing"
msgstr ""

#: app/templates/user/license.html:8
msgid "Supporter badge: confirm your key and thank you for funding development."
msgstr ""

#: app/templates/user/license.html:12
#, fuzzy
msgid "License status"
msgstr "Estado actual"

#: app/templates/user/license.html:16
#, fuzzy
msgid "Supporter license active"
msgstr "Funciones admitidas"

#: app/templates/user/license.html:18
msgid "Thank you for supporting TimeTracker. Your badge confirms this instance as a supporter — no features are locked."
msgstr ""

#: app/templates/user/license.html:22
#, fuzzy
msgid "Not activated"
msgstr "Activar"

#: app/templates/user/license.html:25
msgid "Purchase a supporter license (€25) to unlock the supporter badge for this instance. The app stays fully free either way."
msgstr ""

#: app/templates/user/license.html:35
#, fuzzy
msgid "Enter license key"
msgstr "Introduzca el nombre del cliente"

#: app/templates/user/license.html:36
msgid "Paste the license key you received by email after purchase."
msgstr ""

#: app/templates/user/license.html:40
#, fuzzy
msgid "License key"
msgstr "Licencia"

#: app/templates/user/license.html:43
msgid "Paste your key here"
msgstr ""

#: app/templates/user/license.html:46
#, fuzzy
msgid "Validate"
msgstr "Fecha"

#: app/templates/user/license.html:50
msgid "Need a key?"
msgstr ""

#: app/templates/user/license.html:51
msgid "Purchase a license key"
msgstr ""

#: app/templates/user/license.html:57
#, fuzzy
msgid "Back to Settings"
msgstr "Configuración de copia de seguridad"

#: app/templates/user/profile.html:2
msgid "Profile"
msgstr "Perfil"

#: app/templates/user/profile.html:106
msgid "In progress"
msgstr "En curso"

#: app/templates/user/profile.html:120
msgid "View all time entries"
msgstr "Ver todas las entradas de tiempo"

#: app/templates/user/profile.html:124
msgid "No recent time entries"
msgstr "No hay entradas de tiempo recientes"

#: app/templates/user/settings.html:8
msgid "Manage your account settings and preferences"
msgstr "Administre la configuración y preferencias de su cuenta"

#: app/templates/user/settings.html:14
#, fuzzy
msgid "Support & Community"
msgstr "Código abierto y comunidad"

#: app/templates/user/settings.html:19
msgid "TimeTracker is free and open source. Funding comes from optional donations and supporter licenses — never from locking features."
msgstr ""

#: app/templates/user/settings.html:21
msgid "This instance already has a supporter license. Thank you — you can still donate or share the app anytime."
msgstr ""

#: app/templates/user/settings.html:23
msgid "If the app saves you time, you can donate or buy a supporter license (€25). A license shows a Supporter badge; it does not change what you can use."
msgstr ""

#: app/templates/user/settings.html:27
msgid "License & supporter key"
msgstr ""

#: app/templates/user/settings.html:28
msgid "Checkout on timetracker.drytrix.com"
msgstr ""

#: app/templates/user/settings.html:40
msgid "Profile Information"
msgstr "Información de perfil"

#: app/templates/user/settings.html:53
msgid "Username cannot be changed"
msgstr "El nombre de usuario no se puede cambiar"

#: app/templates/user/settings.html:71
msgid "Required for email notifications"
msgstr "Requerido para notificaciones por correo electrónico"

#: app/templates/user/settings.html:81
msgid "Notification Preferences"
msgstr "Preferencias de notificación"

#: app/templates/user/settings.html:93
msgid "Enable Email Notifications"
msgstr "Habilitar notificaciones por correo electrónico"

#: app/templates/user/settings.html:94
msgid "Master switch for all email notifications"
msgstr "Interruptor maestro para todas las notificaciones por correo electrónico"

#: app/templates/user/settings.html:104
msgid "Overdue Invoice Notifications"
msgstr "Notificaciones de facturas vencidas"

#: app/templates/user/settings.html:113
msgid "Task Assignment Notifications"
msgstr "Notificaciones de asignación de tareas"

#: app/templates/user/settings.html:122
msgid "Comment & Mention Notifications"
msgstr "Notificaciones de comentarios y menciones"

#: app/templates/user/settings.html:131
msgid "Weekly Time Summary Email"
msgstr "Correo electrónico de resumen de tiempo semanal"

#: app/templates/user/settings.html:140
msgid "Remind me to log time at end of day"
msgstr ""

#: app/templates/user/settings.html:144
msgid "Reminder time (your timezone)"
msgstr ""

#: app/templates/user/settings.html:149
msgid "In-app reminders (toasts)"
msgstr ""

#: app/templates/user/settings.html:155
#, fuzzy
msgid "Enable smart notifications on this device"
msgstr "Habilitar notificaciones por correo electrónico"

#: app/templates/user/settings.html:163
msgid "Nudge when no time logged today (uses hour from app settings or override below)"
msgstr ""

#: app/templates/user/settings.html:169
msgid "Alert when a timer runs longer than the configured threshold"
msgstr ""

#: app/templates/user/settings.html:175
msgid "End-of-day summary (logged hours today)"
msgstr ""

#: app/templates/user/settings.html:181
msgid "Also use browser notifications when permission is granted"
msgstr ""

#: app/templates/user/settings.html:185
msgid "No-tracking nudge hour (optional override, HH:MM)"
msgstr ""

#: app/templates/user/settings.html:191
msgid "Summary hour (optional override, HH:MM)"
msgstr ""

#: app/templates/user/settings.html:207
msgid "Display Preferences"
msgstr "Preferencias de visualización"

#: app/templates/user/settings.html:219 app/templates/user/settings.html:231
#: app/templates/user/settings.html:423
msgid "System Default"
msgstr "Valor predeterminado del sistema"

#: app/templates/user/settings.html:245
msgid "Time Rounding Preferences"
msgstr "Preferencias de redondeo de tiempo"

#: app/templates/user/settings.html:251
msgid "Configure how your time entries are rounded. This affects how durations are calculated when you stop timers."
msgstr "Configure cómo se redondean sus entradas de tiempo. Esto afecta cómo se calculan las duraciones cuando detienes los cronómetros."

#: app/templates/user/settings.html:261
msgid "Enable Time Rounding"
msgstr "Habilitar redondeo de tiempo"

#: app/templates/user/settings.html:262
msgid "Round time entries to configured intervals"
msgstr "Entradas de tiempo redondeadas a intervalos configurados"

#: app/templates/user/settings.html:269
msgid "Rounding Interval"
msgstr "Intervalo de redondeo"

#: app/templates/user/settings.html:277
msgid "Time entries will be rounded to this interval"
msgstr "Las entradas de tiempo se redondearán a este intervalo."

#: app/templates/user/settings.html:282
msgid "Rounding Method"
msgstr "Método de redondeo"

#: app/templates/user/settings.html:312
msgid "Overtime Settings"
msgstr "Configuración de horas extras"

#: app/templates/user/settings.html:318
msgid "Choose whether overtime is calculated per day or per week, and set your standard hours accordingly."
msgstr ""

#: app/templates/user/settings.html:322
msgid "Calculate overtime by"
msgstr ""

#: app/templates/user/settings.html:328
#, fuzzy
msgid "Daily hours"
msgstr "Horario diario"

#: app/templates/user/settings.html:334
#, fuzzy
msgid "Weekly hours"
msgstr "Metas Semanales"

#: app/templates/user/settings.html:342
msgid "Standard Hours Per Day"
msgstr "Horas estándar por día"

#: app/templates/user/settings.html:351
msgid "Typically 8 hours for a full-time job"
msgstr "Normalmente 8 horas para un trabajo de tiempo completo"

#: app/templates/user/settings.html:357
#, fuzzy
msgid "Standard Hours Per Week"
msgstr "Horas estándar por día"

#: app/templates/user/settings.html:366
msgid "e.g. 20 for a part-time week, 40 for full-time"
msgstr ""

#: app/templates/user/settings.html:373 app/templates/user/settings.html:383
msgid "How it works"
msgstr "como funciona"

#: app/templates/user/settings.html:376
msgid "If you work more than your standard hours in a day, the extra time will be tracked as overtime in reports and analytics."
msgstr "Si trabaja más horas de las estándar en un día, el tiempo adicional se registrará como horas extra en informes y análisis."

#: app/templates/user/settings.html:386
msgid "Overtime is calculated per week: any hours beyond your standard hours per week count as overtime. Suited for contracts based on weekly hours."
msgstr ""

#: app/templates/user/settings.html:396
msgid "Count weekend hours in overtime"
msgstr ""

#: app/templates/user/settings.html:398
msgid "When unchecked, any hours worked on Saturday or Sunday are always counted as overtime."
msgstr ""

#: app/templates/user/settings.html:410
msgid "Regional Settings"
msgstr "Configuraciones regionales"

#: app/templates/user/settings.html:436 app/templates/user/settings.html:450
msgid "Use system default"
msgstr ""

#: app/templates/user/settings.html:446
msgid "Time Format"
msgstr "Formato de hora"

#: app/templates/user/settings.html:458
msgid "Week Starts On"
msgstr "La semana comienza"

#: app/templates/user/settings.html:462
msgid "Sunday"
msgstr "Domingo"

#: app/templates/user/settings.html:463
msgid "Monday"
msgstr "Lunes"

#: app/templates/user/settings.html:464
msgid "Saturday"
msgstr "Sábado"

#: app/templates/user/settings.html:470
#, fuzzy
msgid "Calendar default view"
msgstr "Vista de calendario"

#: app/templates/user/settings.html:474
#, fuzzy
msgid "Remember last view"
msgstr "Miembro desde"

#: app/templates/user/settings.html:485
msgid "Support visibility (hiding donate/support UI) is configured system-wide by administrators in Admin → Settings."
msgstr ""

#: app/templates/user/settings.html:486
msgid "Administrators can purchase a key to hide these prompts:"
msgstr ""

#: app/templates/user/settings.html:487
#, fuzzy
msgid "Support & Purchase Key"
msgstr "Crear orden de compra"

#: app/templates/user/settings.html:564
msgid "Time rounding is disabled. All times will be recorded exactly as tracked."
msgstr "El redondeo de tiempo está deshabilitado. Todos los tiempos se registrarán exactamente como se rastrearon."

#: app/templates/user/settings.html:569
msgid "No rounding - times will be recorded exactly as tracked."
msgstr "Sin redondeo: los tiempos se registrarán exactamente como se registraron."

#: app/templates/user/settings.html:595
msgid "Actual time:"
msgstr "Hora real:"

#: app/templates/user/settings.html:595
msgid "Rounded:"
msgstr "Redondeado:"

#: app/templates/user/settings.html:596
msgid "With "
msgstr "Con"

#: app/templates/user/settings.html:596
msgid " minute intervals"
msgstr "intervalos de minutos"

#: app/templates/weekly_goals/create.html:3
msgid "Create Weekly Goal"
msgstr "Crear meta semanal"

#: app/templates/weekly_goals/create.html:11
msgid "Create Weekly Time Goal"
msgstr "Crear objetivo de tiempo semanal"

#: app/templates/weekly_goals/create.html:14
msgid "Set a target for hours to work this week"
msgstr "Establezca un objetivo de horas de trabajo esta semana"

#: app/templates/weekly_goals/create.html:26
#: app/templates/weekly_goals/edit.html:42
#: app/templates/weekly_goals/index.html:83
#: app/templates/weekly_goals/view.html:39
msgid "Target Hours"
msgstr "Horas objetivo"

#: app/templates/weekly_goals/create.html:41
msgid "How many hours do you want to work this week?"
msgstr "¿Cuántas horas quieres trabajar esta semana?"

#: app/templates/weekly_goals/create.html:48
msgid "Week Start Date"
msgstr "Fecha de inicio de la semana"

#: app/templates/weekly_goals/create.html:55
msgid "Leave blank to use current week (starting Monday)"
msgstr "Déjelo en blanco para usar la semana actual (a partir del lunes)"

#: app/templates/weekly_goals/create.html:71
#: app/templates/weekly_goals/edit.html:71
msgid "Exclude weekends (5-day work week)"
msgstr ""

#: app/templates/weekly_goals/create.html:74
#: app/templates/weekly_goals/edit.html:74
msgid "If checked, the goal will only count Monday through Friday. Week ends on Friday instead of Sunday."
msgstr ""

#: app/templates/weekly_goals/create.html:88
#: app/templates/weekly_goals/edit.html:103
msgid "Optional notes about your goal..."
msgstr "Notas opcionales sobre tu objetivo..."

#: app/templates/weekly_goals/create.html:95
msgid "Quick Presets"
msgstr "Preajustes rápidos"

#: app/templates/weekly_goals/create.html:143
msgid "Tips for Setting Goals"
msgstr "Consejos para establecer metas"

#: app/templates/weekly_goals/create.html:147
msgid "Be realistic: Consider holidays, meetings, and other commitments"
msgstr "Sea realista: considere vacaciones, reuniones y otros compromisos"

#: app/templates/weekly_goals/create.html:148
msgid "Start conservative: You can always adjust your goal later"
msgstr "Empiece de forma conservadora: siempre podrá ajustar su objetivo más adelante"

#: app/templates/weekly_goals/create.html:149
msgid "Track progress: Check your dashboard regularly to stay on track"
msgstr "Realice un seguimiento del progreso: consulte su panel de control con regularidad para mantenerse al día"

#: app/templates/weekly_goals/create.html:150
msgid "Typical full-time: 40 hours per week (8 hours/day, 5 days)"
msgstr "Tiempo completo típico: 40 horas por semana (8 horas/día, 5 días)"

#: app/templates/weekly_goals/create.html:151
msgid "Use \"Exclude weekends\" for a 5-day work week (Monday-Friday) instead of 7 days"
msgstr ""

#: app/templates/weekly_goals/edit.html:3
msgid "Edit Weekly Goal"
msgstr "Editar objetivo semanal"

#: app/templates/weekly_goals/edit.html:11
msgid "Edit Weekly Time Goal"
msgstr "Editar objetivo de tiempo semanal"

#: app/templates/weekly_goals/edit.html:27
msgid "Week Period"
msgstr "Período Semanal"

#: app/templates/weekly_goals/edit.html:31
msgid "Current Progress"
msgstr "Progreso actual"

#: app/templates/weekly_goals/edit.html:115
msgid "Are you sure you want to delete this goal?"
msgstr "¿Estás seguro de que deseas eliminar este objetivo?"

#: app/templates/weekly_goals/edit.html:115
msgid "Delete Goal"
msgstr "Eliminar objetivo"

#: app/templates/weekly_goals/index.html:4
#: app/templates/weekly_goals/index.html:13
msgid "Weekly Time Goals"
msgstr "Metas de tiempo semanales"

#: app/templates/weekly_goals/index.html:14
msgid "Set and track your weekly hour targets"
msgstr "Establezca y realice un seguimiento de sus objetivos de horas semanales"

#: app/templates/weekly_goals/index.html:16
msgid "New Goal"
msgstr "Nuevo objetivo"

#: app/templates/weekly_goals/index.html:27
msgid "Total Goals"
msgstr "Metas totales"

#: app/templates/weekly_goals/index.html:63
msgid "Success Rate"
msgstr "Tasa de éxito"

#: app/templates/weekly_goals/index.html:75
msgid "Current Week Goal"
msgstr "Objetivo de la semana actual"

#: app/templates/weekly_goals/index.html:106
#: app/templates/weekly_goals/view.html:106
msgid "Remaining Hours"
msgstr "Horas restantes"

#: app/templates/weekly_goals/index.html:110
#: app/templates/weekly_goals/view.html:110
msgid "Days Remaining"
msgstr "Días restantes"

#: app/templates/weekly_goals/index.html:114
#: app/templates/weekly_goals/view.html:114
msgid "Avg Hours/Day Needed"
msgstr "Promedio de horas/día necesario"

#: app/templates/weekly_goals/index.html:126
msgid "Edit Goal"
msgstr "Editar objetivo"

#: app/templates/weekly_goals/index.html:139
msgid "No goal set for this week"
msgstr "No hay objetivo fijado para esta semana"

#: app/templates/weekly_goals/index.html:142
msgid "Create a weekly time goal to start tracking your progress"
msgstr "Cree un objetivo de tiempo semanal para comenzar a realizar un seguimiento de su progreso"

#: app/templates/weekly_goals/index.html:158
msgid "Goal History"
msgstr "Historial de goles"

#: app/templates/weekly_goals/index.html:185
msgid "Target"
msgstr "Objetivo"

#: app/templates/weekly_goals/view.html:3
#: app/templates/weekly_goals/view.html:12
msgid "Weekly Goal Details"
msgstr "Detalles de objetivos semanales"

#: app/templates/weekly_goals/view.html:18
msgid "5-day work week"
msgstr ""

#: app/templates/weekly_goals/view.html:124
msgid "Daily Breakdown"
msgstr "Desglose diario"

#: app/templates/weekly_goals/view.html:136
msgid "excluded"
msgstr ""

#: app/templates/weekly_goals/view.html:174
msgid "Time Entries This Week"
msgstr "Entradas de tiempo esta semana"

#: app/templates/weekly_goals/view.html:188
msgid "No Project"
msgstr "Sin proyecto"

#: app/templates/weekly_goals/view.html:224
msgid "No time entries recorded for this week yet"
msgstr "Aún no se han registrado entradas de tiempo para esta semana"

#: app/templates/workforce/dashboard.html:2
#: app/templates/workforce/dashboard.html:7
msgid "Workforce Governance"
msgstr ""

#: app/templates/workforce/dashboard.html:11
#, fuzzy
msgid "Reference date"
msgstr "Tipo de referencia"

#: app/templates/workforce/dashboard.html:14
#, fuzzy
msgid "Create/Get Period"
msgstr "Crear orden de compra"

#: app/templates/workforce/dashboard.html:29
#, fuzzy
msgid "Start date"
msgstr "Fecha de inicio"

#: app/templates/workforce/dashboard.html:33
#, fuzzy
msgid "End date"
msgstr "Fecha de finalización"

#: app/templates/workforce/dashboard.html:42
#, fuzzy
msgid "Exports"
msgstr "Exportar"

#: app/templates/workforce/dashboard.html:43
msgid "Download payroll, capacity, and compliance exports"
msgstr ""

#: app/templates/workforce/dashboard.html:46
msgid "Payroll CSV"
msgstr ""

#: app/templates/workforce/dashboard.html:47
msgid "Capacity CSV"
msgstr ""

#: app/templates/workforce/dashboard.html:49
msgid "Locked Periods CSV"
msgstr ""

#: app/templates/workforce/dashboard.html:50
#, fuzzy
msgid "Audit Events CSV"
msgstr "Editar evento"

#: app/templates/workforce/dashboard.html:57
#, fuzzy
msgid "Timesheet Periods"
msgstr "Período Semanal"

#: app/templates/workforce/dashboard.html:70
#, fuzzy
msgid "Submit"
msgstr "Sujeto"

#: app/templates/workforce/dashboard.html:101
#, fuzzy
msgid "No timesheet periods yet."
msgstr "Aún no se han registrado entradas de tiempo"

#: app/templates/workforce/dashboard.html:107
#, fuzzy
msgid "Leave Balances"
msgstr "Guardar cambios"

#: app/templates/workforce/dashboard.html:110
msgid "Accumulated overtime (YTD)"
msgstr ""

#: app/templates/workforce/dashboard.html:112
msgid "Take as paid leave"
msgstr ""

#: app/templates/workforce/dashboard.html:121
msgid "Allowance"
msgstr ""

#: app/templates/workforce/dashboard.html:122
#, fuzzy
msgid "Used"
msgstr "usuario"

#: app/templates/workforce/dashboard.html:135
#: app/templates/workforce/dashboard.html:271
#, fuzzy
msgid "No leave types configured."
msgstr "No configurado"

#: app/templates/workforce/dashboard.html:145
msgid "Time-Off Requests"
msgstr ""

#: app/templates/workforce/dashboard.html:149
#, fuzzy
msgid "Select leave type"
msgstr "Seleccionar Cliente"

#: app/templates/workforce/dashboard.html:157
#: app/templates/workforce/dashboard.html:327
#, fuzzy
msgid "Requested hours"
msgstr "Horas estimadas"

#: app/templates/workforce/dashboard.html:159
#, fuzzy
msgid "Available overtime (YTD)"
msgstr "Variables disponibles"

#: app/templates/workforce/dashboard.html:164
#, fuzzy
msgid "Comment"
msgstr "Comentarios"

#: app/templates/workforce/dashboard.html:165
msgid "Submit time-off request"
msgstr ""

#: app/templates/workforce/dashboard.html:203
msgid "Capacity"
msgstr ""

#: app/templates/workforce/dashboard.html:209
#, fuzzy
msgid "Expected"
msgstr "Rechazado"

#: app/templates/workforce/dashboard.html:210
#, fuzzy
msgid "Allocated"
msgstr "Creado"

#: app/templates/workforce/dashboard.html:211
#, fuzzy
msgid "Time Off"
msgstr "Tiempo"

#: app/templates/workforce/dashboard.html:213
#, fuzzy
msgid "Utilization %"
msgstr "Autorización"

#: app/templates/workforce/dashboard.html:227
#, fuzzy
msgid "No capacity data available."
msgstr "No hay datos de tasa de grabación disponibles"

#: app/templates/workforce/dashboard.html:238
msgid "Timesheet Policy"
msgstr ""

#: app/templates/workforce/dashboard.html:241
msgid "Auto lock days"
msgstr ""

#: app/templates/workforce/dashboard.html:242
msgid "Approver user IDs (comma separated)"
msgstr ""

#: app/templates/workforce/dashboard.html:243
#, fuzzy
msgid "Enable multi-level approval"
msgstr "Habilitar el portal del cliente"

#: app/templates/workforce/dashboard.html:244
msgid "Require rejection comment"
msgstr ""

#: app/templates/workforce/dashboard.html:245
#, fuzzy
msgid "Enable admin override"
msgstr "Anulación del estado facturable"

#: app/templates/workforce/dashboard.html:246
#, fuzzy
msgid "Save policy"
msgstr "Sólo activo"

#: app/templates/workforce/dashboard.html:251
#, fuzzy
msgid "Leave Types"
msgstr "Tipo de evento"

#: app/templates/workforce/dashboard.html:256
msgid "Annual allowance (hours)"
msgstr ""

#: app/templates/workforce/dashboard.html:257
#, fuzzy
msgid "Accrual hours per month"
msgstr "Horas reales"

#: app/templates/workforce/dashboard.html:258
msgid "Paid leave"
msgstr ""

#: app/templates/workforce/dashboard.html:259
#, fuzzy
msgid "Add leave type"
msgstr "Tipo de evento"

#: app/templates/workforce/dashboard.html:264
#, fuzzy
msgid "disabled"
msgstr "Desactivado"

#: app/templates/workforce/dashboard.html:277
#, fuzzy
msgid "Company Holidays"
msgstr "Detalles de la empresa"

#: app/templates/workforce/dashboard.html:280
#, fuzzy
msgid "Holiday name"
msgstr "Nombre del rol"

#: app/templates/workforce/dashboard.html:283
#, fuzzy
msgid "Region (optional)"
msgstr "Notas (opcional)"

#: app/templates/workforce/dashboard.html:284
#, fuzzy
msgid "Add holiday"
msgstr "Añadir bueno"

#: app/templates/workforce/dashboard.html:296
#, fuzzy
msgid "No holidays configured."
msgstr "No hay webhooks configurados"

#: app/templates/workforce/dashboard.html:321
msgid "hours (max from overtime)"
msgstr ""

#: app/utils/context_processors.py:222 app/utils/context_processors.py:257
msgid "Support"
msgstr "Apoyo"

#: app/utils/context_processors.py:226
msgid "That report was quick to generate. If TimeTracker saves you time, consider supporting its development."
msgstr ""

#: app/utils/context_processors.py:252
msgid "You appear to be offline. Reconnect to open donation or checkout links."
msgstr ""

#: app/utils/context_processors.py:255
msgid "Link copied to clipboard"
msgstr ""

#: app/utils/context_processors.py:256
msgid "Could not copy link"
msgstr ""

#: app/utils/context_processors.py:258
msgid "You have been using TimeTracker actively for a while. If it helps your work, consider supporting its development."
msgstr ""

#: app/utils/i18n_helpers.py:91 app/utils/i18n_helpers.py:102
msgid "Overpaid"
msgstr "pagado en exceso"

#: app/utils/i18n_helpers.py:110 app/utils/i18n_helpers.py:126
msgid "Cash"
msgstr "Dinero"

#: app/utils/i18n_helpers.py:111 app/utils/i18n_helpers.py:127
msgid "Check"
msgstr "Controlar"

#: app/utils/i18n_helpers.py:112 app/utils/i18n_helpers.py:128
msgid "Bank Transfer"
msgstr "Transferencia bancaria"

#: app/utils/i18n_helpers.py:113 app/utils/i18n_helpers.py:129
msgid "Credit Card"
msgstr "Tarjeta de crédito"

#: app/utils/i18n_helpers.py:114 app/utils/i18n_helpers.py:130
msgid "Debit Card"
msgstr "Tarjeta de débito"

#: app/utils/i18n_helpers.py:116 app/utils/i18n_helpers.py:132
msgid "Stripe"
msgstr "Raya"

#: app/utils/i18n_helpers.py:117 app/utils/i18n_helpers.py:133
msgid "Company Card"
msgstr "Tarjeta de empresa"

#: app/utils/i18n_helpers.py:145 app/utils/i18n_helpers.py:156
msgid "Reimbursed"
msgstr "Reembolsado"

#: app/utils/i18n_helpers.py:221 app/utils/i18n_helpers.py:233
msgid "Processing"
msgstr "Tratamiento"

#: app/utils/i18n_helpers.py:266
msgid "80% Budget Warning"
msgstr "Advertencia de presupuesto del 80%"

#: app/utils/i18n_helpers.py:267
msgid "Budget Limit Reached"
msgstr "Límite de presupuesto alcanzado"

#: app/utils/i18n_helpers.py:275 app/utils/i18n_helpers.py:281
msgid "Info"
msgstr "Información"

#: app/utils/module_helpers.py:48
msgid "Authentication required."
msgstr ""

#: app/utils/module_helpers.py:62
#, python-format
msgid "Module '%(module)s' is disabled."
msgstr ""

#: app/utils/module_helpers.py:70
#, python-format
msgid "Module '%(module)s' is disabled. Enable it in Settings."
msgstr ""

#: app/utils/pdf_generator_fallback.py:169
#, python-format
msgid "Invoice #: %(num)s"
msgstr "Factura #: %(num)s"

#: app/utils/pdf_generator_fallback.py:173
#: app/utils/pdf_generator_fallback.py:176
#, python-format
msgid "Issue Date: %(date)s"
msgstr "Fecha de emisión: %(date)s"

#: app/utils/pdf_generator_fallback.py:174
#: app/utils/pdf_generator_fallback.py:177
#, python-format
msgid "Due Date: %(date)s"
msgstr "Fecha de vencimiento: %(date)s"

#: app/utils/pdf_generator_fallback.py:541
msgid "Quote For:"
msgstr "Cotización para:"

#: app/utils/pdf_generator_fallback.py:551
msgid "Quote Details:"
msgstr "Detalles de la cotización:"

#: app/utils/pdf_generator_fallback.py:572
msgid "Items:"
msgstr "Elementos:"

#: app/utils/pdf_generator_fallback.py:622
msgid "Total:"
msgstr "Total:"

#: app/utils/permissions.py:32 app/utils/permissions.py:67
msgid "Please log in to access this page"
msgstr "Por favor inicia sesión para acceder a esta página"

