@object-ui/i18n 17.5.0 → 17.6.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.
@@ -88,6 +88,7 @@ const ru = {
88
88
  removeFromFavorites: "Удалить из избранного",
89
89
  loading: "Загрузка…",
90
90
  save: "Сохранить",
91
+ discard: "Отменить",
91
92
  cancel: "Отмена",
92
93
  delete: "Удалить",
93
94
  edit: "Редактировать",
@@ -267,6 +268,14 @@ const ru = {
267
268
  tags: {
268
269
  placeholder: "Введите и нажмите Enter, чтобы добавить…",
269
270
  },
271
+ // objectui#4028 — `AddressField`'s five sub-labels.
272
+ address: {
273
+ street: "Улица и дом",
274
+ city: "Город",
275
+ state: "Область / штат",
276
+ postalCode: "Почтовый индекс",
277
+ country: "Страна",
278
+ },
270
279
  textarea: {
271
280
  characterCount: "Количество символов: {{count}} из {{max}}",
272
281
  charactersRemaining: "Осталось символов: {{count}}",
@@ -912,6 +921,10 @@ const ru = {
912
921
  attachmentDownloadDenied: "У вас нет доступа для скачивания этого вложения.",
913
922
  attachmentAuthRequired: "Войдите в систему, чтобы скачать это вложение.",
914
923
  attachmentPermissionDenied: "У вас нет разрешения на это действие.",
924
+ attachmentsAccessDenied: "У вас нет доступа к этим вложениям.",
925
+ attachmentsLoadFailed: "Не удалось загрузить вложения этой записи.",
926
+ attachmentsApiUnavailable: "Список вложений недоступен для этого объекта.",
927
+ retryLoadAttachments: "Повторить",
915
928
  unifiedDiff: "Единое представление",
916
929
  sideBySideDiff: "Параллельное представление",
917
930
  noChanges: "Нет изменений",
@@ -963,6 +976,8 @@ const ru = {
963
976
  writeStrippedTitle: "Сохранено, но часть полей не применена",
964
977
  writeStrippedReadonly: "Поля только для чтения, поэтому не применены: {{fields}}",
965
978
  writeStrippedByState: "Поля недоступны для редактирования в текущем состоянии записи, поэтому не применены: {{fields}}",
979
+ writeStrippedPrimaryKey: "Идентификатор записи нельзя изменить при сохранении, поэтому поля не применены: {{fields}}",
980
+ writeStrippedUnknownReason: "Не применены сервером: {{fields}}",
966
981
  approvalPendingEditable: "На согласовании · редактирование доступно",
967
982
  approvalPendingTooltip: "У этой записи есть ожидающий запрос на согласование, но этот шаг всё ещё разрешает редактирование",
968
983
  approvalProgress: "Согласования — {{got}} из {{need}}",
@@ -975,6 +990,13 @@ const ru = {
975
990
  cancelApprovalTooltipUnlocked: "Отменить ожидающий запрос на согласование",
976
991
  cancelApprovalFailed: "Не удалось отменить согласование",
977
992
  cancelApprovalUnavailable: "Отмена согласований не поддерживается этим источником данных",
993
+ pathLabel: 'Путь записи',
994
+ pathStageCompleted: '{{stage}}, завершён',
995
+ pathStageCurrent: '{{stage}}, текущий этап',
996
+ pathStageUpcoming: '{{stage}}, предстоит',
997
+ pathStageLostCurrent: '{{stage}}, проигран, текущий этап',
998
+ pathStageLostUpcoming: '{{stage}}, проигран, не достигнут',
999
+ pathStageWonUpcoming: '{{stage}}, целевой этап, не достигнут',
978
1000
  linkCopied: "Ссылка скопирована в буфер обмена",
979
1001
  linkCopyFailed: "Не удалось скопировать ссылку",
980
1002
  cancel: "Отмена",
@@ -1024,66 +1046,6 @@ const ru = {
1024
1046
  invalidCoordinates: "{{count}} запись с отсутствующими или недействительными координатами исключена из карты.",
1025
1047
  invalidCoordinatesPlural: "{{count}} записей с отсутствующими или недействительными координатами исключены из карты.",
1026
1048
  },
1027
- workflow: {
1028
- draft: "Черновик",
1029
- active: "Активный",
1030
- paused: "Приостановлен",
1031
- completed: "Завершён",
1032
- cancelled: "Отменён",
1033
- save: "Сохранить",
1034
- publish: "Опубликовать",
1035
- addNode: "Добавить узел",
1036
- workflowFlow: "Рабочий процесс",
1037
- properties: "Свойства",
1038
- connections: "Соединения",
1039
- quickConnect: "Быстрое соединение",
1040
- fromPlaceholder: "От…",
1041
- toPlaceholder: "К…",
1042
- connect: "Соединить",
1043
- label: "Метка",
1044
- type: "Тип",
1045
- description: "Описание",
1046
- assignee: "Ответственный",
1047
- assigneeType: "Тип ответственного",
1048
- user: "Пользователь",
1049
- role: "Роль",
1050
- group: "Группа",
1051
- expression: "Выражение",
1052
- timeoutMinutes: "Тайм-аут (минуты)",
1053
- selectNodeToEdit: "Выберите узел для редактирования его свойств",
1054
- workflowTitle: "Название рабочего процесса",
1055
- newWorkflow: "Новый рабочий процесс",
1056
- outConnections: "{{count}} выходов",
1057
- start: "Начало",
1058
- end: "Конец",
1059
- task: "Задача",
1060
- userTask: "Задача пользователя",
1061
- serviceTask: "Сервисная задача",
1062
- scriptTask: "Скриптовая задача",
1063
- approval: "Одобрение",
1064
- condition: "Условие",
1065
- parallelGateway: "Параллельный шлюз",
1066
- joinGateway: "Шлюз объединения",
1067
- boundaryEvent: "Граничное событие",
1068
- delay: "Задержка",
1069
- notification: "Уведомление",
1070
- webhook: "Webhook",
1071
- allowConcurrency: "Разрешить (параллельное выполнение)",
1072
- forbidConcurrency: "Запретить (пропустить новые)",
1073
- replaceConcurrency: "Заменить (отменить текущие)",
1074
- queueConcurrency: "Очередь (выполнить после текущего)",
1075
- conditionEvent: "Условие",
1076
- manualEvent: "Ручной",
1077
- webhookEvent: "Webhook",
1078
- timerEvent: "Таймер",
1079
- signalEvent: "Сигнал",
1080
- versionHistory: "История версий",
1081
- importBpmn: "Импорт BPMN",
1082
- exportBpmn: "Экспорт BPMN",
1083
- undo: "Отменить",
1084
- redo: "Повторить",
1085
- resetZoom: "Сбросить масштаб",
1086
- },
1087
1049
  dashboard: {
1088
1050
  noRows: "Нет строк",
1089
1051
  loading: "Загрузка…",
@@ -1123,6 +1085,105 @@ const ru = {
1123
1085
  total: "Итого",
1124
1086
  noDataAvailable: "Данные недоступны",
1125
1087
  noDataSourceFor: "Нет источника данных для",
1088
+ config: {
1089
+ breadcrumb: {
1090
+ dashboard: "Дашборд",
1091
+ configuration: "Конфигурация",
1092
+ widget: "Виджет",
1093
+ chart: "Диаграмма",
1094
+ table: "Таблица",
1095
+ pivotTable: "Сводная таблица",
1096
+ },
1097
+ section: {
1098
+ general: "Основные",
1099
+ layout: "Макет",
1100
+ data: "Данные",
1101
+ dataBinding: "Привязка данных",
1102
+ appearance: "Внешний вид",
1103
+ },
1104
+ field: {
1105
+ title: "Заголовок",
1106
+ description: "Описание",
1107
+ columns: "Столбцы",
1108
+ gap: "Отступ",
1109
+ rowHeight: "Высота строки (px)",
1110
+ autoRefresh: "Автообновление",
1111
+ showDescription: "Показать описание",
1112
+ theme: "Тема",
1113
+ widgetType: "Тип виджета",
1114
+ colorVariant: "Вариант цвета",
1115
+ dataset: "Набор данных",
1116
+ dimensions: "Измерения",
1117
+ values: "Значения",
1118
+ width: "Ширина (столбцы)",
1119
+ height: "Высота (строки)",
1120
+ },
1121
+ placeholder: {
1122
+ dashboardTitle: "Заголовок дашборда",
1123
+ dashboardDescription: "Краткое описание под заголовком",
1124
+ widgetTitle: "Заголовок виджета",
1125
+ widgetDescription: "Описание виджета",
1126
+ datasetName: "Имя набора данных",
1127
+ selectDataset: "Выберите набор данных…",
1128
+ searchDatasets: "Поиск наборов данных…",
1129
+ addDimension: "Добавить измерение…",
1130
+ addMeasure: "Добавить меру…",
1131
+ searchMembers: "Поиск…",
1132
+ },
1133
+ empty: {
1134
+ datasets: "Наборы данных не найдены.",
1135
+ dimensions: "Измерения не выбраны.",
1136
+ measures: "Меры не выбраны.",
1137
+ nothingToAdd: "Больше нечего добавить.",
1138
+ },
1139
+ help: {
1140
+ dataset: "Набор данных семантического слоя, к которому привязан этот виджет (ADR-0021).",
1141
+ dimensions: "Группировать/разделять значения по этим измерениям набора данных.",
1142
+ dimensionsPivot: "Поля группировки/разделения. Последнее измерение разворачивается по столбцам.",
1143
+ values: "Меры из набора данных для отображения (хотя бы одна).",
1144
+ },
1145
+ action: {
1146
+ add: "Добавить",
1147
+ remove: "Удалить {{name}}",
1148
+ },
1149
+ refresh: {
1150
+ off: "Выкл.",
1151
+ every30s: "Каждые 30 с",
1152
+ every1m: "Каждую 1 мин",
1153
+ every5m: "Каждые 5 мин",
1154
+ every15m: "Каждые 15 мин",
1155
+ every30m: "Каждые 30 мин",
1156
+ every1h: "Каждый 1 час",
1157
+ },
1158
+ themeOption: {
1159
+ light: "Светлая",
1160
+ dark: "Тёмная",
1161
+ auto: "Авто",
1162
+ },
1163
+ widgetType: {
1164
+ metric: "Метрика",
1165
+ bar: "Столбчатая диаграмма",
1166
+ horizontalBar: "Горизонтальная гистограмма",
1167
+ line: "Линейная диаграмма",
1168
+ pie: "Круговая диаграмма",
1169
+ donut: "Кольцевая диаграмма",
1170
+ area: "Диаграмма с областями",
1171
+ scatter: "Точечная диаграмма",
1172
+ funnel: "Воронка",
1173
+ table: "Таблица",
1174
+ pivot: "Сводная таблица",
1175
+ },
1176
+ color: {
1177
+ default: "По умолчанию",
1178
+ blue: "Синий",
1179
+ teal: "Бирюзовый",
1180
+ orange: "Оранжевый",
1181
+ purple: "Фиолетовый",
1182
+ success: "Успех",
1183
+ warning: "Предупреждение",
1184
+ danger: "Опасность",
1185
+ },
1186
+ },
1126
1187
  trend: {
1127
1188
  vsLastQuarter: "пред. квартал",
1128
1189
  vsLastMonth: "пред. месяц",
@@ -1132,24 +1193,6 @@ const ru = {
1132
1193
  vsPreviousPeriod: "пред. период",
1133
1194
  },
1134
1195
  },
1135
- configPanel: {
1136
- save: "Сохранить",
1137
- discard: "Отменить",
1138
- close: "Закрыть",
1139
- layout: "Макет",
1140
- columns: "Столбцы",
1141
- gap: "Отступ",
1142
- rowHeight: "Высота строки",
1143
- data: "Данные",
1144
- refreshInterval: "Интервал обновления",
1145
- appearance: "Внешний вид",
1146
- title: "Заголовок",
1147
- showDescription: "Показать описание",
1148
- theme: "Тема",
1149
- configuration: "Конфигурация",
1150
- general: "Основные",
1151
- advanced: "Дополнительно",
1152
- },
1153
1196
  appDesigner: {
1154
1197
  createApp: "Создать приложение",
1155
1198
  editApp: "Редактировать приложение",
@@ -1200,8 +1243,6 @@ const ru = {
1200
1243
  showSort: "Показать сортировку",
1201
1244
  appearance: "Внешний вид",
1202
1245
  rowHeight: "Высота строки",
1203
- stripedRows: "Чередующиеся строки",
1204
- bordered: "С рамкой",
1205
1246
  livePreview: "Предпросмотр в реальном времени",
1206
1247
  stepBasicDesc: "Имя, заголовок и макет",
1207
1248
  stepObjectsDesc: "Выбрать бизнес-объекты",
@@ -1315,7 +1356,6 @@ const ru = {
1315
1356
  unique: "Уникальное",
1316
1357
  readOnly: "Только чтение",
1317
1358
  hidden: "Скрытое",
1318
- indexed: "Индексированное",
1319
1359
  externalId: "Внешний ID",
1320
1360
  trackHistory: "Отслеживать историю",
1321
1361
  defaultValue: "Значение по умолчанию",
@@ -1389,6 +1429,15 @@ const ru = {
1389
1429
  passwordsDownload: "Скачать CSV",
1390
1430
  },
1391
1431
  ai: {
1432
+ pendingDrafts: {
1433
+ // Число вынесено в конец («…: {{count}}») — так этот пак пишет
1434
+ // количества, как в home.pendingDrafts.publishedVerified.
1435
+ count: "Ещё не опубликовано изменений: {{count}} — пользователи их не видят.",
1436
+ publish: "Опубликовать",
1437
+ published: "Все ожидающие изменения вступили в силу.",
1438
+ failed: "Не удалось опубликовать.",
1439
+ publishedWithFindings: "Опубликовано, но проверки среды выполнения выявили проблемы: {{detail}}",
1440
+ },
1392
1441
  usage: {
1393
1442
  title: "Использование ИИ",
1394
1443
  meterBuild: "Сборка",
@@ -1524,6 +1573,11 @@ const ru = {
1524
1573
  changesConfirmed: "Подтверждено",
1525
1574
  changesConfirm: "Подтвердить",
1526
1575
  changesConfirmHint: "Ответьте, чтобы подтвердить или скорректировать это изменение.",
1576
+ changesApplying: "Применение…",
1577
+ changesApplied: "Применено",
1578
+ changesDrafted: "Сохранено как черновик",
1579
+ changesFailed: "Не применено",
1580
+ discussing: "Обсуждается: {{target}}",
1527
1581
  changeVerb: {
1528
1582
  createObject: "Создать объект",
1529
1583
  addField: "Добавить поле",
@@ -1723,101 +1777,31 @@ const ru = {
1723
1777
  filterOrNotSavable: "Этот фильтр объединяет условия через ИЛИ, что сохранённое представление пока не может хранить. Он по-прежнему применяется к этому списку — уберите группировку ИЛИ, чтобы сохранить его в представлении.",
1724
1778
  filterNestedNotSavable: "Этот фильтр использует вложенные группы условий, которые сохранённое представление не может хранить. Преобразуйте его в один список условий, чтобы сохранить в представлении.",
1725
1779
  allRecords: "Все записи",
1726
- exitDesignMode: "Выйти из режима дизайна",
1727
- enterDesignMode: "Войти в режим дизайна",
1728
- metadataInspector: "Инспектор метаданных",
1729
- editView: "Редактировать представление",
1730
- addView: "Добавить представление",
1731
- designTools: "Инструменты дизайна",
1732
1780
  new: "Создать",
1733
1781
  configureView: "Настроить представление",
1734
- closePanel: "Закрыть панель",
1735
- page: "Страница",
1736
- pageConfigHint: "Панель инструментов, навигация и настройки оболочки представления",
1737
- listConfigHint: "Отрисовка данных, столбцы и внешний вид для этого типа списка",
1738
- general: "Общие",
1739
- generalHint: "Название, описание и тип представления",
1740
1782
  toolbar: "Панель инструментов",
1741
- toolbarHint: "Поиск, фильтр, сортировка, группировка и переключение плотности",
1742
1783
  toolbarEnabledCount: "{{count}} из {{total}} включено",
1743
- navigationSection: "Навигация",
1744
- navigationHint: "Поведение при нажатии на строку и настройки детального представления",
1745
- records: "Записи",
1746
- recordsHint: "Режим выбора, добавление записи и встроенное редактирование",
1747
- exportPrint: "Экспорт и печать",
1748
- exportPrintHint: "Форматы экспорта, печать и отображение количества записей",
1749
- showAllFields: "Показать все",
1750
- hideAllFields: "Скрыть все",
1751
1784
  searchFields: "Поиск полей…",
1752
1785
  title: "Заголовок",
1753
- description: "Описание",
1754
- data: "Данные",
1755
- source: "Источник",
1756
- columns: "Столбцы",
1757
- filterBy: "Фильтр по",
1758
- sortBy: "Сортировка по",
1759
- appearance: "Внешний вид",
1760
- showDescription: "Показать описание",
1761
1786
  viewType: "Тип представления",
1762
- userFilters: "Фильтры пользователя",
1763
- enableSearch: "Включить поиск",
1764
- enableFilter: "Включить фильтр",
1765
- enableSort: "Включить сортировку",
1766
- enableHideFields: "Включить скрытие полей",
1767
- enableGroup: "Включить группировку",
1768
- enableColor: "Включить цвет",
1769
- enableDensity: "Включить плотность",
1770
- userActions: "Действия пользователя",
1771
- addRecordViaForm: "Добавить записи через форму",
1772
- advanced: "Расширенные",
1773
- allowExport: "Разрешить экспорт",
1774
1787
  recordCount: "{{count}} записей",
1775
- noDescription: "Нет описания",
1776
- none: "Нет",
1777
- columnsConfigured: "{{count}} столбцов",
1778
1788
  save: "Сохранить",
1779
1789
  discard: "Отменить",
1780
1790
  createView: "Создать представление",
1781
1791
  newView: "Новое представление",
1782
- typeOptions: "Параметры типа",
1783
1792
  groupByField: "Поле группировки",
1784
1793
  startDateField: "Поле даты начала",
1785
1794
  titleField: "Поле заголовка",
1786
1795
  latitudeField: "Поле широты",
1787
1796
  longitudeField: "Поле долготы",
1788
1797
  imageField: "Поле изображения",
1789
- dateField: "Поле даты",
1790
1798
  selectField: "Выберите поле…",
1791
- gridOptionsHint: "Представление таблицы использует столбцы, настроенные выше.",
1792
1799
  groupBy: "Группировать по",
1793
- prefixField: "Поле префикса",
1794
- fields: "Поля",
1795
- fieldsVisible: "{{count}} видимых",
1796
- sortsCount: "{{count}} сортировок",
1797
- filtersCount: "{{count}} фильтров",
1798
1800
  endDateField: "Поле даты окончания",
1799
- color: "Цвет",
1800
- fieldTextColor: "Цвет текста поля",
1801
- rowHeight: "Высота строки",
1802
- wrapHeaders: "Перенос заголовков",
1803
- showFieldDescriptions: "Показать описания полей",
1804
- collapseAllByDefault: "Свернуть всё по умолчанию",
1805
- striped: "Полосатые строки",
1806
- bordered: "Ячейки с границами",
1807
- inlineEdit: "Редактировать записи встроенно",
1808
- addDeleteRecordsInline: "Добавлять/удалять записи встроенно",
1809
- clickIntoRecordDetails: "Нажмите для просмотра деталей записи",
1810
- navigationMode: "Режим навигации",
1811
- navigationWidth: "Ширина навигации",
1812
- navigationWidthHint: "Доступно для режимов навигации: выдвижная панель, модальное окно и разделённый вид",
1813
- openNewTab: "Открыть в новой вкладке",
1814
- openNewTabHint: "Доступно для режимов навигации: страница и новое окно",
1815
1801
  import: "Импорт",
1816
1802
  importTitle: "Импорт из CSV",
1817
1803
  importedToast: "{{count}} строк импортировано.",
1818
1804
  importedWithSkipped: "{{ok}} строк импортировано; {{skipped}} пропущено.",
1819
- showAdvancedSettings: "Показать расширенные настройки",
1820
- showFewerSettings: "Меньше настроек",
1821
1805
  createViewDesc: "Выберите тип представления и задайте ему имя. Все настройки можно изменить позже.",
1822
1806
  cancel: "Отмена",
1823
1807
  create: "Создать",
@@ -1865,58 +1849,9 @@ const ru = {
1865
1849
  xAxisFieldHelp: "Категориальное или временное измерение.",
1866
1850
  yAxisField: "Поле оси Y",
1867
1851
  yAxisFieldHelp: "Числовое поле для агрегации.",
1868
- selectionMode: "Режим выбора",
1869
- selectionNone: "Нет",
1870
- selectionSingle: "Одиночный",
1871
- selectionMultiple: "Множественный",
1872
- pageSize: "Размер страницы",
1873
- pageSizeOptions: "Варианты размера страницы",
1874
- exportFormats: "Форматы экспорта",
1875
- exportMaxRecords: "Макс. записей",
1876
- exportIncludeHeaders: "Включить заголовки",
1877
- exportFileNamePrefix: "Префикс имени файла",
1878
- searchableFields: "Поля для поиска",
1879
- filterableFields: "Поля для фильтрации",
1880
- resizableColumns: "Изменяемые столбцы",
1881
- densityCompact: "Компактный",
1882
- densityComfortable: "Обычный",
1883
- densitySpacious: "Просторный",
1884
- densityMode: "Режим плотности",
1885
- hiddenFields: "Скрытые поля",
1886
- rowActions: "Действия строки",
1887
- bulkActions: "Массовые действия",
1888
- sharing: "Общий доступ",
1889
- sharingEnabled: "Общий доступ включён",
1890
- sharingVisibility: "Видимость",
1891
- addRecordEnabled: "Добавление записей включено",
1892
- addRecordPosition: "Позиция",
1893
- addRecordMode: "Режим",
1894
- addRecordFormView: "Представление формы",
1895
- conditionalFormatting: "Условное форматирование",
1896
- addRule: "Добавить правило",
1897
- quickFilters: "Быстрые фильтры",
1898
- addQuickFilter: "Добавить быстрый фильтр",
1899
- ufElements: "Элементы",
1900
- ufDropdown: "Выпадающий список",
1901
1852
  ufTabs: "Вкладки",
1902
- ufToggle: "Переключатель",
1903
1853
  ufAddField: "+ Добавить поле фильтра…",
1904
- ufNoFields: "Поля недоступны",
1905
- ufAddTab: "+ Добавить вкладку",
1906
- ufTabLabel: "Метка",
1907
1854
  ufShowAllRecords: "Показать вкладку \"Все записи\"",
1908
- ufAllowAddTab: "Разрешить добавление вкладок",
1909
- showRecordCount: "Показать количество записей",
1910
- allowPrinting: "Разрешить печать",
1911
- virtualScroll: "Виртуальная прокрутка",
1912
- emptyStateTitle: "Заголовок пустого состояния",
1913
- emptyStateMessage: "Сообщение пустого состояния",
1914
- emptyStateIcon: "Значок пустого состояния",
1915
- ariaLabel: "Метка ARIA",
1916
- ariaDescribedBy: "Описано ARIA",
1917
- ariaLive: "ARIA Live",
1918
- accessibility: "Доступность",
1919
- viewTabs: "Вкладки представлений",
1920
1855
  },
1921
1856
  localeSwitcher: {
1922
1857
  label: "Язык",
@@ -2018,7 +1953,7 @@ const ru = {
2018
1953
  submitButton: "Отправить ссылку для сброса",
2019
1954
  submittingButton: "Отправка…",
2020
1955
  successTitle: "Проверьте почту",
2021
- successDescription: "Мы отправили ссылку для сброса пароля на {{email}}. Пожалуйста, проверьте свою почту.",
1956
+ successDescription: "Мы отправили ссылку для сброса пароля на {email}. Пожалуйста, проверьте свою почту.",
2022
1957
  backToSignInText: "Вернуться к входу",
2023
1958
  rememberPasswordText: "Помните свой пароль?",
2024
1959
  signInText: "Войти",
@@ -2293,10 +2228,12 @@ const ru = {
2293
2228
  build: {
2294
2229
  title: "Создать приложение",
2295
2230
  subtitle: "Начните с нуля — спроектируйте объекты, формы, автоматизации и интерфейсы.",
2231
+ noCapability: "Создание приложений недоступно в этом рабочем пространстве — для этого нужно разрешение «Управление метаданными», которого нет у вашей учётной записи.",
2296
2232
  },
2297
2233
  template: {
2298
2234
  title: "Начать с шаблона",
2299
2235
  subtitle: "Установите шаблонное приложение из маркетплейса и настройте его под себя.",
2236
+ marketplaceDisabled: "Для этого рантайма не настроен маркетплейс приложений, поэтому здесь нет шаблонов для установки.",
2300
2237
  },
2301
2238
  welcomeAdminDescription: "Опишите свой бизнес одним предложением — ИИ создаст объекты, экраны, API и инструменты агента. Либо настройте всё сами через меню слева.",
2302
2239
  welcomeAdminDescriptionNoBuild: "Настройте первое приложение через меню «Администрирование» слева. Когда появятся данные, ИИ-ассистент поможет их изучить.",
@@ -2480,21 +2417,6 @@ const ru = {
2480
2417
  recordNotFound: "Запись не найдена",
2481
2418
  recordNotFoundDescription: "Искомая запись не существует или была удалена.",
2482
2419
  },
2483
- renderer: {
2484
- noPageSchema: "Схема страницы не указана",
2485
- noFormSchema: "Схема формы не указана",
2486
- noDashboardSchema: "Схема панели не указана",
2487
- pageRendering: "Рендеринг страницы: {{name}}",
2488
- dashboardRendering: "Рендеринг панели: {{name}}",
2489
- formRenderingMode: "Форма в режиме {{mode}}",
2490
- formRenderingFor: "для записи {{id}}",
2491
- createRecord: "Создать запись",
2492
- editRecord: "Редактировать запись",
2493
- page: "Страница",
2494
- dashboard: "Панель",
2495
- save: "Сохранить",
2496
- cancel: "Отмена",
2497
- },
2498
2420
  actionDialog: {
2499
2421
  title: "Параметры действия",
2500
2422
  description: "Введите необходимую информацию для продолжения.",
@@ -2594,17 +2516,17 @@ const ru = {
2594
2516
  },
2595
2517
  organizations: {
2596
2518
  create: "Создать рабочее пространство",
2597
- mine: "Мои организации",
2598
- title: "Организации",
2599
- heading: "Ваши организации",
2600
- subtitle: "Выберите организацию, чтобы продолжить, или создайте новую.",
2601
- searchPlaceholder: "Поиск организации",
2602
- new: "Новая организация",
2603
- current: "Текущая организация",
2519
+ mine: "Мои рабочие пространства",
2520
+ title: "Рабочие пространства",
2521
+ heading: "Ваши рабочие пространства",
2522
+ subtitle: "Выберите рабочее пространство, чтобы продолжить, или создайте новое.",
2523
+ searchPlaceholder: "Поиск рабочего пространства",
2524
+ new: "Новое рабочее пространство",
2525
+ current: "Текущее рабочее пространство",
2604
2526
  manage: "Управление",
2605
- emptyTitle: "Пока нет организаций",
2606
- emptyDescription: "Создайте свою первую организацию, чтобы начать.",
2607
- noMatches: "Нет организаций, соответствующих запросу.",
2527
+ emptyTitle: "Пока нет рабочих пространств",
2528
+ emptyDescription: "Создайте своё первое рабочее пространство, чтобы начать.",
2529
+ noMatches: "Нет рабочих пространств, соответствующих запросу.",
2608
2530
  },
2609
2531
  organization: {
2610
2532
  roles: {
@@ -2733,6 +2655,9 @@ const ru = {
2733
2655
  declined: "Приглашение отклонено",
2734
2656
  declineFailed: "Не удалось отклонить приглашение",
2735
2657
  },
2658
+ current: {
2659
+ label: "Текущая организация",
2660
+ },
2736
2661
  switcher: {
2737
2662
  label: "Переключить организацию",
2738
2663
  groupLabel: "Рабочая организация",
@@ -2780,52 +2705,6 @@ const ru = {
2780
2705
  consentRequired: "Пожалуйста, примите политику конфиденциальности.",
2781
2706
  rateLimited: "Проверьте ответы перед отправкой.",
2782
2707
  redirectBlocked: "Ответ принят, но URL перенаправления заблокирован по соображениям безопасности.",
2783
- demo: {
2784
- contactTitle: "Связаться с нами",
2785
- contactDescription: "Расскажите о вашем проекте, и наш менеджер свяжется с вами в течение рабочего дня.",
2786
- supportTitle: "Отправить запрос в поддержку",
2787
- supportDescription: "Опишите проблему — наша команда ответит в течение рабочего дня.",
2788
- thankYouSalesTitle: "Спасибо — мы получили ваше сообщение!",
2789
- thankYouSalesMessage: "Наш менеджер свяжется с вами в течение рабочего дня.",
2790
- thankYouSupportTitle: "Готово — ваш запрос в очереди.",
2791
- thankYouSupportMessage: "Инженер поддержки скоро свяжется с вами. Сохраните эту страницу, если у вас есть скриншоты.",
2792
- field: {
2793
- firstName: "Имя",
2794
- lastName: "Фамилия",
2795
- email: "Рабочий email",
2796
- phone: "Телефон",
2797
- jobTitle: "Должность",
2798
- company: "Компания",
2799
- website: "Сайт",
2800
- industry: "Отрасль",
2801
- companySize: "Размер компании",
2802
- howCanWeHelp: "Как мы можем помочь?",
2803
- subject: "Тема",
2804
- description: "Описание",
2805
- issueType: "Тип проблемы",
2806
- priority: "Приоритет",
2807
- },
2808
- industry: {
2809
- technology: "Технологии",
2810
- software: "Программное обеспечение / SaaS",
2811
- finance: "Финансы",
2812
- healthcare: "Здравоохранение",
2813
- retail: "Розница",
2814
- other: "Другое",
2815
- },
2816
- issueType: {
2817
- question: "Вопрос",
2818
- problem: "Проблема",
2819
- bug: "Ошибка",
2820
- feature_request: "Пожелание",
2821
- },
2822
- priority: {
2823
- low: "Низкий",
2824
- medium: "Средний",
2825
- high: "Высокий",
2826
- critical: "Критический",
2827
- },
2828
- },
2829
2708
  },
2830
2709
  connectAgent: {
2831
2710
  disabled: {
@@ -2938,6 +2817,7 @@ const ru = {
2938
2817
  retry: "Повторить",
2939
2818
  errors: {
2940
2819
  expired: "Срок действия запроса истёк до подтверждения. Начните заново.",
2820
+ accessDenied: "Запрос на подключение отклонён. Начните заново.",
2941
2821
  bindFailed: "Не удалось выполнить привязку.",
2942
2822
  deviceCodeFailed: "Не удалось запросить код устройства.",
2943
2823
  },
@@ -3003,10 +2883,16 @@ const ru = {
3003
2883
  installedBadge: "Установлено v{{version}}",
3004
2884
  load: {
3005
2885
  failed: "Не удалось загрузить маркетплейс",
3006
- failedHint: "По умолчанию этот рантайм указывает на публичное облако ObjectStack. Убедитесь, что рантайм онлайн.",
2886
+ failedHintConfigured: "Этот рантайм обращается к маркетплейсу через control plane по адресу {{url}}. Убедитесь, что он доступен и достижим отсюда.",
2887
+ failedHintSameOrigin: "Этот рантайм сам обслуживает каталог маркетплейса. Убедитесь, что рантайм онлайн.",
3007
2888
  packageFailed: "Не удалось загрузить пакет",
3008
2889
  notFound: "Не найдено.",
3009
2890
  },
2891
+ disabled: {
2892
+ title: "Маркетплейс приложений отключён",
2893
+ description: "Для этого рантайма не настроен маркетплейс, поэтому здесь нечего просматривать или устанавливать.",
2894
+ hint: "Это ожидаемое состояние, когда рантайм запущен с <code>OS_CLOUD_URL=off</code> (или <code>none</code>, <code>local</code>, <code>disabled</code>). Чтобы включить маркетплейс, укажите в <code>OS_CLOUD_URL</code> адрес control plane и перезапустите рантайм.",
2895
+ },
3010
2896
  detail: {
3011
2897
  homepage: "Сайт",
3012
2898
  installedV: "Установлено · v{{version}}",
@@ -3246,12 +3132,19 @@ const ru = {
3246
3132
  submittedAgo: 'Отправлен {{when}}',
3247
3133
  completedAt: 'Завершён {{when}}',
3248
3134
  waitingOn: 'Ожидает решения',
3135
+ approverNameSeparator: ', ',
3136
+ approverUnstaffed: '{{seat}} (сейчас не занята)',
3249
3137
  history: 'История',
3250
3138
  noActions: 'Действий пока нет.',
3251
3139
  actSubmit: 'Отправлен',
3252
3140
  actApprove: 'Согласован',
3253
3141
  actReject: 'Отклонён',
3254
3142
  actRecall: 'Отозван',
3143
+ overrideActionLabel: '{{action}} (по праву администратора)',
3144
+ overrideNotice: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг будет немедленно завершён, а все согласующие, ещё не принявшие решение, будут пропущены. Решение будет записано как административное переопределение.',
3145
+ overrideNoticeWho: 'У вас нет места согласующего на этом шаге. Продолжив, вы воспользуетесь правом администратора: шаг будет немедленно завершён, а согласующие, ещё не принявшие решение, будут пропущены — {{who}}. Решение будет записано как административное переопределение.',
3146
+ viaOverrideChip: 'Переопределение администратора',
3147
+ viaOverrideHint: 'У исполнителя не было места согласующего на этом шаге — допущен по пути административного переопределения.',
3255
3148
  rawData: 'Исходные данные (JSON)',
3256
3149
  copy: 'Копировать',
3257
3150
  copied: 'Скопировано',
@@ -3338,6 +3231,11 @@ const ru = {
3338
3231
  detailChangedKeys: 'Также изменено:',
3339
3232
  confirmNote: 'Публикация атомарно выпускает все {{count}} ожидающих черновиков этого пакета.',
3340
3233
  publishConfirm: 'Опубликовать всё',
3234
+ // [objectui#5418] Pre-publish security-posture findings, shown next to
3235
+ // the confirm button so a refusal the door would issue is read BEFORE
3236
+ // the click rather than as a toast after the batch rolled back.
3237
+ securityBlockTitle: 'Публикация будет отклонена — {{count}} элемент(ов) требуют решения',
3238
+ securityBlockWhere: 'Исправьте это в объекте в разделе «Настройки → Общий доступ к записям» и опубликуйте снова.',
3341
3239
  },
3342
3240
  // ADR-0045 — the materialized-but-unlisted app banner
3343
3241
  // (UnpublishedAppBar.tsx), sibling of draftBar above.
@@ -3384,10 +3282,15 @@ const ru = {
3384
3282
  noResults: "Нет результатов",
3385
3283
  searchField: "Поиск {{label}}…",
3386
3284
  enterId: "Введите ID {{label}}",
3285
+ addValue: "Введите значение и нажмите Enter",
3286
+ removeValue: "Удалить {{value}}",
3287
+ rangeStart: "От",
3288
+ rangeEnd: "До",
3387
3289
  operators: {
3388
3290
  equals: "Равно",
3389
3291
  notEquals: "Не равно",
3390
3292
  contains: "Содержит",
3293
+ containsCaseInsensitive: "Содержит (без учёта регистра)",
3391
3294
  notContains: "Не содержит",
3392
3295
  isEmpty: "Пусто",
3393
3296
  isNotEmpty: "Не пусто",
@@ -3400,6 +3303,12 @@ const ru = {
3400
3303
  between: "Между",
3401
3304
  in: "В списке",
3402
3305
  notIn: "Не в списке",
3306
+ startsWith: "Начинается с",
3307
+ endsWith: "Заканчивается на",
3308
+ isNull: "Равно null",
3309
+ isNotNull: "Не равно null",
3310
+ exists: "Задано",
3311
+ notExists: "Не задано",
3403
3312
  },
3404
3313
  },
3405
3314
  sortBuilder: {
@@ -3448,6 +3357,13 @@ const ru = {
3448
3357
  wizard: {
3449
3358
  missingRequired: "Заполните обязательные поля: {{fields}}",
3450
3359
  },
3360
+ flowRunner: {
3361
+ title: 'Ввод',
3362
+ submitting: 'Отправка…',
3363
+ saveAndContinue: 'Сохранить и продолжить',
3364
+ nextStep: 'Сохранено — следующий шаг',
3365
+ completed: 'Поток «{{flow}}» завершён',
3366
+ },
3451
3367
  appManagement: {
3452
3368
  title: "Приложения",
3453
3369
  subtitle: "Управление всеми настроенными приложениями",