Browse Source

add ru lang

ljw 1 year ago
parent
commit
67ecc0192b
3 changed files with 413 additions and 1 deletions
  1. 7 1
      src/store/app.js
  2. 2 0
      src/utils/i18n.js
  3. 404 0
      src/utils/i18n/ru.json

+ 7 - 1
src/store/app.js

@@ -3,9 +3,15 @@ import logo from '@/assets/logo.png'
3 3
 import zhCn from 'element-plus/es/locale/lang/zh-cn'
4 4
 import en from 'element-plus/es/locale/lang/en'
5 5
 import ko from 'element-plus/es/locale/lang/ko'
6
+import ru from 'element-plus/es/locale/lang/ru'
6 7
 import { appConfig } from '@/api/rustdesk'
7 8
 
8
-const langs = { 'zh-CN': { name: '中文', value: zhCn }, 'en': { name: 'English', value: en }, 'ko': { name: '한국어', value: ko } }
9
+const langs = {
10
+  'zh-CN': { name: '中文', value: zhCn },
11
+  'en': { name: 'English', value: en },
12
+  'ko': { name: '한국어', value: ko },
13
+  'ru': { name: 'русский', value: ru },
14
+}
9 15
 export const useAppStore = defineStore({
10 16
   id: 'App',
11 17
   state: () => ({

+ 2 - 0
src/utils/i18n.js

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

+ 404 - 0
src/utils/i18n/ru.json

@@ -0,0 +1,404 @@
1
+{
2
+  "Login": {
3
+    "One": "Вход"
4
+  },
5
+  "Logout": {
6
+    "One": "Выход"
7
+  },
8
+  "Register": {
9
+    "One": "Регистрация"
10
+  },
11
+  "Confirm": {
12
+    "One": "Подтвердить"
13
+  },
14
+  "Username": {
15
+    "One": "Имя пользователя"
16
+  },
17
+  "Password": {
18
+    "One": "Пароль"
19
+  },
20
+  "LoginSuccess": {
21
+    "One": "Успешный вход"
22
+  },
23
+  "ForgotPassword": {
24
+    "One": "Забыли пароль"
25
+  },
26
+  "ResetPassword": {
27
+    "One": "Сбросить пароль"
28
+  },
29
+  "ChangePassword": {
30
+    "One": "Сменить пароль"
31
+  },
32
+  "Userinfo": {
33
+    "One": "Информация о пользователе"
34
+  },
35
+  "ParamRequired": {
36
+    "One": "{param} обязательный"
37
+  },
38
+  "HasBind": {
39
+    "One": "Связано"
40
+  },
41
+  "NoBind": {
42
+    "One": "Не связано"
43
+  },
44
+  "UnBind": {
45
+    "One": "Разъединить"
46
+  },
47
+  "ToBind": {
48
+    "One": "Привязать"
49
+  },
50
+  "Confirm?": {
51
+    "One": "Подтвердить {param}?"
52
+  },
53
+  "Cancel": {
54
+    "One": "Отмена"
55
+  },
56
+  "Platform": {
57
+    "One": "Платформа"
58
+  },
59
+  "Status": {
60
+    "One": "Статус"
61
+  },
62
+  "Actions": {
63
+    "One": "Действия"
64
+  },
65
+  "Filter": {
66
+    "One": "Фильтр"
67
+  },
68
+  "Add": {
69
+    "One": "Добавить"
70
+  },
71
+  "Hostname": {
72
+    "One": "Имя хоста"
73
+  },
74
+  "Alias": {
75
+    "One": "Псевдоним"
76
+  },
77
+  "Hash": {
78
+    "One": "Хэш"
79
+  },
80
+  "Tags": {
81
+    "One": "Теги"
82
+  },
83
+  "Edit": {
84
+    "One": "Редактировать"
85
+  },
86
+  "Delete": {
87
+    "One": "Удалить"
88
+  },
89
+  "Create": {
90
+    "One": "Создать"
91
+  },
92
+  "Update": {
93
+    "One": "Обновить"
94
+  },
95
+  "LoginName": {
96
+    "One": "Имя для входа"
97
+  },
98
+  "Submit": {
99
+    "One": "Отправить"
100
+  },
101
+  "OperationSuccess": {
102
+    "One": "Операция выполнена успешно"
103
+  },
104
+  "Owner": {
105
+    "One": "Владелец"
106
+  },
107
+  "Name": {
108
+    "One": "Имя"
109
+  },
110
+  "Color": {
111
+    "One": "Цвет"
112
+  },
113
+  "CreatedAt": {
114
+    "One": "Создано"
115
+  },
116
+  "UpdatedAt": {
117
+    "One": "Обновлено"
118
+  },
119
+  "Memory": {
120
+    "One": "Память"
121
+  },
122
+  "Os": {
123
+    "One": "ОС"
124
+  },
125
+  "Uuid": {
126
+    "One": "UUID"
127
+  },
128
+  "Version": {
129
+    "One": "Версия"
130
+  },
131
+  "Type": {
132
+    "One": "Тип"
133
+  },
134
+  "Group": {
135
+    "One": "Группа"
136
+  },
137
+  "CommonGroup": {
138
+    "One": "Общая группа"
139
+  },
140
+  "CommonGroupNote": {
141
+    "One": "Только администраторы могут видеть участников группы и их устройства"
142
+  },
143
+  "SharedGroup": {
144
+    "One": "Общая группа"
145
+  },
146
+  "SharedGroupNote": {
147
+    "One": "Все пользователи могут видеть участников группы и их устройства"
148
+  },
149
+  "Nickname": {
150
+    "One": "Псевдоним"
151
+  },
152
+  "UserTags": {
153
+    "One": "Теги пользователя"
154
+  },
155
+  "UserAddressBook": {
156
+    "One": "Адресная книга пользователя"
157
+  },
158
+  "IsAdmin": {
159
+    "One": "Является администратором"
160
+  },
161
+  "PleaseInputNewPassword": {
162
+    "One": "Пожалуйста, введите новый пароль"
163
+  },
164
+  "AutoRegister": {
165
+    "One": "Авто-регистрация"
166
+  },
167
+  "AutoRegisterNote": {
168
+    "One": "Если включено, аккаунт будет автоматически зарегистрирован, когда пользователь входит через OAuth без привязки к существующему аккаунту"
169
+  },
170
+  "ThirdName": {
171
+    "One": "Третье имя"
172
+  },
173
+  "Close": {
174
+    "One": "Закрыть"
175
+  },
176
+  "OauthBinding": {
177
+    "One": "Вы авторизуете привязку"
178
+  },
179
+  "OauthLogining": {
180
+    "One": "Вы авторизуете вход"
181
+  },
182
+  "OauthCloseNote": {
183
+    "One": "Если это не было авторизовано вами, пожалуйста, закройте страницу"
184
+  },
185
+  "OperationSuccessAndCloseAfter3Seconds": {
186
+    "One": "Операция выполнена успешно, закройте через 3 секунды"
187
+  },
188
+  "ConfirmOauth": {
189
+    "One": "Подтвердить Oauth"
190
+  },
191
+  "Device": {
192
+    "One": "Устройство"
193
+  },
194
+  "ChangeLang": {
195
+    "One": "Сменить на китайский"
196
+  },
197
+  "My": {
198
+    "One": "Мой"
199
+  },
200
+  "Info": {
201
+    "One": "Информация"
202
+  },
203
+  "AddressBooks": {
204
+    "One": "Адресные книги"
205
+  },
206
+  "System": {
207
+    "One": "Система"
208
+  },
209
+  "PeerManage": {
210
+    "One": "Пиры"
211
+  },
212
+  "AddressBookManage": {
213
+    "One": "Адресные книги"
214
+  },
215
+  "GroupManage": {
216
+    "One": "Группы"
217
+  },
218
+  "UserManage": {
219
+    "One": "Пользователи"
220
+  },
221
+  "UserAdd": {
222
+    "One": "Добавить пользователя"
223
+  },
224
+  "UserEdit": {
225
+    "One": "Редактировать пользователя"
226
+  },
227
+  "TagsManage": {
228
+    "One": "Теги"
229
+  },
230
+  "OauthManage": {
231
+    "One": "Oauth"
232
+  },
233
+  "LoginLog": {
234
+    "One": "Журнал входов"
235
+  },
236
+  "LastOnlineTime": {
237
+    "One": "Последнее время онлайн"
238
+  },
239
+  "JustNow": {
240
+    "One": "Только что"
241
+  },
242
+  "MinutesAgo": {
243
+    "One": "{param} минуту назад",
244
+    "Other": "{param} минут назад"
245
+  },
246
+  "HoursAgo": {
247
+    "One": "{param} час назад",
248
+    "Other": "{param} часов назад"
249
+  },
250
+  "DaysAgo": {
251
+    "One": "{param} день назад",
252
+    "Other": "{param} дней назад"
253
+  },
254
+  "MonthsAgo": {
255
+    "One": "{param} месяц назад",
256
+    "Other": "{param} месяцев назад"
257
+  },
258
+  "YearsAgo": {
259
+    "One": "{param} год назад",
260
+    "Other": "{param} лет назад"
261
+  },
262
+  "MinutesLess": {
263
+    "One": "Менее {param} минуты",
264
+    "Other": "Менее {param} минут"
265
+  },
266
+  "HoursLess": {
267
+    "One": "Менее {param} часа",
268
+    "Other": "Менее {param} часов"
269
+  },
270
+  "DaysLess": {
271
+    "One": "Менее {param} дня",
272
+    "Other": "Менее {param} дней"
273
+  },
274
+  "Export": {
275
+    "One": "Экспорт"
276
+  },
277
+  "AddToAddressBook": {
278
+    "One": "Добавить в адресную книгу"
279
+  },
280
+  "BatchDelete": {
281
+    "One": "Пакетное удаление"
282
+  },
283
+  "PleaseSelectData": {
284
+    "One": "Пожалуйста, выберите данные"
285
+  },
286
+  "PasswordType": {
287
+    "One": "Тип пароля"
288
+  },
289
+  "OncePassword": {
290
+    "One": "Одноразовый пароль"
291
+  },
292
+  "FixedPassword": {
293
+    "One": "Фиксированный пароль"
294
+  },
295
+  "FixedPasswordWarning": {
296
+    "One": "Фиксированные пароли могут быть скомпрометированы, поэтому используйте их с осторожностью; рекомендуется использовать одноразовые пароли"
297
+  },
298
+  "ExpireTime": {
299
+    "One": "Время истечения"
300
+  },
301
+  "ShareByWebClient": {
302
+    "One": "Поделиться через веб-клиент"
303
+  },
304
+  "Minutes": {
305
+    "One": "{param} минута",
306
+    "Other": "{param} минуты"
307
+  },
308
+  "Hours": {
309
+    "One": "{param} час",
310
+    "Other": "{param} часа"
311
+  },
312
+  "Days": {
313
+    "One": "{param} день",
314
+    "Other": "{param} дня"
315
+  },
316
+  "Weeks": {
317
+    "One": "{param} неделя",
318
+    "Other": "{param} недели"
319
+  },
320
+  "Months": {
321
+    "One": "{param} месяц",
322
+    "Other": "{param} месяца"
323
+  },
324
+  "Forever": {
325
+    "One": "Навсегда"
326
+  },
327
+  "Error": {
328
+    "One": "Ошибка"
329
+  },
330
+  "IDNotExist": {
331
+    "One": "ID не существует"
332
+  },
333
+  "RemoteDesktopOffline": {
334
+    "One": "Удаленный рабочий стол отключен"
335
+  },
336
+  "KeyMismatch": {
337
+    "One": "Несоответствие ключа"
338
+  },
339
+  "KeyOveruse": {
340
+    "One": "Чрезмерное использование ключа"
341
+  },
342
+  "Link": {
343
+    "One": "Ссылка"
344
+  },
345
+  "CopySuccess": {
346
+    "One": "Копирование успешно"
347
+  },
348
+  "CopyFailed": {
349
+    "One": "Ошибка копирования"
350
+  },
351
+  "Timeout": {
352
+    "One": "Время ожидания истекло"
353
+  },
354
+  "AuditConnLog": {
355
+    "One": "Журнал соединений"
356
+  },
357
+  "Peer": {
358
+    "One": "Партнер",
359
+    "Other": "Партнеры"
360
+  },
361
+  "FromPeer": {
362
+    "One": "От партнера"
363
+  },
364
+  "FromName": {
365
+    "One": "От имени"
366
+  },
367
+  "CloseTime": {
368
+    "One": "Время закрытия"
369
+  },
370
+  "AuditFileLog": {
371
+    "One": "Журнал файлов"
372
+  },
373
+  "Common": {
374
+    "One": "Общий"
375
+  },
376
+  "File": {
377
+    "One": "Файл"
378
+  },
379
+  "Num": {
380
+    "One": "Номер"
381
+  },
382
+  "Ip": {
383
+    "One": "IP"
384
+  },
385
+  "FileName": {
386
+    "One": "Имя файла"
387
+  },
388
+  "FileInfo": {
389
+    "One": "Информация о файле"
390
+  },
391
+  "Path": {
392
+    "One": "Путь"
393
+  },
394
+  "IndexNum": {
395
+    "One": "Индексный номер"
396
+  },
397
+  "ToRemote": {
398
+    "One": "К удаленному"
399
+  },
400
+  "ToLocal": {
401
+    "One": "К локальному"
402
+  }
403
+}
404
+