@djangocfg/i18n 2.1.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,491 @@
1
+ import type { I18nTranslations } from '../types'
2
+
3
+ /**
4
+ * Russian translations
5
+ */
6
+ export const ru: I18nTranslations = {
7
+ ui: {
8
+ select: {
9
+ placeholder: 'Выберите...',
10
+ search: 'Поиск...',
11
+ noResults: 'Ничего не найдено.',
12
+ selectAll: 'Выбрать все',
13
+ clearAll: 'Очистить все',
14
+ moreItems: '+{count} ещё',
15
+ loading: 'Загрузка...',
16
+ },
17
+
18
+ pagination: {
19
+ previous: 'Назад',
20
+ next: 'Вперёд',
21
+ first: 'В начало',
22
+ last: 'В конец',
23
+ page: 'Страница {page}',
24
+ of: 'из {total}',
25
+ showing: '{from}-{to} из {total}',
26
+ },
27
+
28
+ dialog: {
29
+ close: 'Закрыть',
30
+ confirm: 'Подтвердить',
31
+ cancel: 'Отмена',
32
+ },
33
+
34
+ form: {
35
+ submit: 'Отправить',
36
+ cancel: 'Отмена',
37
+ save: 'Сохранить',
38
+ delete: 'Удалить',
39
+ edit: 'Редактировать',
40
+ create: 'Создать',
41
+ update: 'Обновить',
42
+ reset: 'Сбросить',
43
+ clear: 'Очистить',
44
+ loading: 'Загрузка...',
45
+ saving: 'Сохранение...',
46
+ deleting: 'Удаление...',
47
+ required: 'Обязательное поле',
48
+ optional: 'Необязательно',
49
+ minLength: 'Минимум {min} символов',
50
+ maxLength: 'Максимум {max} символов',
51
+ invalidEmail: 'Введите корректный email',
52
+ invalidUrl: 'Введите корректный URL',
53
+ invalidPhone: 'Введите корректный номер телефона',
54
+ passwordMismatch: 'Пароли не совпадают',
55
+ },
56
+
57
+ datetime: {
58
+ today: 'Сегодня',
59
+ yesterday: 'Вчера',
60
+ tomorrow: 'Завтра',
61
+ now: 'Только что',
62
+ secondsAgo: '{count} секунд назад',
63
+ minutesAgo: '{count} минут назад',
64
+ hoursAgo: '{count} часов назад',
65
+ daysAgo: '{count} дней назад',
66
+ pickDate: 'Выберите дату',
67
+ pickTime: 'Выберите время',
68
+ pickDateTime: 'Выберите дату и время',
69
+ pickDateRange: 'Выберите период',
70
+ },
71
+
72
+ file: {
73
+ upload: 'Загрузить',
74
+ uploading: 'Загрузка...',
75
+ dragDrop: 'Перетащите файлы сюда',
76
+ browse: 'Выбрать файлы',
77
+ remove: 'Удалить',
78
+ maxSize: 'Макс. размер: {size}',
79
+ invalidType: 'Неверный тип файла',
80
+ tooLarge: 'Файл слишком большой',
81
+ },
82
+
83
+ table: {
84
+ noData: 'Нет данных',
85
+ loading: 'Загрузка данных...',
86
+ showing: 'Показано {from}-{to} из {total}',
87
+ rowsPerPage: 'Строк на странице',
88
+ sortAsc: 'Сортировка по возрастанию',
89
+ sortDesc: 'Сортировка по убыванию',
90
+ filter: 'Фильтр',
91
+ clearFilters: 'Сбросить фильтры',
92
+ selectAll: 'Выбрать все',
93
+ deselectAll: 'Снять выделение',
94
+ selected: 'Выбрано: {count}',
95
+ },
96
+
97
+ actions: {
98
+ view: 'Просмотр',
99
+ copy: 'Копировать',
100
+ copied: 'Скопировано!',
101
+ copyToClipboard: 'Копировать в буфер',
102
+ download: 'Скачать',
103
+ share: 'Поделиться',
104
+ refresh: 'Обновить',
105
+ retry: 'Повторить',
106
+ expand: 'Развернуть',
107
+ collapse: 'Свернуть',
108
+ showMore: 'Показать больше',
109
+ showLess: 'Показать меньше',
110
+ seeAll: 'Смотреть все',
111
+ goBack: 'Назад',
112
+ remove: 'Удалить',
113
+ previousSlide: 'Предыдущий слайд',
114
+ nextSlide: 'Следующий слайд',
115
+ },
116
+
117
+ phone: {
118
+ searchCountries: 'Поиск стран...',
119
+ noCountries: 'Страны не найдены',
120
+ },
121
+
122
+ navigation: {
123
+ title: 'Навигация',
124
+ },
125
+
126
+ states: {
127
+ loading: 'Загрузка',
128
+ empty: 'Пусто',
129
+ error: 'Ошибка',
130
+ success: 'Успешно',
131
+ warning: 'Предупреждение',
132
+ info: 'Информация',
133
+ pending: 'Ожидание',
134
+ active: 'Активно',
135
+ inactive: 'Неактивно',
136
+ enabled: 'Включено',
137
+ disabled: 'Отключено',
138
+ },
139
+
140
+ errors: {
141
+ generic: 'Что-то пошло не так',
142
+ network: 'Ошибка сети. Проверьте подключение.',
143
+ timeout: 'Время ожидания истекло. Попробуйте ещё раз.',
144
+ notFound: 'Не найдено',
145
+ unauthorized: 'Войдите в аккаунт для продолжения',
146
+ forbidden: 'У вас нет доступа',
147
+ serverError: 'Ошибка сервера. Попробуйте позже.',
148
+ validation: 'Проверьте правильность заполнения формы',
149
+ unknown: 'Произошла неизвестная ошибка',
150
+ },
151
+ },
152
+
153
+ layouts: {
154
+ sidebar: {
155
+ toggle: 'Переключить боковую панель',
156
+ collapse: 'Свернуть панель',
157
+ expand: 'Развернуть панель',
158
+ },
159
+
160
+ navigation: {
161
+ menu: 'Меню',
162
+ home: 'Главная',
163
+ back: 'Назад',
164
+ forward: 'Вперёд',
165
+ toggleMobile: 'Открыть мобильное меню',
166
+ breadcrumb: 'Навигация',
167
+ },
168
+
169
+ profile: {
170
+ settings: 'Настройки',
171
+ account: 'Аккаунт',
172
+ logout: 'Выйти',
173
+ login: 'Войти',
174
+ signUp: 'Регистрация',
175
+ signOut: 'Выйти',
176
+ userMenu: 'Меню пользователя',
177
+ },
178
+
179
+ theme: {
180
+ toggle: 'Сменить тему',
181
+ light: 'Светлая',
182
+ dark: 'Тёмная',
183
+ system: 'Системная',
184
+ },
185
+
186
+ search: {
187
+ placeholder: 'Поиск...',
188
+ noResults: 'Ничего не найдено',
189
+ recentSearches: 'Недавние запросы',
190
+ clearHistory: 'Очистить историю',
191
+ },
192
+
193
+ mobile: {
194
+ closeMenu: 'Закрыть меню',
195
+ },
196
+
197
+ errors: {
198
+ somethingWentWrong: 'Что-то пошло не так',
199
+ tryRefreshing: 'Произошла непредвиденная ошибка. Попробуйте обновить страницу.',
200
+ refreshPage: 'Обновить страницу',
201
+ goBack: 'Назад',
202
+ goHome: 'На главную',
203
+ needHelp: 'Нужна помощь?',
204
+ contactSupport: 'Связаться с поддержкой',
205
+ persistsContact: 'Если проблема повторяется, свяжитесь с {email}',
206
+ error: 'Ошибка',
207
+ badRequest: 'Неверный запрос',
208
+ authRequired: 'Требуется авторизация',
209
+ accessDenied: 'Доступ запрещён',
210
+ pageNotFound: 'Страница не найдена',
211
+ requestTimeout: 'Время ожидания истекло',
212
+ serverError: 'Ошибка сервера',
213
+ badGateway: 'Ошибка шлюза',
214
+ serviceUnavailable: 'Сервис недоступен',
215
+ gatewayTimeout: 'Время ожидания шлюза истекло',
216
+ badRequestDesc: 'Запрос не может быть обработан. Проверьте введённые данные и попробуйте снова.',
217
+ authRequiredDesc: 'Для доступа к этой странице необходимо войти в систему.',
218
+ accessDeniedDesc: 'У вас нет прав для доступа к этому ресурсу.',
219
+ pageNotFoundDesc: 'Страница, которую вы ищете, не существует или была перемещена.',
220
+ requestTimeoutDesc: 'Обработка запроса заняла слишком много времени. Попробуйте ещё раз.',
221
+ serverErrorDesc: 'Произошла ошибка на сервере. Мы работаем над её исправлением.',
222
+ badGatewayDesc: 'Сервер получил неверный ответ. Попробуйте позже.',
223
+ serviceUnavailableDesc: 'Сервис временно недоступен. Попробуйте позже.',
224
+ gatewayTimeoutDesc: 'Сервер слишком долго отвечает. Попробуйте ещё раз.',
225
+ unknownErrorDesc: 'Произошла непредвиденная ошибка. Попробуйте снова или свяжитесь с поддержкой.',
226
+ },
227
+
228
+ push: {
229
+ enableNotifications: 'Включить уведомления',
230
+ stayUpdated: 'Получайте важные обновления и оповещения',
231
+ enable: 'Включить',
232
+ notNow: 'Не сейчас',
233
+ dismiss: 'Закрыть',
234
+ },
235
+
236
+ auth: {
237
+ authRequired: 'Требуется авторизация',
238
+ pleaseSignIn: 'Пожалуйста, войдите для продолжения',
239
+ goToSignIn: 'Перейти к входу',
240
+ },
241
+
242
+ chat: {
243
+ aiAssistant: 'AI Ассистент',
244
+ defaultTitle: 'AI Чат',
245
+ newChat: 'Новый чат',
246
+ closeChat: 'Закрыть чат',
247
+ switchToFloating: 'Плавающий режим',
248
+ switchToSidebar: 'Режим боковой панели',
249
+ dragToResize: 'Потяните для изменения размера',
250
+ howCanIHelp: 'Чем могу помочь?',
251
+ },
252
+
253
+ pwa: {
254
+ addToHomeScreen: 'На главный экран',
255
+ installApp: 'Установить приложение',
256
+ tapToLearnHow: 'Нажмите, чтобы узнать как',
257
+ clickToSeeGuide: 'Нажмите для инструкции',
258
+ tapToInstall: 'Нажмите для установки',
259
+ installing: 'Установка...',
260
+ dismiss: 'Закрыть',
261
+ appLogo: 'Логотип приложения',
262
+ iosTitle: 'На главный экран',
263
+ iosDescription: 'Установите приложение на iPhone для быстрого доступа',
264
+ iosStep1Title: 'Нажмите «Поделиться»',
265
+ iosStep1Desc: 'Внизу экрана Safari',
266
+ iosStep2Title: 'Найдите опцию',
267
+ iosStep2Desc: '«На экран Домой»',
268
+ iosStep3Title: 'Подтвердите',
269
+ iosStep3Desc: 'Нажмите «Добавить» справа вверху',
270
+ gotIt: 'Понятно',
271
+ desktopTitle: 'Установка на компьютер',
272
+ desktopDescription: 'Установите приложение в {browser} для быстрого доступа',
273
+ desktopDescSafari: 'Safari на macOS имеет ограниченную поддержку PWA. Для лучшего опыта используйте Chrome, Edge или Brave.',
274
+ desktopTip: 'Также можно нажать правой кнопкой на странице и найти опцию «Установить» в {browser}',
275
+ desktopFirefoxNote: 'Firefox имеет ограниченную поддержку PWA. Некоторые функции могут работать некорректно.',
276
+ chromiumStep1Title: 'Найдите значок установки',
277
+ chromiumStep1Desc: 'Ищите значок установки в адресной строке (справа)',
278
+ chromiumStep2Title: 'Нажмите «Установить»',
279
+ chromiumStep2Desc: 'Нажмите на значок и выберите «Установить»',
280
+ chromiumStep3Title: 'Подтвердите',
281
+ chromiumStep3Desc: 'Нажмите «Установить» в диалоговом окне',
282
+ firefoxStep1Title: 'Откройте меню',
283
+ firefoxStep1Desc: 'Нажмите кнопку меню (три линии)',
284
+ firefoxStep2Title: 'Найдите опцию установки',
285
+ firefoxStep2Desc: 'Ищите «Установить» или «На главный экран»',
286
+ firefoxStep3Title: 'Подтвердите',
287
+ firefoxStep3Desc: 'Следуйте инструкциям установки',
288
+ safariStep1Title: 'Ограниченная поддержка',
289
+ safariStep1Desc: 'Safari на macOS имеет ограниченную поддержку PWA',
290
+ safariStep2Title: 'Используйте Chromium браузер',
291
+ safariStep2Desc: 'Рекомендуем Chrome, Edge или Brave для полноценного PWA',
292
+ unknownStep1Title: 'Проверьте адресную строку',
293
+ unknownStep1Desc: 'Ищите значок установки или загрузки',
294
+ unknownStep2Title: 'Или используйте меню',
295
+ unknownStep2Desc: 'Проверьте меню браузера на наличие опции установки',
296
+ unknownStep3Title: 'Подтвердите',
297
+ unknownStep3Desc: 'Следуйте инструкциям установки',
298
+ close: 'Закрыть',
299
+ },
300
+
301
+ profilePage: {
302
+ title: 'Профиль',
303
+ account: 'Аккаунт',
304
+ personalInfo: 'Личные данные',
305
+ work: 'Работа',
306
+ security: 'Безопасность',
307
+ actions: 'Действия',
308
+ email: 'Email',
309
+ firstName: 'Имя',
310
+ lastName: 'Фамилия',
311
+ company: 'Компания',
312
+ position: 'Должность',
313
+ phone: 'Телефон',
314
+ notSet: 'Не указано',
315
+ on: 'Вкл',
316
+ off: 'Выкл',
317
+ save: 'Сохранить',
318
+ saving: 'Сохранение...',
319
+ cancel: 'Отмена',
320
+ signOut: 'Выйти',
321
+ deleteAccount: 'Удалить аккаунт',
322
+ deleting: 'Удаление...',
323
+ twoFactorAuth: 'Двухфакторная аутентификация',
324
+ avatar: 'Аватар',
325
+ changeAvatar: 'Изменить аватар',
326
+ memberSince: 'Участник с {date}',
327
+ enterField: 'Введите {field}',
328
+ profileUpdated: 'Профиль обновлён',
329
+ avatarUpdated: 'Аватар обновлён',
330
+ failedToUpdate: 'Не удалось обновить',
331
+ failedToUploadAvatar: 'Не удалось загрузить аватар',
332
+ selectImageFile: 'Пожалуйста, выберите изображение',
333
+ fileTooLarge: 'Размер файла должен быть меньше 5МБ',
334
+ notAuthenticated: 'Не авторизован',
335
+ pleaseLogIn: 'Пожалуйста, войдите для просмотра профиля.',
336
+ deleteAccountTitle: 'Удаление аккаунта',
337
+ deleteAccountDesc: 'Это действие необратимо. Ваш аккаунт будет удалён навсегда.',
338
+ typeToConfirm: 'Введите {word} для подтверждения:',
339
+ confirmationWord: 'УДАЛИТЬ',
340
+ },
341
+ },
342
+
343
+ api: {
344
+ errors: {
345
+ networkError: 'Ошибка сети',
346
+ connectionFailed: 'Не удалось подключиться',
347
+ requestTimeout: 'Время ожидания истекло',
348
+ serverUnavailable: 'Сервер недоступен',
349
+ invalidResponse: 'Неверный ответ сервера',
350
+ rateLimited: 'Слишком много запросов. Подождите.',
351
+ },
352
+ status: {
353
+ connecting: 'Подключение...',
354
+ connected: 'Подключено',
355
+ disconnected: 'Отключено',
356
+ reconnecting: 'Переподключение...',
357
+ },
358
+ logout: {
359
+ title: 'Выход',
360
+ message: 'Вы уверены, что хотите выйти?',
361
+ confirm: 'Выйти',
362
+ cancel: 'Отмена',
363
+ },
364
+ },
365
+
366
+ centrifugo: {
367
+ monitor: {
368
+ title: 'Монитор Centrifugo',
369
+ description: 'Мониторинг и отладка WebSocket в реальном времени',
370
+ openMonitor: 'Открыть монитор Centrifugo',
371
+ openDebugPanel: 'Открыть панель отладки Centrifugo',
372
+ widgetTitle: 'Монитор WebSocket',
373
+ },
374
+ tabs: {
375
+ connection: 'Соединение',
376
+ messages: 'Сообщения',
377
+ subscriptions: 'Подписки',
378
+ },
379
+ subscriptionsList: {
380
+ title: 'Активные подписки',
381
+ notConnected: 'Нет подключения к Centrifugo',
382
+ noActiveSubscriptions: 'Нет активных подписок',
383
+ },
384
+ status: {
385
+ connected: 'Подключено',
386
+ disconnected: 'Отключено',
387
+ connecting: 'Подключение...',
388
+ connect: 'Подключить',
389
+ uptime: 'Время работы:',
390
+ subscriptions: 'Подписки:',
391
+ realtimeUnavailable: 'Функции реального времени недоступны',
392
+ },
393
+ feed: {
394
+ title: 'Лента сообщений',
395
+ noMessages: 'Нет сообщений',
396
+ pausedClickToResume: 'Приостановлено - нажмите для продолжения',
397
+ autoScrollOn: 'Автопрокрутка: ВКЛ',
398
+ autoScrollOff: 'Автопрокрутка: ВЫКЛ',
399
+ viewData: 'Показать данные',
400
+ },
401
+ filters: {
402
+ title: 'Фильтры',
403
+ active: 'Активно',
404
+ clear: 'Очистить',
405
+ searchMessages: 'Поиск сообщений...',
406
+ level: 'Уровень:',
407
+ type: 'Тип:',
408
+ source: 'Источник',
409
+ autoScrollToLatest: 'Автопрокрутка к последним',
410
+ },
411
+ debug: {
412
+ title: 'Отладка Centrifugo',
413
+ description: 'Статус WebSocket соединения, логи и подписки',
414
+ openDebugPanel: 'Открыть панель отладки Centrifugo',
415
+ tabConnection: 'Соединение',
416
+ tabLogs: 'Логи',
417
+ tabSubscriptions: 'Подписки',
418
+ },
419
+ },
420
+
421
+ tools: {
422
+ code: {
423
+ copyCode: 'Копировать код',
424
+ noContent: 'Контент недоступен',
425
+ },
426
+
427
+ diagram: {
428
+ title: 'Диаграмма',
429
+ clickToView: 'Нажмите для просмотра',
430
+ },
431
+
432
+ image: {
433
+ noImage: 'Изображение отсутствует',
434
+ failedToLoad: 'Не удалось загрузить изображение',
435
+ zoomIn: 'Увеличить',
436
+ zoomOut: 'Уменьшить',
437
+ fitToView: 'По размеру окна',
438
+ flipHorizontal: 'Отразить по горизонтали',
439
+ flipVertical: 'Отразить по вертикали',
440
+ rotate: 'Повернуть на 90°',
441
+ fullscreen: 'На весь экран',
442
+ },
443
+
444
+ gallery: {
445
+ noImages: 'Нет изображений',
446
+ lightbox: 'Просмотр изображения',
447
+ previous: 'Предыдущее изображение',
448
+ next: 'Следующее изображение',
449
+ close: 'Закрыть просмотр',
450
+ download: 'Скачать изображение',
451
+ share: 'Поделиться изображением',
452
+ },
453
+
454
+ video: {
455
+ play: 'Воспроизвести видео',
456
+ fullscreen: 'Во весь экран',
457
+ unavailable: 'Видео недоступно',
458
+ },
459
+
460
+ audio: {
461
+ restart: 'Сначала',
462
+ back: 'Назад 5 секунд',
463
+ forward: 'Вперёд 5 секунд',
464
+ volume: 'Громкость',
465
+ },
466
+
467
+ color: {
468
+ pick: 'Выбрать цвет',
469
+ },
470
+
471
+ openapi: {
472
+ response: 'Ответ',
473
+ noResponse: 'Тело ответа отсутствует',
474
+ required: 'Обязательно',
475
+ optional: 'Необязательно',
476
+ searchEndpoints: 'Поиск эндпоинтов...',
477
+ all: 'Все',
478
+ methods: 'Методы',
479
+ path: 'Путь',
480
+ description: 'Описание',
481
+ navigation: 'Навигация',
482
+ previous: 'Назад',
483
+ next: 'Вперёд',
484
+ bearerToken: 'Введите Bearer токен (опционально, использует JWT если пусто)',
485
+ },
486
+
487
+ form: {
488
+ title: 'Форма',
489
+ },
490
+ },
491
+ }