chore(i18n): auto-update translations via LLM

This commit is contained in:
Christian Krakau-Louis
2026-03-16 17:15:40 +00:00
parent 872ff6c53b
commit 3cd895d57c
79 changed files with 27228 additions and 78 deletions
+173
View File
@@ -41,6 +41,161 @@
"about.story_heading": "Nuestra Historia",
"about.story_p1": "DocuElevate fue creado con un objetivo en mente: simplificar y optimizar la gestión de documentos para todos, ya seas una pequeña startup o una gran empresa.",
"about.story_p2": "Aprovechamos el poder de proveedores de IA intercambiables (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey y más) para la extracción de metadatos y el refinamiento de texto, nos integramos sin problemas con Dropbox, Nextcloud y Paperless NGX para el almacenamiento y la indexación, aprovechamos Azure Document Intelligence para OCR e incluso usamos Gotenberg para conversiones de archivo a PDF.",
"admin_files.admin_only_badge": "Solo Admin",
"admin_files.aria_breadcrumb": "Ruta de navegación",
"admin_files.badge_delta_detected": "Delta detectado",
"admin_files.badge_duplicate": "duplicado",
"admin_files.badge_in_db": "en DB",
"admin_files.badge_on_disk": "en disco",
"admin_files.breadcrumb_workdir": "directorio de trabajo",
"admin_files.btn_download": "Descargar",
"admin_files.col_actions": "Acciones",
"admin_files.col_db": "DB",
"admin_files.col_health": "Salud",
"admin_files.col_id": "ID",
"admin_files.col_ingested": "Ingerido",
"admin_files.col_local_filename": "nombre_archivo_local",
"admin_files.col_missing_paths": "Rutas faltantes",
"admin_files.col_modified": "Modificado",
"admin_files.col_name": "Nombre",
"admin_files.col_original_file_path": "ruta_archivo_original",
"admin_files.col_original_filename": "Nombre de Archivo Original",
"admin_files.col_path_relative": "Ruta (relativa al directorio de trabajo)",
"admin_files.col_processed_file_path": "ruta_archivo_procesado",
"admin_files.col_size": "Tamaño",
"admin_files.delta_detected_detail": "Se encontraron {orphan_count} archivo(s) huérfano(s) en el disco sin registro en la base de datos, y {ghost_count} registro(s) en la base de datos con archivos faltantes en el disco.",
"admin_files.delta_detected_title": "Delta detectado.",
"admin_files.empty_database": "No se encontraron registros de archivos en la base de datos.",
"admin_files.empty_directory": "Este directorio está vacío.",
"admin_files.ghost_records_desc": "(en la base de datos, archivo(s) faltantes en el disco)",
"admin_files.ghost_records_heading": "Registros fantasma",
"admin_files.heading": "Administrador de Archivos",
"admin_files.health_missing": "Faltante",
"admin_files.health_ok": "OK",
"admin_files.legend_file_exists": "Archivo existe en el disco",
"admin_files.legend_file_missing": "Archivo faltante del disco",
"admin_files.legend_found_in_db": "Encontrado en la base de datos",
"admin_files.legend_not_in_db": "No en la base de datos (huérfano)",
"admin_files.legend_path_not_set": "Ruta no establecida",
"admin_files.no_delta": "No se encontró delta — el sistema de archivos y la base de datos están en sincronía.",
"admin_files.no_ghost_records": "No se encontraron registros fantasma.",
"admin_files.no_orphan_files": "No se encontraron archivos huérfanos.",
"admin_files.orphan_files_desc": "(en disco, sin registro en la base de datos)",
"admin_files.orphan_files_heading": "Archivos huérfanos",
"admin_files.page_title": "Administrador de Archivos Admin",
"admin_files.status_in_db": "En la base de datos",
"admin_files.status_orphan": "Huérfano",
"admin_files.tab_database": "Registros de la Base de Datos",
"admin_files.tab_filesystem": "Sistema de Archivos",
"admin_files.tab_reconcile": "Reconciliar",
"admin_plans.aria_delete_plan": "Eliminar {name}",
"admin_plans.aria_edit_plan": "Editar {name}",
"admin_plans.aria_feature_n": "Característica {n}",
"admin_plans.aria_move_down": "Mover {name} hacia abajo",
"admin_plans.aria_move_up": "Mover {name} hacia arriba",
"admin_plans.aria_remove_feature_n": "Eliminar característica {n}",
"admin_plans.btn_add_feature": "Agregar Característica",
"admin_plans.btn_add_plan": "Agregar Plan",
"admin_plans.btn_cancel": "Cancelar",
"admin_plans.btn_create": "Crear Plan",
"admin_plans.btn_delete": "Eliminar",
"admin_plans.btn_edit": "Editar",
"admin_plans.btn_restore_defaults": "Restaurar Valores Predeterminados",
"admin_plans.btn_restore_defaults_title": "Restaurar los cuatro planes predeterminados (solo si no existen planes todavía)",
"admin_plans.btn_restoring": "Restaurando\u00135",
"admin_plans.btn_save_changes": "Guardar Cambios",
"admin_plans.btn_save_order": "Guardar Orden",
"admin_plans.btn_saving": "Guardando\u00135",
"admin_plans.btn_stripe_setup": "Configuración de Stripe",
"admin_plans.btn_stripe_setup_title": "Abrir el Asistente de Configuración de Stripe para configurar las claves de API y sincronizar planes",
"admin_plans.col_actions": "Acciones",
"admin_plans.col_active": "Activo",
"admin_plans.col_monthly": "Mensual",
"admin_plans.col_monthly_limit": "Límite Mensual",
"admin_plans.col_order": "Orden",
"admin_plans.col_overage_pct": "Porcentaje de Exceso",
"admin_plans.col_plan": "Plan",
"admin_plans.col_yearly": "Anual",
"admin_plans.coming_soon": "Próximamente",
"admin_plans.featured_badge": "Destacado",
"admin_plans.field_active": "Activo",
"admin_plans.field_allow_overage": "Permitir Facturación por Exceso",
"admin_plans.field_api_access": "Acceso a API",
"admin_plans.field_badge_text": "Texto de Insignia",
"admin_plans.field_buffer": "Buffer:",
"admin_plans.field_cta_text": "Texto del Botón CTA",
"admin_plans.field_docs_month": "Docs / Mes",
"admin_plans.field_featured": "Destacado / Enfocado",
"admin_plans.field_lifetime_docs": "Docs de Por Vida",
"admin_plans.field_mailboxes": "Buzones de Correo",
"admin_plans.field_max_file_size": "Tamaño máximo del archivo (MB)",
"admin_plans.field_name": "Nombre",
"admin_plans.field_ocr_pages": "Páginas OCR / Mes",
"admin_plans.field_overage_doc_price": "Precio adicional / doc ($)",
"admin_plans.field_overage_ocr_price": "Precio adicional / página OCR ($)",
"admin_plans.field_plan_id": "ID del plan",
"admin_plans.field_price_monthly": "Precio Mensual ($)",
"admin_plans.field_price_yearly": "Precio Anual ($)",
"admin_plans.field_sort_order": "Orden de clasificación",
"admin_plans.field_storage_dests": "Destinos de almacenamiento",
"admin_plans.field_stripe_monthly": "ID de precio de Stripe (mensual)",
"admin_plans.field_stripe_yearly": "ID de precio de Stripe (anual)",
"admin_plans.field_tagline": "Eslogan",
"admin_plans.field_trial_days": "Días de prueba",
"admin_plans.free_label": "Gratis",
"admin_plans.heading": "Diseñador de Planes",
"admin_plans.hint_features": "Estos puntos aparecen en la tarjeta de la página de precios para este plan.",
"admin_plans.hint_plan_id": "Slug en minúsculas, no se puede cambiar después de la creación.",
"admin_plans.hint_zero_unlimited": "Ingresa 0 para ilimitado.",
"admin_plans.js_delete_confirm": "¿Eliminar el plan \"{id}\"? Esto no se puede deshacer.",
"admin_plans.js_delete_failed": "Eliminación fallida",
"admin_plans.js_failed_load": "Error al cargar planes",
"admin_plans.js_order_saved": "¡Orden guardada!",
"admin_plans.js_plan_created": "¡Plan creado!",
"admin_plans.js_plan_deleted": "Plan \"{id}\" eliminado.",
"admin_plans.js_plan_updated": "¡Plan actualizado!",
"admin_plans.js_reorder_failed": "Reordenamiento fallido",
"admin_plans.js_save_failed": "Guardado fallido",
"admin_plans.js_seed_confirm": "¿Sembrar los cuatro planes predeterminados? Esto no tiene efecto si los planes ya existen.",
"admin_plans.js_seed_failed": "Falló la siembra",
"admin_plans.js_yearly_enter": "Ingresa el precio anual para mostrar el ahorro",
"admin_plans.js_yearly_save": "Ahorra {pct}% en comparación con el mensual",
"admin_plans.loading": "Cargando planes\u001a\n\n\n\n...",
"admin_plans.modal_close_aria": "Cerrar modal",
"admin_plans.modal_create_title": "Agregar Plan",
"admin_plans.modal_edit_title_prefix": "Editar Plan: ",
"admin_plans.no_plans_intro": "Aún no hay planes. Haz clic en",
"admin_plans.no_plans_suffix": "para sembrar los cuatro planes integrados.",
"admin_plans.overage_0pct": "0% (exacto)",
"admin_plans.overage_100pct": "100%",
"admin_plans.overage_50pct": "50%",
"admin_plans.overage_announce": "\u0000b7 anunciar",
"admin_plans.overage_buffer_body_prefix": "El buffer de exceso es",
"admin_plans.overage_buffer_body_suffix": "Anunciamos X docs/mes pero solo hacemos cumplir en",
"admin_plans.overage_buffer_formula": "X \u0000d7 (1 + porcentaje de buffer)",
"admin_plans.overage_buffer_invisible": "invisible para los usuarios",
"admin_plans.overage_buffer_tail": "docs. Por ejemplo, un plan de 150 docs/mes con un 20% de buffer se hace cumplir a 180 docs. Esto previene cortes abruptos en el límite exacto anunciado, brindando a los usuarios un aterrizaje suave y gradual.",
"admin_plans.overage_buffer_title": "Acerca del Buffer de Exceso",
"admin_plans.overage_docs": "docs,",
"admin_plans.overage_docs_end": "docs",
"admin_plans.overage_enforce_at": "hacer cumplir en",
"admin_plans.page_title": "Diseñador de Planes \u0004c DocuElevate Admin",
"admin_plans.section_basic_info": "Información Básica",
"admin_plans.section_display": "Mostrar",
"admin_plans.section_features": "Lista de Características",
"admin_plans.section_overage": "Diseñador de Exceso",
"admin_plans.section_pricing": "Precios",
"admin_plans.section_stripe": "Integración de Stripe",
"admin_plans.section_volume": "Límites de Volumen",
"admin_plans.status_active": "Activo",
"admin_plans.status_inactive": "Inactivo",
"admin_plans.stripe_desc_after": "para crearlos automáticamente. Los planes gratuitos no necesitan ID de Precio de Stripe.",
"admin_plans.stripe_desc_before": "Ingrese los ID de Precio de Stripe para este plan, o use el",
"admin_plans.stripe_wizard_aria": "Abrir el Asistente de Configuración de Stripe en una nueva pestaña",
"admin_plans.stripe_wizard_link": "Asistente de Stripe",
"admin_plans.stripe_wizard_text": "Asistente de Configuración de Stripe",
"admin_plans.subheading": "Administra los planes de suscripción mostrados en la página pública de precios.",
"admin_plans.table_aria_label": "Planes de suscripción",
"admin_users.add_user_profile_btn": "Agregar perfil de usuario",
"admin_users.admin_only_badge": "Solo para administradores",
"admin_users.btn_password": "Contraseña",
@@ -1222,6 +1377,9 @@
"profile.contact_email_label": "Correo electrónico de contacto / notificación",
"profile.contact_email_placeholder": "tú@ejemplo.com",
"profile.current_password": "Contraseña actual",
"profile.default_document_language_auto": "Usar predeterminado del sistema",
"profile.default_document_language_hint": "Los documentos en otros idiomas se traducen automáticamente a este idioma. Deje en blanco para utilizar el predeterminado del sistema (inglés).",
"profile.default_document_language_label": "Idioma de Documento Predeterminado",
"profile.dismiss": "Descartar",
"profile.display_name_hint": "Deja en blanco para usar tu nombre de usuario o correo electrónico de la cuenta.",
"profile.display_name_label": "Nombre para mostrar",
@@ -1549,6 +1707,21 @@
"terms.s6_p3_mid": ". Para información de licencias, por favor consulta nuestro",
"terms.s6_p3_post": ".",
"terms.s6_p3_pre": "Para información sobre cómo utilizamos las cookies, por favor ve nuestra",
"translation.copied": "¡Copiado!",
"translation.copy": "Copiar",
"translation.default_language_version": "Versión de Idioma Predeterminado",
"translation.detected_language": "Idioma detectado",
"translation.hide_text": "Ocultar texto",
"translation.load_translation": "Cargar traducción",
"translation.no_translation": "No hay traducción disponible aún \u001e\u00040 - puede que aún esté procesando",
"translation.select_language": "Seleccionar idioma\u001f\u0002d",
"translation.select_target": "Por favor selecciona un idioma de destino.",
"translation.show_text": "Mostrar texto",
"translation.translate_btn": "Traducir",
"translation.translate_to": "Traducir a otro idioma",
"translation.translated_to": "Traducido a",
"translation.translating": "Traduciendo\u001f\u0002d",
"translation.translation_failed": "La traducción falló",
"upload.browse_button": "Buscar Archivos",
"upload.button_processing": "Procesando...",
"upload.camera_button": "Tomar Foto / Escanear Documento",