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:
Diocrafts
2026-03-09 00:08:34 +01:00
parent f409a9edd7
commit df336da679
43 changed files with 6645 additions and 2043 deletions
+183 -3
View File
@@ -96,7 +96,7 @@
"share_remove": "Share verwijderen",
"share_notifyTitle": "Notificatie verzenden",
"share_notifyEmailLabel": "E-mailadres:",
"share_notifyMessageLabel": "Bericht (optioneel):",
"share_notifyMessageLabel": "Bericht (optioneel):",
"share_notifySend": "Notificatie verzenden",
"shared": {
"backToFiles": "Terug naar Bestanden",
@@ -182,6 +182,7 @@
"size": "Grootte",
"modified": "Gewijzigd",
"no_files": "Geen bestanden in deze map",
"empty_hint": "Upload bestanden of maak mappen aan om te beginnen",
"loading": "Bestanden laden…",
"view_grid": "Rasterweergave",
"view_list": "Lijstweergave",
@@ -317,8 +318,8 @@
"zoom_reset": "Zoom terugzetten"
},
"language_selector": {
"title": "Welkom bij OxiCloud",
"subtitle": "Selecteer je taal",
"title": "Welkom!",
"subtitle": "Selecteer je taal om door te gaan",
"continue": "Doorgaan",
"languages": {
"en": "English",
@@ -367,5 +368,184 @@
"move_title": "Verplaats {count} item(s)",
"add_favorites": "Toevoegen aan favorieten",
"move_copy": "Verplaatsen of kopiëren"
},
"admin": {
"page_title": "Beheerderspaneel",
"back_to_app": "Terug naar OxiCloud",
"loading": "Laden…",
"access_denied": "Toegang geweigerd",
"access_denied_desc": "Beheerdersrechten vereist.",
"sign_in": "Inloggen",
"tab_dashboard": "Dashboard",
"tab_users": "Gebruikers",
"tab_oidc": "SSO / OIDC",
"total_users": "Totaal gebruikers",
"active_users": "Actieve gebruikers",
"admins": "Beheerders",
"version": "Versie",
"storage_overview": "Opslagoverzicht",
"used": "Gebruikt",
"total_quota": "Totaal quotum",
"usage_pct": "Gebruik %",
"users_over_80": "Gebruikers >80% quotum",
"users_over_quota": "Gebruikers boven quotum",
"system": "Systeem",
"auth_label": "Auth",
"oidc_label": "OIDC",
"quotas_label": "Quota",
"enabled": "Ingeschakeld",
"disabled": "Uitgeschakeld",
"active": "Actief",
"off": "Uit",
"allow_registration": "Openbare zelfregistratie toestaan",
"registration_warning": "Openbare registratie is uitgeschakeld. Alleen beheerders kunnen gebruikers aanmaken.",
"user_management": "Gebruikersbeheer",
"create_user": "Gebruiker aanmaken",
"col_user": "Gebruiker",
"col_role": "Rol",
"col_auth": "Auth",
"col_status": "Status",
"col_storage": "Opslag",
"col_last_login": "Laatste login",
"col_actions": "Acties",
"loading_users": "Gebruikers laden…",
"failed_load_users": "Laden mislukt",
"no_users_found": "Geen gebruikers gevonden",
"showing_users": "Toont {{from}}-{{to}} van {{total}}",
"prev": "Vorige",
"next": "Volgende",
"inactive": "Inactief",
"you_badge": "(jij)",
"local": "Lokaal",
"never": "Nooit",
"just_now": "Zojuist",
"minutes_ago": "{{n}}min geleden",
"hours_ago": "{{n}}u geleden",
"days_ago": "{{n}}d geleden",
"edit_quota_title": "Quotum bewerken",
"reset_password_title": "Wachtwoord resetten",
"toggle_role_title": "Rol wisselen",
"deactivate_title": "Deactiveren",
"activate_title": "Activeren",
"delete_title": "Verwijderen",
"sso_title": "Single Sign-On (OIDC / SSO)",
"enable_sso": "SSO-authenticatie inschakelen",
"provider_name": "Providernaam",
"issuer_url": "Uitgever-URL",
"issuer_url_hint": "OpenID Connect uitgever-URL",
"auto_discover": "Auto-ontdekking",
"discovering": "Ontdekken…",
"client_id": "Client-ID",
"client_secret": "Client-secret",
"client_secret_placeholder": "Laat leeg om huidige waarde te behouden",
"secret_configured": "Een client-secret is al geconfigureerd",
"callback_url": "Callback-URL",
"callback_url_hint": "(registreer bij uw IdP)",
"advanced_settings": "Geavanceerde instellingen",
"scopes": "Scopes",
"auto_provision": "Gebruikers automatisch aanmaken bij eerste login",
"admin_groups": "Beheergroepen",
"admin_groups_hint": "Kommagescheiden OIDC-groepsnamen",
"disable_password": "Wachtwoord-login uitschakelen (alleen OIDC)",
"password_warning": "Dit voorkomt ALLE logins op basis van wachtwoord!",
"test_btn": "Testen",
"save_btn": "Opslaan",
"saving": "Opslaan…",
"settings_saved": "Instellingen opgeslagen — OIDC is nu {{status}}",
"quota_modal_title": "Opslagquotum bijwerken",
"quota_user_label": "Gebruiker:",
"new_quota": "Nieuw quotum",
"quota_unlimited_hint": "0 voor onbeperkt",
"cancel": "Annuleren",
"create_user_title": "Nieuwe gebruiker aanmaken",
"username_label": "Gebruikersnaam",
"username_placeholder": "jandevries",
"username_hint": "3–32 tekens",
"password_label": "Wachtwoord",
"password_placeholder": "Min 8 tekens",
"email_label": "E-mail",
"email_optional": "(optioneel)",
"email_placeholder": "gebruiker@voorbeeld.nl (automatisch indien leeg)",
"role_label": "Rol",
"role_user": "Gebruiker",
"role_admin": "Beheerder",
"quota_label": "Quotum",
"creating": "Aanmaken…",
"reset_pw_title": "Wachtwoord resetten",
"new_password_label": "Nieuw wachtwoord",
"resetting": "Resetten…",
"reset_btn": "Resetten",
"confirm_role_change": "Rol wijzigen naar {{role}}?",
"confirm_deactivate": "Weet u zeker dat u deze gebruiker wilt deactiveren?",
"confirm_activate": "Weet u zeker dat u deze gebruiker wilt activeren?",
"confirm_delete_user": "Gebruiker \"{{name}}\" VERWIJDEREN? Kan niet ongedaan worden gemaakt!",
"confirm_action": "Actie bevestigen",
"confirm_yes": "Bevestigen",
"confirm_no": "Annuleren",
"error_username_short": "Gebruikersnaam moet minimaal 3 tekens bevatten",
"error_password_short": "Wachtwoord moet minimaal 8 tekens bevatten",
"error_generic": "Mislukt",
"error_network": "Netwerkfout: {{message}}",
"error_create_user": "Kan gebruiker niet aanmaken"
},
"profile": {
"page_title": "Profiel",
"back_to_app": "Terug naar OxiCloud",
"loading": "Laden…",
"not_authenticated": "Niet geauthenticeerd",
"not_authenticated_desc": "Log in om uw profiel te bekijken.",
"sign_in": "Inloggen",
"role_admin": "Beheerder",
"role_user": "Gebruiker",
"account_details": "Accountgegevens",
"username": "Gebruikersnaam",
"email": "E-mail",
"role": "Rol",
"last_login": "Laatste login",
"storage": "Opslag",
"used": "Gebruikt",
"quota": "Quotum",
"usage": "Gebruik",
"unlimited": "Onbeperkt",
"app_passwords": "App-wachtwoorden",
"app_pw_desc": "Genereer wachtwoorden voor WebDAV-, CalDAV- en CardDAV-clients. Elk wachtwoord wordt slechts één keer getoond.",
"app_pw_label_placeholder": "Label (bijv. Thunderbird, macOS)",
"generate": "Genereren",
"generating": "Genereren…",
"new_password_for": "Nieuw wachtwoord voor",
"copy_warning": "Kopieer dit wachtwoord nu. U kunt het niet opnieuw bekijken.",
"copy_to_clipboard": "Kopiëren naar klembord",
"col_label": "Label",
"col_created": "Aangemaakt",
"col_last_used": "Laatst gebruikt",
"col_status": "Status",
"active": "Actief",
"revoked": "Ingetrokken",
"revoke_title": "Intrekken",
"no_app_passwords": "Nog geen app-wachtwoorden.",
"client_sessions": "Clientsessies",
"client_sessions_desc": "Automatisch gegenereerd bij het verbinden van een Nextcloud-compatibele client.",
"col_client": "Client",
"never": "Nooit",
"just_now": "Zojuist",
"minutes_ago": "{{n}} min geleden",
"hours_ago": "{{n}}u geleden",
"days_ago": "{{n}} dagen geleden",
"change_password": "Wachtwoord wijzigen",
"current_password": "Huidig wachtwoord",
"new_password": "Nieuw wachtwoord",
"min_8_chars": "Minimaal 8 tekens",
"confirm_password": "Bevestig nieuw wachtwoord",
"update_password": "Wachtwoord bijwerken",
"updating": "Bijwerken…",
"password_updated": "Wachtwoord succesvol bijgewerkt",
"passwords_no_match": "Wachtwoorden komen niet overeen",
"password_too_short": "Wachtwoord moet minimaal 8 tekens bevatten",
"password_change_failed": "Wachtwoord wijzigen mislukt",
"error_network": "Netwerkfout: {{message}}",
"error_label_required": "Voer een label in",
"error_create_pw": "App-wachtwoord aanmaken mislukt",
"confirm_revoke": "App-wachtwoord \"{{label}}\" intrekken? Clients die dit wachtwoord gebruiken zullen stoppen.",
"error_revoke": "Intrekken mislukt"
}
}