@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 de = {
32
32
  noResults: 'Keine Ergebnisse gefunden',
33
33
  required: 'Erforderlich',
34
34
  optional: 'Optional',
35
+ selectOption: 'Option auswählen',
36
+ select: 'Auswählen...',
35
37
  },
36
38
  validation: {
37
39
  required: '{{field}} ist erforderlich',
@@ -54,6 +56,11 @@ const de = {
54
56
  saveError: 'Speichern fehlgeschlagen',
55
57
  unsavedChanges: 'Sie haben nicht gespeicherte Änderungen. Möchten Sie die Seite wirklich verlassen?',
56
58
  stepOf: 'Schritt {{current}} von {{total}}',
59
+ createTitle: '{{object}} erstellen',
60
+ editTitle: '{{object}} bearbeiten',
61
+ createDescription: 'Neues {{object}} zur Datenbank hinzufügen.',
62
+ editDescription: 'Details für {{object}} aktualisieren',
63
+ saveRecord: 'Datensatz speichern',
57
64
  },
58
65
  table: {
59
66
  rowsPerPage: 'Zeilen pro Seite',
@@ -130,6 +137,22 @@ const de = {
130
137
  deleteCard: 'Karte löschen',
131
138
  deleteColumn: 'Spalte löschen',
132
139
  },
140
+ view: {
141
+ rename: 'Umbenennen',
142
+ duplicateView: 'Ansicht duplizieren',
143
+ shareView: 'Ansicht teilen',
144
+ setAsDefault: 'Als Standard festlegen',
145
+ pinView: 'Ansicht anheften',
146
+ unpinView: 'Ansicht lösen',
147
+ changeViewType: 'Ansichtstyp ändern',
148
+ deleteView: 'Ansicht löschen',
149
+ addView: 'Ansicht hinzufügen',
150
+ unsavedChanges: 'Ungespeicherte Änderungen',
151
+ saveAsView: 'Als Ansicht speichern',
152
+ moreViews: '{{count}} weitere',
153
+ activeFilters: 'Filter aktiv',
154
+ activeSort: 'Sortierung aktiv',
155
+ },
133
156
  detail: {
134
157
  back: 'Zurück',
135
158
  edit: 'Bearbeiten',
@@ -164,11 +187,146 @@ const de = {
164
187
  viewAll: 'Alle anzeigen',
165
188
  new: 'Neu',
166
189
  emptyValue: '—',
190
+ // Comments
191
+ comments: 'Kommentare',
192
+ searchComments: 'Kommentare suchen…',
193
+ addCommentPlaceholder: 'Kommentar hinzufügen… (Strg+Enter zum Senden)',
194
+ noMatchingComments: 'Keine passenden Kommentare',
195
+ noCommentsYet: 'Noch keine Kommentare',
196
+ pinned: 'Angeheftet',
197
+ pin: 'Anheften',
198
+ unpin: 'Lösen',
199
+ justNow: 'gerade eben',
200
+ minutesAgo: 'vor {{count}} Min.',
201
+ hoursAgo: 'vor {{count}} Std.',
202
+ daysAgo: 'vor {{count}} Tg.',
203
+ // Attachments
204
+ dropFilesToUpload: 'Dateien hierher ziehen oder klicken zum Hochladen',
205
+ attachmentCount: '{{count}} Anhang',
206
+ attachmentCountPlural: '{{count}} Anhänge',
207
+ removeAttachment: 'Anhang entfernen',
208
+ // Diff
209
+ unifiedDiff: 'Einheitliche Ansicht',
210
+ sideBySideDiff: 'Nebeneinander-Ansicht',
211
+ noChanges: 'Keine Änderungen',
212
+ previousVersion: 'Vorherige',
213
+ currentVersion: 'Aktuelle',
214
+ // Discussion
215
+ discussion: 'Diskussion',
216
+ showDiscussion: 'Diskussion anzeigen ({{count}})',
217
+ hideDiscussion: 'Diskussion ausblenden',
218
+ // Rich text editor
219
+ bold: 'Fett (Strg+B)',
220
+ italic: 'Kursiv (Strg+I)',
221
+ listFormat: 'Liste',
222
+ inlineCode: 'Inline-Code',
223
+ mentionSomeone: 'Jemanden erwähnen',
224
+ preview: 'Vorschau',
225
+ submitComment: 'Senden (Strg+Enter)',
226
+ writeComment: 'Kommentar schreiben…',
227
+ // Subscription
228
+ subscribedTooltip: 'Abonniert — Klicken zum Abbestellen',
229
+ unsubscribedTooltip: 'Benachrichtigungen abonnieren',
230
+ // Navigation
231
+ firstRecord: 'Erster Datensatz (Pos1)',
232
+ previousRecordKey: 'Vorheriger Datensatz (←)',
233
+ nextRecordKey: 'Nächster Datensatz (→)',
234
+ lastRecord: 'Letzter Datensatz (Ende)',
235
+ noRecords: 'Keine Datensätze',
236
+ searchWhileNavigating: 'Während der Navigation suchen',
237
+ searchRecords: 'Datensätze suchen…',
238
+ // Activity timeline
239
+ allActivity: 'Alle Aktivitäten',
240
+ commentsOnly: 'Nur Kommentare',
241
+ fieldChangesFilter: 'Feldänderungen',
242
+ tasksOnly: 'Nur Aufgaben',
243
+ leaveCommentPlaceholder: 'Kommentar hinterlassen… (Strg+Enter zum Senden)',
244
+ noActivity: 'Keine Aktivitäten aufgezeichnet',
245
+ loadMore: 'Mehr laden',
246
+ edited: '(bearbeitet)',
247
+ via: 'über {{source}}',
248
+ // Replies
249
+ replyCount: '{{count}} Antwort',
250
+ replyCountPlural: '{{count}} Antworten',
251
+ replyPlaceholder: 'Antworten…',
252
+ filterActivity: 'Aktivität filtern',
253
+ openDiscussion: 'Diskussionspanel öffnen',
254
+ closeDiscussion: 'Diskussionspanel schließen',
255
+ subscribeAriaLabel: 'Benachrichtigungen abonnieren',
256
+ unsubscribeAriaLabel: 'Benachrichtigungen abbestellen',
257
+ clearSearch: 'Suche löschen',
167
258
  },
168
259
  chart: {
169
260
  noData: 'Keine Diagrammdaten verfügbar',
170
261
  loading: 'Diagramm wird geladen...',
171
262
  },
263
+ map: {
264
+ searchLocations: 'Orte suchen…',
265
+ locationDetails: 'Standortdetails',
266
+ markersCount: '{{count}} Markierungen',
267
+ invalidCoordinates: '{{count}} Datensatz mit fehlenden oder ungültigen Koordinaten von der Karte ausgeschlossen.',
268
+ invalidCoordinatesPlural: '{{count}} Datensätze mit fehlenden oder ungültigen Koordinaten von der Karte ausgeschlossen.',
269
+ },
270
+ workflow: {
271
+ draft: 'Entwurf',
272
+ active: 'Aktiv',
273
+ paused: 'Pausiert',
274
+ completed: 'Abgeschlossen',
275
+ cancelled: 'Abgebrochen',
276
+ save: 'Speichern',
277
+ publish: 'Veröffentlichen',
278
+ addNode: 'Knoten hinzufügen',
279
+ workflowFlow: 'Workflow-Ablauf',
280
+ properties: 'Eigenschaften',
281
+ connections: 'Verbindungen',
282
+ quickConnect: 'Schnellverbindung',
283
+ fromPlaceholder: 'Von...',
284
+ toPlaceholder: 'Nach...',
285
+ connect: 'Verbinden',
286
+ label: 'Bezeichnung',
287
+ type: 'Typ',
288
+ description: 'Beschreibung',
289
+ assignee: 'Zuständiger',
290
+ assigneeType: 'Zuständigkeitstyp',
291
+ user: 'Benutzer',
292
+ role: 'Rolle',
293
+ group: 'Gruppe',
294
+ expression: 'Ausdruck',
295
+ timeoutMinutes: 'Zeitlimit (Minuten)',
296
+ selectNodeToEdit: 'Knoten auswählen, um Eigenschaften zu bearbeiten',
297
+ workflowTitle: 'Workflow-Titel',
298
+ newWorkflow: 'Neuer Workflow',
299
+ outConnections: '{{count}} Ausgänge',
300
+ start: 'Start',
301
+ end: 'Ende',
302
+ task: 'Aufgabe',
303
+ userTask: 'Benutzeraufgabe',
304
+ serviceTask: 'Serviceaufgabe',
305
+ scriptTask: 'Skriptaufgabe',
306
+ approval: 'Genehmigung',
307
+ condition: 'Bedingung',
308
+ parallelGateway: 'Paralleles Gateway',
309
+ joinGateway: 'Zusammenführungs-Gateway',
310
+ boundaryEvent: 'Grenzereignis',
311
+ delay: 'Verzögerung',
312
+ notification: 'Benachrichtigung',
313
+ webhook: 'Webhook',
314
+ allowConcurrency: 'Erlauben (gleichzeitig ausführen)',
315
+ forbidConcurrency: 'Verbieten (neue überspringen)',
316
+ replaceConcurrency: 'Ersetzen (bestehende abbrechen)',
317
+ queueConcurrency: 'Warteschlange (nach aktuellem ausführen)',
318
+ conditionEvent: 'Bedingung',
319
+ manualEvent: 'Manuell',
320
+ webhookEvent: 'Webhook',
321
+ timerEvent: 'Timer',
322
+ signalEvent: 'Signal',
323
+ versionHistory: 'Versionshistorie',
324
+ importBpmn: 'BPMN importieren',
325
+ exportBpmn: 'BPMN exportieren',
326
+ undo: 'Rückgängig',
327
+ redo: 'Wiederholen',
328
+ resetZoom: 'Zoom zurücksetzen',
329
+ },
172
330
  dashboard: {
173
331
  addWidget: 'Widget hinzufügen',
174
332
  removeWidget: 'Widget entfernen',
@@ -322,6 +480,58 @@ const de = {
322
480
  modeLight: 'Hell',
323
481
  modeDark: 'Dunkel',
324
482
  mobilePreview: 'Mobile Vorschau',
483
+ objectManager: {
484
+ title: 'Objekt-Manager',
485
+ addObject: 'Neues Objekt',
486
+ searchPlaceholder: 'Objekte suchen…',
487
+ noObjects: 'Keine Objekte gefunden.',
488
+ objectName: 'API-Name',
489
+ objectLabel: 'Bezeichnung',
490
+ pluralLabel: 'Pluralbezeichnung',
491
+ icon: 'Symbol',
492
+ selectIcon: 'Symbol wählen…',
493
+ group: 'Gruppe',
494
+ noGroup: 'Keine Gruppe',
495
+ sortOrder: 'Sortierung',
496
+ enabled: 'Aktiviert',
497
+ relationships: 'Beziehungen',
498
+ systemBadge: 'System',
499
+ fieldCount: '{{count}} Felder',
500
+ ungrouped: 'Nicht gruppiert',
501
+ deleteConfirmTitle: 'Objekt löschen?',
502
+ deleteConfirmMessage: 'Das Objekt und alle zugehörigen Felder werden dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.',
503
+ },
504
+ fieldDesigner: {
505
+ title: 'Feld-Designer',
506
+ addField: 'Neues Feld',
507
+ searchPlaceholder: 'Felder suchen…',
508
+ allTypes: 'Alle Typen',
509
+ noFields: 'Keine Felder gefunden.',
510
+ fieldName: 'API-Name',
511
+ fieldLabel: 'Bezeichnung',
512
+ fieldType: 'Typ',
513
+ fieldGroup: 'Gruppe',
514
+ description: 'Beschreibung',
515
+ required: 'Erforderlich',
516
+ unique: 'Eindeutig',
517
+ readOnly: 'Schreibgeschützt',
518
+ hidden: 'Ausgeblendet',
519
+ indexed: 'Indiziert',
520
+ externalId: 'Externe ID',
521
+ trackHistory: 'Verlauf verfolgen',
522
+ defaultValue: 'Standardwert',
523
+ placeholder: 'Platzhalter',
524
+ referenceTo: 'Verweis auf',
525
+ formula: 'Formel',
526
+ options: 'Optionen',
527
+ addOption: 'Option hinzufügen',
528
+ validationRules: 'Validierungsregeln',
529
+ addRule: 'Regel hinzufügen',
530
+ systemBadge: 'System',
531
+ ungrouped: 'Allgemein',
532
+ deleteConfirmTitle: 'Feld löschen?',
533
+ deleteConfirmMessage: 'Das Feld wird dauerhaft gelöscht. Vorhandene Daten in diesem Feld gehen verloren.',
534
+ },
325
535
  },
326
536
  console: {
327
537
  title: 'ObjectStack Konsole',
@@ -337,6 +547,16 @@ const de = {
337
547
  loadingConfig: 'Konfiguration laden',
338
548
  preparingWorkspace: 'Arbeitsbereich vorbereiten',
339
549
  },
550
+ error: {
551
+ connectionFailed: 'Verbindung zum Server nicht möglich',
552
+ serverUnreachable: 'Der Server {{url}} ist nicht erreichbar.',
553
+ checkServer: 'Bitte prüfen Sie Ihre Netzwerkverbindung oder ob das Backend läuft.',
554
+ timeout: 'Zeitüberschreitung der Verbindung nach 10 Sekunden.',
555
+ },
556
+ actions: {
557
+ retry: 'Erneut versuchen',
558
+ retrying: 'Wird wiederholt…',
559
+ },
340
560
  shortcuts: {
341
561
  title: 'Tastenkürzel',
342
562
  description: 'Kurzreferenz für alle verfügbaren Tastenkürzel.',
@@ -407,7 +627,7 @@ const de = {
407
627
  generalHint: 'Ansichtstitel, Beschreibung und Typ',
408
628
  toolbar: 'Symbolleiste',
409
629
  toolbarHint: 'Suche, Filter, Sortierung, Gruppierung und Dichteumschaltung',
410
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
630
+ toolbarEnabledCount: '{{count}} von {{total}} aktiviert',
411
631
  navigationSection: 'Navigation',
412
632
  navigationHint: 'Zeilenklickverhalten und Detailansichtseinstellungen',
413
633
  records: 'Datensätze',
@@ -540,5 +760,53 @@ const de = {
540
760
  timeout: 'Zeitüberschreitung. Bitte versuchen Sie es erneut.',
541
761
  unknown: 'Ein unerwarteter Fehler ist aufgetreten.',
542
762
  },
763
+ workspace: {
764
+ label: 'Arbeitsbereiche',
765
+ default: 'Mein Arbeitsbereich',
766
+ switch: 'Arbeitsbereich wechseln',
767
+ create: 'Arbeitsbereich erstellen',
768
+ createTitle: 'Arbeitsbereich erstellen',
769
+ createDescription: 'Ein Arbeitsbereich ist ein gemeinsamer Raum für Ihr Team zur Zusammenarbeit.',
770
+ createButton: 'Arbeitsbereich erstellen',
771
+ nameLabel: 'Name des Arbeitsbereichs',
772
+ namePlaceholder: 'z.B. Acme Inc',
773
+ slugLabel: 'URL-Slug',
774
+ slugHint: 'In URLs verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche.',
775
+ invite: 'Mitglied einladen',
776
+ members: 'Mitglieder',
777
+ settings: 'Arbeitsbereichseinstellungen',
778
+ },
779
+ sidebar: {
780
+ settings: 'Einstellungen',
781
+ help: 'Hilfe',
782
+ helpTooltip: 'Hilfe und Dokumentation',
783
+ activityFeed: 'Aktivitätsfeed',
784
+ },
785
+ home: {
786
+ title: 'Startseite',
787
+ subtitle: 'Ihr Arbeitsbereich-Dashboard',
788
+ nav: 'Startseite',
789
+ allApps: 'Alle Anwendungen',
790
+ loading: 'Arbeitsbereich wird geladen...',
791
+ recent: 'Kürzlich',
792
+ starred: 'Mit Stern',
793
+ welcome: 'Willkommen bei ObjectUI',
794
+ welcomeDescription: 'Erstellen Sie zunächst Ihre erste Anwendung oder konfigurieren Sie Ihre Systemeinstellungen.',
795
+ createFirstApp: 'Erstellen Sie Ihre erste App',
796
+ systemSettings: 'Systemeinstellungen',
797
+ quickActions: {
798
+ title: 'Schnellaktionen',
799
+ createApp: 'App erstellen',
800
+ createAppDesc: 'Beginnen Sie mit einer neuen Anwendung',
801
+ manageObjects: 'Objekte verwalten',
802
+ manageObjectsDesc: 'Datenmodelle konfigurieren',
803
+ systemSettings: 'Systemeinstellungen',
804
+ systemSettingsDesc: 'Konfigurieren Sie Ihren Arbeitsbereich',
805
+ },
806
+ appCard: {
807
+ noDescription: 'Keine Beschreibung',
808
+ default: 'Standard',
809
+ },
810
+ },
543
811
  };
544
812
  export default de;
@@ -32,6 +32,8 @@ declare const en: {
32
32
  readonly noResults: "No results found";
33
33
  readonly required: "Required";
34
34
  readonly optional: "Optional";
35
+ readonly selectOption: "Select an option";
36
+ readonly select: "Select...";
35
37
  };
36
38
  readonly validation: {
37
39
  readonly required: "{{field}} is required";
@@ -54,6 +56,11 @@ declare const en: {
54
56
  readonly saveError: "Failed to save";
55
57
  readonly unsavedChanges: "You have unsaved changes. Are you sure you want to leave?";
56
58
  readonly stepOf: "Step {{current}} of {{total}}";
59
+ readonly createTitle: "Create {{object}}";
60
+ readonly editTitle: "Edit {{object}}";
61
+ readonly createDescription: "Add a new {{object}} to your database.";
62
+ readonly editDescription: "Update details for {{object}}";
63
+ readonly saveRecord: "Save Record";
57
64
  };
58
65
  readonly table: {
59
66
  readonly rowsPerPage: "Rows per page";
@@ -146,6 +153,22 @@ declare const en: {
146
153
  readonly deleteCard: "Delete card";
147
154
  readonly deleteColumn: "Delete column";
148
155
  };
156
+ readonly view: {
157
+ readonly rename: "Rename";
158
+ readonly duplicateView: "Duplicate View";
159
+ readonly shareView: "Share View";
160
+ readonly setAsDefault: "Set as Default";
161
+ readonly pinView: "Pin View";
162
+ readonly unpinView: "Unpin View";
163
+ readonly changeViewType: "Change View Type";
164
+ readonly deleteView: "Delete View";
165
+ readonly addView: "Add View";
166
+ readonly unsavedChanges: "Unsaved changes";
167
+ readonly saveAsView: "Save as View";
168
+ readonly moreViews: "{{count}} more";
169
+ readonly activeFilters: "Active filters";
170
+ readonly activeSort: "Active sort";
171
+ };
149
172
  readonly detail: {
150
173
  readonly back: "Back";
151
174
  readonly edit: "Edit";
@@ -191,11 +214,137 @@ declare const en: {
191
214
  readonly sortBy: "Sort by";
192
215
  readonly filterPlaceholder: "Filter...";
193
216
  readonly highlightFields: "Key Fields";
217
+ readonly comments: "Comments";
218
+ readonly searchComments: "Search comments…";
219
+ readonly addCommentPlaceholder: "Add a comment… (Ctrl+Enter to submit)";
220
+ readonly noMatchingComments: "No matching comments";
221
+ readonly noCommentsYet: "No comments yet";
222
+ readonly pinned: "Pinned";
223
+ readonly pin: "Pin";
224
+ readonly unpin: "Unpin";
225
+ readonly justNow: "just now";
226
+ readonly minutesAgo: "{{count}}m ago";
227
+ readonly hoursAgo: "{{count}}h ago";
228
+ readonly daysAgo: "{{count}}d ago";
229
+ readonly dropFilesToUpload: "Drop files here or click to upload";
230
+ readonly attachmentCount: "{{count}} attachment";
231
+ readonly attachmentCountPlural: "{{count}} attachments";
232
+ readonly removeAttachment: "Remove attachment";
233
+ readonly unifiedDiff: "Unified diff";
234
+ readonly sideBySideDiff: "Side-by-side diff";
235
+ readonly noChanges: "No changes";
236
+ readonly previousVersion: "Previous";
237
+ readonly currentVersion: "Current";
238
+ readonly discussion: "Discussion";
239
+ readonly showDiscussion: "Show Discussion ({{count}})";
240
+ readonly hideDiscussion: "Hide discussion";
241
+ readonly bold: "Bold (Ctrl+B)";
242
+ readonly italic: "Italic (Ctrl+I)";
243
+ readonly listFormat: "List";
244
+ readonly inlineCode: "Inline code";
245
+ readonly mentionSomeone: "Mention someone";
246
+ readonly preview: "Preview";
247
+ readonly submitComment: "Submit (Ctrl+Enter)";
248
+ readonly writeComment: "Write a comment…";
249
+ readonly subscribedTooltip: "Subscribed — click to unsubscribe";
250
+ readonly unsubscribedTooltip: "Subscribe to notifications";
251
+ readonly firstRecord: "First record (Home)";
252
+ readonly previousRecordKey: "Previous record (←)";
253
+ readonly nextRecordKey: "Next record (→)";
254
+ readonly lastRecord: "Last record (End)";
255
+ readonly noRecords: "No records";
256
+ readonly searchWhileNavigating: "Search while navigating";
257
+ readonly searchRecords: "Search records…";
258
+ readonly allActivity: "All Activity";
259
+ readonly commentsOnly: "Comments Only";
260
+ readonly fieldChangesFilter: "Field Changes";
261
+ readonly tasksOnly: "Tasks Only";
262
+ readonly leaveCommentPlaceholder: "Leave a comment… (Ctrl+Enter to submit)";
263
+ readonly noActivity: "No activity recorded";
264
+ readonly loadMore: "Load more";
265
+ readonly edited: "(edited)";
266
+ readonly via: "via {{source}}";
267
+ readonly replyCount: "{{count}} reply";
268
+ readonly replyCountPlural: "{{count}} replies";
269
+ readonly replyPlaceholder: "Reply…";
270
+ readonly filterActivity: "Filter activity";
271
+ readonly openDiscussion: "Open discussion panel";
272
+ readonly closeDiscussion: "Close discussion panel";
273
+ readonly subscribeAriaLabel: "Subscribe to notifications";
274
+ readonly unsubscribeAriaLabel: "Unsubscribe from notifications";
275
+ readonly clearSearch: "Clear search";
194
276
  };
195
277
  readonly chart: {
196
278
  readonly noData: "No chart data available";
197
279
  readonly loading: "Loading chart...";
198
280
  };
281
+ readonly map: {
282
+ readonly searchLocations: "Search locations…";
283
+ readonly locationDetails: "Location Details";
284
+ readonly markersCount: "{{count}} markers";
285
+ readonly invalidCoordinates: "{{count}} record with missing or invalid coordinates excluded from the map.";
286
+ readonly invalidCoordinatesPlural: "{{count}} records with missing or invalid coordinates excluded from the map.";
287
+ };
288
+ readonly workflow: {
289
+ readonly draft: "Draft";
290
+ readonly active: "Active";
291
+ readonly paused: "Paused";
292
+ readonly completed: "Completed";
293
+ readonly cancelled: "Cancelled";
294
+ readonly save: "Save";
295
+ readonly publish: "Publish";
296
+ readonly addNode: "Add Node";
297
+ readonly workflowFlow: "Workflow Flow";
298
+ readonly properties: "Properties";
299
+ readonly connections: "Connections";
300
+ readonly quickConnect: "Quick Connect";
301
+ readonly fromPlaceholder: "From...";
302
+ readonly toPlaceholder: "To...";
303
+ readonly connect: "Connect";
304
+ readonly label: "Label";
305
+ readonly type: "Type";
306
+ readonly description: "Description";
307
+ readonly assignee: "Assignee";
308
+ readonly assigneeType: "Assignee Type";
309
+ readonly user: "User";
310
+ readonly role: "Role";
311
+ readonly group: "Group";
312
+ readonly expression: "Expression";
313
+ readonly timeoutMinutes: "Timeout (minutes)";
314
+ readonly selectNodeToEdit: "Select a node to edit its properties";
315
+ readonly workflowTitle: "Workflow Title";
316
+ readonly newWorkflow: "New Workflow";
317
+ readonly outConnections: "{{count}} out";
318
+ readonly start: "Start";
319
+ readonly end: "End";
320
+ readonly task: "Task";
321
+ readonly userTask: "User Task";
322
+ readonly serviceTask: "Service Task";
323
+ readonly scriptTask: "Script Task";
324
+ readonly approval: "Approval";
325
+ readonly condition: "Condition";
326
+ readonly parallelGateway: "Parallel Gateway";
327
+ readonly joinGateway: "Join Gateway";
328
+ readonly boundaryEvent: "Boundary Event";
329
+ readonly delay: "Delay";
330
+ readonly notification: "Notification";
331
+ readonly webhook: "Webhook";
332
+ readonly allowConcurrency: "Allow (run concurrently)";
333
+ readonly forbidConcurrency: "Forbid (skip new)";
334
+ readonly replaceConcurrency: "Replace (cancel existing)";
335
+ readonly queueConcurrency: "Queue (run after current)";
336
+ readonly conditionEvent: "Condition";
337
+ readonly manualEvent: "Manual";
338
+ readonly webhookEvent: "Webhook";
339
+ readonly timerEvent: "Timer";
340
+ readonly signalEvent: "Signal";
341
+ readonly versionHistory: "Version History";
342
+ readonly importBpmn: "Import BPMN";
343
+ readonly exportBpmn: "Export BPMN";
344
+ readonly undo: "Undo";
345
+ readonly redo: "Redo";
346
+ readonly resetZoom: "Reset zoom";
347
+ };
199
348
  readonly dashboard: {
200
349
  readonly addWidget: "Add widget";
201
350
  readonly removeWidget: "Remove widget";
@@ -349,6 +498,69 @@ declare const en: {
349
498
  readonly modeLight: "Light";
350
499
  readonly modeDark: "Dark";
351
500
  readonly mobilePreview: "Mobile Preview";
501
+ readonly objectManager: {
502
+ readonly title: "Object Manager";
503
+ readonly addObject: "New Object";
504
+ readonly searchPlaceholder: "Search objects…";
505
+ readonly noObjects: "No objects found.";
506
+ readonly objectName: "API Name";
507
+ readonly objectLabel: "Label";
508
+ readonly pluralLabel: "Plural Label";
509
+ readonly icon: "Icon";
510
+ readonly selectIcon: "Select icon…";
511
+ readonly group: "Group";
512
+ readonly noGroup: "No Group";
513
+ readonly sortOrder: "Sort Order";
514
+ readonly enabled: "Enabled";
515
+ readonly relationships: "Relationships";
516
+ readonly systemBadge: "System";
517
+ readonly fieldCount: "{{count}} fields";
518
+ readonly ungrouped: "Ungrouped";
519
+ readonly deleteConfirmTitle: "Delete Object?";
520
+ readonly deleteConfirmMessage: "This will permanently delete the object and all its fields. This action cannot be undone.";
521
+ };
522
+ readonly fieldDesigner: {
523
+ readonly title: "Field Designer";
524
+ readonly addField: "New Field";
525
+ readonly searchPlaceholder: "Search fields…";
526
+ readonly allTypes: "All Types";
527
+ readonly noFields: "No fields found.";
528
+ readonly fieldName: "API Name";
529
+ readonly fieldLabel: "Label";
530
+ readonly fieldType: "Type";
531
+ readonly fieldGroup: "Group";
532
+ readonly description: "Description";
533
+ readonly required: "Required";
534
+ readonly unique: "Unique";
535
+ readonly readOnly: "Read Only";
536
+ readonly hidden: "Hidden";
537
+ readonly indexed: "Indexed";
538
+ readonly externalId: "External ID";
539
+ readonly trackHistory: "Track History";
540
+ readonly defaultValue: "Default Value";
541
+ readonly placeholder: "Placeholder";
542
+ readonly referenceTo: "Reference To";
543
+ readonly formula: "Formula";
544
+ readonly options: "Options";
545
+ readonly addOption: "Add Option";
546
+ readonly validationRules: "Validation Rules";
547
+ readonly addRule: "Add Rule";
548
+ readonly systemBadge: "System";
549
+ readonly ungrouped: "General";
550
+ readonly deleteConfirmTitle: "Delete Field?";
551
+ readonly deleteConfirmMessage: "This will permanently delete the field. Existing data in this field will be lost.";
552
+ readonly basicSection: "Basic";
553
+ readonly typeSpecificSection: "Type Settings";
554
+ readonly advancedSection: "Advanced";
555
+ readonly typeCategory: {
556
+ readonly text: "Text";
557
+ readonly number: "Number";
558
+ readonly date: "Date & Time";
559
+ readonly choice: "Choice";
560
+ readonly relation: "Relation";
561
+ readonly advanced: "Advanced";
562
+ };
563
+ };
352
564
  };
353
565
  readonly console: {
354
566
  readonly title: "ObjectStack Console";
@@ -364,6 +576,16 @@ declare const en: {
364
576
  readonly loadingConfig: "Loading configuration";
365
577
  readonly preparingWorkspace: "Preparing workspace";
366
578
  };
579
+ readonly error: {
580
+ readonly connectionFailed: "Cannot connect to server";
581
+ readonly serverUnreachable: "The server at {{url}} is unreachable.";
582
+ readonly checkServer: "Please check your network connection or that the backend is running.";
583
+ readonly timeout: "Connection timed out after 10 seconds.";
584
+ };
585
+ readonly actions: {
586
+ readonly retry: "Retry";
587
+ readonly retrying: "Retrying…";
588
+ };
367
589
  readonly shortcuts: {
368
590
  readonly title: "Keyboard Shortcuts";
369
591
  readonly description: "Quick reference for all available keyboard shortcuts.";
@@ -619,6 +841,63 @@ declare const en: {
619
841
  readonly timeout: "Request timed out. Please try again.";
620
842
  readonly unknown: "An unexpected error occurred.";
621
843
  };
844
+ readonly workspace: {
845
+ readonly label: "Workspaces";
846
+ readonly default: "My Workspace";
847
+ readonly switch: "Switch workspace";
848
+ readonly create: "Create workspace";
849
+ readonly createTitle: "Create a workspace";
850
+ readonly createDescription: "A workspace is a shared space for your team to collaborate.";
851
+ readonly createButton: "Create workspace";
852
+ readonly nameLabel: "Workspace name";
853
+ readonly namePlaceholder: "e.g., Acme Inc";
854
+ readonly slugLabel: "URL slug";
855
+ readonly slugHint: "Used in URLs. Only lowercase letters, numbers, and hyphens.";
856
+ readonly invite: "Invite member";
857
+ readonly members: "Members";
858
+ readonly settings: "Workspace settings";
859
+ };
860
+ readonly sidebar: {
861
+ readonly settings: "Settings";
862
+ readonly help: "Help";
863
+ readonly helpTooltip: "Help & Documentation";
864
+ readonly activityFeed: "Activity feed";
865
+ };
866
+ readonly home: {
867
+ readonly title: "Home";
868
+ readonly subtitle: "Your workspace dashboard";
869
+ readonly nav: "Home";
870
+ readonly allApps: "All Applications";
871
+ readonly loading: "Loading workspace...";
872
+ readonly recent: "Recent";
873
+ readonly starred: "Starred";
874
+ readonly welcome: "Welcome to ObjectUI";
875
+ readonly welcomeDescription: "Get started by creating your first application or configure your system settings.";
876
+ readonly createFirstApp: "Create Your First App";
877
+ readonly systemSettings: "System Settings";
878
+ readonly quickActions: {
879
+ readonly title: "Quick Actions";
880
+ readonly createApp: "Create App";
881
+ readonly createAppDesc: "Start with a new application";
882
+ readonly manageObjects: "Manage Objects";
883
+ readonly manageObjectsDesc: "Configure data models";
884
+ readonly systemSettings: "System Settings";
885
+ readonly systemSettingsDesc: "Configure your workspace";
886
+ };
887
+ readonly recentApps: {
888
+ readonly title: "Recently Accessed";
889
+ readonly itemType: {
890
+ readonly object: "Object";
891
+ readonly dashboard: "Dashboard";
892
+ readonly page: "Page";
893
+ readonly record: "Record";
894
+ };
895
+ };
896
+ readonly appCard: {
897
+ readonly noDescription: "No description";
898
+ readonly default: "Default";
899
+ };
900
+ };
622
901
  };
623
902
  export default en;
624
903
  export type TranslationKeys = typeof en;