feat(frontend): i18n expansion, admin/profile i18n, grid/list view fix, empty state
- Add 5 new locales (hi, ar, ru, ja, ko) — now 14 total - Admin panel: 117 i18n keys, confirm modal, animated tabs, no inline handlers - Profile page: 58 i18n keys with data-i18n attributes - Fix i18n safeT() shadowing bug and translationsLoaded timing - Fix grid/list view: list header no longer shows in grid mode on login - Fix classList.toggle hidden sync for view switching across all nav functions - Revert .hidden important that broke login page rendering - Add files empty state (no_files + empty_hint) with translations - Fix language selector dropdown scroll and styling - Fix admin panel scroll with sticky tabs
This commit is contained in:
+183
-3
@@ -182,6 +182,7 @@
|
||||
"size": "Tamaño",
|
||||
"modified": "Modificado",
|
||||
"no_files": "No hay archivos en esta carpeta",
|
||||
"empty_hint": "Sube archivos o crea carpetas para comenzar",
|
||||
"loading": "Cargando archivos…",
|
||||
"view_grid": "Vista de cuadrícula",
|
||||
"view_list": "Vista de lista",
|
||||
@@ -320,8 +321,8 @@
|
||||
"zoom_reset": "Restablecer zoom"
|
||||
},
|
||||
"language_selector": {
|
||||
"title": "Bienvenido a OxiCloud",
|
||||
"subtitle": "Por favor, selecciona tu idioma",
|
||||
"title": "¡Bienvenido!",
|
||||
"subtitle": "Selecciona tu idioma para continuar",
|
||||
"continue": "Continuar",
|
||||
"languages": {
|
||||
"en": "English",
|
||||
@@ -370,5 +371,184 @@
|
||||
"move_title": "Mover {{count}} elemento(s)",
|
||||
"add_favorites": "Añadir a favoritos",
|
||||
"move_copy": "Mover o copiar"
|
||||
},
|
||||
"admin": {
|
||||
"page_title": "Panel de Administración",
|
||||
"back_to_app": "Volver a OxiCloud",
|
||||
"loading": "Cargando…",
|
||||
"access_denied": "Acceso Denegado",
|
||||
"access_denied_desc": "Se requieren privilegios de administrador para acceder a este panel.",
|
||||
"sign_in": "Iniciar sesión",
|
||||
"tab_dashboard": "Panel",
|
||||
"tab_users": "Usuarios",
|
||||
"tab_oidc": "SSO / OIDC",
|
||||
"total_users": "Usuarios Totales",
|
||||
"active_users": "Usuarios Activos",
|
||||
"admins": "Administradores",
|
||||
"version": "Versión",
|
||||
"storage_overview": "Resumen de Almacenamiento",
|
||||
"used": "Usado",
|
||||
"total_quota": "Cuota Total",
|
||||
"usage_pct": "Uso %",
|
||||
"users_over_80": "Usuarios >80% cuota",
|
||||
"users_over_quota": "Usuarios sobre cuota",
|
||||
"system": "Sistema",
|
||||
"auth_label": "Auth",
|
||||
"oidc_label": "OIDC",
|
||||
"quotas_label": "Cuotas",
|
||||
"enabled": "Habilitado",
|
||||
"disabled": "Deshabilitado",
|
||||
"active": "Activo",
|
||||
"off": "Inactivo",
|
||||
"allow_registration": "Permitir registro público",
|
||||
"registration_warning": "El registro público está deshabilitado. Solo los administradores pueden crear nuevos usuarios.",
|
||||
"user_management": "Gestión de Usuarios",
|
||||
"create_user": "Crear Usuario",
|
||||
"col_user": "Usuario",
|
||||
"col_role": "Rol",
|
||||
"col_auth": "Auth",
|
||||
"col_status": "Estado",
|
||||
"col_storage": "Almacenamiento",
|
||||
"col_last_login": "Último Acceso",
|
||||
"col_actions": "Acciones",
|
||||
"loading_users": "Cargando usuarios…",
|
||||
"failed_load_users": "Error al cargar usuarios",
|
||||
"no_users_found": "No se encontraron usuarios",
|
||||
"showing_users": "Mostrando {{from}}-{{to}} de {{total}}",
|
||||
"prev": "Anterior",
|
||||
"next": "Siguiente",
|
||||
"inactive": "Inactivo",
|
||||
"you_badge": "(tú)",
|
||||
"local": "Local",
|
||||
"never": "Nunca",
|
||||
"just_now": "Ahora mismo",
|
||||
"minutes_ago": "hace {{n}}m",
|
||||
"hours_ago": "hace {{n}}h",
|
||||
"days_ago": "hace {{n}}d",
|
||||
"edit_quota_title": "Editar cuota",
|
||||
"reset_password_title": "Restablecer contraseña",
|
||||
"toggle_role_title": "Cambiar rol",
|
||||
"deactivate_title": "Desactivar",
|
||||
"activate_title": "Activar",
|
||||
"delete_title": "Eliminar",
|
||||
"sso_title": "Inicio de Sesión Único (OIDC / SSO)",
|
||||
"enable_sso": "Habilitar autenticación SSO",
|
||||
"provider_name": "Nombre del Proveedor",
|
||||
"issuer_url": "URL del Emisor",
|
||||
"issuer_url_hint": "URL del emisor OpenID Connect de tu proveedor de identidad",
|
||||
"auto_discover": "Auto-descubrir",
|
||||
"discovering": "Descubriendo…",
|
||||
"client_id": "Client ID",
|
||||
"client_secret": "Client Secret",
|
||||
"client_secret_placeholder": "Dejar vacío para mantener el valor actual",
|
||||
"secret_configured": "Ya hay un client secret configurado",
|
||||
"callback_url": "URL de Callback",
|
||||
"callback_url_hint": "(registrar en tu IdP)",
|
||||
"advanced_settings": "Configuración Avanzada",
|
||||
"scopes": "Scopes",
|
||||
"auto_provision": "Auto-provisionar usuarios en el primer inicio de sesión",
|
||||
"admin_groups": "Grupos de Admin",
|
||||
"admin_groups_hint": "Nombres de grupos OIDC separados por comas que mapean al rol de admin",
|
||||
"disable_password": "Desactivar inicio de sesión con contraseña (solo OIDC)",
|
||||
"password_warning": "¡Esto impedirá TODOS los inicios de sesión con contraseña!",
|
||||
"test_btn": "Probar",
|
||||
"save_btn": "Guardar",
|
||||
"saving": "Guardando…",
|
||||
"settings_saved": "Configuración guardada — OIDC ahora está {{status}}",
|
||||
"quota_modal_title": "Actualizar Cuota de Almacenamiento",
|
||||
"quota_user_label": "Usuario:",
|
||||
"new_quota": "Nueva Cuota",
|
||||
"quota_unlimited_hint": "Establecer 0 para ilimitado",
|
||||
"cancel": "Cancelar",
|
||||
"create_user_title": "Crear Nuevo Usuario",
|
||||
"username_label": "Nombre de usuario",
|
||||
"username_placeholder": "juanperez",
|
||||
"username_hint": "3–32 caracteres",
|
||||
"password_label": "Contraseña",
|
||||
"password_placeholder": "Mín 8 caracteres",
|
||||
"email_label": "Correo",
|
||||
"email_optional": "(opcional)",
|
||||
"email_placeholder": "usuario@ejemplo.com (auto-generado si vacío)",
|
||||
"role_label": "Rol",
|
||||
"role_user": "Usuario",
|
||||
"role_admin": "Admin",
|
||||
"quota_label": "Cuota",
|
||||
"creating": "Creando…",
|
||||
"reset_pw_title": "Restablecer Contraseña",
|
||||
"new_password_label": "Nueva Contraseña",
|
||||
"resetting": "Restableciendo…",
|
||||
"reset_btn": "Restablecer",
|
||||
"confirm_role_change": "¿Cambiar rol a {{role}}?",
|
||||
"confirm_deactivate": "¿Estás seguro de que quieres desactivar este usuario?",
|
||||
"confirm_activate": "¿Estás seguro de que quieres activar este usuario?",
|
||||
"confirm_delete_user": "¿ELIMINAR usuario \"{{name}}\"? ¡Esto no se puede deshacer!",
|
||||
"confirm_action": "Confirmar Acción",
|
||||
"confirm_yes": "Confirmar",
|
||||
"confirm_no": "Cancelar",
|
||||
"error_username_short": "El nombre de usuario debe tener al menos 3 caracteres",
|
||||
"error_password_short": "La contraseña debe tener al menos 8 caracteres",
|
||||
"error_generic": "Error",
|
||||
"error_network": "Error de red: {{message}}",
|
||||
"error_create_user": "Error al crear usuario"
|
||||
},
|
||||
"profile": {
|
||||
"page_title": "Perfil",
|
||||
"back_to_app": "Volver a OxiCloud",
|
||||
"loading": "Cargando…",
|
||||
"not_authenticated": "No Autenticado",
|
||||
"not_authenticated_desc": "Inicia sesión para ver tu perfil.",
|
||||
"sign_in": "Iniciar sesión",
|
||||
"role_admin": "Administrador",
|
||||
"role_user": "Usuario",
|
||||
"account_details": "Detalles de la Cuenta",
|
||||
"username": "Nombre de usuario",
|
||||
"email": "Correo electrónico",
|
||||
"role": "Rol",
|
||||
"last_login": "Último acceso",
|
||||
"storage": "Almacenamiento",
|
||||
"used": "Usado",
|
||||
"quota": "Cuota",
|
||||
"usage": "Uso",
|
||||
"unlimited": "Ilimitado",
|
||||
"app_passwords": "Contraseñas de Aplicación",
|
||||
"app_pw_desc": "Genera contraseñas para clientes WebDAV, CalDAV y CardDAV. Cada contraseña se muestra solo una vez.",
|
||||
"app_pw_label_placeholder": "Etiqueta (ej. Thunderbird, macOS)",
|
||||
"generate": "Generar",
|
||||
"generating": "Generando…",
|
||||
"new_password_for": "Nueva contraseña para",
|
||||
"copy_warning": "Copia esta contraseña ahora. No podrás verla de nuevo.",
|
||||
"copy_to_clipboard": "Copiar al portapapeles",
|
||||
"col_label": "Etiqueta",
|
||||
"col_created": "Creado",
|
||||
"col_last_used": "Último uso",
|
||||
"col_status": "Estado",
|
||||
"active": "Activa",
|
||||
"revoked": "Revocada",
|
||||
"revoke_title": "Revocar",
|
||||
"no_app_passwords": "Aún no hay contraseñas de aplicación.",
|
||||
"client_sessions": "Sesiones de cliente",
|
||||
"client_sessions_desc": "Generadas automáticamente al conectar un cliente compatible con Nextcloud.",
|
||||
"col_client": "Cliente",
|
||||
"never": "Nunca",
|
||||
"just_now": "Ahora mismo",
|
||||
"minutes_ago": "hace {{n}} min",
|
||||
"hours_ago": "hace {{n}}h",
|
||||
"days_ago": "hace {{n}} días",
|
||||
"change_password": "Cambiar Contraseña",
|
||||
"current_password": "Contraseña Actual",
|
||||
"new_password": "Nueva Contraseña",
|
||||
"min_8_chars": "Al menos 8 caracteres",
|
||||
"confirm_password": "Confirmar Nueva Contraseña",
|
||||
"update_password": "Actualizar Contraseña",
|
||||
"updating": "Actualizando…",
|
||||
"password_updated": "Contraseña actualizada correctamente",
|
||||
"passwords_no_match": "Las contraseñas no coinciden",
|
||||
"password_too_short": "La contraseña debe tener al menos 8 caracteres",
|
||||
"password_change_failed": "Error al cambiar la contraseña",
|
||||
"error_network": "Error de red: {{message}}",
|
||||
"error_label_required": "Introduce una etiqueta",
|
||||
"error_create_pw": "Error al crear contraseña de aplicación",
|
||||
"confirm_revoke": "¿Revocar contraseña \"{{label}}\"? Los clientes que la usen dejarán de funcionar.",
|
||||
"error_revoke": "Error al revocar contraseña"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user