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: '用戶認證',