@object-ui/i18n 17.7.0 → 18.0.0
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/CHANGELOG.md +1088 -0
- package/README.md +64 -1
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/locales/ar.d.ts +591 -108
- package/dist/locales/ar.js +704 -208
- package/dist/locales/de.d.ts +475 -88
- package/dist/locales/de.js +589 -183
- package/dist/locales/en.d.ts +562 -175
- package/dist/locales/en.js +745 -208
- package/dist/locales/es.d.ts +504 -93
- package/dist/locales/es.js +617 -186
- package/dist/locales/fr.d.ts +504 -93
- package/dist/locales/fr.js +617 -187
- package/dist/locales/index.d.ts +5178 -1092
- package/dist/locales/ja.d.ts +475 -88
- package/dist/locales/ja.js +588 -182
- package/dist/locales/ko.d.ts +475 -88
- package/dist/locales/ko.js +588 -182
- package/dist/locales/pt.d.ts +504 -93
- package/dist/locales/pt.js +617 -186
- package/dist/locales/ru.d.ts +533 -98
- package/dist/locales/ru.js +646 -197
- package/dist/locales/zh.d.ts +563 -176
- package/dist/locales/zh.js +589 -197
- package/dist/useObjectLabel.d.ts +109 -88
- package/dist/useObjectLabel.js +86 -71
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +7 -1
- package/dist/utils/formatting.js +11 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +2 -2
package/dist/locales/ru.js
CHANGED
|
@@ -13,18 +13,19 @@ const ru = {
|
|
|
13
13
|
notRestored: 'Сервер принял запрос, но не восстановил сеанс администратора — вы всё ещё работаете от имени {{user}}. Выйдите и войдите снова, чтобы завершить.',
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
|
-
// objectui#2600 B5 — capability picker scope group headers (labels come from the
|
|
16
|
+
// objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
|
|
17
17
|
capability: {
|
|
18
18
|
label: {
|
|
19
19
|
manage_users: "Управление пользователями",
|
|
20
20
|
manage_org_users: "Управление пользователями организации",
|
|
21
21
|
manage_metadata: "Управление метаданными",
|
|
22
|
-
|
|
22
|
+
manage_mailboxes: "Управление почтовыми ящиками",
|
|
23
23
|
manage_platform_settings: "Управление настройками платформы",
|
|
24
24
|
setup_access: "Доступ к настройке",
|
|
25
25
|
setup_write: "Запись настроек",
|
|
26
26
|
studio_access: "Доступ к Studio",
|
|
27
27
|
manage_sharing: "Управление общим доступом",
|
|
28
|
+
view_all_audit_log: "Просмотр всего журнала аудита",
|
|
28
29
|
},
|
|
29
30
|
group: {
|
|
30
31
|
platform: 'Платформа',
|
|
@@ -32,43 +33,6 @@ const ru = {
|
|
|
32
33
|
other: 'Другое',
|
|
33
34
|
},
|
|
34
35
|
},
|
|
35
|
-
// objectui#3546 slice six — the read-only summary of PermissionFacetLink's six
|
|
36
|
-
// authorization facets, plus the Studio link.
|
|
37
|
-
//
|
|
38
|
-
// The four count labels carry one slot per ru CLDR category (objectui#11432):
|
|
39
|
-
// `_one` 1/21/31… (nominative singular), `_few` 2-4/22-24… (genitive singular),
|
|
40
|
-
// `_many` 0/5-20… (genitive plural), `_other` fractions (genitive singular).
|
|
41
|
-
// The base key keeps the count-invariant «Существительное: {{count}}» form for
|
|
42
|
-
// a call made without a count.
|
|
43
|
-
perm: {
|
|
44
|
-
facet: {
|
|
45
|
-
none: "Нет",
|
|
46
|
-
more: "+{{count}} ещё",
|
|
47
|
-
objects: "Объектов: {{count}}",
|
|
48
|
-
objects_one: "{{count}} объект",
|
|
49
|
-
objects_few: "{{count}} объекта",
|
|
50
|
-
objects_many: "{{count}} объектов",
|
|
51
|
-
objects_other: "{{count}} объекта",
|
|
52
|
-
fields: "Правил для полей: {{count}}",
|
|
53
|
-
fields_one: "{{count}} правило для полей",
|
|
54
|
-
fields_few: "{{count}} правила для полей",
|
|
55
|
-
fields_many: "{{count}} правил для полей",
|
|
56
|
-
fields_other: "{{count}} правила для полей",
|
|
57
|
-
rls: "Политик RLS: {{count}}",
|
|
58
|
-
rls_one: "{{count}} политика RLS",
|
|
59
|
-
rls_few: "{{count}} политики RLS",
|
|
60
|
-
rls_many: "{{count}} политик RLS",
|
|
61
|
-
rls_other: "{{count}} политики RLS",
|
|
62
|
-
tabs: "Правил для вкладок: {{count}}",
|
|
63
|
-
tabs_one: "{{count}} правило для вкладок",
|
|
64
|
-
tabs_few: "{{count}} правила для вкладок",
|
|
65
|
-
tabs_many: "{{count}} правил для вкладок",
|
|
66
|
-
tabs_other: "{{count}} правила для вкладок",
|
|
67
|
-
adminScope: "Делегированное администрирование настроено",
|
|
68
|
-
designInStudio: "Дизайн в Studio →",
|
|
69
|
-
designInStudioHint: "Дизайн в Studio",
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
36
|
lookup: {
|
|
73
37
|
recentlyUsed: 'Недавние',
|
|
74
38
|
allResults: 'Все результаты',
|
|
@@ -146,6 +110,7 @@ const ru = {
|
|
|
146
110
|
itemCount_many: "{{count}} элементов",
|
|
147
111
|
itemCount_other: "{{count}} элемента",
|
|
148
112
|
toggleSidebar: "Переключить боковую панель",
|
|
113
|
+
breadcrumb: "Навигационная цепочка",
|
|
149
114
|
package: "Пакет",
|
|
150
115
|
done: "Готово",
|
|
151
116
|
editInStudio: "Редактировать в Studio",
|
|
@@ -174,6 +139,7 @@ const ru = {
|
|
|
174
139
|
copyAll: 'Копировать всё',
|
|
175
140
|
},
|
|
176
141
|
notAvailableHere: '«{{action}}» недоступно на текущей странице.',
|
|
142
|
+
notAvailableForRecord: 'Недоступно для этой записи',
|
|
177
143
|
completedSuccessfully: 'Действие успешно выполнено',
|
|
178
144
|
failed: 'Действие не выполнено',
|
|
179
145
|
parallelFailed: 'Одно или несколько параллельных действий не выполнены',
|
|
@@ -210,6 +176,8 @@ const ru = {
|
|
|
210
176
|
// description, used when the form declares no `description` of its own.
|
|
211
177
|
dialogDescriptionFallback: "Заполните поля формы, затем отправьте или отмените.",
|
|
212
178
|
deniedDescription: "У вас нет прав на редактирование этого поля.",
|
|
179
|
+
serverDefaultHint: "Задаётся автоматически при сохранении.",
|
|
180
|
+
maxFileSize: "Максимальный размер: {{size}}",
|
|
213
181
|
masterDetail: {
|
|
214
182
|
loadingColumns: "Загрузка столбцов…",
|
|
215
183
|
subtotal: "Промежуточный итог",
|
|
@@ -278,10 +246,14 @@ const ru = {
|
|
|
278
246
|
remove: "Удалить изображение {{index}}",
|
|
279
247
|
enlarge: "Увеличить {{name}}",
|
|
280
248
|
preview: "Предпросмотр изображения",
|
|
249
|
+
cropPreview: "Предпросмотр обрезки изображения",
|
|
281
250
|
previous: "Предыдущее изображение",
|
|
282
251
|
next: "Следующее изображение",
|
|
283
252
|
counter: "{{current}} / {{total}}",
|
|
284
253
|
},
|
|
254
|
+
percent: {
|
|
255
|
+
slider: "Процент",
|
|
256
|
+
},
|
|
285
257
|
relativeDate: {
|
|
286
258
|
overdue: "Просрочено на {{count}} дн.",
|
|
287
259
|
overdue_one: "Просрочено на {{count}} дн.",
|
|
@@ -305,6 +277,8 @@ const ru = {
|
|
|
305
277
|
exceedsMaxSize: '«{{name}}» превышает максимальный размер ({{max}} МБ)',
|
|
306
278
|
uploadFailed: 'Не удалось загрузить «{{name}}»: {{error}}',
|
|
307
279
|
uploadIncomplete: 'Загрузка «{{name}}» не завершена: идентификатор файла не получен, ничего не сохранено',
|
|
280
|
+
restricted: 'Файл с ограниченным доступом',
|
|
281
|
+
restrictedHint: 'У вас нет доступа к сведениям об этом файле',
|
|
308
282
|
},
|
|
309
283
|
richText: {
|
|
310
284
|
format: "Формат: {{format}}",
|
|
@@ -321,6 +295,10 @@ const ru = {
|
|
|
321
295
|
search: "Поиск объектов…",
|
|
322
296
|
empty: "Объекты не найдены",
|
|
323
297
|
},
|
|
298
|
+
registryRef: {
|
|
299
|
+
loadFailed: "Не удалось загрузить список. Имя можно ввести вручную.",
|
|
300
|
+
notFound: "{{name}} (не найдено)",
|
|
301
|
+
},
|
|
324
302
|
recipient: {
|
|
325
303
|
selectTypeFirst: "Сначала выберите тип получателя.",
|
|
326
304
|
loading: "Загрузка…",
|
|
@@ -362,6 +340,13 @@ const ru = {
|
|
|
362
340
|
dateTime: {
|
|
363
341
|
impossibleDay: "Сохранённое значение «{{value}}» — несуществующая дата. Выберите дату и время, чтобы заменить его.",
|
|
364
342
|
},
|
|
343
|
+
datePicker: {
|
|
344
|
+
today: "Сегодня",
|
|
345
|
+
tomorrow: "Завтра",
|
|
346
|
+
clear: "Очистить дату",
|
|
347
|
+
openCalendar: "Открыть календарь",
|
|
348
|
+
invalid: "Не сохранено: «{{value}}» — не дата. Введите её в формате {{format}} или выберите в календаре.",
|
|
349
|
+
},
|
|
365
350
|
number: {
|
|
366
351
|
badInput: "Не сохранено: текст в этом поле — не число. Введите обычную десятичную дробь (например: {{example}}).",
|
|
367
352
|
},
|
|
@@ -376,6 +361,11 @@ const ru = {
|
|
|
376
361
|
postalCode: "Почтовый индекс",
|
|
377
362
|
country: "Страна",
|
|
378
363
|
},
|
|
364
|
+
boolean: {
|
|
365
|
+
offBadge: "{{label}} — Выкл.",
|
|
366
|
+
completed: "Выполнено",
|
|
367
|
+
notCompleted: "Не выполнено",
|
|
368
|
+
},
|
|
379
369
|
textarea: {
|
|
380
370
|
characterCount: "Количество символов: {{count}} из {{max}}",
|
|
381
371
|
charactersRemaining: "Осталось символов: {{count}}",
|
|
@@ -405,10 +395,15 @@ const ru = {
|
|
|
405
395
|
selectAllRows: "Выбрать все строки",
|
|
406
396
|
expandRow: "Развернуть строку",
|
|
407
397
|
collapseRow: "Свернуть строку",
|
|
398
|
+
rowActions: "Действия со строкой",
|
|
408
399
|
hideColumn: "Скрыть столбец",
|
|
409
400
|
freezeColumn: "Закрепить столбец",
|
|
410
401
|
unfreezeColumn: "Открепить столбец",
|
|
411
402
|
pageInfo: "Страница {{current}} из {{total}}",
|
|
403
|
+
firstPage: "Первая страница",
|
|
404
|
+
previousPage: "Предыдущая страница",
|
|
405
|
+
nextPage: "Следующая страница",
|
|
406
|
+
lastPage: "Последняя страница",
|
|
412
407
|
totalRecords: "Всего {{count}}",
|
|
413
408
|
noResults: "Результатов нет",
|
|
414
409
|
noResultsHint: "Попробуйте изменить фильтры или поисковые запросы.",
|
|
@@ -422,6 +417,11 @@ const ru = {
|
|
|
422
417
|
modified_few: "Изменено {{count}} строки",
|
|
423
418
|
modified_many: "Изменено {{count}} строк",
|
|
424
419
|
modified_other: "Изменено {{count}} строки",
|
|
420
|
+
saved: "{{count}} строк сохранено",
|
|
421
|
+
saved_one: "Сохранена {{count}} строка",
|
|
422
|
+
saved_few: "Сохранено {{count}} строки",
|
|
423
|
+
saved_many: "Сохранено {{count}} строк",
|
|
424
|
+
saved_other: "Сохранено {{count}} строки",
|
|
425
425
|
saveFailed: 'Не удалось сохранить',
|
|
426
426
|
selected: "{{count}} выбрано",
|
|
427
427
|
selected_one: "Выбрано: {{count}}",
|
|
@@ -446,6 +446,7 @@ const ru = {
|
|
|
446
446
|
bulkAllOnPage_other: "Выбраны все записи на этой странице ({{count}}).",
|
|
447
447
|
bulkSelectAllMatching: "Выбрать все совпадения ({{count}})",
|
|
448
448
|
bulkAllMatchingSelected: "Выбраны все подходящие записи ({{count}}).",
|
|
449
|
+
bulkActions: "Массовые действия",
|
|
449
450
|
bulk: {
|
|
450
451
|
confirmDefault: "Будет применено к записям: {{count}}.",
|
|
451
452
|
confirmDefault_one: "Будет применено к записям: {{count}}.",
|
|
@@ -488,6 +489,7 @@ const ru = {
|
|
|
488
489
|
pullToRefresh: "Потяните для обновления",
|
|
489
490
|
refreshing: "Обновление…",
|
|
490
491
|
openRecord: "Открыть запись",
|
|
492
|
+
recordUnavailable: "{{object}} · запись недоступна",
|
|
491
493
|
rowHeight: "Высота строки: {{mode}}",
|
|
492
494
|
openMenu: "Открыть меню",
|
|
493
495
|
empty: "Пусто",
|
|
@@ -507,6 +509,7 @@ const ru = {
|
|
|
507
509
|
// pack controls its own separator and word order.
|
|
508
510
|
summary: {
|
|
509
511
|
pattern: "{{label}}: {{value}}",
|
|
512
|
+
pagePattern: "{{label}} (эта страница): {{value}}",
|
|
510
513
|
count: "Количество",
|
|
511
514
|
countEmpty: "Пустые",
|
|
512
515
|
countFilled: "Заполненные",
|
|
@@ -578,9 +581,6 @@ const ru = {
|
|
|
578
581
|
needMatchFields: "Выберите хотя бы одно поле для сопоставления.",
|
|
579
582
|
matchOnlyField: "(только сопоставление)",
|
|
580
583
|
optCreateOptions: "Сохранять неизвестные значения списка",
|
|
581
|
-
optRunAutomations: "Выполнять автоматизации и триггеры",
|
|
582
|
-
optTreatHistorical: "Импортировать как исторические данные",
|
|
583
|
-
optTreatHistoricalHint: "(импортирует завершённые записи как есть — пропускает проверки конечного автомата и сохраняет исходные отметки времени и автора вместо текущих)",
|
|
584
584
|
optSkipBlankKey: "Пропускать строки с пустым значением сопоставления",
|
|
585
585
|
optBackground: "Импортировать в фоновом режиме",
|
|
586
586
|
optBackgroundHint: "(выполняется как отменяемая задача)",
|
|
@@ -595,6 +595,7 @@ const ru = {
|
|
|
595
595
|
invalidBoolean: "«{{value}}» не является допустимым значением true/false",
|
|
596
596
|
invalidNumber: "«{{value}}» не является допустимым числом",
|
|
597
597
|
invalidDate: "«{{value}}» не является допустимой датой",
|
|
598
|
+
invalidTime: "«{{value}}» не является допустимым временем",
|
|
598
599
|
invalidOption: "«{{value}}» не входит в число допустимых вариантов",
|
|
599
600
|
requiredValue: "Это поле обязательно",
|
|
600
601
|
matchAmbiguous: "Соответствует нескольким существующим записям — используйте уникальное значение или идентификатор записи",
|
|
@@ -619,6 +620,11 @@ const ru = {
|
|
|
619
620
|
undoing: "Отмена…",
|
|
620
621
|
undoConfirm: "Отменить этот импорт? Созданные им записи будут удалены, а обновлённые — восстановлены к прежним значениям.",
|
|
621
622
|
reverted: "Отменён",
|
|
623
|
+
undoPartial: "Не удалось отменить {{count}} строк. Повторная отмена затронет только эти строки.",
|
|
624
|
+
undoPartial_one: "Не удалось отменить {{count}} строку. Повторная отмена затронет только эту строку.",
|
|
625
|
+
undoPartial_few: "Не удалось отменить {{count}} строки. Повторная отмена затронет только эти строки.",
|
|
626
|
+
undoPartial_many: "Не удалось отменить {{count}} строк. Повторная отмена затронет только эти строки.",
|
|
627
|
+
undoPartial_other: "Не удалось отменить {{count}} строки. Повторная отмена затронет только эти строки.",
|
|
622
628
|
jobStatus: {
|
|
623
629
|
pending: "Ожидает",
|
|
624
630
|
running: "Выполняется",
|
|
@@ -688,6 +694,8 @@ const ru = {
|
|
|
688
694
|
showingRows: "Отображено {{shown}} из {{total}} строк",
|
|
689
695
|
importing: "Импорт… {{progress}}%",
|
|
690
696
|
importComplete: "Импорт завершён",
|
|
697
|
+
importPartial: "Импорт завершён с ошибками",
|
|
698
|
+
importFailed: "Импорт не выполнен",
|
|
691
699
|
imported: "{{count}} импортировано",
|
|
692
700
|
skippedCount: "{{count}} пропущено",
|
|
693
701
|
moreErrors: "…ещё {{count}} ошибок",
|
|
@@ -754,6 +762,7 @@ const ru = {
|
|
|
754
762
|
firstRunMessage: "Создайте первую запись, чтобы начать.",
|
|
755
763
|
noMatches: "Подходящих записей нет",
|
|
756
764
|
noMatchesMessage: "Ни одна запись не соответствует текущим фильтрам или поиску. Измените или сбросьте их.",
|
|
765
|
+
viewFilterNoMatchesMessage: "Ни одна запись не соответствует фильтру этого представления.",
|
|
757
766
|
loadErrorTitle: "Не удалось загрузить записи",
|
|
758
767
|
loadErrorMessage: "При загрузке данных произошла ошибка. Проверьте соединение и попробуйте снова.",
|
|
759
768
|
loadErrorForbiddenTitle: "Нет доступа",
|
|
@@ -798,15 +807,23 @@ const ru = {
|
|
|
798
807
|
recordCount_many: "{{count}} записей",
|
|
799
808
|
recordCount_other: "{{count}} записи",
|
|
800
809
|
addRecord: "Добавить запись",
|
|
810
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
811
|
+
viewAll: "Показать все",
|
|
801
812
|
tabs: "Вкладки",
|
|
802
813
|
allRecords: "Все записи",
|
|
803
814
|
search: "Поиск",
|
|
804
815
|
filter: "Фильтр",
|
|
805
816
|
filterRecords: "Фильтр записей",
|
|
817
|
+
filterActive: "Фильтр, активных: {{count}}",
|
|
818
|
+
filterActive_one: "Фильтр, {{count}} активный",
|
|
819
|
+
filterActive_few: "Фильтр, {{count}} активных",
|
|
820
|
+
filterActive_many: "Фильтр, {{count}} активных",
|
|
821
|
+
filterActive_other: "Фильтр, активных: {{count}}",
|
|
806
822
|
sort: "Сортировка",
|
|
807
823
|
sortRecords: "Сортировка записей",
|
|
808
824
|
sortByIdSuffix: "(по ID)",
|
|
809
825
|
sortRelationalHint: "Столбцы, ссылающиеся на другую запись, здесь не показаны: их можно сортировать только по сохранённому ID, а не по имени, которое видно в ячейке. Чтобы сортировать по этому имени, денормализуйте его в этот объект — как сохраняемое поле, которое записывается при изменении источника, — и сортируйте по нему. Не поле-формула: она виртуальна, столбец для неё не хранится, и сервер отказывается сортировать по ней.",
|
|
826
|
+
sortRelationalPicked: "Связанный столбец сортируется по сохранённому ID, а не по отображаемому имени.",
|
|
810
827
|
resetSortToDefault: "Сбросить к сортировке представления",
|
|
811
828
|
group: "Группировка",
|
|
812
829
|
groupBy: "Группировать по",
|
|
@@ -827,14 +844,15 @@ const ru = {
|
|
|
827
844
|
print: "Печать",
|
|
828
845
|
hideFieldsTitle: "Скрыть поля",
|
|
829
846
|
dataLimitReached: "Отображаются первые {{limit}} записей. Возможно, есть ещё данные.",
|
|
830
|
-
|
|
831
|
-
|
|
847
|
+
display: "Отображение",
|
|
848
|
+
layout: "Макет",
|
|
849
|
+
rowNumbers: "Номера строк",
|
|
850
|
+
resetToViewDefault: "Сбросить к настройкам представления",
|
|
832
851
|
addGroup: "Добавить поле группировки",
|
|
833
852
|
collapsedByDefault: "Свёрнуто по умолчанию",
|
|
834
853
|
removeGroup: "Удалить",
|
|
835
854
|
inlineEditShort: "Встроенное редактирование",
|
|
836
855
|
inlineEditLabel: "Редактировать записи в таблице (щёлкните ячейку для редактирования)",
|
|
837
|
-
recordEditingTitle: "Редактирование записей",
|
|
838
856
|
},
|
|
839
857
|
managedByBadge: {
|
|
840
858
|
systemWritable: {
|
|
@@ -865,6 +883,7 @@ const ru = {
|
|
|
865
883
|
},
|
|
866
884
|
kanban: {
|
|
867
885
|
uncategorized: "Без категории",
|
|
886
|
+
loadMore: "Загрузить ещё",
|
|
868
887
|
columns: "колонок",
|
|
869
888
|
addCard: "Добавить карточку",
|
|
870
889
|
addColumn: "Добавить колонку",
|
|
@@ -872,13 +891,28 @@ const ru = {
|
|
|
872
891
|
deleteCard: "Удалить карточку",
|
|
873
892
|
deleteColumn: "Удалить колонку",
|
|
874
893
|
noCards: "Нет карточек",
|
|
894
|
+
columnCards: "Карточки в колонке {{column}}",
|
|
895
|
+
laneCards: "Карточки: {{column}} - {{lane}}",
|
|
875
896
|
cardTitlePlaceholder: "Введите название карточки…",
|
|
876
897
|
requiredFieldsTitle: "Заполните обязательные поля",
|
|
877
898
|
requiredFieldsDescription: "Это перемещение делает поля ниже обязательными. Заполните их, чтобы продолжить.",
|
|
899
|
+
dnd: {
|
|
900
|
+
start: "Карточка {{card}} взята в колонке {{column}}.",
|
|
901
|
+
overCard: "Карточка {{card}} над карточкой {{target}} в колонке {{column}}.",
|
|
902
|
+
overColumn: "Карточка {{card}} над колонкой {{column}}.",
|
|
903
|
+
overNone: "Карточка {{card}} не находится ни над одной колонкой.",
|
|
904
|
+
moved: "Карточка {{card}} перемещена в колонку {{column}}.",
|
|
905
|
+
dropped: "Карточка {{card}} отпущена. Она остаётся в колонке {{column}}.",
|
|
906
|
+
cancelled: "Перетаскивание отменено. Карточка {{card}} остаётся в колонке {{column}}.",
|
|
907
|
+
untitledCard: "без названия",
|
|
908
|
+
unnamedColumn: "без названия",
|
|
909
|
+
instructions: "Чтобы переместить карточку в другую колонку, перетащите её мышью или касанием.",
|
|
910
|
+
dragging: "Перетаскивается карточка {{card}}",
|
|
911
|
+
},
|
|
878
912
|
},
|
|
879
913
|
timeline: {
|
|
880
914
|
bucket: {
|
|
881
|
-
|
|
915
|
+
earlier: "Ранее",
|
|
882
916
|
today: "Сегодня",
|
|
883
917
|
tomorrow: "Завтра",
|
|
884
918
|
thisWeek: "На этой неделе",
|
|
@@ -1065,10 +1099,13 @@ const ru = {
|
|
|
1065
1099
|
readonlyAriaLabel: "Представление только для чтения",
|
|
1066
1100
|
readonlyTooltip: "Системное представление — определено в коде, только для чтения.",
|
|
1067
1101
|
malformedFilter: "Фильтр этого представления некорректен, поэтому записи не отображаются: условие {{subject}} невозможно применить.",
|
|
1102
|
+
noObject: "Объект не указан: задайте {{property}} или dataSource.object.",
|
|
1068
1103
|
},
|
|
1069
1104
|
designer: {
|
|
1070
1105
|
undo: "Отменить",
|
|
1071
1106
|
redo: "Повторить",
|
|
1107
|
+
canvasMinimap: "Миникарта холста",
|
|
1108
|
+
versionHistory: "История версий",
|
|
1072
1109
|
},
|
|
1073
1110
|
detail: {
|
|
1074
1111
|
editInlineHint: "Дважды щёлкните для редактирования",
|
|
@@ -1175,6 +1212,7 @@ const ru = {
|
|
|
1175
1212
|
noAttachments: "Вложений пока нет. Загрузите файл, чтобы начать.",
|
|
1176
1213
|
downloadAttachment: "Скачать",
|
|
1177
1214
|
deleteAttachment: "Удалить вложение",
|
|
1215
|
+
deleteAttachmentConfirm: "Вы уверены, что хотите удалить вложение \"{{name}}\"?",
|
|
1178
1216
|
attachmentDeleteDenied: "Удалить это вложение может только загрузивший его пользователь или тот, кто может редактировать эту запись.",
|
|
1179
1217
|
attachmentParentAccessDenied: "У вас нет доступа для прикрепления файлов к этой записи.",
|
|
1180
1218
|
attachmentDownloadDenied: "У вас нет доступа для скачивания этого вложения.",
|
|
@@ -1240,10 +1278,12 @@ const ru = {
|
|
|
1240
1278
|
lockedByApproval: "Заблокировано для согласования",
|
|
1241
1279
|
lockedTooltip: "У этой записи есть ожидающий запрос на согласование; редактирование заблокировано",
|
|
1242
1280
|
writeStrippedTitle: "Сохранено, но часть полей не применена",
|
|
1281
|
+
writeWarningsTitle: "Сохранено, но есть предупреждения",
|
|
1243
1282
|
writeStrippedReadonly: "Поля только для чтения, поэтому не применены: {{fields}}",
|
|
1244
1283
|
writeStrippedByState: "Поля недоступны для редактирования в текущем состоянии записи, поэтому не применены: {{fields}}",
|
|
1245
1284
|
writeStrippedPrimaryKey: "Идентификатор записи нельзя изменить при сохранении, поэтому поля не применены: {{fields}}",
|
|
1246
1285
|
writeStrippedComputed: "Поля вычисляются сервером по формуле, поэтому отправленные значения не применены: {{fields}}",
|
|
1286
|
+
writeStrippedStoredExpression: "Поля вычисляются из записи, поэтому вместо отправленных значений сохранены вычисленные: {{fields}}",
|
|
1247
1287
|
writeStrippedUnknownReason: "Не применены сервером: {{fields}}",
|
|
1248
1288
|
approvalPendingEditable: "На согласовании · редактирование доступно",
|
|
1249
1289
|
approvalPendingTooltip: "У этой записи есть ожидающий запрос на согласование, но этот шаг всё ещё разрешает редактирование",
|
|
@@ -1267,6 +1307,11 @@ const ru = {
|
|
|
1267
1307
|
linkCopied: "Ссылка скопирована в буфер обмена",
|
|
1268
1308
|
commentFailed: "Комментарий не опубликован. Ничего не сохранено — попробуйте ещё раз.",
|
|
1269
1309
|
reactionFailed: "Реакция не сохранена. Попробуйте ещё раз.",
|
|
1310
|
+
editComment: "Редактировать комментарий",
|
|
1311
|
+
deleteComment: "Удалить комментарий",
|
|
1312
|
+
deleteCommentConfirm: "Вы уверены, что хотите удалить этот комментарий?",
|
|
1313
|
+
commentEditFailed: "Изменения не сохранены. Комментарий сохраняет прежний текст.",
|
|
1314
|
+
commentDeleteFailed: "Комментарий не удалён. Попробуйте ещё раз.",
|
|
1270
1315
|
linkCopyFailed: "Не удалось скопировать ссылку",
|
|
1271
1316
|
cancel: "Отмена",
|
|
1272
1317
|
cancelEdit: "Отменить изменения",
|
|
@@ -1675,7 +1720,8 @@ const ru = {
|
|
|
1675
1720
|
},
|
|
1676
1721
|
console: {
|
|
1677
1722
|
studio: {
|
|
1678
|
-
|
|
1723
|
+
title: "Studio",
|
|
1724
|
+
accessRequired: "Чтобы открыть Studio, нужен доступ к Studio.",
|
|
1679
1725
|
},
|
|
1680
1726
|
saveAdvisoryTitle: "Сохранено — проверка авторинга выдала рекомендаций: {{count}}",
|
|
1681
1727
|
saveAdvisoryTitle_one: "Сохранено — проверка авторинга выдала рекомендаций: {{count}}",
|
|
@@ -1695,13 +1741,13 @@ const ru = {
|
|
|
1695
1741
|
savedViewsUnreadable: "Список пуст из-за того, что его не удалось прочитать, а не потому, что у этого объекта нет сохранённых представлений. Повторите попытку и сообщите о проблеме, если она повторяется.",
|
|
1696
1742
|
settingsHub: {
|
|
1697
1743
|
title: "Настройки",
|
|
1698
|
-
subtitle: "Настройте
|
|
1744
|
+
subtitle: "Настройте систему, интеграции и флаги функций.",
|
|
1699
1745
|
loadError: "Не удалось загрузить настройки",
|
|
1700
1746
|
empty: "Настройки не зарегистрированы. Плагины могут регистрировать манифесты настроек через SettingsService.",
|
|
1701
1747
|
settingsCount: "Настроек: {{n}}",
|
|
1702
1748
|
beta: "Бета",
|
|
1703
1749
|
categories: {
|
|
1704
|
-
Workspace: "
|
|
1750
|
+
Workspace: "Общие",
|
|
1705
1751
|
Communication: "Коммуникации",
|
|
1706
1752
|
Security: "Безопасность",
|
|
1707
1753
|
Infrastructure: "Инфраструктура",
|
|
@@ -1748,8 +1794,7 @@ const ru = {
|
|
|
1748
1794
|
},
|
|
1749
1795
|
usage: {
|
|
1750
1796
|
title: "Использование ИИ",
|
|
1751
|
-
|
|
1752
|
-
meterAsk: "Вопрос",
|
|
1797
|
+
poolUsed: "Использовано {{percent}}",
|
|
1753
1798
|
statusOk: "Осталось много",
|
|
1754
1799
|
statusLow: "Заканчивается",
|
|
1755
1800
|
statusFull: "Лимит исчерпан",
|
|
@@ -1768,7 +1813,6 @@ const ru = {
|
|
|
1768
1813
|
ctaUpgrade: "Повысьте тариф, чтобы продолжить",
|
|
1769
1814
|
ctaTopUp: "Добавьте кредиты, чтобы продолжить",
|
|
1770
1815
|
ariaLabel: "Использование ИИ: {{status}}",
|
|
1771
|
-
breakdownTitle: "Использовано на данный момент",
|
|
1772
1816
|
},
|
|
1773
1817
|
workspaceTitle: "Рабочее пространство ИИ",
|
|
1774
1818
|
workspaceSubtitle: "Задавайте вопросы, изучайте и возвращайтесь к диалогам",
|
|
@@ -1825,6 +1869,8 @@ const ru = {
|
|
|
1825
1869
|
liveCanvasUnlisted: "Работающее приложение — {{app}} (скрыто до публикации)",
|
|
1826
1870
|
loadingAgents: "Загрузка агентов…",
|
|
1827
1871
|
askAnything: "Спросите о чём угодно…",
|
|
1872
|
+
askOrChangeApp: "Спросите о данных или попросите меня изменить это приложение…",
|
|
1873
|
+
describeAppToBuild: "Опишите приложение, которое хотите создать, или что изменить…",
|
|
1828
1874
|
emptyTitle: "Начните диалог",
|
|
1829
1875
|
emptyDescription: "Спросите о чём угодно — ассистент видит контекст вашего текущего приложения.",
|
|
1830
1876
|
switchAssistant: "Сменить ассистента",
|
|
@@ -1846,12 +1892,17 @@ const ru = {
|
|
|
1846
1892
|
},
|
|
1847
1893
|
clearConversation: "Очистить",
|
|
1848
1894
|
sendHint: "чтобы отправить",
|
|
1895
|
+
newlineHint: "для новой строки",
|
|
1849
1896
|
agentActivity: "Активность агента",
|
|
1850
1897
|
toolCompleted: "Завершено",
|
|
1851
1898
|
toolRunning: "Выполняется",
|
|
1852
1899
|
toolAwaitingApproval: "Ожидает подтверждения",
|
|
1853
1900
|
toolFailed: "Ошибка",
|
|
1854
1901
|
toolDetailsHidden: "Входные данные инструментов и необработанные результаты в этом режиме скрыты.",
|
|
1902
|
+
toolDenyReason: "Отклонено оператором в чате",
|
|
1903
|
+
builderHandoffTitle: "Создать в конструкторе",
|
|
1904
|
+
builderHandoffOpen: "Открыть в конструкторе →",
|
|
1905
|
+
builderHandoffSuperseded: "Есть более новый запрос",
|
|
1855
1906
|
copy: "Копировать",
|
|
1856
1907
|
copied: "Скопировано",
|
|
1857
1908
|
regenerate: "Сгенерировать заново",
|
|
@@ -1866,7 +1917,7 @@ const ru = {
|
|
|
1866
1917
|
publishOk: "Опубликовано — объекты активны.",
|
|
1867
1918
|
seedWarn: "Опубликовано, но часть примеров данных загрузить не удалось.",
|
|
1868
1919
|
openBuiltApp: "Открыть приложение",
|
|
1869
|
-
|
|
1920
|
+
viewBuiltAppInStudio: "Открыть в Studio",
|
|
1870
1921
|
previewDraft: "Предпросмотр",
|
|
1871
1922
|
previewApp: "Предпросмотр приложения",
|
|
1872
1923
|
resizeSplit: "Изменить размер чата и предпросмотра",
|
|
@@ -1993,6 +2044,7 @@ const ru = {
|
|
|
1993
2044
|
collapse: "Свернуть чат",
|
|
1994
2045
|
maximize: "Открыть на всю страницу",
|
|
1995
2046
|
open: "Открыть ассистента",
|
|
2047
|
+
planAwaitingApproval: "Предложенный план ожидает вашего подтверждения",
|
|
1996
2048
|
},
|
|
1997
2049
|
group: {
|
|
1998
2050
|
today: "Сегодня",
|
|
@@ -2003,12 +2055,9 @@ const ru = {
|
|
|
2003
2055
|
},
|
|
2004
2056
|
},
|
|
2005
2057
|
title: "Консоль ObjectStack",
|
|
2006
|
-
initializing: "
|
|
2007
|
-
|
|
2058
|
+
initializing: "Открытие консоли…",
|
|
2059
|
+
skipToContent: "Перейти к содержимому",
|
|
2008
2060
|
breadcrumb: {
|
|
2009
|
-
dashboards: "Панели",
|
|
2010
|
-
pages: "Страницы",
|
|
2011
|
-
reports: "Отчёты",
|
|
2012
2061
|
system: "Система",
|
|
2013
2062
|
marketplace: "Маркетплейс",
|
|
2014
2063
|
settings: 'Настройки',
|
|
@@ -2039,16 +2088,32 @@ const ru = {
|
|
|
2039
2088
|
unsavedCount_few: "{{count}} несохранённых изменения",
|
|
2040
2089
|
unsavedCount_many: "{{count}} несохранённых изменений",
|
|
2041
2090
|
unsavedCount_other: "{{count}} несохранённого изменения",
|
|
2091
|
+
fieldErrorsToast: "Настройки, требующие внимания ({{count}}): {{settings}}",
|
|
2092
|
+
fieldErrorsToast_one: "{{count}} настройка требует внимания: {{settings}}",
|
|
2093
|
+
fieldErrorsToast_few: "{{count}} настройки требуют внимания: {{settings}}",
|
|
2094
|
+
fieldErrorsToast_many: "{{count}} настроек требуют внимания: {{settings}}",
|
|
2095
|
+
fieldErrorsToast_other: "{{count}} настройки требуют внимания: {{settings}}",
|
|
2042
2096
|
cryptoRefusalTitle: "Эта установка не может шифровать секреты",
|
|
2043
2097
|
cryptoRefusalSubjectSuffix: "объявлен зашифрованным, поэтому ничего не было записано.",
|
|
2044
2098
|
cryptoRefusalNoSubject: "Значение, объявленное зашифрованным, было отклонено, поэтому ничего не было записано.",
|
|
2045
2099
|
cryptoRefusalToast: "Не удалось зашифровать секреты: {{subject}}",
|
|
2046
2100
|
cryptoRefusalToastNoSubject: "Не удалось зашифровать секреты",
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2101
|
+
sourceBadgeInherited: "Унаследовано: {{source}}",
|
|
2102
|
+
sourceBadgeOverrides: "Переопределяет: {{source}}",
|
|
2103
|
+
resetToDefault: "Сбросить к значению по умолчанию",
|
|
2104
|
+
envLockBadge: "Задано окружением",
|
|
2105
|
+
envLockBadgeTitle: "Закреплено переменной окружения — изменить в интерфейсе нельзя.",
|
|
2106
|
+
deprecatedBadge: "Устарело",
|
|
2107
|
+
deprecatedBadgeReplacedBy: "Устарело → {{replacedBy}}",
|
|
2108
|
+
unsupportedSpecifierType: "Неподдерживаемый тип настройки: {{type}}",
|
|
2109
|
+
},
|
|
2110
|
+
workspaceTimezonePrompt: {
|
|
2111
|
+
title: "Задайте часовой пояс системы",
|
|
2112
|
+
description: "В этой системе всё ещё используется часовой пояс платформы по умолчанию — {{current}}. Часовой пояс системы определяет, что означает «сегодня» в формулах, как отчёты группируют данные по датам и как отображаются дата и время, — для всех в системе. Ниже указан часовой пояс вашего браузера.",
|
|
2113
|
+
laterHint: "Его можно изменить в любое время на странице «Настройки».",
|
|
2114
|
+
decline: "Оставить по умолчанию",
|
|
2115
|
+
confirm: "Задать часовой пояс",
|
|
2116
|
+
saved: "Часовой пояс системы: {{zone}}",
|
|
2052
2117
|
},
|
|
2053
2118
|
error: {
|
|
2054
2119
|
connectionFailed: "Не удаётся подключиться к серверу",
|
|
@@ -2073,27 +2138,28 @@ const ru = {
|
|
|
2073
2138
|
groups: {
|
|
2074
2139
|
general: "Общие",
|
|
2075
2140
|
navigation: "Навигация",
|
|
2076
|
-
dataViews: "Представления данных",
|
|
2077
2141
|
aiChat: "Ассистент ИИ",
|
|
2078
|
-
preferences: "Настройки",
|
|
2079
2142
|
},
|
|
2080
2143
|
openCommandPalette: "Открыть палитру команд",
|
|
2081
2144
|
showShortcuts: "Показать горячие клавиши",
|
|
2082
2145
|
closeDialog: "Закрыть диалог / панель",
|
|
2083
2146
|
toggleSidebar: "Переключить боковую панель",
|
|
2084
|
-
focusSearch: "Фокус на поиске",
|
|
2085
|
-
createRecord: "Создать новую запись",
|
|
2086
|
-
refreshData: "Обновить данные",
|
|
2087
|
-
editRecord: "Редактировать выбранную запись",
|
|
2088
2147
|
newChat: "Новый чат",
|
|
2089
2148
|
toggleChatsList: "Переключить список чатов",
|
|
2090
|
-
|
|
2149
|
+
goHome: "Вернуться на главную",
|
|
2150
|
+
},
|
|
2151
|
+
reportIndex: {
|
|
2152
|
+
title: "Отчёты",
|
|
2153
|
+
emptyTitle: "Нет отчётов",
|
|
2154
|
+
emptyDescription: "В этом приложении нет отчётов, которые вы можете открыть.",
|
|
2091
2155
|
},
|
|
2092
2156
|
commandPalette: {
|
|
2093
2157
|
title: "Палитра команд",
|
|
2094
2158
|
placeholder: "Введите команду или поиск…",
|
|
2095
2159
|
noResults: "Результаты не найдены.",
|
|
2096
2160
|
objects: "Объекты",
|
|
2161
|
+
packages: "Пакеты",
|
|
2162
|
+
flows: "Потоки",
|
|
2097
2163
|
dashboards: "Панели мониторинга",
|
|
2098
2164
|
pages: "Страницы",
|
|
2099
2165
|
reports: "Отчёты",
|
|
@@ -2112,9 +2178,9 @@ const ru = {
|
|
|
2112
2178
|
},
|
|
2113
2179
|
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2114
2180
|
readRate: {
|
|
2115
|
-
ratioTitle: 'Необычный объём чтения в этой
|
|
2181
|
+
ratioTitle: 'Необычный объём чтения в этой системе',
|
|
2116
2182
|
ratio: 'На каждую записанную строку читается {{ratio}} строк. Платформа отмечает всё, что выше {{threshold}}. Ничто не ограничивается и не блокируется; это отчёт, чтобы можно было проверить схему чтения.',
|
|
2117
|
-
noWritesTitle: 'Чтение вообще без записи в этой
|
|
2183
|
+
noWritesTitle: 'Чтение вообще без записи в этой системе',
|
|
2118
2184
|
noWrites: 'Строки читаются, но не записывается ни одной, поэтому у скорости чтения нет верхней границы. Это самый серьёзный показатель. Платформа отмечает всё, что выше {{threshold}}. Ничто не ограничивается и не блокируется; это отчёт, чтобы можно было проверить схему чтения.',
|
|
2119
2185
|
},
|
|
2120
2186
|
// objectui#10439 — see the `en` pack for what raises each case.
|
|
@@ -2155,12 +2221,14 @@ const ru = {
|
|
|
2155
2221
|
viewNameInvalid: "Используйте строчные латинские буквы, цифры и подчёркивания; начните с буквы или подчёркивания.",
|
|
2156
2222
|
systemViewReadonly: "Системное представление определено в коде — только для чтения.",
|
|
2157
2223
|
cannotEditMetaView: "Это встроенное представление, определённое в коде, — изменить его нельзя.",
|
|
2158
|
-
|
|
2224
|
+
resetView: "Сбросить представление",
|
|
2225
|
+
resetViewTitle: "Вернуть сортировку, фильтры и ширину столбцов этого представления к его собственным настройкам. Изменятся только ваши настройки.",
|
|
2159
2226
|
cannotDeleteMetaView: "Это встроенное представление, определённое в коде, — удалить его нельзя.",
|
|
2160
2227
|
expandToPage: "Открыть на всю страницу",
|
|
2161
2228
|
objectNotFound: "Объект не найден",
|
|
2162
2229
|
objectNotFoundDescription: "Объект «{{objectName}}» не существует в текущей конфигурации.",
|
|
2163
2230
|
objectNotFoundHint: "Проверьте настройки навигации приложения или выберите другой объект на боковой панели.",
|
|
2231
|
+
objectPackageDisabled: "Объект «{{objectName}}» принадлежит отключённому пакету, поэтому он не предоставляется.",
|
|
2164
2232
|
filterOrNotSavable: "Этот фильтр объединяет условия через ИЛИ, что сохранённое представление пока не может хранить. Он по-прежнему применяется к этому списку — уберите группировку ИЛИ, чтобы сохранить его в представлении.",
|
|
2165
2233
|
filterNestedNotSavable: "Этот фильтр использует вложенные группы условий, которые сохранённое представление не может хранить. Преобразуйте его в один список условий, чтобы сохранить в представлении.",
|
|
2166
2234
|
allRecords: "Все записи",
|
|
@@ -2257,6 +2325,10 @@ const ru = {
|
|
|
2257
2325
|
ufAddField: "+ Добавить поле фильтра…",
|
|
2258
2326
|
ufShowAllRecords: "Показать вкладку \"Все записи\"",
|
|
2259
2327
|
},
|
|
2328
|
+
runtimeDraft: {
|
|
2329
|
+
publishFailed: "Не удалось опубликовать",
|
|
2330
|
+
discardFailed: "Не удалось отменить черновик",
|
|
2331
|
+
},
|
|
2260
2332
|
localeSwitcher: {
|
|
2261
2333
|
label: "Язык",
|
|
2262
2334
|
},
|
|
@@ -2264,17 +2336,22 @@ const ru = {
|
|
|
2264
2336
|
nav: {
|
|
2265
2337
|
pinItem: "Закрепить {{name}}",
|
|
2266
2338
|
unpinItem: "Открепить {{name}}",
|
|
2267
|
-
dragToReorder: "Перетащите для изменения порядка",
|
|
2268
2339
|
favorites: "Избранное",
|
|
2269
2340
|
launcherLabel: "Панель приложений",
|
|
2270
2341
|
menuLabel: "Навигация приложения",
|
|
2271
2342
|
menuEmpty: "В этом приложении нет доступных для открытия элементов навигации.",
|
|
2343
|
+
itemMenu: "Другие действия для {{name}}",
|
|
2344
|
+
openInNewTab: "Открыть в новой вкладке",
|
|
2345
|
+
copyLink: "Копировать ссылку",
|
|
2346
|
+
linkCopied: "Ссылка скопирована в буфер обмена",
|
|
2347
|
+
linkCopyFailed: "Не удалось скопировать ссылку",
|
|
2348
|
+
design: "Дизайн",
|
|
2272
2349
|
},
|
|
2273
2350
|
},
|
|
2274
2351
|
auth: {
|
|
2275
2352
|
setPassword: {
|
|
2276
2353
|
title: "Задать резервный пароль",
|
|
2277
|
-
description: "Вы вошли через единый вход. Задайте локальный пароль, чтобы входить
|
|
2354
|
+
description: "Вы вошли через единый вход. Задайте локальный пароль, чтобы входить напрямую, если SSO станет недоступен.",
|
|
2278
2355
|
email: "Электронная почта",
|
|
2279
2356
|
newPassword: "Новый пароль",
|
|
2280
2357
|
confirmPassword: "Подтвердите пароль",
|
|
@@ -2290,9 +2367,8 @@ const ru = {
|
|
|
2290
2367
|
signingIn: "Выполняется вход…",
|
|
2291
2368
|
ssoHandoff: "Перейти к {{target}}",
|
|
2292
2369
|
devAdminHint: {
|
|
2293
|
-
title: "
|
|
2294
|
-
|
|
2295
|
-
dismiss: "Закрыть",
|
|
2370
|
+
title: "Локальная среда разработки",
|
|
2371
|
+
signIn: "Войти как администратор разработки",
|
|
2296
2372
|
},
|
|
2297
2373
|
title: "Войдите в свой аккаунт",
|
|
2298
2374
|
description: "Введите электронную почту и пароль для продолжения",
|
|
@@ -2324,6 +2400,20 @@ const ru = {
|
|
|
2324
2400
|
usePasswordSignInText: "Войти с паролем",
|
|
2325
2401
|
socialButton: "Продолжить через {provider}",
|
|
2326
2402
|
orText: "или продолжите с электронной почтой",
|
|
2403
|
+
ssoButton: "Войти через SSO",
|
|
2404
|
+
ssoOnlyDescription: "Войдите через единый вход вашей организации",
|
|
2405
|
+
usePasswordText: "Использовать пароль",
|
|
2406
|
+
backToSsoText: "Вернуться к единому входу",
|
|
2407
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2408
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2409
|
+
welcomeTitle: "С возвращением",
|
|
2410
|
+
welcomeDescription: "Войдите, чтобы продолжить работу",
|
|
2411
|
+
showPasswordText: "Показать пароль",
|
|
2412
|
+
hidePasswordText: "Скрыть пароль",
|
|
2413
|
+
footer: {
|
|
2414
|
+
privacy: "Конфиденциальность",
|
|
2415
|
+
terms: "Условия",
|
|
2416
|
+
},
|
|
2327
2417
|
},
|
|
2328
2418
|
register: {
|
|
2329
2419
|
title: "Создать аккаунт",
|
|
@@ -2346,7 +2436,7 @@ const ru = {
|
|
|
2346
2436
|
orText: "или продолжите с электронной почтой",
|
|
2347
2437
|
errors: {
|
|
2348
2438
|
userExists: "Аккаунт с таким email уже существует. Попробуйте войти.",
|
|
2349
|
-
selfRegistrationClosed: "Самостоятельная регистрация в этой
|
|
2439
|
+
selfRegistrationClosed: "Самостоятельная регистрация в этой системе закрыта. Обратитесь к администратору за приглашением.",
|
|
2350
2440
|
emailDomainNotAllowed: "Регистрация с адресами этого домена здесь не разрешена. Используйте email вашей организации или обратитесь к администратору за приглашением.",
|
|
2351
2441
|
},
|
|
2352
2442
|
verifyInbox: {
|
|
@@ -2423,7 +2513,7 @@ const ru = {
|
|
|
2423
2513
|
checkSpam: "Не получили письмо? Проверьте папку \"Спам\" или обратитесь в поддержку.",
|
|
2424
2514
|
or: "Или",
|
|
2425
2515
|
// objectui#3546 slice three.
|
|
2426
|
-
resendUnavailable: "Возможно, отправка писем не настроена для этой
|
|
2516
|
+
resendUnavailable: "Возможно, отправка писем не настроена для этой системы. Если проблема повторяется, обратитесь в поддержку.",
|
|
2427
2517
|
},
|
|
2428
2518
|
setup: {
|
|
2429
2519
|
welcomeTitle: "Добро пожаловать в ObjectStack",
|
|
@@ -2467,7 +2557,7 @@ const ru = {
|
|
|
2467
2557
|
disabledDescription: "В этой инсталляции авторизация устройств не включена, поэтому это устройство здесь одобрить нельзя.",
|
|
2468
2558
|
},
|
|
2469
2559
|
shell: {
|
|
2470
|
-
tenantHostHint: "Вы входите в
|
|
2560
|
+
tenantHostHint: "Вы входите в эту систему",
|
|
2471
2561
|
},
|
|
2472
2562
|
layout: {
|
|
2473
2563
|
headline: "Создавайте мощные бизнес-приложения быстрее.",
|
|
@@ -2477,6 +2567,7 @@ const ru = {
|
|
|
2477
2567
|
signOut: "Выйти из аккаунта",
|
|
2478
2568
|
password: {
|
|
2479
2569
|
title: "Срок действия пароля истёк",
|
|
2570
|
+
resetTitle: "Необходимо сменить пароль",
|
|
2480
2571
|
fallbackMessage: "Задайте новый пароль, чтобы продолжить.",
|
|
2481
2572
|
current: "Текущий пароль",
|
|
2482
2573
|
next: "Новый пароль",
|
|
@@ -2502,6 +2593,11 @@ const ru = {
|
|
|
2502
2593
|
verifying: "Проверка…",
|
|
2503
2594
|
invalidCode: "Неверный код. Попробуйте ещё раз.",
|
|
2504
2595
|
},
|
|
2596
|
+
impersonation: {
|
|
2597
|
+
passwordTitle: "Пользователь {{user}} должен сменить пароль",
|
|
2598
|
+
mfaTitle: "Пользователь {{user}} должен настроить двухфакторную аутентификацию",
|
|
2599
|
+
body: "Вы работаете от имени {{user}}, и сделать это может только сам пользователь. Прекратите работу от чужого имени, чтобы вернуться в свой аккаунт.",
|
|
2600
|
+
},
|
|
2505
2601
|
},
|
|
2506
2602
|
},
|
|
2507
2603
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2510,12 +2606,17 @@ const ru = {
|
|
|
2510
2606
|
title: "{{appName}} запрашивает доступ к вашему аккаунту",
|
|
2511
2607
|
request: "{{appName}} запрашивает разрешение{{suffix}}.",
|
|
2512
2608
|
unknownApp: "приложение",
|
|
2609
|
+
unidentified: "Не удалось определить это приложение.",
|
|
2610
|
+
clientId: "ID клиента",
|
|
2513
2611
|
willAllow: "Это приложение сможет:",
|
|
2514
2612
|
scope: {
|
|
2515
2613
|
openid: "Подтверждать вашу личность",
|
|
2516
2614
|
profile: "Читать основной профиль (имя, фото)",
|
|
2517
2615
|
email: "Читать ваш адрес электронной почты",
|
|
2518
2616
|
offlineAccess: "Оставаться в системе (обновление доступа)",
|
|
2617
|
+
dataRead: "Читать записи (в пределах ваших собственных прав)",
|
|
2618
|
+
dataWrite: "Создавать, изменять и удалять записи (в пределах ваших собственных прав)",
|
|
2619
|
+
actionsExecute: "Выполнять действия от вашего имени (в пределах ваших собственных прав)",
|
|
2519
2620
|
},
|
|
2520
2621
|
deny: "Отклонить",
|
|
2521
2622
|
authorize: "Разрешить",
|
|
@@ -2558,8 +2659,8 @@ const ru = {
|
|
|
2558
2659
|
password: {
|
|
2559
2660
|
changeTitle: "Изменить пароль",
|
|
2560
2661
|
setTitle: "Задать локальный пароль",
|
|
2561
|
-
changeDescription: "Обновите пароль, который вы используете для
|
|
2562
|
-
setDescription: "Вы вошли через единый вход (SSO). Задайте локальный пароль, чтобы также входить
|
|
2662
|
+
changeDescription: "Обновите пароль, который вы используете для входа.",
|
|
2663
|
+
setDescription: "Вы вошли через единый вход (SSO). Задайте локальный пароль, чтобы также входить по электронной почте и паролю.",
|
|
2563
2664
|
current: "Текущий пароль",
|
|
2564
2665
|
new: "Новый пароль",
|
|
2565
2666
|
password: "Пароль",
|
|
@@ -2568,7 +2669,7 @@ const ru = {
|
|
|
2568
2669
|
mismatch: "Пароли не совпадают",
|
|
2569
2670
|
enterCurrent: "Введите текущий пароль",
|
|
2570
2671
|
changed: "Пароль изменён.",
|
|
2571
|
-
localSet: "Локальный пароль задан. Теперь вы можете входить
|
|
2672
|
+
localSet: "Локальный пароль задан. Теперь вы можете входить по электронной почте и паролю.",
|
|
2572
2673
|
changeAction: "Изменить пароль",
|
|
2573
2674
|
setAction: "Задать пароль",
|
|
2574
2675
|
},
|
|
@@ -2583,21 +2684,21 @@ const ru = {
|
|
|
2583
2684
|
unknown: "Произошла непредвиденная ошибка.",
|
|
2584
2685
|
},
|
|
2585
2686
|
workspace: {
|
|
2586
|
-
label: "
|
|
2587
|
-
default: "
|
|
2588
|
-
switch: "Переключить
|
|
2589
|
-
createTitle: "Создать
|
|
2590
|
-
createDescription: "
|
|
2591
|
-
createButton: "Создать
|
|
2592
|
-
nameLabel: "
|
|
2687
|
+
label: "Организации",
|
|
2688
|
+
default: "Моя организация",
|
|
2689
|
+
switch: "Переключить организацию",
|
|
2690
|
+
createTitle: "Создать организацию",
|
|
2691
|
+
createDescription: "Организация — это общее место для совместной работы вашей команды.",
|
|
2692
|
+
createButton: "Создать организацию",
|
|
2693
|
+
nameLabel: "Название организации",
|
|
2593
2694
|
namePlaceholder: "например, Acme Inc",
|
|
2594
2695
|
slugLabel: "URL-слаг",
|
|
2595
2696
|
slugHint: "Используется в URL. Только строчные буквы, цифры и дефисы.",
|
|
2596
2697
|
invite: "Пригласить участника",
|
|
2597
2698
|
members: "Участники",
|
|
2598
|
-
settings: "Настройки
|
|
2699
|
+
settings: "Настройки организации",
|
|
2599
2700
|
multiOrgDisabled: "Создание новых организаций отключено в этой среде.",
|
|
2600
|
-
createFailed: 'Не удалось создать
|
|
2701
|
+
createFailed: 'Не удалось создать организацию',
|
|
2601
2702
|
},
|
|
2602
2703
|
help: {
|
|
2603
2704
|
onThisPage: "На этой странице",
|
|
@@ -2605,6 +2706,12 @@ const ru = {
|
|
|
2605
2706
|
appDocs: 'Документация приложения',
|
|
2606
2707
|
allDocs: 'Вся документация',
|
|
2607
2708
|
onlineDocs: 'Онлайн-документация',
|
|
2709
|
+
loadingDocumentation: 'Загрузка документации',
|
|
2710
|
+
about: 'О программе',
|
|
2711
|
+
aboutTitle: 'Об этой консоли',
|
|
2712
|
+
aboutDescription: 'Сборка, из которой скомпилирована эта консоль.',
|
|
2713
|
+
aboutBuild: 'Сборка консоли',
|
|
2714
|
+
aboutBuildUnknown: 'Неизвестная сборка (при сборке этой консоли версия не была задана)',
|
|
2608
2715
|
},
|
|
2609
2716
|
sidebar: {
|
|
2610
2717
|
packageManagement: "Управление пакетами",
|
|
@@ -2619,18 +2726,16 @@ const ru = {
|
|
|
2619
2726
|
area: "Область",
|
|
2620
2727
|
scope: "Область",
|
|
2621
2728
|
recent: "Недавние",
|
|
2622
|
-
favorites: "Избранное",
|
|
2623
2729
|
starred: "Отмеченные",
|
|
2624
2730
|
removeFromFavorites: "Убрать {{name}} из избранного",
|
|
2731
|
+
allReports: "Все отчёты",
|
|
2625
2732
|
},
|
|
2626
2733
|
topbar: {
|
|
2627
2734
|
openAssistant: "Открыть ассистента {{name}}",
|
|
2628
2735
|
offline: "Не в сети",
|
|
2629
2736
|
usersOnline: "Пользователи сейчас в сети",
|
|
2630
2737
|
switchView: "Сменить представление",
|
|
2631
|
-
switchObject: "Сменить объект",
|
|
2632
2738
|
connection: {
|
|
2633
|
-
connected: "Подключено",
|
|
2634
2739
|
connecting: "Подключение…",
|
|
2635
2740
|
reconnecting: "Переподключение…",
|
|
2636
2741
|
disconnected: "Отключено",
|
|
@@ -2643,23 +2748,22 @@ const ru = {
|
|
|
2643
2748
|
},
|
|
2644
2749
|
aiAssistant: "ИИ-ассистент",
|
|
2645
2750
|
designInStudio: "Дизайн в Studio",
|
|
2751
|
+
editApp: "Редактировать приложение",
|
|
2646
2752
|
},
|
|
2647
2753
|
home: {
|
|
2648
2754
|
build: {
|
|
2649
2755
|
title: "Создать приложение",
|
|
2650
|
-
|
|
2651
|
-
noCapability: "Создание приложений недоступно в этом рабочем пространстве — для этого нужно разрешение «Управление метаданными», которого нет у вашей учётной записи.",
|
|
2756
|
+
noCapability: "Создание приложений недоступно в этой системе — для этого нужно разрешение «Управление метаданными», которого нет у вашей учётной записи.",
|
|
2652
2757
|
},
|
|
2653
2758
|
template: {
|
|
2654
2759
|
title: "Начать с шаблона",
|
|
2655
|
-
subtitle: "Установите шаблонное приложение из маркетплейса и настройте его под себя.",
|
|
2656
2760
|
marketplaceDisabled: "Для этого рантайма не настроен маркетплейс приложений, поэтому здесь нет шаблонов для установки.",
|
|
2657
2761
|
},
|
|
2658
2762
|
welcomeAdminDescription: "Опишите свой бизнес одним предложением — ИИ создаст объекты, экраны, API и инструменты агента. Либо настройте всё сами через меню слева.",
|
|
2659
2763
|
welcomeAdminDescriptionNoBuild: "Настройте первое приложение через меню «Администрирование» слева. Когда появятся данные, ИИ-ассистент поможет их изучить.",
|
|
2660
2764
|
welcomeAdminDescriptionNoAi: "Настройте первое приложение через меню «Администрирование» слева.",
|
|
2661
2765
|
noAppsTitle: "Приложений пока нет",
|
|
2662
|
-
noAppsDescription: "
|
|
2766
|
+
noAppsDescription: "Система настраивается — приложения, которыми поделится администратор, появятся здесь.",
|
|
2663
2767
|
buildWithAI: "Создать с помощью ИИ",
|
|
2664
2768
|
askAI: "Спросить ИИ",
|
|
2665
2769
|
recoveryReminder: {
|
|
@@ -2668,11 +2772,17 @@ const ru = {
|
|
|
2668
2772
|
dismiss: "Закрыть",
|
|
2669
2773
|
},
|
|
2670
2774
|
pendingDrafts: {
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2775
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2776
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2777
|
+
// their package when they share one.
|
|
2778
|
+
title: "{{count}} неопубликованных изменений",
|
|
2779
|
+
title_one: "{{count}} неопубликованное изменение",
|
|
2780
|
+
title_few: "{{count}} неопубликованных изменения",
|
|
2781
|
+
title_many: "{{count}} неопубликованных изменений",
|
|
2782
|
+
title_other: "{{count}} неопубликованного изменения",
|
|
2783
|
+
inPackage: "{{names}} ожидают публикации в {{package}}",
|
|
2784
|
+
waiting: "{{names}} ожидают публикации",
|
|
2785
|
+
nameSeparator: ", ",
|
|
2676
2786
|
cta: "Опубликовать",
|
|
2677
2787
|
publishing: "Публикация…",
|
|
2678
2788
|
published: "Опубликовано! Изменения вступили в силу.",
|
|
@@ -2694,11 +2804,18 @@ const ru = {
|
|
|
2694
2804
|
showMoreApps: "Ещё",
|
|
2695
2805
|
showLess: "Свернуть",
|
|
2696
2806
|
continueEmpty: "Открытые вами элементы появятся здесь.",
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2807
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2808
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2809
|
+
myWork: {
|
|
2810
|
+
title: "Моя работа",
|
|
2811
|
+
openInbox: "Открыть входящие",
|
|
2812
|
+
viewAll: "Показать все",
|
|
2813
|
+
approvals: "Ожидают одобрения",
|
|
2814
|
+
approvalsEmpty: "Нет заявок на одобрение",
|
|
2815
|
+
notifications: "Уведомления",
|
|
2816
|
+
notificationsEmpty: "Нет непрочитанных уведомлений",
|
|
2700
2817
|
},
|
|
2701
|
-
loading: "
|
|
2818
|
+
loading: "Загрузка…",
|
|
2702
2819
|
welcome: "Добро пожаловать в ObjectUI",
|
|
2703
2820
|
welcomeDescription: "Начните с создания вашего первого приложения или настройки системы.",
|
|
2704
2821
|
createFirstApp: "Создайте первое приложение",
|
|
@@ -2709,7 +2826,7 @@ const ru = {
|
|
|
2709
2826
|
manageObjects: "Управление объектами",
|
|
2710
2827
|
manageObjectsDesc: "Настройте модели данных",
|
|
2711
2828
|
systemSettings: "Системные настройки",
|
|
2712
|
-
systemSettingsDesc: "Настройте
|
|
2829
|
+
systemSettingsDesc: "Настройте систему",
|
|
2713
2830
|
},
|
|
2714
2831
|
appCard: {
|
|
2715
2832
|
noDescription: "Без описания",
|
|
@@ -2719,7 +2836,19 @@ const ru = {
|
|
|
2719
2836
|
greetingAfternoon: "Добрый день",
|
|
2720
2837
|
greetingEvening: "Добрый вечер",
|
|
2721
2838
|
greetingNight: "Ночная смена",
|
|
2722
|
-
|
|
2839
|
+
greetingSeparator: ", ",
|
|
2840
|
+
greetingEnd: ".",
|
|
2841
|
+
search: "Поиск приложений, записей, страниц…",
|
|
2842
|
+
summary: {
|
|
2843
|
+
approvals: "Сегодня {{count}} запросов ждут вашего согласования",
|
|
2844
|
+
approvals_one: "Сегодня {{count}} запрос ждёт вашего согласования",
|
|
2845
|
+
approvals_few: "Сегодня {{count}} запроса ждут вашего согласования",
|
|
2846
|
+
approvals_many: "Сегодня {{count}} запросов ждут вашего согласования",
|
|
2847
|
+
approvals_other: "Сегодня {{count}} запроса ждут вашего согласования",
|
|
2848
|
+
none: "Сегодня ничего не ждёт вашего внимания",
|
|
2849
|
+
},
|
|
2850
|
+
addApp: "Добавить приложение",
|
|
2851
|
+
appOpened: "{{time}}",
|
|
2723
2852
|
open: "Открыть",
|
|
2724
2853
|
recentApps: {
|
|
2725
2854
|
title: "Недавно открытые",
|
|
@@ -2728,6 +2857,8 @@ const ru = {
|
|
|
2728
2857
|
dashboard: "Панель",
|
|
2729
2858
|
page: "Страница",
|
|
2730
2859
|
report: "Отчёт",
|
|
2860
|
+
package: "Пакет",
|
|
2861
|
+
view: "Представление списка",
|
|
2731
2862
|
record: "Запись",
|
|
2732
2863
|
metadata: "Метаданные",
|
|
2733
2864
|
},
|
|
@@ -2765,11 +2896,17 @@ const ru = {
|
|
|
2765
2896
|
manageAllApps: "Управление приложениями",
|
|
2766
2897
|
systemConsole: "Системная консоль",
|
|
2767
2898
|
noAppsConfigured: "Нет приложений",
|
|
2899
|
+
allApps: "Все приложения",
|
|
2900
|
+
editAppInStudio: "Редактировать {{app}} в Studio",
|
|
2901
|
+
backToHome: "Вернуться на главную",
|
|
2902
|
+
settings: "Настройки",
|
|
2903
|
+
productHome: "Главная {{product}}",
|
|
2768
2904
|
},
|
|
2769
2905
|
activityFeed: {
|
|
2770
2906
|
title: "Последние действия",
|
|
2771
2907
|
filter: "Фильтр",
|
|
2772
2908
|
empty: "Нет действий",
|
|
2909
|
+
accessDenied: "У вас нет разрешения на просмотр активности.",
|
|
2773
2910
|
ariaLabel: "Лента активности",
|
|
2774
2911
|
typeCreate: "Создание",
|
|
2775
2912
|
typeUpdate: "Обновление",
|
|
@@ -2841,11 +2978,19 @@ const ru = {
|
|
|
2841
2978
|
appAccessDenied: "У вас нет доступа к этому приложению",
|
|
2842
2979
|
appAccessDeniedDescription: "Это приложение существует, но у вашей учётной записи нет прав на его открытие. Обратитесь к администратору за доступом.",
|
|
2843
2980
|
appAccessDeniedHome: "На главную",
|
|
2981
|
+
appNothingAvailable: "В {{app}} пока нет ничего доступного для вас",
|
|
2982
|
+
appNothingAvailableDescription: "В этом приложении нет страниц, которые может открыть ваша учётная запись. Обратитесь к администратору за доступом.",
|
|
2983
|
+
appNothingAvailableGrantDescription: "В этом приложении нет страниц, которые может открыть ваша учётная запись. Доступ можно предоставить в разделе настройки.",
|
|
2984
|
+
openSetup: "Открыть настройку",
|
|
2844
2985
|
createFirstApp: "Создать приложение",
|
|
2845
2986
|
systemSettings: "Системные настройки",
|
|
2846
2987
|
back: "Назад",
|
|
2847
2988
|
recordNotFound: "Запись не найдена",
|
|
2848
2989
|
recordNotFoundDescription: "Искомая запись не существует или была удалена.",
|
|
2990
|
+
recordAccessDenied: "Нет доступа к записям «{{object}}»",
|
|
2991
|
+
recordAccessDeniedDescription: "У вас нет прав на просмотр записей этого типа. Обратитесь к администратору, если считаете, что доступ вам нужен.",
|
|
2992
|
+
recordLoadFailed: "Не удалось загрузить эту запись",
|
|
2993
|
+
recordLoadFailedDescription: "При загрузке произошла ошибка. Проверьте соединение и попробуйте снова.",
|
|
2849
2994
|
},
|
|
2850
2995
|
actionDialog: {
|
|
2851
2996
|
title: "Параметры действия",
|
|
@@ -2878,12 +3023,17 @@ const ru = {
|
|
|
2878
3023
|
updateFailed: "Не удалось обновить навигацию",
|
|
2879
3024
|
},
|
|
2880
3025
|
objectActions: {
|
|
2881
|
-
resetPackageSetConfirm: "Этот набор разрешений поставляется с установленным пакетом и не может быть удалён. Удаление сбросит его к исходному состоянию из пакета и отменит ваши настройки в этой среде. Продолжить?",
|
|
2882
|
-
resetPackageSetSuccess: "Набор разрешений сброшен к исходному состоянию из пакета",
|
|
2883
3026
|
deleteSuccess: "{{label}} успешно удалён",
|
|
2884
3027
|
deleteFailed: "Не удалось удалить {{label}}",
|
|
2885
3028
|
noRecordId: "ID записи не указан",
|
|
2886
3029
|
deleteConfirm: "Удалить эту запись?",
|
|
3030
|
+
deleteConfirmTitle: "Удалить {{label}} \"{{name}}\"?",
|
|
3031
|
+
bulkDeleteConfirmTitle: "Удалить {{count}} записей {{label}}?",
|
|
3032
|
+
bulkDeleteConfirmTitle_one: "Удалить {{count}} запись {{label}}?",
|
|
3033
|
+
bulkDeleteConfirmTitle_few: "Удалить {{count}} записи {{label}}?",
|
|
3034
|
+
bulkDeleteConfirmTitle_many: "Удалить {{count}} записей {{label}}?",
|
|
3035
|
+
bulkDeleteConfirmTitle_other: "Удалить {{count}} записи {{label}}?",
|
|
3036
|
+
deleteConfirmButton: "Удалить",
|
|
2887
3037
|
bulkDeleteSuccess: "{{count}} записей {{label}} удалено",
|
|
2888
3038
|
bulkDeleteSuccess_one: "Удалена {{count}} запись {{label}}",
|
|
2889
3039
|
bulkDeleteSuccess_few: "Удалено {{count}} записи {{label}}",
|
|
@@ -2921,6 +3071,7 @@ const ru = {
|
|
|
2921
3071
|
loading: "Загрузка…",
|
|
2922
3072
|
failedToLoad: "Не удалось загрузить матрицу: {{message}}",
|
|
2923
3073
|
needsAcross: "Матричный отчёт требует хотя бы одно поле `groupingsAcross`.",
|
|
3074
|
+
forbiddenMessage: "У вас нет прав на просмотр данных этого отчёта.",
|
|
2924
3075
|
aggregate: {
|
|
2925
3076
|
count: "Количество",
|
|
2926
3077
|
countDistinct: "Уникальные",
|
|
@@ -2935,18 +3086,18 @@ const ru = {
|
|
|
2935
3086
|
},
|
|
2936
3087
|
},
|
|
2937
3088
|
organizations: {
|
|
2938
|
-
create: "Создать
|
|
2939
|
-
mine: "Мои
|
|
2940
|
-
title: "
|
|
2941
|
-
heading: "Ваши
|
|
2942
|
-
subtitle: "Выберите
|
|
2943
|
-
searchPlaceholder: "Поиск
|
|
2944
|
-
new: "
|
|
2945
|
-
current: "
|
|
3089
|
+
create: "Создать организацию",
|
|
3090
|
+
mine: "Мои организации",
|
|
3091
|
+
title: "Организации",
|
|
3092
|
+
heading: "Ваши организации",
|
|
3093
|
+
subtitle: "Выберите организацию, чтобы продолжить, или создайте новую.",
|
|
3094
|
+
searchPlaceholder: "Поиск организации",
|
|
3095
|
+
new: "Новая организация",
|
|
3096
|
+
current: "Текущая организация",
|
|
2946
3097
|
manage: "Управление",
|
|
2947
|
-
emptyTitle: "Пока нет
|
|
2948
|
-
emptyDescription: "Создайте
|
|
2949
|
-
noMatches: "Нет
|
|
3098
|
+
emptyTitle: "Пока нет организаций",
|
|
3099
|
+
emptyDescription: "Создайте свою первую организацию, чтобы начать.",
|
|
3100
|
+
noMatches: "Нет организаций, соответствующих запросу.",
|
|
2950
3101
|
},
|
|
2951
3102
|
organization: {
|
|
2952
3103
|
roles: {
|
|
@@ -3031,6 +3182,7 @@ const ru = {
|
|
|
3031
3182
|
readOnlyNote: "Изменять настройки могут только владельцы.",
|
|
3032
3183
|
nameLabel: "Название организации",
|
|
3033
3184
|
slugLabel: "Слаг",
|
|
3185
|
+
slugLockedNote: "У этой организации есть активные окружения, поэтому её слаг нельзя изменить здесь: переименование также переносит их поддомены.",
|
|
3034
3186
|
logoLabel: "Логотип",
|
|
3035
3187
|
logoUpload: "Загрузить",
|
|
3036
3188
|
logoReplace: "Заменить",
|
|
@@ -3107,8 +3259,16 @@ const ru = {
|
|
|
3107
3259
|
noPendingApprovals: "Нет ожидающих утверждений",
|
|
3108
3260
|
openApprovalsInbox: "Открыть входящие утверждений",
|
|
3109
3261
|
badgeTotal: "Всего: {{total}}",
|
|
3110
|
-
badgeNotifications: "{{
|
|
3111
|
-
|
|
3262
|
+
badgeNotifications: "{{count}} уведомлений",
|
|
3263
|
+
badgeNotifications_one: "{{count}} уведомление",
|
|
3264
|
+
badgeNotifications_few: "{{count}} уведомления",
|
|
3265
|
+
badgeNotifications_many: "{{count}} уведомлений",
|
|
3266
|
+
badgeNotifications_other: "{{count}} уведомления",
|
|
3267
|
+
badgeApprovals: "{{count}} ожидающих утверждений",
|
|
3268
|
+
badgeApprovals_one: "{{count}} ожидающее утверждение",
|
|
3269
|
+
badgeApprovals_few: "{{count}} ожидающих утверждения",
|
|
3270
|
+
badgeApprovals_many: "{{count}} ожидающих утверждений",
|
|
3271
|
+
badgeApprovals_other: "{{count}} ожидающего утверждения",
|
|
3112
3272
|
arrivalMany: "Новых сообщений: {{count}}",
|
|
3113
3273
|
arrivalMany_one: "Новых сообщений: {{count}}",
|
|
3114
3274
|
arrivalMany_few: "Новых сообщений: {{count}}",
|
|
@@ -3157,10 +3317,10 @@ const ru = {
|
|
|
3157
3317
|
body: 'Поверхность MCP выключена (OS_MCP_SERVER_ENABLED=false). Попросите оператора включить её снова.',
|
|
3158
3318
|
},
|
|
3159
3319
|
url: {
|
|
3160
|
-
title: 'MCP-эндпоинт
|
|
3320
|
+
title: 'MCP-эндпоинт этой системы',
|
|
3161
3321
|
body: 'Любой ИИ-клиент с поддержкой MCP подключается по этому URL. Идентификация — самообслуживание: развертывание само является сервером авторизации OAuth 2.1 — вы входите под своим именем, и каждый вызов выполняется в рамках ваших прав и строковой безопасности.',
|
|
3162
3322
|
downloadSkill: 'Скачать SKILL.md',
|
|
3163
|
-
skillHint: 'Переносимый навык агента: учит любого совместимого агента работать с
|
|
3323
|
+
skillHint: 'Переносимый навык агента: учит любого совместимого агента работать с этой системой.',
|
|
3164
3324
|
},
|
|
3165
3325
|
claude: {
|
|
3166
3326
|
body: 'Настройки → Коннекторы → Добавить пользовательский коннектор, вставьте этот URL и войдите через браузер.',
|
|
@@ -3205,15 +3365,8 @@ const ru = {
|
|
|
3205
3365
|
importAction: "Импорт",
|
|
3206
3366
|
dismiss: "Скрыть",
|
|
3207
3367
|
},
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
hintReady: "Продакшн-окружение готово. Откройте его, чтобы создавать и запускать приложения — всё происходит внутри окружения.",
|
|
3211
|
-
createEnvironment: "Создать окружение",
|
|
3212
|
-
openProduction: "Открыть продакшн",
|
|
3213
|
-
manageEnvironments: "Управление окружениями",
|
|
3214
|
-
},
|
|
3215
|
-
cloudPlanStatus: {
|
|
3216
|
-
current: "Текущий тариф",
|
|
3368
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3369
|
+
seeded: "Часовой пояс окружения был задан по вашему браузеру при его создании: {{zone}}. Его можно изменить в разделе «Настройки → Локализация».",
|
|
3217
3370
|
},
|
|
3218
3371
|
ai: {
|
|
3219
3372
|
nlQuery: {
|
|
@@ -3294,8 +3447,8 @@ const ru = {
|
|
|
3294
3447
|
rowConversational: "Модель Build / Ask",
|
|
3295
3448
|
rowStructured: "Структурированный (blueprint / seed)",
|
|
3296
3449
|
rowReasoning: "Интенсивность рассуждений",
|
|
3297
|
-
readFailed: "Не удалось прочитать действующую модель ИИ. В
|
|
3298
|
-
readFailedWithStatus: "Не удалось прочитать действующую модель ИИ (HTTP {{status}}). В
|
|
3450
|
+
readFailed: "Не удалось прочитать действующую модель ИИ. В этой системе может не быть запущен сервис ИИ, либо у вас нет разрешения ai:read.",
|
|
3451
|
+
readFailedWithStatus: "Не удалось прочитать действующую модель ИИ (HTTP {{status}}). В этой системе может не быть запущен сервис ИИ, либо у вас нет разрешения ai:read.",
|
|
3299
3452
|
overridesInEffect: "Действующие переопределения: ",
|
|
3300
3453
|
noOverrides: "нет — используются значения по умолчанию развёрнутого кода.",
|
|
3301
3454
|
adapter: "Адаптер: ",
|
|
@@ -3313,9 +3466,13 @@ const ru = {
|
|
|
3313
3466
|
// against). `humanizeToolName` looks each up as
|
|
3314
3467
|
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3315
3468
|
// title-caser for a custom / third-party tool, so a name
|
|
3316
|
-
// missing here is degraded, never broken.
|
|
3317
|
-
//
|
|
3318
|
-
//
|
|
3469
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3470
|
+
// included, is a short sentence in the pack's language
|
|
3471
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3472
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3473
|
+
// the title-caser's output for it, which is how the step
|
|
3474
|
+
// reads for a tool the pack has no entry for.
|
|
3475
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3319
3476
|
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3320
3477
|
// set for both surfaces (they used to carry separate
|
|
3321
3478
|
// tables and disagreed on casing).
|
|
@@ -3333,42 +3490,48 @@ const ru = {
|
|
|
3333
3490
|
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3334
3491
|
// against the registry instead of against its own hand-held list.
|
|
3335
3492
|
chatbot: {
|
|
3493
|
+
answer: {
|
|
3494
|
+
showFull: 'Показать ответ полностью',
|
|
3495
|
+
collapse: 'Свернуть',
|
|
3496
|
+
expandTable: 'Развернуть',
|
|
3497
|
+
exitExpandedTable: 'Закрыть',
|
|
3498
|
+
},
|
|
3336
3499
|
tool: {
|
|
3337
|
-
aggregate_data: "
|
|
3338
|
-
get_record: "
|
|
3339
|
-
query_data: "Запросить данные",
|
|
3340
|
-
query_records: "
|
|
3341
|
-
search_knowledge: "
|
|
3342
|
-
visualize_data: "
|
|
3343
|
-
add_field: "Добавить поле",
|
|
3344
|
-
apply_blueprint: "Собрать приложение",
|
|
3345
|
-
apply_edit: "Применить
|
|
3346
|
-
create_metadata: "Создать
|
|
3347
|
-
create_object: "Создать объект",
|
|
3348
|
-
create_package: "Создать пакет",
|
|
3349
|
-
create_seed: "Сгенерировать примеры данных",
|
|
3350
|
-
delete_field: "Удалить поле",
|
|
3351
|
-
describe_metadata: "
|
|
3352
|
-
describe_object: "
|
|
3353
|
-
get_active_package: "
|
|
3354
|
-
get_authoring_rules: "
|
|
3355
|
-
get_metadata_schema: "
|
|
3356
|
-
get_package: "
|
|
3357
|
-
list_metadata: "
|
|
3358
|
-
list_objects: "
|
|
3359
|
-
list_packages: "
|
|
3360
|
-
load_tools: "Загрузить инструменты",
|
|
3361
|
-
modify_field: "Изменить поле",
|
|
3362
|
-
open_record: "Открыть запись",
|
|
3363
|
-
propose_blueprint: "
|
|
3364
|
-
set_active_package: "
|
|
3365
|
-
suggest_builder: "Предложить
|
|
3366
|
-
test_flow: "
|
|
3367
|
-
todo_write: "
|
|
3368
|
-
toggle_flow: "Включить или
|
|
3369
|
-
update_metadata: "Обновить
|
|
3370
|
-
validate_expression: "Проверить
|
|
3371
|
-
verify_build: "
|
|
3500
|
+
aggregate_data: "Агрегировать данные",
|
|
3501
|
+
get_record: "Прочитать запись",
|
|
3502
|
+
query_data: "Запросить нужные данные",
|
|
3503
|
+
query_records: "Найти нужные записи",
|
|
3504
|
+
search_knowledge: "Поискать в базе знаний",
|
|
3505
|
+
visualize_data: "Показать данные на графике",
|
|
3506
|
+
add_field: "Добавить поле в объект",
|
|
3507
|
+
apply_blueprint: "Собрать приложение по плану",
|
|
3508
|
+
apply_edit: "Применить это изменение",
|
|
3509
|
+
create_metadata: "Создать элемент метаданных",
|
|
3510
|
+
create_object: "Создать новый объект",
|
|
3511
|
+
create_package: "Создать новый пакет",
|
|
3512
|
+
create_seed: "Сгенерировать примеры данных для объектов",
|
|
3513
|
+
delete_field: "Удалить одно поле",
|
|
3514
|
+
describe_metadata: "Изучить метаданные",
|
|
3515
|
+
describe_object: "Изучить структуру объекта",
|
|
3516
|
+
get_active_package: "Проверить активный пакет",
|
|
3517
|
+
get_authoring_rules: "Прочитать правила разработки",
|
|
3518
|
+
get_metadata_schema: "Изучить формат метаданных",
|
|
3519
|
+
get_package: "Посмотреть сведения о пакете",
|
|
3520
|
+
list_metadata: "Перечислить имеющиеся метаданные",
|
|
3521
|
+
list_objects: "Перечислить имеющиеся объекты",
|
|
3522
|
+
list_packages: "Перечислить имеющиеся пакеты",
|
|
3523
|
+
load_tools: "Загрузить другие инструменты",
|
|
3524
|
+
modify_field: "Изменить одно поле",
|
|
3525
|
+
open_record: "Открыть эту запись",
|
|
3526
|
+
propose_blueprint: "Составить план приложения",
|
|
3527
|
+
set_active_package: "Переключиться на нужный пакет",
|
|
3528
|
+
suggest_builder: "Предложить собрать с помощью ИИ",
|
|
3529
|
+
test_flow: "Пробно запустить процесс",
|
|
3530
|
+
todo_write: "Записать, что проверить позже",
|
|
3531
|
+
toggle_flow: "Включить или отключить процесс",
|
|
3532
|
+
update_metadata: "Обновить элемент метаданных",
|
|
3533
|
+
validate_expression: "Проверить корректность выражения",
|
|
3534
|
+
verify_build: "Сверить результат сборки",
|
|
3372
3535
|
},
|
|
3373
3536
|
toolState: {
|
|
3374
3537
|
agentActivity: "Действия агента",
|
|
@@ -3381,6 +3544,17 @@ const ru = {
|
|
|
3381
3544
|
denied: "Отклонено",
|
|
3382
3545
|
failed: "Ошибка выполнения",
|
|
3383
3546
|
},
|
|
3547
|
+
phase: {
|
|
3548
|
+
build: "Сборка",
|
|
3549
|
+
design: "Проектирование плана",
|
|
3550
|
+
stepCount: "шагов: {{count}}",
|
|
3551
|
+
stepCount_one: "{{count}} шаг",
|
|
3552
|
+
stepCount_few: "{{count}} шага",
|
|
3553
|
+
stepCount_many: "{{count}} шагов",
|
|
3554
|
+
stepCount_other: "{{count}} шага",
|
|
3555
|
+
expand: "Показать шаги",
|
|
3556
|
+
collapse: "Скрыть шаги",
|
|
3557
|
+
},
|
|
3384
3558
|
plan: {
|
|
3385
3559
|
countObjects: "объектов: {{count}}",
|
|
3386
3560
|
countObjects_one: "{{count}} объект",
|
|
@@ -3398,10 +3572,17 @@ const ru = {
|
|
|
3398
3572
|
countDashboards_many: "{{count}} дашбордов",
|
|
3399
3573
|
countDashboards_other: "{{count}} дашборда",
|
|
3400
3574
|
countSeedData: "демоданные",
|
|
3575
|
+
extendTarget: "Добавление в существующее приложение: {{app}}",
|
|
3576
|
+
awaitingConfirm: "Ожидает подтверждения",
|
|
3577
|
+
objectsAndFields: "Объекты и поля",
|
|
3578
|
+
views: "Представления",
|
|
3579
|
+
suggestedField: "предложено",
|
|
3580
|
+
nameField: "Название: {{field}}",
|
|
3401
3581
|
},
|
|
3402
3582
|
build: {
|
|
3403
3583
|
building: "Создание {{app}}…",
|
|
3404
3584
|
built: "Создание {{app}} завершено",
|
|
3585
|
+
builtAndLive: "Создано и опубликовано · {{app}}",
|
|
3405
3586
|
appFallback: "вашего приложения",
|
|
3406
3587
|
addingSampleData: "добавление демоданных",
|
|
3407
3588
|
group: {
|
|
@@ -3412,6 +3593,49 @@ const ru = {
|
|
|
3412
3593
|
seed: "Демоданные",
|
|
3413
3594
|
},
|
|
3414
3595
|
moreArtifacts: "ещё {{n}}",
|
|
3596
|
+
verifying: "Проверка изменения…",
|
|
3597
|
+
verifyStep: "шаг {{n}}",
|
|
3598
|
+
verified: "Изменение проверено",
|
|
3599
|
+
unknownPhase: "Неизвестный этап сборки",
|
|
3600
|
+
nextStepsLead: "Дальше можно сказать: {{steps}}",
|
|
3601
|
+
nextStepQuote: "«{{step}}»",
|
|
3602
|
+
draftPosture: "Дальнейшие изменения сохраняются как черновики, а публикуете их вы в Studio.",
|
|
3603
|
+
checksPassed: "Проверки пройдены {{passed}}/{{total}}",
|
|
3604
|
+
},
|
|
3605
|
+
changes: {
|
|
3606
|
+
planTitle: "План изменений · изменений: {{count}}",
|
|
3607
|
+
planTitle_one: "План изменений · {{count}} изменение",
|
|
3608
|
+
planTitle_few: "План изменений · {{count}} изменения",
|
|
3609
|
+
planTitle_many: "План изменений · {{count}} изменений",
|
|
3610
|
+
planTitle_other: "План изменений · {{count}} изменения",
|
|
3611
|
+
saveDraft: "Сохранить как черновик",
|
|
3612
|
+
reviewAndPublish: "Проверить изменения и опубликовать",
|
|
3613
|
+
undo: "Отменить",
|
|
3614
|
+
undoWithOthers: "Отменить (других черновиков: {{count}})",
|
|
3615
|
+
undoWithOthers_one: "Отменить (и ещё {{count}} черновик)",
|
|
3616
|
+
undoWithOthers_few: "Отменить (и ещё {{count}} черновика)",
|
|
3617
|
+
undoWithOthers_many: "Отменить (и ещё {{count}} черновиков)",
|
|
3618
|
+
undoWithOthers_other: "Отменить (и ещё {{count}} черновика)",
|
|
3619
|
+
undoConfirm: "Отмена удалит все неопубликованные черновики этого пакета ({{total}}), из них не относятся к этому изменению: {{count}}.",
|
|
3620
|
+
undoConfirm_one: "Отмена удалит все неопубликованные черновики этого пакета ({{total}}), из них {{count}} не относится к этому изменению.",
|
|
3621
|
+
undoConfirm_few: "Отмена удалит все неопубликованные черновики этого пакета ({{total}}), из них {{count}} не относятся к этому изменению.",
|
|
3622
|
+
undoConfirm_many: "Отмена удалит все неопубликованные черновики этого пакета ({{total}}), из них {{count}} не относятся к этому изменению.",
|
|
3623
|
+
undoConfirm_other: "Отмена удалит все неопубликованные черновики этого пакета ({{total}}), из них {{count}} не относятся к этому изменению.",
|
|
3624
|
+
undoConfirmUnknown: "Отмена удалит все неопубликованные черновики этого пакета, а не только это изменение.",
|
|
3625
|
+
undoConfirmAction: "Отменить всё",
|
|
3626
|
+
undoCancel: "Не отменять",
|
|
3627
|
+
undoing: "Отмена…",
|
|
3628
|
+
undone: "Отменено",
|
|
3629
|
+
undoFailed: "Не удалось отменить",
|
|
3630
|
+
kind: {
|
|
3631
|
+
field: "Поле",
|
|
3632
|
+
object: "Объект",
|
|
3633
|
+
view: "Представление",
|
|
3634
|
+
dashboard: "Дашборд",
|
|
3635
|
+
app: "Приложение",
|
|
3636
|
+
seed: "Демоданные",
|
|
3637
|
+
package: "Пакет приложения",
|
|
3638
|
+
},
|
|
3415
3639
|
},
|
|
3416
3640
|
},
|
|
3417
3641
|
chatbotError: {
|
|
@@ -3427,10 +3651,13 @@ const ru = {
|
|
|
3427
3651
|
buyCredits: "Купить пакет кредитов",
|
|
3428
3652
|
upgradePlan: "Повысить тариф",
|
|
3429
3653
|
},
|
|
3654
|
+
planTier: {
|
|
3655
|
+
teamAndUp: "Тариф Team и выше",
|
|
3656
|
+
},
|
|
3430
3657
|
environment: {
|
|
3431
|
-
addEnvironment: "Добавить окружение",
|
|
3432
3658
|
setUpProduction: "Настройте продакшн-окружение",
|
|
3433
3659
|
addDevelopment: "Добавить окружение разработки",
|
|
3660
|
+
developmentLocked: "Окружения разработки · {{tier}}",
|
|
3434
3661
|
// Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
|
|
3435
3662
|
entitlement: {
|
|
3436
3663
|
productionLimitTitle: "У вас уже есть продакшн-окружение",
|
|
@@ -3478,7 +3705,7 @@ const ru = {
|
|
|
3478
3705
|
},
|
|
3479
3706
|
unbound: {
|
|
3480
3707
|
title: "Не подключено",
|
|
3481
|
-
body: "
|
|
3708
|
+
body: "Эта среда выполнения не подключена к управляющему слою. «Подключить» открывает вашу облачную учётную запись в новом окне, где подключение подтверждается одним кликом; никакие идентификаторы и учётные данные на этой странице не вводятся.",
|
|
3482
3709
|
connect: "Подключить",
|
|
3483
3710
|
},
|
|
3484
3711
|
},
|
|
@@ -3491,6 +3718,13 @@ const ru = {
|
|
|
3491
3718
|
dismiss: "Закрыть",
|
|
3492
3719
|
confirmedToast: "«{{set}}» теперь предоставлен: {{anchor}}.",
|
|
3493
3720
|
dismissedToast: "Предложение по «{{set}}» закрыто.",
|
|
3721
|
+
guestUnsupported: "Здесь предоставить нельзя: наборы позиции Guest не выводятся из принятых предложений.",
|
|
3722
|
+
acceptedState: "«{{set}}» принят для всех вошедших пользователей (позиция Everyone).",
|
|
3723
|
+
notInForceState: "«{{set}}» принят, но ещё не действует: этот запрос не изменил позицию Everyone. Причина указана в журнале сервера.",
|
|
3724
|
+
dismissedState: "«{{set}}» не предоставлен: предложение закрыто или отозвано.",
|
|
3725
|
+
revoke: "Отозвать",
|
|
3726
|
+
revoking: "Отзыв…",
|
|
3727
|
+
revokedToast: "Принятие «{{set}}» отозвано.",
|
|
3494
3728
|
},
|
|
3495
3729
|
title: "Маркетплейс приложений",
|
|
3496
3730
|
subtitle: "Просматривайте одобренные приложения из каталога ObjectStack. Нажмите на приложение, чтобы увидеть подробности и установить его.",
|
|
@@ -3504,21 +3738,26 @@ const ru = {
|
|
|
3504
3738
|
noMatchFilters: "Нет приложений, соответствующих фильтрам.",
|
|
3505
3739
|
noDescription: "Описание отсутствует.",
|
|
3506
3740
|
back: "Назад в маркетплейс",
|
|
3507
|
-
installedTitle: "Установленные приложения",
|
|
3508
|
-
installedSubtitle: "Пакеты маркетплейса, установленные в ядре этого рантайма.",
|
|
3509
|
-
installedEmpty: "Пока нет установленных приложений.",
|
|
3510
3741
|
browseLink: "Маркетплейс →",
|
|
3511
|
-
installedAdditiveNote: "
|
|
3512
|
-
installedAt: "Установлено {{when}}",
|
|
3513
|
-
installedBy: "пользователем {{user}}",
|
|
3514
|
-
installedPackageId: "Пакет",
|
|
3515
|
-
cachedAs: "Кэшировано как <code>{{path}}</code>",
|
|
3742
|
+
installedAdditiveNote: "Удаление сразу убирает приложение из работающего ядра вместе с его наборами разрешений и их назначениями, а также удаляет кэшированный манифест, чтобы пакет не загружался при следующем запуске. Записи, хранящиеся в его объектах, остаются в базе данных.",
|
|
3516
3743
|
versionBadge: "v{{version}}",
|
|
3517
3744
|
installedBadge: "Установлено v{{version}}",
|
|
3745
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3746
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3747
|
+
notLoaded: {
|
|
3748
|
+
badge: "Не загружен",
|
|
3749
|
+
protocolIncompatible: "Рантайм не загрузил этот пакет: он рассчитан на протокол {{requiredRange}}, который этот рантайм не поддерживает.",
|
|
3750
|
+
otherReason: "Рантайм не загрузил этот пакет ({{code}}).",
|
|
3751
|
+
},
|
|
3518
3752
|
load: {
|
|
3519
3753
|
failed: "Не удалось загрузить маркетплейс",
|
|
3520
3754
|
failedHintConfigured: "Этот рантайм обращается к маркетплейсу через control plane по адресу {{url}}. Убедитесь, что он доступен и достижим отсюда.",
|
|
3521
|
-
failedHintSameOrigin: "
|
|
3755
|
+
failedHintSameOrigin: "Каталог маркетплейса доступен через этот рантайм. Убедитесь, что рантайм онлайн и имеет доступ к каталогу.",
|
|
3756
|
+
loading: "Загрузка каталога маркетплейса…",
|
|
3757
|
+
slow: "Всё ещё загружается — каталог маркетплейса медленно отвечает.",
|
|
3758
|
+
retry: "Повторить",
|
|
3759
|
+
unreachable: "Не удалось связаться с каталогом маркетплейса.",
|
|
3760
|
+
answeredError: "Каталог маркетплейса ответил ошибкой (HTTP {{status}}).",
|
|
3522
3761
|
packageFailed: "Не удалось загрузить пакет",
|
|
3523
3762
|
notFound: "Не найдено.",
|
|
3524
3763
|
},
|
|
@@ -3564,6 +3803,7 @@ const ru = {
|
|
|
3564
3803
|
working: "Обработка…",
|
|
3565
3804
|
installToCloud: "Установить в облако…",
|
|
3566
3805
|
installing: "Установка…",
|
|
3806
|
+
updating: "Обновление…",
|
|
3567
3807
|
uninstall: "Удалить",
|
|
3568
3808
|
uninstalling: "Удаление…",
|
|
3569
3809
|
details: "Подробности",
|
|
@@ -3581,15 +3821,45 @@ const ru = {
|
|
|
3581
3821
|
environmentPlaceholder: "Выбрать среду",
|
|
3582
3822
|
includeSampleData: "Включить образцы данных",
|
|
3583
3823
|
noEnvs: "В активной организации нет сред.",
|
|
3584
|
-
noPermission: "Нет прав на установку. Только владельцы и администраторы могут
|
|
3824
|
+
noPermission: "Нет прав на установку. Только владельцы и администраторы организации могут устанавливать — обратитесь к администратору вашей организации.",
|
|
3585
3825
|
signInFirst: "Сначала войдите в ObjectStack Cloud.",
|
|
3586
3826
|
success: "Установлено. Откройте среду, чтобы увидеть новое приложение.",
|
|
3587
3827
|
localSuccess: "v{{version}} установлено. \"{{name}}\" должно появиться в переключателе.",
|
|
3828
|
+
localLoadsAtRestart: "v{{version}} установлено. \"{{name}}\" загрузится при следующем перезапуске среды выполнения и до этого не появится в переключателе.",
|
|
3588
3829
|
localManifestConflict: "{{message}}\nПримечание: Локальное приложение уже имеет этот manifest_id. Сначала удалите его из objectstack.config.ts.",
|
|
3589
3830
|
localUnauthorized: "Сначала войдите в этот рантайм.",
|
|
3590
3831
|
localMarketplaceUnavailable: "OS_CLOUD_URL не настроен.",
|
|
3591
3832
|
updateTo: "Обновить → v{{version}}",
|
|
3592
3833
|
installedVersion: "Установлено v{{version}}",
|
|
3834
|
+
deploying: "Развёртывание приложения…",
|
|
3835
|
+
deployed: "Приложение развёрнуто и готово к работе.",
|
|
3836
|
+
openApp: "Открыть {{name}}",
|
|
3837
|
+
deployTimeout: "Установка записана, но эта среда пока не предоставляет приложение. Возможно, развёртывание ещё идёт — проверьте снова чуть позже. Если оно так и не появится, пакет мог не загрузиться, не содержать приложения или требовать разрешение, которого у вас нет.",
|
|
3838
|
+
checkAgain: "Проверить снова",
|
|
3839
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3840
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3841
|
+
mode: {
|
|
3842
|
+
label: "Способ установки",
|
|
3843
|
+
managed: "Управляемая",
|
|
3844
|
+
managedHint: "Пакет остаётся источником истины: он регистрируется как код, получает свои обновления, а его элементы здесь не редактируются.",
|
|
3845
|
+
unmanaged: "Неуправляемая копия",
|
|
3846
|
+
unmanagedHint: "Однократно копируется в эту среду выполнения как её собственные метаданные: каждый элемент здесь можно редактировать, а копия не получает обновлений.",
|
|
3847
|
+
required: "Выберите способ установки, чтобы установить этот пакет.",
|
|
3848
|
+
},
|
|
3849
|
+
unmanagedSuccess: "v{{version}} пакета \"{{name}}\" скопирована в эту среду выполнения как её собственные метаданные, в базу {{base}}. Копию можно редактировать, обновлений она не получает.",
|
|
3850
|
+
unmanagedStrippedLocks: "Пакет блокировал эти элементы. Копию можно редактировать, поэтому их блокировки не скопированы:",
|
|
3851
|
+
unmanagedIgnored: "Эта среда выполнения не поддерживает неуправляемую установку, поэтому \"{{name}}\" установлен как управляемый (зарегистрирован как код), а не скопирован. Обновите среду выполнения, затем удалите пакет и установите его снова как неуправляемую копию.",
|
|
3852
|
+
},
|
|
3853
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3854
|
+
// this environment holds (MarketplacePackagePage).
|
|
3855
|
+
update: {
|
|
3856
|
+
dialogTitle: "Обновить {{name}}",
|
|
3857
|
+
dialogDescCurrent: "Обновить копию, установленную в этой среде ({{host}}).",
|
|
3858
|
+
dialogDescPicker: "Выберите среду, в которой нужно обновить установленную копию. Требуется вход в ObjectStack Cloud.",
|
|
3859
|
+
majorNotice: "Это обновление основной версии (v{{fromMajor}} → v{{toMajor}}), оно может содержать несовместимые изменения.",
|
|
3860
|
+
releaseNotes: "Прочитать примечания к выпуску v{{version}}",
|
|
3861
|
+
success: "Обновлено до v{{version}}.",
|
|
3862
|
+
deployTimeout: "Обновление записано, но эта среда пока не предоставляет v{{version}}. Возможно, развёртывание ещё идёт — проверьте снова чуть позже.",
|
|
3593
3863
|
},
|
|
3594
3864
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
3595
3865
|
org: {
|
|
@@ -3622,9 +3892,11 @@ const ru = {
|
|
|
3622
3892
|
},
|
|
3623
3893
|
},
|
|
3624
3894
|
uninstall: {
|
|
3625
|
-
confirm: "Удалить {{manifestId}} v{{version}}?\n\n
|
|
3626
|
-
successInList: "{{manifestId}}
|
|
3627
|
-
successInDetail: "
|
|
3895
|
+
confirm: "Удалить {{manifestId}} v{{version}}?\n\nПриложение сразу будет убрано из работающего ядра вместе с его наборами разрешений и их назначениями, а кэшированный манифест будет удалён. Записи, хранящиеся в его объектах, остаются в базе данных.",
|
|
3896
|
+
successInList: "{{manifestId}} удалён: приложение убрано из работающего ядра вместе с его наборами разрешений и их назначениями. Записи, хранящиеся в его объектах, остаются в базе данных.",
|
|
3897
|
+
successInDetail: "{{manifestId}} и его кэшированный манифест удалены: приложение убрано из работающего ядра вместе с его наборами разрешений и их назначениями. Записи, хранящиеся в его объектах, остаются в базе данных.",
|
|
3898
|
+
confirmNotLoaded: "Удалить {{manifestId}} v{{version}}?\n\nКэшированный манифест будет удалён. Рантайм не загружал этот пакет, поэтому ничего из него не запущено.",
|
|
3899
|
+
successNotLoaded: "{{manifestId}} удалён. Пакет не был загружен, перезапуск не требуется.",
|
|
3628
3900
|
},
|
|
3629
3901
|
accessDenied: {
|
|
3630
3902
|
title: "Только для администраторов",
|
|
@@ -3708,6 +3980,7 @@ const ru = {
|
|
|
3708
3980
|
progressEligible_other: 'Доступных согласующих: {{count}}',
|
|
3709
3981
|
progressBar: 'Ход решения',
|
|
3710
3982
|
declaredActions: 'Действия',
|
|
3983
|
+
decisionPanelOffRequestPage: 'Панель решения по согласованию работает только на страницах запросов на согласование.',
|
|
3711
3984
|
attachmentChip: 'Вложение',
|
|
3712
3985
|
attachmentOpenFailed: 'Не удалось открыть вложение — попробуйте ещё раз',
|
|
3713
3986
|
approveOneTitle: 'Согласовать «{{title}}»?',
|
|
@@ -3775,6 +4048,11 @@ const ru = {
|
|
|
3775
4048
|
emptyPending: 'Всё обработано — ничего не ожидает вашего решения.',
|
|
3776
4049
|
emptyOther: 'Здесь пока пусто.',
|
|
3777
4050
|
emptyViewAll: 'Все запросы',
|
|
4051
|
+
waitingOnOthers: "{{count}} запроса ожидают других согласующих",
|
|
4052
|
+
waitingOnOthers_one: "{{count}} запрос ожидает других согласующих",
|
|
4053
|
+
waitingOnOthers_few: "{{count}} запроса ожидают других согласующих",
|
|
4054
|
+
waitingOnOthers_many: "{{count}} запросов ожидают других согласующих",
|
|
4055
|
+
waitingOnOthers_other: "{{count}} запроса ожидают других согласующих",
|
|
3778
4056
|
noMatches: 'Нет совпадений с текущими фильтрами.',
|
|
3779
4057
|
keyboardHint: 'Клавиши: j/k перемещение · Enter открыть · x выбрать · a согласовать · r отклонить',
|
|
3780
4058
|
drawerTitle: 'Запрос на согласование',
|
|
@@ -3792,12 +4070,12 @@ const ru = {
|
|
|
3792
4070
|
overrideActionLabel: '{{action}} (по праву администратора)',
|
|
3793
4071
|
overrideNotice: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг будет немедленно завершён, а все согласующие, ещё не принявшие решение, будут пропущены. Решение будет записано как административное переопределение.',
|
|
3794
4072
|
overrideNoticeWho: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг будет немедленно завершён, а согласующие, ещё не принявшие решение, будут пропущены — {{who}}. Решение будет записано как административное переопределение.',
|
|
4073
|
+
overrideReassignNotice: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг перейдёт выбранному вами новому согласующему, а все согласующие, ещё не принявшие решение, будут заменены. Запрос останется в ожидании решения нового согласующего. Передача будет записана как административное переопределение.',
|
|
4074
|
+
overrideReassignNoticeWho: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг перейдёт выбранному вами новому согласующему, а согласующие, ещё не принявшие решение, будут заменены — {{who}}. Запрос останется в ожидании решения нового согласующего. Передача будет записана как административное переопределение.',
|
|
4075
|
+
overrideRecallNotice: 'Вы не отправляли этот запрос. Продолжив, вы воспользуетесь правом администратора: запрос будет отозван, согласующие, ещё не принявшие решение, больше не смогут по нему действовать, а запись будет разблокирована.',
|
|
4076
|
+
overrideRecallNoticeWho: 'Вы не отправляли этот запрос. Продолжив, вы воспользуетесь правом администратора: запрос будет отозван, запись будет разблокирована, а согласующие, ещё не принявшие решение, больше не смогут по нему действовать — {{who}}.',
|
|
3795
4077
|
viaOverrideChip: 'Переопределение администратора',
|
|
3796
4078
|
viaOverrideHint: 'У исполнителя не было места согласующего на этом шаге — допущен по пути административного переопределения.',
|
|
3797
|
-
rawData: 'Исходные данные (JSON)',
|
|
3798
|
-
copy: 'Копировать',
|
|
3799
|
-
copied: 'Скопировано',
|
|
3800
|
-
copyFailed: 'Не удалось скопировать',
|
|
3801
4079
|
overrideActor: 'Действовать от другого имени (админ)',
|
|
3802
4080
|
actor: 'Идентичность',
|
|
3803
4081
|
auto: 'Авто',
|
|
@@ -3893,6 +4171,11 @@ const ru = {
|
|
|
3893
4171
|
publishing: 'Публикация…',
|
|
3894
4172
|
exit: 'Выйти из предпросмотра',
|
|
3895
4173
|
changes: 'Изменения',
|
|
4174
|
+
pendingHere: 'Предпросмотр черновика · {{count}} неопубликованных изменений на этой странице',
|
|
4175
|
+
pendingHere_one: 'Предпросмотр черновика · {{count}} неопубликованное изменение на этой странице',
|
|
4176
|
+
pendingHere_few: 'Предпросмотр черновика · {{count}} неопубликованных изменения на этой странице',
|
|
4177
|
+
pendingHere_many: 'Предпросмотр черновика · {{count}} неопубликованных изменений на этой странице',
|
|
4178
|
+
pendingHere_other: 'Предпросмотр черновика · {{count}} неопубликованного изменения на этой странице',
|
|
3896
4179
|
},
|
|
3897
4180
|
changes: {
|
|
3898
4181
|
title: 'Ожидающие изменения',
|
|
@@ -3911,7 +4194,85 @@ const ru = {
|
|
|
3911
4194
|
confirmNote_few: 'Публикация атомарно выпускает все {{count}} ожидающих черновика этого пакета.',
|
|
3912
4195
|
confirmNote_many: 'Публикация атомарно выпускает все {{count}} ожидающих черновиков этого пакета.',
|
|
3913
4196
|
confirmNote_other: 'Публикация атомарно выпускает {{count}} ожидающего черновика этого пакета.',
|
|
4197
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
4198
|
+
// draft publishes by itself and one that fails stays pending.
|
|
4199
|
+
confirmNoteSeparate: 'Публикация выпускает {{count}} ожидающих черновиков по отдельности: черновик, который не удастся опубликовать, останется ожидающим, а остальные всё равно будут опубликованы.',
|
|
4200
|
+
confirmNoteSeparate_one: 'Публикация выпускает {{count}} ожидающий черновик по отдельности: тот, который не удастся опубликовать, останется ожидающим.',
|
|
4201
|
+
confirmNoteSeparate_few: 'Публикация выпускает {{count}} ожидающих черновика по отдельности: черновик, который не удастся опубликовать, останется ожидающим, а остальные всё равно будут опубликованы.',
|
|
4202
|
+
confirmNoteSeparate_many: 'Публикация выпускает {{count}} ожидающих черновиков по отдельности: черновик, который не удастся опубликовать, останется ожидающим, а остальные всё равно будут опубликованы.',
|
|
4203
|
+
confirmNoteSeparate_other: 'Публикация выпускает {{count}} ожидающего черновика по отдельности: черновик, который не удастся опубликовать, останется ожидающим, а остальные всё равно будут опубликованы.',
|
|
3914
4204
|
publishConfirm: 'Опубликовать всё',
|
|
4205
|
+
summaryItems: '{{count}} элементов',
|
|
4206
|
+
summaryItems_one: '{{count}} элемент',
|
|
4207
|
+
summaryItems_few: '{{count}} элемента',
|
|
4208
|
+
summaryItems_many: '{{count}} элементов',
|
|
4209
|
+
summaryItems_other: '{{count}} элемента',
|
|
4210
|
+
summaryType: '{{type}}: {{n}}',
|
|
4211
|
+
typeCount: {
|
|
4212
|
+
object: 'Объекты: {{count}}',
|
|
4213
|
+
object_one: 'Объект: {{count}}',
|
|
4214
|
+
object_few: 'Объекты: {{count}}',
|
|
4215
|
+
object_many: 'Объекты: {{count}}',
|
|
4216
|
+
object_other: 'Объекты: {{count}}',
|
|
4217
|
+
view: 'Представления: {{count}}',
|
|
4218
|
+
view_one: 'Представление: {{count}}',
|
|
4219
|
+
view_few: 'Представления: {{count}}',
|
|
4220
|
+
view_many: 'Представления: {{count}}',
|
|
4221
|
+
view_other: 'Представления: {{count}}',
|
|
4222
|
+
page: 'Страницы: {{count}}',
|
|
4223
|
+
page_one: 'Страница: {{count}}',
|
|
4224
|
+
page_few: 'Страницы: {{count}}',
|
|
4225
|
+
page_many: 'Страницы: {{count}}',
|
|
4226
|
+
page_other: 'Страницы: {{count}}',
|
|
4227
|
+
dashboard: 'Панели мониторинга: {{count}}',
|
|
4228
|
+
dashboard_one: 'Панель мониторинга: {{count}}',
|
|
4229
|
+
dashboard_few: 'Панели мониторинга: {{count}}',
|
|
4230
|
+
dashboard_many: 'Панели мониторинга: {{count}}',
|
|
4231
|
+
dashboard_other: 'Панели мониторинга: {{count}}',
|
|
4232
|
+
app: 'Приложения: {{count}}',
|
|
4233
|
+
app_one: 'Приложение: {{count}}',
|
|
4234
|
+
app_few: 'Приложения: {{count}}',
|
|
4235
|
+
app_many: 'Приложения: {{count}}',
|
|
4236
|
+
app_other: 'Приложения: {{count}}',
|
|
4237
|
+
action: 'Действия: {{count}}',
|
|
4238
|
+
action_one: 'Действие: {{count}}',
|
|
4239
|
+
action_few: 'Действия: {{count}}',
|
|
4240
|
+
action_many: 'Действия: {{count}}',
|
|
4241
|
+
action_other: 'Действия: {{count}}',
|
|
4242
|
+
report: 'Отчёты: {{count}}',
|
|
4243
|
+
report_one: 'Отчёт: {{count}}',
|
|
4244
|
+
report_few: 'Отчёты: {{count}}',
|
|
4245
|
+
report_many: 'Отчёты: {{count}}',
|
|
4246
|
+
report_other: 'Отчёты: {{count}}',
|
|
4247
|
+
flow: 'Потоки: {{count}}',
|
|
4248
|
+
flow_one: 'Поток: {{count}}',
|
|
4249
|
+
flow_few: 'Потоки: {{count}}',
|
|
4250
|
+
flow_many: 'Потоки: {{count}}',
|
|
4251
|
+
flow_other: 'Потоки: {{count}}',
|
|
4252
|
+
permission: 'Наборы разрешений: {{count}}',
|
|
4253
|
+
permission_one: 'Набор разрешений: {{count}}',
|
|
4254
|
+
permission_few: 'Наборы разрешений: {{count}}',
|
|
4255
|
+
permission_many: 'Наборы разрешений: {{count}}',
|
|
4256
|
+
permission_other: 'Наборы разрешений: {{count}}',
|
|
4257
|
+
agent: 'Агенты: {{count}}',
|
|
4258
|
+
agent_one: 'Агент: {{count}}',
|
|
4259
|
+
agent_few: 'Агенты: {{count}}',
|
|
4260
|
+
agent_many: 'Агенты: {{count}}',
|
|
4261
|
+
agent_other: 'Агенты: {{count}}',
|
|
4262
|
+
email_template: 'Шаблоны писем: {{count}}',
|
|
4263
|
+
email_template_one: 'Шаблон письма: {{count}}',
|
|
4264
|
+
email_template_few: 'Шаблоны писем: {{count}}',
|
|
4265
|
+
email_template_many: 'Шаблоны писем: {{count}}',
|
|
4266
|
+
email_template_other: 'Шаблоны писем: {{count}}',
|
|
4267
|
+
},
|
|
4268
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
4269
|
+
// literal default the batch publish can write into the existing records.
|
|
4270
|
+
backfillOption: 'Заполнить значением по умолчанию ({{count}} существующих записей)',
|
|
4271
|
+
backfillOption_one: 'Заполнить значением по умолчанию ({{count}} существующая запись)',
|
|
4272
|
+
backfillOption_few: 'Заполнить значением по умолчанию ({{count}} существующие записи)',
|
|
4273
|
+
backfillOption_many: 'Заполнить значением по умолчанию ({{count}} существующих записей)',
|
|
4274
|
+
backfillOption_other: 'Заполнить значением по умолчанию ({{count}} существующей записи)',
|
|
4275
|
+
backfillOptionNoCount: 'Заполнить значением по умолчанию',
|
|
3915
4276
|
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3916
4277
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3917
4278
|
// the click rather than as a toast after the batch rolled back.
|
|
@@ -3995,6 +4356,10 @@ const ru = {
|
|
|
3995
4356
|
exists: "Задано",
|
|
3996
4357
|
notExists: "Не задано",
|
|
3997
4358
|
},
|
|
4359
|
+
emptyCheckHint: {
|
|
4360
|
+
text: '«{{isEmpty}}» также находит пустой текст; «{{isNull}}» — только отсутствующее значение.',
|
|
4361
|
+
list: '«{{isEmpty}}» также находит пустой список; «{{isNull}}» — только отсутствующее значение.',
|
|
4362
|
+
},
|
|
3998
4363
|
},
|
|
3999
4364
|
sortBuilder: {
|
|
4000
4365
|
sortBy: "Сортировать по",
|
|
@@ -4119,6 +4484,8 @@ const ru = {
|
|
|
4119
4484
|
setDefaultFailed: "Не удалось установить приложение по умолчанию: {{reason}}",
|
|
4120
4485
|
appDeleted: "{{name}} удалено",
|
|
4121
4486
|
deleteFailed: "Не удалось удалить приложение: {{reason}}",
|
|
4487
|
+
nothingToDelete: "Нечего удалять для {{name}}: {{reason}}",
|
|
4488
|
+
alreadyAtDefault: "оно уже соответствует значению по умолчанию из пакета",
|
|
4122
4489
|
bulkEnabled: "Включено приложений: {{n}}",
|
|
4123
4490
|
bulkDisabled: "Отключено приложений: {{n}}",
|
|
4124
4491
|
bulkFailed: "Не удалось для {{n}}: {{details}}",
|
|
@@ -4143,6 +4510,7 @@ const ru = {
|
|
|
4143
4510
|
toggleLabel: "Активация для {{label}}",
|
|
4144
4511
|
on: "Вкл.",
|
|
4145
4512
|
off: "Выкл.",
|
|
4513
|
+
notRunning: "Здесь не выполняется",
|
|
4146
4514
|
clone: "Клонировать",
|
|
4147
4515
|
cloneTitle: "Клонировать поток из пакета",
|
|
4148
4516
|
cloneBody: "Копия сохраняет определение целиком и требует нового машинного имени и метки. Редактируйте копию в Studio.",
|
|
@@ -4151,6 +4519,9 @@ const ru = {
|
|
|
4151
4519
|
cancel: "Отмена",
|
|
4152
4520
|
cloneConfirm: "Создать клон",
|
|
4153
4521
|
cloneCreated: "Поток «{{name}}» создан.",
|
|
4522
|
+
cloneSwitchSourceOff: "Выключить «{{label}}»",
|
|
4523
|
+
cloneSourceOff: "Пакетный поток «{{label}}» выключен.",
|
|
4524
|
+
cloneOpen: "Открыть копию в Studio",
|
|
4154
4525
|
emptyTitle: "Нет потоков из пакетов",
|
|
4155
4526
|
emptyBody: "В этой установке ни один установленный пакет не поставляет поток автоматизации. Потоки, которые вы создаёте сами, находятся в Studio.",
|
|
4156
4527
|
loadFailed: "Не удалось загрузить автоматизацию из пакетов.",
|
|
@@ -4158,6 +4529,7 @@ const ru = {
|
|
|
4158
4529
|
toggleFailed: "Не удалось изменить активацию.",
|
|
4159
4530
|
cloneFailedHttp: "Не удалось клонировать этот поток (HTTP {{status}}).",
|
|
4160
4531
|
cloneFailed: "Не удалось клонировать этот поток.",
|
|
4532
|
+
reasonDetails: "Подробности",
|
|
4161
4533
|
actionsSubtitle: "Действия, поставляемые установленными пакетами. Отключите действие в этой установке — и оно перестанет выполняться везде, где предлагается. Создать рядом собственное действие по-прежнему можно в Studio.",
|
|
4162
4534
|
colAction: "Действие",
|
|
4163
4535
|
colObject: "Объект",
|
|
@@ -4168,7 +4540,84 @@ const ru = {
|
|
|
4168
4540
|
},
|
|
4169
4541
|
element: {
|
|
4170
4542
|
number: {
|
|
4171
|
-
noObject: "Объект не указан: задайте
|
|
4543
|
+
noObject: "Объект не указан: задайте dataSource.object.",
|
|
4544
|
+
sourceUnresolved: "Не удалось определить источник данных этого показателя",
|
|
4545
|
+
},
|
|
4546
|
+
image: {
|
|
4547
|
+
noSource: "Нет источника изображения",
|
|
4548
|
+
},
|
|
4549
|
+
recordPicker: {
|
|
4550
|
+
sourceUnresolved: "Не удалось определить источник данных этого выбора записи",
|
|
4551
|
+
},
|
|
4552
|
+
calendar: {
|
|
4553
|
+
sourceUnresolved: "Не удалось определить источник данных этого календаря",
|
|
4554
|
+
},
|
|
4555
|
+
chart: {
|
|
4556
|
+
sourceUnresolved: "Не удалось определить источник данных этой диаграммы",
|
|
4557
|
+
},
|
|
4558
|
+
pivotTable: {
|
|
4559
|
+
sourceUnresolved: "Не удалось определить источник данных этой сводной таблицы",
|
|
4560
|
+
},
|
|
4561
|
+
detailView: {
|
|
4562
|
+
sourceUnresolved: "Не удалось определить источник данных этого подробного представления",
|
|
4563
|
+
},
|
|
4564
|
+
relatedList: {
|
|
4565
|
+
sourceUnresolved: "Не удалось определить источник данных этого связанного списка",
|
|
4566
|
+
parentUnreadable: "Не удалось прочитать родительскую запись этого связанного списка",
|
|
4567
|
+
},
|
|
4568
|
+
form: {
|
|
4569
|
+
sourceUnresolved: "Не удалось определить источник данных этой формы",
|
|
4570
|
+
},
|
|
4571
|
+
lineItems: {
|
|
4572
|
+
sourceUnresolved: "Не удалось определить источник данных этой панели позиций",
|
|
4573
|
+
},
|
|
4574
|
+
gantt: {
|
|
4575
|
+
sourceUnresolved: "Не удалось определить источник данных этой диаграммы Ганта",
|
|
4576
|
+
},
|
|
4577
|
+
grid: {
|
|
4578
|
+
sourceUnresolved: "Не удалось определить источник данных этой сетки",
|
|
4579
|
+
},
|
|
4580
|
+
board: {
|
|
4581
|
+
sourceUnresolved: "Не удалось определить источник данных этой доски",
|
|
4582
|
+
},
|
|
4583
|
+
listView: {
|
|
4584
|
+
sourceUnresolved: "Не удалось определить источник данных этого представления списка",
|
|
4585
|
+
},
|
|
4586
|
+
map: {
|
|
4587
|
+
sourceUnresolved: "Не удалось определить источник данных этой карты",
|
|
4588
|
+
},
|
|
4589
|
+
timeline: {
|
|
4590
|
+
sourceUnresolved: "Не удалось определить источник данных этой временной шкалы",
|
|
4591
|
+
},
|
|
4592
|
+
component: {
|
|
4593
|
+
sourceUnresolved: "Не удалось определить источник данных этого компонента",
|
|
4594
|
+
noDataSource: "Источник данных не определён",
|
|
4595
|
+
apiRefused: "Источник данных API этого компонента отклонён",
|
|
4596
|
+
apiUnreadable: "Не удалось прочитать источник данных API этого компонента",
|
|
4597
|
+
},
|
|
4598
|
+
metadataViewer: {
|
|
4599
|
+
missingKey: "Для этого представления не задан {{key}}.",
|
|
4600
|
+
loading: "Загрузка {{name}}…",
|
|
4601
|
+
loadFailed: "Не удалось загрузить {{name}}: {{message}}",
|
|
4602
|
+
notFound: "{{name}} не найден.",
|
|
4603
|
+
stateMachine: "Конечный автомат",
|
|
4604
|
+
flow: "Процесс",
|
|
4605
|
+
permission: "Разрешение",
|
|
4606
|
+
noStateMachine: "На {{object}} нет конечного автомата.",
|
|
4607
|
+
noStateMachineNamed: "На {{object}} нет конечного автомата с именем «{{name}}».",
|
|
4608
|
+
lifecycle: "Жизненный цикл {{object}}",
|
|
4609
|
+
field: "поле {{field}}",
|
|
4610
|
+
initial: "начальное",
|
|
4611
|
+
final: "конечное",
|
|
4612
|
+
steps: "Шаги: {{count}}",
|
|
4613
|
+
noSteps: "Нет шагов для отображения.",
|
|
4614
|
+
untitledStep: "(шаг)",
|
|
4615
|
+
hiddenSteps: "Скрыто технических шагов: {{count}} · задайте {{setting}}, чтобы показать все",
|
|
4616
|
+
objectAccess: "Доступ к объектам: {{count}}",
|
|
4617
|
+
noPermissions: "Разрешения на объекты не объявлены.",
|
|
4618
|
+
object: "Объект",
|
|
4619
|
+
unknownType: "Неизвестный тип представления метаданных. Ожидается {{a}}, {{b}} или {{c}}.",
|
|
4620
|
+
unknownTypeNamed: "Неизвестный тип представления метаданных «{{type}}». Ожидается {{a}}, {{b}} или {{c}}.",
|
|
4172
4621
|
},
|
|
4173
4622
|
},
|
|
4174
4623
|
};
|