Browse Source

add es lang

lejianwen 1 year ago
parent
commit
ce242e344a

+ 1 - 1
src/layout/components/menu/index.vue

@@ -47,7 +47,7 @@
47
     min-height: 100vh;
47
     min-height: 100vh;
48
     border-right: none;
48
     border-right: none;
49
     &:not(.el-menu--collapse) {
49
     &:not(.el-menu--collapse) {
50
-      width: 210px;
50
+      width: var(--sideBarWidth);
51
     }
51
     }
52
 
52
 
53
   }
53
   }

+ 4 - 5
src/layout/index.vue

@@ -1,6 +1,6 @@
1
 <template>
1
 <template>
2
-  <el-config-provider :locale="appStore.setting.locale">
3
-    <el-container>
2
+  <el-config-provider :locale="appStore.setting.locale.value">
3
+    <el-container :style="{'--sideBarWidth': sideBarWidth}">
4
       <el-aside :width="leftWidth" class="app-left">
4
       <el-aside :width="leftWidth" class="app-left">
5
         <g-aside></g-aside>
5
         <g-aside></g-aside>
6
       </el-aside>
6
       </el-aside>
@@ -27,7 +27,6 @@
27
 </template>
27
 </template>
28
 
28
 
29
 <script setup>
29
 <script setup>
30
-  import { useUserStore } from '@/store/user'
31
   import { useAppStore } from '@/store/app'
30
   import { useAppStore } from '@/store/app'
32
   import { useTagsStore } from '@/store/tags'
31
   import { useTagsStore } from '@/store/tags'
33
   import { ref, computed } from 'vue'
32
   import { ref, computed } from 'vue'
@@ -37,8 +36,8 @@
37
 
36
 
38
   const appStore = useAppStore()
37
   const appStore = useAppStore()
39
   const tagStore = useTagsStore()
38
   const tagStore = useTagsStore()
40
-
41
-  const leftWidth = computed(() => appStore.setting.sideIsCollapse ? '64px' : '210px')
39
+  const sideBarWidth = computed(() => appStore.setting.locale.sideBarWidth)
40
+  const leftWidth = computed(() => appStore.setting.sideIsCollapse ? '64px' : 'var(--sideBarWidth)')
42
 
41
 
43
   const cachedTags = ref([])
42
   const cachedTags = ref([])
44
 
43
 

+ 13 - 10
src/store/app.js

@@ -4,14 +4,17 @@ import zhCn from 'element-plus/es/locale/lang/zh-cn'
4
 import en from 'element-plus/es/locale/lang/en'
4
 import en from 'element-plus/es/locale/lang/en'
5
 import ko from 'element-plus/es/locale/lang/ko'
5
 import ko from 'element-plus/es/locale/lang/ko'
6
 import ru from 'element-plus/es/locale/lang/ru'
6
 import ru from 'element-plus/es/locale/lang/ru'
7
+import es from 'element-plus/es/locale/lang/es'
7
 import { admin, app } from '@/api/config'
8
 import { admin, app } from '@/api/config'
8
 
9
 
9
 const langs = {
10
 const langs = {
10
-  'zh-CN': { name: '中文', value: zhCn },
11
-  'en': { name: 'English', value: en },
12
-  'ko': { name: '한국어', value: ko },
13
-  'ru': { name: 'русский', value: ru },
11
+  'zh-CN': { name: '中文', value: zhCn, sideBarWidth: '210px' },
12
+  'en': { name: 'English', value: en, sideBarWidth: '230px' },
13
+  'ko': { name: '한국어', value: ko, sideBarWidth: '230px' },
14
+  'ru': { name: 'русский', value: ru, sideBarWidth: '250px' },
15
+  'es': { name: 'español', value: es, sideBarWidth: '280px' },
14
 }
16
 }
17
+const defaultLang = localStorage.getItem('lang') || navigator.language || 'zh-CN'
15
 export const useAppStore = defineStore({
18
 export const useAppStore = defineStore({
16
   id: 'App',
19
   id: 'App',
17
   state: () => ({
20
   state: () => ({
@@ -21,8 +24,8 @@ export const useAppStore = defineStore({
21
       sideIsCollapse: false,
24
       sideIsCollapse: false,
22
       logo,
25
       logo,
23
       langs: langs,
26
       langs: langs,
24
-      lang: localStorage.getItem('lang') || 'zh-CN',
25
-      locale: langs[(localStorage.getItem('lang') || 'zh-CN')].value,
27
+      lang: defaultLang,
28
+      locale: langs[defaultLang] ? langs[defaultLang] : langs['en'],
26
       appConfig: {
29
       appConfig: {
27
         web_client: 1,
30
         web_client: 1,
28
       },
31
       },
@@ -36,13 +39,13 @@ export const useAppStore = defineStore({
36
     setLang (lang) {
39
     setLang (lang) {
37
       console.log('setLang', lang)
40
       console.log('setLang', lang)
38
       this.setting.lang = lang
41
       this.setting.lang = lang
39
-      this.setting.locale = langs[lang].value
42
+      this.setting.locale = langs[lang]
40
       localStorage.setItem('lang', lang)
43
       localStorage.setItem('lang', lang)
41
     },
44
     },
42
     changeLang (v) {
45
     changeLang (v) {
43
       this.setLang(v)
46
       this.setLang(v)
44
     },
47
     },
45
-    loadConfig(){
48
+    loadConfig () {
46
       this.getAppConfig()
49
       this.getAppConfig()
47
       this.getAdminConfig()
50
       this.getAdminConfig()
48
     },
51
     },
@@ -52,13 +55,13 @@ export const useAppStore = defineStore({
52
         this.setting.appConfig = res.data
55
         this.setting.appConfig = res.data
53
       })
56
       })
54
     },
57
     },
55
-    getAdminConfig(){
58
+    getAdminConfig () {
56
       console.log('getAdminConfig')
59
       console.log('getAdminConfig')
57
       admin().then(res => {
60
       admin().then(res => {
58
         this.setting.title = res.data.title
61
         this.setting.title = res.data.title
59
         this.setting.hello = res.data.hello
62
         this.setting.hello = res.data.hello
60
       })
63
       })
61
-    }
64
+    },
62
   },
65
   },
63
 })
66
 })
64
 
67
 

+ 0 - 1
src/styles/style.scss

@@ -2,7 +2,6 @@ $basicBlack: #000000;
2
 $basicWhite: #ffffff;
2
 $basicWhite: #ffffff;
3
 
3
 
4
 $primaryColor: #409eff;
4
 $primaryColor: #409eff;
5
-$sideBarWidth: 210px;
6
 
5
 
7
 :root {
6
 :root {
8
   --basicBlack: #000000;
7
   --basicBlack: #000000;

+ 3 - 1
src/utils/i18n.js

@@ -2,6 +2,7 @@ import en from '@/utils/i18n/en.json'
2
 import zhCN from '@/utils/i18n/zh_CN.json'
2
 import zhCN from '@/utils/i18n/zh_CN.json'
3
 import ko from '@/utils/i18n/ko.json'
3
 import ko from '@/utils/i18n/ko.json'
4
 import ru from '@/utils/i18n/ru.json'
4
 import ru from '@/utils/i18n/ru.json'
5
+import es from '@/utils/i18n/es.json'
5
 import { useAppStore } from '@/store/app'
6
 import { useAppStore } from '@/store/app'
6
 
7
 
7
 export function T (key, params, num = 0) {
8
 export function T (key, params, num = 0) {
@@ -12,8 +13,9 @@ export function T (key, params, num = 0) {
12
     'zh-CN': zhCN,
13
     'zh-CN': zhCN,
13
     'ko': ko,
14
     'ko': ko,
14
     'ru': ru,
15
     'ru': ru,
16
+    'es': es,
15
   }
17
   }
16
-  const tran = trans[lang][key]
18
+  const tran = trans[lang]?.[key]
17
   if (!tran) {
19
   if (!tran) {
18
     return key
20
     return key
19
   }
21
   }

+ 457 - 0
src/utils/i18n/es.json

@@ -0,0 +1,457 @@
1
+{
2
+  "Login": {
3
+    "One": "Iniciar sesión"
4
+  },
5
+  "Logout": {
6
+    "One": "Cerrar sesión"
7
+  },
8
+  "Register": {
9
+    "One": "Registrar"
10
+  },
11
+  "Confirm": {
12
+    "One": "Confirmar"
13
+  },
14
+  "Username": {
15
+    "One": "Nombre de usuario"
16
+  },
17
+  "Password": {
18
+    "One": "Contraseña"
19
+  },
20
+  "LoginSuccess": {
21
+    "One": "Inicio de sesión exitoso"
22
+  },
23
+  "ForgotPassword": {
24
+    "One": "Olvidó su contraseña"
25
+  },
26
+  "ResetPassword": {
27
+    "One": "Restablecer contraseña"
28
+  },
29
+  "ChangePassword": {
30
+    "One": "Cambiar contraseña"
31
+  },
32
+  "Userinfo": {
33
+    "One": "Información del usuario"
34
+  },
35
+  "ParamRequired": {
36
+    "One": "{param} es requerido"
37
+  },
38
+  "HasBind": {
39
+    "One": "Está vinculado"
40
+  },
41
+  "NoBind": {
42
+    "One": "No está vinculado"
43
+  },
44
+  "UnBind": {
45
+    "One": "Desvincular"
46
+  },
47
+  "ToBind": {
48
+    "One": "Vincular"
49
+  },
50
+  "Confirm?": {
51
+    "One": "¿Confirmar {param}?"
52
+  },
53
+  "Cancel": {
54
+    "One": "Cancelar"
55
+  },
56
+  "Platform": {
57
+    "One": "Plataforma"
58
+  },
59
+  "Status": {
60
+    "One": "Estado"
61
+  },
62
+  "Actions": {
63
+    "One": "Acciones"
64
+  },
65
+  "Filter": {
66
+    "One": "Filtrar"
67
+  },
68
+  "Add": {
69
+    "One": "Agregar"
70
+  },
71
+  "Hostname": {
72
+    "One": "Nombre del host"
73
+  },
74
+  "Alias": {
75
+    "One": "Alias"
76
+  },
77
+  "Hash": {
78
+    "One": "Hash"
79
+  },
80
+  "Tags": {
81
+    "One": "Etiquetas"
82
+  },
83
+  "Edit": {
84
+    "One": "Editar"
85
+  },
86
+  "Delete": {
87
+    "One": "Eliminar"
88
+  },
89
+  "Create": {
90
+    "One": "Crear"
91
+  },
92
+  "Update": {
93
+    "One": "Actualizar"
94
+  },
95
+  "LoginName": {
96
+    "One": "Nombre de inicio de sesión"
97
+  },
98
+  "Submit": {
99
+    "One": "Enviar"
100
+  },
101
+  "OperationSuccess": {
102
+    "One": "Operación exitosa"
103
+  },
104
+  "Owner": {
105
+    "One": "Propietario"
106
+  },
107
+  "Name": {
108
+    "One": "Nombre"
109
+  },
110
+  "Color": {
111
+    "One": "Color"
112
+  },
113
+  "CreatedAt": {
114
+    "One": "Creado en"
115
+  },
116
+  "UpdatedAt": {
117
+    "One": "Actualizado en"
118
+  },
119
+  "Memory": {
120
+    "One": "Memoria"
121
+  },
122
+  "Os": {
123
+    "One": "Sistema operativo"
124
+  },
125
+  "Uuid": {
126
+    "One": "Uuid"
127
+  },
128
+  "Version": {
129
+    "One": "Versión"
130
+  },
131
+  "Type": {
132
+    "One": "Tipo"
133
+  },
134
+  "Group": {
135
+    "One": "Grupo"
136
+  },
137
+  "CommonGroup": {
138
+    "One": "Grupo común"
139
+  },
140
+  "CommonGroupNote": {
141
+    "One": "Solo los administradores pueden ver a los miembros del grupo y sus dispositivos"
142
+  },
143
+  "SharedGroup": {
144
+    "One": "Grupo compartido"
145
+  },
146
+  "SharedGroupNote": {
147
+    "One": "Todos los usuarios pueden ver a los miembros del grupo y sus dispositivos"
148
+  },
149
+  "Nickname": {
150
+    "One": "Apodo"
151
+  },
152
+  "UserTags": {
153
+    "One": "Etiquetas de usuario"
154
+  },
155
+  "UserAddressBook": {
156
+    "One": "Libreta de direcciones de usuario"
157
+  },
158
+  "IsAdmin": {
159
+    "One": "Es administrador"
160
+  },
161
+  "PleaseInputNewPassword": {
162
+    "One": "Por favor, introduzca una nueva contraseña"
163
+  },
164
+  "AutoRegister": {
165
+    "One": "Registro automático"
166
+  },
167
+  "AutoRegisterNote": {
168
+    "One": "Si está habilitado, se registrará automáticamente una cuenta cuando un usuario inicie sesión con OAuth sin vincular una cuenta existente"
169
+  },
170
+  "ThirdName": {
171
+    "One": "Nombre tercero"
172
+  },
173
+  "Close": {
174
+    "One": "Cerrar"
175
+  },
176
+  "OauthBinding": {
177
+    "One": "Está autorizando la vinculación"
178
+  },
179
+  "OauthLogining": {
180
+    "One": "Está autorizando el inicio de sesión"
181
+  },
182
+  "OauthCloseNote": {
183
+    "One": "Si no fue autorizado por usted, cierre directamente la página"
184
+  },
185
+  "OperationSuccessAndCloseAfter3Seconds": {
186
+    "One": "Operación exitosa, cierre después de 3 segundos"
187
+  },
188
+  "ConfirmOauth": {
189
+    "One": "Confirmar OAuth"
190
+  },
191
+  "Device": {
192
+    "One": "Dispositivo"
193
+  },
194
+  "ChangeLang": {
195
+    "One": "Cambiar a chino"
196
+  },
197
+  "My": {
198
+    "One": "Mi"
199
+  },
200
+  "Info": {
201
+    "One": "Información"
202
+  },
203
+  "AddressBooks": {
204
+    "One": "Libretas de direcciones"
205
+  },
206
+  "System": {
207
+    "One": "Sistema"
208
+  },
209
+  "PeerManage": {
210
+    "One": "Pares"
211
+  },
212
+  "AddressBookManage": {
213
+    "One": "Libretas de direcciones"
214
+  },
215
+  "GroupManage": {
216
+    "One": "Grupos"
217
+  },
218
+  "UserManage": {
219
+    "One": "Usuarios"
220
+  },
221
+  "UserAdd": {
222
+    "One": "Agregar usuario"
223
+  },
224
+  "UserEdit": {
225
+    "One": "Editar usuario"
226
+  },
227
+  "TagsManage": {
228
+    "One": "Etiquetas"
229
+  },
230
+  "OauthManage": {
231
+    "One": "OAuth"
232
+  },
233
+  "LoginLog": {
234
+    "One": "Registro de inicio de sesión"
235
+  },
236
+  "LastOnlineTime": {
237
+    "One": "Última vez en línea"
238
+  },
239
+  "JustNow": {
240
+    "One": "Justo ahora"
241
+  },
242
+  "MinutesAgo": {
243
+    "One": "Hace {param} minuto",
244
+    "Other": "Hace {param} minutos"
245
+  },
246
+  "HoursAgo": {
247
+    "One": "Hace {param} hora",
248
+    "Other": "Hace {param} horas"
249
+  },
250
+  "DaysAgo": {
251
+    "One": "Hace {param} día",
252
+    "Other": "Hace {param} días"
253
+  },
254
+  "MonthsAgo": {
255
+    "One": "Hace {param} mes",
256
+    "Other": "Hace {param} meses"
257
+  },
258
+  "YearsAgo": {
259
+    "One": "Hace {param} año",
260
+    "Other": "Hace {param} años"
261
+  },
262
+  "MinutesLess": {
263
+    "One": "Menos de {param} minuto",
264
+    "Other": "Menos de {param} minutos"
265
+  },
266
+  "HoursLess": {
267
+    "One": "Menos de {param} hora",
268
+    "Other": "Menos de {param} horas"
269
+  },
270
+  "DaysLess": {
271
+    "One": "Menos de {param} día",
272
+    "Other": "Menos de {param} días"
273
+  },
274
+  "Export": {
275
+    "One": "Exportar"
276
+  },
277
+  "AddToAddressBook": {
278
+    "One": "Agregar a la libreta de direcciones"
279
+  },
280
+  "BatchDelete": {
281
+    "One": "Eliminar por lotes"
282
+  },
283
+  "PleaseSelectData": {
284
+    "One": "Por favor, seleccione datos"
285
+  },
286
+  "PasswordType": {
287
+    "One": "Tipo de contraseña"
288
+  },
289
+  "OncePassword": {
290
+    "One": "Contraseña de un solo uso"
291
+  },
292
+  "FixedPassword": {
293
+    "One": "Contraseña fija"
294
+  },
295
+  "FixedPasswordWarning": {
296
+    "One": "Las contraseñas fijas pueden ser filtradas, por favor úselas con precaución. Se recomienda usar contraseñas de un solo uso."
297
+  },
298
+  "ExpireTime": {
299
+    "One": "Tiempo de expiración"
300
+  },
301
+  "ShareByWebClient": {
302
+    "One": "Compartir por cliente web"
303
+  },
304
+  "Minutes": {
305
+    "One": "{param} minuto",
306
+    "Other": "{param} minutos"
307
+  },
308
+  "Hours": {
309
+    "One": "{param} hora",
310
+    "Other": "{param} horas"
311
+  },
312
+  "Days": {
313
+    "One": "{param} día",
314
+    "Other": "{param} días"
315
+  },
316
+  "Weeks": {
317
+    "One": "{param} semana",
318
+    "Other": "{param} semanas"
319
+  },
320
+  "Months": {
321
+    "One": "{param} mes",
322
+    "Other": "{param} meses"
323
+  },
324
+  "Forever": {
325
+    "One": "Para siempre"
326
+  },
327
+  "Error": {
328
+    "One": "Error"
329
+  },
330
+  "IDNotExist": {
331
+    "One": "El ID no existe"
332
+  },
333
+  "RemoteDesktopOffline": {
334
+    "One": "El escritorio remoto está fuera de línea"
335
+  },
336
+  "KeyMismatch": {
337
+    "One": "La clave no coincide"
338
+  },
339
+  "KeyOveruse": {
340
+    "One": "Uso excesivo de la clave"
341
+  },
342
+  "Link": {
343
+    "One": "Enlace"
344
+  },
345
+  "CopySuccess": {
346
+    "One": "Copia exitosa"
347
+  },
348
+  "CopyFailed": {
349
+    "One": "Copia fallida"
350
+  },
351
+  "Timeout": {
352
+    "One": "Tiempo de espera agotado"
353
+  },
354
+  "AuditConnLog": {
355
+    "One": "Registro de conexiones"
356
+  },
357
+  "Peer": {
358
+    "One": "Par",
359
+    "Other": "Pares"
360
+  },
361
+  "FromPeer": {
362
+    "One": "Desde el par"
363
+  },
364
+  "FromName": {
365
+    "One": "Desde el nombre"
366
+  },
367
+  "CloseTime": {
368
+    "One": "Hora de cierre"
369
+  },
370
+  "AuditFileLog": {
371
+    "One": "Registro de archivos"
372
+  },
373
+  "Common": {
374
+    "One": "Común"
375
+  },
376
+  "File": {
377
+    "One": "Archivo"
378
+  },
379
+  "Num": {
380
+    "One": "Número"
381
+  },
382
+  "Ip": {
383
+    "One": "Ip"
384
+  },
385
+  "FileName": {
386
+    "One": "Nombre del archivo"
387
+  },
388
+  "FileInfo": {
389
+    "One": "Información del archivo"
390
+  },
391
+  "Path": {
392
+    "One": "Ruta"
393
+  },
394
+  "IndexNum": {
395
+    "One": "Número de índice"
396
+  },
397
+  "ToRemote": {
398
+    "One": "A remoto"
399
+  },
400
+  "ToLocal": {
401
+    "One": "A local"
402
+  },
403
+  "AddressBookName": {
404
+    "One": "Nombre de la libreta"
405
+  },
406
+  "AddRule": {
407
+    "One": "Agregar regla"
408
+  },
409
+  "ShareRules": {
410
+    "One": "Reglas de compartición"
411
+  },
412
+  "Rule": {
413
+    "One": "Regla"
414
+  },
415
+  "Read": {
416
+    "One": "Leer"
417
+  },
418
+  "ReadWrite": {
419
+    "One": "Leer y escribir"
420
+  },
421
+  "FullControl": {
422
+    "One": "Control total"
423
+  },
424
+  "ShareTo": {
425
+    "One": "Compartir con"
426
+  },
427
+  "MyAddressBook": {
428
+    "One": "Mi libreta de direcciones"
429
+  },
430
+  "AddressBook": {
431
+    "One": "Libreta de direcciones"
432
+  },
433
+  "AddressBookNameManage": {
434
+    "One": "Nombre de la libreta"
435
+  },
436
+  "MyAddressBookTips": {
437
+    "One": "\"Mi libreta de direcciones\" es la predeterminada del sistema, no puede ser modificada ni eliminada."
438
+  },
439
+  "LastOnlineIp": {
440
+    "One": "Última IP en línea"
441
+  },
442
+  "ConfirmPassword": {
443
+    "One": "Confirmar contraseña"
444
+  },
445
+  "PasswordNotMatchConfirmPassword": {
446
+    "One": "La contraseña no coincide con la contraseña de confirmación"
447
+  },
448
+  "ToLogin": {
449
+    "One": "Iniciar sesión"
450
+  },
451
+  "UserToken": {
452
+    "One": "Token del usuario"
453
+  },
454
+  "MyPeer": {
455
+    "One": "Mis pares"
456
+  }
457
+}

+ 3 - 0
src/utils/i18n/ko.json

@@ -436,5 +436,8 @@
436
   },
436
   },
437
   "UserToken": {
437
   "UserToken": {
438
     "One": "사용자 토큰"
438
     "One": "사용자 토큰"
439
+  },
440
+  "MyPeer": {
441
+    "One": "내 피어"
439
   }
442
   }
440
 }
443
 }

+ 4 - 1
src/utils/i18n/ru.json

@@ -30,7 +30,7 @@
30
     "One": "Сменить пароль"
30
     "One": "Сменить пароль"
31
   },
31
   },
32
   "Userinfo": {
32
   "Userinfo": {
33
-    "One": "Информация о пользователе"
33
+    "One": "Данные пользователя"
34
   },
34
   },
35
   "ParamRequired": {
35
   "ParamRequired": {
36
     "One": "{param} обязательный"
36
     "One": "{param} обязательный"
@@ -450,6 +450,9 @@
450
   },
450
   },
451
   "UserToken": {
451
   "UserToken": {
452
     "One": "Токен пользователя"
452
     "One": "Токен пользователя"
453
+  },
454
+  "MyPeer": {
455
+    "One": "Мои партнеры"
453
   }
456
   }
454
 }
457
 }
455
 
458
 

+ 1 - 1
src/views/audit/connList.vue

@@ -9,7 +9,7 @@
9
           <el-input v-model="listQuery.from_peer" clearable></el-input>
9
           <el-input v-model="listQuery.from_peer" clearable></el-input>
10
         </el-form-item>
10
         </el-form-item>
11
         <el-form-item>
11
         <el-form-item>
12
-          <el-button type="primary" @click="handlerQuery">筛选</el-button>
12
+          <el-button type="primary" @click="handlerQuery">{{ T('Filter') }}</el-button>
13
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
13
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
14
         </el-form-item>
14
         </el-form-item>
15
       </el-form>
15
       </el-form>

+ 1 - 1
src/views/audit/fileList.vue

@@ -9,7 +9,7 @@
9
           <el-input v-model="listQuery.from_peer" clearable></el-input>
9
           <el-input v-model="listQuery.from_peer" clearable></el-input>
10
         </el-form-item>
10
         </el-form-item>
11
         <el-form-item>
11
         <el-form-item>
12
-          <el-button type="primary" @click="handlerQuery">筛选</el-button>
12
+          <el-button type="primary" @click="handlerQuery">{{ T('Filter') }}</el-button>
13
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
13
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
14
         </el-form-item>
14
         </el-form-item>
15
       </el-form>
15
       </el-form>

+ 2 - 2
src/views/login/log.vue

@@ -13,7 +13,7 @@
13
           </el-select>
13
           </el-select>
14
         </el-form-item>
14
         </el-form-item>
15
         <el-form-item>
15
         <el-form-item>
16
-          <el-button type="primary" @click="handlerQuery">筛选</el-button>
16
+          <el-button type="primary" @click="handlerQuery">{{ T('Filter')}}</el-button>
17
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
17
           <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
18
         </el-form-item>
18
         </el-form-item>
19
       </el-form>
19
       </el-form>
@@ -36,7 +36,7 @@
36
         <el-table-column prop="created_at" :label="T('CreatedAt')" align="center"/>
36
         <el-table-column prop="created_at" :label="T('CreatedAt')" align="center"/>
37
         <el-table-column :label="T('Actions')" align="center" width="400">
37
         <el-table-column :label="T('Actions')" align="center" width="400">
38
           <template #default="{row}">
38
           <template #default="{row}">
39
-            <el-button type="danger" @click="del(row)">删除</el-button>
39
+            <el-button type="danger" @click="del(row)">{{T('Delete')}}</el-button>
40
           </template>
40
           </template>
41
         </el-table-column>
41
         </el-table-column>
42
       </el-table>
42
       </el-table>

+ 1 - 1
src/views/user/token.vue

@@ -13,7 +13,7 @@
13
           </el-select>
13
           </el-select>
14
         </el-form-item>
14
         </el-form-item>
15
         <el-form-item>
15
         <el-form-item>
16
-          <el-button type="primary" @click="handlerQuery">筛选</el-button>
16
+          <el-button type="primary" @click="handlerQuery">{{ T('Filter')}}</el-button>
17
         </el-form-item>
17
         </el-form-item>
18
       </el-form>
18
       </el-form>
19
     </el-card>
19
     </el-card>