@object-ui/i18n 17.7.0 → 18.0.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.
@@ -22,33 +22,13 @@ declare const en: {
22
22
  readonly manage_users: "Manage Users";
23
23
  readonly manage_org_users: "Manage Organization Users";
24
24
  readonly manage_metadata: "Manage Metadata";
25
- readonly manage_org_presentation: "Manage Organization Presentation";
25
+ readonly manage_mailboxes: "Manage Mailboxes";
26
26
  readonly manage_platform_settings: "Manage Platform Settings";
27
27
  readonly setup_access: "Setup Access";
28
28
  readonly setup_write: "Write Settings";
29
29
  readonly studio_access: "Studio Access";
30
30
  readonly manage_sharing: "Manage Sharing";
31
- };
32
- };
33
- readonly perm: {
34
- readonly facet: {
35
- readonly none: "None";
36
- readonly more: "+{{count}} more";
37
- readonly objects: "{{count}} objects";
38
- readonly objects_one: "{{count}} object";
39
- readonly objects_other: "{{count}} objects";
40
- readonly fields: "{{count}} field rules";
41
- readonly fields_one: "{{count}} field rule";
42
- readonly fields_other: "{{count}} field rules";
43
- readonly rls: "{{count}} RLS policies";
44
- readonly rls_one: "{{count}} RLS policy";
45
- readonly rls_other: "{{count}} RLS policies";
46
- readonly tabs: "{{count}} tab rules";
47
- readonly tabs_one: "{{count}} tab rule";
48
- readonly tabs_other: "{{count}} tab rules";
49
- readonly adminScope: "Delegated admin configured";
50
- readonly designInStudio: "Design in Studio →";
51
- readonly designInStudioHint: "Design in Studio";
31
+ readonly view_all_audit_log: "View All Audit Log";
52
32
  };
53
33
  };
54
34
  readonly lookup: {
@@ -121,6 +101,7 @@ declare const en: {
121
101
  readonly itemCount_one: "{{count}} item";
122
102
  readonly itemCount_other: "{{count}} items";
123
103
  readonly toggleSidebar: "Toggle sidebar";
104
+ readonly breadcrumb: "Breadcrumb";
124
105
  readonly package: "Package";
125
106
  readonly done: "Done";
126
107
  readonly editInStudio: "Edit in studio";
@@ -141,6 +122,7 @@ declare const en: {
141
122
  readonly copyAll: "Copy all";
142
123
  };
143
124
  readonly notAvailableHere: "\"{{action}}\" is not available on the current page.";
125
+ readonly notAvailableForRecord: "Not available for this record";
144
126
  readonly completedSuccessfully: "Action completed successfully";
145
127
  readonly failed: "Action failed";
146
128
  readonly parallelFailed: "One or more parallel actions failed";
@@ -181,6 +163,8 @@ declare const en: {
181
163
  readonly discardMessage: "You have unsaved changes. If you close this form now, your edits will be lost.";
182
164
  readonly dialogDescriptionFallback: "Complete the form fields, then submit or cancel.";
183
165
  readonly deniedDescription: "You do not have edit access to this field.";
166
+ readonly serverDefaultHint: "Set automatically when saved.";
167
+ readonly maxFileSize: "Max size: {{size}}";
184
168
  readonly masterDetail: {
185
169
  readonly loadingColumns: "Loading columns…";
186
170
  readonly subtotal: "Subtotal";
@@ -255,6 +239,8 @@ declare const en: {
255
239
  readonly exceedsMaxSize: "\"{{name}}\" exceeds max size ({{max}} MB)";
256
240
  readonly uploadFailed: "Failed to upload \"{{name}}\": {{error}}";
257
241
  readonly uploadIncomplete: "Upload of \"{{name}}\" did not complete: no file id was returned, so nothing was saved";
242
+ readonly restricted: "Restricted file";
243
+ readonly restrictedHint: "You do not have access to the details of this file";
258
244
  };
259
245
  readonly image: {
260
246
  readonly upload: "Upload image";
@@ -265,10 +251,14 @@ declare const en: {
265
251
  readonly remove: "Remove image {{index}}";
266
252
  readonly enlarge: "Enlarge {{name}}";
267
253
  readonly preview: "Image preview";
254
+ readonly cropPreview: "Image crop preview";
268
255
  readonly previous: "Previous image";
269
256
  readonly next: "Next image";
270
257
  readonly counter: "{{current}} / {{total}}";
271
258
  };
259
+ readonly percent: {
260
+ readonly slider: "Percentage";
261
+ };
272
262
  readonly richText: {
273
263
  readonly format: "Format: {{format}}";
274
264
  readonly basicEditorHint: "Rich text editor (basic)";
@@ -284,6 +274,10 @@ declare const en: {
284
274
  readonly search: "Search objects…";
285
275
  readonly empty: "No objects found";
286
276
  };
277
+ readonly registryRef: {
278
+ readonly loadFailed: "The list could not be loaded. You can still type the name.";
279
+ readonly notFound: "{{name}} (not found)";
280
+ };
287
281
  readonly recipient: {
288
282
  readonly selectTypeFirst: "Select a recipient type first.";
289
283
  readonly loading: "Loading…";
@@ -325,6 +319,13 @@ declare const en: {
325
319
  readonly dateTime: {
326
320
  readonly impossibleDay: "The stored value \"{{value}}\" is not a real date. Pick a date and time to replace it.";
327
321
  };
322
+ readonly datePicker: {
323
+ readonly today: "Today";
324
+ readonly tomorrow: "Tomorrow";
325
+ readonly clear: "Clear date";
326
+ readonly openCalendar: "Open calendar";
327
+ readonly invalid: "Not saved: \"{{value}}\" is not a date. Type it as {{format}}, or pick one from the calendar.";
328
+ };
328
329
  readonly number: {
329
330
  readonly badInput: "Not saved: the text in this box is not a number. Enter a plain decimal (example: {{example}}).";
330
331
  };
@@ -338,6 +339,11 @@ declare const en: {
338
339
  readonly postalCode: "ZIP / Postal Code";
339
340
  readonly country: "Country";
340
341
  };
342
+ readonly boolean: {
343
+ readonly offBadge: "{{label}} — Off";
344
+ readonly completed: "Completed";
345
+ readonly notCompleted: "Not completed";
346
+ };
341
347
  readonly textarea: {
342
348
  readonly characterCount: "Character count: {{count}} of {{max}}";
343
349
  readonly charactersRemaining: "Characters remaining: {{count}}";
@@ -367,10 +373,15 @@ declare const en: {
367
373
  readonly selectAllRows: "Select all rows";
368
374
  readonly expandRow: "Expand row";
369
375
  readonly collapseRow: "Collapse row";
376
+ readonly rowActions: "Row actions";
370
377
  readonly hideColumn: "Hide column";
371
378
  readonly freezeColumn: "Freeze column";
372
379
  readonly unfreezeColumn: "Unfreeze column";
373
380
  readonly pageInfo: "Page {{current}} of {{total}}";
381
+ readonly firstPage: "First page";
382
+ readonly previousPage: "Previous page";
383
+ readonly nextPage: "Next page";
384
+ readonly lastPage: "Last page";
374
385
  readonly totalRecords: "{{count}} total";
375
386
  readonly noResults: "No results found";
376
387
  readonly noResultsHint: "Try adjusting your filters or search query.";
@@ -382,6 +393,9 @@ declare const en: {
382
393
  readonly modified: "{{count}} row modified";
383
394
  readonly modified_one: "{{count}} row modified";
384
395
  readonly modified_other: "{{count}} rows modified";
396
+ readonly saved: "{{count}} row saved";
397
+ readonly saved_one: "{{count}} row saved";
398
+ readonly saved_other: "{{count}} rows saved";
385
399
  readonly saveFailed: "Save failed";
386
400
  readonly selected: "{{count}} selected";
387
401
  readonly selected_one: "{{count}} selected";
@@ -400,6 +414,7 @@ declare const en: {
400
414
  readonly pullToRefresh: "Pull to refresh";
401
415
  readonly refreshing: "Refreshing…";
402
416
  readonly openRecord: "Open record";
417
+ readonly recordUnavailable: "{{object}} · record unavailable";
403
418
  readonly openMenu: "Open menu";
404
419
  readonly bulkSelected: "{{count}} selected";
405
420
  readonly bulkSelected_one: "{{count}} selected";
@@ -411,6 +426,7 @@ declare const en: {
411
426
  readonly bulkAllOnPage_other: "All {{count}} on this page are selected.";
412
427
  readonly bulkSelectAllMatching: "Select all {{count}} matching";
413
428
  readonly bulkAllMatchingSelected: "All {{count}} matching records are selected.";
429
+ readonly bulkActions: "Bulk actions";
414
430
  readonly rowHeight: "Row height: {{mode}}";
415
431
  readonly empty: "Empty";
416
432
  readonly yes: "Yes";
@@ -422,6 +438,7 @@ declare const en: {
422
438
  };
423
439
  readonly summary: {
424
440
  readonly pattern: "{{label}}: {{value}}";
441
+ readonly pagePattern: "{{label}} (this page): {{value}}";
425
442
  readonly count: "Count";
426
443
  readonly countEmpty: "Empty";
427
444
  readonly countFilled: "Filled";
@@ -519,6 +536,8 @@ declare const en: {
519
536
  readonly resultsTruncated_one: "Showing the first {{count}} row result (of {{total}}).";
520
537
  readonly resultsTruncated_other: "Showing the first {{count}} row results (of {{total}}).";
521
538
  readonly importComplete: "Import Complete";
539
+ readonly importPartial: "Import finished with errors";
540
+ readonly importFailed: "Import failed";
522
541
  readonly imported: "{{count}} imported";
523
542
  readonly createdCount: "{{count}} created";
524
543
  readonly createdCount_one: "{{count}} created";
@@ -544,9 +563,6 @@ declare const en: {
544
563
  readonly needMatchFields: "Select at least one field to match on.";
545
564
  readonly matchOnlyField: "(match only)";
546
565
  readonly optCreateOptions: "Keep unknown option values";
547
- readonly optRunAutomations: "Run automations & triggers";
548
- readonly optTreatHistorical: "Import as historical data";
549
- readonly optTreatHistoricalHint: "(import completed records as-is — skip state-machine checks and keep their original timestamps & author instead of stamping now)";
550
566
  readonly optSkipBlankKey: "Skip rows with a blank match value";
551
567
  readonly optBackground: "Import in the background";
552
568
  readonly optBackgroundHint: "(runs as an undoable job)";
@@ -561,6 +577,7 @@ declare const en: {
561
577
  readonly invalidBoolean: "\"{{value}}\" is not a valid true/false value";
562
578
  readonly invalidNumber: "\"{{value}}\" is not a valid number";
563
579
  readonly invalidDate: "\"{{value}}\" is not a valid date";
580
+ readonly invalidTime: "\"{{value}}\" is not a valid time";
564
581
  readonly invalidOption: "\"{{value}}\" is not one of the allowed options";
565
582
  readonly requiredValue: "This field is required";
566
583
  readonly matchAmbiguous: "Matches more than one existing record — use a unique value or the record id";
@@ -583,6 +600,9 @@ declare const en: {
583
600
  readonly undoing: "Undoing…";
584
601
  readonly undoConfirm: "Undo this import? Records it created will be deleted and records it updated will be restored to their previous values.";
585
602
  readonly reverted: "Undone";
603
+ readonly undoPartial: "{{count}} rows were not undone. Undo again to retry only those rows.";
604
+ readonly undoPartial_one: "{{count}} row was not undone. Undo again to retry only that row.";
605
+ readonly undoPartial_other: "{{count}} rows were not undone. Undo again to retry only those rows.";
586
606
  readonly jobStatus: {
587
607
  readonly pending: "Pending";
588
608
  readonly running: "Running";
@@ -678,15 +698,20 @@ declare const en: {
678
698
  readonly recordCount_one: "{{count}} record";
679
699
  readonly recordCount_other: "{{count}} records";
680
700
  readonly addRecord: "Add record";
701
+ readonly viewAll: "View all";
681
702
  readonly tabs: "Tabs";
682
703
  readonly allRecords: "All Records";
683
704
  readonly search: "Search";
684
705
  readonly filter: "Filter";
685
706
  readonly filterRecords: "Filter Records";
707
+ readonly filterActive: "Filter, {{count}} active";
708
+ readonly filterActive_one: "Filter, {{count}} active";
709
+ readonly filterActive_other: "Filter, {{count}} active";
686
710
  readonly sort: "Sort";
687
711
  readonly sortRecords: "Sort Records";
688
712
  readonly sortByIdSuffix: "(by ID)";
689
713
  readonly sortRelationalHint: "Columns that link to another record are not listed: they can only be sorted by the stored ID, not by the name shown in the cell. To sort by that name, denormalize it onto this object as a stored field, written when the source changes, and sort by that. Not a formula field: it is virtual, so no column is stored for it and the server refuses to sort by one.";
714
+ readonly sortRelationalPicked: "A linked column sorts by the stored ID, not the name shown.";
690
715
  readonly resetSortToDefault: "Reset to view default";
691
716
  readonly group: "Group";
692
717
  readonly groupBy: "Group By";
@@ -704,6 +729,7 @@ declare const en: {
704
729
  readonly firstRunMessage: "Create your first record to get started.";
705
730
  readonly noMatches: "No matching records";
706
731
  readonly noMatchesMessage: "No records match your current filters or search. Try adjusting or clearing them.";
732
+ readonly viewFilterNoMatchesMessage: "No records match this view’s filter.";
707
733
  readonly loadErrorTitle: "Couldn’t load records";
708
734
  readonly loadErrorMessage: "Something went wrong while loading this data. Check your connection and try again.";
709
735
  readonly loadErrorForbiddenTitle: "You don’t have access";
@@ -745,14 +771,15 @@ declare const en: {
745
771
  readonly print: "Print";
746
772
  readonly hideFieldsTitle: "Hide Fields";
747
773
  readonly dataLimitReached: "Showing first {{limit}} records. More data may be available.";
748
- readonly viewSettings: "View settings";
749
- readonly viewSettingsHint: "Grouping, color, density, and visible fields. Applies to everyone who uses this view.";
774
+ readonly display: "Display";
775
+ readonly layout: "Layout";
776
+ readonly rowNumbers: "Row numbers";
777
+ readonly resetToViewDefault: "Reset to view default";
750
778
  readonly addGroup: "Add group field";
751
779
  readonly collapsedByDefault: "Collapsed by default";
752
780
  readonly removeGroup: "Remove";
753
781
  readonly inlineEditShort: "Edit inline";
754
782
  readonly inlineEditLabel: "Edit records inline (click a cell to edit)";
755
- readonly recordEditingTitle: "Record editing";
756
783
  };
757
784
  readonly managedByBadge: {
758
785
  readonly config: {
@@ -788,15 +815,31 @@ declare const en: {
788
815
  readonly deleteCard: "Delete card";
789
816
  readonly deleteColumn: "Delete column";
790
817
  readonly noCards: "No cards";
818
+ readonly columnCards: "{{column}} cards";
819
+ readonly laneCards: "{{column}} - {{lane}} cards";
791
820
  readonly cardTitlePlaceholder: "Enter card title…";
792
821
  readonly uncategorized: "Uncategorized";
822
+ readonly loadMore: "Load more";
793
823
  readonly columns: "columns";
794
824
  readonly requiredFieldsTitle: "Complete required fields";
795
825
  readonly requiredFieldsDescription: "This move makes the fields below required. Fill them in to continue.";
826
+ readonly dnd: {
827
+ readonly start: "Picked up {{card}} in {{column}}.";
828
+ readonly overCard: "Moving {{card}} over {{target}} in {{column}}.";
829
+ readonly overColumn: "Moving {{card}} over {{column}}.";
830
+ readonly overNone: "Moving {{card}}. It is not over a column.";
831
+ readonly moved: "Moved {{card}} to {{column}}.";
832
+ readonly dropped: "Dropped {{card}}. It stays in {{column}}.";
833
+ readonly cancelled: "Cancelled moving {{card}}. It stays in {{column}}.";
834
+ readonly untitledCard: "an untitled card";
835
+ readonly unnamedColumn: "an unnamed column";
836
+ readonly instructions: "To move this card to another column, drag it with a pointer or by touch.";
837
+ readonly dragging: "Dragging {{card}}";
838
+ };
796
839
  };
797
840
  readonly timeline: {
798
841
  readonly bucket: {
799
- readonly overdue: "Overdue";
842
+ readonly earlier: "Earlier";
800
843
  readonly today: "Today";
801
844
  readonly tomorrow: "Tomorrow";
802
845
  readonly thisWeek: "This week";
@@ -977,6 +1020,7 @@ declare const en: {
977
1020
  readonly readonlyAriaLabel: "Read-only view";
978
1021
  readonly readonlyTooltip: "System view — defined in code, read-only.";
979
1022
  readonly malformedFilter: "This view’s filter is malformed, so no records are shown: the {{subject}} condition cannot be applied.";
1023
+ readonly noObject: "No object named: set {{property}} or dataSource.object.";
980
1024
  };
981
1025
  readonly detail: {
982
1026
  readonly back: "Back";
@@ -990,10 +1034,12 @@ declare const en: {
990
1034
  readonly lockedByApproval: "Locked for approval";
991
1035
  readonly lockedTooltip: "This record has a pending approval request; editing is locked";
992
1036
  readonly writeStrippedTitle: "Saved — but some fields did not take effect";
1037
+ readonly writeWarningsTitle: "Saved — with warnings";
993
1038
  readonly writeStrippedReadonly: "Read-only, so it did not take effect: {{fields}}";
994
1039
  readonly writeStrippedByState: "Not editable in this record's current state, so it did not take effect: {{fields}}";
995
1040
  readonly writeStrippedPrimaryKey: "The record's identifier cannot be changed by a save, so it did not take effect: {{fields}}";
996
1041
  readonly writeStrippedComputed: "Calculated by the server from a formula, so the value sent did not take effect: {{fields}}";
1042
+ readonly writeStrippedStoredExpression: "Computed from the record, so the computed value was saved instead of the one sent: {{fields}}";
997
1043
  readonly writeStrippedUnknownReason: "Not applied by the server: {{fields}}";
998
1044
  readonly approvalPendingEditable: "In approval · editable";
999
1045
  readonly approvalPendingTooltip: "This record has a pending approval request; this step still allows editing";
@@ -1017,6 +1063,11 @@ declare const en: {
1017
1063
  readonly linkCopied: "Link copied to clipboard";
1018
1064
  readonly commentFailed: "Your comment was not posted. Nothing was saved — please try again.";
1019
1065
  readonly reactionFailed: "Your reaction was not saved. Please try again.";
1066
+ readonly editComment: "Edit comment";
1067
+ readonly deleteComment: "Delete comment";
1068
+ readonly deleteCommentConfirm: "Are you sure you want to delete this comment?";
1069
+ readonly commentEditFailed: "Your edit was not saved. The comment keeps its previous text.";
1070
+ readonly commentDeleteFailed: "The comment was not deleted. Please try again.";
1020
1071
  readonly linkCopyFailed: "Failed to copy link";
1021
1072
  readonly cancel: "Cancel";
1022
1073
  readonly cancelEdit: "Discard changes";
@@ -1120,6 +1171,7 @@ declare const en: {
1120
1171
  readonly noAttachments: "No attachments yet. Upload a file to get started.";
1121
1172
  readonly downloadAttachment: "Download";
1122
1173
  readonly deleteAttachment: "Delete attachment";
1174
+ readonly deleteAttachmentConfirm: "Are you sure you want to delete the attachment \"{{name}}\"?";
1123
1175
  readonly attachmentDeleteDenied: "Only the uploader or someone who can edit this record may delete this attachment.";
1124
1176
  readonly attachmentParentAccessDenied: "You don't have access to attach files to this record.";
1125
1177
  readonly attachmentDownloadDenied: "You don't have access to download this attachment.";
@@ -1218,6 +1270,7 @@ declare const en: {
1218
1270
  readonly loading: "Loading…";
1219
1271
  readonly failedToLoad: "Failed to load matrix: {{message}}";
1220
1272
  readonly needsAcross: "Matrix report requires at least one `groupingsAcross` field.";
1273
+ readonly forbiddenMessage: "You don’t have permission to view the data behind this report.";
1221
1274
  readonly aggregate: {
1222
1275
  readonly count: "Count";
1223
1276
  readonly countDistinct: "Distinct Count";
@@ -1234,6 +1287,8 @@ declare const en: {
1234
1287
  readonly designer: {
1235
1288
  readonly undo: "Undo";
1236
1289
  readonly redo: "Redo";
1290
+ readonly canvasMinimap: "Canvas minimap";
1291
+ readonly versionHistory: "Version history";
1237
1292
  };
1238
1293
  readonly dashboard: {
1239
1294
  readonly addWidget: "Add widget";
@@ -1573,7 +1628,8 @@ declare const en: {
1573
1628
  };
1574
1629
  readonly console: {
1575
1630
  readonly studio: {
1576
- readonly backToHome: "Back to home";
1631
+ readonly title: "Studio";
1632
+ readonly accessRequired: "You need Studio access to open Studio.";
1577
1633
  };
1578
1634
  readonly saveAdvisoryTitle: "Saved — the authoring check raised {{count}} advisory finding(s)";
1579
1635
  readonly saveAdvisoryTitle_one: "Saved — the authoring check raised {{count}} advisory finding";
@@ -1588,12 +1644,10 @@ declare const en: {
1588
1644
  readonly savedViewsRefused: "The server refused this request, so this list is empty because it could not be read — not because this object has no saved views. Sign in again, or ask an administrator for access.";
1589
1645
  readonly savedViewsUnreadable: "This list is empty because it could not be read, not because this object has no saved views. Try again, and report this if it keeps happening.";
1590
1646
  readonly title: "ObjectOS";
1591
- readonly initializing: "Initializing application…";
1647
+ readonly initializing: "Opening your console…";
1648
+ readonly skipToContent: "Skip to content";
1592
1649
  readonly search: "Search…";
1593
1650
  readonly breadcrumb: {
1594
- readonly dashboards: "Dashboards";
1595
- readonly pages: "Pages";
1596
- readonly reports: "Reports";
1597
1651
  readonly system: "System";
1598
1652
  readonly marketplace: "Marketplace";
1599
1653
  readonly settings: "Settings";
@@ -1606,21 +1660,26 @@ declare const en: {
1606
1660
  readonly nav: {
1607
1661
  readonly pinItem: "Pin {{name}}";
1608
1662
  readonly unpinItem: "Unpin {{name}}";
1609
- readonly dragToReorder: "Drag to reorder";
1610
1663
  readonly favorites: "Favorites";
1611
1664
  readonly launcherLabel: "App launcher";
1612
1665
  readonly menuLabel: "App navigation";
1613
1666
  readonly menuEmpty: "This app has no navigation entries you can open.";
1667
+ readonly itemMenu: "More actions for {{name}}";
1668
+ readonly openInNewTab: "Open in new tab";
1669
+ readonly copyLink: "Copy link";
1670
+ readonly linkCopied: "Link copied to clipboard";
1671
+ readonly linkCopyFailed: "Failed to copy link";
1672
+ readonly design: "Design";
1614
1673
  };
1615
1674
  readonly settingsHub: {
1616
1675
  readonly title: "Settings";
1617
- readonly subtitle: "Configure your workspace, integrations, and feature flags.";
1676
+ readonly subtitle: "Configure your system, integrations, and feature flags.";
1618
1677
  readonly loadError: "Failed to load settings";
1619
1678
  readonly empty: "No settings registered. Plugins can register settings manifests via the SettingsService.";
1620
1679
  readonly settingsCount: "{{n}} settings";
1621
1680
  readonly beta: "Beta";
1622
1681
  readonly categories: {
1623
- readonly Workspace: "Workspace";
1682
+ readonly Workspace: "General";
1624
1683
  readonly Communication: "Communication";
1625
1684
  readonly Security: "Security";
1626
1685
  readonly Infrastructure: "Infrastructure";
@@ -1644,18 +1703,31 @@ declare const en: {
1644
1703
  readonly unsavedCount: "{{count}} unsaved changes";
1645
1704
  readonly unsavedCount_one: "{{count}} unsaved change";
1646
1705
  readonly unsavedCount_other: "{{count}} unsaved changes";
1706
+ readonly fieldErrorsToast: "{{count}} settings need attention: {{settings}}";
1707
+ readonly fieldErrorsToast_one: "{{count}} setting needs attention: {{settings}}";
1708
+ readonly fieldErrorsToast_other: "{{count}} settings need attention: {{settings}}";
1647
1709
  readonly cryptoRefusalTitle: "This deployment cannot encrypt secrets";
1648
1710
  readonly cryptoRefusalSubjectSuffix: "is declared encrypted, so nothing was written.";
1649
1711
  readonly cryptoRefusalNoSubject: "The declared-encrypted value was refused, so nothing was written.";
1650
1712
  readonly cryptoRefusalToast: "Cannot encrypt secrets: {{subject}}";
1651
1713
  readonly cryptoRefusalToastNoSubject: "Cannot encrypt secrets";
1714
+ readonly sourceBadgeInherited: "Inherited from {{source}}";
1715
+ readonly sourceBadgeOverrides: "Overrides {{source}}";
1716
+ readonly resetToDefault: "Reset to default";
1717
+ readonly envLockBadge: "Locked by env";
1718
+ readonly envLockBadgeTitle: "Pinned by environment variable — cannot be edited from the UI.";
1719
+ readonly deprecatedBadge: "Deprecated";
1720
+ readonly deprecatedBadgeReplacedBy: "Deprecated → {{replacedBy}}";
1721
+ readonly unsupportedSpecifierType: "Unsupported specifier type: {{type}}";
1722
+ };
1723
+ readonly workspaceTimezonePrompt: {
1724
+ readonly title: "Set the system timezone";
1725
+ readonly description: "This system still uses the platform default timezone, {{current}}. The system timezone decides what \"today\" means in formulas, how reports group dates and how dates and times are shown, for everyone in the system. Your browser timezone is filled in below.";
1726
+ readonly laterHint: "You can change it at any time on the Settings page.";
1727
+ readonly decline: "Keep the default";
1728
+ readonly confirm: "Set timezone";
1729
+ readonly saved: "System timezone set to {{zone}}";
1652
1730
  };
1653
- readonly loadingSteps: {
1654
- readonly connecting: "Connecting to data source";
1655
- readonly loadingConfig: "Loading configuration";
1656
- readonly preparingWorkspace: "Preparing workspace";
1657
- };
1658
- readonly loadingHint: "Setting up a new environment can take a few moments.";
1659
1731
  readonly error: {
1660
1732
  readonly connectionFailed: "Cannot connect to server";
1661
1733
  readonly serverUnreachable: "The server at {{url}} is unreachable.";
@@ -1679,21 +1751,20 @@ declare const en: {
1679
1751
  readonly groups: {
1680
1752
  readonly general: "General";
1681
1753
  readonly navigation: "Navigation";
1682
- readonly dataViews: "Data Views";
1683
1754
  readonly aiChat: "AI assistant";
1684
- readonly preferences: "Preferences";
1685
1755
  };
1686
1756
  readonly openCommandPalette: "Open command palette";
1687
1757
  readonly showShortcuts: "Show keyboard shortcuts";
1688
1758
  readonly closeDialog: "Close dialog / panel";
1689
1759
  readonly toggleSidebar: "Toggle sidebar";
1690
- readonly focusSearch: "Focus search";
1691
- readonly createRecord: "Create new record";
1692
- readonly refreshData: "Refresh data";
1693
- readonly editRecord: "Edit selected record";
1694
1760
  readonly newChat: "New chat";
1695
1761
  readonly toggleChatsList: "Toggle conversations list";
1696
- readonly toggleDarkMode: "Toggle dark mode";
1762
+ readonly goHome: "Back to home";
1763
+ };
1764
+ readonly reportIndex: {
1765
+ readonly title: "Reports";
1766
+ readonly emptyTitle: "No reports";
1767
+ readonly emptyDescription: "This app has no reports you can open.";
1697
1768
  };
1698
1769
  readonly commandPalette: {
1699
1770
  readonly title: "Command palette";
@@ -1703,6 +1774,8 @@ declare const en: {
1703
1774
  readonly records: "Records";
1704
1775
  readonly recentRecords: "Recently viewed";
1705
1776
  readonly objects: "Objects";
1777
+ readonly packages: "Packages";
1778
+ readonly flows: "Flows";
1706
1779
  readonly dashboards: "Dashboards";
1707
1780
  readonly pages: "Pages";
1708
1781
  readonly reports: "Reports";
@@ -1726,8 +1799,7 @@ declare const en: {
1726
1799
  };
1727
1800
  readonly usage: {
1728
1801
  readonly title: "AI usage";
1729
- readonly meterBuild: "Build";
1730
- readonly meterAsk: "Ask";
1802
+ readonly poolUsed: "{{percent}} used";
1731
1803
  readonly statusOk: "Plenty left";
1732
1804
  readonly statusLow: "Running low";
1733
1805
  readonly statusFull: "Limit reached";
@@ -1742,7 +1814,6 @@ declare const en: {
1742
1814
  readonly ctaUpgrade: "Upgrade to keep going";
1743
1815
  readonly ctaTopUp: "Add credits to continue";
1744
1816
  readonly ariaLabel: "AI usage: {{status}}";
1745
- readonly breakdownTitle: "Used so far";
1746
1817
  };
1747
1818
  readonly workspaceTitle: "AI Workspace";
1748
1819
  readonly workspaceSubtitle: "Ask, inspect, and resume conversations";
@@ -1799,6 +1870,8 @@ declare const en: {
1799
1870
  readonly liveCanvasUnlisted: "Live app — {{app}} (unlisted until published)";
1800
1871
  readonly loadingAgents: "Loading agents…";
1801
1872
  readonly askAnything: "Ask anything…";
1873
+ readonly askOrChangeApp: "Ask about your data, or ask me to change this app…";
1874
+ readonly describeAppToBuild: "Describe the app you want to build, or what to change…";
1802
1875
  readonly emptyTitle: "Start a conversation";
1803
1876
  readonly emptyDescription: "Ask anything — the assistant has access to your current app context.";
1804
1877
  readonly switchAssistant: "Switch assistant";
@@ -1820,12 +1893,17 @@ declare const en: {
1820
1893
  };
1821
1894
  readonly clearConversation: "Clear";
1822
1895
  readonly sendHint: "to send";
1896
+ readonly newlineHint: "for a new line";
1823
1897
  readonly agentActivity: "Agent activity";
1824
1898
  readonly toolCompleted: "Completed";
1825
1899
  readonly toolRunning: "Running";
1826
1900
  readonly toolAwaitingApproval: "Awaiting approval";
1827
1901
  readonly toolFailed: "Failed";
1828
1902
  readonly toolDetailsHidden: "Tool inputs and raw results are hidden in this view.";
1903
+ readonly toolDenyReason: "Operator rejected from chat";
1904
+ readonly builderHandoffTitle: "Build this in the Builder";
1905
+ readonly builderHandoffOpen: "Open in Builder →";
1906
+ readonly builderHandoffSuperseded: "A newer request is available";
1829
1907
  readonly copy: "Copy";
1830
1908
  readonly copied: "Copied";
1831
1909
  readonly regenerate: "Regenerate";
@@ -1840,7 +1918,7 @@ declare const en: {
1840
1918
  readonly publishOk: "Published — objects are now live.";
1841
1919
  readonly seedWarn: "Published, but some sample data failed to load.";
1842
1920
  readonly openBuiltApp: "Open app";
1843
- readonly designBuiltApp: "Design in Studio";
1921
+ readonly viewBuiltAppInStudio: "View in Studio";
1844
1922
  readonly previewDraft: "Preview";
1845
1923
  readonly previewApp: "Preview app";
1846
1924
  readonly resizeSplit: "Resize chat and preview";
@@ -1948,6 +2026,7 @@ declare const en: {
1948
2026
  readonly collapse: "Collapse chat";
1949
2027
  readonly maximize: "Open full page";
1950
2028
  readonly open: "Open assistant";
2029
+ readonly planAwaitingApproval: "A proposed plan is waiting for your approval";
1951
2030
  };
1952
2031
  readonly group: {
1953
2032
  readonly today: "Today";
@@ -1958,9 +2037,9 @@ declare const en: {
1958
2037
  };
1959
2038
  };
1960
2039
  readonly readRate: {
1961
- readonly ratioTitle: "Unusual read volume in this environment";
2040
+ readonly ratioTitle: "Unusual read volume in this system";
1962
2041
  readonly ratio: "Reads are running at {{ratio}} rows for every row written. The platform flags anything above {{threshold}}. Nothing is limited or blocked; this is a report so the read pattern can be reviewed.";
1963
- readonly noWritesTitle: "Reads with no writes at all in this environment";
2042
+ readonly noWritesTitle: "Reads with no writes at all in this system";
1964
2043
  readonly noWrites: "Rows are being read while none at all are being written, so the read rate has no upper bound. This is the most severe reading. The platform flags anything above {{threshold}}. Nothing is limited or blocked; this is a report so the read pattern can be reviewed.";
1965
2044
  };
1966
2045
  readonly storageUsage: {
@@ -2019,11 +2098,13 @@ declare const en: {
2019
2098
  readonly objectNotFound: "Object Not Found";
2020
2099
  readonly objectNotFoundDescription: "The object \"{{objectName}}\" does not exist in the current configuration.";
2021
2100
  readonly objectNotFoundHint: "Check your app navigation settings or select a different object from the sidebar.";
2101
+ readonly objectPackageDisabled: "The object \"{{objectName}}\" belongs to a package that is disabled, so it is not being served.";
2022
2102
  readonly filterOrNotSavable: "This filter uses OR between conditions, which a saved view cannot store yet. It still applies to this list — remove the OR grouping to save it to the view.";
2023
2103
  readonly filterNestedNotSavable: "This filter uses nested condition groups, which a saved view cannot store. Flatten it to a single list of conditions to save it to the view.";
2024
2104
  readonly systemViewReadonly: "System view defined in code — read-only.";
2025
2105
  readonly cannotEditMetaView: "This view is built in and defined in code — it cannot be changed.";
2026
- readonly viewConfigPermissionDenied: "View settings apply to everyone who uses this view, so changing them requires the Manage Metadata permission. Ask an administrator to make this change.";
2106
+ readonly resetView: "Reset view";
2107
+ readonly resetViewTitle: "Set this view back to its own sort, filters and column widths. Only yours change.";
2027
2108
  readonly cannotDeleteMetaView: "This view is built in and defined in code — it cannot be deleted.";
2028
2109
  readonly expandToPage: "Open as full page";
2029
2110
  readonly allRecords: "All Records";
@@ -2119,6 +2200,10 @@ declare const en: {
2119
2200
  readonly ufAddField: "+ Add filter field…";
2120
2201
  readonly ufShowAllRecords: "Show \"All records\" tab";
2121
2202
  };
2203
+ readonly runtimeDraft: {
2204
+ readonly publishFailed: "Publish failed";
2205
+ readonly discardFailed: "Discard failed";
2206
+ };
2122
2207
  readonly localeSwitcher: {
2123
2208
  readonly label: "Language";
2124
2209
  };
@@ -2150,10 +2235,21 @@ declare const en: {
2150
2235
  readonly usePasswordSignInText: "Sign in with password instead";
2151
2236
  readonly socialButton: "Continue with {provider}";
2152
2237
  readonly orText: "or continue with email";
2238
+ readonly ssoButton: "Sign in with SSO";
2239
+ readonly ssoOnlyDescription: "Sign in with your organization's single sign-on";
2240
+ readonly usePasswordText: "Use a password instead";
2241
+ readonly backToSsoText: "Back to single sign-on";
2242
+ readonly welcomeTitle: "Welcome back";
2243
+ readonly welcomeDescription: "Sign in to continue your work";
2244
+ readonly showPasswordText: "Show password";
2245
+ readonly hidePasswordText: "Hide password";
2246
+ readonly footer: {
2247
+ readonly privacy: "Privacy";
2248
+ readonly terms: "Terms";
2249
+ };
2153
2250
  readonly devAdminHint: {
2154
- readonly title: "Development instance";
2155
- readonly body: "Sign in with the seeded dev admin:";
2156
- readonly dismiss: "Dismiss";
2251
+ readonly title: "Local development instance";
2252
+ readonly signIn: "Sign in as dev admin";
2157
2253
  };
2158
2254
  readonly errors: {
2159
2255
  readonly invalidCredentials: "Invalid email or password. Please try again.";
@@ -2182,7 +2278,7 @@ declare const en: {
2182
2278
  readonly orText: "or continue with email";
2183
2279
  readonly errors: {
2184
2280
  readonly userExists: "An account with this email already exists. Try signing in instead.";
2185
- readonly selfRegistrationClosed: "Self-registration is not open on this environment. Ask an administrator for an invitation.";
2281
+ readonly selfRegistrationClosed: "Self-registration is not open on this system. Ask an administrator for an invitation.";
2186
2282
  readonly emailDomainNotAllowed: "This email's domain is not allowed to register here. Use your organization email, or ask an administrator for an invitation.";
2187
2283
  };
2188
2284
  readonly verifyInbox: {
@@ -2252,7 +2348,7 @@ declare const en: {
2252
2348
  readonly resentSuccess: "Verification email sent!";
2253
2349
  readonly resentDescription: "Please check your inbox and click the verification link.";
2254
2350
  readonly resendFailed: "Cannot resend verification email";
2255
- readonly resendUnavailable: "Email delivery may not be configured for this environment. Contact support if this persists.";
2351
+ readonly resendUnavailable: "Email delivery may not be configured for this system. Contact support if this persists.";
2256
2352
  readonly signInLink: "Go to sign in";
2257
2353
  readonly backToSignIn: "Back to sign in";
2258
2354
  readonly backToLogin: "Back to login";
@@ -2300,11 +2396,11 @@ declare const en: {
2300
2396
  readonly cancel: "Cancel";
2301
2397
  };
2302
2398
  readonly shell: {
2303
- readonly tenantHostHint: "You are signing in to this workspace";
2399
+ readonly tenantHostHint: "You are signing in to this system";
2304
2400
  };
2305
2401
  readonly setPassword: {
2306
2402
  readonly title: "Set a recovery password";
2307
- readonly description: "You signed in via single sign-on. Set a local password so you can still sign in to this environment directly if SSO ever becomes unavailable.";
2403
+ readonly description: "You signed in via single sign-on. Set a local password so you can still sign in directly if SSO ever becomes unavailable.";
2308
2404
  readonly email: "Email";
2309
2405
  readonly newPassword: "New password";
2310
2406
  readonly confirmPassword: "Confirm password";
@@ -2324,6 +2420,7 @@ declare const en: {
2324
2420
  readonly signOut: "Sign out instead";
2325
2421
  readonly password: {
2326
2422
  readonly title: "Your password has expired";
2423
+ readonly resetTitle: "You must change your password";
2327
2424
  readonly fallbackMessage: "Please set a new password to continue.";
2328
2425
  readonly current: "Current password";
2329
2426
  readonly next: "New password";
@@ -2349,6 +2446,11 @@ declare const en: {
2349
2446
  readonly verifying: "Verifying…";
2350
2447
  readonly invalidCode: "Invalid code. Try again.";
2351
2448
  };
2449
+ readonly impersonation: {
2450
+ readonly passwordTitle: "{{user}} must change their password";
2451
+ readonly mfaTitle: "{{user}} must set up two-factor authentication";
2452
+ readonly body: "You are impersonating {{user}}, and only they can do this themselves. Stop impersonating to return to your own account.";
2453
+ };
2352
2454
  };
2353
2455
  };
2354
2456
  readonly oauth: {
@@ -2356,12 +2458,17 @@ declare const en: {
2356
2458
  readonly title: "{{appName}} wants to access your account";
2357
2459
  readonly request: "{{appName}} is requesting permission{{suffix}}.";
2358
2460
  readonly unknownApp: "an application";
2461
+ readonly unidentified: "This application could not be identified.";
2462
+ readonly clientId: "Client ID";
2359
2463
  readonly willAllow: "This app will be able to:";
2360
2464
  readonly scope: {
2361
2465
  readonly openid: "Confirm your identity";
2362
2466
  readonly profile: "Read your basic profile (name, picture)";
2363
2467
  readonly email: "Read your email address";
2364
2468
  readonly offlineAccess: "Stay signed in (refresh access)";
2469
+ readonly dataRead: "Read records, within your own permissions";
2470
+ readonly dataWrite: "Create, change and delete records, within your own permissions";
2471
+ readonly actionsExecute: "Run actions on your behalf, within your own permissions";
2365
2472
  };
2366
2473
  readonly deny: "Deny";
2367
2474
  readonly authorize: "Authorize";
@@ -2404,8 +2511,8 @@ declare const en: {
2404
2511
  readonly password: {
2405
2512
  readonly changeTitle: "Change Password";
2406
2513
  readonly setTitle: "Set Local Password";
2407
- readonly changeDescription: "Update the password you use to sign in to this environment.";
2408
- readonly setDescription: "You signed in via single sign-on. Set a local password to also sign in with email and password on this environment.";
2514
+ readonly changeDescription: "Update the password you use to sign in.";
2515
+ readonly setDescription: "You signed in via single sign-on. Set a local password to also sign in with email and password.";
2409
2516
  readonly current: "Current password";
2410
2517
  readonly new: "New password";
2411
2518
  readonly password: "Password";
@@ -2414,7 +2521,7 @@ declare const en: {
2414
2521
  readonly mismatch: "Passwords do not match";
2415
2522
  readonly enterCurrent: "Enter your current password";
2416
2523
  readonly changed: "Password changed.";
2417
- readonly localSet: "Local password set. You can now sign in with email and password on this environment.";
2524
+ readonly localSet: "Local password set. You can now sign in with email and password.";
2418
2525
  readonly changeAction: "Change password";
2419
2526
  readonly setAction: "Set password";
2420
2527
  };
@@ -2429,21 +2536,21 @@ declare const en: {
2429
2536
  readonly unknown: "An unexpected error occurred.";
2430
2537
  };
2431
2538
  readonly workspace: {
2432
- readonly label: "Workspaces";
2433
- readonly default: "My Workspace";
2434
- readonly switch: "Switch workspace";
2435
- readonly createTitle: "Create a workspace";
2436
- readonly createDescription: "A workspace is a shared space for your team to collaborate.";
2437
- readonly createButton: "Create workspace";
2438
- readonly nameLabel: "Workspace name";
2539
+ readonly label: "Organizations";
2540
+ readonly default: "My Organization";
2541
+ readonly switch: "Switch organization";
2542
+ readonly createTitle: "Create an organization";
2543
+ readonly createDescription: "An organization is a shared space for your team to collaborate.";
2544
+ readonly createButton: "Create organization";
2545
+ readonly nameLabel: "Organization name";
2439
2546
  readonly namePlaceholder: "e.g., Acme Inc";
2440
2547
  readonly slugLabel: "URL slug";
2441
2548
  readonly slugHint: "Used in URLs. Only lowercase letters, numbers, and hyphens.";
2442
2549
  readonly invite: "Invite member";
2443
2550
  readonly members: "Members";
2444
- readonly settings: "Workspace settings";
2551
+ readonly settings: "Organization settings";
2445
2552
  readonly multiOrgDisabled: "Creating new organizations is disabled on this instance.";
2446
- readonly createFailed: "Failed to create workspace";
2553
+ readonly createFailed: "Failed to create organization";
2447
2554
  };
2448
2555
  readonly help: {
2449
2556
  readonly onThisPage: "On this page";
@@ -2451,6 +2558,12 @@ declare const en: {
2451
2558
  readonly allDocs: "All documentation";
2452
2559
  readonly keyboardShortcuts: "Keyboard shortcuts";
2453
2560
  readonly onlineDocs: "Online documentation";
2561
+ readonly loadingDocumentation: "Loading documentation";
2562
+ readonly about: "About";
2563
+ readonly aboutTitle: "About this console";
2564
+ readonly aboutDescription: "The build this console was compiled from.";
2565
+ readonly aboutBuild: "Console build";
2566
+ readonly aboutBuildUnknown: "Unknown build (no version was set when this console was built)";
2454
2567
  };
2455
2568
  readonly sidebar: {
2456
2569
  readonly settings: "Settings";
@@ -2465,20 +2578,19 @@ declare const en: {
2465
2578
  readonly packageManagement: "Package management";
2466
2579
  readonly searchNavigation: "Search navigation…";
2467
2580
  readonly recent: "Recent";
2468
- readonly favorites: "Favorites";
2469
2581
  readonly starred: "Starred";
2470
2582
  readonly removeFromFavorites: "Remove {{name}} from favorites";
2583
+ readonly allReports: "All reports";
2471
2584
  };
2472
2585
  readonly topbar: {
2473
2586
  readonly aiAssistant: "AI Assistant";
2474
2587
  readonly designInStudio: "Design in Studio";
2588
+ readonly editApp: "Edit app";
2475
2589
  readonly openAssistant: "Open {{name}} assistant";
2476
2590
  readonly offline: "Offline";
2477
2591
  readonly usersOnline: "Users currently online";
2478
2592
  readonly switchView: "Switch view";
2479
- readonly switchObject: "Switch Object";
2480
2593
  readonly connection: {
2481
- readonly connected: "Connected";
2482
2594
  readonly connecting: "Connecting…";
2483
2595
  readonly reconnecting: "Reconnecting…";
2484
2596
  readonly disconnected: "Disconnected";
@@ -2498,34 +2610,47 @@ declare const en: {
2498
2610
  readonly showMoreApps: "More";
2499
2611
  readonly showLess: "Show less";
2500
2612
  readonly continueEmpty: "Items you open will show up here.";
2501
- readonly actionCenter: {
2502
- readonly title: "Needs your attention";
2503
- readonly empty: "You're all caught up";
2613
+ readonly myWork: {
2614
+ readonly title: "My work";
2615
+ readonly openInbox: "Open inbox";
2616
+ readonly viewAll: "View all";
2617
+ readonly approvals: "Awaiting approval";
2618
+ readonly approvalsEmpty: "Nothing waiting for your approval";
2619
+ readonly notifications: "Notifications";
2620
+ readonly notificationsEmpty: "No unread notifications";
2504
2621
  };
2505
2622
  readonly greetingMorning: "Good morning";
2506
2623
  readonly greetingAfternoon: "Good afternoon";
2507
2624
  readonly greetingEvening: "Good evening";
2508
2625
  readonly greetingNight: "Working late";
2509
- readonly heroTagline: "Pick up where you left off, or explore something new.";
2626
+ readonly greetingSeparator: ", ";
2627
+ readonly greetingEnd: ".";
2628
+ readonly search: "Search apps, records, pages…";
2629
+ readonly summary: {
2630
+ readonly approvals: "You have {{count}} approval(s) waiting today";
2631
+ readonly approvals_one: "You have {{count}} approval waiting today";
2632
+ readonly approvals_other: "You have {{count}} approvals waiting today";
2633
+ readonly none: "Nothing is waiting for you today";
2634
+ };
2635
+ readonly addApp: "Add app";
2636
+ readonly appOpened: "{{time}}";
2510
2637
  readonly build: {
2511
2638
  readonly title: "Build an app";
2512
- readonly subtitle: "Start from scratch — design objects, forms, automations and interfaces.";
2513
- readonly noCapability: "Building apps isn't available in this workspace — it requires the “Manage Metadata” permission, which your account doesn't have.";
2639
+ readonly noCapability: "Building apps isn't available in this system — it requires the “Manage Metadata” permission, which your account doesn't have.";
2514
2640
  };
2515
2641
  readonly template: {
2516
2642
  readonly title: "Start with a template";
2517
- readonly subtitle: "Install a template app from the marketplace and customize it.";
2518
2643
  readonly marketplaceDisabled: "This runtime has no app marketplace configured, so there are no templates to install here.";
2519
2644
  };
2520
2645
  readonly open: "Open";
2521
- readonly loading: "Loading workspace…";
2646
+ readonly loading: "Loading…";
2522
2647
  readonly welcome: "Build your business system with AI";
2523
2648
  readonly welcomeDescription: "Describe your business in one sentence — AI generates the objects, screens, APIs and agent tools. Or start from scratch.";
2524
2649
  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.";
2525
2650
  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.";
2526
2651
  readonly welcomeAdminDescriptionNoAi: "Set up your first application from the Administration menu on the left.";
2527
2652
  readonly noAppsTitle: "No applications yet";
2528
- readonly noAppsDescription: "Your workspace is being set up — apps your admin shares with you will show up here.";
2653
+ readonly noAppsDescription: "The system is being set up — apps your admin shares with you will show up here.";
2529
2654
  readonly buildWithAI: "Build with AI";
2530
2655
  readonly askAI: "Ask AI";
2531
2656
  readonly recoveryReminder: {
@@ -2534,9 +2659,12 @@ declare const en: {
2534
2659
  readonly dismiss: "Dismiss";
2535
2660
  };
2536
2661
  readonly pendingDrafts: {
2537
- readonly message: "You have {{count}} unpublished change(s) — publish to make them live.";
2538
- readonly message_one: "You have {{count}} unpublished change — publish to make it live.";
2539
- readonly message_other: "You have {{count}} unpublished changes — publish to make them live.";
2662
+ readonly title: "{{count}} unpublished change(s)";
2663
+ readonly title_one: "{{count}} unpublished change";
2664
+ readonly title_other: "{{count}} unpublished changes";
2665
+ readonly inPackage: "{{names}} waiting to publish in {{package}}";
2666
+ readonly waiting: "{{names}} waiting to publish";
2667
+ readonly nameSeparator: ", ";
2540
2668
  readonly cta: "Publish";
2541
2669
  readonly publishing: "Publishing…";
2542
2670
  readonly published: "Published! Your changes are live.";
@@ -2555,7 +2683,7 @@ declare const en: {
2555
2683
  readonly manageObjects: "Manage Objects";
2556
2684
  readonly manageObjectsDesc: "Configure data models";
2557
2685
  readonly systemSettings: "System Settings";
2558
- readonly systemSettingsDesc: "Configure your workspace";
2686
+ readonly systemSettingsDesc: "Configure your system";
2559
2687
  };
2560
2688
  readonly recentApps: {
2561
2689
  readonly title: "Recently Accessed";
@@ -2564,6 +2692,8 @@ declare const en: {
2564
2692
  readonly dashboard: "Dashboard";
2565
2693
  readonly page: "Page";
2566
2694
  readonly report: "Report";
2695
+ readonly package: "Package";
2696
+ readonly view: "List view";
2567
2697
  readonly record: "Record";
2568
2698
  readonly metadata: "Metadata";
2569
2699
  };
@@ -2592,6 +2722,11 @@ declare const en: {
2592
2722
  readonly manageAllApps: "Manage All Apps";
2593
2723
  readonly systemConsole: "System Console";
2594
2724
  readonly noAppsConfigured: "No apps configured";
2725
+ readonly allApps: "All apps";
2726
+ readonly editAppInStudio: "Edit {{app}} in Studio";
2727
+ readonly backToHome: "Back to home";
2728
+ readonly settings: "Settings";
2729
+ readonly productHome: "{{product}} home";
2595
2730
  };
2596
2731
  readonly systemNav: {
2597
2732
  readonly systemSettings: "System Settings";
@@ -2610,6 +2745,7 @@ declare const en: {
2610
2745
  readonly title: "Recent Activity";
2611
2746
  readonly filter: "Filter";
2612
2747
  readonly empty: "No recent activity";
2748
+ readonly accessDenied: "You don't have permission to view activity.";
2613
2749
  readonly viewAll: "View all activity";
2614
2750
  readonly ariaLabel: "Activity feed";
2615
2751
  readonly typeCreate: "Create";
@@ -2659,6 +2795,10 @@ declare const en: {
2659
2795
  readonly interfacePageSourceMissing: "This interface page references \"{{name}}\", which is not available.";
2660
2796
  readonly recordNotFound: "Record not found";
2661
2797
  readonly recordNotFoundDescription: "The record you are looking for does not exist or may have been deleted.";
2798
+ readonly recordAccessDenied: "You don’t have access to {{object}} records";
2799
+ readonly recordAccessDeniedDescription: "You don’t have permission to view records of this type. Contact your administrator if you think you should have access.";
2800
+ readonly recordLoadFailed: "Couldn’t load this record";
2801
+ readonly recordLoadFailedDescription: "Something went wrong while loading it. Check your connection and try again.";
2662
2802
  readonly pageNotFound: "Page Not Found";
2663
2803
  readonly pageNotFoundDescription: "The page \"{{name}}\" could not be found. It may have been removed or renamed.";
2664
2804
  readonly dashboardNotFound: "Dashboard Not Found";
@@ -2676,6 +2816,10 @@ declare const en: {
2676
2816
  readonly appAccessDenied: "You don't have access to this app";
2677
2817
  readonly appAccessDeniedDescription: "This app exists, but your account is not authorized to open it. Ask an administrator to grant you access.";
2678
2818
  readonly appAccessDeniedHome: "Back to home";
2819
+ readonly appNothingAvailable: "Nothing in {{app}} is available to you yet";
2820
+ readonly appNothingAvailableDescription: "This app has no pages your account can open. Ask an administrator to grant you access.";
2821
+ readonly appNothingAvailableGrantDescription: "This app has no pages your account can open. You can grant access in Setup.";
2822
+ readonly openSetup: "Open Setup";
2679
2823
  readonly createFirstApp: "Create Your First App";
2680
2824
  readonly systemSettings: "System Settings";
2681
2825
  readonly back: "Back";
@@ -2696,6 +2840,9 @@ declare const en: {
2696
2840
  readonly publishing: "Publishing…";
2697
2841
  readonly exit: "Exit preview";
2698
2842
  readonly changes: "Changes";
2843
+ readonly pendingHere: "Draft preview · {{count}} unpublished changes on this page";
2844
+ readonly pendingHere_one: "Draft preview · {{count}} unpublished change on this page";
2845
+ readonly pendingHere_other: "Draft preview · {{count}} unpublished changes on this page";
2699
2846
  readonly sampleDataTitle: "Sample data appears once you publish";
2700
2847
  readonly sampleDataBody: "You’re previewing your app’s structure. Publish to load example records and make it live.";
2701
2848
  readonly publishCta: "Publish to see it live";
@@ -2715,7 +2862,53 @@ declare const en: {
2715
2862
  readonly confirmNote: "Publishing releases all {{count}} pending drafts of this package atomically.";
2716
2863
  readonly confirmNote_one: "Publishing releases the {{count}} pending draft of this package atomically.";
2717
2864
  readonly confirmNote_other: "Publishing releases all {{count}} pending drafts of this package atomically.";
2865
+ readonly confirmNoteSeparate: "Publishing releases the {{count}} pending drafts one at a time: a draft that fails stays pending while the others go live.";
2866
+ readonly confirmNoteSeparate_one: "Publishing releases the {{count}} pending draft on its own: if it fails, it stays pending.";
2867
+ readonly confirmNoteSeparate_other: "Publishing releases the {{count}} pending drafts one at a time: a draft that fails stays pending while the others go live.";
2718
2868
  readonly publishConfirm: "Publish all";
2869
+ readonly summaryItems: "{{count}} items";
2870
+ readonly summaryItems_one: "{{count}} item";
2871
+ readonly summaryItems_other: "{{count}} items";
2872
+ readonly summaryType: "{{n}} {{type}}";
2873
+ readonly typeCount: {
2874
+ readonly object: "{{count}} objects";
2875
+ readonly object_one: "{{count}} object";
2876
+ readonly object_other: "{{count}} objects";
2877
+ readonly view: "{{count}} views";
2878
+ readonly view_one: "{{count}} view";
2879
+ readonly view_other: "{{count}} views";
2880
+ readonly page: "{{count}} pages";
2881
+ readonly page_one: "{{count}} page";
2882
+ readonly page_other: "{{count}} pages";
2883
+ readonly dashboard: "{{count}} dashboards";
2884
+ readonly dashboard_one: "{{count}} dashboard";
2885
+ readonly dashboard_other: "{{count}} dashboards";
2886
+ readonly app: "{{count}} apps";
2887
+ readonly app_one: "{{count}} app";
2888
+ readonly app_other: "{{count}} apps";
2889
+ readonly action: "{{count}} actions";
2890
+ readonly action_one: "{{count}} action";
2891
+ readonly action_other: "{{count}} actions";
2892
+ readonly report: "{{count}} reports";
2893
+ readonly report_one: "{{count}} report";
2894
+ readonly report_other: "{{count}} reports";
2895
+ readonly flow: "{{count}} flows";
2896
+ readonly flow_one: "{{count}} flow";
2897
+ readonly flow_other: "{{count}} flows";
2898
+ readonly permission: "{{count}} permission sets";
2899
+ readonly permission_one: "{{count}} permission set";
2900
+ readonly permission_other: "{{count}} permission sets";
2901
+ readonly agent: "{{count}} agents";
2902
+ readonly agent_one: "{{count}} agent";
2903
+ readonly agent_other: "{{count}} agents";
2904
+ readonly email_template: "{{count}} email templates";
2905
+ readonly email_template_one: "{{count}} email template";
2906
+ readonly email_template_other: "{{count}} email templates";
2907
+ };
2908
+ readonly backfillOption: "Backfill default ({{count}} existing records)";
2909
+ readonly backfillOption_one: "Backfill default ({{count}} existing record)";
2910
+ readonly backfillOption_other: "Backfill default ({{count}} existing records)";
2911
+ readonly backfillOptionNoCount: "Backfill default";
2719
2912
  readonly securityBlockTitle: "Publishing will be refused — {{count}} item(s) need a decision first";
2720
2913
  readonly securityBlockTitle_one: "Publishing will be refused — {{count}} item needs a decision first";
2721
2914
  readonly securityBlockTitle_other: "Publishing will be refused — {{count}} items need a decision first";
@@ -2781,8 +2974,11 @@ declare const en: {
2781
2974
  readonly deleteFailed: "Failed to delete {{label}}";
2782
2975
  readonly noRecordId: "No record ID provided";
2783
2976
  readonly deleteConfirm: "Are you sure you want to delete this record?";
2784
- readonly resetPackageSetConfirm: string;
2785
- readonly resetPackageSetSuccess: "Permission set reset to its shipped baseline";
2977
+ readonly deleteConfirmTitle: "Delete {{label}} \"{{name}}\"?";
2978
+ readonly bulkDeleteConfirmTitle: "Delete {{count}} {{label}} records?";
2979
+ readonly bulkDeleteConfirmTitle_one: "Delete {{count}} {{label}} record?";
2980
+ readonly bulkDeleteConfirmTitle_other: "Delete {{count}} {{label}} records?";
2981
+ readonly deleteConfirmButton: "Delete";
2786
2982
  readonly bulkDeleteSuccess: "Deleted {{count}} {{label}} records";
2787
2983
  readonly bulkDeleteSuccess_one: "Deleted {{count}} {{label}} record";
2788
2984
  readonly bulkDeleteSuccess_other: "Deleted {{count}} {{label}} records";
@@ -2806,18 +3002,18 @@ declare const en: {
2806
3002
  readonly language: "Language";
2807
3003
  };
2808
3004
  readonly organizations: {
2809
- readonly mine: "My Workspaces";
2810
- readonly create: "Create workspace";
2811
- readonly title: "Workspaces";
2812
- readonly heading: "Your Workspaces";
2813
- readonly subtitle: "Select a workspace to continue, or create a new one.";
2814
- readonly searchPlaceholder: "Search for a workspace";
2815
- readonly new: "New workspace";
2816
- readonly current: "Current workspace";
3005
+ readonly mine: "My Organizations";
3006
+ readonly create: "Create organization";
3007
+ readonly title: "Organizations";
3008
+ readonly heading: "Your Organizations";
3009
+ readonly subtitle: "Select an organization to continue, or create a new one.";
3010
+ readonly searchPlaceholder: "Search for an organization";
3011
+ readonly new: "New organization";
3012
+ readonly current: "Current organization";
2817
3013
  readonly manage: "Manage";
2818
- readonly emptyTitle: "No workspaces yet";
2819
- readonly emptyDescription: "Create your first workspace to get started.";
2820
- readonly noMatches: "No workspaces match your search.";
3014
+ readonly emptyTitle: "No organizations yet";
3015
+ readonly emptyDescription: "Create your first organization to get started.";
3016
+ readonly noMatches: "No organizations match your search.";
2821
3017
  };
2822
3018
  readonly organization: {
2823
3019
  readonly roles: {
@@ -2902,6 +3098,7 @@ declare const en: {
2902
3098
  readonly readOnlyNote: "Only owners can change settings.";
2903
3099
  readonly nameLabel: "Organization name";
2904
3100
  readonly slugLabel: "Slug";
3101
+ readonly slugLockedNote: "This organization has active environments, so its slug can’t be changed here: renaming it also moves their subdomains.";
2905
3102
  readonly logoLabel: "Logo";
2906
3103
  readonly logoUpload: "Upload";
2907
3104
  readonly logoReplace: "Replace";
@@ -2977,8 +3174,12 @@ declare const en: {
2977
3174
  readonly noPendingApprovals: "No pending approvals";
2978
3175
  readonly openApprovalsInbox: "Open Approvals Inbox";
2979
3176
  readonly badgeTotal: "{{total}} total";
2980
- readonly badgeNotifications: "{{unread}} notifications";
2981
- readonly badgeApprovals: "{{approvals}} pending approvals";
3177
+ readonly badgeNotifications: "{{count}} notifications";
3178
+ readonly badgeNotifications_one: "{{count}} notification";
3179
+ readonly badgeNotifications_other: "{{count}} notifications";
3180
+ readonly badgeApprovals: "{{count}} pending approvals";
3181
+ readonly badgeApprovals_one: "{{count}} pending approval";
3182
+ readonly badgeApprovals_other: "{{count}} pending approvals";
2982
3183
  readonly arrivalMany: "{{count}} new messages";
2983
3184
  readonly arrivalMany_one: "{{count}} new message";
2984
3185
  readonly arrivalMany_other: "{{count}} new messages";
@@ -3020,10 +3221,10 @@ declare const en: {
3020
3221
  readonly body: "The MCP surface is off (OS_MCP_SERVER_ENABLED=false), so there is nothing to connect. Ask your operator to re-enable it.";
3021
3222
  };
3022
3223
  readonly url: {
3023
- readonly title: "This environment's MCP endpoint";
3224
+ readonly title: "This system's MCP endpoint";
3024
3225
  readonly body: "Any MCP-capable AI client connects with this URL. Identity is self-serve: the deployment is its own OAuth 2.1 authorization server, so interactive clients just open a browser login — you connect as yourself, and every call runs under your own permissions and row-level security.";
3025
3226
  readonly downloadSkill: "Download SKILL.md";
3026
- readonly skillHint: "The portable agent skill: teaches any skills-capable agent how to work with this environment.";
3227
+ readonly skillHint: "The portable agent skill: teaches any skills-capable agent how to work with this system.";
3027
3228
  };
3028
3229
  readonly claude: {
3029
3230
  readonly body: "Settings → Connectors → Add custom connector, then paste this URL. Sign in through the browser when prompted.";
@@ -3066,15 +3267,8 @@ declare const en: {
3066
3267
  readonly importAction: "Import";
3067
3268
  readonly dismiss: "Dismiss";
3068
3269
  };
3069
- readonly cloudOnboarding: {
3070
- readonly hintCreate: "Spin up your first environment — a private workspace with its own URL, database, and plan. Building happens inside it.";
3071
- readonly hintReady: "Your production environment is ready. Open it to build and run your apps — that all happens inside the environment.";
3072
- readonly createEnvironment: "Create your environment";
3073
- readonly openProduction: "Open Production";
3074
- readonly manageEnvironments: "Manage environments";
3075
- };
3076
- readonly cloudPlanStatus: {
3077
- readonly current: "Current plan";
3270
+ readonly cloudWorkspaceTimezoneNotice: {
3271
+ readonly seeded: "The environment timezone was set to {{zone}} from your browser when the environment was created. You can change it in Settings → Localization.";
3078
3272
  };
3079
3273
  readonly ai: {
3080
3274
  readonly nlQuery: {
@@ -3151,8 +3345,8 @@ declare const en: {
3151
3345
  readonly rowConversational: "Build / Ask model";
3152
3346
  readonly rowStructured: "Structured (blueprint / seed)";
3153
3347
  readonly rowReasoning: "Reasoning effort";
3154
- readonly readFailed: "Couldn't read the effective AI model. This environment may not run an AI service, or you may lack the ai:read permission.";
3155
- readonly readFailedWithStatus: "Couldn't read the effective AI model (HTTP {{status}}). This environment may not run an AI service, or you may lack the ai:read permission.";
3348
+ readonly readFailed: "Couldn't read the effective AI model. This system may not run an AI service, or you may lack the ai:read permission.";
3349
+ readonly readFailedWithStatus: "Couldn't read the effective AI model (HTTP {{status}}). This system may not run an AI service, or you may lack the ai:read permission.";
3156
3350
  readonly overridesInEffect: "Overrides in effect: ";
3157
3351
  readonly noOverrides: "none — running the deployed code defaults.";
3158
3352
  readonly adapter: "Adapter: ";
@@ -3161,42 +3355,48 @@ declare const en: {
3161
3355
  readonly sourcePinned: "pinned by {{source}}";
3162
3356
  };
3163
3357
  readonly chatbot: {
3358
+ readonly answer: {
3359
+ readonly showFull: "Show full answer";
3360
+ readonly collapse: "Collapse";
3361
+ readonly expandTable: "Expand";
3362
+ readonly exitExpandedTable: "Close";
3363
+ };
3164
3364
  readonly tool: {
3165
- readonly aggregate_data: "Aggregate data";
3166
- readonly get_record: "Get record";
3167
- readonly query_data: "Query data";
3168
- readonly query_records: "Query records";
3169
- readonly search_knowledge: "Search knowledge";
3170
- readonly visualize_data: "Visualize data";
3171
- readonly add_field: "Add field";
3172
- readonly apply_blueprint: "Apply blueprint";
3173
- readonly apply_edit: "Apply edit";
3174
- readonly create_metadata: "Create metadata";
3175
- readonly create_object: "Create object";
3176
- readonly create_package: "Create package";
3177
- readonly create_seed: "Create seed";
3178
- readonly delete_field: "Delete field";
3179
- readonly describe_metadata: "Describe metadata";
3180
- readonly describe_object: "Describe object";
3181
- readonly get_active_package: "Get active package";
3182
- readonly get_authoring_rules: "Get authoring rules";
3183
- readonly get_metadata_schema: "Get metadata schema";
3184
- readonly get_package: "Get package";
3185
- readonly list_metadata: "List metadata";
3186
- readonly list_objects: "List objects";
3187
- readonly list_packages: "List packages";
3188
- readonly load_tools: "Load tools";
3189
- readonly modify_field: "Modify field";
3190
- readonly open_record: "Open record";
3191
- readonly propose_blueprint: "Propose blueprint";
3192
- readonly set_active_package: "Set active package";
3193
- readonly suggest_builder: "Suggest builder";
3194
- readonly test_flow: "Test flow";
3195
- readonly todo_write: "Todo write";
3196
- readonly toggle_flow: "Toggle flow";
3197
- readonly update_metadata: "Update metadata";
3198
- readonly validate_expression: "Validate expression";
3199
- readonly verify_build: "Verify build";
3365
+ readonly aggregate_data: "Aggregate the data";
3366
+ readonly get_record: "Read the record";
3367
+ readonly query_data: "Query the data";
3368
+ readonly query_records: "Look up the records";
3369
+ readonly search_knowledge: "Search the knowledge base";
3370
+ readonly visualize_data: "Chart the data";
3371
+ readonly add_field: "Add a field";
3372
+ readonly apply_blueprint: "Build the app from the plan";
3373
+ readonly apply_edit: "Apply the change";
3374
+ readonly create_metadata: "Create a metadata item";
3375
+ readonly create_object: "Create an object";
3376
+ readonly create_package: "Create a package";
3377
+ readonly create_seed: "Generate sample data";
3378
+ readonly delete_field: "Delete a field";
3379
+ readonly describe_metadata: "Look at the metadata";
3380
+ readonly describe_object: "Look at the object structure";
3381
+ readonly get_active_package: "Check the active package";
3382
+ readonly get_authoring_rules: "Read the authoring rules";
3383
+ readonly get_metadata_schema: "Read the metadata format";
3384
+ readonly get_package: "Look at the package";
3385
+ readonly list_metadata: "List the existing metadata";
3386
+ readonly list_objects: "List the existing objects";
3387
+ readonly list_packages: "List the existing packages";
3388
+ readonly load_tools: "Load more tools";
3389
+ readonly modify_field: "Change a field";
3390
+ readonly open_record: "Open the record";
3391
+ readonly propose_blueprint: "Draft the app plan";
3392
+ readonly set_active_package: "Switch to the target package";
3393
+ readonly suggest_builder: "Suggest building it with AI";
3394
+ readonly test_flow: "Try out the flow";
3395
+ readonly todo_write: "Note follow-up checks";
3396
+ readonly toggle_flow: "Turn the flow on or off";
3397
+ readonly update_metadata: "Update a metadata item";
3398
+ readonly validate_expression: "Check the expression";
3399
+ readonly verify_build: "Check the build";
3200
3400
  };
3201
3401
  readonly toolState: {
3202
3402
  readonly agentActivity: "Agent activity";
@@ -3209,6 +3409,15 @@ declare const en: {
3209
3409
  readonly denied: "Denied";
3210
3410
  readonly failed: "Failed";
3211
3411
  };
3412
+ readonly phase: {
3413
+ readonly build: "Build";
3414
+ readonly design: "Design the plan";
3415
+ readonly stepCount: "{{count}} steps";
3416
+ readonly stepCount_one: "{{count}} step";
3417
+ readonly stepCount_other: "{{count}} steps";
3418
+ readonly expand: "Show steps";
3419
+ readonly collapse: "Hide steps";
3420
+ };
3212
3421
  readonly plan: {
3213
3422
  readonly countObjects: "{{count}} objects";
3214
3423
  readonly countObjects_one: "{{count}} object";
@@ -3220,10 +3429,17 @@ declare const en: {
3220
3429
  readonly countDashboards_one: "{{count}} dashboard";
3221
3430
  readonly countDashboards_other: "{{count}} dashboards";
3222
3431
  readonly countSeedData: "sample data";
3432
+ readonly extendTarget: "Adding to existing app: {{app}}";
3433
+ readonly awaitingConfirm: "Awaiting confirmation";
3434
+ readonly objectsAndFields: "Objects and fields";
3435
+ readonly views: "Views";
3436
+ readonly suggestedField: "suggested";
3437
+ readonly nameField: "Name: {{field}}";
3223
3438
  };
3224
3439
  readonly build: {
3225
3440
  readonly building: "Building {{app}}…";
3226
3441
  readonly built: "Built {{app}}";
3442
+ readonly builtAndLive: "Built and live · {{app}}";
3227
3443
  readonly appFallback: "your app";
3228
3444
  readonly addingSampleData: "adding sample data";
3229
3445
  readonly group: {
@@ -3234,6 +3450,43 @@ declare const en: {
3234
3450
  readonly seed: "Sample data";
3235
3451
  };
3236
3452
  readonly moreArtifacts: "+{{n}} more";
3453
+ readonly verifying: "Checking the change…";
3454
+ readonly verifyStep: "step {{n}}";
3455
+ readonly verified: "Checked the change";
3456
+ readonly unknownPhase: "Unknown build phase";
3457
+ readonly nextStepsLead: "Next, you can say: {{steps}}";
3458
+ readonly nextStepQuote: "“{{step}}”";
3459
+ readonly draftPosture: "Later changes are saved as drafts, and you publish them in Studio.";
3460
+ readonly checksPassed: "Checks passed {{passed}}/{{total}}";
3461
+ };
3462
+ readonly changes: {
3463
+ readonly planTitle: "Change plan · {{count}} changes";
3464
+ readonly planTitle_one: "Change plan · {{count}} change";
3465
+ readonly planTitle_other: "Change plan · {{count}} changes";
3466
+ readonly saveDraft: "Save as draft";
3467
+ readonly reviewAndPublish: "Review changes and publish";
3468
+ readonly undo: "Undo";
3469
+ readonly undoWithOthers: "Undo (and {{count}} other drafts)";
3470
+ readonly undoWithOthers_one: "Undo (and {{count}} other draft)";
3471
+ readonly undoWithOthers_other: "Undo (and {{count}} other drafts)";
3472
+ readonly undoConfirm: "Undo discards all {{total}} unpublished drafts of this package, including {{count}} that are not part of this change.";
3473
+ readonly undoConfirm_one: "Undo discards all {{total}} unpublished drafts of this package, including {{count}} that is not part of this change.";
3474
+ readonly undoConfirm_other: "Undo discards all {{total}} unpublished drafts of this package, including {{count}} that are not part of this change.";
3475
+ readonly undoConfirmUnknown: "Undo discards every unpublished draft of this package, not only this change.";
3476
+ readonly undoConfirmAction: "Undo all";
3477
+ readonly undoCancel: "Cancel";
3478
+ readonly undoing: "Undoing…";
3479
+ readonly undone: "Undone";
3480
+ readonly undoFailed: "Undo failed";
3481
+ readonly kind: {
3482
+ readonly field: "Field";
3483
+ readonly object: "Object";
3484
+ readonly view: "View";
3485
+ readonly dashboard: "Dashboard";
3486
+ readonly app: "App";
3487
+ readonly seed: "Sample data";
3488
+ readonly package: "App package";
3489
+ };
3237
3490
  };
3238
3491
  };
3239
3492
  readonly chatbotError: {
@@ -3249,10 +3502,13 @@ declare const en: {
3249
3502
  readonly buyCredits: "Buy a credit pack";
3250
3503
  readonly upgradePlan: "Upgrade plan";
3251
3504
  };
3505
+ readonly planTier: {
3506
+ readonly teamAndUp: "Team plan and up";
3507
+ };
3252
3508
  readonly environment: {
3253
- readonly addEnvironment: "Add environment";
3254
3509
  readonly setUpProduction: "Set up your production environment";
3255
3510
  readonly addDevelopment: "Add development environment";
3511
+ readonly developmentLocked: "Development environments · {{tier}}";
3256
3512
  readonly entitlement: {
3257
3513
  readonly productionLimitTitle: "You already have your production environment";
3258
3514
  readonly productionLimitBody: "Each organization includes exactly one production environment. Create a separate organization for another, or contact us about an Enterprise arrangement.";
@@ -3299,7 +3555,7 @@ declare const en: {
3299
3555
  };
3300
3556
  readonly unbound: {
3301
3557
  readonly title: "Not connected";
3302
- readonly body: "Connect this runtime to an ObjectStack control plane to browse your organization's private packages and install them here. Approval is a single click in your cloud account — no ids or credentials are typed into this page.";
3558
+ readonly body: "This runtime is not connected to a control plane. Connect opens your cloud account in a new window, where one click approves the link — no ids or credentials are typed into this page.";
3303
3559
  readonly connect: "Connect";
3304
3560
  };
3305
3561
  };
@@ -3316,21 +3572,24 @@ declare const en: {
3316
3572
  readonly noMatchFilters: "No apps match your filters.";
3317
3573
  readonly noDescription: "No description provided.";
3318
3574
  readonly back: "Back to marketplace";
3319
- readonly installedTitle: "Installed Apps";
3320
- readonly installedSubtitle: "Marketplace packages currently installed into this runtime's kernel. Cached manifests live in <code>.objectstack/installed-packages/</code> and survive restarts.";
3321
- readonly installedEmpty: "No marketplace apps installed in this runtime yet.";
3322
3575
  readonly browseLink: "Browse the marketplace →";
3323
- readonly installedAdditiveNote: "<strong>Note:</strong> The kernel API is additive only — uninstall removes the on-disk manifest so the package won't load on next boot, but the running kernel keeps the app registered until you restart the runtime.";
3324
- readonly installedAt: "Installed {{when}}";
3325
- readonly installedBy: "by {{user}}";
3326
- readonly installedPackageId: "package";
3327
- readonly cachedAs: "Cached as <code>{{path}}</code>";
3576
+ readonly installedAdditiveNote: "Uninstall removes the app from the running kernel at once, together with its permission sets and their grants, and deletes the cached manifest so the package does not load at the next start. Records stored in its objects stay in the database.";
3328
3577
  readonly versionBadge: "v{{version}}";
3329
3578
  readonly installedBadge: "Installed v{{version}}";
3579
+ readonly notLoaded: {
3580
+ readonly badge: "Not loaded";
3581
+ readonly protocolIncompatible: "This runtime did not load this package: it targets protocol {{requiredRange}}, which this runtime does not support.";
3582
+ readonly otherReason: "This runtime did not load this package ({{code}}).";
3583
+ };
3330
3584
  readonly load: {
3331
3585
  readonly failed: "Failed to load marketplace";
3332
3586
  readonly failedHintConfigured: "This runtime reaches the marketplace through the control plane at {{url}}. Check that it is online and reachable from here.";
3333
- readonly failedHintSameOrigin: "This runtime serves the marketplace catalog itself. Check that the runtime is online.";
3587
+ readonly failedHintSameOrigin: "The marketplace catalog is reached through this runtime. Check that the runtime is online and can reach the catalog.";
3588
+ readonly loading: "Loading the marketplace catalog…";
3589
+ readonly slow: "Still loading — the marketplace catalog is slow to answer.";
3590
+ readonly retry: "Retry";
3591
+ readonly unreachable: "The marketplace catalog could not be reached.";
3592
+ readonly answeredError: "The marketplace catalog answered with an error (HTTP {{status}}).";
3334
3593
  readonly packageFailed: "Failed to load package";
3335
3594
  readonly notFound: "Not found.";
3336
3595
  };
@@ -3372,6 +3631,7 @@ declare const en: {
3372
3631
  readonly installToCloud: "Install to cloud…";
3373
3632
  readonly installed: "Installed";
3374
3633
  readonly installing: "Installing…";
3634
+ readonly updating: "Updating…";
3375
3635
  readonly uninstall: "Uninstall";
3376
3636
  readonly uninstalling: "Uninstalling…";
3377
3637
  readonly details: "Details";
@@ -3389,15 +3649,41 @@ declare const en: {
3389
3649
  readonly environmentPlaceholder: "Pick an environment";
3390
3650
  readonly includeSampleData: "Include sample data";
3391
3651
  readonly noEnvs: "No environments found in your active organization.";
3392
- readonly noPermission: "You do not have permission to install apps in any environment. Only organization owners and admins can install — ask your workspace admin.";
3652
+ readonly noPermission: "You do not have permission to install apps in any environment. Only organization owners and admins can install — ask your organization admin.";
3393
3653
  readonly signInFirst: "You need to sign into ObjectStack Cloud first. Click \"Open on cloud\" below.";
3394
3654
  readonly success: "Installed successfully. Open the environment to see the new app.";
3395
3655
  readonly localSuccess: "Installed v{{version}} to this runtime. \"{{name}}\" should now appear in the app switcher.";
3656
+ readonly localLoadsAtRestart: "Installed v{{version}} to this runtime. \"{{name}}\" loads when the runtime next restarts; it does not appear in the app switcher until then.";
3396
3657
  readonly localManifestConflict: "{{message}}\nTip: a local app already owns this manifest_id. Remove it from objectstack.config.ts first.";
3397
3658
  readonly localUnauthorized: "Sign in to this runtime first, then try again.";
3398
3659
  readonly localMarketplaceUnavailable: "This runtime has no OS_CLOUD_URL configured, so the marketplace catalog is unreachable.";
3399
3660
  readonly updateTo: "Update → v{{version}}";
3400
3661
  readonly installedVersion: "Installed v{{version}}";
3662
+ readonly deploying: "Deploying the app…";
3663
+ readonly deployed: "The app is deployed and ready.";
3664
+ readonly openApp: "Open {{name}}";
3665
+ readonly deployTimeout: "The install was recorded, but this environment is not serving the app yet. It may still be deploying — check again shortly. If it never appears, the package may not have loaded, may include no app, or its app may need a permission you do not hold.";
3666
+ readonly checkAgain: "Check again";
3667
+ readonly mode: {
3668
+ readonly label: "Install mode";
3669
+ readonly managed: "Managed";
3670
+ readonly managedHint: "The package stays the authority: it is registered as code, receives its upgrades, and its items are not edited here.";
3671
+ readonly unmanaged: "Unmanaged copy";
3672
+ readonly unmanagedHint: "Copied once into this runtime as its own metadata: every item is editable here, and the copy receives no upgrade.";
3673
+ readonly required: "Choose an install mode to install this package.";
3674
+ };
3675
+ readonly unmanagedSuccess: "Copied v{{version}} of \"{{name}}\" into this runtime as its own metadata, in the base {{base}}. The copy is editable and receives no upgrade.";
3676
+ readonly unmanagedStrippedLocks: "The package locked these items. The copy is editable, so their locks were not copied:";
3677
+ readonly unmanagedIgnored: "This runtime does not support unmanaged installs, so \"{{name}}\" was installed managed (registered as code) instead of copied. Upgrade the runtime, then uninstall the package and install it again as an unmanaged copy.";
3678
+ };
3679
+ readonly update: {
3680
+ readonly dialogTitle: "Update {{name}}";
3681
+ readonly dialogDescCurrent: "Update the copy installed in this environment ({{host}}).";
3682
+ readonly dialogDescPicker: "Choose the environment whose installed copy to update. You need to be signed into ObjectStack Cloud.";
3683
+ readonly majorNotice: "This is a major version update (v{{fromMajor}} → v{{toMajor}}), which may include breaking changes.";
3684
+ readonly releaseNotes: "Read the v{{version}} release notes";
3685
+ readonly success: "Updated to v{{version}}.";
3686
+ readonly deployTimeout: "The update was recorded, but this environment is not serving v{{version}} yet. It may still be deploying — check again shortly.";
3401
3687
  };
3402
3688
  readonly org: {
3403
3689
  readonly heading: "Your organization";
@@ -3433,11 +3719,20 @@ declare const en: {
3433
3719
  readonly dismiss: "Dismiss";
3434
3720
  readonly confirmedToast: "\"{{set}}\" is now granted to {{anchor}}.";
3435
3721
  readonly dismissedToast: "Suggestion for \"{{set}}\" dismissed.";
3722
+ readonly guestUnsupported: "Cannot be granted here: the Guest position takes no sets from accepted suggestions.";
3723
+ readonly acceptedState: "\"{{set}}\" was accepted for all signed-in users (the Everyone position).";
3724
+ readonly notInForceState: "\"{{set}}\" was accepted but is not in force yet: the Everyone position did not change on this request. The server log says why.";
3725
+ readonly dismissedState: "\"{{set}}\" is not granted: the suggestion was dismissed or revoked.";
3726
+ readonly revoke: "Revoke";
3727
+ readonly revoking: "Revoking…";
3728
+ readonly revokedToast: "Acceptance of \"{{set}}\" revoked.";
3436
3729
  };
3437
3730
  readonly uninstall: {
3438
- readonly confirm: "Uninstall {{manifestId}} v{{version}} from this runtime?\n\nThe cached manifest will be removed. The app will remain loaded in the running kernel until the next restart.";
3439
- readonly successInList: "Removed {{manifestId}}. Restart the runtime to fully unload it from the running kernel.";
3440
- readonly successInDetail: "Removed cached manifest for {{manifestId}}. Restart the runtime to fully unload the app from the running kernel.";
3731
+ readonly confirm: "Uninstall {{manifestId}} v{{version}} from this runtime?\n\nThe app will leave the running kernel at once, together with its permission sets and their grants, and its cached manifest will be removed. Records stored in its objects stay in the database.";
3732
+ readonly successInList: "Removed {{manifestId}}: the app has left the running kernel, with its permission sets and their grants. Records stored in its objects stay in the database.";
3733
+ readonly successInDetail: "Removed {{manifestId}} and its cached manifest: the app has left the running kernel, with its permission sets and their grants. Records stored in its objects stay in the database.";
3734
+ readonly confirmNotLoaded: "Uninstall {{manifestId}} v{{version}} from this runtime?\n\nThe cached manifest will be removed. This runtime did not load the package, so none of it is running.";
3735
+ readonly successNotLoaded: "Removed {{manifestId}}. It was not loaded, so no restart is needed.";
3441
3736
  };
3442
3737
  readonly accessDenied: {
3443
3738
  readonly title: "App Marketplace is admin-only";
@@ -3513,6 +3808,7 @@ declare const en: {
3513
3808
  readonly progressEligible_other: "{{count}} eligible approvers";
3514
3809
  readonly progressBar: "Decision progress";
3515
3810
  readonly declaredActions: "Actions";
3811
+ readonly decisionPanelOffRequestPage: "The approval decision panel only works on approval request pages.";
3516
3812
  readonly attachmentChip: "Attachment";
3517
3813
  readonly attachmentOpenFailed: "Could not open the attachment — please try again";
3518
3814
  readonly approveOneTitle: "Approve \"{{title}}\"?";
@@ -3578,6 +3874,9 @@ declare const en: {
3578
3874
  readonly emptyPending: "You're all caught up — nothing is waiting on you.";
3579
3875
  readonly emptyOther: "Nothing here yet.";
3580
3876
  readonly emptyViewAll: "Browse all requests";
3877
+ readonly waitingOnOthers: "{{count}} requests are waiting on other approvers";
3878
+ readonly waitingOnOthers_one: "{{count}} request is waiting on other approvers";
3879
+ readonly waitingOnOthers_other: "{{count}} requests are waiting on other approvers";
3581
3880
  readonly noMatches: "No matches for current filters.";
3582
3881
  readonly keyboardHint: "Keyboard: j/k move · Enter open · x select · a approve · r reject";
3583
3882
  readonly drawerTitle: "Approval Request";
@@ -3595,12 +3894,12 @@ declare const en: {
3595
3894
  readonly overrideActionLabel: "Override {{action}}";
3596
3895
  readonly overrideNotice: "You hold no approver slot on this step. Continuing uses your admin override: it finalises the step immediately, bypassing any approver who has not acted. The decision is recorded as an admin override.";
3597
3896
  readonly overrideNoticeWho: "You hold no approver slot on this step. Continuing uses your admin override: it finalises the step immediately and bypasses the approvers who have not acted — {{who}}. The decision is recorded as an admin override.";
3897
+ readonly overrideReassignNotice: "You hold no approver slot on this step. Continuing uses your admin override: the step moves to the new approver you pick, replacing any approver who has not acted. The request stays pending and waits on the new approver. The reassignment is recorded as an admin override.";
3898
+ readonly overrideReassignNoticeWho: "You hold no approver slot on this step. Continuing uses your admin override: the step moves to the new approver you pick, replacing the approvers who have not acted — {{who}}. The request stays pending and waits on the new approver. The reassignment is recorded as an admin override.";
3899
+ readonly overrideRecallNotice: "You did not submit this request. Continuing uses your admin override: the request is withdrawn, any approver who has not acted can no longer act on it, and the record is unlocked.";
3900
+ readonly overrideRecallNoticeWho: "You did not submit this request. Continuing uses your admin override: the request is withdrawn, the record is unlocked, and the approvers who have not acted can no longer act on it — {{who}}.";
3598
3901
  readonly viaOverrideChip: "Admin override";
3599
3902
  readonly viaOverrideHint: "The actor held no approver slot on this step — admitted by the admin-override path.";
3600
- readonly rawData: "Raw data (JSON)";
3601
- readonly copy: "Copy";
3602
- readonly copied: "Copied";
3603
- readonly copyFailed: "Copy failed";
3604
3903
  readonly overrideActor: "Act as another identity (admin)";
3605
3904
  readonly actor: "Actor";
3606
3905
  readonly auto: "Auto";
@@ -3707,6 +4006,10 @@ declare const en: {
3707
4006
  readonly exists: "Is set";
3708
4007
  readonly notExists: "Is not set";
3709
4008
  };
4009
+ readonly emptyCheckHint: {
4010
+ readonly text: "\"{{isEmpty}}\" also matches blank text; \"{{isNull}}\" matches only a missing value.";
4011
+ readonly list: "\"{{isEmpty}}\" also matches an empty list; \"{{isNull}}\" matches only a missing value.";
4012
+ };
3710
4013
  };
3711
4014
  readonly sortBuilder: {
3712
4015
  readonly sortBy: "Sort by";
@@ -3817,6 +4120,8 @@ declare const en: {
3817
4120
  readonly setDefaultFailed: "Failed to set default app: {{reason}}";
3818
4121
  readonly appDeleted: "{{name}} deleted";
3819
4122
  readonly deleteFailed: "Failed to delete app: {{reason}}";
4123
+ readonly nothingToDelete: "Nothing to delete for {{name}}: {{reason}}";
4124
+ readonly alreadyAtDefault: "it is already at its package default";
3820
4125
  readonly bulkEnabled: "{{n}} apps enabled";
3821
4126
  readonly bulkDisabled: "{{n}} apps disabled";
3822
4127
  readonly bulkFailed: "Failed for {{n}}: {{details}}";
@@ -3837,6 +4142,7 @@ declare const en: {
3837
4142
  readonly toggleLabel: "Activation for {{label}}";
3838
4143
  readonly on: "On";
3839
4144
  readonly off: "Off";
4145
+ readonly notRunning: "Not running here";
3840
4146
  readonly clone: "Clone";
3841
4147
  readonly cloneTitle: "Clone packaged flow";
3842
4148
  readonly cloneBody: "The copy carries the whole definition and takes a new machine name and label. Edit the copy in Studio.";
@@ -3845,6 +4151,9 @@ declare const en: {
3845
4151
  readonly cancel: "Cancel";
3846
4152
  readonly cloneConfirm: "Create clone";
3847
4153
  readonly cloneCreated: "Created flow \"{{name}}\".";
4154
+ readonly cloneSwitchSourceOff: "Switch \"{{label}}\" off";
4155
+ readonly cloneSourceOff: "The packaged flow \"{{label}}\" is switched off.";
4156
+ readonly cloneOpen: "Open the clone in Studio";
3848
4157
  readonly emptyTitle: "No packaged flows";
3849
4158
  readonly emptyBody: "No installed package ships an automation flow on this deployment. Flows you author yourself live in Studio.";
3850
4159
  readonly loadFailed: "Could not load packaged automation.";
@@ -3852,6 +4161,7 @@ declare const en: {
3852
4161
  readonly toggleFailed: "Could not change activation.";
3853
4162
  readonly cloneFailedHttp: "Could not clone this flow (HTTP {{status}}).";
3854
4163
  readonly cloneFailed: "Could not clone this flow.";
4164
+ readonly reasonDetails: "Details";
3855
4165
  readonly actionsSubtitle: "Actions shipped by installed packages. Turn one off for this deployment and it stops running everywhere it is offered. Authoring your own action alongside it stays open in Studio.";
3856
4166
  readonly colAction: "Action";
3857
4167
  readonly colObject: "Object";
@@ -3862,7 +4172,84 @@ declare const en: {
3862
4172
  };
3863
4173
  readonly element: {
3864
4174
  readonly number: {
3865
- readonly noObject: "No object named: set object or dataSource.object.";
4175
+ readonly noObject: "No object named: set dataSource.object.";
4176
+ readonly sourceUnresolved: "This metric’s data source could not be resolved";
4177
+ };
4178
+ readonly image: {
4179
+ readonly noSource: "No image source";
4180
+ };
4181
+ readonly recordPicker: {
4182
+ readonly sourceUnresolved: "This record picker’s data source could not be resolved";
4183
+ };
4184
+ readonly calendar: {
4185
+ readonly sourceUnresolved: "This calendar’s data source could not be resolved";
4186
+ };
4187
+ readonly chart: {
4188
+ readonly sourceUnresolved: "This chart’s data source could not be resolved";
4189
+ };
4190
+ readonly pivotTable: {
4191
+ readonly sourceUnresolved: "This pivot table’s data source could not be resolved";
4192
+ };
4193
+ readonly detailView: {
4194
+ readonly sourceUnresolved: "This detail view’s data source could not be resolved";
4195
+ };
4196
+ readonly relatedList: {
4197
+ readonly sourceUnresolved: "This related list’s data source could not be resolved";
4198
+ readonly parentUnreadable: "This related list’s parent record could not be read";
4199
+ };
4200
+ readonly form: {
4201
+ readonly sourceUnresolved: "This form’s data source could not be resolved";
4202
+ };
4203
+ readonly lineItems: {
4204
+ readonly sourceUnresolved: "This line-items panel’s data source could not be resolved";
4205
+ };
4206
+ readonly gantt: {
4207
+ readonly sourceUnresolved: "This gantt chart’s data source could not be resolved";
4208
+ };
4209
+ readonly grid: {
4210
+ readonly sourceUnresolved: "This grid’s data source could not be resolved";
4211
+ };
4212
+ readonly board: {
4213
+ readonly sourceUnresolved: "This board’s data source could not be resolved";
4214
+ };
4215
+ readonly listView: {
4216
+ readonly sourceUnresolved: "This list view’s data source could not be resolved";
4217
+ };
4218
+ readonly map: {
4219
+ readonly sourceUnresolved: "This map’s data source could not be resolved";
4220
+ };
4221
+ readonly timeline: {
4222
+ readonly sourceUnresolved: "This timeline’s data source could not be resolved";
4223
+ };
4224
+ readonly component: {
4225
+ readonly sourceUnresolved: "This component’s data source could not be resolved";
4226
+ readonly noDataSource: "No data source resolved";
4227
+ readonly apiRefused: "This component’s API data source is refused";
4228
+ readonly apiUnreadable: "This component’s API data source could not be read";
4229
+ };
4230
+ readonly metadataViewer: {
4231
+ readonly missingKey: "Missing {{key}} for this view.";
4232
+ readonly loading: "Loading {{name}}…";
4233
+ readonly loadFailed: "Failed to load {{name}}: {{message}}";
4234
+ readonly notFound: "{{name}} not found.";
4235
+ readonly stateMachine: "State machine";
4236
+ readonly flow: "Flow";
4237
+ readonly permission: "Permission";
4238
+ readonly noStateMachine: "No state machine on {{object}}.";
4239
+ readonly noStateMachineNamed: "No state machine named “{{name}}” on {{object}}.";
4240
+ readonly lifecycle: "Lifecycle of {{object}}";
4241
+ readonly field: "field {{field}}";
4242
+ readonly initial: "initial";
4243
+ readonly final: "final";
4244
+ readonly steps: "Steps: {{count}}";
4245
+ readonly noSteps: "No steps to show.";
4246
+ readonly untitledStep: "(step)";
4247
+ readonly hiddenSteps: "Technical steps hidden: {{count}} · set {{setting}} to show all";
4248
+ readonly objectAccess: "Object access: {{count}}";
4249
+ readonly noPermissions: "No object permissions declared.";
4250
+ readonly object: "Object";
4251
+ readonly unknownType: "Unknown metadata view type. Expected {{a}}, {{b}} or {{c}}.";
4252
+ readonly unknownTypeNamed: "Unknown metadata view type “{{type}}”. Expected {{a}}, {{b}} or {{c}}.";
3866
4253
  };
3867
4254
  };
3868
4255
  };