@object-ui/i18n 3.1.5 → 3.3.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.
Files changed (42) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +4 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/locales/ar.d.ts +202 -1
  6. package/dist/locales/ar.js +202 -1
  7. package/dist/locales/de.d.ts +202 -1
  8. package/dist/locales/de.js +211 -1
  9. package/dist/locales/en.d.ts +201 -0
  10. package/dist/locales/en.js +211 -0
  11. package/dist/locales/es.d.ts +202 -1
  12. package/dist/locales/es.js +202 -1
  13. package/dist/locales/fr.d.ts +202 -1
  14. package/dist/locales/fr.js +211 -1
  15. package/dist/locales/index.d.ts +2041 -9
  16. package/dist/locales/ja.d.ts +213 -1
  17. package/dist/locales/ja.js +213 -1
  18. package/dist/locales/ko.d.ts +202 -1
  19. package/dist/locales/ko.js +202 -1
  20. package/dist/locales/pt.d.ts +202 -1
  21. package/dist/locales/pt.js +202 -1
  22. package/dist/locales/ru.d.ts +213 -1
  23. package/dist/locales/ru.js +222 -1
  24. package/dist/locales/zh.d.ts +202 -1
  25. package/dist/locales/zh.js +212 -1
  26. package/dist/useSafeTranslation.d.ts +5 -0
  27. package/dist/useSafeTranslation.js +46 -0
  28. package/package.json +6 -6
  29. package/src/__tests__/i18n.test.ts +27 -0
  30. package/src/index.ts +3 -0
  31. package/src/locales/ar.ts +202 -1
  32. package/src/locales/de.ts +211 -1
  33. package/src/locales/en.ts +211 -0
  34. package/src/locales/es.ts +202 -1
  35. package/src/locales/fr.ts +211 -1
  36. package/src/locales/ja.ts +213 -1
  37. package/src/locales/ko.ts +202 -1
  38. package/src/locales/pt.ts +202 -1
  39. package/src/locales/ru.ts +222 -1
  40. package/src/locales/zh.ts +212 -1
  41. package/src/useSafeTranslation.ts +49 -0
  42. package/tsconfig.tsbuildinfo +1 -1
@@ -32,6 +32,8 @@ declare const ru: {
32
32
  readonly noResults: "Результаты не найдены";
33
33
  readonly required: "Обязательно";
34
34
  readonly optional: "Необязательно";
35
+ readonly selectOption: "Выберите вариант";
36
+ readonly select: "Выбрать...";
35
37
  };
36
38
  readonly validation: {
37
39
  readonly required: "Поле {{field}} обязательно для заполнения";
@@ -54,6 +56,11 @@ declare const ru: {
54
56
  readonly saveError: "Ошибка сохранения";
55
57
  readonly unsavedChanges: "У вас есть несохранённые изменения. Вы уверены, что хотите покинуть страницу?";
56
58
  readonly stepOf: "Шаг {{current}} из {{total}}";
59
+ readonly createTitle: "Создать {{object}}";
60
+ readonly editTitle: "Редактировать {{object}}";
61
+ readonly createDescription: "Добавить новый {{object}} в базу данных.";
62
+ readonly editDescription: "Обновить данные {{object}}";
63
+ readonly saveRecord: "Сохранить запись";
57
64
  };
58
65
  readonly table: {
59
66
  readonly rowsPerPage: "Строк на странице";
@@ -130,6 +137,22 @@ declare const ru: {
130
137
  readonly deleteCard: "Удалить карточку";
131
138
  readonly deleteColumn: "Удалить колонку";
132
139
  };
140
+ readonly view: {
141
+ readonly rename: "Переименовать";
142
+ readonly duplicateView: "Дублировать представление";
143
+ readonly shareView: "Поделиться представлением";
144
+ readonly setAsDefault: "Установить по умолчанию";
145
+ readonly pinView: "Закрепить представление";
146
+ readonly unpinView: "Открепить представление";
147
+ readonly changeViewType: "Изменить тип представления";
148
+ readonly deleteView: "Удалить представление";
149
+ readonly addView: "Добавить представление";
150
+ readonly unsavedChanges: "Несохранённые изменения";
151
+ readonly saveAsView: "Сохранить как представление";
152
+ readonly moreViews: "ещё {{count}}";
153
+ readonly activeFilters: "Фильтры активны";
154
+ readonly activeSort: "Сортировка активна";
155
+ };
133
156
  readonly detail: {
134
157
  readonly back: "Назад";
135
158
  readonly edit: "Редактировать";
@@ -164,11 +187,148 @@ declare const ru: {
164
187
  readonly viewAll: "Показать все";
165
188
  readonly new: "Создать";
166
189
  readonly emptyValue: "—";
190
+ readonly activity: "Активность";
191
+ readonly editRow: "Редактировать";
192
+ readonly deleteRow: "Удалить";
193
+ readonly deleteRowConfirmation: "Вы уверены, что хотите удалить эту запись?";
194
+ readonly actions: "Действия";
195
+ readonly previousPage: "Назад";
196
+ readonly nextPage: "Далее";
197
+ readonly pageOf: "Страница {{current}} из {{total}}";
198
+ readonly sortBy: "Сортировать по";
199
+ readonly filterPlaceholder: "Фильтр...";
200
+ readonly highlightFields: "Ключевые поля";
201
+ readonly comments: "Комментарии";
202
+ readonly searchComments: "Поиск комментариев…";
203
+ readonly addCommentPlaceholder: "Добавить комментарий… (Ctrl+Enter для отправки)";
204
+ readonly noMatchingComments: "Нет совпадающих комментариев";
205
+ readonly noCommentsYet: "Комментариев пока нет";
206
+ readonly pinned: "Закреплено";
207
+ readonly pin: "Закрепить";
208
+ readonly unpin: "Открепить";
209
+ readonly justNow: "только что";
210
+ readonly minutesAgo: "{{count}} мин. назад";
211
+ readonly hoursAgo: "{{count}} ч. назад";
212
+ readonly daysAgo: "{{count}} дн. назад";
213
+ readonly dropFilesToUpload: "Перетащите файлы сюда или нажмите для загрузки";
214
+ readonly attachmentCount: "{{count}} вложение";
215
+ readonly attachmentCountPlural: "{{count}} вложений";
216
+ readonly removeAttachment: "Удалить вложение";
217
+ readonly unifiedDiff: "Единое представление";
218
+ readonly sideBySideDiff: "Параллельное представление";
219
+ readonly noChanges: "Нет изменений";
220
+ readonly previousVersion: "Предыдущая";
221
+ readonly currentVersion: "Текущая";
222
+ readonly discussion: "Обсуждение";
223
+ readonly showDiscussion: "Показать обсуждение ({{count}})";
224
+ readonly hideDiscussion: "Скрыть обсуждение";
225
+ readonly bold: "Жирный (Ctrl+B)";
226
+ readonly italic: "Курсив (Ctrl+I)";
227
+ readonly listFormat: "Список";
228
+ readonly inlineCode: "Строчный код";
229
+ readonly mentionSomeone: "Упомянуть кого-то";
230
+ readonly preview: "Предпросмотр";
231
+ readonly submitComment: "Отправить (Ctrl+Enter)";
232
+ readonly writeComment: "Написать комментарий…";
233
+ readonly subscribedTooltip: "Подписаны — нажмите для отписки";
234
+ readonly unsubscribedTooltip: "Подписаться на уведомления";
235
+ readonly firstRecord: "Первая запись (Home)";
236
+ readonly previousRecordKey: "Предыдущая запись (←)";
237
+ readonly nextRecordKey: "Следующая запись (→)";
238
+ readonly lastRecord: "Последняя запись (End)";
239
+ readonly noRecords: "Нет записей";
240
+ readonly searchWhileNavigating: "Поиск при навигации";
241
+ readonly searchRecords: "Поиск записей…";
242
+ readonly allActivity: "Вся активность";
243
+ readonly commentsOnly: "Только комментарии";
244
+ readonly fieldChangesFilter: "Изменения полей";
245
+ readonly tasksOnly: "Только задачи";
246
+ readonly leaveCommentPlaceholder: "Оставить комментарий… (Ctrl+Enter для отправки)";
247
+ readonly noActivity: "Нет зарегистрированной активности";
248
+ readonly loadMore: "Загрузить ещё";
249
+ readonly edited: "(изменено)";
250
+ readonly via: "через {{source}}";
251
+ readonly replyCount: "{{count}} ответ";
252
+ readonly replyCountPlural: "{{count}} ответов";
253
+ readonly replyPlaceholder: "Ответить…";
254
+ readonly filterActivity: "Фильтр активности";
255
+ readonly openDiscussion: "Открыть панель обсуждения";
256
+ readonly closeDiscussion: "Закрыть панель обсуждения";
257
+ readonly subscribeAriaLabel: "Подписаться на уведомления";
258
+ readonly unsubscribeAriaLabel: "Отписаться от уведомлений";
259
+ readonly clearSearch: "Очистить поиск";
167
260
  };
168
261
  readonly chart: {
169
262
  readonly noData: "Нет данных для графика";
170
263
  readonly loading: "Загрузка графика...";
171
264
  };
265
+ readonly map: {
266
+ readonly searchLocations: "Поиск местоположений…";
267
+ readonly locationDetails: "Детали местоположения";
268
+ readonly markersCount: "{{count}} маркеров";
269
+ readonly invalidCoordinates: "{{count}} запись с отсутствующими или недействительными координатами исключена из карты.";
270
+ readonly invalidCoordinatesPlural: "{{count}} записей с отсутствующими или недействительными координатами исключены из карты.";
271
+ };
272
+ readonly workflow: {
273
+ readonly draft: "Черновик";
274
+ readonly active: "Активный";
275
+ readonly paused: "Приостановлен";
276
+ readonly completed: "Завершён";
277
+ readonly cancelled: "Отменён";
278
+ readonly save: "Сохранить";
279
+ readonly publish: "Опубликовать";
280
+ readonly addNode: "Добавить узел";
281
+ readonly workflowFlow: "Рабочий процесс";
282
+ readonly properties: "Свойства";
283
+ readonly connections: "Соединения";
284
+ readonly quickConnect: "Быстрое соединение";
285
+ readonly fromPlaceholder: "От...";
286
+ readonly toPlaceholder: "К...";
287
+ readonly connect: "Соединить";
288
+ readonly label: "Метка";
289
+ readonly type: "Тип";
290
+ readonly description: "Описание";
291
+ readonly assignee: "Ответственный";
292
+ readonly assigneeType: "Тип ответственного";
293
+ readonly user: "Пользователь";
294
+ readonly role: "Роль";
295
+ readonly group: "Группа";
296
+ readonly expression: "Выражение";
297
+ readonly timeoutMinutes: "Тайм-аут (минуты)";
298
+ readonly selectNodeToEdit: "Выберите узел для редактирования его свойств";
299
+ readonly workflowTitle: "Название рабочего процесса";
300
+ readonly newWorkflow: "Новый рабочий процесс";
301
+ readonly outConnections: "{{count}} выходов";
302
+ readonly start: "Начало";
303
+ readonly end: "Конец";
304
+ readonly task: "Задача";
305
+ readonly userTask: "Задача пользователя";
306
+ readonly serviceTask: "Сервисная задача";
307
+ readonly scriptTask: "Скриптовая задача";
308
+ readonly approval: "Одобрение";
309
+ readonly condition: "Условие";
310
+ readonly parallelGateway: "Параллельный шлюз";
311
+ readonly joinGateway: "Шлюз объединения";
312
+ readonly boundaryEvent: "Граничное событие";
313
+ readonly delay: "Задержка";
314
+ readonly notification: "Уведомление";
315
+ readonly webhook: "Webhook";
316
+ readonly allowConcurrency: "Разрешить (параллельное выполнение)";
317
+ readonly forbidConcurrency: "Запретить (пропустить новые)";
318
+ readonly replaceConcurrency: "Заменить (отменить текущие)";
319
+ readonly queueConcurrency: "Очередь (выполнить после текущего)";
320
+ readonly conditionEvent: "Условие";
321
+ readonly manualEvent: "Ручной";
322
+ readonly webhookEvent: "Webhook";
323
+ readonly timerEvent: "Таймер";
324
+ readonly signalEvent: "Сигнал";
325
+ readonly versionHistory: "История версий";
326
+ readonly importBpmn: "Импорт BPMN";
327
+ readonly exportBpmn: "Экспорт BPMN";
328
+ readonly undo: "Отменить";
329
+ readonly redo: "Повторить";
330
+ readonly resetZoom: "Сбросить масштаб";
331
+ };
172
332
  readonly dashboard: {
173
333
  readonly addWidget: "Добавить виджет";
174
334
  readonly removeWidget: "Удалить виджет";
@@ -322,6 +482,58 @@ declare const ru: {
322
482
  readonly modeLight: "Светлая";
323
483
  readonly modeDark: "Тёмная";
324
484
  readonly mobilePreview: "Мобильный предпросмотр";
485
+ readonly objectManager: {
486
+ readonly title: "Менеджер объектов";
487
+ readonly addObject: "Новый объект";
488
+ readonly searchPlaceholder: "Поиск объектов…";
489
+ readonly noObjects: "Объекты не найдены.";
490
+ readonly objectName: "Имя API";
491
+ readonly objectLabel: "Метка";
492
+ readonly pluralLabel: "Метка (мн. число)";
493
+ readonly icon: "Иконка";
494
+ readonly selectIcon: "Выбрать иконку…";
495
+ readonly group: "Группа";
496
+ readonly noGroup: "Без группы";
497
+ readonly sortOrder: "Порядок сортировки";
498
+ readonly enabled: "Включён";
499
+ readonly relationships: "Связи";
500
+ readonly systemBadge: "Системный";
501
+ readonly fieldCount: "{{count}} полей";
502
+ readonly ungrouped: "Без группы";
503
+ readonly deleteConfirmTitle: "Удалить объект?";
504
+ readonly deleteConfirmMessage: "Объект и все его поля будут удалены безвозвратно. Это действие невозможно отменить.";
505
+ };
506
+ readonly fieldDesigner: {
507
+ readonly title: "Дизайнер полей";
508
+ readonly addField: "Новое поле";
509
+ readonly searchPlaceholder: "Поиск полей…";
510
+ readonly allTypes: "Все типы";
511
+ readonly noFields: "Поля не найдены.";
512
+ readonly fieldName: "Имя API";
513
+ readonly fieldLabel: "Метка";
514
+ readonly fieldType: "Тип";
515
+ readonly fieldGroup: "Группа";
516
+ readonly description: "Описание";
517
+ readonly required: "Обязательное";
518
+ readonly unique: "Уникальное";
519
+ readonly readOnly: "Только чтение";
520
+ readonly hidden: "Скрытое";
521
+ readonly indexed: "Индексированное";
522
+ readonly externalId: "Внешний ID";
523
+ readonly trackHistory: "Отслеживание истории";
524
+ readonly defaultValue: "Значение по умолчанию";
525
+ readonly placeholder: "Подсказка";
526
+ readonly referenceTo: "Ссылка на";
527
+ readonly formula: "Формула";
528
+ readonly options: "Варианты";
529
+ readonly addOption: "Добавить вариант";
530
+ readonly validationRules: "Правила валидации";
531
+ readonly addRule: "Добавить правило";
532
+ readonly systemBadge: "Системное";
533
+ readonly ungrouped: "Общее";
534
+ readonly deleteConfirmTitle: "Удалить поле?";
535
+ readonly deleteConfirmMessage: "Поле будет удалено безвозвратно. Существующие данные будут потеряны.";
536
+ };
325
537
  };
326
538
  readonly console: {
327
539
  readonly title: "Консоль ObjectStack";
@@ -407,7 +619,7 @@ declare const ru: {
407
619
  readonly generalHint: "Название, описание и тип представления";
408
620
  readonly toolbar: "Панель инструментов";
409
621
  readonly toolbarHint: "Поиск, фильтр, сортировка, группировка и переключение плотности";
410
- readonly toolbarEnabledCount: "{{count}} of {{total}} enabled";
622
+ readonly toolbarEnabledCount: "{{count}} из {{total}} включено";
411
623
  readonly navigationSection: "Навигация";
412
624
  readonly navigationHint: "Поведение при нажатии на строку и настройки детального представления";
413
625
  readonly records: "Записи";
@@ -32,6 +32,8 @@ const ru = {
32
32
  noResults: 'Результаты не найдены',
33
33
  required: 'Обязательно',
34
34
  optional: 'Необязательно',
35
+ selectOption: 'Выберите вариант',
36
+ select: 'Выбрать...',
35
37
  },
36
38
  validation: {
37
39
  required: 'Поле {{field}} обязательно для заполнения',
@@ -54,6 +56,11 @@ const ru = {
54
56
  saveError: 'Ошибка сохранения',
55
57
  unsavedChanges: 'У вас есть несохранённые изменения. Вы уверены, что хотите покинуть страницу?',
56
58
  stepOf: 'Шаг {{current}} из {{total}}',
59
+ createTitle: 'Создать {{object}}',
60
+ editTitle: 'Редактировать {{object}}',
61
+ createDescription: 'Добавить новый {{object}} в базу данных.',
62
+ editDescription: 'Обновить данные {{object}}',
63
+ saveRecord: 'Сохранить запись',
57
64
  },
58
65
  table: {
59
66
  rowsPerPage: 'Строк на странице',
@@ -130,6 +137,22 @@ const ru = {
130
137
  deleteCard: 'Удалить карточку',
131
138
  deleteColumn: 'Удалить колонку',
132
139
  },
140
+ view: {
141
+ rename: 'Переименовать',
142
+ duplicateView: 'Дублировать представление',
143
+ shareView: 'Поделиться представлением',
144
+ setAsDefault: 'Установить по умолчанию',
145
+ pinView: 'Закрепить представление',
146
+ unpinView: 'Открепить представление',
147
+ changeViewType: 'Изменить тип представления',
148
+ deleteView: 'Удалить представление',
149
+ addView: 'Добавить представление',
150
+ unsavedChanges: 'Несохранённые изменения',
151
+ saveAsView: 'Сохранить как представление',
152
+ moreViews: 'ещё {{count}}',
153
+ activeFilters: 'Фильтры активны',
154
+ activeSort: 'Сортировка активна',
155
+ },
133
156
  detail: {
134
157
  back: 'Назад',
135
158
  edit: 'Редактировать',
@@ -164,11 +187,157 @@ const ru = {
164
187
  viewAll: 'Показать все',
165
188
  new: 'Создать',
166
189
  emptyValue: '—',
190
+ activity: 'Активность',
191
+ editRow: 'Редактировать',
192
+ deleteRow: 'Удалить',
193
+ deleteRowConfirmation: 'Вы уверены, что хотите удалить эту запись?',
194
+ actions: 'Действия',
195
+ previousPage: 'Назад',
196
+ nextPage: 'Далее',
197
+ pageOf: 'Страница {{current}} из {{total}}',
198
+ sortBy: 'Сортировать по',
199
+ filterPlaceholder: 'Фильтр...',
200
+ highlightFields: 'Ключевые поля',
201
+ // Comments
202
+ comments: 'Комментарии',
203
+ searchComments: 'Поиск комментариев…',
204
+ addCommentPlaceholder: 'Добавить комментарий… (Ctrl+Enter для отправки)',
205
+ noMatchingComments: 'Нет совпадающих комментариев',
206
+ noCommentsYet: 'Комментариев пока нет',
207
+ pinned: 'Закреплено',
208
+ pin: 'Закрепить',
209
+ unpin: 'Открепить',
210
+ justNow: 'только что',
211
+ minutesAgo: '{{count}} мин. назад',
212
+ hoursAgo: '{{count}} ч. назад',
213
+ daysAgo: '{{count}} дн. назад',
214
+ // Attachments
215
+ dropFilesToUpload: 'Перетащите файлы сюда или нажмите для загрузки',
216
+ attachmentCount: '{{count}} вложение',
217
+ attachmentCountPlural: '{{count}} вложений',
218
+ removeAttachment: 'Удалить вложение',
219
+ // Diff
220
+ unifiedDiff: 'Единое представление',
221
+ sideBySideDiff: 'Параллельное представление',
222
+ noChanges: 'Нет изменений',
223
+ previousVersion: 'Предыдущая',
224
+ currentVersion: 'Текущая',
225
+ // Discussion
226
+ discussion: 'Обсуждение',
227
+ showDiscussion: 'Показать обсуждение ({{count}})',
228
+ hideDiscussion: 'Скрыть обсуждение',
229
+ // Rich text editor
230
+ bold: 'Жирный (Ctrl+B)',
231
+ italic: 'Курсив (Ctrl+I)',
232
+ listFormat: 'Список',
233
+ inlineCode: 'Строчный код',
234
+ mentionSomeone: 'Упомянуть кого-то',
235
+ preview: 'Предпросмотр',
236
+ submitComment: 'Отправить (Ctrl+Enter)',
237
+ writeComment: 'Написать комментарий…',
238
+ // Subscription
239
+ subscribedTooltip: 'Подписаны — нажмите для отписки',
240
+ unsubscribedTooltip: 'Подписаться на уведомления',
241
+ // Navigation
242
+ firstRecord: 'Первая запись (Home)',
243
+ previousRecordKey: 'Предыдущая запись (←)',
244
+ nextRecordKey: 'Следующая запись (→)',
245
+ lastRecord: 'Последняя запись (End)',
246
+ noRecords: 'Нет записей',
247
+ searchWhileNavigating: 'Поиск при навигации',
248
+ searchRecords: 'Поиск записей…',
249
+ // Activity timeline
250
+ allActivity: 'Вся активность',
251
+ commentsOnly: 'Только комментарии',
252
+ fieldChangesFilter: 'Изменения полей',
253
+ tasksOnly: 'Только задачи',
254
+ leaveCommentPlaceholder: 'Оставить комментарий… (Ctrl+Enter для отправки)',
255
+ noActivity: 'Нет зарегистрированной активности',
256
+ loadMore: 'Загрузить ещё',
257
+ edited: '(изменено)',
258
+ via: 'через {{source}}',
259
+ // Replies
260
+ replyCount: '{{count}} ответ',
261
+ replyCountPlural: '{{count}} ответов',
262
+ replyPlaceholder: 'Ответить…',
263
+ filterActivity: 'Фильтр активности',
264
+ openDiscussion: 'Открыть панель обсуждения',
265
+ closeDiscussion: 'Закрыть панель обсуждения',
266
+ subscribeAriaLabel: 'Подписаться на уведомления',
267
+ unsubscribeAriaLabel: 'Отписаться от уведомлений',
268
+ clearSearch: 'Очистить поиск',
167
269
  },
168
270
  chart: {
169
271
  noData: 'Нет данных для графика',
170
272
  loading: 'Загрузка графика...',
171
273
  },
274
+ map: {
275
+ searchLocations: 'Поиск местоположений…',
276
+ locationDetails: 'Детали местоположения',
277
+ markersCount: '{{count}} маркеров',
278
+ invalidCoordinates: '{{count}} запись с отсутствующими или недействительными координатами исключена из карты.',
279
+ invalidCoordinatesPlural: '{{count}} записей с отсутствующими или недействительными координатами исключены из карты.',
280
+ },
281
+ workflow: {
282
+ draft: 'Черновик',
283
+ active: 'Активный',
284
+ paused: 'Приостановлен',
285
+ completed: 'Завершён',
286
+ cancelled: 'Отменён',
287
+ save: 'Сохранить',
288
+ publish: 'Опубликовать',
289
+ addNode: 'Добавить узел',
290
+ workflowFlow: 'Рабочий процесс',
291
+ properties: 'Свойства',
292
+ connections: 'Соединения',
293
+ quickConnect: 'Быстрое соединение',
294
+ fromPlaceholder: 'От...',
295
+ toPlaceholder: 'К...',
296
+ connect: 'Соединить',
297
+ label: 'Метка',
298
+ type: 'Тип',
299
+ description: 'Описание',
300
+ assignee: 'Ответственный',
301
+ assigneeType: 'Тип ответственного',
302
+ user: 'Пользователь',
303
+ role: 'Роль',
304
+ group: 'Группа',
305
+ expression: 'Выражение',
306
+ timeoutMinutes: 'Тайм-аут (минуты)',
307
+ selectNodeToEdit: 'Выберите узел для редактирования его свойств',
308
+ workflowTitle: 'Название рабочего процесса',
309
+ newWorkflow: 'Новый рабочий процесс',
310
+ outConnections: '{{count}} выходов',
311
+ start: 'Начало',
312
+ end: 'Конец',
313
+ task: 'Задача',
314
+ userTask: 'Задача пользователя',
315
+ serviceTask: 'Сервисная задача',
316
+ scriptTask: 'Скриптовая задача',
317
+ approval: 'Одобрение',
318
+ condition: 'Условие',
319
+ parallelGateway: 'Параллельный шлюз',
320
+ joinGateway: 'Шлюз объединения',
321
+ boundaryEvent: 'Граничное событие',
322
+ delay: 'Задержка',
323
+ notification: 'Уведомление',
324
+ webhook: 'Webhook',
325
+ allowConcurrency: 'Разрешить (параллельное выполнение)',
326
+ forbidConcurrency: 'Запретить (пропустить новые)',
327
+ replaceConcurrency: 'Заменить (отменить текущие)',
328
+ queueConcurrency: 'Очередь (выполнить после текущего)',
329
+ conditionEvent: 'Условие',
330
+ manualEvent: 'Ручной',
331
+ webhookEvent: 'Webhook',
332
+ timerEvent: 'Таймер',
333
+ signalEvent: 'Сигнал',
334
+ versionHistory: 'История версий',
335
+ importBpmn: 'Импорт BPMN',
336
+ exportBpmn: 'Экспорт BPMN',
337
+ undo: 'Отменить',
338
+ redo: 'Повторить',
339
+ resetZoom: 'Сбросить масштаб',
340
+ },
172
341
  dashboard: {
173
342
  addWidget: 'Добавить виджет',
174
343
  removeWidget: 'Удалить виджет',
@@ -322,6 +491,58 @@ const ru = {
322
491
  modeLight: 'Светлая',
323
492
  modeDark: 'Тёмная',
324
493
  mobilePreview: 'Мобильный предпросмотр',
494
+ objectManager: {
495
+ title: 'Менеджер объектов',
496
+ addObject: 'Новый объект',
497
+ searchPlaceholder: 'Поиск объектов…',
498
+ noObjects: 'Объекты не найдены.',
499
+ objectName: 'Имя API',
500
+ objectLabel: 'Метка',
501
+ pluralLabel: 'Метка (мн. число)',
502
+ icon: 'Иконка',
503
+ selectIcon: 'Выбрать иконку…',
504
+ group: 'Группа',
505
+ noGroup: 'Без группы',
506
+ sortOrder: 'Порядок сортировки',
507
+ enabled: 'Включён',
508
+ relationships: 'Связи',
509
+ systemBadge: 'Системный',
510
+ fieldCount: '{{count}} полей',
511
+ ungrouped: 'Без группы',
512
+ deleteConfirmTitle: 'Удалить объект?',
513
+ deleteConfirmMessage: 'Объект и все его поля будут удалены безвозвратно. Это действие невозможно отменить.',
514
+ },
515
+ fieldDesigner: {
516
+ title: 'Дизайнер полей',
517
+ addField: 'Новое поле',
518
+ searchPlaceholder: 'Поиск полей…',
519
+ allTypes: 'Все типы',
520
+ noFields: 'Поля не найдены.',
521
+ fieldName: 'Имя API',
522
+ fieldLabel: 'Метка',
523
+ fieldType: 'Тип',
524
+ fieldGroup: 'Группа',
525
+ description: 'Описание',
526
+ required: 'Обязательное',
527
+ unique: 'Уникальное',
528
+ readOnly: 'Только чтение',
529
+ hidden: 'Скрытое',
530
+ indexed: 'Индексированное',
531
+ externalId: 'Внешний ID',
532
+ trackHistory: 'Отслеживание истории',
533
+ defaultValue: 'Значение по умолчанию',
534
+ placeholder: 'Подсказка',
535
+ referenceTo: 'Ссылка на',
536
+ formula: 'Формула',
537
+ options: 'Варианты',
538
+ addOption: 'Добавить вариант',
539
+ validationRules: 'Правила валидации',
540
+ addRule: 'Добавить правило',
541
+ systemBadge: 'Системное',
542
+ ungrouped: 'Общее',
543
+ deleteConfirmTitle: 'Удалить поле?',
544
+ deleteConfirmMessage: 'Поле будет удалено безвозвратно. Существующие данные будут потеряны.',
545
+ },
325
546
  },
326
547
  console: {
327
548
  title: 'Консоль ObjectStack',
@@ -402,7 +623,7 @@ const ru = {
402
623
  generalHint: 'Название, описание и тип представления',
403
624
  toolbar: 'Панель инструментов',
404
625
  toolbarHint: 'Поиск, фильтр, сортировка, группировка и переключение плотности',
405
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
626
+ toolbarEnabledCount: '{{count}} из {{total}} включено',
406
627
  navigationSection: 'Навигация',
407
628
  navigationHint: 'Поведение при нажатии на строку и настройки детального представления',
408
629
  records: 'Записи',