@object-ui/i18n 6.2.3 → 7.1.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.
@@ -2,6 +2,33 @@
2
2
  * English (en) - Default language pack for Object UI
3
3
  */
4
4
  declare const en: {
5
+ readonly lookup: {
6
+ readonly recentlyUsed: "Recently used";
7
+ readonly allResults: "All results";
8
+ readonly loading: "Loading…";
9
+ readonly noOptions: "No options found";
10
+ readonly noRecords: "No records found";
11
+ readonly createNew: "Create new";
12
+ readonly createNamed: "Create new \"{{name}}\"";
13
+ readonly showingResults: "Showing {{shown}} of {{total}} results";
14
+ readonly showAllResults: "Show all results ({{count}})";
15
+ readonly selectedBadge: "Selected";
16
+ readonly browseAll: "Browse all records";
17
+ readonly remove: "Remove {{label}}";
18
+ readonly selectFirst: "Select {{fields}} first";
19
+ readonly selectRecord: "Select record";
20
+ readonly recordCount: "{{count}} records";
21
+ readonly recordCountOne: "1 record";
22
+ readonly pageOf: "Page {{current}} of {{total}}";
23
+ readonly filters: "Filters";
24
+ readonly clear: "Clear";
25
+ readonly yes: "Yes";
26
+ readonly filterPlaceholder: "Filter {{label}}";
27
+ readonly prevPage: "Previous page";
28
+ readonly nextPage: "Next page";
29
+ readonly jumpToPage: "Jump to page";
30
+ readonly retry: "Retry";
31
+ };
5
32
  readonly common: {
6
33
  readonly loading: "Loading...";
7
34
  readonly save: "Save";
@@ -39,6 +66,13 @@ declare const en: {
39
66
  readonly openChat: "Open chat";
40
67
  readonly closeChat: "Close chat";
41
68
  readonly toggleSidebar: "Toggle sidebar";
69
+ readonly package: "Package";
70
+ };
71
+ readonly actions: {
72
+ readonly resultDialog: {
73
+ readonly defaultTitle: "Save this value now";
74
+ readonly acknowledge: "I have saved this";
75
+ };
42
76
  };
43
77
  readonly validation: {
44
78
  readonly required: "{{field}} is required";
@@ -194,6 +228,7 @@ declare const en: {
194
228
  readonly moreEvents: "+{{count}} more";
195
229
  };
196
230
  readonly list: {
231
+ readonly loading: "Loading records…";
197
232
  readonly recordCount: "{{count}} records";
198
233
  readonly recordCountOne: "{{count}} record";
199
234
  readonly addRecord: "Add record";
@@ -216,6 +251,27 @@ declare const en: {
216
251
  readonly hideFields: "Hide fields";
217
252
  readonly noItems: "No items found";
218
253
  readonly noItemsMessage: "There are no records to display. Try adjusting your filters or adding new data.";
254
+ readonly firstRunTitle: "Nothing here yet";
255
+ readonly firstRunMessage: "Create your first record to get started.";
256
+ readonly noMatches: "No matching records";
257
+ readonly noMatchesMessage: "No records match your current filters or search. Try adjusting or clearing them.";
258
+ readonly loadErrorTitle: "Couldn’t load records";
259
+ readonly loadErrorMessage: "Something went wrong while loading this data. Check your connection and try again.";
260
+ readonly retry: "Retry";
261
+ readonly managedBy: {
262
+ readonly system: {
263
+ readonly title: "Nothing here yet";
264
+ readonly message: "Entries appear automatically when their source action runs (e.g. Submit for Approval, Share, Invite). Trigger one of those on a source record to create a row.";
265
+ };
266
+ readonly appendOnly: {
267
+ readonly title: "No events recorded";
268
+ readonly message: "This is an immutable audit log. Rows are written by the platform when events occur — you can export the history but cannot create entries from here.";
269
+ };
270
+ readonly betterAuth: {
271
+ readonly title: "No identity records";
272
+ readonly message: "Identity rows are managed by the authentication provider. Use the dedicated identity workflows (Invite User, Reset Password, …) to create new entries.";
273
+ };
274
+ };
219
275
  readonly showAll: "Show all";
220
276
  readonly pullToRefresh: "Pull to refresh";
221
277
  readonly refreshing: "Refreshing…";
@@ -263,11 +319,71 @@ declare const en: {
263
319
  readonly zoomOut: "Zoom out";
264
320
  readonly jumpToToday: "Jump to today";
265
321
  readonly today: "Today";
322
+ readonly thisWeek: "This week";
323
+ readonly thisMonth: "This month";
266
324
  readonly showTaskList: "Show task list";
267
325
  readonly hideTaskList: "Hide task list";
326
+ readonly viewMode: "Timeline granularity";
327
+ readonly enterFullscreen: "Enter fullscreen";
328
+ readonly exitFullscreen: "Exit fullscreen";
329
+ readonly criticalPath: "Highlight critical path";
330
+ readonly autoSchedule: "Auto-schedule dependencies";
331
+ readonly exportPng: "Export as PNG";
332
+ readonly exportPdf: "Export PDF";
333
+ readonly saveLayout: "Save layout";
334
+ readonly undo: "Undo";
335
+ readonly redo: "Redo";
336
+ };
337
+ readonly viewMode: {
338
+ readonly day: "Day";
339
+ readonly week: "Week";
340
+ readonly month: "Month";
341
+ readonly quarter: "Quarter";
342
+ readonly year: "Year";
268
343
  };
344
+ readonly row: {
345
+ readonly expand: "Expand";
346
+ readonly collapse: "Collapse";
347
+ readonly locate: "Locate on timeline";
348
+ };
349
+ readonly aria: {
350
+ readonly taskList: "Task list";
351
+ };
352
+ readonly tooltip: {
353
+ readonly days: "d";
354
+ };
355
+ readonly menu: {
356
+ readonly view: "View details";
357
+ readonly edit: "Edit inline";
358
+ readonly delete: "Delete";
359
+ readonly addPredecessor: "Add predecessor…";
360
+ readonly addSuccessor: "Add successor…";
361
+ readonly removeDependency: "Remove dependency";
362
+ readonly noCandidates: "No available tasks";
363
+ };
364
+ readonly linkType: {
365
+ readonly fs: "Finish → Start";
366
+ readonly ss: "Start → Start";
367
+ readonly ff: "Finish → Finish";
368
+ readonly sf: "Start → Finish";
369
+ };
370
+ readonly conflict: {
371
+ readonly title: "Schedule conflict";
372
+ readonly body: "This move conflicts with dependency constraints. Auto-reschedule {{count}} affected task(s)?";
373
+ readonly confirm: "Auto-reschedule";
374
+ readonly cancel: "Keep as is";
375
+ };
376
+ readonly resource: {
377
+ readonly header: "Resource";
378
+ readonly peak: "Peak";
379
+ readonly over: "overloaded";
380
+ readonly empty: "No tasks to allocate.";
381
+ };
382
+ readonly readOnly: "Read-only";
383
+ readonly readOnlyHint: "Editing is disabled for this view.";
269
384
  };
270
385
  readonly view: {
386
+ readonly editViewConfig: "Edit view config";
271
387
  readonly rename: "Rename";
272
388
  readonly duplicateView: "Duplicate View";
273
389
  readonly shareView: "Share View";
@@ -284,15 +400,17 @@ declare const en: {
284
400
  readonly activeSort: "Active sort";
285
401
  readonly manageViews: "Manage views";
286
402
  readonly manageAllViews: "Manage all views…";
403
+ readonly manageViewsDescription: "Reorder, rename, pin, or delete every view in this object.";
287
404
  readonly searchViews: "Search views";
288
405
  readonly addNewView: "Add new view";
289
406
  readonly done: "Done";
290
407
  readonly noViewsFound: "No views match your search.";
291
408
  readonly dragToReorder: "Drag to reorder";
292
409
  readonly defaultView: "Default view";
410
+ readonly defaultBadge: "default";
293
411
  readonly tabActionsFor: "View actions for {{name}}";
294
412
  readonly readonlyAriaLabel: "Read-only view";
295
- readonly readonlyTooltip: "System view — duplicate to customize.";
413
+ readonly readonlyTooltip: "System view — defined in code, read-only.";
296
414
  };
297
415
  readonly detail: {
298
416
  readonly back: "Back";
@@ -376,6 +494,8 @@ declare const en: {
376
494
  readonly minutesAgo: "{{count}}m ago";
377
495
  readonly hoursAgo: "{{count}}h ago";
378
496
  readonly daysAgo: "{{count}}d ago";
497
+ readonly systemActor: "System";
498
+ readonly unknownUser: "Unknown";
379
499
  readonly createdBy: "Created by";
380
500
  readonly updatedBy: "Updated by";
381
501
  readonly dropFilesToUpload: "Drop files here or click to upload";
@@ -440,6 +560,7 @@ declare const en: {
440
560
  readonly loading: "Loading chart...";
441
561
  };
442
562
  readonly report: {
563
+ readonly total: "Total";
443
564
  readonly rowTotal: "Row Total";
444
565
  readonly columnTotal: "Column Total";
445
566
  readonly grandTotal: "Grand Total";
@@ -635,6 +756,10 @@ declare const en: {
635
756
  readonly redo: "Redo";
636
757
  readonly resetZoom: "Reset zoom";
637
758
  };
759
+ readonly designer: {
760
+ readonly undo: "Undo";
761
+ readonly redo: "Redo";
762
+ };
638
763
  readonly dashboard: {
639
764
  readonly addWidget: "Add widget";
640
765
  readonly removeWidget: "Remove widget";
@@ -644,6 +769,12 @@ declare const en: {
644
769
  readonly total: "Total";
645
770
  readonly noDataAvailable: "No data available";
646
771
  readonly noDataSourceFor: "No data source available for";
772
+ readonly noRows: "No rows";
773
+ readonly pickMeasures: "Pick measures (values) for this dataset widget.";
774
+ readonly datasetUnsupported: "This data source does not support dataset queries.";
775
+ readonly details: "Details";
776
+ readonly exportCsv: "Export CSV";
777
+ readonly openInList: "Open in list";
647
778
  readonly trend: {
648
779
  readonly vsLastQuarter: "vs last quarter";
649
780
  readonly vsLastMonth: "vs last month";
@@ -864,7 +995,7 @@ declare const en: {
864
995
  };
865
996
  };
866
997
  readonly console: {
867
- readonly title: "ObjectStack Console";
998
+ readonly title: "ObjectOS";
868
999
  readonly initializing: "Initializing application...";
869
1000
  readonly search: "Search…";
870
1001
  readonly breadcrumb: {
@@ -914,6 +1045,7 @@ declare const en: {
914
1045
  readonly toggleDarkMode: "Toggle dark mode";
915
1046
  };
916
1047
  readonly commandPalette: {
1048
+ readonly title: "Command palette";
917
1049
  readonly placeholder: "Type a command or search...";
918
1050
  readonly noResults: "No results found.";
919
1051
  readonly searching: "Searching…";
@@ -933,6 +1065,112 @@ declare const en: {
933
1065
  readonly openFullSearch: "Open Full Search Page";
934
1066
  readonly createApp: "Create New App";
935
1067
  };
1068
+ readonly ai: {
1069
+ readonly workspaceTitle: "AI Workspace";
1070
+ readonly workspaceSubtitle: "Ask, inspect, and resume conversations";
1071
+ readonly openChats: "Open chats";
1072
+ readonly chats: "Chats";
1073
+ readonly chatsDescription: "Browse and manage AI conversations.";
1074
+ readonly share: "Share";
1075
+ readonly shareTitle: "Share this conversation";
1076
+ readonly shareDisabledTitle: "Start chatting to enable sharing";
1077
+ readonly newChat: "New";
1078
+ readonly searchChats: "Search chats...";
1079
+ readonly noChatsYet: "No chats yet";
1080
+ readonly noChatsDescription: "Start a new conversation to see it here.";
1081
+ readonly noMatchingChats: "No matching chats.";
1082
+ readonly newConversation: "New conversation";
1083
+ readonly renameConversation: "Rename conversation";
1084
+ readonly deleteConversation: "Delete conversation";
1085
+ readonly saveRename: "Save rename";
1086
+ readonly cancelRename: "Cancel rename";
1087
+ readonly loadingHistory: "Loading conversation history...";
1088
+ readonly conversationReady: "Conversation ready";
1089
+ readonly preparingConversation: "Preparing a new conversation";
1090
+ readonly offlineDemoMode: "Offline demo mode — agent list unavailable";
1091
+ readonly askAgent: "Ask {{agent}}...";
1092
+ readonly assistant: "Assistant";
1093
+ readonly loadingAgents: "Loading agents...";
1094
+ readonly askAnything: "Ask anything...";
1095
+ readonly emptyTitle: "Start a conversation";
1096
+ readonly emptyDescription: "Ask anything — the assistant has access to your current app context.";
1097
+ readonly switchAssistant: "Switch assistant";
1098
+ readonly chooseAgent: "Choose assistant…";
1099
+ readonly empty: {
1100
+ readonly build: {
1101
+ readonly title: "Build with AI";
1102
+ readonly description: "Describe an app or workflow in plain language — I draft the objects, screens and automations, then you review and publish.";
1103
+ };
1104
+ readonly ask: {
1105
+ readonly title: "Ask your data";
1106
+ readonly description: "Ask questions about your records — counts, lists, and summaries across the data you can access.";
1107
+ };
1108
+ };
1109
+ readonly clearConversation: "Clear";
1110
+ readonly sendHint: "to send";
1111
+ readonly agentActivity: "Agent activity";
1112
+ readonly toolCompleted: "Completed";
1113
+ readonly toolRunning: "Running";
1114
+ readonly toolAwaitingApproval: "Awaiting approval";
1115
+ readonly toolFailed: "Failed";
1116
+ readonly toolDetailsHidden: "Tool inputs and raw results are hidden in this view.";
1117
+ readonly copy: "Copy";
1118
+ readonly copied: "Copied";
1119
+ readonly regenerate: "Regenerate";
1120
+ readonly model: "Model";
1121
+ readonly submit: "Submit";
1122
+ readonly uploadFiles: "Upload files";
1123
+ readonly stopResponse: "Stop response";
1124
+ readonly trace: "trace";
1125
+ readonly viewTrace: "View trace";
1126
+ readonly nextSteps: "What's next";
1127
+ readonly publishDrafts: "Publish";
1128
+ readonly publishOk: "Published — objects are now live.";
1129
+ readonly seedWarn: "Published, but some sample data failed to load.";
1130
+ readonly openBuiltApp: "Open app";
1131
+ readonly previewDraft: "Preview";
1132
+ readonly resizeSplit: "Resize chat and preview";
1133
+ readonly hideChats: "Hide chats";
1134
+ readonly showChats: "Show chats";
1135
+ readonly planTitle: "Proposed plan";
1136
+ readonly planQuestions: "Confirm before building";
1137
+ readonly planAssumptions: "Assumptions";
1138
+ readonly planApproveHint: "Reply to approve or adjust this plan.";
1139
+ readonly planApprove: "Build it";
1140
+ readonly planAdjust: "Adjust";
1141
+ readonly planApproveMessage: "Looks good — build it as proposed.";
1142
+ readonly planApproveDefaultsMessage: "Build it with your best assumptions; use sensible defaults for the open questions.";
1143
+ readonly planAnswerMessage: "For \"{{question}}\", go with: {{option}}.";
1144
+ readonly justNow: "just now";
1145
+ readonly minutesAgo: "{{count}}m ago";
1146
+ readonly hoursAgo: "{{count}}h ago";
1147
+ readonly daysAgo: "{{count}}d ago";
1148
+ readonly agentLabels: {
1149
+ readonly ask: "Ask";
1150
+ readonly build: "Build";
1151
+ readonly dataChat: "Assistant";
1152
+ readonly metadataAssistant: "Metadata Assistant";
1153
+ };
1154
+ readonly suggestions: {
1155
+ readonly dataChat: {
1156
+ readonly userCount: "How many users are in the system? List their emails.";
1157
+ readonly recentRecords: "List the 5 most recently created records.";
1158
+ readonly recordCounts: "Count records for each object.";
1159
+ };
1160
+ readonly metadataAssistant: {
1161
+ readonly buildCrm: "Build a sales CRM — customers, contacts, and a deal pipeline I can total by stage.";
1162
+ readonly buildApp: "Create a project tracker — projects, tasks with owners and due dates, and a board by status.";
1163
+ readonly buildFlow: "Design a support desk — tickets with priority, a status workflow, and customer links.";
1164
+ readonly buildInventory: "Build an inventory app — products, stock levels, suppliers, and low-stock visibility.";
1165
+ readonly buildRecruiting: "Make an applicant tracker — candidates, open roles, interview stages, and notes.";
1166
+ };
1167
+ readonly generic: {
1168
+ readonly help: "What can you help me with?";
1169
+ readonly availableObjects: "List the available data objects.";
1170
+ readonly recentActivity: "Summarize my recent activity.";
1171
+ };
1172
+ };
1173
+ };
936
1174
  readonly errors: {
937
1175
  readonly somethingWentWrong: "Something went wrong";
938
1176
  readonly unexpectedError: "An unexpected error occurred while rendering this view.";
@@ -950,6 +1188,8 @@ declare const en: {
950
1188
  readonly objectNotFound: "Object Not Found";
951
1189
  readonly objectNotFoundDescription: "The object \"{{objectName}}\" does not exist in the current configuration.";
952
1190
  readonly objectNotFoundHint: "Check your app navigation settings or select a different object from the sidebar.";
1191
+ readonly systemViewReadonly: "System view defined in code — read-only.";
1192
+ readonly expandToPage: "Open as full page";
953
1193
  readonly allRecords: "All Records";
954
1194
  readonly exitDesignMode: "Exit Design Mode";
955
1195
  readonly enterDesignMode: "Enter Design Mode";
@@ -1163,6 +1403,12 @@ declare const en: {
1163
1403
  readonly submittingButton: "Signing in...";
1164
1404
  readonly noAccountText: "Don't have an account?";
1165
1405
  readonly signUpText: "Sign up";
1406
+ readonly signingIn: "Signing you in…";
1407
+ readonly ssoHandoff: "Continue to {{target}}";
1408
+ readonly errors: {
1409
+ readonly invalidCredentials: "Invalid email or password. Please try again.";
1410
+ readonly emailNotVerified: "Please verify your email address before signing in.";
1411
+ };
1166
1412
  };
1167
1413
  readonly register: {
1168
1414
  readonly title: "Create an account";
@@ -1181,6 +1427,17 @@ declare const en: {
1181
1427
  readonly submittingButton: "Creating account...";
1182
1428
  readonly hasAccountText: "Already have an account?";
1183
1429
  readonly signInText: "Sign in";
1430
+ readonly errors: {
1431
+ readonly userExists: "An account with this email already exists. Try signing in instead.";
1432
+ };
1433
+ readonly verifyInbox: {
1434
+ readonly title: "Check your inbox";
1435
+ readonly description: "We've sent a verification link to {{email}}. Click the link to activate your account.";
1436
+ readonly resend: "Resend verification email";
1437
+ readonly resending: "Sending…";
1438
+ readonly resent: "Verification email sent.";
1439
+ readonly backToSignIn: "Back to sign in";
1440
+ };
1184
1441
  };
1185
1442
  readonly forgotPassword: {
1186
1443
  readonly title: "Reset your password";
@@ -1195,6 +1452,85 @@ declare const en: {
1195
1452
  readonly rememberPasswordText: "Remember your password?";
1196
1453
  readonly signInText: "Sign in";
1197
1454
  };
1455
+ readonly resetPassword: {
1456
+ readonly title: "Set a new password";
1457
+ readonly description: "Choose a password you have not used before.";
1458
+ readonly newPassword: "New password";
1459
+ readonly confirmPassword: "Confirm password";
1460
+ readonly submit: "Update password";
1461
+ readonly submitting: "Updating…";
1462
+ readonly success: "Password updated";
1463
+ readonly failed: "Reset failed";
1464
+ readonly invalidToken: "This reset link is invalid or has expired.";
1465
+ readonly missingToken: "Reset link is missing or expired";
1466
+ readonly passwordsMismatch: "Passwords do not match";
1467
+ readonly requestNewLink: "Request a new link";
1468
+ };
1469
+ readonly verifyEmail: {
1470
+ readonly title: "Verify your email address";
1471
+ readonly description: "We sent a verification link to your email address. Please click the link to verify your account.";
1472
+ readonly sentTo: "Sent to:";
1473
+ readonly verifyingTitle: "Verifying…";
1474
+ readonly verifyingDescription: "Hang tight while we confirm your email.";
1475
+ readonly successTitle: "Email verified";
1476
+ readonly successDescription: "Your email is confirmed. You can now sign in.";
1477
+ readonly errorTitle: "Verification failed";
1478
+ readonly errorDescription: "Verification failed. Please request a new link.";
1479
+ readonly missingToken: "Verification link is missing a token.";
1480
+ readonly emailMissing: "Email address is missing";
1481
+ readonly resendButton: "Resend verification email";
1482
+ readonly resending: "Sending…";
1483
+ readonly resent: "Email sent! Check your inbox";
1484
+ readonly resentSuccess: "Verification email sent!";
1485
+ readonly resentDescription: "Please check your inbox and click the verification link.";
1486
+ readonly resendFailed: "Cannot resend verification email";
1487
+ readonly signInLink: "Go to sign in";
1488
+ readonly backToSignIn: "Back to sign in";
1489
+ readonly backToLogin: "Back to login";
1490
+ readonly checkSpam: "Didn't receive the email? Check your spam folder or contact support.";
1491
+ readonly or: "Or";
1492
+ };
1493
+ readonly setup: {
1494
+ readonly welcomeTitle: "Welcome to ObjectStack";
1495
+ readonly description: "Create the first owner account to finish setting up this deployment.";
1496
+ readonly yourName: "Your name";
1497
+ readonly orgName: "Organization name";
1498
+ readonly orgNamePlaceholder: "Acme Inc.";
1499
+ readonly emailLabel: "Email";
1500
+ readonly emailPlaceholder: "name@example.com";
1501
+ readonly passwordLabel: "Password";
1502
+ readonly passwordHint: "Minimum 8 characters";
1503
+ readonly submit: "Create owner account";
1504
+ readonly submitting: "Setting up…";
1505
+ readonly failed: "Setup failed";
1506
+ };
1507
+ readonly device: {
1508
+ readonly title: "Authorize new device";
1509
+ readonly subtitle: "Approve this device to sign in as {{email}}.";
1510
+ readonly userCodeLabel: "Device code";
1511
+ readonly requesterLabel: "Connection request from";
1512
+ readonly approveWarning: "Only approve if you started this connection yourself a moment ago. Once approved, this runtime can access your organization's private packages.";
1513
+ readonly loggedInAs: "Signed in as {{email}}";
1514
+ readonly approve: "Approve device";
1515
+ readonly approving: "Approving…";
1516
+ readonly approvedTitle: "Device authorized";
1517
+ readonly approvedDescription: "You can return to the device — it should sign in shortly.";
1518
+ readonly approveSuccess: "Device authorized";
1519
+ readonly approveSuccessDescription: "You can close this window.";
1520
+ readonly approveFailed: "Approval failed";
1521
+ readonly deny: "Deny request";
1522
+ readonly denying: "Denying…";
1523
+ readonly deniedTitle: "Access denied";
1524
+ readonly deniedDescription: "The device will not be granted access.";
1525
+ readonly denyFailed: "Failed to deny request";
1526
+ readonly invalidTitle: "Invalid device link";
1527
+ readonly invalidDescription: "No device code was provided in the URL.";
1528
+ readonly loading: "Loading…";
1529
+ readonly cancel: "Cancel";
1530
+ };
1531
+ readonly shell: {
1532
+ readonly tenantHostHint: "You are signing in to this workspace";
1533
+ };
1198
1534
  };
1199
1535
  readonly errors: {
1200
1536
  readonly networkError: "Network error. Please check your connection.";
@@ -1221,6 +1557,13 @@ declare const en: {
1221
1557
  readonly members: "Members";
1222
1558
  readonly settings: "Workspace settings";
1223
1559
  };
1560
+ readonly help: {
1561
+ readonly onThisPage: "On this page";
1562
+ readonly appDocs: "This app's docs";
1563
+ readonly allDocs: "All documentation";
1564
+ readonly keyboardShortcuts: "Keyboard shortcuts";
1565
+ readonly onlineDocs: "Online documentation";
1566
+ };
1224
1567
  readonly sidebar: {
1225
1568
  readonly settings: "Settings";
1226
1569
  readonly help: "Help";
@@ -1231,11 +1574,28 @@ declare const en: {
1231
1574
  readonly inbox: "Inbox";
1232
1575
  readonly inboxAriaLabel: "Open inbox";
1233
1576
  readonly area: "Area";
1577
+ readonly scope: "Scope";
1578
+ readonly packageManagement: "Package management";
1579
+ readonly searchNavigation: "Search navigation...";
1234
1580
  readonly recent: "Recent";
1235
1581
  readonly favorites: "Favorites";
1236
1582
  readonly starred: "Starred";
1237
1583
  readonly removeFromFavorites: "Remove {{name}} from favorites";
1238
1584
  };
1585
+ readonly topbar: {
1586
+ readonly aiAssistant: "AI Assistant";
1587
+ readonly openAssistant: "Open {{name}} assistant";
1588
+ readonly offline: "Offline";
1589
+ readonly usersOnline: "Users currently online";
1590
+ readonly switchView: "Switch view";
1591
+ readonly connection: {
1592
+ readonly connected: "Connected";
1593
+ readonly connecting: "Connecting...";
1594
+ readonly reconnecting: "Reconnecting...";
1595
+ readonly disconnected: "Disconnected";
1596
+ readonly error: "Connection Error";
1597
+ };
1598
+ };
1239
1599
  readonly home: {
1240
1600
  readonly title: "Home";
1241
1601
  readonly subtitle: "Your workspace dashboard";
@@ -1255,9 +1615,28 @@ declare const en: {
1255
1615
  readonly loading: "Loading workspace...";
1256
1616
  readonly recent: "Recent";
1257
1617
  readonly starred: "Starred";
1258
- readonly welcome: "Welcome to ObjectUI";
1259
- readonly welcomeDescription: "Get started by creating your first application or configure your system settings.";
1260
- readonly createFirstApp: "Create Your First App";
1618
+ readonly welcome: "Build your business system with AI";
1619
+ readonly welcomeDescription: "Describe your business in one sentence — AI generates the objects, screens, APIs and agent tools. Or start from scratch.";
1620
+ readonly welcomeAdminDescription: "Describe your business in one sentence — AI generates the objects, screens, APIs and agent tools. Or set things up yourself from the menu on the left.";
1621
+ readonly welcomeAdminDescriptionNoBuild: "Set up your first application from the Administration menu on the left. Once you have data, the AI assistant can help you explore it.";
1622
+ readonly welcomeAdminDescriptionNoAi: "Set up your first application from the Administration menu on the left.";
1623
+ readonly noAppsTitle: "No applications yet";
1624
+ readonly noAppsDescription: "There are no applications available to you yet. Please contact your workspace administrator.";
1625
+ readonly buildWithAI: "Build with AI";
1626
+ readonly askAI: "Ask AI";
1627
+ readonly recoveryReminder: {
1628
+ readonly message: "Set a recovery password so you can still sign in if single sign-on is ever unavailable.";
1629
+ readonly cta: "Set password";
1630
+ readonly dismiss: "Dismiss";
1631
+ };
1632
+ readonly pendingDrafts: {
1633
+ readonly message: "You have {{count}} unpublished change(s) — publish to make them live.";
1634
+ readonly cta: "Publish";
1635
+ readonly publishing: "Publishing…";
1636
+ readonly published: "Published! Your changes are live.";
1637
+ readonly publishFailed: "Publish failed";
1638
+ };
1639
+ readonly createFirstApp: "Create app manually";
1261
1640
  readonly systemSettings: "System Settings";
1262
1641
  readonly browseMarketplace: "Browse App Marketplace";
1263
1642
  readonly quickActions: {
@@ -1294,12 +1673,25 @@ declare const en: {
1294
1673
  readonly layout: {
1295
1674
  readonly appSwitcher: {
1296
1675
  readonly home: "Home";
1676
+ readonly switchApplication: "Switch Application";
1677
+ readonly appsAvailable: "{{count}} apps available";
1297
1678
  readonly addApp: "Add App";
1298
1679
  readonly editApp: "Edit App";
1299
1680
  readonly manageAllApps: "Manage All Apps";
1300
1681
  readonly systemConsole: "System Console";
1301
1682
  readonly noAppsConfigured: "No apps configured";
1302
1683
  };
1684
+ readonly systemNav: {
1685
+ readonly systemSettings: "System Settings";
1686
+ readonly applications: "Applications";
1687
+ readonly appMarketplace: "App Marketplace";
1688
+ readonly objectManager: "Object Manager";
1689
+ readonly users: "Users";
1690
+ readonly organizations: "Organizations";
1691
+ readonly roles: "Roles";
1692
+ readonly configuration: "Configuration";
1693
+ readonly createApp: "Create App";
1694
+ };
1303
1695
  readonly activityFeed: {
1304
1696
  readonly title: "Recent Activity";
1305
1697
  readonly filter: "Filter";
@@ -1360,6 +1752,32 @@ declare const en: {
1360
1752
  readonly systemSettings: "System Settings";
1361
1753
  readonly back: "Back";
1362
1754
  };
1755
+ readonly preview: {
1756
+ readonly empty: {
1757
+ readonly loadFailedTitle: "Draft preview failed to load";
1758
+ readonly loadFailedDescription: "The draft overlay could not be read. Retry, or check your connection.";
1759
+ readonly notReadyTitle: "“{{app}}” isn’t in the draft yet";
1760
+ readonly notReadyDescription: "The build may still be running, or it may have failed before this app was staged. Check the conversation for the build status — this pane refreshes as drafts land.";
1761
+ readonly nothingTitle: "Nothing to preview yet";
1762
+ readonly retry: "Retry";
1763
+ };
1764
+ readonly draftBar: {
1765
+ readonly message: "Draft preview — you are seeing unpublished changes. Nothing here is live until you publish.";
1766
+ readonly publish: "Publish";
1767
+ readonly publishing: "Publishing…";
1768
+ readonly exit: "Exit preview";
1769
+ readonly changes: "Changes";
1770
+ };
1771
+ readonly changes: {
1772
+ readonly title: "Pending changes";
1773
+ readonly description: "What publishing will change. New items are added; updates overwrite the live version.";
1774
+ readonly loading: "Loading pending changes…";
1775
+ readonly loadFailed: "Could not load pending changes:";
1776
+ readonly empty: "Nothing pending — every draft has been published.";
1777
+ readonly kindNew: "New";
1778
+ readonly kindUpdate: "Update";
1779
+ };
1780
+ };
1363
1781
  readonly renderer: {
1364
1782
  readonly noPageSchema: "No page schema provided";
1365
1783
  readonly noFormSchema: "No form schema provided";
@@ -1387,6 +1805,11 @@ declare const en: {
1387
1805
  readonly defaultActionTitle: "Action";
1388
1806
  readonly ok: "OK";
1389
1807
  };
1808
+ readonly actionConfirm: {
1809
+ readonly title: "Confirm Action";
1810
+ readonly confirm: "Continue";
1811
+ readonly cancel: "Cancel";
1812
+ };
1390
1813
  readonly rowAction: {
1391
1814
  readonly openMenu: "Open menu";
1392
1815
  readonly edit: "Edit";
@@ -1452,6 +1875,7 @@ declare const en: {
1452
1875
  readonly noMatches: "No organizations match your search.";
1453
1876
  };
1454
1877
  readonly notifications: {
1878
+ readonly regionLabel: "Notifications";
1455
1879
  readonly empty: "No notifications";
1456
1880
  readonly emptyUnread: "You're all caught up";
1457
1881
  readonly filterUnread: "Unread";
@@ -1570,12 +1994,23 @@ declare const en: {
1570
1994
  readonly prerelease: "pre";
1571
1995
  readonly moreOptions: "More install options";
1572
1996
  readonly uninstallFromRuntime: "Uninstall from this runtime";
1997
+ readonly addSampleData: "Add sample data";
1998
+ readonly reseedAgain: "Re-seed sample data";
1999
+ readonly purgeSampleData: "Purge sample data";
2000
+ readonly purgeConfirm: "Delete all sample records seeded by this package? User-added records will NOT be touched.";
2001
+ readonly purgeSuccess: "Removed {{count}} sample record(s).";
2002
+ readonly purgeNoData: "No sample records found to purge.";
2003
+ readonly reseedQueued: "Sample data will be re-seeded on next environment access.";
2004
+ readonly reseedLocalSuccess: "Re-seeded sample data: {{inserted}} inserted, {{updated}} updated.";
2005
+ readonly reseedPartialErrors: "({{count}} record(s) failed to write)";
2006
+ readonly updateAvailable: "Update available";
1573
2007
  };
1574
2008
  readonly action: {
1575
2009
  readonly install: "Install";
1576
2010
  readonly reinstall: "Reinstall";
1577
2011
  readonly working: "Working…";
1578
2012
  readonly installToCloud: "Install to cloud…";
2013
+ readonly installed: "Installed";
1579
2014
  readonly installing: "Installing…";
1580
2015
  readonly uninstall: "Uninstall";
1581
2016
  readonly uninstalling: "Uninstalling…";
@@ -1642,6 +2077,198 @@ declare const en: {
1642
2077
  readonly yearsAgo: "{{count}}y ago";
1643
2078
  };
1644
2079
  };
2080
+ readonly approvalsInbox: {
2081
+ readonly loadMore: "Load more";
2082
+ readonly loadingMore: "Loading…";
2083
+ readonly loadedOf: "Loaded {{loaded}} of {{total}}";
2084
+ readonly actEscalate: "SLA escalated";
2085
+ readonly systemSlaActor: "System (SLA)";
2086
+ readonly reassignBtn: "Reassign";
2087
+ readonly reassignTitle: "Hand this approval to someone else?";
2088
+ readonly reassignBody: "Your approver slot moves to the person you pick — they are notified and can act immediately.";
2089
+ readonly reassignTo: "New approver";
2090
+ readonly reassignToPlaceholder: "Pick a user or type an email / role:<name>";
2091
+ readonly reassignSuccess: "Handed to {{to}}";
2092
+ readonly requestInfoBtn: "Request info";
2093
+ readonly requestInfoTitle: "Ask the requester for more information?";
2094
+ readonly requestInfoBody: "The request stays pending; the requester is notified and can reply on the thread.";
2095
+ readonly requestInfoPlaceholder: "What do you need from the requester?";
2096
+ readonly requestInfoSent: "Sent back to the requester for more information";
2097
+ readonly remindBtn: "Send reminder";
2098
+ readonly remindSuccess: "Reminder sent to {{count}} approver(s)";
2099
+ readonly remindThrottled: "A reminder was sent recently — try again later.";
2100
+ readonly replyPlaceholder: "Reply on this request…";
2101
+ readonly slaRemaining: "SLA {{dur}} left";
2102
+ readonly slaOverdue: "SLA overdue {{dur}}";
2103
+ readonly actReassign: "Reassigned";
2104
+ readonly actRemind: "Reminder sent";
2105
+ readonly actRequestInfo: "Requested more info";
2106
+ readonly actComment: "Commented";
2107
+ readonly stepProgress: "Approval steps";
2108
+ readonly prevRequest: "Previous";
2109
+ readonly nextRequest: "Next";
2110
+ readonly positionOf: "{{index}} of {{total}}";
2111
+ readonly quickPhrase1: "Approved — meets requirements.";
2112
+ readonly quickPhrase2: "Approved with conditions — please monitor execution.";
2113
+ readonly quickPhrase3: "Please add supporting material and resubmit.";
2114
+ readonly title: "Approvals Inbox";
2115
+ readonly subtitle: "Review and act on approval requests.";
2116
+ readonly refresh: "Refresh";
2117
+ readonly tabMyPending: "My Pending";
2118
+ readonly tabSubmitted: "Submitted by me";
2119
+ readonly tabAll: "All";
2120
+ readonly searchPlaceholder: "Search record, process, requester…";
2121
+ readonly clearSearch: "Clear search";
2122
+ readonly statusFilter: "Status";
2123
+ readonly allStatuses: "All statuses";
2124
+ readonly processFilter: "Process";
2125
+ readonly allProcesses: "All processes";
2126
+ readonly objectFilter: "Object";
2127
+ readonly allObjects: "All objects";
2128
+ readonly filterCount: "{{shown}} of {{total}}";
2129
+ readonly selected: "selected";
2130
+ readonly actionableCount: "({{count}} actionable)";
2131
+ readonly selectAll: "Select all";
2132
+ readonly selectRow: "Select request";
2133
+ readonly colRequest: "Request";
2134
+ readonly colRecord: "Record";
2135
+ readonly colRequester: "Requester";
2136
+ readonly colStatus: "Status";
2137
+ readonly colWaiting: "Submitted";
2138
+ readonly colActions: "Actions";
2139
+ readonly statusPending: "Pending";
2140
+ readonly statusApproved: "Approved";
2141
+ readonly statusRejected: "Rejected";
2142
+ readonly statusRecalled: "Recalled";
2143
+ readonly statusReturned: "Returned for revision";
2144
+ readonly sendBackBtn: "Send back";
2145
+ readonly sendBackTitle: "Send this request back for revision?";
2146
+ readonly sendBackBody: "This round ends and the record unlocks so the requester can fix the data. When they resubmit, a fresh approval round opens for all approvers.";
2147
+ readonly sendBackPlaceholder: "What needs to be fixed before this can be approved?";
2148
+ readonly sendBackSuccess: "Sent back for revision — the requester can now edit and resubmit";
2149
+ readonly sendBackAutoRejected: "Revision limit reached — the request was auto-rejected";
2150
+ readonly actRevise: "Sent back for revision";
2151
+ readonly actResubmit: "Resubmitted";
2152
+ readonly roundChip: "Round {{n}}";
2153
+ readonly returnedHint: "An approver sent this back to you. The record is unlocked — fix the data, then resubmit to start a new approval round.";
2154
+ readonly resubmitBtn: "Resubmit";
2155
+ readonly resubmitting: "Resubmitting…";
2156
+ readonly resubmitSuccess: "Resubmitted — a new approval round has opened";
2157
+ readonly resubmitPlaceholder: "What did you change?";
2158
+ readonly editRecordBtn: "Edit record";
2159
+ readonly abandonTitle: "Abandon this revision?";
2160
+ readonly abandonBody: "This withdraws the request instead of resubmitting it. The approval ends here.";
2161
+ readonly emptyTitle: "No requests";
2162
+ readonly emptyPending: "You're all caught up — nothing is waiting on you.";
2163
+ readonly emptyOther: "Nothing here yet.";
2164
+ readonly emptyViewAll: "Browse all requests";
2165
+ readonly noMatches: "No matches for current filters.";
2166
+ readonly keyboardHint: "Keyboard: j/k move · Enter open · x select · a approve · r reject";
2167
+ readonly drawerTitle: "Approval Request";
2168
+ readonly submittedAgo: "Submitted {{when}}";
2169
+ readonly completedAt: "Completed {{when}}";
2170
+ readonly waitingOn: "Waiting on";
2171
+ readonly history: "Activity";
2172
+ readonly noActions: "No actions yet.";
2173
+ readonly actSubmit: "Submitted";
2174
+ readonly actApprove: "Approved";
2175
+ readonly actReject: "Rejected";
2176
+ readonly actRecall: "Recalled";
2177
+ readonly rawData: "Raw data (JSON)";
2178
+ readonly copy: "Copy";
2179
+ readonly copied: "Copied";
2180
+ readonly copyFailed: "Copy failed";
2181
+ readonly overrideActor: "Act as another identity (admin)";
2182
+ readonly actor: "Actor";
2183
+ readonly auto: "Auto";
2184
+ readonly overrideHint: "e.g. role:sales_manager. Leave blank to use the auto-detected identity.";
2185
+ readonly comment: "Comment (optional)";
2186
+ readonly approve: "Approve";
2187
+ readonly approving: "Approving…";
2188
+ readonly reject: "Reject";
2189
+ readonly rejecting: "Rejecting…";
2190
+ readonly recall: "Recall";
2191
+ readonly recalling: "Recalling…";
2192
+ readonly cancel: "Cancel";
2193
+ readonly clear: "Clear";
2194
+ readonly approveN: "Approve {{count}}";
2195
+ readonly rejectN: "Reject {{count}}";
2196
+ readonly bulkApproveTitle: "Approve {{count}} requests?";
2197
+ readonly bulkApproveBody: "Each request is approved with your identity and its flow continues down the approve branch.";
2198
+ readonly bulkRejectTitle: "Reject {{count}} requests?";
2199
+ readonly bulkRejectBody: "This rejects the selected requests and notifies their submitters.";
2200
+ readonly bulkApproved: "Approved {{count}} requests";
2201
+ readonly bulkRejected: "Rejected {{count}} requests";
2202
+ readonly bulkPartial: "{{ok}} succeeded, {{fail}} failed: {{which}}";
2203
+ readonly rejectOneTitle: "Reject \"{{title}}\"?";
2204
+ readonly rejectOneBody: "This rejects the request and notifies the submitter.";
2205
+ readonly rejectTitle: "Reject this request?";
2206
+ readonly rejectBody: "This marks the request as rejected and notifies the submitter.";
2207
+ readonly recallTitle: "Recall this request?";
2208
+ readonly recallBody: "This withdraws your request. Approvers can no longer act on it, and the record is unlocked.";
2209
+ readonly inlineApproved: "Approved \"{{title}}\"";
2210
+ readonly inlineRejected: "Rejected \"{{title}}\"";
2211
+ readonly approvedFinal: "Approved";
2212
+ readonly approvedWaiting: "Approved — waiting on the remaining approvers";
2213
+ readonly rejectedToast: "Rejected";
2214
+ readonly recalledToast: "Request recalled";
2215
+ readonly whyDisabled: "Only the assigned approvers can act on this request. It is waiting on: {{who}}.";
2216
+ readonly whyDisabledSubmitter: "You submitted this request, so you can recall it — but only the assigned approvers can approve or reject.";
2217
+ readonly noActor: "Cannot determine the acting identity";
2218
+ readonly actionFailed: "Action failed";
2219
+ readonly loadFailed: "Failed to load request";
2220
+ readonly recallUnavailable: "Recall is not available on this deployment.";
2221
+ readonly requestGone: "This request no longer exists. Refresh the list.";
2222
+ readonly notAllowed: "You are not allowed to perform this action.";
2223
+ readonly alreadyDecided: "This request was already decided. Refresh the list.";
2224
+ readonly justNow: "just now";
2225
+ readonly minutesAgo: "{{count}}m ago";
2226
+ readonly hoursAgo: "{{count}}h ago";
2227
+ readonly daysAgo: "{{count}}d ago";
2228
+ };
2229
+ readonly filterBuilder: {
2230
+ readonly where: "Where";
2231
+ readonly and: "AND";
2232
+ readonly or: "OR";
2233
+ readonly clearAll: "Clear all";
2234
+ readonly selectField: "Select field";
2235
+ readonly operator: "Operator";
2236
+ readonly selectValue: "Select value";
2237
+ readonly value: "Value";
2238
+ readonly addFilter: "Add filter";
2239
+ readonly removeCondition: "Remove condition";
2240
+ readonly trueLabel: "True";
2241
+ readonly falseLabel: "False";
2242
+ readonly noResults: "No results";
2243
+ readonly searchField: "Search {{label}}…";
2244
+ readonly enterId: "Enter {{label}} id";
2245
+ readonly operators: {
2246
+ readonly equals: "Equals";
2247
+ readonly notEquals: "Does not equal";
2248
+ readonly contains: "Contains";
2249
+ readonly notContains: "Does not contain";
2250
+ readonly isEmpty: "Is empty";
2251
+ readonly isNotEmpty: "Is not empty";
2252
+ readonly greaterThan: "Greater than";
2253
+ readonly lessThan: "Less than";
2254
+ readonly greaterOrEqual: "Greater than or equal";
2255
+ readonly lessOrEqual: "Less than or equal";
2256
+ readonly before: "Before";
2257
+ readonly after: "After";
2258
+ readonly between: "Between";
2259
+ readonly in: "In";
2260
+ readonly notIn: "Not in";
2261
+ };
2262
+ };
2263
+ readonly sortBuilder: {
2264
+ readonly sortBy: "Sort by";
2265
+ readonly thenBy: "Then by";
2266
+ readonly selectField: "Select field";
2267
+ readonly ascending: "A → Z";
2268
+ readonly descending: "Z → A";
2269
+ readonly addSort: "Add sort";
2270
+ readonly removeSort: "Remove sort";
2271
+ };
1645
2272
  };
1646
2273
  export default en;
1647
2274
  export type TranslationKeys = typeof en;