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 -2
View File
@@ -142,6 +142,8 @@
"size": "大小",
"modified": "修改日期",
"no_files": "此文件夹中没有文件",
"empty_hint": "上传文件或创建文件夹以开始使用",
"loading": "正在加载文件…",
"view_grid": "网格视图",
"view_list": "列表视图",
"file_types": {
@@ -265,8 +267,8 @@
"zoom_reset": "重置缩放"
},
"language_selector": {
"title": "欢迎使用 OxiCloud",
"subtitle": "请选择您的语言",
"title": "欢迎!",
"subtitle": "选择您的语言以继续",
"continue": "继续",
"languages": {
"en": "English",
@@ -302,5 +304,184 @@
"move_title": "移动 {{count}} 个项目",
"add_favorites": "添加到收藏夹",
"move_copy": "移动或复制"
},
"admin": {
"page_title": "管理面板",
"back_to_app": "返回 OxiCloud",
"loading": "加载中…",
"access_denied": "拒绝访问",
"access_denied_desc": "需要管理员权限。",
"sign_in": "登录",
"tab_dashboard": "仪表盘",
"tab_users": "用户",
"tab_oidc": "SSO / OIDC",
"total_users": "用户总数",
"active_users": "活跃用户",
"admins": "管理员",
"version": "版本",
"storage_overview": "存储概览",
"used": "已使用",
"total_quota": "总配额",
"usage_pct": "使用率",
"users_over_80": "超过80%配额",
"users_over_quota": "超过配额",
"system": "系统",
"auth_label": "认证",
"oidc_label": "OIDC",
"quotas_label": "配额",
"enabled": "已启用",
"disabled": "已禁用",
"active": "活跃",
"off": "关闭",
"allow_registration": "允许公开自助注册",
"registration_warning": "公开注册已禁用。只有管理员可以创建新用户。",
"user_management": "用户管理",
"create_user": "创建用户",
"col_user": "用户",
"col_role": "角色",
"col_auth": "认证",
"col_status": "状态",
"col_storage": "存储",
"col_last_login": "最后登录",
"col_actions": "操作",
"loading_users": "正在加载用户…",
"failed_load_users": "加载失败",
"no_users_found": "未找到用户",
"showing_users": "显示 {{from}}-{{to}} / {{total}}",
"prev": "上一页",
"next": "下一页",
"inactive": "未激活",
"you_badge": "(你)",
"local": "本地",
"never": "从未",
"just_now": "刚刚",
"minutes_ago": "{{n}}分钟前",
"hours_ago": "{{n}}小时前",
"days_ago": "{{n}}天前",
"edit_quota_title": "编辑配额",
"reset_password_title": "重置密码",
"toggle_role_title": "切换角色",
"deactivate_title": "停用",
"activate_title": "启用",
"delete_title": "删除",
"sso_title": "单点登录 (OIDC / SSO)",
"enable_sso": "启用 SSO 认证",
"provider_name": "提供商名称",
"issuer_url": "发行者 URL",
"issuer_url_hint": "您的身份提供商的 OpenID Connect 发行者 URL",
"auto_discover": "自动发现",
"discovering": "发现中…",
"client_id": "客户端 ID",
"client_secret": "客户端密钥",
"client_secret_placeholder": "留空以保留当前值",
"secret_configured": "已配置客户端密钥",
"callback_url": "回调 URL",
"callback_url_hint": "(在您的 IdP 中注册)",
"advanced_settings": "高级设置",
"scopes": "范围",
"auto_provision": "首次登录时自动配置用户",
"admin_groups": "管理组",
"admin_groups_hint": "映射到管理员角色的逗号分隔 OIDC 组名",
"disable_password": "禁用密码登录 (仅 OIDC)",
"password_warning": "这将阻止所有基于密码的登录!",
"test_btn": "测试",
"save_btn": "保存",
"saving": "保存中…",
"settings_saved": "设置已保存 — OIDC 现在 {{status}}",
"quota_modal_title": "更新存储配额",
"quota_user_label": "用户:",
"new_quota": "新配额",
"quota_unlimited_hint": "0表示无限制",
"cancel": "取消",
"create_user_title": "创建新用户",
"username_label": "用户名",
"username_placeholder": "zhangsan",
"username_hint": "3–32个字符",
"password_label": "密码",
"password_placeholder": "至少8个字符",
"email_label": "邮箱",
"email_optional": "(可选)",
"email_placeholder": "user@example.com (留空自动生成)",
"role_label": "角色",
"role_user": "用户",
"role_admin": "管理员",
"quota_label": "配额",
"creating": "创建中…",
"reset_pw_title": "重置密码",
"new_password_label": "新密码",
"resetting": "重置中…",
"reset_btn": "重置",
"confirm_role_change": "将角色更改为 {{role}}?",
"confirm_deactivate": "确定要停用此用户吗?",
"confirm_activate": "确定要启用此用户吗?",
"confirm_delete_user": "删除用户 \"{{name}}\"?此操作无法撤消!",
"confirm_action": "确认操作",
"confirm_yes": "确认",
"confirm_no": "取消",
"error_username_short": "用户名至少需要3个字符",
"error_password_short": "密码至少需要8个字符",
"error_generic": "失败",
"error_network": "网络错误:{{message}}",
"error_create_user": "创建用户失败"
},
"profile": {
"page_title": "个人资料",
"back_to_app": "返回 OxiCloud",
"loading": "加载中…",
"not_authenticated": "未认证",
"not_authenticated_desc": "请登录以查看您的个人资料。",
"sign_in": "登录",
"role_admin": "管理员",
"role_user": "用户",
"account_details": "账户详情",
"username": "用户名",
"email": "邮箱",
"role": "角色",
"last_login": "最后登录",
"storage": "存储",
"used": "已使用",
"quota": "配额",
"usage": "使用率",
"unlimited": "无限制",
"app_passwords": "应用密码",
"app_pw_desc": "为 WebDAV、CalDAV 和 CardDAV 客户端生成密码。每个密码只显示一次。",
"app_pw_label_placeholder": "标签(如 Thunderbird、macOS)",
"generate": "生成",
"generating": "生成中…",
"new_password_for": "新密码用于",
"copy_warning": "请立即复制此密码,之后将无法再次查看。",
"copy_to_clipboard": "复制到剪贴板",
"col_label": "标签",
"col_created": "创建时间",
"col_last_used": "最后使用",
"col_status": "状态",
"active": "活跃",
"revoked": "已撤销",
"revoke_title": "撤销",
"no_app_passwords": "暂无应用密码。",
"client_sessions": "客户端会话",
"client_sessions_desc": "连接 Nextcloud 兼容客户端时自动生成。",
"col_client": "客户端",
"never": "从未",
"just_now": "刚刚",
"minutes_ago": "{{n}}分钟前",
"hours_ago": "{{n}}小时前",
"days_ago": "{{n}}天前",
"change_password": "修改密码",
"current_password": "当前密码",
"new_password": "新密码",
"min_8_chars": "至少8个字符",
"confirm_password": "确认新密码",
"update_password": "更新密码",
"updating": "更新中…",
"password_updated": "密码更新成功",
"passwords_no_match": "密码不匹配",
"password_too_short": "密码至少需要8个字符",
"password_change_failed": "修改密码失败",
"error_network": "网络错误:{{message}}",
"error_label_required": "请输入标签",
"error_create_pw": "创建应用密码失败",
"confirm_revoke": "撤销应用密码\"{{label}}\"?使用此密码的客户端将停止工作。",
"error_revoke": "撤销失败"
}
}