@authrim/setup 0.1.89 → 0.1.91
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.
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +58 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/lock.d.ts +16 -16
- package/dist/core/wrangler.d.ts.map +1 -1
- package/dist/core/wrangler.js +21 -2
- package/dist/core/wrangler.js.map +1 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +14 -3
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +8 -0
- package/dist/i18n/locales/de.d.ts.map +1 -0
- package/dist/i18n/locales/de.js +894 -0
- package/dist/i18n/locales/de.js.map +1 -0
- package/dist/i18n/locales/es.d.ts +8 -0
- package/dist/i18n/locales/es.d.ts.map +1 -0
- package/dist/i18n/locales/es.js +894 -0
- package/dist/i18n/locales/es.js.map +1 -0
- package/dist/i18n/locales/fr.d.ts +8 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -0
- package/dist/i18n/locales/fr.js +894 -0
- package/dist/i18n/locales/fr.js.map +1 -0
- package/dist/i18n/locales/id.d.ts +8 -0
- package/dist/i18n/locales/id.d.ts.map +1 -0
- package/dist/i18n/locales/id.js +894 -0
- package/dist/i18n/locales/id.js.map +1 -0
- package/dist/i18n/locales/ko.d.ts +8 -0
- package/dist/i18n/locales/ko.d.ts.map +1 -0
- package/dist/i18n/locales/ko.js +894 -0
- package/dist/i18n/locales/ko.js.map +1 -0
- package/dist/i18n/locales/pt.d.ts +8 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -0
- package/dist/i18n/locales/pt.js +894 -0
- package/dist/i18n/locales/pt.js.map +1 -0
- package/dist/i18n/locales/ru.d.ts +8 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -0
- package/dist/i18n/locales/ru.js +894 -0
- package/dist/i18n/locales/ru.js.map +1 -0
- package/dist/i18n/locales/zh-CN.d.ts +8 -0
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
- package/dist/i18n/locales/zh-CN.js +894 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -0
- package/dist/i18n/locales/zh-TW.d.ts +8 -0
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -0
- package/dist/i18n/locales/zh-TW.js +894 -0
- package/dist/i18n/locales/zh-TW.js.map +1 -0
- package/dist/i18n/types.d.ts +1 -1
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/i18n/types.js +1 -0
- package/dist/i18n/types.js.map +1 -1
- package/dist/web/ui.d.ts.map +1 -1
- package/dist/web/ui.js +7 -2
- package/dist/web/ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,894 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Russian Translations for Authrim Setup Tool
|
|
3
|
+
* Русский перевод (формальное обращение на «Вы»)
|
|
4
|
+
*/
|
|
5
|
+
const ru = {
|
|
6
|
+
// Language selection
|
|
7
|
+
'language.select': 'Select language / Выберите язык / 言語を選択',
|
|
8
|
+
'language.selected': 'Язык: {{language}}',
|
|
9
|
+
// Banner
|
|
10
|
+
'banner.title': 'Настройка Authrim',
|
|
11
|
+
'banner.subtitle': 'OIDC-провайдер на Cloudflare Workers',
|
|
12
|
+
'banner.warning': 'ВНИМАНИЕ: В разработке!',
|
|
13
|
+
'banner.warningDetail': 'Этот проект ещё не работает корректно.',
|
|
14
|
+
'banner.adminWarning': 'Панель администратора не завершена и не поддерживает вход.',
|
|
15
|
+
'banner.exitHint': 'Нажмите Ctrl+C в любой момент для выхода',
|
|
16
|
+
// Mode selection
|
|
17
|
+
'mode.prompt': 'Выберите способ настройки',
|
|
18
|
+
'mode.quick': 'Веб-интерфейс (рекомендуется)',
|
|
19
|
+
'mode.quickDesc': 'Интерактивная настройка в браузере',
|
|
20
|
+
'mode.advanced': 'Режим CLI',
|
|
21
|
+
'mode.advancedDesc': 'Интерактивная настройка в терминале',
|
|
22
|
+
// Startup menu
|
|
23
|
+
'startup.description': 'Настройка OIDC-провайдера Authrim на Cloudflare Workers.',
|
|
24
|
+
'startup.cancel': 'Отмена',
|
|
25
|
+
'startup.cancelDesc': 'Выйти из настройки',
|
|
26
|
+
'startup.cancelled': 'Настройка отменена.',
|
|
27
|
+
'startup.resumeLater': 'Для продолжения позже:',
|
|
28
|
+
// Main menu
|
|
29
|
+
'menu.prompt': 'Что вы хотите сделать?',
|
|
30
|
+
'menu.quick': 'Быстрая настройка (5 минут)',
|
|
31
|
+
'menu.quickDesc': 'Развернуть Authrim с минимальной конфигурацией',
|
|
32
|
+
'menu.custom': 'Расширенная настройка',
|
|
33
|
+
'menu.customDesc': 'Настроить все параметры пошагово',
|
|
34
|
+
// Setup titles
|
|
35
|
+
'quick.title': '⚡ Быстрая настройка',
|
|
36
|
+
'custom.title': '🔧 Расширенная настройка',
|
|
37
|
+
'menu.manage': 'Просмотр существующих окружений',
|
|
38
|
+
'menu.manageDesc': 'Просмотр, проверка или удаление существующих окружений',
|
|
39
|
+
'menu.load': 'Загрузить существующую конфигурацию',
|
|
40
|
+
'menu.loadDesc': 'Продолжить настройку из authrim-config.json',
|
|
41
|
+
'menu.exit': 'Выход',
|
|
42
|
+
'menu.exitDesc': 'Выйти из настройки',
|
|
43
|
+
'menu.goodbye': 'До свидания!',
|
|
44
|
+
// Update check
|
|
45
|
+
'update.checking': 'Проверка обновлений...',
|
|
46
|
+
'update.available': 'Доступно обновление: {{localVersion}} → {{remoteVersion}}',
|
|
47
|
+
'update.prompt': 'Что вы хотите сделать?',
|
|
48
|
+
'update.continue': 'Продолжить с текущей версией ({{version}})',
|
|
49
|
+
'update.continueDesc': 'Использовать существующий исходный код',
|
|
50
|
+
'update.update': 'Обновить до последней версии ({{version}})',
|
|
51
|
+
'update.updateDesc': 'Загрузить и заменить на новую версию',
|
|
52
|
+
'update.cancel': 'Отмена',
|
|
53
|
+
'update.cancelled': 'Отменено.',
|
|
54
|
+
'update.current': 'Используется исходный код Authrim (v{{version}})',
|
|
55
|
+
// Source download
|
|
56
|
+
'source.downloading': 'Загрузка исходного кода...',
|
|
57
|
+
'source.downloaded': 'Исходный код загружен ({{version}})',
|
|
58
|
+
'source.extracting': 'Распаковка исходного кода...',
|
|
59
|
+
'source.installing': 'Установка зависимостей (это может занять несколько минут)...',
|
|
60
|
+
'source.installed': 'Зависимости установлены',
|
|
61
|
+
'source.installFailed': 'Не удалось установить зависимости',
|
|
62
|
+
'source.installManually': 'Вы можете попробовать установить вручную:',
|
|
63
|
+
'source.notInSourceDir': 'Исходный код Authrim не найден',
|
|
64
|
+
'source.downloadPrompt': 'Загрузить исходный код в {{path}}?',
|
|
65
|
+
'source.downloadOption': 'Загрузить исходный код',
|
|
66
|
+
'source.downloadOptionDesc': 'Загрузить последнюю версию',
|
|
67
|
+
'source.exitOption': 'Выход',
|
|
68
|
+
'source.exitOptionDesc': 'Выйти из настройки',
|
|
69
|
+
'source.cloneManually': 'Для ручного клонирования:',
|
|
70
|
+
'source.directoryExists': 'Каталог {{path}} существует, но не является допустимым исходным кодом Authrim',
|
|
71
|
+
'source.replaceOption': 'Заменить свежей загрузкой',
|
|
72
|
+
'source.replaceOptionDesc': 'Удалить {{path}} и загрузить последнюю версию',
|
|
73
|
+
'source.differentOption': 'Использовать другой каталог',
|
|
74
|
+
'source.differentOptionDesc': 'Указать другое расположение',
|
|
75
|
+
'source.enterPath': 'Введите путь к каталогу:',
|
|
76
|
+
'source.updateFailed': 'Обновление не удалось',
|
|
77
|
+
'source.downloadFailed': 'Загрузка не удалась',
|
|
78
|
+
'source.verificationWarnings': 'Предупреждения проверки структуры исходного кода:',
|
|
79
|
+
// Prerequisites
|
|
80
|
+
'prereq.checking': 'Проверка состояния wrangler...',
|
|
81
|
+
'prereq.wranglerNotInstalled': 'wrangler не установлен',
|
|
82
|
+
'prereq.wranglerInstallHint': 'Выполните следующую команду для установки:',
|
|
83
|
+
'prereq.notLoggedIn': 'Не выполнен вход в Cloudflare',
|
|
84
|
+
'prereq.loginHint': 'Выполните следующую команду для аутентификации:',
|
|
85
|
+
'prereq.loggedInAs': 'Подключено к Cloudflare ({{email}})',
|
|
86
|
+
'prereq.accountId': 'ID аккаунта: {{accountId}}',
|
|
87
|
+
// Environment
|
|
88
|
+
'env.prompt': 'Введите название окружения',
|
|
89
|
+
'env.prod': 'Продакшн',
|
|
90
|
+
'env.prodDesc': 'Для рабочего использования',
|
|
91
|
+
'env.staging': 'Стейджинг',
|
|
92
|
+
'env.stagingDesc': 'Для тестирования перед продакшном',
|
|
93
|
+
'env.dev': 'Разработка',
|
|
94
|
+
'env.devDesc': 'Для локальной разработки',
|
|
95
|
+
'env.custom': 'Другое',
|
|
96
|
+
'env.customDesc': 'Ввести своё название окружения',
|
|
97
|
+
'env.customPrompt': 'Введите название окружения',
|
|
98
|
+
'env.customValidation': 'Допускаются только строчные буквы, цифры и дефисы (например, prod, staging, dev)',
|
|
99
|
+
'env.detected': 'Обнаруженные окружения:',
|
|
100
|
+
'env.selectExisting': 'Выбрать существующее окружение',
|
|
101
|
+
'env.createNew': 'Создать новое окружение',
|
|
102
|
+
'env.createNewDesc': 'Настроить новое окружение',
|
|
103
|
+
'env.checking': 'Проверка существующих окружений...',
|
|
104
|
+
'env.alreadyExists': 'Окружение "{{env}}" уже существует',
|
|
105
|
+
'env.existingResources': 'Существующие ресурсы:',
|
|
106
|
+
'env.workers': 'Workers: {{count}}',
|
|
107
|
+
'env.d1Databases': 'Базы данных D1: {{count}}',
|
|
108
|
+
'env.kvNamespaces': 'Пространства имён KV: {{count}}',
|
|
109
|
+
'env.chooseAnother': 'Пожалуйста, выберите другое имя или используйте "npx @authrim/setup manage" для удаления.',
|
|
110
|
+
'env.available': 'Название окружения доступно',
|
|
111
|
+
'env.checkFailed': 'Не удалось проверить существующие окружения (продолжаем)',
|
|
112
|
+
'env.noEnvFound': 'Окружения Authrim не найдены.',
|
|
113
|
+
// Region
|
|
114
|
+
'region.prompt': 'Выберите регион',
|
|
115
|
+
'region.auto': 'Автоматически (ближайший к вам)',
|
|
116
|
+
'region.autoDesc': 'Позволить Cloudflare выбрать ближайший регион',
|
|
117
|
+
'region.wnam': 'Северная Америка (Запад)',
|
|
118
|
+
'region.wnamDesc': 'Западная Северная Америка',
|
|
119
|
+
'region.enam': 'Северная Америка (Восток)',
|
|
120
|
+
'region.enamDesc': 'Восточная Северная Америка',
|
|
121
|
+
'region.weur': 'Европа (Запад)',
|
|
122
|
+
'region.weurDesc': 'Западная Европа',
|
|
123
|
+
'region.eeur': 'Европа (Восток)',
|
|
124
|
+
'region.eeurDesc': 'Восточная Европа',
|
|
125
|
+
'region.apac': 'Азиатско-Тихоокеанский регион',
|
|
126
|
+
'region.apacDesc': 'Азиатско-Тихоокеанский регион',
|
|
127
|
+
'region.oceania': 'Океания',
|
|
128
|
+
'region.oceaniaDesc': 'Австралия и острова Тихого океана',
|
|
129
|
+
'region.euJurisdiction': 'Юрисдикция ЕС (соответствие GDPR)',
|
|
130
|
+
'region.euJurisdictionDesc': 'Данные хранятся в ЕС',
|
|
131
|
+
// UI deployment
|
|
132
|
+
'ui.prompt': 'Способ развёртывания UI',
|
|
133
|
+
'ui.pagesOption': 'Cloudflare Pages',
|
|
134
|
+
'ui.pagesDesc': 'Развернуть на Cloudflare Pages (рекомендуется)',
|
|
135
|
+
'ui.customOption': 'Собственный домен',
|
|
136
|
+
'ui.customDesc': 'Использовать собственный хостинг',
|
|
137
|
+
'ui.skipOption': 'Пропустить',
|
|
138
|
+
'ui.skipDesc': 'Пропустить развёртывание UI',
|
|
139
|
+
'ui.customPrompt': 'Введите URL собственного UI',
|
|
140
|
+
// Domain
|
|
141
|
+
'domain.prompt': 'Настроить собственный домен?',
|
|
142
|
+
'domain.workersDevOption': 'Использовать домен workers.dev',
|
|
143
|
+
'domain.workersDevDesc': 'Использовать домен Cloudflare по умолчанию',
|
|
144
|
+
'domain.customOption': 'Настроить собственный домен',
|
|
145
|
+
'domain.customDesc': 'Использовать свой домен',
|
|
146
|
+
'domain.customPrompt': 'Введите собственный домен (например, auth.example.com)',
|
|
147
|
+
'domain.customValidation': 'Пожалуйста, введите корректный домен (например, auth.example.com)',
|
|
148
|
+
'domain.issuerUrl': 'URL издателя: {{url}}',
|
|
149
|
+
'domain.apiDomain': 'Домен API / издателя (например, auth.example.com)',
|
|
150
|
+
'domain.loginUiDomain': 'Домен UI для входа (Enter для пропуска)',
|
|
151
|
+
'domain.adminUiDomain': 'Домен панели администратора (Enter для пропуска)',
|
|
152
|
+
'domain.enterDomains': 'Введите собственные домены (оставьте пустым для использования Cloudflare по умолчанию)',
|
|
153
|
+
'domain.singleTenantNote': 'В однотенантном режиме URL издателя = домен API',
|
|
154
|
+
'domain.usingWorkersDev': '(используется домен Cloudflare workers.dev)',
|
|
155
|
+
// Database
|
|
156
|
+
'db.title': 'Конфигурация базы данных',
|
|
157
|
+
'db.regionWarning': 'Регион базы данных нельзя изменить после создания.',
|
|
158
|
+
'db.coreDescription': 'Core DB: хранит OAuth-клиентов, токены, сессии, журналы аудита',
|
|
159
|
+
'db.coreRegion': 'Регион основной базы данных',
|
|
160
|
+
'db.piiDescription': 'PII DB: хранит профили пользователей, учётные данные, персональные данные',
|
|
161
|
+
'db.piiNote': 'Учитывайте требования к защите данных.',
|
|
162
|
+
'db.piiRegion': 'Регион базы данных PII',
|
|
163
|
+
'db.creating': 'Создание базы данных...',
|
|
164
|
+
'db.created': 'База данных создана: {{name}}',
|
|
165
|
+
'db.existing': 'Используется существующая база данных: {{name}}',
|
|
166
|
+
'db.error': 'Не удалось создать базу данных',
|
|
167
|
+
'db.locationHints': 'Подсказки по расположению',
|
|
168
|
+
'db.jurisdictionCompliance': 'Юрисдикция (соответствие)',
|
|
169
|
+
// KV
|
|
170
|
+
'kv.creating': 'Создание пространства имён KV...',
|
|
171
|
+
'kv.created': 'Пространство имён KV создано: {{name}}',
|
|
172
|
+
'kv.existing': 'Используется существующее пространство имён KV: {{name}}',
|
|
173
|
+
'kv.error': 'Не удалось создать пространство имён KV',
|
|
174
|
+
// Queue
|
|
175
|
+
'queue.creating': 'Создание очереди...',
|
|
176
|
+
'queue.created': 'Очередь создана: {{name}}',
|
|
177
|
+
'queue.existing': 'Используется существующая очередь: {{name}}',
|
|
178
|
+
'queue.error': 'Не удалось создать очередь',
|
|
179
|
+
// R2
|
|
180
|
+
'r2.creating': 'Создание бакета R2...',
|
|
181
|
+
'r2.created': 'Бакет R2 создан: {{name}}',
|
|
182
|
+
'r2.existing': 'Используется существующий бакет R2: {{name}}',
|
|
183
|
+
'r2.error': 'Не удалось создать бакет R2',
|
|
184
|
+
// Keys
|
|
185
|
+
'keys.generating': 'Генерация криптографических ключей...',
|
|
186
|
+
'keys.generated': 'Ключи сгенерированы ({{path}})',
|
|
187
|
+
'keys.existing': 'Ключи для окружения "{{env}}" уже существуют',
|
|
188
|
+
'keys.existingWarning': 'Существующие ключи будут перезаписаны.',
|
|
189
|
+
'keys.error': 'Не удалось сгенерировать ключи',
|
|
190
|
+
'keys.regeneratePrompt': 'Перегенерировать ключи?',
|
|
191
|
+
'keys.regenerateWarning': 'Это сделает недействительными все существующие токены!',
|
|
192
|
+
// Config
|
|
193
|
+
'config.saving': 'Сохранение конфигурации...',
|
|
194
|
+
'config.saved': 'Конфигурация сохранена в {{path}}',
|
|
195
|
+
'config.error': 'Не удалось сохранить конфигурацию',
|
|
196
|
+
'config.path': 'Путь к конфигурации',
|
|
197
|
+
'config.summary': 'Сводка конфигурации',
|
|
198
|
+
'config.infrastructure': 'Инфраструктура:',
|
|
199
|
+
'config.environment': 'Окружение:',
|
|
200
|
+
'config.workerPrefix': 'Префикс Worker:',
|
|
201
|
+
'config.profile': 'Профиль:',
|
|
202
|
+
'config.tenantIssuer': 'Тенант и издатель:',
|
|
203
|
+
'config.mode': 'Режим:',
|
|
204
|
+
'config.multiTenant': 'Мультитенантный',
|
|
205
|
+
'config.singleTenant': 'Однотенантный',
|
|
206
|
+
'config.baseDomain': 'Базовый домен:',
|
|
207
|
+
'config.issuerFormat': 'Формат издателя:',
|
|
208
|
+
'config.issuerUrl': 'URL издателя:',
|
|
209
|
+
'config.defaultTenant': 'Тенант по умолчанию:',
|
|
210
|
+
'config.displayName': 'Отображаемое имя:',
|
|
211
|
+
'config.publicUrls': 'Публичные URL:',
|
|
212
|
+
'config.apiRouter': 'API-маршрутизатор:',
|
|
213
|
+
'config.loginUi': 'UI для входа:',
|
|
214
|
+
'config.adminUi': 'Панель администратора:',
|
|
215
|
+
'config.components': 'Компоненты:',
|
|
216
|
+
'config.featureFlags': 'Флаги функций:',
|
|
217
|
+
'config.emailSettings': 'Email:',
|
|
218
|
+
'config.oidcSettings': 'Настройки OIDC:',
|
|
219
|
+
'config.accessTtl': 'TTL токена доступа:',
|
|
220
|
+
'config.refreshTtl': 'TTL токена обновления:',
|
|
221
|
+
'config.authCodeTtl': 'TTL кода авторизации:',
|
|
222
|
+
'config.pkceRequired': 'Требуется PKCE:',
|
|
223
|
+
'config.sharding': 'Шардинг:',
|
|
224
|
+
'config.authCodeShards': 'Код авторизации:',
|
|
225
|
+
'config.refreshTokenShards': 'Токен обновления:',
|
|
226
|
+
'config.database': 'База данных:',
|
|
227
|
+
'config.coreDb': 'Основная БД:',
|
|
228
|
+
'config.piiDb': 'БД PII:',
|
|
229
|
+
'config.enabled': 'Включено',
|
|
230
|
+
'config.disabled': 'Отключено',
|
|
231
|
+
'config.standard': '(стандартный)',
|
|
232
|
+
'config.notConfigured': 'Не настроено (настроить позже)',
|
|
233
|
+
'config.yes': 'Да',
|
|
234
|
+
'config.no': 'Нет',
|
|
235
|
+
'config.shards': 'шардов',
|
|
236
|
+
'config.sec': 'сек',
|
|
237
|
+
'config.automatic': 'Автоматически',
|
|
238
|
+
// Deploy
|
|
239
|
+
'deploy.prompt': 'Начать настройку с этой конфигурацией?',
|
|
240
|
+
'deploy.starting': 'Запуск настройки...',
|
|
241
|
+
'deploy.building': 'Сборка пакетов...',
|
|
242
|
+
'deploy.deploying': 'Развёртывание на Cloudflare...',
|
|
243
|
+
'deploy.success': 'Настройка завершена!',
|
|
244
|
+
'deploy.error': 'Не удалось развернуть',
|
|
245
|
+
'deploy.skipped': 'Развёртывание пропущено',
|
|
246
|
+
'deploy.component': 'Развёртывание {{component}}...',
|
|
247
|
+
'deploy.uploadingSecrets': 'Загрузка секретов...',
|
|
248
|
+
'deploy.secretsUploaded': 'Секреты загружены',
|
|
249
|
+
'deploy.runningMigrations': 'Выполнение миграций базы данных...',
|
|
250
|
+
'deploy.migrationsComplete': 'Миграции завершены',
|
|
251
|
+
'deploy.deployingWorker': 'Развёртывание worker {{name}}...',
|
|
252
|
+
'deploy.workerDeployed': 'Worker развёрнут: {{name}}',
|
|
253
|
+
'deploy.deployingUI': 'Развёртывание UI...',
|
|
254
|
+
'deploy.uiDeployed': 'UI развёрнут',
|
|
255
|
+
'deploy.creatingResources': 'Создание ресурсов Cloudflare...',
|
|
256
|
+
'deploy.resourcesFailed': 'Не удалось создать ресурсы',
|
|
257
|
+
'deploy.continueWithout': 'Продолжить без подготовки? (вам потребуется создать ресурсы вручную)',
|
|
258
|
+
'deploy.emailSecretsSaved': 'Секреты email сохранены в {{path}}',
|
|
259
|
+
'deploy.confirmStart': 'Начать развёртывание?',
|
|
260
|
+
'deploy.confirmDryRun': 'Запустить развёртывание в режиме dry-run?',
|
|
261
|
+
'deploy.cancelled': 'Развёртывание отменено.',
|
|
262
|
+
'deploy.wranglerChanged': 'Как вы хотите обработать эти изменения?',
|
|
263
|
+
'deploy.wranglerKeep': '📝 Сохранить ручные изменения (развернуть как есть)',
|
|
264
|
+
'deploy.wranglerBackup': '💾 Создать резервную копию и перезаписать мастером',
|
|
265
|
+
'deploy.wranglerOverwrite': '⚠️ Перезаписать мастером (потерять изменения)',
|
|
266
|
+
// Email provider
|
|
267
|
+
'email.title': 'Провайдер email',
|
|
268
|
+
'email.description': 'Настройка отправки email для magic-ссылок и кодов подтверждения.',
|
|
269
|
+
'email.prompt': 'Настроить провайдера email сейчас?',
|
|
270
|
+
'email.resendOption': 'Resend',
|
|
271
|
+
'email.resendDesc': 'Современный email API для разработчиков',
|
|
272
|
+
'email.sesOption': 'AWS SES',
|
|
273
|
+
'email.sesDesc': 'Amazon Simple Email Service',
|
|
274
|
+
'email.smtpOption': 'SMTP',
|
|
275
|
+
'email.smtpDesc': 'Общий SMTP-сервер',
|
|
276
|
+
'email.skipOption': 'Нет (настроить позже)',
|
|
277
|
+
'email.skipDesc': 'Пропустить настройку email',
|
|
278
|
+
'email.apiKeyPrompt': 'API-ключ Resend',
|
|
279
|
+
'email.apiKeyHint': 'Получите API-ключ на: https://resend.com/api-keys',
|
|
280
|
+
'email.domainHint': 'Настройка домена: https://resend.com/domains',
|
|
281
|
+
'email.apiKeyRequired': 'Требуется API-ключ',
|
|
282
|
+
'email.apiKeyWarning': 'Предупреждение: API-ключи Resend обычно начинаются с "re_"',
|
|
283
|
+
'email.fromAddressPrompt': 'Адрес отправителя email',
|
|
284
|
+
'email.fromAddressValidation': 'Пожалуйста, введите корректный адрес email',
|
|
285
|
+
'email.fromNamePrompt': 'Отображаемое имя отправителя (необязательно)',
|
|
286
|
+
'email.domainVerificationRequired': 'Для отправки с вашего домена требуется верификация домена.',
|
|
287
|
+
'email.seeDocumentation': 'См.: https://resend.com/docs/dashboard/domains/introduction',
|
|
288
|
+
'email.provider': 'Провайдер:',
|
|
289
|
+
'email.fromAddress': 'Адрес отправителя:',
|
|
290
|
+
'email.fromName': 'Имя отправителя:',
|
|
291
|
+
// SMS provider
|
|
292
|
+
'sms.prompt': 'Настроить провайдера SMS?',
|
|
293
|
+
'sms.twilioOption': 'Twilio',
|
|
294
|
+
'sms.twilioDesc': 'SMS через Twilio',
|
|
295
|
+
'sms.skipOption': 'Нет (настроить позже)',
|
|
296
|
+
'sms.skipDesc': 'Пропустить настройку SMS',
|
|
297
|
+
'sms.accountSidPrompt': 'Twilio Account SID',
|
|
298
|
+
'sms.authTokenPrompt': 'Twilio Auth Token',
|
|
299
|
+
'sms.fromNumberPrompt': 'Номер телефона отправителя',
|
|
300
|
+
// Social providers
|
|
301
|
+
'social.prompt': 'Настроить провайдеров социального входа?',
|
|
302
|
+
'social.googleOption': 'Google',
|
|
303
|
+
'social.googleDesc': 'Вход через Google',
|
|
304
|
+
'social.githubOption': 'GitHub',
|
|
305
|
+
'social.githubDesc': 'Вход через GitHub',
|
|
306
|
+
'social.appleOption': 'Apple',
|
|
307
|
+
'social.appleDesc': 'Вход через Apple',
|
|
308
|
+
'social.microsoftOption': 'Microsoft',
|
|
309
|
+
'social.microsoftDesc': 'Вход через Microsoft',
|
|
310
|
+
'social.skipOption': 'Нет (настроить позже)',
|
|
311
|
+
'social.skipDesc': 'Пропустить настройку социального входа',
|
|
312
|
+
'social.clientIdPrompt': 'ID клиента',
|
|
313
|
+
'social.clientSecretPrompt': 'Секрет клиента',
|
|
314
|
+
// Cloudflare API Token
|
|
315
|
+
'cf.apiTokenPrompt': 'Введите API-токен Cloudflare',
|
|
316
|
+
'cf.apiTokenValidation': 'Пожалуйста, введите корректный API-токен',
|
|
317
|
+
// OIDC Profile
|
|
318
|
+
'profile.prompt': 'Выберите профиль OIDC',
|
|
319
|
+
'profile.basicOp': 'Basic OP (Стандартный OIDC-провайдер)',
|
|
320
|
+
'profile.basicOpDesc': 'Стандартные функции OIDC',
|
|
321
|
+
'profile.fapiRw': 'FAPI Read-Write (Финансовый уровень)',
|
|
322
|
+
'profile.fapiRwDesc': 'Соответствует профилю безопасности FAPI 1.0 Read-Write',
|
|
323
|
+
'profile.fapi2Security': 'FAPI 2.0 Security Profile',
|
|
324
|
+
'profile.fapi2SecurityDesc': 'Соответствует профилю безопасности FAPI 2.0 (максимальная безопасность)',
|
|
325
|
+
// Tenant configuration
|
|
326
|
+
'tenant.title': 'Режим тенантов',
|
|
327
|
+
'tenant.multiTenantPrompt': 'Включить мультитенантный режим? (изоляция тенантов на основе поддоменов)',
|
|
328
|
+
'tenant.multiTenantTitle': 'Конфигурация URL мультитенантности',
|
|
329
|
+
'tenant.multiTenantNote1': 'В мультитенантном режиме:',
|
|
330
|
+
'tenant.multiTenantNote2': 'Каждый тенант имеет поддомен: https://{tenant}.{base-domain}',
|
|
331
|
+
'tenant.multiTenantNote3': 'Базовый домен указывает на Worker-маршрутизатор',
|
|
332
|
+
'tenant.multiTenantNote4': 'URL издателя динамически строится из заголовка Host',
|
|
333
|
+
'tenant.baseDomainPrompt': 'Базовый домен (например, authrim.com)',
|
|
334
|
+
'tenant.baseDomainRequired': 'Базовый домен обязателен для мультитенантного режима',
|
|
335
|
+
'tenant.baseDomainValidation': 'Пожалуйста, введите корректный домен (например, authrim.com)',
|
|
336
|
+
'tenant.issuerFormat': 'Формат URL издателя: https://{tenant}.{{domain}}',
|
|
337
|
+
'tenant.issuerExample': 'Пример: https://acme.{{domain}}',
|
|
338
|
+
'tenant.defaultTenantPrompt': 'Имя тенанта по умолчанию (идентификатор)',
|
|
339
|
+
'tenant.defaultTenantValidation': 'Допускаются только строчные буквы, цифры и дефисы',
|
|
340
|
+
'tenant.displayNamePrompt': 'Отображаемое имя тенанта по умолчанию',
|
|
341
|
+
'tenant.singleTenantTitle': 'Конфигурация URL однотенантности',
|
|
342
|
+
'tenant.singleTenantNote1': 'В однотенантном режиме:',
|
|
343
|
+
'tenant.singleTenantNote2': 'URL издателя = собственный домен API (или workers.dev по умолчанию)',
|
|
344
|
+
'tenant.singleTenantNote3': 'Все клиенты используют одного издателя',
|
|
345
|
+
'tenant.organizationName': 'Название организации (отображаемое имя)',
|
|
346
|
+
'tenant.uiDomainTitle': 'Конфигурация домена UI',
|
|
347
|
+
'tenant.customUiDomainPrompt': 'Настроить собственные домены UI?',
|
|
348
|
+
'tenant.loginUiDomain': 'Домен UI для входа (например, login.example.com)',
|
|
349
|
+
'tenant.adminUiDomain': 'Домен панели администратора (например, admin.example.com)',
|
|
350
|
+
// Optional components
|
|
351
|
+
'components.title': 'Дополнительные компоненты',
|
|
352
|
+
'components.note': 'Примечание: Социальный вход и Policy Engine являются стандартными компонентами',
|
|
353
|
+
'components.samlPrompt': 'Включить поддержку SAML?',
|
|
354
|
+
'components.vcPrompt': 'Включить верифицируемые учётные данные (VC)?',
|
|
355
|
+
'components.saml': 'SAML:',
|
|
356
|
+
'components.vc': 'VC:',
|
|
357
|
+
'components.socialLogin': 'Социальный вход:',
|
|
358
|
+
'components.policyEngine': 'Policy Engine:',
|
|
359
|
+
// Feature flags
|
|
360
|
+
'features.title': 'Флаги функций',
|
|
361
|
+
'features.queuePrompt': 'Включить Cloudflare Queues? (для журналов аудита)',
|
|
362
|
+
'features.r2Prompt': 'Включить Cloudflare R2? (для аватаров)',
|
|
363
|
+
'features.queue': 'Очередь:',
|
|
364
|
+
'features.r2': 'R2:',
|
|
365
|
+
// OIDC settings
|
|
366
|
+
'oidc.configurePrompt': 'Настроить параметры OIDC? (TTL токенов и т.д.)',
|
|
367
|
+
'oidc.title': 'Настройки OIDC',
|
|
368
|
+
'oidc.accessTokenTtl': 'TTL токена доступа (сек)',
|
|
369
|
+
'oidc.refreshTokenTtl': 'TTL токена обновления (сек)',
|
|
370
|
+
'oidc.authCodeTtl': 'TTL кода авторизации (сек)',
|
|
371
|
+
'oidc.pkceRequired': 'Требовать PKCE?',
|
|
372
|
+
'oidc.positiveInteger': 'Пожалуйста, введите положительное целое число',
|
|
373
|
+
// Sharding settings
|
|
374
|
+
'sharding.configurePrompt': 'Настроить шардинг? (для высоконагруженных окружений)',
|
|
375
|
+
'sharding.title': 'Настройки шардинга',
|
|
376
|
+
'sharding.note': 'Примечание: рекомендуется степень 2 для количества шардов (8, 16, 32, 64, 128)',
|
|
377
|
+
'sharding.authCodeShards': 'Количество шардов кода авторизации',
|
|
378
|
+
'sharding.refreshTokenShards': 'Количество шардов токена обновления',
|
|
379
|
+
// Infrastructure
|
|
380
|
+
'infra.title': 'Инфраструктура (автогенерация)',
|
|
381
|
+
'infra.workersNote': 'Будут развёрнуты следующие Workers:',
|
|
382
|
+
'infra.router': 'Маршрутизатор:',
|
|
383
|
+
'infra.auth': 'Аутентификация:',
|
|
384
|
+
'infra.token': 'Токен:',
|
|
385
|
+
'infra.management': 'Управление:',
|
|
386
|
+
'infra.otherWorkers': '... и другие вспомогательные workers',
|
|
387
|
+
'infra.defaultEndpoints': 'Эндпоинты по умолчанию (без собственного домена):',
|
|
388
|
+
'infra.api': 'API:',
|
|
389
|
+
'infra.ui': 'UI:',
|
|
390
|
+
'infra.workersToDeploy': 'Workers для развёртывания: {{workers}}',
|
|
391
|
+
'infra.defaultApi': 'API по умолчанию: {{url}}',
|
|
392
|
+
// Completion
|
|
393
|
+
'complete.title': 'Настройка завершена!',
|
|
394
|
+
'complete.summary': 'Ваш OIDC-провайдер Authrim развёрнут.',
|
|
395
|
+
'complete.issuerUrl': 'URL издателя: {{url}}',
|
|
396
|
+
'complete.adminUrl': 'Панель администратора: {{url}}',
|
|
397
|
+
'complete.uiUrl': 'UI для входа: {{url}}',
|
|
398
|
+
'complete.nextSteps': 'Следующие шаги:',
|
|
399
|
+
'complete.nextStep1': '1. Проверьте развёртывание, посетив URL издателя',
|
|
400
|
+
'complete.nextStep2': '2. Настройте OAuth-клиентов в панели администратора',
|
|
401
|
+
'complete.nextStep3': '3. При необходимости настройте собственные домены',
|
|
402
|
+
'complete.warning': 'Не забудьте сохранить ключи в безопасном месте и сделать резервную копию!',
|
|
403
|
+
'complete.success': 'Настройка успешно завершена!',
|
|
404
|
+
'complete.urls': 'URL-адреса:',
|
|
405
|
+
'complete.configLocation': 'Конфигурация:',
|
|
406
|
+
'complete.keysLocation': 'Ключи:',
|
|
407
|
+
// Resource provisioning
|
|
408
|
+
'resource.provisioning': 'Подготовка {{resource}}...',
|
|
409
|
+
'resource.provisioned': '{{resource}} успешно подготовлен',
|
|
410
|
+
'resource.failed': 'Не удалось подготовить {{resource}}',
|
|
411
|
+
'resource.skipped': 'Пропущено {{resource}}',
|
|
412
|
+
// Manage environments
|
|
413
|
+
'manage.title': 'Существующие окружения',
|
|
414
|
+
'manage.loading': 'Загрузка...',
|
|
415
|
+
'manage.detecting': 'Обнаружение окружений...',
|
|
416
|
+
'manage.detected': 'Обнаруженные окружения:',
|
|
417
|
+
'manage.noEnvs': 'Окружения Authrim не найдены.',
|
|
418
|
+
'manage.selectAction': 'Выберите действие',
|
|
419
|
+
'manage.viewDetails': 'Просмотр деталей',
|
|
420
|
+
'manage.viewDetailsDesc': 'Показать подробную информацию о ресурсах',
|
|
421
|
+
'manage.deleteEnv': 'Удалить окружение',
|
|
422
|
+
'manage.deleteEnvDesc': 'Удалить окружение и ресурсы',
|
|
423
|
+
'manage.backToMenu': 'Вернуться в главное меню',
|
|
424
|
+
'manage.backToMenuDesc': 'Вернуться в главное меню',
|
|
425
|
+
'manage.selectEnv': 'Выберите окружение',
|
|
426
|
+
'manage.back': 'Назад',
|
|
427
|
+
'manage.continueManaging': 'Продолжить управление окружениями?',
|
|
428
|
+
// Load config
|
|
429
|
+
'loadConfig.title': 'Загрузка существующей конфигурации',
|
|
430
|
+
'loadConfig.found': 'Найдено конфигураций: {{count}}',
|
|
431
|
+
'loadConfig.new': '(новая)',
|
|
432
|
+
'loadConfig.legacy': '(устаревшая)',
|
|
433
|
+
'loadConfig.legacyDetected': 'Обнаружена устаревшая структура',
|
|
434
|
+
'loadConfig.legacyFiles': 'Устаревшие файлы:',
|
|
435
|
+
'loadConfig.newBenefits': 'Преимущества новой структуры:',
|
|
436
|
+
'loadConfig.benefit1': 'Переносимость окружения (zip .authrim/prod/)',
|
|
437
|
+
'loadConfig.benefit2': 'Отслеживание версий по окружениям',
|
|
438
|
+
'loadConfig.benefit3': 'Более чистая структура проекта',
|
|
439
|
+
'loadConfig.migratePrompt': 'Хотите перейти на новую структуру?',
|
|
440
|
+
'loadConfig.migrateOption': 'Перейти на новую структуру (.authrim/{env}/)',
|
|
441
|
+
'loadConfig.continueOption': 'Продолжить с устаревшей структурой',
|
|
442
|
+
'loadConfig.migrationComplete': 'Миграция успешно завершена!',
|
|
443
|
+
'loadConfig.validationPassed': 'Проверка пройдена',
|
|
444
|
+
'loadConfig.validationIssues': 'Проблемы валидации:',
|
|
445
|
+
'loadConfig.newLocation': 'Новое расположение конфигурации:',
|
|
446
|
+
'loadConfig.migrationFailed': 'Миграция не удалась:',
|
|
447
|
+
'loadConfig.continuingLegacy': 'Продолжение с устаревшей структурой...',
|
|
448
|
+
'loadConfig.loadThis': 'Загрузить эту конфигурацию',
|
|
449
|
+
'loadConfig.specifyOther': 'Указать другой файл',
|
|
450
|
+
'loadConfig.noConfigFound': 'Конфигурация не найдена в текущем каталоге.',
|
|
451
|
+
'loadConfig.tip': 'Совет: вы можете указать файл конфигурации:',
|
|
452
|
+
'loadConfig.specifyPath': 'Указать путь к файлу',
|
|
453
|
+
'loadConfig.enterPath': 'Введите путь к файлу конфигурации',
|
|
454
|
+
'loadConfig.pathRequired': 'Пожалуйста, введите путь',
|
|
455
|
+
'loadConfig.fileNotFound': 'Файл не найден: {{path}}',
|
|
456
|
+
'loadConfig.selectConfig': 'Выберите конфигурацию для загрузки',
|
|
457
|
+
// Common
|
|
458
|
+
'common.yes': 'Да',
|
|
459
|
+
'common.no': 'Нет',
|
|
460
|
+
'common.continue': 'Продолжить',
|
|
461
|
+
'common.cancel': 'Отмена',
|
|
462
|
+
'common.skip': 'Пропустить',
|
|
463
|
+
'common.back': 'Назад',
|
|
464
|
+
'common.confirm': 'Подтвердить',
|
|
465
|
+
'common.error': 'Ошибка',
|
|
466
|
+
'common.warning': 'Предупреждение',
|
|
467
|
+
'common.success': 'Успешно',
|
|
468
|
+
'common.info': 'Информация',
|
|
469
|
+
'common.loading': 'Загрузка...',
|
|
470
|
+
'common.saving': 'Сохранение...',
|
|
471
|
+
'common.processing': 'Обработка...',
|
|
472
|
+
'common.done': 'Готово',
|
|
473
|
+
'common.required': 'Обязательно',
|
|
474
|
+
'common.optional': 'Необязательно',
|
|
475
|
+
// Errors
|
|
476
|
+
'error.generic': 'Произошла ошибка',
|
|
477
|
+
'error.network': 'Ошибка сети',
|
|
478
|
+
'error.timeout': 'Время ожидания запроса истекло',
|
|
479
|
+
'error.invalidInput': 'Некорректный ввод',
|
|
480
|
+
'error.fileNotFound': 'Файл не найден',
|
|
481
|
+
'error.permissionDenied': 'Доступ запрещён',
|
|
482
|
+
'error.configNotFound': 'Конфигурация не найдена',
|
|
483
|
+
'error.configInvalid': 'Некорректная конфигурация',
|
|
484
|
+
'error.deployFailed': 'Развёртывание не удалось',
|
|
485
|
+
'error.resourceCreationFailed': 'Не удалось создать ресурс',
|
|
486
|
+
// Validation
|
|
487
|
+
'validation.required': 'Это поле обязательно',
|
|
488
|
+
'validation.invalidFormat': 'Некорректный формат',
|
|
489
|
+
'validation.tooShort': 'Слишком коротко',
|
|
490
|
+
'validation.tooLong': 'Слишком длинно',
|
|
491
|
+
'validation.invalidDomain': 'Некорректный домен',
|
|
492
|
+
'validation.invalidEmail': 'Некорректный адрес email',
|
|
493
|
+
'validation.invalidUrl': 'Некорректный URL',
|
|
494
|
+
// Delete command
|
|
495
|
+
'delete.title': 'Удаление окружения',
|
|
496
|
+
'delete.prompt': 'Выберите ресурсы для удаления',
|
|
497
|
+
'delete.confirm': 'Вы уверены, что хотите удалить "{{env}}"?',
|
|
498
|
+
'delete.confirmPermanent': '⚠️ Все ресурсы для "{{env}}" будут безвозвратно удалены. Продолжить?',
|
|
499
|
+
'delete.confirmWarning': 'Это действие нельзя отменить!',
|
|
500
|
+
'delete.deleting': 'Удаление {{resource}}...',
|
|
501
|
+
'delete.deleted': '{{resource}} удалён',
|
|
502
|
+
'delete.error': 'Не удалось удалить {{resource}}',
|
|
503
|
+
'delete.cancelled': 'Удаление отменено',
|
|
504
|
+
'delete.noEnvFound': 'Окружения не найдены',
|
|
505
|
+
'delete.selectEnv': 'Выберите окружение для удаления',
|
|
506
|
+
'delete.workers': 'Workers',
|
|
507
|
+
'delete.databases': 'Базы данных D1',
|
|
508
|
+
'delete.kvNamespaces': 'Пространства имён KV',
|
|
509
|
+
'delete.queues': 'Очереди',
|
|
510
|
+
'delete.r2Buckets': 'Бакеты R2',
|
|
511
|
+
// Info command
|
|
512
|
+
'info.title': 'Информация об окружении',
|
|
513
|
+
'info.loading': 'Загрузка информации об окружении...',
|
|
514
|
+
'info.noResources': 'Ресурсы не найдены',
|
|
515
|
+
'info.environment': 'Окружение',
|
|
516
|
+
'info.issuer': 'Издатель',
|
|
517
|
+
'info.workers': 'Workers',
|
|
518
|
+
'info.databases': 'Базы данных',
|
|
519
|
+
'info.kvNamespaces': 'Пространства имён KV',
|
|
520
|
+
'info.queues': 'Очереди',
|
|
521
|
+
'info.r2Buckets': 'Бакеты R2',
|
|
522
|
+
'info.status': 'Статус',
|
|
523
|
+
'info.deployed': 'Развёрнуто',
|
|
524
|
+
'info.notDeployed': 'Не развёрнуто',
|
|
525
|
+
// Config command
|
|
526
|
+
'configCmd.title': 'Конфигурация',
|
|
527
|
+
'configCmd.showing': 'Отображение конфигурации',
|
|
528
|
+
'configCmd.validating': 'Проверка конфигурации...',
|
|
529
|
+
'configCmd.valid': 'Конфигурация корректна',
|
|
530
|
+
'configCmd.invalid': 'Конфигурация некорректна',
|
|
531
|
+
'configCmd.notFound': 'Конфигурация не найдена',
|
|
532
|
+
'configCmd.error': 'Ошибка чтения конфигурации',
|
|
533
|
+
// Migrate command
|
|
534
|
+
'migrate.title': 'Миграция на новую структуру',
|
|
535
|
+
'migrate.checking': 'Проверка статуса миграции...',
|
|
536
|
+
'migrate.noLegacyFound': 'Устаревшая структура не найдена',
|
|
537
|
+
'migrate.legacyFound': 'Обнаружена устаревшая структура',
|
|
538
|
+
'migrate.prompt': 'Перейти на новую структуру?',
|
|
539
|
+
'migrate.migrating': 'Миграция...',
|
|
540
|
+
'migrate.success': 'Миграция успешна',
|
|
541
|
+
'migrate.cancelled': 'Миграция отменена.',
|
|
542
|
+
'migrate.error': 'Миграция не удалась',
|
|
543
|
+
'migrate.dryRun': 'Dry run — изменения не внесены',
|
|
544
|
+
'migrate.backup': 'Создание резервной копии...',
|
|
545
|
+
'migrate.backupCreated': 'Резервная копия создана: {{path}}',
|
|
546
|
+
// Manage command
|
|
547
|
+
'manage.commandTitle': 'Менеджер окружений Authrim',
|
|
548
|
+
// Web UI specific
|
|
549
|
+
'web.title': 'Настройка Authrim',
|
|
550
|
+
'web.subtitle': 'OIDC-провайдер на Cloudflare Workers',
|
|
551
|
+
'web.loading': 'Загрузка...',
|
|
552
|
+
'web.error': 'Произошла ошибка',
|
|
553
|
+
'web.retry': 'Повторить',
|
|
554
|
+
'web.languageSelector': 'Язык',
|
|
555
|
+
'web.darkMode': 'Тёмная',
|
|
556
|
+
'web.lightMode': 'Светлая',
|
|
557
|
+
'web.systemMode': 'Системная',
|
|
558
|
+
// Web UI Prerequisites
|
|
559
|
+
'web.prereq.title': 'Предварительные требования',
|
|
560
|
+
'web.prereq.checking': 'Проверка...',
|
|
561
|
+
'web.prereq.checkingRequirements': 'Проверка системных требований...',
|
|
562
|
+
'web.prereq.ready': 'Готово',
|
|
563
|
+
'web.prereq.wranglerInstalled': 'Wrangler установлен',
|
|
564
|
+
'web.prereq.loggedInAs': 'Вход выполнен как {{email}}',
|
|
565
|
+
// Web UI Top Menu
|
|
566
|
+
'web.menu.title': 'Начало работы',
|
|
567
|
+
'web.menu.subtitle': 'Выберите вариант для продолжения:',
|
|
568
|
+
'web.menu.newSetup': 'Новая настройка',
|
|
569
|
+
'web.menu.newSetupDesc': 'Создать новое развёртывание Authrim с нуля',
|
|
570
|
+
'web.menu.loadConfig': 'Загрузить конфигурацию',
|
|
571
|
+
'web.menu.loadConfigDesc': 'Продолжить или повторно развернуть с существующей конфигурацией',
|
|
572
|
+
'web.menu.manageEnv': 'Управление окружениями',
|
|
573
|
+
'web.menu.manageEnvDesc': 'Просмотр, проверка или удаление существующих окружений',
|
|
574
|
+
// Web UI Setup Mode
|
|
575
|
+
'web.mode.title': 'Режим настройки',
|
|
576
|
+
'web.mode.subtitle': 'Выберите способ настройки Authrim:',
|
|
577
|
+
'web.mode.quick': 'Быстрая настройка',
|
|
578
|
+
'web.mode.quickDesc': 'Начните за ~5 минут',
|
|
579
|
+
'web.mode.quickEnv': 'Выбор окружения',
|
|
580
|
+
'web.mode.quickDomain': 'Необязательный собственный домен',
|
|
581
|
+
'web.mode.quickDefault': 'Компоненты по умолчанию',
|
|
582
|
+
'web.mode.recommended': 'Рекомендуется',
|
|
583
|
+
'web.mode.custom': 'Расширенная настройка',
|
|
584
|
+
'web.mode.customDesc': 'Полный контроль над конфигурацией',
|
|
585
|
+
'web.mode.customComp': 'Выбор компонентов',
|
|
586
|
+
'web.mode.customUrl': 'Конфигурация URL',
|
|
587
|
+
'web.mode.customAdvanced': 'Расширенные настройки',
|
|
588
|
+
// Web UI Load Config
|
|
589
|
+
'web.loadConfig.title': 'Загрузка конфигурации',
|
|
590
|
+
'web.loadConfig.subtitle': 'Выберите файл authrim-config.json:',
|
|
591
|
+
'web.loadConfig.chooseFile': 'Выбрать файл',
|
|
592
|
+
'web.loadConfig.preview': 'Предпросмотр конфигурации',
|
|
593
|
+
'web.loadConfig.validationFailed': 'Проверка конфигурации не пройдена',
|
|
594
|
+
'web.loadConfig.valid': 'Конфигурация корректна',
|
|
595
|
+
'web.loadConfig.loadContinue': 'Загрузить и продолжить',
|
|
596
|
+
// Web UI Configuration
|
|
597
|
+
'web.config.title': 'Конфигурация',
|
|
598
|
+
'web.config.components': 'Компоненты',
|
|
599
|
+
'web.config.apiRequired': 'API (обязательно)',
|
|
600
|
+
'web.config.apiDesc': 'Эндпоинты OIDC-провайдера: authorize, token, userinfo, discovery, management API.',
|
|
601
|
+
'web.config.saml': 'SAML IdP',
|
|
602
|
+
'web.config.deviceFlow': 'Device Flow / CIBA',
|
|
603
|
+
'web.config.vcSdJwt': 'VC SD-JWT',
|
|
604
|
+
'web.config.loginUi': 'UI для входа',
|
|
605
|
+
'web.config.loginUiDesc': 'Готовый UI аутентификации на Cloudflare Pages.',
|
|
606
|
+
'web.config.adminUi': 'Панель администратора',
|
|
607
|
+
'web.config.adminUiDesc': 'Панель управления пользователями, клиентами и настройками.',
|
|
608
|
+
// Web UI URLs
|
|
609
|
+
'web.url.title': 'Конфигурация URL',
|
|
610
|
+
'web.url.apiDomain': 'Домен API',
|
|
611
|
+
'web.url.apiDomainHint': 'Оставьте пустым для использования поддомена workers.dev',
|
|
612
|
+
'web.url.loginDomain': 'Домен UI для входа',
|
|
613
|
+
'web.url.loginDomainHint': 'Оставьте пустым для использования поддомена pages.dev',
|
|
614
|
+
'web.url.adminDomain': 'Домен панели администратора',
|
|
615
|
+
'web.url.adminDomainHint': 'Оставьте пустым для использования поддомена pages.dev',
|
|
616
|
+
// Web UI Database
|
|
617
|
+
'web.db.title': 'Конфигурация базы данных',
|
|
618
|
+
'web.db.coreTitle': 'Основная база данных',
|
|
619
|
+
'web.db.coreSubtitle': '(без PII)',
|
|
620
|
+
'web.db.coreDesc': 'Хранит клиентов, коды авторизации, токены, сессии. Может реплицироваться глобально.',
|
|
621
|
+
'web.db.piiTitle': 'База данных PII',
|
|
622
|
+
'web.db.piiSubtitle': '(персональные данные)',
|
|
623
|
+
'web.db.piiDesc': 'Хранит профили пользователей, учётные данные, PII. Должна находиться в одной юрисдикции для соответствия требованиям.',
|
|
624
|
+
'web.db.name': 'Имя',
|
|
625
|
+
'web.db.region': 'Регион',
|
|
626
|
+
'web.db.regionAuto': 'Автоматически (ближайший)',
|
|
627
|
+
// Web UI Email
|
|
628
|
+
'web.email.title': 'Провайдер email',
|
|
629
|
+
'web.email.subtitle': 'Выберите сервис email для сброса пароля и подтверждения:',
|
|
630
|
+
'web.email.none': 'Нет',
|
|
631
|
+
'web.email.noneDesc': 'Функции email отключены',
|
|
632
|
+
'web.email.resend': 'Resend',
|
|
633
|
+
'web.email.resendDesc': 'Email API для разработчиков',
|
|
634
|
+
'web.email.sendgrid': 'SendGrid',
|
|
635
|
+
'web.email.sendgridDesc': 'Масштабируемая доставка email',
|
|
636
|
+
'web.email.ses': 'Amazon SES',
|
|
637
|
+
'web.email.sesDesc': 'AWS Simple Email Service',
|
|
638
|
+
'web.email.resendConfig': 'Конфигурация Resend',
|
|
639
|
+
'web.email.apiKey': 'API-ключ',
|
|
640
|
+
'web.email.apiKeyPlaceholder': 're_xxxxxxxx',
|
|
641
|
+
'web.email.fromAddress': 'Адрес отправителя',
|
|
642
|
+
'web.email.fromAddressPlaceholder': 'noreply@yourdomain.com',
|
|
643
|
+
// Web UI Provision
|
|
644
|
+
'web.provision.title': 'Создание ресурсов Cloudflare',
|
|
645
|
+
'web.provision.ready': 'Готово к подготовке',
|
|
646
|
+
'web.provision.desc': 'В вашем аккаунте Cloudflare будут созданы следующие ресурсы:',
|
|
647
|
+
'web.provision.createResources': 'Создать ресурсы',
|
|
648
|
+
'web.provision.saveConfig': 'Сохранить конфигурацию',
|
|
649
|
+
'web.provision.continueDeploy': 'Перейти к развёртыванию →',
|
|
650
|
+
// Web UI Deploy
|
|
651
|
+
'web.deploy.title': 'Развёртывание',
|
|
652
|
+
'web.deploy.desc': 'Развернуть workers и UI на Cloudflare:',
|
|
653
|
+
'web.deploy.startDeploy': 'Начать развёртывание',
|
|
654
|
+
'web.deploy.deploying': 'Развёртывание...',
|
|
655
|
+
// Web UI Complete
|
|
656
|
+
'web.complete.title': 'Настройка завершена!',
|
|
657
|
+
'web.complete.desc': 'Ваше развёртывание Authrim готово.',
|
|
658
|
+
'web.complete.issuerUrl': 'URL издателя',
|
|
659
|
+
'web.complete.loginUrl': 'URL для входа',
|
|
660
|
+
'web.complete.adminUrl': 'URL администратора',
|
|
661
|
+
'web.complete.nextSteps': 'Следующие шаги:',
|
|
662
|
+
'web.complete.step1': 'Завершите начальную настройку администратора, используя кнопку выше',
|
|
663
|
+
'web.complete.step2': 'Настройте первого OAuth-клиента в панели администратора',
|
|
664
|
+
'web.complete.step3': 'Интегрируйте с вашим приложением',
|
|
665
|
+
'web.complete.saveConfig': 'Сохранить конфигурацию',
|
|
666
|
+
'web.complete.backToMain': 'Вернуться на главную',
|
|
667
|
+
'web.complete.canClose': 'Настройка завершена. Вы можете безопасно закрыть это окно.',
|
|
668
|
+
// Web UI Environment Management
|
|
669
|
+
'web.env.title': 'Окружения',
|
|
670
|
+
'web.env.loading': 'Загрузка окружений...',
|
|
671
|
+
'web.env.noEnvFound': 'Окружения не найдены',
|
|
672
|
+
'web.env.refresh': 'Обновить',
|
|
673
|
+
'web.env.adminSetup': 'Начальная настройка администратора',
|
|
674
|
+
'web.env.adminSetupDesc': 'Нажмите для создания учётной записи администратора для',
|
|
675
|
+
'web.env.openSetup': 'Открыть настройку',
|
|
676
|
+
'web.env.copyUrl': 'Копировать',
|
|
677
|
+
'web.env.deleteTitle': 'Удаление окружения',
|
|
678
|
+
'web.env.deleteWarning': 'Это действие нельзя отменить. Следующие ресурсы будут безвозвратно удалены:',
|
|
679
|
+
'web.env.confirmDelete': 'Удалить выбранное',
|
|
680
|
+
'web.env.cancel': 'Отмена',
|
|
681
|
+
// Web UI Common buttons
|
|
682
|
+
'web.btn.back': 'Назад',
|
|
683
|
+
'web.btn.continue': 'Продолжить',
|
|
684
|
+
'web.btn.cancel': 'Отмена',
|
|
685
|
+
'web.btn.save': 'Сохранить',
|
|
686
|
+
'web.btn.skip': 'Пропустить',
|
|
687
|
+
// Web UI Save Modal
|
|
688
|
+
'web.modal.saveTitle': 'Сохранить конфигурацию?',
|
|
689
|
+
'web.modal.saveDesc': 'Сохраните конфигурацию на локальный компьютер для использования в будущем.',
|
|
690
|
+
'web.modal.skipSave': 'Пропустить',
|
|
691
|
+
'web.modal.saveConfig': 'Сохранить конфигурацию',
|
|
692
|
+
// Web UI steps
|
|
693
|
+
'web.step.environment': 'Окружение',
|
|
694
|
+
'web.step.region': 'Регион',
|
|
695
|
+
'web.step.domain': 'Домен',
|
|
696
|
+
'web.step.email': 'Email',
|
|
697
|
+
'web.step.sms': 'SMS',
|
|
698
|
+
'web.step.social': 'Соцсети',
|
|
699
|
+
'web.step.advanced': 'Расширенные',
|
|
700
|
+
'web.step.review': 'Обзор',
|
|
701
|
+
'web.step.deploy': 'Развёртывание',
|
|
702
|
+
// Web UI forms
|
|
703
|
+
'web.form.submit': 'Отправить',
|
|
704
|
+
'web.form.next': 'Далее',
|
|
705
|
+
'web.form.previous': 'Назад',
|
|
706
|
+
'web.form.reset': 'Сбросить',
|
|
707
|
+
'web.form.validation': 'Пожалуйста, исправьте ошибки выше',
|
|
708
|
+
// Web UI progress
|
|
709
|
+
'web.progress.preparing': 'Подготовка к развёртыванию...',
|
|
710
|
+
'web.progress.creatingResources': 'Создание ресурсов Cloudflare...',
|
|
711
|
+
'web.progress.generatingKeys': 'Генерация криптографических ключей...',
|
|
712
|
+
'web.progress.configuringWorkers': 'Настройка workers...',
|
|
713
|
+
'web.progress.deployingWorkers': 'Развёртывание workers...',
|
|
714
|
+
'web.progress.deployingUI': 'Развёртывание UI...',
|
|
715
|
+
'web.progress.runningMigrations': 'Выполнение миграций базы данных...',
|
|
716
|
+
'web.progress.complete': 'Развёртывание завершено!',
|
|
717
|
+
'web.progress.failed': 'Развёртывание не удалось',
|
|
718
|
+
// Web UI Form Labels
|
|
719
|
+
'web.form.envName': 'Название окружения',
|
|
720
|
+
'web.form.envNamePlaceholder': 'например, prod, staging, dev',
|
|
721
|
+
'web.form.envNameHint': 'Только строчные буквы, цифры и дефисы',
|
|
722
|
+
'web.form.baseDomain': 'Базовый домен (домен API)',
|
|
723
|
+
'web.form.baseDomainPlaceholder': 'oidc.example.com',
|
|
724
|
+
'web.form.baseDomainHint': 'Собственный домен для Authrim. Оставьте пустым для workers.dev',
|
|
725
|
+
'web.form.nakedDomain': 'Исключить имя тенанта из URL',
|
|
726
|
+
'web.form.nakedDomainHint': 'Использовать https://example.com вместо https://{tenant}.example.com',
|
|
727
|
+
'web.form.nakedDomainWarning': 'Поддомены тенантов требуют собственного домена. Workers.dev не поддерживает wildcard-поддомены.',
|
|
728
|
+
'web.form.tenantId': 'ID тенанта по умолчанию',
|
|
729
|
+
'web.form.tenantIdPlaceholder': 'default',
|
|
730
|
+
'web.form.tenantIdHint': 'Идентификатор первого тенанта (строчные, без пробелов)',
|
|
731
|
+
'web.form.tenantIdWorkerNote': '(ID тенанта используется внутренне. URL-поддомен требует собственного домена.)',
|
|
732
|
+
'web.form.tenantDisplay': 'Отображаемое имя тенанта',
|
|
733
|
+
'web.form.tenantDisplayPlaceholder': 'Моя компания',
|
|
734
|
+
'web.form.tenantDisplayHint': 'Имя, отображаемое на странице входа и экране согласия',
|
|
735
|
+
'web.form.loginDomainPlaceholder': 'login.example.com',
|
|
736
|
+
'web.form.adminDomainPlaceholder': 'admin.example.com',
|
|
737
|
+
// Web UI Section Headers
|
|
738
|
+
'web.section.apiDomain': 'Домен API / издателя',
|
|
739
|
+
'web.section.uiDomains': 'Домены UI (необязательно)',
|
|
740
|
+
'web.section.uiDomainsHint': 'Собственные домены для UI входа/администратора. Каждый можно настроить независимо. Оставьте пустым для использования Cloudflare Pages по умолчанию.',
|
|
741
|
+
'web.section.corsHint': 'CORS: кросс-доменные запросы от UI входа/администратора к API разрешены автоматически.',
|
|
742
|
+
'web.section.configPreview': 'Предпросмотр конфигурации',
|
|
743
|
+
'web.section.resourceNames': 'Имена ресурсов',
|
|
744
|
+
// Web UI Preview Labels
|
|
745
|
+
'web.preview.components': 'Компоненты:',
|
|
746
|
+
'web.preview.workers': 'Workers:',
|
|
747
|
+
'web.preview.issuerUrl': 'URL издателя:',
|
|
748
|
+
'web.preview.loginUi': 'UI для входа:',
|
|
749
|
+
'web.preview.adminUi': 'Панель администратора:',
|
|
750
|
+
// Web UI Component Labels
|
|
751
|
+
'web.comp.loginUi': 'UI для входа',
|
|
752
|
+
'web.comp.loginUiDesc': 'Страницы входа, регистрации, согласия и управления учётной записью.',
|
|
753
|
+
'web.comp.adminUi': 'Панель администратора',
|
|
754
|
+
'web.comp.adminUiDesc': 'Панель управления тенантами, клиентами, пользователями и системными настройками.',
|
|
755
|
+
// Web UI Domain Row Labels
|
|
756
|
+
'web.domain.loginUi': 'UI для входа',
|
|
757
|
+
'web.domain.adminUi': 'Панель администратора',
|
|
758
|
+
// Web UI Database Section
|
|
759
|
+
'web.db.introDesc': 'Authrim использует две отдельные базы данных D1 для изоляции персональных данных от данных приложения.',
|
|
760
|
+
'web.db.regionNote': 'Примечание: регион базы данных нельзя изменить после создания.',
|
|
761
|
+
'web.db.coreNonPii': 'Без PII',
|
|
762
|
+
'web.db.coreDataDesc': 'Хранит неперсональные данные приложения, включая:',
|
|
763
|
+
'web.db.coreData1': 'OAuth-клиенты и их конфигурации',
|
|
764
|
+
'web.db.coreData2': 'Коды авторизации и токены доступа',
|
|
765
|
+
'web.db.coreData3': 'Сессии пользователей и состояние входа',
|
|
766
|
+
'web.db.coreData4': 'Настройки и конфигурации тенантов',
|
|
767
|
+
'web.db.coreData5': 'Журналы аудита и события безопасности',
|
|
768
|
+
'web.db.coreHint': 'Эта база данных обрабатывает все потоки аутентификации и должна располагаться ближе к основной базе пользователей.',
|
|
769
|
+
'web.db.piiLabel': 'Персональные данные',
|
|
770
|
+
'web.db.piiDataDesc': 'Хранит персональные данные пользователей, включая:',
|
|
771
|
+
'web.db.piiData1': 'Профили пользователей (имя, email, телефон)',
|
|
772
|
+
'web.db.piiData2': 'Учётные данные Passkey/WebAuthn',
|
|
773
|
+
'web.db.piiData3': 'Настройки и предпочтения пользователей',
|
|
774
|
+
'web.db.piiData4': 'Любые пользовательские атрибуты',
|
|
775
|
+
'web.db.piiHint': 'Эта база данных содержит персональные данные. Рассмотрите размещение в регионе, соответствующем требованиям защиты данных.',
|
|
776
|
+
'web.db.locationHints': 'Подсказки по расположению',
|
|
777
|
+
'web.db.jurisdiction': 'Юрисдикция (соответствие)',
|
|
778
|
+
'web.db.autoNearest': 'Автоматически (ближайший к вам)',
|
|
779
|
+
'web.db.northAmericaWest': 'Северная Америка (Запад)',
|
|
780
|
+
'web.db.northAmericaEast': 'Северная Америка (Восток)',
|
|
781
|
+
'web.db.europeWest': 'Европа (Запад)',
|
|
782
|
+
'web.db.europeEast': 'Европа (Восток)',
|
|
783
|
+
'web.db.asiaPacific': 'Азиатско-Тихоокеанский регион',
|
|
784
|
+
'web.db.oceania': 'Океания',
|
|
785
|
+
'web.db.euJurisdiction': 'Юрисдикция ЕС (соответствие GDPR)',
|
|
786
|
+
// Web UI Email Section
|
|
787
|
+
'web.email.introDesc': 'Используется для отправки OTP по email и подтверждения адреса. Можете настроить позже.',
|
|
788
|
+
'web.email.configureLater': 'Настроить позже',
|
|
789
|
+
'web.email.configureLaterHint': 'Пропустить сейчас и настроить позже.',
|
|
790
|
+
'web.email.configureResend': 'Настроить Resend',
|
|
791
|
+
'web.email.configureResendHint': 'Настроить отправку email через Resend (рекомендуется для продакшна).',
|
|
792
|
+
'web.email.resendSetup': 'Конфигурация Resend',
|
|
793
|
+
'web.email.beforeBegin': 'Перед началом:',
|
|
794
|
+
'web.email.step1': 'Создайте аккаунт Resend на',
|
|
795
|
+
'web.email.step2': 'Добавьте и подтвердите домен на',
|
|
796
|
+
'web.email.step3': 'Создайте API-ключ на',
|
|
797
|
+
'web.email.resendApiKey': 'API-ключ Resend',
|
|
798
|
+
'web.email.resendApiKeyHint': 'Ваш API-ключ начинается с "re_"',
|
|
799
|
+
'web.email.fromEmailAddress': 'Адрес отправителя email',
|
|
800
|
+
'web.email.fromEmailHint': 'Должен быть с подтверждённого домена в вашем аккаунте Resend',
|
|
801
|
+
'web.email.fromDisplayName': 'Отображаемое имя отправителя (необязательно)',
|
|
802
|
+
'web.email.fromDisplayHint': 'Отображается как имя отправителя в почтовых клиентах',
|
|
803
|
+
'web.email.domainVerificationTitle': 'Требуется верификация домена',
|
|
804
|
+
'web.email.domainVerificationDesc': 'До верификации домена письма можно отправлять только с onboarding@resend.dev (для тестирования).',
|
|
805
|
+
'web.email.learnMore': 'Подробнее о верификации домена →',
|
|
806
|
+
// Web UI Provision Section
|
|
807
|
+
'web.provision.resourcePreview': 'Имена ресурсов:',
|
|
808
|
+
'web.provision.d1Databases': 'Базы данных D1:',
|
|
809
|
+
'web.provision.kvNamespaces': 'Пространства имён KV:',
|
|
810
|
+
'web.provision.cryptoKeys': 'Криптографические ключи:',
|
|
811
|
+
'web.provision.initializing': 'Инициализация...',
|
|
812
|
+
'web.provision.showLog': 'Показать подробный журнал',
|
|
813
|
+
'web.provision.hideLog': 'Скрыть подробный журнал',
|
|
814
|
+
'web.provision.keysSavedTo': 'Ключи сохранены в:',
|
|
815
|
+
'web.provision.keepSafe': 'Храните этот каталог в безопасности и добавьте в .gitignore',
|
|
816
|
+
// Web UI Deploy Section
|
|
817
|
+
'web.deploy.readyText': 'Готово к развёртыванию workers Authrim на Cloudflare.',
|
|
818
|
+
// Web UI Environment List
|
|
819
|
+
'web.env.detectedDesc': 'Обнаруженные окружения Authrim в вашем аккаунте Cloudflare:',
|
|
820
|
+
'web.env.noEnvsDetected': 'Окружения Authrim не обнаружены в этом аккаунте Cloudflare.',
|
|
821
|
+
'web.env.backToList': '← Назад к списку',
|
|
822
|
+
'web.env.deleteEnv': 'Удалить окружение...',
|
|
823
|
+
// Web UI Environment Detail
|
|
824
|
+
'web.envDetail.title': 'Детали окружения',
|
|
825
|
+
'web.envDetail.adminNotConfigured': 'Администратор не настроен',
|
|
826
|
+
'web.envDetail.adminNotConfiguredDesc': 'Начальный администратор не настроен для этого окружения.',
|
|
827
|
+
'web.envDetail.startPasskey': 'Начать настройку администратора с Passkey',
|
|
828
|
+
'web.envDetail.setupUrlGenerated': 'URL настройки сгенерирован:',
|
|
829
|
+
'web.envDetail.copyBtn': 'Копировать',
|
|
830
|
+
'web.envDetail.openSetup': 'Открыть настройку',
|
|
831
|
+
'web.envDetail.urlValidFor': 'Этот URL действителен 1 час. Откройте его в браузере для регистрации первой учётной записи администратора.',
|
|
832
|
+
'web.envDetail.workers': 'Workers',
|
|
833
|
+
'web.envDetail.d1Databases': 'Базы данных D1',
|
|
834
|
+
'web.envDetail.kvNamespaces': 'Пространства имён KV',
|
|
835
|
+
'web.envDetail.queues': 'Очереди',
|
|
836
|
+
'web.envDetail.r2Buckets': 'Бакеты R2',
|
|
837
|
+
'web.envDetail.pagesProjects': 'Проекты Pages',
|
|
838
|
+
// Web UI Delete Section
|
|
839
|
+
'web.delete.title': 'Удаление окружения',
|
|
840
|
+
'web.delete.warning': 'Это действие необратимо. Все выбранные ресурсы будут безвозвратно удалены.',
|
|
841
|
+
'web.delete.environment': 'Окружение:',
|
|
842
|
+
'web.delete.selectResources': 'Выберите ресурсы для удаления:',
|
|
843
|
+
'web.delete.workers': 'Workers',
|
|
844
|
+
'web.delete.d1Databases': 'Базы данных D1',
|
|
845
|
+
'web.delete.kvNamespaces': 'Пространства имён KV',
|
|
846
|
+
'web.delete.queues': 'Очереди',
|
|
847
|
+
'web.delete.r2Buckets': 'Бакеты R2',
|
|
848
|
+
'web.delete.pagesProjects': 'Проекты Pages',
|
|
849
|
+
'web.delete.cancelBtn': 'Отмена',
|
|
850
|
+
'web.delete.confirmBtn': 'Удалить выбранное',
|
|
851
|
+
// Web UI Save Modal
|
|
852
|
+
'web.modal.saveQuestion': 'Хотите сохранить конфигурацию в файл перед продолжением?',
|
|
853
|
+
'web.modal.saveReason': 'Это позволит возобновить настройку позже или использовать те же настройки для другого развёртывания.',
|
|
854
|
+
'web.modal.skipBtn': 'Пропустить',
|
|
855
|
+
'web.modal.saveBtn': 'Сохранить конфигурацию',
|
|
856
|
+
// Web UI Error Messages
|
|
857
|
+
'web.error.wranglerNotInstalled': 'Wrangler не установлен',
|
|
858
|
+
'web.error.pleaseInstall': 'Сначала установите wrangler:',
|
|
859
|
+
'web.error.notLoggedIn': 'Не выполнен вход в Cloudflare',
|
|
860
|
+
'web.error.runCommand': 'Выполните эту команду в терминале:',
|
|
861
|
+
'web.error.thenRefresh': 'Затем обновите эту страницу.',
|
|
862
|
+
'web.error.checkingPrereq': 'Ошибка проверки предварительных требований:',
|
|
863
|
+
'web.error.invalidJson': 'Некорректный JSON:',
|
|
864
|
+
'web.error.validationFailed': 'Запрос валидации не удался:',
|
|
865
|
+
// Web UI Status Messages
|
|
866
|
+
'web.status.checking': 'Проверка...',
|
|
867
|
+
'web.status.running': 'Выполнение...',
|
|
868
|
+
'web.status.deploying': 'Развёртывание...',
|
|
869
|
+
'web.status.complete': 'Завершено',
|
|
870
|
+
'web.status.error': 'Ошибка',
|
|
871
|
+
'web.status.scanning': 'Сканирование...',
|
|
872
|
+
'web.status.saving': 'Сохранение...',
|
|
873
|
+
'web.status.notDeployed': '(не развёрнуто)',
|
|
874
|
+
'web.status.startingDeploy': 'Начало развёртывания...',
|
|
875
|
+
'web.status.none': 'Нет',
|
|
876
|
+
'web.status.loading': 'Загрузка...',
|
|
877
|
+
'web.status.failedToLoad': 'Не удалось загрузить',
|
|
878
|
+
'web.status.adminNotConfigured': 'Администратор не настроен',
|
|
879
|
+
'web.status.initializing': 'Инициализация...',
|
|
880
|
+
'web.status.found': 'Найдено: {{count}}',
|
|
881
|
+
// Web UI Button Labels (dynamic)
|
|
882
|
+
'web.btn.reprovision': 'Пересоздать (удалить и создать)',
|
|
883
|
+
'web.btn.createResources': 'Создать ресурсы',
|
|
884
|
+
'web.btn.saveConfiguration': 'Сохранить конфигурацию',
|
|
885
|
+
// Quick setup specific
|
|
886
|
+
'quickSetup.title': 'Быстрая настройка',
|
|
887
|
+
// Custom setup specific
|
|
888
|
+
'customSetup.title': 'Расширенная настройка',
|
|
889
|
+
'customSetup.cancelled': 'Настройка отменена.',
|
|
890
|
+
// Web UI starting
|
|
891
|
+
'webUi.starting': 'Запуск веб-интерфейса...',
|
|
892
|
+
};
|
|
893
|
+
export default ru;
|
|
894
|
+
//# sourceMappingURL=ru.js.map
|