diff --git a/src/components/cards/UserCard.vue b/src/components/cards/UserCard.vue index 5545ed9d..176d3ab2 100644 --- a/src/components/cards/UserCard.vue +++ b/src/components/cards/UserCard.vue @@ -7,6 +7,10 @@ import { useToast } from 'vue-toast-notification' import { useConfirm } from 'vuetify-use-dialog' import UserAddEditDialog from '@/components/dialog/UserAddEditDialog.vue' import { useDisplay } from 'vuetify' +import { useI18n } from 'vue-i18n' + +// 国际化 +const { t } = useI18n() // 扩展User类型以包含昵称字段 interface ExtendedUser extends User { @@ -77,21 +81,21 @@ async function fetchSubscriptions() { // 删除用户 async function removeUser() { if (props.user.id === currentLoginUserId.value) { - $toast.error('不能删除当前登录用户!') + $toast.error(t('user.cannotDeleteCurrentUser')) return } try { const isConfirmed = await createConfirm({ - title: '注意', - content: `删除用户 ${props.user?.name} 的所有数据,是否确认?`, + title: t('common.confirm'), + content: t('user.confirmDeleteUser', { username: props.user?.name }), }) if (!isConfirmed) return const result: { [key: string]: any } = await api.delete(`user/id/${props.user.id}`) if (result.success) { - $toast.success('用户删除成功') + $toast.success(t('user.deleteSuccess')) emit('remove') } else { - $toast.error('用户删除失败!') + $toast.error(t('user.deleteFailed')) } } catch (error) { console.log(error) @@ -170,10 +174,12 @@ onMounted(() => {
- 管理员 - 普通用户 + {{ + t('user.admin') + }} + {{ t('user.normal') }} - {{ user.is_active ? '激活' : '已停用' }} + {{ user.is_active ? t('user.active') : t('user.inactive') }} 2FA
@@ -226,7 +232,7 @@ onMounted(() => { - {{ user.email || '未设置邮箱' }} + {{ user.email || t('user.noEmail') }} @@ -246,7 +252,7 @@ onMounted(() => {
{{ movieSubscriptions }} - 电影订阅 + {{ t('user.movieSubscriptions') }}
@@ -263,7 +269,7 @@ onMounted(() => {
{{ tvShowSubscriptions }} - 剧集订阅 + {{ t('user.tvSubscriptions') }}
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index aed8528a..bc7c1d34 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -194,8 +194,17 @@ export default { bangumi: 'Bangumi', }, user: { - admin: 'Administrator', - normalUser: 'Regular User', + admin: 'Admin', + normal: 'Normal User', + active: 'Active', + inactive: 'Inactive', + noEmail: 'No Email', + movieSubscriptions: 'Movie Subscriptions', + tvSubscriptions: 'TV Show Subscriptions', + cannotDeleteCurrentUser: 'Cannot delete the currently logged in user!', + confirmDeleteUser: 'Are you sure you want to delete all data of user {username}?', + deleteSuccess: 'User deleted successfully', + deleteFailed: 'Failed to delete user!', profile: 'Profile', systemSettings: 'System Settings', siteAuth: 'User Authentication', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 5ea969dc..d355bc1c 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -195,7 +195,16 @@ export default { }, user: { admin: '管理员', - normalUser: '普通用户', + normal: '普通用户', + active: '激活', + inactive: '已停用', + noEmail: '未设置邮箱', + movieSubscriptions: '电影订阅', + tvSubscriptions: '剧集订阅', + cannotDeleteCurrentUser: '不能删除当前登录用户!', + confirmDeleteUser: '删除用户 {username} 的所有数据,是否确认?', + deleteSuccess: '用户删除成功', + deleteFailed: '用户删除失败!', profile: '个人信息', systemSettings: '系统设定', siteAuth: '用户认证', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index 000ad263..ddece192 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -195,7 +195,16 @@ export default { }, user: { admin: '管理員', - normalUser: '普通用戶', + normal: '普通用戶', + active: '激活', + inactive: '已停用', + noEmail: '未設置郵箱', + movieSubscriptions: '電影訂閱', + tvSubscriptions: '劇集訂閱', + cannotDeleteCurrentUser: '不能刪除當前登入用戶!', + confirmDeleteUser: '刪除用戶 {username} 的所有數據,是否確認?', + deleteSuccess: '用戶刪除成功', + deleteFailed: '用戶刪除失敗!', profile: '個人信息', systemSettings: '系統設定', siteAuth: '用戶認證',