@object-ui/i18n 3.1.5 → 3.3.1

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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +21 -1
  3. package/dist/i18n.js +10 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +2 -0
  6. package/dist/locales/ar.d.ts +260 -1
  7. package/dist/locales/ar.js +260 -1
  8. package/dist/locales/de.d.ts +260 -1
  9. package/dist/locales/de.js +269 -1
  10. package/dist/locales/en.d.ts +279 -0
  11. package/dist/locales/en.js +289 -0
  12. package/dist/locales/es.d.ts +260 -1
  13. package/dist/locales/es.js +260 -1
  14. package/dist/locales/fr.d.ts +260 -1
  15. package/dist/locales/fr.js +269 -1
  16. package/dist/locales/index.d.ts +2661 -9
  17. package/dist/locales/ja.d.ts +271 -1
  18. package/dist/locales/ja.js +271 -1
  19. package/dist/locales/ko.d.ts +260 -1
  20. package/dist/locales/ko.js +260 -1
  21. package/dist/locales/pt.d.ts +260 -1
  22. package/dist/locales/pt.js +260 -1
  23. package/dist/locales/ru.d.ts +271 -1
  24. package/dist/locales/ru.js +280 -1
  25. package/dist/locales/zh.d.ts +280 -1
  26. package/dist/locales/zh.js +290 -1
  27. package/dist/useObjectLabel.d.ts +46 -0
  28. package/dist/useObjectLabel.js +79 -12
  29. package/dist/useSafeTranslation.d.ts +5 -0
  30. package/dist/useSafeTranslation.js +46 -0
  31. package/package.json +31 -8
  32. package/.turbo/turbo-build.log +0 -4
  33. package/src/__tests__/i18n.test.ts +0 -228
  34. package/src/__tests__/provider.test.tsx +0 -117
  35. package/src/__tests__/spec-formatters.test.ts +0 -208
  36. package/src/__tests__/useObjectLabel.test.tsx +0 -131
  37. package/src/i18n.ts +0 -98
  38. package/src/index.ts +0 -78
  39. package/src/locales/ar.ts +0 -541
  40. package/src/locales/de.ts +0 -545
  41. package/src/locales/en.ts +0 -625
  42. package/src/locales/es.ts +0 -540
  43. package/src/locales/fr.ts +0 -545
  44. package/src/locales/index.ts +0 -42
  45. package/src/locales/ja.ts +0 -540
  46. package/src/locales/ko.ts +0 -540
  47. package/src/locales/pt.ts +0 -540
  48. package/src/locales/ru.ts +0 -540
  49. package/src/locales/zh.ts +0 -624
  50. package/src/provider.tsx +0 -177
  51. package/src/useObjectLabel.ts +0 -122
  52. package/src/utils/formatting.ts +0 -136
  53. package/src/utils/index.ts +0 -21
  54. package/src/utils/spec-formatters.ts +0 -220
  55. package/tsconfig.json +0 -12
  56. package/tsconfig.tsbuildinfo +0 -1
@@ -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',
@@ -337,6 +558,16 @@ const ru = {
337
558
  loadingConfig: 'Загрузка конфигурации',
338
559
  preparingWorkspace: 'Подготовка рабочего пространства',
339
560
  },
561
+ error: {
562
+ connectionFailed: 'Не удаётся подключиться к серверу',
563
+ serverUnreachable: 'Сервер {{url}} недоступен.',
564
+ checkServer: 'Проверьте сетевое подключение или работает ли бэкенд.',
565
+ timeout: 'Время ожидания подключения истекло (10 секунд).',
566
+ },
567
+ actions: {
568
+ retry: 'Повторить',
569
+ retrying: 'Повтор…',
570
+ },
340
571
  shortcuts: {
341
572
  title: 'Горячие клавиши',
342
573
  description: 'Краткий справочник по всем доступным горячим клавишам.',
@@ -402,7 +633,7 @@ const ru = {
402
633
  generalHint: 'Название, описание и тип представления',
403
634
  toolbar: 'Панель инструментов',
404
635
  toolbarHint: 'Поиск, фильтр, сортировка, группировка и переключение плотности',
405
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
636
+ toolbarEnabledCount: '{{count}} из {{total}} включено',
406
637
  navigationSection: 'Навигация',
407
638
  navigationHint: 'Поведение при нажатии на строку и настройки детального представления',
408
639
  records: 'Записи',
@@ -535,5 +766,53 @@ const ru = {
535
766
  timeout: 'Время ожидания истекло. Попробуйте снова.',
536
767
  unknown: 'Произошла непредвиденная ошибка.',
537
768
  },
769
+ workspace: {
770
+ label: 'Рабочие пространства',
771
+ default: 'Моё рабочее пространство',
772
+ switch: 'Переключить рабочее пространство',
773
+ create: 'Создать рабочее пространство',
774
+ createTitle: 'Создать рабочее пространство',
775
+ createDescription: 'Рабочее пространство — это общее место для совместной работы вашей команды.',
776
+ createButton: 'Создать рабочее пространство',
777
+ nameLabel: 'Имя рабочего пространства',
778
+ namePlaceholder: 'например, Acme Inc',
779
+ slugLabel: 'URL-слаг',
780
+ slugHint: 'Используется в URL. Только строчные буквы, цифры и дефисы.',
781
+ invite: 'Пригласить участника',
782
+ members: 'Участники',
783
+ settings: 'Настройки рабочего пространства',
784
+ },
785
+ sidebar: {
786
+ settings: 'Настройки',
787
+ help: 'Помощь',
788
+ helpTooltip: 'Помощь и документация',
789
+ activityFeed: 'Лента активности',
790
+ },
791
+ home: {
792
+ title: 'Главная',
793
+ subtitle: 'Панель вашего рабочего пространства',
794
+ nav: 'Главная',
795
+ allApps: 'Все приложения',
796
+ loading: 'Загрузка рабочего пространства...',
797
+ recent: 'Недавние',
798
+ starred: 'Избранные',
799
+ welcome: 'Добро пожаловать в ObjectUI',
800
+ welcomeDescription: 'Начните с создания вашего первого приложения или настройки системы.',
801
+ createFirstApp: 'Создайте первое приложение',
802
+ systemSettings: 'Системные настройки',
803
+ quickActions: {
804
+ title: 'Быстрые действия',
805
+ createApp: 'Создать приложение',
806
+ createAppDesc: 'Начните с нового приложения',
807
+ manageObjects: 'Управление объектами',
808
+ manageObjectsDesc: 'Настройте модели данных',
809
+ systemSettings: 'Системные настройки',
810
+ systemSettingsDesc: 'Настройте рабочее пространство',
811
+ },
812
+ appCard: {
813
+ noDescription: 'Без описания',
814
+ default: 'По умолчанию',
815
+ },
816
+ },
538
817
  };
539
818
  export default ru;