@object-ui/i18n 3.3.0 → 3.3.2

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 (53) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +21 -1
  3. package/dist/i18n.js +10 -1
  4. package/dist/locales/ar.d.ts +58 -0
  5. package/dist/locales/ar.js +58 -0
  6. package/dist/locales/de.d.ts +58 -0
  7. package/dist/locales/de.js +58 -0
  8. package/dist/locales/en.d.ts +78 -0
  9. package/dist/locales/en.js +78 -0
  10. package/dist/locales/es.d.ts +58 -0
  11. package/dist/locales/es.js +58 -0
  12. package/dist/locales/fr.d.ts +58 -0
  13. package/dist/locales/fr.js +58 -0
  14. package/dist/locales/index.d.ts +620 -0
  15. package/dist/locales/ja.d.ts +58 -0
  16. package/dist/locales/ja.js +58 -0
  17. package/dist/locales/ko.d.ts +58 -0
  18. package/dist/locales/ko.js +58 -0
  19. package/dist/locales/pt.d.ts +58 -0
  20. package/dist/locales/pt.js +58 -0
  21. package/dist/locales/ru.d.ts +58 -0
  22. package/dist/locales/ru.js +58 -0
  23. package/dist/locales/zh.d.ts +78 -0
  24. package/dist/locales/zh.js +78 -0
  25. package/dist/useObjectLabel.d.ts +46 -0
  26. package/dist/useObjectLabel.js +79 -12
  27. package/package.json +30 -7
  28. package/.turbo/turbo-build.log +0 -4
  29. package/src/__tests__/i18n.test.ts +0 -255
  30. package/src/__tests__/provider.test.tsx +0 -117
  31. package/src/__tests__/spec-formatters.test.ts +0 -208
  32. package/src/__tests__/useObjectLabel.test.tsx +0 -131
  33. package/src/i18n.ts +0 -98
  34. package/src/index.ts +0 -81
  35. package/src/locales/ar.ts +0 -742
  36. package/src/locales/de.ts +0 -755
  37. package/src/locales/en.ts +0 -836
  38. package/src/locales/es.ts +0 -741
  39. package/src/locales/fr.ts +0 -755
  40. package/src/locales/index.ts +0 -42
  41. package/src/locales/ja.ts +0 -752
  42. package/src/locales/ko.ts +0 -741
  43. package/src/locales/pt.ts +0 -741
  44. package/src/locales/ru.ts +0 -761
  45. package/src/locales/zh.ts +0 -835
  46. package/src/provider.tsx +0 -177
  47. package/src/useObjectLabel.ts +0 -122
  48. package/src/useSafeTranslation.ts +0 -49
  49. package/src/utils/formatting.ts +0 -136
  50. package/src/utils/index.ts +0 -21
  51. package/src/utils/spec-formatters.ts +0 -220
  52. package/tsconfig.json +0 -12
  53. package/tsconfig.tsbuildinfo +0 -1
package/src/locales/en.ts DELETED
@@ -1,836 +0,0 @@
1
- /**
2
- * English (en) - Default language pack for Object UI
3
- */
4
- const en = {
5
- common: {
6
- loading: 'Loading...',
7
- save: 'Save',
8
- cancel: 'Cancel',
9
- delete: 'Delete',
10
- edit: 'Edit',
11
- create: 'Create',
12
- search: 'Search',
13
- filter: 'Filter',
14
- reset: 'Reset',
15
- confirm: 'Confirm',
16
- close: 'Close',
17
- back: 'Back',
18
- next: 'Next',
19
- previous: 'Previous',
20
- submit: 'Submit',
21
- refresh: 'Refresh',
22
- export: 'Export',
23
- import: 'Import',
24
- yes: 'Yes',
25
- no: 'No',
26
- ok: 'OK',
27
- actions: 'Actions',
28
- more: 'More',
29
- selectAll: 'Select All',
30
- clearAll: 'Clear All',
31
- noData: 'No data',
32
- noResults: 'No results found',
33
- required: 'Required',
34
- optional: 'Optional',
35
- selectOption: 'Select an option',
36
- select: 'Select...',
37
- },
38
- validation: {
39
- required: '{{field}} is required',
40
- minLength: '{{field}} must be at least {{min}} characters',
41
- maxLength: '{{field}} must be at most {{max}} characters',
42
- min: '{{field}} must be at least {{min}}',
43
- max: '{{field}} must be at most {{max}}',
44
- email: 'Please enter a valid email address',
45
- url: 'Please enter a valid URL',
46
- pattern: '{{field}} format is invalid',
47
- unique: '{{field}} must be unique',
48
- type: '{{field}} must be a valid {{type}}',
49
- },
50
- form: {
51
- addItem: 'Add item',
52
- removeItem: 'Remove item',
53
- fieldRequired: 'This field is required',
54
- invalidFormat: 'Invalid format',
55
- saveSuccess: 'Saved successfully',
56
- saveError: 'Failed to save',
57
- unsavedChanges: 'You have unsaved changes. Are you sure you want to leave?',
58
- stepOf: 'Step {{current}} of {{total}}',
59
- createTitle: 'Create {{object}}',
60
- editTitle: 'Edit {{object}}',
61
- createDescription: 'Add a new {{object}} to your database.',
62
- editDescription: 'Update details for {{object}}',
63
- saveRecord: 'Save Record',
64
- },
65
- table: {
66
- rowsPerPage: 'Rows per page',
67
- showing: 'Showing {{from}} to {{to}} of {{total}}',
68
- noRows: 'No rows to display',
69
- sortAsc: 'Sort ascending',
70
- sortDesc: 'Sort descending',
71
- filterColumn: 'Filter {{column}}',
72
- columns: 'Columns',
73
- exportCSV: 'Export CSV',
74
- exportExcel: 'Export Excel',
75
- selectRow: 'Select row',
76
- selectAllRows: 'Select all rows',
77
- expandRow: 'Expand row',
78
- collapseRow: 'Collapse row',
79
- hideColumn: 'Hide column',
80
- freezeColumn: 'Freeze column',
81
- unfreezeColumn: 'Unfreeze column',
82
- pageInfo: 'Page {{current}} of {{total}}',
83
- totalRecords: '{{count}} total',
84
- noResults: 'No results found',
85
- noResultsHint: 'Try adjusting your filters or search query.',
86
- cancelAll: 'Cancel All',
87
- saveAll: 'Save All ({{count}})',
88
- addRecord: 'Add record',
89
- open: 'Open',
90
- search: 'Search...',
91
- modified: '{{count}} row modified',
92
- selected: '{{count}} selected',
93
- },
94
- grid: {
95
- actions: 'Actions',
96
- edit: 'Edit',
97
- delete: 'Delete',
98
- export: 'Export',
99
- exportAs: 'Export as {{format}}',
100
- loading: 'Loading grid...',
101
- errorLoading: 'Error loading grid',
102
- pullToRefresh: 'Pull to refresh',
103
- refreshing: 'Refreshing…',
104
- openRecord: 'Open record',
105
- rowHeight: 'Row height: {{mode}}',
106
- },
107
- calendar: {
108
- today: 'Today',
109
- month: 'Month',
110
- week: 'Week',
111
- day: 'Day',
112
- agenda: 'Agenda',
113
- allDay: 'All Day',
114
- noEvents: 'No events',
115
- newEvent: 'New event',
116
- moreEvents: '+{{count}} more',
117
- },
118
- list: {
119
- recordCount: '{{count}} records',
120
- recordCountOne: '{{count}} record',
121
- addRecord: 'Add record',
122
- tabs: 'Tabs',
123
- allRecords: 'All Records',
124
- search: 'Search',
125
- filter: 'Filter',
126
- filterRecords: 'Filter Records',
127
- sort: 'Sort',
128
- sortRecords: 'Sort Records',
129
- group: 'Group',
130
- groupBy: 'Group By',
131
- export: 'Export',
132
- exportAs: 'Export as {{format}}',
133
- color: 'Color',
134
- rowColor: 'Row Color',
135
- colorByField: 'Color by field',
136
- clear: 'Clear',
137
- none: 'None',
138
- hideFields: 'Hide fields',
139
- noItems: 'No items found',
140
- noItemsMessage: 'There are no records to display. Try adjusting your filters or adding new data.',
141
- showAll: 'Show all',
142
- pullToRefresh: 'Pull to refresh',
143
- refreshing: 'Refreshing…',
144
- share: 'Share',
145
- print: 'Print',
146
- hideFieldsTitle: 'Hide Fields',
147
- dataLimitReached: 'Showing first {{limit}} records. More data may be available.',
148
- },
149
- kanban: {
150
- addCard: 'Add card',
151
- addColumn: 'Add column',
152
- moveCard: 'Move card',
153
- deleteCard: 'Delete card',
154
- deleteColumn: 'Delete column',
155
- },
156
- view: {
157
- rename: 'Rename',
158
- duplicateView: 'Duplicate View',
159
- shareView: 'Share View',
160
- setAsDefault: 'Set as Default',
161
- pinView: 'Pin View',
162
- unpinView: 'Unpin View',
163
- changeViewType: 'Change View Type',
164
- deleteView: 'Delete View',
165
- addView: 'Add View',
166
- unsavedChanges: 'Unsaved changes',
167
- saveAsView: 'Save as View',
168
- moreViews: '{{count}} more',
169
- activeFilters: 'Active filters',
170
- activeSort: 'Active sort',
171
- },
172
- detail: {
173
- back: 'Back',
174
- edit: 'Edit',
175
- editInline: 'Edit inline',
176
- save: 'Save',
177
- saveChanges: 'Save changes',
178
- editFieldsInline: 'Edit fields inline',
179
- share: 'Share',
180
- duplicate: 'Duplicate',
181
- export: 'Export',
182
- viewHistory: 'View history',
183
- delete: 'Delete',
184
- moreActions: 'More actions',
185
- addToFavorites: 'Add to favorites',
186
- removeFromFavorites: 'Remove from favorites',
187
- previousRecord: 'Previous record',
188
- nextRecord: 'Next record',
189
- recordOf: '{{current}} of {{total}}',
190
- recordNotFound: 'Record not found',
191
- recordNotFoundDescription: 'The record you are looking for does not exist or may have been deleted.',
192
- goBack: 'Go back',
193
- details: 'Details',
194
- related: 'Related',
195
- relatedRecords: '{{count}} records',
196
- relatedRecordOne: '{{count}} record',
197
- noRelatedRecords: 'No related records found',
198
- loading: 'Loading...',
199
- copyToClipboard: 'Copy to clipboard',
200
- copied: 'Copied!',
201
- deleteConfirmation: 'Are you sure you want to delete this record?',
202
- editRecord: 'Edit record',
203
- viewAll: 'View All',
204
- new: 'New',
205
- emptyValue: '—',
206
- activity: 'Activity',
207
- editRow: 'Edit',
208
- deleteRow: 'Delete',
209
- deleteRowConfirmation: 'Are you sure you want to delete this record?',
210
- actions: 'Actions',
211
- previousPage: 'Previous',
212
- nextPage: 'Next',
213
- pageOf: 'Page {{current}} of {{total}}',
214
- sortBy: 'Sort by',
215
- filterPlaceholder: 'Filter...',
216
- highlightFields: 'Key Fields',
217
- // Comments
218
- comments: 'Comments',
219
- searchComments: 'Search comments…',
220
- addCommentPlaceholder: 'Add a comment… (Ctrl+Enter to submit)',
221
- noMatchingComments: 'No matching comments',
222
- noCommentsYet: 'No comments yet',
223
- pinned: 'Pinned',
224
- pin: 'Pin',
225
- unpin: 'Unpin',
226
- justNow: 'just now',
227
- minutesAgo: '{{count}}m ago',
228
- hoursAgo: '{{count}}h ago',
229
- daysAgo: '{{count}}d ago',
230
- // Attachments
231
- dropFilesToUpload: 'Drop files here or click to upload',
232
- attachmentCount: '{{count}} attachment',
233
- attachmentCountPlural: '{{count}} attachments',
234
- removeAttachment: 'Remove attachment',
235
- // Diff
236
- unifiedDiff: 'Unified diff',
237
- sideBySideDiff: 'Side-by-side diff',
238
- noChanges: 'No changes',
239
- previousVersion: 'Previous',
240
- currentVersion: 'Current',
241
- // Discussion
242
- discussion: 'Discussion',
243
- showDiscussion: 'Show Discussion ({{count}})',
244
- hideDiscussion: 'Hide discussion',
245
- // Rich text editor
246
- bold: 'Bold (Ctrl+B)',
247
- italic: 'Italic (Ctrl+I)',
248
- listFormat: 'List',
249
- inlineCode: 'Inline code',
250
- mentionSomeone: 'Mention someone',
251
- preview: 'Preview',
252
- submitComment: 'Submit (Ctrl+Enter)',
253
- writeComment: 'Write a comment…',
254
- // Subscription
255
- subscribedTooltip: 'Subscribed — click to unsubscribe',
256
- unsubscribedTooltip: 'Subscribe to notifications',
257
- // Navigation
258
- firstRecord: 'First record (Home)',
259
- previousRecordKey: 'Previous record (←)',
260
- nextRecordKey: 'Next record (→)',
261
- lastRecord: 'Last record (End)',
262
- noRecords: 'No records',
263
- searchWhileNavigating: 'Search while navigating',
264
- searchRecords: 'Search records…',
265
- // Activity timeline
266
- allActivity: 'All Activity',
267
- commentsOnly: 'Comments Only',
268
- fieldChangesFilter: 'Field Changes',
269
- tasksOnly: 'Tasks Only',
270
- leaveCommentPlaceholder: 'Leave a comment… (Ctrl+Enter to submit)',
271
- noActivity: 'No activity recorded',
272
- loadMore: 'Load more',
273
- edited: '(edited)',
274
- via: 'via {{source}}',
275
- // Replies
276
- replyCount: '{{count}} reply',
277
- replyCountPlural: '{{count}} replies',
278
- replyPlaceholder: 'Reply…',
279
- // Aria labels
280
- filterActivity: 'Filter activity',
281
- openDiscussion: 'Open discussion panel',
282
- closeDiscussion: 'Close discussion panel',
283
- subscribeAriaLabel: 'Subscribe to notifications',
284
- unsubscribeAriaLabel: 'Unsubscribe from notifications',
285
- clearSearch: 'Clear search',
286
- },
287
- chart: {
288
- noData: 'No chart data available',
289
- loading: 'Loading chart...',
290
- },
291
- map: {
292
- searchLocations: 'Search locations…',
293
- locationDetails: 'Location Details',
294
- markersCount: '{{count}} markers',
295
- invalidCoordinates: '{{count}} record with missing or invalid coordinates excluded from the map.',
296
- invalidCoordinatesPlural: '{{count}} records with missing or invalid coordinates excluded from the map.',
297
- },
298
- workflow: {
299
- draft: 'Draft',
300
- active: 'Active',
301
- paused: 'Paused',
302
- completed: 'Completed',
303
- cancelled: 'Cancelled',
304
- save: 'Save',
305
- publish: 'Publish',
306
- addNode: 'Add Node',
307
- workflowFlow: 'Workflow Flow',
308
- properties: 'Properties',
309
- connections: 'Connections',
310
- quickConnect: 'Quick Connect',
311
- fromPlaceholder: 'From...',
312
- toPlaceholder: 'To...',
313
- connect: 'Connect',
314
- label: 'Label',
315
- type: 'Type',
316
- description: 'Description',
317
- assignee: 'Assignee',
318
- assigneeType: 'Assignee Type',
319
- user: 'User',
320
- role: 'Role',
321
- group: 'Group',
322
- expression: 'Expression',
323
- timeoutMinutes: 'Timeout (minutes)',
324
- selectNodeToEdit: 'Select a node to edit its properties',
325
- workflowTitle: 'Workflow Title',
326
- newWorkflow: 'New Workflow',
327
- outConnections: '{{count}} out',
328
- start: 'Start',
329
- end: 'End',
330
- task: 'Task',
331
- userTask: 'User Task',
332
- serviceTask: 'Service Task',
333
- scriptTask: 'Script Task',
334
- approval: 'Approval',
335
- condition: 'Condition',
336
- parallelGateway: 'Parallel Gateway',
337
- joinGateway: 'Join Gateway',
338
- boundaryEvent: 'Boundary Event',
339
- delay: 'Delay',
340
- notification: 'Notification',
341
- webhook: 'Webhook',
342
- allowConcurrency: 'Allow (run concurrently)',
343
- forbidConcurrency: 'Forbid (skip new)',
344
- replaceConcurrency: 'Replace (cancel existing)',
345
- queueConcurrency: 'Queue (run after current)',
346
- conditionEvent: 'Condition',
347
- manualEvent: 'Manual',
348
- webhookEvent: 'Webhook',
349
- timerEvent: 'Timer',
350
- signalEvent: 'Signal',
351
- versionHistory: 'Version History',
352
- importBpmn: 'Import BPMN',
353
- exportBpmn: 'Export BPMN',
354
- undo: 'Undo',
355
- redo: 'Redo',
356
- resetZoom: 'Reset zoom',
357
- },
358
- dashboard: {
359
- addWidget: 'Add widget',
360
- removeWidget: 'Remove widget',
361
- editLayout: 'Edit layout',
362
- saveLayout: 'Save layout',
363
- resetLayout: 'Reset layout',
364
- },
365
- configPanel: {
366
- save: 'Save',
367
- discard: 'Discard',
368
- close: 'Close',
369
- layout: 'Layout',
370
- columns: 'Columns',
371
- gap: 'Gap',
372
- rowHeight: 'Row height',
373
- data: 'Data',
374
- refreshInterval: 'Refresh interval',
375
- appearance: 'Appearance',
376
- title: 'Title',
377
- showDescription: 'Show description',
378
- theme: 'Theme',
379
- configuration: 'Configuration',
380
- general: 'General',
381
- advanced: 'Advanced',
382
- },
383
- appDesigner: {
384
- createApp: 'Create Application',
385
- editApp: 'Edit Application',
386
- basicInfo: 'Basic Info',
387
- objects: 'Objects',
388
- navigation: 'Navigation',
389
- branding: 'Branding',
390
- appName: 'App Name',
391
- appTitle: 'Title',
392
- appDescription: 'Description',
393
- appIcon: 'Icon',
394
- template: 'Template',
395
- layout: 'Layout',
396
- layoutSidebar: 'Sidebar',
397
- layoutHeader: 'Header',
398
- layoutEmpty: 'Empty',
399
- selectObjects: 'Select Objects',
400
- searchObjects: 'Search objects…',
401
- selectAll: 'Select All',
402
- deselectAll: 'Deselect All',
403
- navBuilder: 'Navigation Builder',
404
- addGroup: 'Add Group',
405
- addUrl: 'Add URL',
406
- addSeparator: 'Add Separator',
407
- noNavItems: 'No navigation items yet.',
408
- logoUrl: 'Logo URL',
409
- primaryColor: 'Primary Color',
410
- faviconUrl: 'Favicon URL',
411
- preview: 'Preview',
412
- complete: 'Complete',
413
- snakeCaseHint: 'Must be snake_case (e.g. my_app)',
414
- modeEdit: 'Edit',
415
- modePreview: 'Preview',
416
- modeCode: 'Code',
417
- addWidget: 'Add Widget',
418
- widgetProperties: 'Widget Properties',
419
- dataSource: 'Data Source',
420
- valueField: 'Value Field',
421
- aggregate: 'Aggregate',
422
- colorVariant: 'Color Variant',
423
- addComponent: 'Add Component',
424
- componentProperties: 'Component Properties',
425
- viewType: 'View Type',
426
- fields: 'Fields',
427
- toolbar: 'Toolbar',
428
- showSearch: 'Show Search',
429
- showFilters: 'Show Filters',
430
- showSort: 'Show Sort',
431
- appearance: 'Appearance',
432
- rowHeight: 'Row Height',
433
- stripedRows: 'Striped Rows',
434
- bordered: 'Bordered',
435
- livePreview: 'Live Preview',
436
- stepBasicDesc: 'Name, title, and layout',
437
- stepObjectsDesc: 'Select business objects',
438
- stepNavigationDesc: 'Build navigation tree',
439
- stepBrandingDesc: 'Logo, colors, and favicon',
440
- noObjectsFound: 'No objects found.',
441
- noNavItemsHint: 'No navigation items yet. Select objects in the previous step or add items manually.',
442
- separator: 'Separator',
443
- separatorLabel: '— Separator —',
444
- newGroup: 'New Group',
445
- newLink: 'New Link',
446
- saveDraft: 'Save Draft',
447
- cancelConfirmTitle: 'Discard changes?',
448
- cancelConfirmMessage: 'You have unsaved changes. Are you sure you want to cancel?',
449
- confirmDiscard: 'Discard',
450
- keepEditing: 'Keep Editing',
451
- navNoItems: 'No navigation items. Click buttons above to add items.',
452
- navNoPreviewItems: 'No items',
453
- navLivePreview: 'Live Preview',
454
- navCollapseGroup: 'Collapse group',
455
- navExpandGroup: 'Expand group',
456
- navAddChild: 'Add child',
457
- navMoveUp: 'Move up',
458
- navMoveDown: 'Move down',
459
- navRemove: 'Remove',
460
- navObjectPage: 'Object Page',
461
- navDashboard: 'Dashboard',
462
- navPage: 'Page',
463
- navReport: 'Report',
464
- navGroup: 'Group',
465
- navUrl: 'URL',
466
- navSeparator: 'Separator',
467
- navTypeObject: 'Object',
468
- navTypeDashboard: 'Dashboard',
469
- navTypePage: 'Page',
470
- navTypeReport: 'Report',
471
- navTypeUrl: 'URL',
472
- navTypeGroup: 'Group',
473
- navTypeSeparator: 'Separator',
474
- navTypeAction: 'Action',
475
- navEditIcon: 'Edit icon',
476
- navToggleVisible: 'Toggle visibility',
477
- navHidden: 'Hidden',
478
- navExportSchema: 'Export JSON',
479
- navImportSchema: 'Import JSON',
480
- navExportSuccess: 'Navigation schema exported',
481
- navImportSuccess: 'Navigation schema imported',
482
- navImportError: 'Invalid navigation JSON',
483
- navIconPlaceholder: 'Icon name (e.g. Users)',
484
- dashboardEditor: 'Dashboard Editor',
485
- noWidgets: 'No widgets. Click a button above to add one.',
486
- widgetLayoutSize: 'Layout Size',
487
- widgetWidth: 'Width',
488
- widgetHeight: 'Height',
489
- dashboardPreview: 'Dashboard Preview',
490
- noWidgetsPreview: 'No widgets to preview',
491
- pageCanvasEditor: 'Page Canvas Editor',
492
- emptyPage: 'Empty page. Click a button above to add a component.',
493
- pagePreview: 'Page Preview',
494
- noComponentsPreview: 'No components to preview',
495
- modePage: 'Page',
496
- modeDashboard: 'Dashboard',
497
- undo: 'Undo',
498
- redo: 'Redo',
499
- brandingEditor: 'Branding Editor',
500
- brandingExport: 'Export JSON',
501
- brandingImport: 'Import JSON',
502
- brandingPreview: 'Preview',
503
- brandingSampleButton: 'Sample Button',
504
- brandingSampleText: 'This is how your brand theme will look.',
505
- colorPalette: 'Color Palette',
506
- fontFamily: 'Font Family',
507
- fontDefault: 'Default (System)',
508
- modeLight: 'Light',
509
- modeDark: 'Dark',
510
- mobilePreview: 'Mobile Preview',
511
- objectManager: {
512
- title: 'Object Manager',
513
- addObject: 'New Object',
514
- searchPlaceholder: 'Search objects…',
515
- noObjects: 'No objects found.',
516
- objectName: 'API Name',
517
- objectLabel: 'Label',
518
- pluralLabel: 'Plural Label',
519
- icon: 'Icon',
520
- selectIcon: 'Select icon…',
521
- group: 'Group',
522
- noGroup: 'No Group',
523
- sortOrder: 'Sort Order',
524
- enabled: 'Enabled',
525
- relationships: 'Relationships',
526
- systemBadge: 'System',
527
- fieldCount: '{{count}} fields',
528
- ungrouped: 'Ungrouped',
529
- deleteConfirmTitle: 'Delete Object?',
530
- deleteConfirmMessage: 'This will permanently delete the object and all its fields. This action cannot be undone.',
531
- },
532
- fieldDesigner: {
533
- title: 'Field Designer',
534
- addField: 'New Field',
535
- searchPlaceholder: 'Search fields…',
536
- allTypes: 'All Types',
537
- noFields: 'No fields found.',
538
- fieldName: 'API Name',
539
- fieldLabel: 'Label',
540
- fieldType: 'Type',
541
- fieldGroup: 'Group',
542
- description: 'Description',
543
- required: 'Required',
544
- unique: 'Unique',
545
- readOnly: 'Read Only',
546
- hidden: 'Hidden',
547
- indexed: 'Indexed',
548
- externalId: 'External ID',
549
- trackHistory: 'Track History',
550
- defaultValue: 'Default Value',
551
- placeholder: 'Placeholder',
552
- referenceTo: 'Reference To',
553
- formula: 'Formula',
554
- options: 'Options',
555
- addOption: 'Add Option',
556
- validationRules: 'Validation Rules',
557
- addRule: 'Add Rule',
558
- systemBadge: 'System',
559
- ungrouped: 'General',
560
- deleteConfirmTitle: 'Delete Field?',
561
- deleteConfirmMessage: 'This will permanently delete the field. Existing data in this field will be lost.',
562
- },
563
- },
564
- console: {
565
- title: 'ObjectStack Console',
566
- initializing: 'Initializing application...',
567
- breadcrumb: {
568
- dashboards: 'Dashboards',
569
- pages: 'Pages',
570
- reports: 'Reports',
571
- system: 'System',
572
- },
573
- loadingSteps: {
574
- connecting: 'Connecting to data source',
575
- loadingConfig: 'Loading configuration',
576
- preparingWorkspace: 'Preparing workspace',
577
- },
578
- shortcuts: {
579
- title: 'Keyboard Shortcuts',
580
- description: 'Quick reference for all available keyboard shortcuts.',
581
- groups: {
582
- general: 'General',
583
- navigation: 'Navigation',
584
- dataViews: 'Data Views',
585
- preferences: 'Preferences',
586
- },
587
- openCommandPalette: 'Open command palette',
588
- showShortcuts: 'Show keyboard shortcuts',
589
- closeDialog: 'Close dialog / panel',
590
- toggleSidebar: 'Toggle sidebar',
591
- focusSearch: 'Focus search',
592
- createRecord: 'Create new record',
593
- refreshData: 'Refresh data',
594
- editRecord: 'Edit selected record',
595
- toggleDarkMode: 'Toggle dark mode',
596
- },
597
- commandPalette: {
598
- placeholder: 'Type a command or search...',
599
- noResults: 'No results found.',
600
- objects: 'Objects',
601
- dashboards: 'Dashboards',
602
- pages: 'Pages',
603
- reports: 'Reports',
604
- switchApp: 'Switch App',
605
- current: 'Current',
606
- preferences: 'Preferences',
607
- lightTheme: 'Light Theme',
608
- darkTheme: 'Dark Theme',
609
- systemTheme: 'System Theme',
610
- actions: 'Actions',
611
- openFullSearch: 'Open Full Search Page',
612
- createApp: 'Create New App',
613
- },
614
- errors: {
615
- somethingWentWrong: 'Something went wrong',
616
- unexpectedError: 'An unexpected error occurred while rendering this view.',
617
- tryAgain: 'Try Again',
618
- goHome: 'Go Home',
619
- errorDetails: 'Error Details (dev only)',
620
- },
621
- theme: {
622
- toggle: 'Toggle theme',
623
- light: 'Light',
624
- dark: 'Dark',
625
- system: 'System',
626
- },
627
- objectView: {
628
- objectNotFound: 'Object Not Found',
629
- objectNotFoundDescription: 'The object "{{objectName}}" does not exist in the current configuration.',
630
- objectNotFoundHint: 'Check your app navigation settings or select a different object from the sidebar.',
631
- allRecords: 'All Records',
632
- exitDesignMode: 'Exit Design Mode',
633
- enterDesignMode: 'Enter Design Mode',
634
- metadataInspector: 'Metadata Inspector',
635
- editView: 'Edit View',
636
- addView: 'Add View',
637
- designTools: 'Design tools',
638
- new: 'New',
639
- configureView: 'Configure View',
640
- closePanel: 'Close panel',
641
- page: 'Page',
642
- pageConfigHint: 'Toolbar, navigation & view shell settings',
643
- listConfigHint: 'Data rendering, columns & appearance for this list type',
644
- general: 'General',
645
- generalHint: 'View title, description, and type',
646
- toolbar: 'Toolbar',
647
- toolbarHint: 'Search, filter, sort, group, and density toggles',
648
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
649
- navigationSection: 'Navigation',
650
- navigationHint: 'Row click behavior and detail view settings',
651
- records: 'Records',
652
- recordsHint: 'Selection mode, add record, and inline editing',
653
- exportPrint: 'Export & Print',
654
- exportPrintHint: 'Export formats, printing, and record count display',
655
- showAllFields: 'Show All',
656
- hideAllFields: 'Hide All',
657
- searchFields: 'Search fields...',
658
- title: 'Title',
659
- description: 'Description',
660
- data: 'Data',
661
- source: 'Source',
662
- columns: 'Columns',
663
- filterBy: 'Filter by',
664
- sortBy: 'Sort by',
665
- appearance: 'Appearance',
666
- showDescription: 'Show description',
667
- viewType: 'View type',
668
- userFilters: 'User filters',
669
- enableSearch: 'Enable search',
670
- enableFilter: 'Enable filter',
671
- enableSort: 'Enable sort',
672
- enableHideFields: 'Enable hide fields',
673
- enableGroup: 'Enable group',
674
- enableColor: 'Enable color',
675
- enableDensity: 'Enable density',
676
- userActions: 'User actions',
677
- addRecordViaForm: 'Add records through a form',
678
- advanced: 'Advanced',
679
- allowExport: 'Allow export',
680
- recordCount: '{{count}} records',
681
- noDescription: 'No description',
682
- none: 'None',
683
- columnsConfigured: '{{count}} columns',
684
- save: 'Save',
685
- discard: 'Discard',
686
- createView: 'Create View',
687
- newView: 'New View',
688
- typeOptions: 'Type Options',
689
- groupByField: 'Group by field',
690
- startDateField: 'Start date field',
691
- titleField: 'Title field',
692
- latitudeField: 'Latitude field',
693
- longitudeField: 'Longitude field',
694
- imageField: 'Image field',
695
- dateField: 'Date field',
696
- selectField: 'Select field...',
697
- gridOptionsHint: 'Grid view uses the columns configured above.',
698
- groupBy: 'Group by',
699
- prefixField: 'Prefix field',
700
- fields: 'Fields',
701
- fieldsVisible: '{{count}} visible',
702
- sortsCount: '{{count}} sorts',
703
- filtersCount: '{{count}} filters',
704
- endDateField: 'End date field',
705
- color: 'Color',
706
- fieldTextColor: 'Field text color',
707
- rowHeight: 'Row height',
708
- wrapHeaders: 'Wrap headers',
709
- showFieldDescriptions: 'Show field descriptions',
710
- collapseAllByDefault: 'Collapse all by default',
711
- striped: 'Striped rows',
712
- bordered: 'Bordered cells',
713
- inlineEdit: 'Edit records inline',
714
- addDeleteRecordsInline: 'Add/delete records inline',
715
- clickIntoRecordDetails: 'Click into record details',
716
- navigationMode: 'Navigation mode',
717
- navigationWidth: 'Navigation width',
718
- navigationWidthHint: 'Available for drawer, modal, and split navigation modes',
719
- openNewTab: 'Open in new tab',
720
- openNewTabHint: 'Available for page and new window navigation modes',
721
- selectionMode: 'Selection mode',
722
- selectionNone: 'None',
723
- selectionSingle: 'Single',
724
- selectionMultiple: 'Multiple',
725
- pageSize: 'Page size',
726
- pageSizeOptions: 'Page size options',
727
- exportFormats: 'Export formats',
728
- exportMaxRecords: 'Max records',
729
- exportIncludeHeaders: 'Include headers',
730
- exportFileNamePrefix: 'File name prefix',
731
- searchableFields: 'Searchable fields',
732
- filterableFields: 'Filterable fields',
733
- resizableColumns: 'Resizable columns',
734
- densityCompact: 'Compact',
735
- densityComfortable: 'Comfortable',
736
- densitySpacious: 'Spacious',
737
- densityMode: 'Density mode',
738
- hiddenFields: 'Hidden fields',
739
- rowActions: 'Row actions',
740
- bulkActions: 'Bulk actions',
741
- sharing: 'Sharing',
742
- sharingEnabled: 'Enable sharing',
743
- sharingVisibility: 'Visibility',
744
- addRecordEnabled: 'Enable add record',
745
- addRecordPosition: 'Position',
746
- addRecordMode: 'Mode',
747
- addRecordFormView: 'Form view',
748
- conditionalFormatting: 'Conditional formatting',
749
- addRule: 'Add rule',
750
- quickFilters: 'Quick filters',
751
- addQuickFilter: 'Add quick filter',
752
- ufElements: 'Elements',
753
- ufDropdown: 'Dropdown',
754
- ufTabs: 'Tabs',
755
- ufToggle: 'Toggle',
756
- ufAddField: '+ Add filter field...',
757
- ufNoFields: 'No fields available',
758
- ufAddTab: '+ Add tab',
759
- ufTabLabel: 'Label',
760
- ufShowAllRecords: 'Show "All records" tab',
761
- ufAllowAddTab: 'Allow adding tabs',
762
- showRecordCount: 'Show record count',
763
- allowPrinting: 'Allow printing',
764
- virtualScroll: 'Virtual scroll',
765
- emptyStateTitle: 'Empty state title',
766
- emptyStateMessage: 'Empty state message',
767
- emptyStateIcon: 'Empty state icon',
768
- ariaLabel: 'ARIA label',
769
- ariaDescribedBy: 'ARIA described by',
770
- ariaLive: 'ARIA live',
771
- accessibility: 'Accessibility',
772
- viewTabs: 'View Tabs',
773
- },
774
- localeSwitcher: {
775
- label: 'Language',
776
- },
777
- },
778
- auth: {
779
- login: {
780
- title: 'Sign in to your account',
781
- description: 'Enter your email and password to continue',
782
- emailLabel: 'Email',
783
- emailPlaceholder: 'name@example.com',
784
- passwordLabel: 'Password',
785
- passwordPlaceholder: 'Enter your password',
786
- forgotPasswordText: 'Forgot password?',
787
- submitButton: 'Sign In',
788
- submittingButton: 'Signing in...',
789
- noAccountText: "Don't have an account?",
790
- signUpText: 'Sign up',
791
- },
792
- register: {
793
- title: 'Create an account',
794
- description: 'Enter your information to get started',
795
- nameLabel: 'Name',
796
- namePlaceholder: 'John Doe',
797
- emailLabel: 'Email',
798
- emailPlaceholder: 'name@example.com',
799
- passwordLabel: 'Password',
800
- passwordPlaceholder: 'Create a password (min. 8 characters)',
801
- confirmPasswordLabel: 'Confirm Password',
802
- confirmPasswordPlaceholder: 'Confirm your password',
803
- passwordMismatchError: 'Passwords do not match',
804
- passwordTooShortError: 'Password must be at least 8 characters',
805
- submitButton: 'Create Account',
806
- submittingButton: 'Creating account...',
807
- hasAccountText: 'Already have an account?',
808
- signInText: 'Sign in',
809
- },
810
- forgotPassword: {
811
- title: 'Reset your password',
812
- description: "Enter your email address and we'll send you a link to reset your password",
813
- emailLabel: 'Email',
814
- emailPlaceholder: 'name@example.com',
815
- submitButton: 'Send Reset Link',
816
- submittingButton: 'Sending...',
817
- successTitle: 'Check your email',
818
- successDescription: "We've sent a password reset link to {{email}}. Please check your inbox.",
819
- backToSignInText: 'Back to sign in',
820
- rememberPasswordText: 'Remember your password?',
821
- signInText: 'Sign in',
822
- },
823
- },
824
- errors: {
825
- networkError: 'Network error. Please check your connection.',
826
- serverError: 'Server error. Please try again later.',
827
- notFound: 'Resource not found.',
828
- unauthorized: 'You are not authorized to perform this action.',
829
- forbidden: 'Access denied.',
830
- timeout: 'Request timed out. Please try again.',
831
- unknown: 'An unexpected error occurred.',
832
- },
833
- } as const;
834
-
835
- export default en;
836
- export type TranslationKeys = typeof en;