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:
+182
-2
@@ -182,6 +182,7 @@
|
||||
"size": "Size",
|
||||
"modified": "Modified",
|
||||
"no_files": "No files in this folder",
|
||||
"empty_hint": "Upload files or create folders to get started",
|
||||
"loading": "Loading files…",
|
||||
"view_grid": "Grid view",
|
||||
"view_list": "List view",
|
||||
@@ -320,8 +321,8 @@
|
||||
"zoom_reset": "Reset zoom"
|
||||
},
|
||||
"language_selector": {
|
||||
"title": "Welcome to OxiCloud",
|
||||
"subtitle": "Please select your language",
|
||||
"title": "Welcome!",
|
||||
"subtitle": "Select your language to continue",
|
||||
"continue": "Continue",
|
||||
"languages": {
|
||||
"en": "English",
|
||||
@@ -370,5 +371,184 @@
|
||||
"move_title": "Move {{count}} item(s)",
|
||||
"add_favorites": "Add to favorites",
|
||||
"move_copy": "Move or copy"
|
||||
},
|
||||
"admin": {
|
||||
"page_title": "Admin Panel",
|
||||
"back_to_app": "Back to OxiCloud",
|
||||
"loading": "Loading…",
|
||||
"access_denied": "Access Denied",
|
||||
"access_denied_desc": "Administrator privileges required to access this panel.",
|
||||
"sign_in": "Sign in",
|
||||
"tab_dashboard": "Dashboard",
|
||||
"tab_users": "Users",
|
||||
"tab_oidc": "SSO / OIDC",
|
||||
"total_users": "Total Users",
|
||||
"active_users": "Active Users",
|
||||
"admins": "Admins",
|
||||
"version": "Version",
|
||||
"storage_overview": "Storage Overview",
|
||||
"used": "Used",
|
||||
"total_quota": "Total Quota",
|
||||
"usage_pct": "Usage %",
|
||||
"users_over_80": "Users >80% quota",
|
||||
"users_over_quota": "Users over quota",
|
||||
"system": "System",
|
||||
"auth_label": "Auth",
|
||||
"oidc_label": "OIDC",
|
||||
"quotas_label": "Quotas",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"active": "Active",
|
||||
"off": "Off",
|
||||
"allow_registration": "Allow public self-registration",
|
||||
"registration_warning": "Public registration is disabled. Only admins can create new users.",
|
||||
"user_management": "User Management",
|
||||
"create_user": "Create User",
|
||||
"col_user": "User",
|
||||
"col_role": "Role",
|
||||
"col_auth": "Auth",
|
||||
"col_status": "Status",
|
||||
"col_storage": "Storage",
|
||||
"col_last_login": "Last Login",
|
||||
"col_actions": "Actions",
|
||||
"loading_users": "Loading users…",
|
||||
"failed_load_users": "Failed to load users",
|
||||
"no_users_found": "No users found",
|
||||
"showing_users": "Showing {{from}}-{{to}} of {{total}}",
|
||||
"prev": "Prev",
|
||||
"next": "Next",
|
||||
"inactive": "Inactive",
|
||||
"you_badge": "(you)",
|
||||
"local": "Local",
|
||||
"never": "Never",
|
||||
"just_now": "Just now",
|
||||
"minutes_ago": "{{n}}m ago",
|
||||
"hours_ago": "{{n}}h ago",
|
||||
"days_ago": "{{n}}d ago",
|
||||
"edit_quota_title": "Edit quota",
|
||||
"reset_password_title": "Reset password",
|
||||
"toggle_role_title": "Toggle role",
|
||||
"deactivate_title": "Deactivate",
|
||||
"activate_title": "Activate",
|
||||
"delete_title": "Delete",
|
||||
"sso_title": "Single Sign-On (OIDC / SSO)",
|
||||
"enable_sso": "Enable SSO Authentication",
|
||||
"provider_name": "Provider Name",
|
||||
"issuer_url": "Issuer URL",
|
||||
"issuer_url_hint": "OpenID Connect issuer URL of your identity provider",
|
||||
"auto_discover": "Auto-discover",
|
||||
"discovering": "Discovering…",
|
||||
"client_id": "Client ID",
|
||||
"client_secret": "Client Secret",
|
||||
"client_secret_placeholder": "Leave empty to keep current value",
|
||||
"secret_configured": "A client secret is already configured",
|
||||
"callback_url": "Callback URL",
|
||||
"callback_url_hint": "(register in your IdP)",
|
||||
"advanced_settings": "Advanced Settings",
|
||||
"scopes": "Scopes",
|
||||
"auto_provision": "Auto-provision users on first login",
|
||||
"admin_groups": "Admin Groups",
|
||||
"admin_groups_hint": "Comma-separated OIDC group names that map to admin role",
|
||||
"disable_password": "Disable password login (OIDC only)",
|
||||
"password_warning": "This will prevent ALL password-based logins!",
|
||||
"test_btn": "Test",
|
||||
"save_btn": "Save",
|
||||
"saving": "Saving…",
|
||||
"settings_saved": "Settings saved — OIDC is now {{status}}",
|
||||
"quota_modal_title": "Update Storage Quota",
|
||||
"quota_user_label": "User:",
|
||||
"new_quota": "New Quota",
|
||||
"quota_unlimited_hint": "Set to 0 for unlimited",
|
||||
"cancel": "Cancel",
|
||||
"create_user_title": "Create New User",
|
||||
"username_label": "Username",
|
||||
"username_placeholder": "johndoe",
|
||||
"username_hint": "3–32 characters",
|
||||
"password_label": "Password",
|
||||
"password_placeholder": "Min 8 characters",
|
||||
"email_label": "Email",
|
||||
"email_optional": "(optional)",
|
||||
"email_placeholder": "user@example.com (auto-generated if empty)",
|
||||
"role_label": "Role",
|
||||
"role_user": "User",
|
||||
"role_admin": "Admin",
|
||||
"quota_label": "Quota",
|
||||
"creating": "Creating…",
|
||||
"reset_pw_title": "Reset Password",
|
||||
"new_password_label": "New Password",
|
||||
"resetting": "Resetting…",
|
||||
"reset_btn": "Reset",
|
||||
"confirm_role_change": "Change role to {{role}}?",
|
||||
"confirm_deactivate": "Are you sure you want to deactivate this user?",
|
||||
"confirm_activate": "Are you sure you want to activate this user?",
|
||||
"confirm_delete_user": "DELETE user \"{{name}}\"? This cannot be undone!",
|
||||
"confirm_action": "Confirm Action",
|
||||
"confirm_yes": "Confirm",
|
||||
"confirm_no": "Cancel",
|
||||
"error_username_short": "Username must be at least 3 characters",
|
||||
"error_password_short": "Password must be at least 8 characters",
|
||||
"error_generic": "Failed",
|
||||
"error_network": "Network error: {{message}}",
|
||||
"error_create_user": "Failed to create user"
|
||||
},
|
||||
"profile": {
|
||||
"page_title": "Profile",
|
||||
"back_to_app": "Back to OxiCloud",
|
||||
"loading": "Loading…",
|
||||
"not_authenticated": "Not Authenticated",
|
||||
"not_authenticated_desc": "Please sign in to view your profile.",
|
||||
"sign_in": "Sign in",
|
||||
"role_admin": "Administrator",
|
||||
"role_user": "User",
|
||||
"account_details": "Account Details",
|
||||
"username": "Username",
|
||||
"email": "Email",
|
||||
"role": "Role",
|
||||
"last_login": "Last Login",
|
||||
"storage": "Storage",
|
||||
"used": "Used",
|
||||
"quota": "Quota",
|
||||
"usage": "Usage",
|
||||
"unlimited": "Unlimited",
|
||||
"app_passwords": "App Passwords",
|
||||
"app_pw_desc": "Generate passwords for WebDAV, CalDAV, and CardDAV clients. Each password is shown only once.",
|
||||
"app_pw_label_placeholder": "Label (e.g. Thunderbird, macOS)",
|
||||
"generate": "Generate",
|
||||
"generating": "Generating…",
|
||||
"new_password_for": "New password for",
|
||||
"copy_warning": "Copy this password now. You won't be able to see it again.",
|
||||
"copy_to_clipboard": "Copy to clipboard",
|
||||
"col_label": "Label",
|
||||
"col_created": "Created",
|
||||
"col_last_used": "Last Used",
|
||||
"col_status": "Status",
|
||||
"active": "Active",
|
||||
"revoked": "Revoked",
|
||||
"revoke_title": "Revoke",
|
||||
"no_app_passwords": "No app passwords yet.",
|
||||
"client_sessions": "Client sessions",
|
||||
"client_sessions_desc": "Auto-generated when you connect a Nextcloud-compatible client.",
|
||||
"col_client": "Client",
|
||||
"never": "Never",
|
||||
"just_now": "Just now",
|
||||
"minutes_ago": "{{n}} min ago",
|
||||
"hours_ago": "{{n}}h ago",
|
||||
"days_ago": "{{n}} days ago",
|
||||
"change_password": "Change Password",
|
||||
"current_password": "Current Password",
|
||||
"new_password": "New Password",
|
||||
"min_8_chars": "At least 8 characters",
|
||||
"confirm_password": "Confirm New Password",
|
||||
"update_password": "Update Password",
|
||||
"updating": "Updating…",
|
||||
"password_updated": "Password updated successfully",
|
||||
"passwords_no_match": "Passwords do not match",
|
||||
"password_too_short": "Password must be at least 8 characters",
|
||||
"password_change_failed": "Failed to change password",
|
||||
"error_network": "Network error: {{message}}",
|
||||
"error_label_required": "Please enter a label",
|
||||
"error_create_pw": "Failed to create app password",
|
||||
"confirm_revoke": "Revoke app password \"{{label}}\"? Clients using this password will stop working.",
|
||||
"error_revoke": "Failed to revoke app password"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user